├── .babelrc.js
├── .browserslistrc
├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── PULL_REQUEST_TEMPLATE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── changelog.md
├── composer.json
├── config
└── indigo-layout.php
├── dist
├── css
│ ├── editor.css
│ └── main.css
├── fonts
│ ├── icons.eot
│ ├── icons.ttf
│ └── icons.woff
├── img
│ └── loading.svg
└── js
│ └── main.js
├── docs
├── classes.md
├── code-block.md
├── components.md
├── frame-nav.md
├── grid.md
├── icons.md
├── index.md
├── layout-config.md
├── margins.md
└── slide-up-down.md
├── gulpfile.js
├── package.json
├── postcss.config.js
├── resources
├── css
│ ├── _colors.styl
│ ├── _init.styl
│ ├── _setting.styl
│ ├── _themes.styl
│ ├── blocks
│ │ ├── _switcher.styl
│ │ ├── actions-block.styl
│ │ ├── ava-text.styl
│ │ ├── awes-accordion.styl
│ │ ├── awes-chat.styl
│ │ ├── badge.styl
│ │ ├── box-post.styl
│ │ ├── calendar.styl
│ │ ├── card.styl
│ │ ├── chart.styl
│ │ ├── context-menu.styl
│ │ ├── dashboard.styl
│ │ ├── filter.styl
│ │ ├── form-builder
│ │ │ ├── fb-checkbox.styl
│ │ │ ├── fb-date.styl
│ │ │ ├── fb-editor.styl
│ │ │ ├── fb-input.styl
│ │ │ ├── fb-keycode.styl
│ │ │ ├── fb-multi-block.styl
│ │ │ ├── fb-phone.styl
│ │ │ ├── fb-radio-group.styl
│ │ │ ├── fb-reservation.styl
│ │ │ ├── fb-select.styl
│ │ │ ├── fb-slider.styl
│ │ │ ├── fb-slug.styl
│ │ │ ├── fb-switcher.styl
│ │ │ ├── fb-textarea.styl
│ │ │ ├── fb-uploader.styl
│ │ │ └── fb.styl
│ │ ├── forms.styl
│ │ ├── frame.styl
│ │ ├── global.styl
│ │ ├── header-notification.styl
│ │ ├── header-tabs.styl
│ │ ├── helper.styl
│ │ ├── ie.styl
│ │ ├── int-table.styl
│ │ ├── j-table.styl
│ │ ├── justify-list.styl
│ │ ├── lists.styl
│ │ ├── login-page.styl
│ │ ├── modal.styl
│ │ ├── notifications.styl
│ │ ├── page-map.styl
│ │ ├── pager.styl
│ │ ├── paycard.styl
│ │ ├── price-table.styl
│ │ ├── profile-wrap.styl
│ │ ├── project-block.styl
│ │ ├── project-page.styl
│ │ ├── re-captcha.styl
│ │ ├── section.styl
│ │ ├── static-page.styl
│ │ ├── status.styl
│ │ ├── tab-builder.styl
│ │ ├── tf.styl
│ │ ├── theme-switcher.styl
│ │ ├── time-range.styl
│ │ ├── todolist.styl
│ │ ├── tooltip.styl
│ │ ├── ui.styl
│ │ ├── usermenu.styl
│ │ ├── virtual-tour.styl
│ │ ├── vue-notification.styl
│ │ ├── vuescroll.styl
│ │ └── wawe.styl
│ ├── framework
│ │ ├── _functions.styl
│ │ ├── _normalizer.styl
│ │ ├── editor.styl
│ │ ├── icons.styl
│ │ ├── main.styl
│ │ └── modules
│ │ │ ├── classes.styl
│ │ │ ├── grid.styl
│ │ │ └── margins.styl
│ ├── libs
│ │ ├── animate.css
│ │ ├── animate.styl
│ │ ├── empty.css
│ │ └── multiselect.css
│ └── placeholder
│ │ ├── animations.styl
│ │ ├── form-builder.styl
│ │ ├── layout.styl
│ │ ├── ph.styl
│ │ └── tab-builder.styl
├── img
│ └── loading.svg
├── js
│ ├── main.js
│ └── modules
│ │ ├── highlight.js
│ │ ├── i18n.js
│ │ ├── layout.js
│ │ ├── plugin.js
│ │ └── waves.js
├── lang
│ ├── en
│ │ ├── auth.php
│ │ ├── common.php
│ │ ├── components.php
│ │ ├── js.php
│ │ └── layout.php
│ └── ru
│ │ ├── auth.php
│ │ ├── common.php
│ │ ├── components.php
│ │ ├── js.php
│ │ └── layout.php
├── pug
│ ├── 403.pug
│ ├── 403_ext.pug
│ ├── 404.pug
│ ├── 404_ext.pug
│ ├── AWS-441.pug
│ ├── avatars.pug
│ ├── aws-438.pug
│ ├── badges.pug
│ ├── bil1.pug
│ ├── bil2.pug
│ ├── bil3.pug
│ ├── bil4.pug
│ ├── btn-group.pug
│ ├── charts.pug
│ ├── contentwrap.pug
│ ├── dashboard.pug
│ ├── demo-page-packages.pug
│ ├── docs.pug
│ ├── empty.pug
│ ├── filter.pug
│ ├── forms.pug
│ ├── grid.pug
│ ├── icons.pug
│ ├── includes
│ │ ├── external.pug
│ │ ├── frames
│ │ │ ├── aside.pug
│ │ │ ├── external-links.pug
│ │ │ ├── filter.pug
│ │ │ ├── footer.pug
│ │ │ ├── header.pug
│ │ │ ├── helpers.pug
│ │ │ ├── metahead.pug
│ │ │ └── user-menu.pug
│ │ ├── layout.pug
│ │ ├── layout_empty.pug
│ │ ├── layout_minimal.pug
│ │ ├── login.pug
│ │ └── login_2.pug
│ ├── inline-list.pug
│ ├── login.pug
│ ├── margins.pug
│ ├── minimal.pug
│ ├── modal.pug
│ ├── notify.pug
│ ├── placeholder.pug
│ ├── radiobox.pug
│ ├── register_1.pug
│ ├── register_1_t2.pug
│ ├── register_2.pug
│ ├── register_2_t2.pug
│ ├── register_3.pug
│ ├── register_3_t2.pug
│ ├── register_4.pug
│ ├── register_4_t2.pug
│ ├── reset-pass.pug
│ ├── slideupdown.pug
│ ├── some.pug
│ ├── tabs.pug
│ ├── test.pug
│ ├── theme_google.pug
│ ├── theme_stripe.pug
│ ├── tooltip.pug
│ ├── tracking.pug
│ ├── typography.pug
│ └── withot-aside.pug
├── svg
│ ├── template
│ │ └── icons.styl
│ ├── uEA01-angle-bottom.svg
│ ├── uEA02-ar-right.svg
│ ├── uEA03-arrow-left.svg
│ ├── uEA04-arrow-right.svg
│ ├── uEA05-box-down.svg
│ ├── uEA06-box-minus.svg
│ ├── uEA07-box-pause.svg
│ ├── uEA08-box-plus.svg
│ ├── uEA09-box.svg
│ ├── uEA0A-briefcase.svg
│ ├── uEA0B-call.svg
│ ├── uEA0C-card.svg
│ ├── uEA0D-checkbox.svg
│ ├── uEA0E-circle-check.svg
│ ├── uEA0F-circle-clock.svg
│ ├── uEA10-circle-cross.svg
│ ├── uEA11-circle-plus.svg
│ ├── uEA12-clipboard.svg
│ ├── uEA13-cross.svg
│ ├── uEA14-data-error.svg
│ ├── uEA15-data-time.svg
│ ├── uEA16-database-error.svg
│ ├── uEA17-database.svg
│ ├── uEA18-dfcheck.svg
│ ├── uEA19-document.svg
│ ├── uEA1A-dots.svg
│ ├── uEA1B-down.svg
│ ├── uEA1C-drag.svg
│ ├── uEA1D-exel.svg
│ ├── uEA1E-eye.svg
│ ├── uEA1F-eye2.svg
│ ├── uEA20-fb.svg
│ ├── uEA21-file.svg
│ ├── uEA22-filter.svg
│ ├── uEA23-flag.svg
│ ├── uEA24-gift.svg
│ ├── uEA25-gp.svg
│ ├── uEA26-graph.svg
│ ├── uEA27-hdd.svg
│ ├── uEA28-head.svg
│ ├── uEA29-in.svg
│ ├── uEA2A-intelligence.svg
│ ├── uEA2B-link.svg
│ ├── uEA2C-loading.svg
│ ├── uEA2D-logo.svg
│ ├── uEA2E-logout.svg
│ ├── uEA2F-mastercard.svg
│ ├── uEA30-message.svg
│ ├── uEA31-money.svg
│ ├── uEA32-nav.svg
│ ├── uEA33-no-access.svg
│ ├── uEA34-openin.svg
│ ├── uEA35-pin.svg
│ ├── uEA36-planner.svg
│ ├── uEA37-plus.svg
│ ├── uEA38-report.svg
│ ├── uEA39-road.svg
│ ├── uEA3A-ruppor.svg
│ ├── uEA3B-schedule.svg
│ ├── uEA3C-search.svg
│ ├── uEA3D-sell.svg
│ ├── uEA3E-service.svg
│ ├── uEA3F-settings.svg
│ ├── uEA40-smile.svg
│ ├── uEA41-speed.svg
│ ├── uEA42-stock.svg
│ ├── uEA43-stop.svg
│ ├── uEA44-storage.svg
│ ├── uEA45-timelaps.svg
│ ├── uEA46-twousers.svg
│ ├── uEA47-up.svg
│ ├── uEA48-user.svg
│ ├── uEA49-visa.svg
│ ├── uEA4A-word.svg
│ ├── uEA50-git.svg
│ ├── uEA51-pencil2.svg
│ ├── uEA52-question.svg
│ ├── uEA53-star-circle.svg
│ ├── uEA54-hashtag.svg
│ └── uEA55-loading-circle.svg
├── views
│ ├── auth.blade.php
│ ├── auth
│ │ ├── login.blade.php
│ │ ├── passwords
│ │ │ ├── email.blade.php
│ │ │ └── reset.blade.php
│ │ └── register.blade.php
│ ├── auth2.blade.php
│ ├── chunks
│ │ └── head.blade.php
│ ├── components
│ │ ├── base
│ │ │ ├── empty.blade.php
│ │ │ ├── error.blade.php
│ │ │ ├── loading.blade.php
│ │ │ ├── placeholder.blade.php
│ │ │ └── wrong-config.blade.php
│ │ ├── chart
│ │ │ ├── bar-line.blade.php
│ │ │ ├── card-doughnut.blade.php
│ │ │ ├── card-line.blade.php
│ │ │ └── default.blade.php
│ │ ├── filter
│ │ │ ├── default.blade.php
│ │ │ └── group.blade.php
│ │ ├── head
│ │ │ ├── external-link.blade.php
│ │ │ ├── fonts.blade.php
│ │ │ ├── scripts.blade.php
│ │ │ ├── styles.blade.php
│ │ │ ├── theme-switcher.blade.php
│ │ │ └── theme.blade.php
│ │ ├── navigation
│ │ │ ├── sidebar.blade.php
│ │ │ ├── top.blade.php
│ │ │ └── user.blade.php
│ │ └── table
│ │ │ └── default.blade.php
│ └── main.blade.php
└── vue
│ ├── code-block.vue
│ ├── frame-nav.vue
│ └── slide-up-down.vue
├── rollup.config.js
└── src
└── IndigoLayoutServiceProvider.php
/.babelrc.js:
--------------------------------------------------------------------------------
1 | const isModern = process.env.BROWSERS_ENV === 'modern';
2 |
3 | module.exports = {
4 | presets: [
5 | ['@babel/preset-env', {
6 | useBuiltIns: 'usage',
7 | corejs: '2',
8 | targets: isModern ? { esmodules: true } : undefined,
9 | }]
10 | ]
11 | };
12 |
--------------------------------------------------------------------------------
/.browserslistrc:
--------------------------------------------------------------------------------
1 | # Browsers that we support
2 |
3 | last 2 Chrome versions
4 | last 2 Firefox versions
5 | last 1 IE version
6 | > .5%
7 | not dead
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | # Unix-style newlines with a newline ending every file
4 | [*]
5 | end_of_line = lf
6 | insert_final_newline = true
7 |
8 | # 4 space indentation
9 | indent_style = space
10 | indent_size = 4
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug Report
3 | about: Tell us what happens instead of the expected behavior
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | Your issue may already be reported!
11 | Please search on the [issue tracker](../) before creating one.
12 |
13 | ## Expected Behavior
14 |
15 |
16 |
17 | ## Current Behavior
18 |
19 |
20 |
21 | ## Possible Solution
22 |
23 |
24 |
25 | ## Steps to Reproduce (for bugs)
26 |
27 |
28 | 1.
29 | 2.
30 | 3.
31 | 4.
32 |
33 | ## Context
34 |
35 |
36 |
37 | ## Your Environment
38 |
39 | * Version used:
40 | * Browser Name and version:
41 | * Operating System and version (desktop or mobile):
42 | * Link to your project:
43 |
44 | ## System GA
45 | [](https://github.com/awes-io/issues)
46 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | Your issue may already be reported!
11 | Please search on the [issue tracker](../) before creating one.
12 |
13 | ## Expected Behavior
14 |
15 |
16 |
17 | ## Current Behavior
18 |
19 |
20 |
21 | ## Possible Solution
22 |
23 |
24 |
25 |
26 | ## System GA
27 | [](https://github.com/awes-io/issues)
28 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | A similar PR may already be submitted!
2 | Please search among the [Pull request](../) before creating one.
3 |
4 | Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:
5 |
6 |
7 | ## Summary
8 |
9 |
10 |
11 | This PR fixes/implements the following **bugs/features**
12 |
13 | * [ ] Bug 1
14 | * [ ] Bug 2
15 | * [ ] Feature 1
16 | * [ ] Feature 2
17 | * [ ] Breaking changes
18 |
19 |
20 |
21 | Explain the **motivation** for making this change. What existing problem does the pull request solve?
22 |
23 |
24 |
25 | ## Test plan (required)
26 |
27 | Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.
28 |
29 |
30 |
31 | ## Code formatting
32 |
33 |
34 |
35 | ## Closing issues
36 |
37 |
38 | Fixes #
39 |
40 | ## System GA
41 | [](https://github.com/awes-io/issues)
42 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to Awes.io
2 |
3 | Want to contribute to Awes.io? We provide a Contribution Guide to help you get started.
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2017-present, Awescode GmbH (www.awescode.de)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/changelog.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to `LocalizationHelper` will be documented in this file.
4 |
5 | ## Version 1.0
6 |
7 | ### Added
8 | - Everything
9 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "awes-io/indigo-layout",
3 | "description": "Basic styles and components set for building user interfaces.",
4 | "type": "library",
5 | "license": "MIT",
6 | "authors": [
7 | {
8 | "name": "Awescode GmbH",
9 | "email": "info@awescode.de",
10 | "homepage": "https://www.awescode.de",
11 | "role": "Owner"
12 | },
13 | {
14 | "name": "theAlex",
15 | "email": "info@thealex.ru",
16 | "homepage": "https://thealex.ru"
17 | }
18 | ],
19 | "support": {
20 | "email": "contact@awes.io"
21 | },
22 | "homepage": "https://github.com/awes-io/indigo-layout",
23 | "keywords": ["Laravel", "IndigoLayout", "Awes.io", "layout", "styles", "admin", "dashboard", "ui", "ui interface", "awes.io"],
24 | "require": {
25 | "php": "^7.1.3",
26 | "illuminate/support": "~5",
27 | "awes-io/theme-switcher": "^1.0",
28 | "awes-io/system-notify": "^1.2"
29 | },
30 | "require-dev": {
31 | "phpunit/phpunit": "~7.0",
32 | "mockery/mockery": "^1.1",
33 | "orchestra/testbench": "~3.0",
34 | "sempro/phpunit-pretty-print": "^1.0"
35 | },
36 | "autoload": {
37 | "psr-4": {
38 | "AwesIO\\IndigoLayout\\": "src/"
39 | }
40 | },
41 | "autoload-dev": {
42 | "psr-4": {
43 | "AwesIO\\IndigoLayout\\Tests\\": "tests/"
44 | }
45 | },
46 | "scripts": {
47 | "test": "vendor/bin/phpunit --colors=always"
48 | },
49 | "extra": {
50 | "laravel": {
51 | "providers": [
52 | "AwesIO\\IndigoLayout\\IndigoLayoutServiceProvider"
53 | ]
54 | }
55 | },
56 | "config": {
57 | "sort-packages": true
58 | },
59 | "minimum-stability": "dev",
60 | "prefer-stable": true
61 | }
62 |
--------------------------------------------------------------------------------
/config/indigo-layout.php:
--------------------------------------------------------------------------------
1 | [
7 | 'dev' => env('APP_DEBUG', false),
8 | 'key' => env('PKGKIT_CDN_KEY', 'undefined'),
9 | 'theme' => [
10 | 'metaColor' => [
11 | 'dark' => '#2a2a2a',
12 | 'light' => '#ffffff',
13 | ]
14 | ]
15 | ],
16 |
17 | 'name' => env('APP_NAME', 'Awes.IO'),
18 |
19 | 'url' => env('APP_URL', 'https://example.com'),
20 |
21 | // Render icon on external link: list of your all domains where will be showed the website
22 | 'environment_urls' => [env('APP_URL', 'https://example.com')],
23 |
24 | 'logo' => env('APP_LOGO', 'https://static.awes.io/logo-blue.svg'),
25 |
26 | 'fonts' => ['https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,700'],
27 |
28 | 'custom_styles' => '',
29 |
30 | 'auth_bg_left' => 'https://static.awes.io/demo/awes-background.svg',
31 |
32 | 'auth_bg_full' => 'https://static.awes.io/demo/awes-background.svg',
33 |
34 | 'dist' => [
35 | 'js/main.js',
36 | 'js/main.legacy.js',
37 | 'css/main.css'
38 | ],
39 | 'chart_colors' => [
40 | 'light-blue' => 'rgba(55,179,196,0.6)', // '#37b3c4',
41 | 'blue' => 'rgba(63,135,199,0.6)', //'#3f87c7',
42 | 'dark-blue' => 'rgba(63,75,181,0.6)', //'#3f4bb5',
43 | 'violet' => 'rgba(135, 43, 188, 0.6)',
44 | 'pink' => 'rgba(224,93,112,0.6)', //'#e05d70',
45 | 'yellow' => 'rgba(191,139,47,0.6)', //'#bf8b2f',
46 | 'orange' => 'rgba(169,84,37,0.6)', //'#a95425',
47 | 'red' => 'rgba(188,43,77,0.6)', //'#bc2b4d',
48 | 'green' => 'rgba(19,174,69,0.6)', //'#13ae45',
49 | 'grey' => 'rgba(204,204,204,0.2)', //'#cccccc'
50 | ],
51 |
52 | 'nav' => [
53 | 'expanded' => true
54 | ],
55 |
56 | 'search' => [
57 | 'url' => 'search',
58 | 'name' => 'query'
59 | ],
60 |
61 | 'footer_copyright' => '© 2019 - Proudly powered on Awes.IO Platform'
62 | ];
63 |
--------------------------------------------------------------------------------
/dist/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/awes-io/indigo-layout/456ca03d76fe5a8bc2f2f4b86d0a620cd70379d3/dist/fonts/icons.eot
--------------------------------------------------------------------------------
/dist/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/awes-io/indigo-layout/456ca03d76fe5a8bc2f2f4b86d0a620cd70379d3/dist/fonts/icons.ttf
--------------------------------------------------------------------------------
/dist/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/awes-io/indigo-layout/456ca03d76fe5a8bc2f2f4b86d0a620cd70379d3/dist/fonts/icons.woff
--------------------------------------------------------------------------------
/dist/img/loading.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/classes.md:
--------------------------------------------------------------------------------
1 | # Content
2 |
3 | The description of CSS/HTML helpers for different each case.
4 |
5 | ## Components
6 | - [Blade Components](./components.md)
7 | - [Code Block](./code-block.md)
8 | - [Frame Navigation](./frame-nav.md)
9 | - [Grid](./grid.md)
10 | - **Content**
11 | - [Layout configuration](./layout-config.md)
12 | - [Slide Up Down](./slide-up-down.md)
13 | - [Margins and paddings](./margins.md)
14 | - [Icons](./icons.md)
15 |
16 | ## Image styles
17 |
18 | If you would like to add nice shadow and background for an image, please use `.tf-img` class for it.
19 |
20 | ```html
21 |
22 | ```
23 |
24 | ### Examples:
25 |
26 | | With shadow | Witout shadow |
27 | | ------ | ------ |
28 | |
|
|
29 |
30 |
31 |
32 |
33 | ## Text Format Classes
34 |
35 | Text formatting classes help you quickly assemble text parts of a page.
36 |
37 | ### Text Position
38 |
39 | - **.text-center**: text-align center
40 | - **.text-left**: text-align left
41 | - **.text-right**: text-align right
42 |
43 | Breakpoints are available for text positions.
44 |
45 | - **.text-center--mmd**: @media (max-width: 500px) text-align center
46 | - **.text-center--mmd-i**: @media (min-width: 501px) text-align center
47 |
48 | ### Font Weight:
49 | - **.text-thin** font-weight 100
50 | - **.text-light** font-weight 300
51 | - **.text-regular** font-weight 400
52 | - **.text-medium** font-weight 500
53 | - **.text-semibold** font-weight 600
54 | - **.text-bold** font-weight 700
55 | - **.text-black** font-weight 900
56 |
57 | ### Text decoration:
58 | - **.text-upper** text-transform uppercase
59 | - **.text-cap** text-transform capitalize
60 | - **.text-underline** text-decoration underline
61 | - **.text-through** text-decoration line-through
62 |
63 | ### Text help classes:
64 | - **.text-nobreak** disable automatic letter wrap
65 | - **.text-nowrap** white-space nowrap with clipping ellipsis
66 | - **.text-oneline** disable text wrapping
--------------------------------------------------------------------------------
/docs/code-block.md:
--------------------------------------------------------------------------------
1 | # Code-block
2 |
3 | The `<code-block>` component renders highlighted code sample with copy button. Under the hood it uses [highlight.js](https://highlightjs.org/)
4 |
5 | > **Note**
6 | >
7 | > The component doesn't format code sample, please ensure that your code is well-formatted
8 |
9 |
10 | ## Components
11 |
12 | - [Blade Components](./components.md)
13 | - **Code Block**
14 | - [Frame Navigation](./frame-nav.md)
15 | - [Grid](./grid.md)
16 | - [Content](./classes.md)
17 | - [Layout configuration](./layout-config.md)
18 | - [Slide Up Down](./slide-up-down.md)
19 | - [Margins and paddings](./margins.md)
20 | - [Icons](./icons.md)
21 |
22 |
23 | ## Example
24 |
25 | ```html
26 |
27 | {
28 | "name": "package-name",
29 | "version": "1.0"
30 | }
31 |
32 | ```
33 |
34 |
35 | ## Properties
36 |
37 | | Name | Type | Default | Description |
38 | |---------------|:-------------:|--------------|--------------------------------------|
39 | | **language** | `String` | `undefined` | Which language to highlight |
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | # Indigo Layout
2 |
3 |
4 |
5 |
6 |
7 | ## Install
8 |
9 | ```bash
10 | composer require awes-io/indigo-layout
11 | ```
12 |
13 | ## Example
14 | ```blade
15 | @extends('indigo-layout::auth')
16 |
17 | @section('title')
18 | Awesome App!
19 | @endsection
20 |
21 | @section('content')
22 | ...
23 | @endsection
24 |
25 | @section('footer')
26 | ...
27 | @endsection
28 | ```
29 |
30 | ## Components
31 | - [Blade Components](./components.md)
32 | - [Code Block](./code-block.md)
33 | - [Frame Navigation](./frame-nav.md)
34 | - [Grid](./grid.md)
35 | - [Content](./classes.md)
36 | - [Layout configuration](./layout-config.md)
37 | - [Slide Up Down](./slide-up-down.md)
38 | - [Margins and paddings](./margins.md)
39 | - [Icons](./icons.md)
--------------------------------------------------------------------------------
/docs/layout-config.md:
--------------------------------------------------------------------------------
1 | # Layout configuration
2 |
3 | Additional layout blade template configuration
4 |
5 |
6 | ## Components
7 | - [Blade Components](./components.md)
8 | - [Code Block](./code-block.md)
9 | - [Frame Navigation](./frame-nav.md)
10 | - [Grid](./grid.md)
11 | - [Content](./classes.md)
12 | - **Layout configuration**
13 | - [Slide Up Down](./slide-up-down.md)
14 | - [Margins and paddings](./margins.md)
15 | - [Icons](./icons.md)
16 |
17 |
18 | ## Overwriting global configuration
19 |
20 | It is possible to add or overwrite properties in `AWES_CONFIG`, used by front-end of the platform in your page template like this:
21 |
22 | ```php
23 | @php
24 | $awes_custom_config = [
25 |
26 | // overwrite languages
27 | 'lang' => [
28 | 'FORMS_SEND' => 'OK',
29 | 'FORMS_CANCEL' => 'Dismiss'
30 | ],
31 |
32 | // redefine table-builder's breakpoints
33 | 'tableBuilder' => [
34 | 'mediaQueries' => [
35 | 'mobile' => '(max-width: 400px)',
36 | 'tablet' => '(min-width: 401px) and (max-width: 800px)',
37 | 'desktop' => '(min-width: 801px) and (max-width: 1600px)',
38 | 'large' => '(min-width: 1601px)'
39 | ]
40 | ]
41 | ];
42 | @endphp
43 | ```
44 |
45 | ## Excluding unnecessary components for current page
46 |
47 | By default, the platform loads a list of basic components for every page. To improve page loading time you may want to disable some of them, by passing their names to `$exclude_scripts` variable, like this:
48 |
49 | ```php
50 | @php
51 | $exclude_scripts = ['chart-builder', 'filter-wrapper']
52 | @endphp
53 | ```
--------------------------------------------------------------------------------
/docs/slide-up-down.md:
--------------------------------------------------------------------------------
1 | # Slide-up-down
2 |
3 | This component is intended for the animated appearance/disappearance of the component content. Below you will see a visual presentation of such component.
4 |
5 | 
6 |
7 | ## Components
8 | - [Blade Components](./components.md)
9 | - [Code Block](./code-block.md)
10 | - [Frame Navigation](./frame-nav.md)
11 | - [Grid](./grid.md)
12 | - [Content](./classes.md)
13 | - **Slide Up Down**
14 | - [Margins and paddings](./margins.md)
15 | - [Icons](./icons.md)
16 |
17 |
18 | ## Example of use
19 |
20 | ```html
21 |
22 |
23 |
24 | Text inside slide-up-down
25 | One more paragraph
26 |
27 | ```
28 |
29 |
30 |
31 |
32 | Text inside slide-up-down
33 | One more paragraph
34 |
35 |
36 |
37 |
38 | ## Input parameters
39 |
40 | | Name | Type | Default | Description |
41 | |-----------------------|:-----------:| -------------|-----------------------------------------------|
42 | | `show` | **Boolean** | `false` | Show/hide content |
43 | | `tag` | **String** | `'div'` | Tag for the template wrapper |
44 | | `slide-up-duration` | **Number** | `250` | **Closing** time in milliseconds |
45 | | `slide-down-duration` | **Number** | `300` | **Opening** time in milliseconds |
46 |
47 |
48 | ## Component methods
49 |
50 | All methods are called without parameters.
51 |
52 | | Name | Description |
53 | |----------|-------------------------------|
54 | | `open` | Show content |
55 | | `close` | Hide content |
56 | | `toggle` | Switch current state |
57 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | const isDev = process.env.NODE_ENV !== 'production';
2 |
3 | module.exports = {
4 | plugins: [
5 | require('postcss-import'),
6 | require('autoprefixer'),
7 | isDev ? false : require('cssnano')({ preset:'default' })
8 | ]
9 | }
--------------------------------------------------------------------------------
/resources/css/_init.styl:
--------------------------------------------------------------------------------
1 | flex-version = flex
2 | support-for-ie = false
3 | vendor-prefixes = official
4 |
--------------------------------------------------------------------------------
/resources/css/_setting.styl:
--------------------------------------------------------------------------------
1 | framework_class_prefix = ''
2 |
3 | responsive = true
4 | wrapper = 1200px
5 | wrap_padding = 15px
6 | pathimg = "../img/"
7 | fontfamily = 'Roboto', sans-serif
8 |
9 | textarea_max-height = 300px
10 |
11 |
12 | // Grid
13 | grid_frames = (1 2 3 4 5 6 7 8 9 10) // Grid columns
14 | grid_gap = 20 // Grid margin value in px (but wrote withot px)
15 | grid_default_gap = true // Boolean (true/false)
16 | grid_bpoint = {dxl: 1500, dlg: 1300, dmd: 1100, dsm: 1000, tlg: 900, tmd: 800, tsm: 700, mlg: 600, mmd: 500, msm: 400} // Breakpoints
17 | grid_always_inverted = false // if true default grid will initially be based on min-width, if false max-width
18 | grid_order = 10 // generate .order-* class for ordering cells, can use with responsive, like .order-5--dmd
19 |
20 | // Margins
21 | margin = {'50': 50px, '30': 30px, '25': 25px, '20': 20px, '15': 15px, '10': 10px, '5': 5px, '0': 0}
22 |
23 | //fonts
24 | f_big = 24px
25 | f_semi = 22px
26 | f_middle = 18px
27 | f_medium = 16px
28 | f_normal = 15px
29 | f_small = 12px
30 | f_smart = 10px
31 | f_big_1000 = 20px
32 |
33 | // Colors Palette
34 | cl_white = #fff
35 | cl_asphalt = #999
36 | cl_cloud = #e2e2e2
37 | cl_evensnow = #fbfbfb
38 | cl_cleanpike = #e4e4e5
39 | cl_spacegrey = #f1f0f0
40 | cl_darkday = #ececec
41 | cl_insgrey = #cbcbcc
42 | cl_lgr = #c4c4c4
43 | cl_prjgrey = #e4e4e5
44 | cl_emp = #bababa
45 | cl_gain = #f8f8f8
46 | cl_yellow = #ffd25e
47 | cl_warn = #e9555b
48 | cl_red = #cb4c4b
49 | cl_pink = #f43e80
50 | cl_salad = #9ed598
51 | cl_grass = #7fc876
52 | cl_morning = #2883f0
53 | cl_sky = #45a4dc
54 | cl_skydark = #1d6ec5
55 | cl_darkwater = #2388f5
56 | cl_greyblue = #2d84ae
57 | cl_violet = #393a6f
58 | cl_skymid = #26459b
59 | cl_darkdrean = #3f4bb5
60 | cl_japanshine = #c5266a
61 | cl_heartlife = #662cb7
62 | cl_dream = #9a00b0
63 | cl_black = #000
64 | cl_prenight = #212121
65 | cl_arcgrey = #252525
66 | cl_twilight = #2a2a2a
67 | cl_wall = #383838
68 | cl_greyrc = #565656
69 | cl_cage = #444
70 | cl_rcred = #9b2918
71 | cl_rdred = #c0341d
72 | cl_rdwhite = #fbe5e1
73 |
74 |
75 | // Theme Selector
76 | dt = "html[data-dark='true']"
77 | lt = "html:not([data-dark='true'])"
78 |
--------------------------------------------------------------------------------
/resources/css/blocks/_switcher.styl:
--------------------------------------------------------------------------------
1 | switcher()
2 | size 31px 16px
3 | border 0 !important
4 | border-radius 8px
5 | tr(0.25)
6 | &:before
7 | width 18px
8 | height 18px
9 | tr(0.25)
10 | display block
11 | border-radius 50%
12 | absolute left -1px top -1px
13 | content ''
14 |
15 | switcher-active()
16 | &:before
17 | left 14px
18 |
--------------------------------------------------------------------------------
/resources/css/blocks/ava-text.styl:
--------------------------------------------------------------------------------
1 | .ava-text
2 | fl(,,c)
3 | font-size f_normal
4 | img
5 | size 36px
6 | border-radius 50%
7 | display block
8 | margin-right 10px
9 | .icon
10 | size 36px
11 | border-radius 50%
12 | fl(,c,c)
13 | text-align center
14 | font-size 17px
15 | margin-right 10px
16 | background-color var(--tc_ui_bg_darken)
17 | color var(--tc_text_caption)
18 | span
19 | display block
20 |
21 |
22 |
23 | .avatars-list
24 | display inline-flex
25 | img
26 | border-radius 50%
27 | size 36px
28 | & > :first-child
29 | margin-left 0
30 | .icon
31 | size 36px
32 | border-radius 50%
33 | align-items center
34 | justify-content center
35 | text-align center
36 | font-size 17px
37 | background-color var(--tc_ui_bg_darken)
38 | color var(--tc_text_caption)
39 | & > a, img, button, .icon
40 | margin-left -15px
41 | display flex
42 | size 36px
43 | position relative
44 | border-radius 50%
45 | img
46 | margin-left 0
47 | .icon
48 | margin-left 0
49 | & > a, button
50 | tr .1
51 | &:hover
52 | transform scale(1.1)
53 | &_border
54 | &-ui
55 | & > a, img, button, .icon
56 | box-shadow: 0px 0px 0px 3px var(--tc_ui_bg)
57 | &-page
58 | & > a, img, button, .icon
59 | box-shadow: 0px 0px 0px 3px var(--tc_page_bg)
60 |
61 |
--------------------------------------------------------------------------------
/resources/css/blocks/awes-accordion.styl:
--------------------------------------------------------------------------------
1 | .awes-accordion
2 | margin-bottom 25px
3 | & &__title
4 | font-size f_middle
5 | display inline-block
6 | text-align left
7 | margin-right 20px
8 | position relative
9 | span
10 | border-bottom 1px dashed
11 | i
12 | position relative
13 | &:after
14 | angle()
15 | margin-top -2px
16 | right -15px
17 | transform rotate(-90deg)
18 | &.active
19 | i
20 | &:after
21 | transform rotate(0deg)
22 | margin-top 0
23 | & + ^[0]__content
24 | display block
25 | & &__content
26 | display none
27 | margin-top 15px
28 | p
29 | margin-bottom 10px
30 | &:last-child
31 | margin-bottom 0
32 |
--------------------------------------------------------------------------------
/resources/css/blocks/badge.styl:
--------------------------------------------------------------------------------
1 | .badge
2 | background-color var(--tc_color_main)
3 | color var(--tc_colormain_text)
4 | padding 5px 10px
5 | display inline-block
6 | font-size 10px
7 | text-transform uppercase
8 | border-radius var(--tc_border_radius)
9 | a&, button&
10 | &:hover
11 | background-color var(--tc_color_main_l)
12 | text-decoration none
13 | color var(--tc_colormain_text)
14 | &_intext
15 | display inline
16 | margin-left 5px
17 | margin-right 5px
18 | &_inline
19 | margin-right 10px
20 | margin-bottom 10px
21 |
--------------------------------------------------------------------------------
/resources/css/blocks/box-post.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/awes-io/indigo-layout/456ca03d76fe5a8bc2f2f4b86d0a620cd70379d3/resources/css/blocks/box-post.styl
--------------------------------------------------------------------------------
/resources/css/blocks/chart.styl:
--------------------------------------------------------------------------------
1 | .chart
2 | &-icon
3 | size 18px 2px
4 | display block
5 | absolute left 0 top 9px
6 | i
7 | size 10px
8 | display block
9 | border 2px solid
10 | border-radius 50%
11 | absolute left 50% top -4px
12 | margin-left -5px
13 | z-index 2
14 | content ''
--------------------------------------------------------------------------------
/resources/css/blocks/dashboard.styl:
--------------------------------------------------------------------------------
1 | .dashboard
2 | fl(w,fs,)
3 | margin-left -10px
4 | margin-right -10px
5 | padding-top 10px
6 | & &__cell
7 | width 100%
8 | padding-left 10px
9 | padding-right 10px
10 | margin-bottom 20px
11 | &_smart
12 | width 33.333%
13 | &_semi
14 | width 50%
15 | &_big
16 | width 66.666%
17 | &-semi
18 | width 33.333%
19 | & &__tabs
20 | min-height 360px
21 | .tabs-component
22 | .justify-list
23 | min-height 1px
24 | box-shadow none
25 | &-tabs
26 | fl()
27 | width 100%
28 | &-tab
29 | border-bottom 1px solid
30 | min-height 60px
31 | fl(,c,c)
32 | text-align center
33 | width 50%
34 | &.is-active
35 | pointer-events: none
36 | a
37 | min-height 60px
38 | fl(,c,c)
39 | width 100%
40 | &:hover
41 | text-decoration none
42 |
43 |
44 |
45 | @media maw[dlg]
46 | .dashboard
47 | & &__cell
48 | &_smart
49 | width 50%
50 | &_full-tablet
51 | width 100%
52 | &_semi-tablet
53 | width 50%
54 |
55 |
56 | @media maw[tsm]
57 | .dashboard
58 | & &__cell
59 | &_big
60 | width 100%
61 | &-semi
62 | width 100%
63 | &_smart
64 | width 100%
65 | &_semi
66 | width 100%
67 |
68 | @media maw[mmd]
69 | .dashboard
70 | & &__cell
71 | margin-bottom 10px
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-checkbox.styl:
--------------------------------------------------------------------------------
1 | .fb-checkbox
2 | cursor pointer
3 | display inline-block
4 | vertical-align middle
5 | user-select none
6 | position relative
7 | padding-bottom 2px
8 | text-align left
9 | min-height (1rem * 1.2)
10 | & &__text
11 | position relative
12 | padding-left 28px
13 | display block
14 | span
15 | font-size f_medium
16 | color var(--tc_link_semi)
17 | .icon
18 | absolute left 0 top 2px
19 | size 16px
20 | border-radius var(--tc_form_border_radius)
21 | color transparent
22 | tr(0.25)
23 | cursor pointer
24 | {lt} &
25 | border 1px solid var(--tc_border_dark)
26 | {dt} &
27 | border 1px solid var(--tc_border_light)
28 | input
29 | opacity 0
30 | absolute left 0 top 0
31 | size 0px
32 | border 0
33 | background none
34 | box-shadow none !important
35 | border-radius 0
36 | pointer-events none
37 | &:checked
38 | & + ^[0]__text
39 | span
40 | color var(--tc_link_semi_active)
41 | .icon
42 | color cl_white
43 | background-color cl_grass
44 | border 1px solid cl_grass
45 | &:focus
46 | + span
47 | .icon
48 | box-shadow 0px 0px 0px 2px alpha(cl_sky, 0.5)
49 | &_disabled
50 | disabled()
51 | &_ok
52 | span
53 | .icon
54 | box-shadow 0px 0px 0px 2px alpha(cl_grass, 0.5)
55 | &_error
56 | & ^[0]__text
57 | .icon
58 | box-shadow 0px 0px 0px 2px alpha(cl_warn, 0.5)
59 | span
60 | color cl_warn
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-keycode.styl:
--------------------------------------------------------------------------------
1 | .fb-keycode
2 | width 100%
3 | display block
4 | position relative
5 | & &__hidden
6 | absolute left 0 top 0
7 | size 1px
8 | display block
9 | opacity 0
10 | & &__wrap
11 | width 100%
12 | fl(,sb)
13 | cursor text
14 | margin-bottom 30px
15 | padding-left 5px
16 | padding-right 5px
17 | & &__field
18 | display block
19 | text-align center
20 | border-radius var(--tc_form_border_radius)
21 | font-size 20px
22 | font-weight 700
23 | position relative
24 | height 50px
25 | width 100%
26 | appearance: textfield
27 | border 1px solid var(--tc_border_ins)
28 | background-color var(--tc_ui_bg)
29 | color var(--tc_text)
30 | &::-webkit-inner-spin-button,
31 | &::-webkit-outer-spin-button
32 | -webkit-appearance: none
33 | margin: 0
34 | formautofill()
35 | &:focus
36 | border 1px solid var(--tc_ui_focus)
37 | & &__field-wrap
38 | width calc(14% - 5px)
39 | &:nth-child(2), &:nth-child(4)
40 | margin-right 8%
41 | position relative
42 | &:after
43 | size 6px 2px
44 | display block
45 | absolute left 129% top 50%
46 | background-color var(--tc_text_caption)
47 | content ''
48 | &_disabled
49 | disabled()
50 | &_error
51 | & ^[0]__field
52 | border-color cl_warn
53 | &:focus
54 | border-color cl_warn
55 | &_ok
56 | & ^[0]__field
57 | border-color cl_grass
58 |
59 |
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-multi-block.styl:
--------------------------------------------------------------------------------
1 | .fb-multiblock
2 | // display flex
3 | // width 100%
4 | // flex-wrap wrap
5 | // align-items flex-start
6 | & &__add
7 | font-size: f_small
8 | display: inline-block
9 | margin-top 5px
10 | margin-left 20px
11 | cursor pointer
12 | // margin-bottom 10px
13 | vertical-align bottom
14 | background-color transparent
15 | color var(--tc_link)
16 | &:hover, &:focus
17 | text-decoration underline
18 | color var(--tc_link_dark)
19 | &-block
20 | font-size f_smart
21 | text-transform uppercase
22 | font-weight 700
23 | margin-bottom 20px
24 | margin-left 5px
25 | display inline-block
26 | cursor pointer
27 | vertical-align bottom
28 | &:hover, &:focus
29 | text-decoration underline
30 | // & &__head
31 | // fl(w,,c)
32 | // margin-bottom 10px
33 | // & &__title
34 | // display block
35 | // font-weight 400
36 | // font-size f_normal
37 | // margin-right 5px
38 | // margin-bottom 0
39 | // color var(--tc_text)
40 | // & &__close
41 | // font-size 12px
42 | // display block
43 | // line-height 1
44 | // color var(--tc_link_semi)
45 | // &:hover
46 | // color var(--tc_link_semi_active)
47 | &_has-close
48 | position: relative
49 | max-width calc(100% - 40px)
50 | &:not(:first-child)
51 | margin-top 10px
52 | & &__clear
53 | absolute right -35px top 0
54 | size 34px 50px
55 | font-size 18px
56 | fl(,fe,c)
57 | color var(--tc_link_black)
58 | background-color transparent
59 | &:hover
60 | color cl_warn
61 | &:focus
62 | color var(--tc_ui_focus)
63 | // & &__mb
64 | // margin-bottom 10px
65 | // width 100%
66 | // fl(w)
67 | &_disabled
68 | disabled()
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-radio-group.styl:
--------------------------------------------------------------------------------
1 | .fc-radio
2 | width 100%
3 | text-align center
4 | overflow hidden
5 | position relative
6 | & &__wrap
7 | fl()
8 | & &__box
9 | width 100%
10 | cursor pointer
11 | border 1px solid var(--tc_border)
12 | border-left none
13 | color var(--tc_text_caption)
14 | overflow hidden
15 | background-color var(--tc_ui_bg_semi)
16 | &:first-child
17 | border-left 1px solid var(--tc_border)
18 | border-radius var(--tc_form_border_radius) 0 0 var(--tc_form_border_radius)
19 | &:last-child
20 | border-radius 0 var(--tc_form_border_radius) var(--tc_form_border_radius) 0
21 | &.is-checked
22 | background var(--tc_ui_bg)
23 | & &__text
24 | padding 7px
25 | width 100%
26 | display block
27 | background-color var(--tc_ui_bg_semi)
28 | & &__field
29 | absolute left 0 top 0
30 | size 0px
31 | opacity 0
32 | &:focus
33 | & + ^[0]__text
34 | background-color var(--tc_ui_focus)
35 | color cl_white
36 | &:checked
37 | & + ^[0]__text
38 | background-color var(--tc_ui_bg)
39 | color var(--tc_text)
40 | &_disabled
41 | disabled()
42 | opacity 0.5
43 | &_error
44 | & ^[0]__box
45 | border-color cl_warn
46 | &:first-child
47 | border-color cl_warn
48 | &_ok
49 | & ^[0]__box
50 | border-color cl_grass
51 | &:first-child
52 | border-color cl_grass
53 |
54 |
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-reservation.styl:
--------------------------------------------------------------------------------
1 | .fb-reservation
2 | display flex
3 | max-width max-content
4 | flex-wrap wrap
5 | background-color var(--tc_ui_bg)
6 | border-radius var(--tc_form_border_radius)
7 | tr(0.25, border-color)
8 | border 1px solid var(--tc_border_ins)
9 | position relative
10 |
11 | &:focus,
12 | &:focus-within
13 | border 1px solid var(--tc_ui_focus)
14 |
15 | &.has-error
16 | border 1px solid cl_warn
17 |
18 |
19 | &__error
20 | width 100%
21 | height 0
22 |
23 |
24 | &__calendar
25 | max-width 100%
26 |
27 |
28 | &__title
29 | width 100%
30 |
31 |
32 | &__time
33 | display flex
34 | flex-direction column
35 | width calendar_width
36 | position relative
37 |
38 |
39 | &__loading
40 | border-radius var(--tc_form_border_radius)
41 | background var(--tc_ui_shadow-middle)
42 | padding 10px
43 | display flex
44 | justify-content center
45 | align-items center
46 |
47 | position absolute
48 | top 0
49 | left 0
50 | width 100%
51 | height 100%
52 |
53 |
54 | @media miw[tsm]
55 |
56 | &__hide-time,
57 | &__caption-year
58 | display none
59 |
60 |
61 | @media maw[tsm]
62 |
63 | &__calendar,
64 | &__time
65 |
66 | &:not(.is-visible)
67 | display none
68 |
69 |
70 | // &.is-small
71 |
72 | // ^[0]__calendar,
73 | // ^[0]__time
74 |
75 | // &:not(.is-visible)
76 | // display none
77 |
78 | // ^[0]__hide-time,
79 | // ^[0]__caption-year
80 | // display block
81 |
82 |
83 | .modal.is-default,
84 | .fb-reservation.is-small
85 |
86 | .fb-reservation
87 |
88 | &__calendar,
89 | &__time
90 |
91 | &:not(.is-visible)
92 | display none
93 |
94 | &__hide-time
95 | display block
96 |
97 | &__caption-year
98 | display inline
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-slug.styl:
--------------------------------------------------------------------------------
1 | .fb-slug
2 | width 100%
3 | position relative
4 | & &__field
5 | size 100% 50px
6 | padding 0 15px
7 | font-size f_medium
8 | border-radius var(--tc_form_border_radius)
9 | padding-top 14px
10 | tr(0.25, border-color)
11 | border 1px solid var(--tc_border_ins)
12 | color var(--tc_text)
13 | background-color var(--tc_ui_bg)
14 | formautofill()
15 | &:focus
16 | border 1px solid var(--tc_ui_focus)
17 | & &__label
18 | font-size f_middle
19 | absolute left 5px top 7px
20 | width calc(100% - 35px)
21 | padding 8px 15px 3px 10px
22 | display block
23 | border-radius var(--tc_form_border_radius)
24 | pointer-events none
25 | z-index 1
26 | white-space nowrap
27 | text-overflow ellipsis
28 | overflow hidden
29 | tr(0.15)
30 | color var(--tc_text_caption)
31 | & &__group
32 | &-wrap
33 | fl(,,fe)
34 | width 100%
35 | &-field
36 | flex-grow 1
37 | &-label
38 | max-width 150px
39 | margin-left 10px
40 | padding-bottom 7px
41 | word-break break-all
42 | display block
43 | color var(--tc_text_caption)
44 | &_active
45 | & ^[0]__color
46 | opacity 1
47 | & ^[0]__label
48 | font-size 10px
49 | top 1px
50 | height auto
51 | font-weight 400
52 | & ^[0]__autocomplete
53 | display block
54 | &_disabled
55 | disabled()
56 | &_ok
57 | & ^[0]__field
58 | padding-right 50px
59 | border 1px solid cl_salad
60 | & ^[0]__label
61 | width calc(100% - 35px)
62 | &_error
63 | & ^[0]__field
64 | border 1px solid cl_warn
65 | &:focus
66 | border 1px solid cl_warn
67 | & ^[0]__label
68 | color cl_warn
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-switcher.styl:
--------------------------------------------------------------------------------
1 | .fb-switcher
2 | fl(,,c)
3 | cursor pointer
4 | user-select none
5 | position relative
6 | & &__field-wrap
7 | switcher()
8 | absolute left 0 top 3px
9 | z-index 1
10 | {lt} &
11 | background-color var(--tc_ui_darkbg)
12 | {dt} &
13 | background-color var(--tc_ui_darkbg_d)
14 | &:before
15 | background-color cl_white
16 | box-shadow 0px 0px 5px var(--tc_ui_darkbg_o)
17 | & &__field
18 | cursor pointer
19 | width: 100%
20 | position: relative
21 | z-index: 2
22 | opacity: 0
23 | &::-moz-focus-outer
24 | border-color: transparent
25 | &_active
26 | & ^[0]__field-wrap
27 | switcher-active()
28 | background-color cl_grass !important
29 | & &__label
30 | position relative
31 | padding-left 42px
32 | display block
33 | font-size f_medium
34 | color var(--tc_link_semi)
35 | &_disabled
36 | disabled()
37 | &_ok
38 | & ^[0]__field-wrap
39 | box-shadow 0px 0px 0px 3px alpha(cl_grass, 0.5)
40 | & ^[0]__label
41 | color cl_grass
42 | &_error
43 | & ^[0]__field-wrap
44 | box-shadow 0px 0px 0px 3px alpha(cl_warn, 0.5)
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb-textarea.styl:
--------------------------------------------------------------------------------
1 | .fb-textarea
2 | width 100%
3 | & &__field
4 | width 100%
5 | min-height 92px
6 | padding 30px 20px 12px 15px
7 | font-size f_medium
8 | max-height textarea_max-height
9 | overflow auto
10 | border-radius var(--tc_form_border_radius)
11 | font-size 14px
12 | overflow-y: scroll
13 | border 1px solid var(--tc_border_ins)
14 | color var(--tc_text)
15 | background-color var(--tc_ui_bg)
16 | &:focus
17 | border 1px solid var(--tc_ui_focus)
18 | formautofill()
19 | & &__label
20 | font-size f_middle
21 | absolute left 5px top 5px
22 | width calc(100% - 25px)
23 | padding 8px 15px 3px 10px
24 | display block
25 | border-radius var(--tc_form_border_radius)
26 | pointer-events none
27 | z-index 1
28 | white-space nowrap
29 | text-overflow ellipsis
30 | overflow hidden
31 | tr(0.15)
32 | background-color var(--tc_ui_bg)
33 | color var(--tc_text_caption)
34 | &_disabled
35 | disabled()
36 | &_ok
37 | & ^[0]__field
38 | border-color cl_salad
39 | &_error
40 | & ^[0]__field
41 | border-color cl_warn
42 | &:focus
43 | border 1px solid cl_warn
44 | & ^[0]__label
45 | color cl_warn
46 | &_active
47 | z-index 2
48 | & ^[0]__label
49 | font-size 10px
50 | top 1px
51 | padding-top 10px
52 | height auto
53 |
--------------------------------------------------------------------------------
/resources/css/blocks/form-builder/fb.styl:
--------------------------------------------------------------------------------
1 | .fb-element
2 | & + .fb-element
3 | margin-top 10px
4 |
5 | .form-builder
6 |
7 | &.is-search
8 | display flex
9 | width 300px
10 | max-width 100%
11 |
12 | .fb-input__field
13 | padding-right 55px
14 |
15 | .line-btns
16 | padding-top 0
17 | margin 0
18 | margin-left -50px
19 | display flex
20 | flex-direction row-reverse
21 | position relative
22 | z-index 2
23 |
24 | .btn
25 | min-width inherit
26 | padding 15px
27 |
28 | .form-builder__send
29 | margin 0
30 | margin-left 10px
31 | height 50px
32 |
33 | .form-builder__reset
34 | margin 1px
35 | font-size 0
36 | width 48px
37 | height 48px
38 |
39 | .icon
40 | font-size 1rem
41 | margin-right 0
--------------------------------------------------------------------------------
/resources/css/blocks/header-notification.styl:
--------------------------------------------------------------------------------
1 | .header-notification, header-notification
2 | display block
3 | width 100%
4 | text-align center
5 | padding 15px 60px
6 | position relative
7 | z-index 10
8 | border-radius var(--tc_border_radius)
9 | & &__close
10 | absolute right 30px top 50%
11 | margin-top -7px
12 | display block
13 | font-size 14px
14 | &:hover
15 | opacity 0.7
16 |
17 | @media maw[dsm]
18 | .header-notification
19 | header-notification
20 | padding-left 45px
21 | padding-right 45px
22 | & &__close
23 | right 20px
24 |
25 | @media maw[tlg]
26 | .header-notification
27 | header-notification
28 | margin-top 62px
29 | margin-bottom -65px
30 |
31 | @media maw[tmd]
32 | .header-notification
33 | header-notification
34 | padding-left 30px
35 | padding-right 30px
36 | & &__close
37 | right 10px
38 |
39 |
40 |
--------------------------------------------------------------------------------
/resources/css/blocks/ie.styl:
--------------------------------------------------------------------------------
1 | html.ie
2 | body
3 | .frame
4 | &__aside-title
5 | display table
6 | width 100%
7 | span
8 | display table-cell
9 | vertical-align middle
10 |
11 | .tf
12 | &-centerblock
13 | height calc(100vh - 250px)
14 | display table
15 | width 100%
16 | &__cell
17 | display table-cell
18 | vertical-align middle
19 | .tooltip
20 | object
21 | opacity 0
22 |
23 | .dashboard
24 | &__tabs
25 | .tabs-component-tab a
26 | padding-top 22px
27 | padding-bottom 22px
28 |
29 | .justify-list
30 | &_oneline
31 | li
32 | span
33 | padding-top 10px
34 | padding-bottom 10px
35 | .j-table
36 | &_nd
37 | display table
38 | width 100%
39 | &__nd
40 | display table-cell
41 | vertical-align middle
42 | .loading-inline
43 | min-width 120px
44 | .btn
45 | min-width 130px
46 | .login-page
47 | display table
48 | width 100%
49 | &__left
50 | display table-cell
51 | vertical-align middle
52 | &-wrap
53 | display block
54 | float right
55 | &__bg
56 | display table-cell
57 | vertical-align middle
58 |
59 |
60 |
61 | @media maw[tlg]
62 | html.ie
63 | body
64 | .frame
65 | &__aside-title
66 | display flex !important
67 | width: calc(100% - 128px)
68 |
69 |
70 |
--------------------------------------------------------------------------------
/resources/css/blocks/j-table.styl:
--------------------------------------------------------------------------------
1 | .j-table
2 | width 100%
3 | margin-bottom 30px
4 | font-size f_normal
5 | min-height 360px
6 | & &__table
7 | width 100%
8 | a
9 | &:hover
10 | text-decoration underline
11 | td
12 | border-bottom 1px solid
13 | height 60px
14 | padding 10px
15 | vertical-align middle
16 | &:first-child
17 | padding-left 30px
18 | &:last-child
19 | padding-right 30px
20 | tr
21 | &:last-child
22 | td
23 | border-bottom 0
24 | & &__right
25 | text-align right
26 | & &__name
27 | padding-left 0
28 | & &__ava
29 | width 76px
30 | img
31 | size 36px
32 | border-radius 50%
33 | overflow hidden
34 | &_nd
35 | fl(w,fe,fe)
36 | & &__nd
37 | margin auto
38 | text-align center
39 | &-caption
40 | display block
41 | font-size f_middle
42 | &-icon
43 | margin-bottom 17px
44 | font-size 50px
45 |
46 |
47 |
48 | @media maw[mmd]
49 | .j-table
50 | & &__table
51 | display block
52 | td
53 | display block
54 | border-bottom 0
55 | padding 0
56 | height auto
57 | min-height 1px
58 | tr
59 | fl(w,,c)
60 | border-bottom 1px solid
61 | padding 10px 20px 10px 65px
62 | min-height 60px
63 | position relative
64 | & ^[0]__ava
65 | size 36px
66 | flex-shrink 0
67 | absolute left 20px top 50%
68 | margin-top -18px
69 | flex-shrink 0
70 | padding 0 !important
71 | & ^[0]__name
72 | padding-right 10px
73 | display inline !important
74 | &:after
75 | content ','
76 | & ^[0]__right
77 | width 100%
78 | text-align left
79 | padding-right 0
80 | & ^[0]__rate
81 | display inline
82 |
83 |
--------------------------------------------------------------------------------
/resources/css/blocks/justify-list.styl:
--------------------------------------------------------------------------------
1 | .justify-list
2 | font-size f_normal
3 | margin-bottom 30px
4 | min-height 360px
5 | li
6 | border-bottom 1px solid
7 | padding 10px 30px
8 | fl(w,sb,c)
9 | min-height 60px
10 | a
11 | &:hover
12 | text-decoration underline
13 | &:last-child
14 | border-bottom 0
15 | &_oneline
16 | li
17 | flex-wrap nowrap
18 |
19 | @media maw[mmd]
20 | .justify-list
21 | margin-bottom 20px
22 |
23 | @media maw[msm]
24 | .justify-list
25 | & &__cell
26 | width 100%
27 | &_oneline
28 | & ^[0]__cell
29 | width auto
30 |
31 |
--------------------------------------------------------------------------------
/resources/css/blocks/lists.styl:
--------------------------------------------------------------------------------
1 | .history-list
2 | clearlist()
3 | li
4 | padding-bottom 25px
5 | padding-left 20px
6 | position relative
7 | &:before
8 | size 10px
9 | border-radius 50%
10 | display block
11 | absolute left 0 top 4px
12 | content ''
13 | &.active
14 | &:after
15 | display block
16 | size 1px calc(100% - 18px)
17 | absolute left 5px top 18px
18 | content ''
19 | &:last-child
20 | padding-bottom 0
21 | &.active
22 | &:after
23 | display none
24 |
25 | @media maw[tmd]
26 | .history-list
27 | li
28 | padding-bottom 15px
--------------------------------------------------------------------------------
/resources/css/blocks/notifications.styl:
--------------------------------------------------------------------------------
1 | .system-notify-container
2 |
3 | &.is-header
4 |
5 | .awes-notify
6 | padding: 5px 10px
7 |
8 | &__content
9 | justify-content: center
10 |
11 | &.position-top-center.is-top
12 |
13 | @media miw[tlg]
14 | left: calc(50% + 105px)
15 |
16 | @media miw[dsm]
17 | left: calc(50% + 130px)
18 |
19 | &.is-frame
20 | position: absolute
21 | top: 0
22 | left: 50%
23 | transform: translate(-50%, -50%)
24 | max-width: 80%
25 |
--------------------------------------------------------------------------------
/resources/css/blocks/re-captcha.styl:
--------------------------------------------------------------------------------
1 | .re-captcha
2 | & > div
3 | margin auto
--------------------------------------------------------------------------------
/resources/css/blocks/section.styl:
--------------------------------------------------------------------------------
1 | .section
2 | margin-top 30px
3 | &-bg
4 | background-color var(--tc_ui_bg)
--------------------------------------------------------------------------------
/resources/css/blocks/static-page.styl:
--------------------------------------------------------------------------------
1 | .static-page
2 | min-height 100vh
3 | & &__wrap
4 | wrap(860px)
5 | width 100%
6 | & &__head
7 | padding 45px 0 180px 0
8 | & ^[0]__wrap
9 | fl(w,sb,c)
10 | max-width 840px
11 | &-left
12 | fl(w,,c)
13 | & &__semititle
14 | margin-bottom 10px
15 | display block
16 | & &__title
17 | margin-bottom 10px
18 | margin-right 40px
19 | font-weight 600
20 | & &__search-link
21 | margin-bottom 10px
22 | display block
23 | font-size 18px
24 | & &__content
25 | margin-top -140px
26 | display block
27 | position relative
28 | padding 15px
29 | & &__footer
30 | padding 20px 0
31 | fl(,c,)
32 | &-logo
33 | fl(,c,c)
34 | font-size f_small
35 | .icon
36 | font-size 25px
37 | display block
38 | margin-right 10px
39 | a
40 | text-decoration underline
41 | & &__cell
42 | min-height calc(100vh - 220px)
43 | fl(,,c)
44 | width 100%
45 | & &--vat
46 | align-items flex-start
47 |
48 | @media maw[tmd]
49 | .static-page
50 | & &__head
51 | padding-top 25px
52 | padding-bottom 155px
53 | & &__cell
54 | min-height calc(100vh - 180px)
55 |
--------------------------------------------------------------------------------
/resources/css/blocks/status.styl:
--------------------------------------------------------------------------------
1 | .status
2 | min-width 90px
3 | display inline-flex
4 | align-items center
5 | justify-content center
6 | border-radius 12px
7 | border 1px solid var(--tc_border)
8 | font-size 0.6rem
9 | text-transform uppercase
10 | padding 5px 10px
11 | color var(--tc_text_caption)
12 | span + .icon
13 | padding-left 5px
14 | .icon + span
15 | padding-left 5px
16 |
17 | .icon
18 | font-size 0.7rem
19 | &_error
20 | border 1px solid var(--tc_status_error)
21 | color #fff
22 | background-color var(--tc_status_error)
23 | &_warning
24 | border 1px solid var(--tc_status_warning)
25 | color var(--tc_status_warning)
26 | &_success
27 | border 1px solid var(--tc_status_success)
28 | color var(--tc_status_success)
29 | &_inprogress
30 | border 1px solid var(--tc_status_inprogress)
31 | color var(--tc_status_inprogress)
32 | &_wait
33 | border 1px solid var(--tc_status_wait)
34 | color var(--tc_status_wait)
--------------------------------------------------------------------------------
/resources/css/blocks/theme-switcher.styl:
--------------------------------------------------------------------------------
1 | .theme-switcher
2 | fl(,,c)
3 | cursor pointer
4 | user-select none
5 | &__switcher
6 | switcher()
7 | position: relative
8 | margin-right: 11px
9 | z-index 1
10 | &__input
11 | cursor pointer
12 | &::-moz-focus-outer
13 | border-color transparent
14 | width 100%
15 | position relative
16 | z-index 2
17 | opacity 0
18 | &.is-active
19 | & ^[0]__switcher
20 | switcher-active()
21 |
--------------------------------------------------------------------------------
/resources/css/blocks/time-range.styl:
--------------------------------------------------------------------------------
1 | .time-range
2 |
3 | ul&__intervals
4 | list-style none
5 | margin 0
6 | padding 0
7 |
8 | display flex
9 | flex-direction column
10 | height 100%
11 |
12 | ul li&__interval
13 | min-height (calendar_height / 10)
14 | flex-grow 1
15 | margin 0
16 |
17 | &__button
18 | display flex
19 | size 100%
20 | justify-content center
21 | align-items center
22 |
23 | &:hover,
24 | &:focus
25 | background-color var(--tc_ui_bg_darken)
26 |
27 | &.is-current
28 | color var(--tc_btn_text)
29 | background-color var(--tc_btn_bg_active)
30 |
31 | &.is-disabled
32 | cursor default
33 | color var(--tc_text_caption)
34 |
35 | &:hover,
36 | &:focus
37 | background-color inherit
--------------------------------------------------------------------------------
/resources/css/blocks/todolist.styl:
--------------------------------------------------------------------------------
1 | .todolist
2 | absolute top 50px right -270px
3 | box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
4 | z-index 9
5 | width 260px
6 | overflow auto
7 | display block
8 | padding-bottom 50px
9 | tr(0.3)
10 | &.active
11 | right 0
12 | & &__head
13 | fl(,sb,c)
14 | padding 20px 30px
15 | & &__title
16 | font-size f_middle
17 | font-weight 700
18 | & &__plus
19 | font-size 20px
20 | size 20px
21 | display block
22 | cursor pointer
23 | tr(0.3)
24 | & &__block
25 | &-title
26 | display block
27 | padding 15px 45px 15px 30px
28 | font-size f_normal
29 | cursor pointer
30 | position relative
31 | &:before
32 | absolute right 30px top 50%
33 | margin-top -3px
34 | .icn-dot
35 | margin-left 5px
36 | margin-top -2px
37 | &_active
38 | &:before
39 | transform rotate(90deg)
40 | &-add
41 | height 34px
42 | width 100%
43 | border-radius var(--tc_border_radius)
44 | padding 0 12px
45 | font-size f_small
46 | margin-top 5px
47 | & &__hidden
48 | padding 5px 30px 20px 30px
49 | display none
50 | li
51 | margin-bottom 14px
52 | &:last-child
53 | margin-bottom 0
54 |
55 |
56 | @media maw[tmd]
57 | .todolist
58 | top 64px
59 | z-index 10
60 | position fixed
61 | height calc(100% - 124px) !important
--------------------------------------------------------------------------------
/resources/css/blocks/ui.styl:
--------------------------------------------------------------------------------
1 | .ui-filter
2 | display block
3 | margin-bottom 20px
4 | & &__inline
5 | fl(w)
6 | margin-bottom 15px
7 | & &__wrap
8 | fl(w)
9 | margin-left -5px
10 | margin-right -5px
11 | & &__incell
12 | display block
13 | margin-right 80px
14 | margin-bottom 10px
15 | &:last-child
16 | margin-right 0
17 | span
18 | display block
19 | font-size: f_smart
20 | margin-bottom 3px
21 | b
22 | display block
23 | font-size: f_medium
24 | & &__cell
25 | padding-left 5px
26 | padding-right 5px
27 | width 100%
28 | &_3
29 | width 33.333%
30 | &_2
31 | width 50%
32 |
33 | .ui-title
34 | display block
35 | font-weight: 700
36 | margin-bottom 25px
37 | font-size f_middle
38 |
39 | .ui-btns
40 | margin-top 20px
41 | .btn
42 | display inline-block
43 | margin-right 15px
44 | margin-bottom 10px
45 | &:last-child
46 | margin-right 0
47 |
48 |
49 | @media maw[tsm]
50 | .ui-filter
51 | & &__cell
52 | &_3
53 | width 100%
54 |
55 | @media maw[mlg]
56 | .ui-filter
57 | & &__cell
58 | &_2
59 | width 100%
60 |
61 | @media maw[mmd]
62 | .ui-filter
63 | & &__incell
64 | width 100%
65 | margin-right 0
--------------------------------------------------------------------------------
/resources/css/blocks/wawe.styl:
--------------------------------------------------------------------------------
1 | .has-wave
2 | position: relative
3 | overflow: hidden
4 | touch-action: manipulation
5 |
6 | > *
7 | pointer-events: none
8 |
9 | .wave
10 | display: block
11 | position: absolute
12 | width: 100%
13 | padding-bottom: 100%
14 | border-radius: 50%
15 | pointer-events: none
16 | transition: none
17 | transform: scale(0)
18 |
--------------------------------------------------------------------------------
/resources/css/framework/main.styl:
--------------------------------------------------------------------------------
1 | @import "../_init.styl"
2 | @import "../_setting.styl"
3 |
4 |
5 | @import "../_themes.styl"
6 | @import "_functions.styl"
7 | @import "_normalizer.styl"
8 |
9 | @import "modules/*.styl"
10 |
11 | @import "../placeholder/*.styl"
12 |
13 | @import "icons.styl"
14 |
15 | @import "../blocks/**/*.styl"
16 |
17 | // Import libs
18 | @import '../libs/*.styl'
19 | @import '../libs/*.css'
20 |
21 | @import "../_colors.styl"
22 |
23 |
--------------------------------------------------------------------------------
/resources/css/framework/modules/classes.styl:
--------------------------------------------------------------------------------
1 | // Custom classes
2 | .{framework_class_prefix}text
3 | &-center
4 | text-align center
5 | &-left
6 | text-align left
7 | &-right
8 | text-align right
9 | &-thin
10 | font-weight 100
11 | &-light
12 | font-weight 300
13 | &-regular
14 | font-weight 300
15 | &-medium
16 | font-weight 500
17 | &-semibold
18 | font-weight 500
19 | &-bold, &-strong
20 | font-weight 700
21 | &-black
22 | font-weight 700
23 | &-upper
24 | text-transform uppercase
25 | &-through
26 | text-decoration line-through
27 | &-cap
28 | text-transform capitalize
29 | &-nobreak
30 | word-break normal !important
31 | &-nowrap
32 | display block
33 | overflow hidden
34 | text-overflow ellipsis
35 | white-space nowrap
36 | max-width 100%
37 | &-oneline
38 | white-space nowrap
39 |
40 |
41 | // Media for classes
42 | if grid_bpoint is defined && grid_bpoint
43 | for index, key in grid_bpoint
44 | @media(max-width (key)px)
45 | .{framework_class_prefix}text
46 | &-center--{index}{grid_default_class}
47 | text-align center
48 | &-left--{index}{grid_default_class}
49 | text-align left
50 | &-right--{index}{grid_default_class}
51 | text-align right
52 |
53 | for index, key in invert_hash(grid_bpoint)
54 | @media(min-width (key + 1)px)
55 | .{framework_class_prefix}text
56 | &-center--{index}{grid_inverted_class}
57 | text-align center
58 | &-left--{index}{grid_inverted_class}
59 | text-align left
60 | &-right--{index}{grid_inverted_class}
61 | text-align right
--------------------------------------------------------------------------------
/resources/css/libs/empty.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/awes-io/indigo-layout/456ca03d76fe5a8bc2f2f4b86d0a620cd70379d3/resources/css/libs/empty.css
--------------------------------------------------------------------------------
/resources/css/placeholder/animations.styl:
--------------------------------------------------------------------------------
1 | // Animations
2 | @keyframes placeholderAnimation
3 | 0%
4 | background-position 0% 0%
5 | 50%
6 | background-position 500% 0%
7 | 100%
8 | background-position 0% 0%
9 |
10 | @keyframes phShow
11 | from
12 | opacity 0
13 | to
14 | opacity 1
--------------------------------------------------------------------------------
/resources/css/placeholder/layout.styl:
--------------------------------------------------------------------------------
1 | .login-page__checkform
2 | fb-checkbox
3 | margin-top 0
4 |
5 | form-builder .login-page__checkform
6 | opacity 0
7 | animation phShow 1.5s 1 forwards !important
8 |
9 | frame-nav
10 | position relative
11 | overflow hidden
12 | .frame__aside-mnav
13 | display: none
14 |
15 | modal, modal-form, modal-window, filter-form, slide-up-down, transition
16 | display none
17 |
18 |
19 |
20 | .filter
21 | opacity 0
22 | animation phShow 1.5s 1 forwards !important
23 |
24 | @media maw[tlg]
25 | frame-nav
26 | background-color var(--tc_aside_bg)
27 | size 100% 62px
28 | fixed top 0 left 0
29 | display block
30 | z-index 5
--------------------------------------------------------------------------------
/resources/css/placeholder/tab-builder.styl:
--------------------------------------------------------------------------------
1 | tab-builder
2 | fl()
3 | position relative
4 | box-shadow inset 0 -1px 0px 0px var(--tc_border)
5 | // margin-left -40px
6 | // margin-right -40px
7 | // padding-left 40px
8 | // padding-right 40px
9 | // margin-top -27px !important
10 | height 50px
11 | display block
12 | margin-bottom 25px
13 | position relative
14 | & > *
15 | display none
16 | &:before
17 | display block
18 | // absolute left 40px top 50%
19 | absolute left 0 top 50%
20 | margin-top -10px
21 | // top 50%
22 | max-width 500px
23 | size 100% 20px
24 | phLineBg(--tc_ui_bg_darken)
25 | content ''
26 |
27 | // .frame .frame__inlayout-content > &
28 | // margin-top -27px !important
29 |
30 |
31 | // @media res_desktop--sm
32 | // tab-builder
33 | // margin-left -20px
34 | // margin-right -20px
35 | // padding-left 20px
36 | // padding-right 20px
37 |
38 |
39 |
--------------------------------------------------------------------------------
/resources/img/loading.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/js/main.js:
--------------------------------------------------------------------------------
1 | import { name, version } from '../../package.json'
2 | import { plugin } from './modules/plugin.js'
3 | import i18n from './modules/i18n.js'
4 | import { replaceCode } from './modules/highlight'
5 | import { Waves } from './modules/waves'
6 |
7 | const awesPlugin = {
8 |
9 | name, version,
10 |
11 | install(AWES) {
12 | // set language variables
13 | AWES.lang = i18n
14 |
15 | // init code highlighting
16 | replaceCode()
17 | AWES.on('core:popstate', replaceCode)
18 | AWES._watchedNames.push('code-block')
19 |
20 | Vue.use(plugin)
21 | AWES.once('core:inited', () => {
22 | AWES.Waves = new Waves(document.body)
23 | })
24 | }
25 | }
26 |
27 | if (window && ('AWES' in window)) {
28 | AWES.use(awesPlugin)
29 | } else {
30 | window.__awes_plugins_stack__ = window.__awes_plugins_stack__ || []
31 | window.__awes_plugins_stack__.push(awesPlugin)
32 | }
33 |
--------------------------------------------------------------------------------
/resources/js/modules/highlight.js:
--------------------------------------------------------------------------------
1 | export function replaceCode() {
2 | let blocks = document.querySelectorAll('pre > code[class^="language"]')
3 |
4 | blocks && blocks.forEach(block => {
5 |
6 | let pre = block.parentElement,
7 | container = pre.parentElement,
8 | language = block.className.match(/language-([a-z]*)/);
9 |
10 | let codeBlock = document.createElement('code-block')
11 | codeBlock.setAttribute('language', language[1])
12 | codeBlock.innerHTML = '' + block.innerHTML + ''
13 |
14 | container.replaceChild(codeBlock, pre)
15 |
16 | pre = null
17 | container = null
18 | codeBlock = null
19 | })
20 | }
--------------------------------------------------------------------------------
/resources/js/modules/i18n.js:
--------------------------------------------------------------------------------
1 | export default {
2 | MODAL_BACK: "Go back",
3 | MODAL_CLOSE: "Close modal",
4 | CODE_COPY: "copy",
5 | CODE_COPIED_MSG: "Text copied to clipboard",
6 | CONTENT_EMPTY: "No data",
7 | CONTENT_ERROR: "Error",
8 | CONTENT_LOADING: "Loading..."
9 | }
10 |
--------------------------------------------------------------------------------
/resources/js/modules/layout.js:
--------------------------------------------------------------------------------
1 | const BODY_NO_SCROLL_CLASS = 'body-overflow-hidden'
2 | const BODY_NO_SCROLL_CLASS_MOBILE = "body-overflow-usermenu"
3 |
4 | export default {
5 |
6 | data() {
7 | return {
8 | togglenav: false,
9 | showSearch: false,
10 | showUserMenu: false,
11 | showHelpers: false,
12 | stActive: false
13 | }
14 | },
15 |
16 | methods: {
17 |
18 | toggleBodyFix(shouldFix) {
19 | document.documentElement.classList[shouldFix ? 'add' : 'remove'](BODY_NO_SCROLL_CLASS)
20 | },
21 |
22 | toggleBodyMobileFix(shouldFix) {
23 | document.documentElement.classList[shouldFix ? 'add' : 'remove'](BODY_NO_SCROLL_CLASS_MOBILE)
24 | },
25 |
26 | openNav() {
27 | if(this.togglenav == true) {
28 | this.togglenav = false;
29 | this.toggleBodyFix(false)
30 | } else {
31 | this.togglenav = true;
32 | this.toggleBodyFix(true)
33 | }
34 | },
35 |
36 | overlayClick() {
37 | this.showUserMenu = false
38 | this.togglenav = false
39 | this.toggleBodyFix(false)
40 | },
41 |
42 | notify(text, type = 'success', group = 'bottom-right') {
43 | this.$notify({
44 | group: 'bottom-right',
45 | type: type,
46 | title: type,
47 | text: text
48 | });
49 | }
50 | },
51 |
52 | watch: {
53 | showUserMenu( isShown ) {
54 | this.toggleBodyMobileFix(isShown)
55 | },
56 |
57 | showHelpers( isShown ) {
58 | this.toggleBodyMobileFix(isShown)
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/resources/js/modules/plugin.js:
--------------------------------------------------------------------------------
1 | import layoutApp from './layout.js'
2 |
3 | // importing components
4 | import frameNav from '../../vue/frame-nav.vue'
5 | import slideUpDown from '../../vue/slide-up-down.vue'
6 | import codeBlock from '../../vue/code-block.vue'
7 |
8 | export function install() {
9 |
10 | if ( this.installed ) return
11 | this.installed = true
12 |
13 | Vue.prototype.$awesLayoutCrm = new Vue(layoutApp)
14 |
15 | Vue.component('content-placeholder', { functional: true, render(h){ return null }})
16 | Vue.component('frame-nav', frameNav)
17 | Vue.component('slide-up-down', slideUpDown)
18 | Vue.component('code-block', codeBlock)
19 | }
20 |
21 | export const plugin = {
22 |
23 | installed: false,
24 |
25 | install
26 | }
27 |
--------------------------------------------------------------------------------
/resources/lang/en/auth.php:
--------------------------------------------------------------------------------
1 | [
6 | 'email' => 'E-Mail',
7 | 'password' => 'Password',
8 | 'password_confirmation' => 'Confirm Password'
9 | ],
10 |
11 | 'login' => [
12 | 'remember' => 'Remember me',
13 | 'forgot_link' => 'Forgot password?',
14 | 'send_text' => 'Sign in'
15 | ],
16 | 'register' => [
17 | 'name' => 'Full name',
18 | 'company' => 'Company name (Optional)',
19 | 'send_text' => 'Register'
20 | ],
21 | 'passwords' => [
22 | 'email' => [
23 | 'send_text' => 'Reset Password'
24 | ],
25 | 'reset' => [
26 | 'send_text' => 'Change Password'
27 | ]
28 | ]
29 | ];
30 |
--------------------------------------------------------------------------------
/resources/lang/en/common.php:
--------------------------------------------------------------------------------
1 | 'More',
5 | 'loading' => 'Loading...',
6 | 'no-internet' => 'Oops! Something went wrong.',
7 | 'wrong-config' => 'Some required parameters have been omitted. See the documentation.',
8 | 'no-data' => 'There is not enough data'
9 |
10 | ];
11 |
--------------------------------------------------------------------------------
/resources/lang/en/components.php:
--------------------------------------------------------------------------------
1 | [
5 | 'default' => [
6 | 'sort-by' => 'Sort by',
7 | 'filter' => 'Filter'
8 | ]
9 | ]
10 | ];
11 |
--------------------------------------------------------------------------------
/resources/lang/en/js.php:
--------------------------------------------------------------------------------
1 | 'Send',
5 | 'FORMS_CANCEL' => 'Cancel',
6 | 'FORMS_CONFIRM' => 'Are you sure? All not submitted data will be erased...',
7 | 'FORMS_DATEPICKER' => [
8 | 'days' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
9 | 'daysFull' => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thirsday', 'Friday', 'Saturday'],
10 | 'months' => [
11 | 'January',
12 | 'February',
13 | 'March',
14 | 'April',
15 | 'May',
16 | 'June',
17 | 'July',
18 | 'August',
19 | 'September',
20 | 'October',
21 | 'November',
22 | 'December',
23 | ],
24 | 'today' => 'Today',
25 | 'clear' => 'Clear',
26 | 'close' => 'Close',
27 | 'prevMonth' => 'Previous month',
28 | 'nextMonth' => 'Next month'
29 | ]
30 | ];
31 |
--------------------------------------------------------------------------------
/resources/lang/en/layout.php:
--------------------------------------------------------------------------------
1 | [
6 | 'email' => 'E-Mail',
7 | 'password' => 'Пароль',
8 | 'password_confirmation' => 'Подтверждение пароля'
9 | ],
10 |
11 | 'login' => [
12 | 'remember' => 'Запомнить',
13 | 'forgot_link' => 'Забыли пароль?',
14 | 'send_text' => 'Войти'
15 | ],
16 | 'register' => [
17 | 'name' => 'ФИО',
18 | 'company' => 'Компания (Необязательно)',
19 | 'send_text' => 'Зарегистрироваться'
20 | ],
21 | 'passwords' => [
22 | 'email' => [
23 | 'send_text' => 'Сбросить пароль'
24 | ],
25 | 'reset' => [
26 | 'send_text' => 'Изменить пароль'
27 | ]
28 | ]
29 | ];
30 |
--------------------------------------------------------------------------------
/resources/lang/ru/common.php:
--------------------------------------------------------------------------------
1 | 'Подробнее',
5 | 'loading' => 'Загрузка...',
6 | 'no-internet' => 'К сожалению, что-то пошло не так.',
7 | 'wrong-config' => 'Некоторые обязательные параметры были пропущены. Подробности в документации.',
8 | 'no-data' => 'Недостаточно данных'
9 |
10 | ];
11 |
--------------------------------------------------------------------------------
/resources/lang/ru/components.php:
--------------------------------------------------------------------------------
1 | [
5 | 'default' => [
6 | 'sort-by' => 'Сортировка',
7 | 'filter' => 'Фильтр'
8 | ]
9 | ]
10 | ];
11 |
--------------------------------------------------------------------------------
/resources/lang/ru/js.php:
--------------------------------------------------------------------------------
1 | 'Отправить',
5 | 'FORMS_CANCEL' => 'Отменить',
6 | 'FORMS_CONFIRM' => 'Вы уверены? Все введенные данные будут удалены...',
7 | 'FORMS_DATEPICKER' => [
8 | 'days' => ['Вск', 'Пнд', 'Втр', 'Срд', 'Чтв', 'Птн', 'Сбт'],
9 | 'daysFull' => ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
10 | 'daysFull' => ['Вск', 'Пнд', 'Втр', 'Срд', 'Чтв', 'Птн', 'Сбт'],
11 | 'months' => [
12 | 'Январь',
13 | 'Февраль',
14 | 'Март',
15 | 'Апрель',
16 | 'Май',
17 | 'Июнь',
18 | 'Июль',
19 | 'Август',
20 | 'Сентябрь',
21 | 'Октябрь',
22 | 'Ноябрь',
23 | 'Декабрь',
24 | ],
25 | 'today' => 'Сегодня',
26 | 'clear' => 'Сбросить',
27 | 'close' => 'Зыкрыть',
28 | 'prevMonth' => 'Предыдущий месяц',
29 | 'nextMonth' => 'Следующий месяц'
30 | ]
31 | ];
32 |
--------------------------------------------------------------------------------
/resources/lang/ru/layout.php:
--------------------------------------------------------------------------------
1 | {{ $get(props, 'email') }}, what parsing from data
16 | p Lorem ipsum dolor sit amet consectetur adipisicing elit. Porro obcaecati expedita molestias non quos ut eos reprehenderit, eligendi voluptate quam eaque, illum neque cum quasi dolorum! Dolore officiis molestias ad.
17 | h2 With styles all okay
--------------------------------------------------------------------------------
/resources/pug/dashboard.pug:
--------------------------------------------------------------------------------
1 | extends includes/layout.pug
2 |
3 | block pageVariables
4 | - var pageTitle = "Slide Up Down"
5 |
6 | block pageHead
7 | // there is can be head meta or sctipts
8 |
9 |
10 | block pageContent
--------------------------------------------------------------------------------
/resources/pug/empty.pug:
--------------------------------------------------------------------------------
1 | extends includes/layout_empty.pug
2 |
3 | block pageVariables
4 | - var pageTitle = "Empty Test"
5 |
6 | block pageHead
7 |
8 |
9 | block pageContent
10 |
--------------------------------------------------------------------------------
/resources/pug/filter.pug:
--------------------------------------------------------------------------------
1 |
2 |
3 | extends includes/layout
4 |
5 | block pageVariables
6 | - var pageTitle = "Показ фильтров"
7 |
8 | block pageHead
9 | // there is can be head meta or sctipts
10 |
11 |
12 |
13 | block pageContent
14 |
15 | .filter
16 | .filter__wrap
17 | // left
18 | .filter__left
19 | .filter__checkbox
20 | filter-builder(:param="{is_public: ''}", label='All')
21 | filter-builder(:param="{is_public: '1'}", label='Public')
22 | filter-builder(:param="{is_public: '0'}", label='Enterprise')
23 | // right
24 | .filter__right
25 | .filter__rlink
26 | context-menu(button-class='filter__slink', right='')
27 | template(slot='toggler')
28 | span Sort by
29 | cm-query(:param="{orderBy: ''}") ID ↑
30 | cm-query(:param="{orderBy: 'id'}") ID ↓
31 | cm-query(:param="{orderBy: 'name'}") Package name
32 | .filter__rlink
33 | button.filter__slink(@click='$refs.filter.toggle()')
34 | // also can be toggled with `$root.$emit('filters:toggle', 'managers')`
35 | i.icon.icon-filter(v-if="")
36 | // prop `name` of filter
37 | span.icn-dot
38 | | Filter
39 | slide-up-down(ref='filter')
40 | filter-wrapper(name='packages')
41 | fb-input(name='name', label='Package name')
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/resources/pug/includes/external.pug:
--------------------------------------------------------------------------------
1 | block pageVariables
2 | doctype html
3 | html(lang="en")
4 | head
5 | title= pageTitle
6 | include frames/metahead
7 | block pageHead
8 | body
9 | content-wrapper(class="mainwrapper")
10 |
11 | .static-page
12 | .static-page__head
13 | nav.static-page__wrap
14 | .static-page__wrap-left
15 | h2.static-page__title= pageTitle
16 | a.static-page__search-link(href='')
17 | i.icon.icon-search
18 | .static-page__wrap-right
19 | block rightHead
20 | .static-page__wrap
21 | .static-page__content
22 | .static-page__cell(class=pageContentClass)
23 | block pageContent
24 | p Content Block
25 | footer.static-page__footer
26 | .static-page__footer-logo
27 | i.icon.icon-logo
28 | span
29 | | Powered by
30 | a(href='') AwesCRM
31 |
--------------------------------------------------------------------------------
/resources/pug/includes/frames/aside.pug:
--------------------------------------------------------------------------------
1 | .frame__aside#aside
2 | .frame__aside-wrap
3 | .frame__aside-line
4 | span.frame__aside-open.g-res--tablet-lg( :class="{ active: $awesLayoutCrm.togglenav }" @click="$awesLayoutCrm.openNav")
5 | span
6 | h2.frame__aside-title
7 | a(href="") Your Logo
8 | if(headLinks)
9 | a.btn.frame__aside-callbtn(href="") Sign In
10 | nav.frame__aside-nav(v-bind:class="{ active: $awesLayoutCrm.togglenav }")
11 | .frame__aside-mhead.g-res--tablet-lg
12 | a.frame__aside-close(href="" @click.prevent="$awesLayoutCrm.openNav()")
13 | i.icon.icon-cross
14 | h4.frame__aside-mtitle
15 | a(href="") AwesCRM
16 | frame-nav(:links="[{name:'Dashboard', icon:'speed', link: '/'}, {name:'Phones', icon:'call', link: '/', children: [{name: 'Managers', link: '/'}, {name: 'Suppliers', link: '/'}, {name: 'Clients', link: '/'}]},{name:'Update', icon:'loading', link: '/'}, {name:'Admin', icon:'report', children: [{name:'Options', link: '/'}, {name:'Permissions', link: '/'}]}]")
17 | div.ph
18 | div.ph__mnav
19 | span.ph__mnav-link
20 | span.ph__mnav-title
21 | ul.ph__nav
22 | - for (var x = 0; x < 5; x++)
23 | li
24 | span.ph__nav-icon
25 | span.ph__nav-text
26 | if(headLinks)
27 | template(slot="difnav")
28 | ul.frame__aside-mnav
29 | li
30 | a.frame__aside-link(href="") Link 1
31 | li
32 | a.frame__aside-link(href="") Link 1
33 | li.frame__aside-link
34 | theme-switcher
35 |
--------------------------------------------------------------------------------
/resources/pug/includes/frames/external-links.pug:
--------------------------------------------------------------------------------
1 | - var ignoreDomains = ['github.com', 'awes.io', 'localhost']
2 | - var notDomainRule = ":not([href*='" + ignoreDomains.join("']):not([href*='") + "'])"
3 |
4 | style.
5 | .frame__content a[href^="http"]#{notDomainRule}:after,
6 | .tf-content a[href^="http"]#{notDomainRule}:after,
7 | .frame__content a[href^="//"]#{notDomainRule}:after,
8 | .tf-content a[href^="//"]#{notDomainRule}:after {
9 | content: " \ea34";
10 | font-family: 'icons';
11 | }
12 |
--------------------------------------------------------------------------------
/resources/pug/includes/frames/filter.pug:
--------------------------------------------------------------------------------
1 | .filter
2 | // left
3 | .filter__left
4 | .filter__checkbox
5 | label.filter__checkbox-cell
6 | input.filter__checkbox-hInput(type="radio" name="demo-name")
7 | div.filter__checkbox-label Today
8 | label.filter__checkbox-cell
9 | input.filter__checkbox-hInput(type="radio" checked name="demo-name")
10 | div.filter__checkbox-label Yesterday
11 | label.filter__checkbox-cell
12 | input.filter__checkbox-hInput(type="radio" name="demo-name")
13 | div.filter__checkbox-label.filter__checkbox-label_np
14 | input.filter__checkbox-datapicker(type="text" placeholder="19.02-24.11")
15 | //right
16 | .filter__right
17 | span.filter__slink
18 | span Sort by
19 | span.filter__slink
20 | .icon
21 | .icn-dot
22 | span Filtrs
--------------------------------------------------------------------------------
/resources/pug/includes/frames/footer.pug:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | script(src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js")
6 |