@inriver/inri 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/.eslintrc.js +5 -0
  2. package/componentProperties.d.ts +8 -0
  3. package/configs/base-eslint-config.js +36 -0
  4. package/configs/base-tailwind-config.js +149 -0
  5. package/i18n.ts +11 -0
  6. package/index.ts +25 -0
  7. package/package.json +36 -0
  8. package/src/components/CAutoBreadcrumbs.vue +72 -0
  9. package/src/components/CBtn.vue +98 -0
  10. package/src/components/CColorPicker.vue +55 -0
  11. package/src/components/CContextMenu.vue +29 -0
  12. package/src/components/CDatePicker.vue +51 -0
  13. package/src/components/CDeleteTileBtn.vue +52 -0
  14. package/src/components/CDialog.vue +253 -0
  15. package/src/components/CDialogCloseBtn.vue +9 -0
  16. package/src/components/CDirtyCheck.vue +68 -0
  17. package/src/components/CDrawer.vue +44 -0
  18. package/src/components/CDrawerButton.vue +91 -0
  19. package/src/components/CExpansionItem.vue +57 -0
  20. package/src/components/CExpansionItemWithCheckbox.vue +41 -0
  21. package/src/components/CFileDropzone.vue +114 -0
  22. package/src/components/CGrid.vue +101 -0
  23. package/src/components/CHeader.vue +10 -0
  24. package/src/components/CHeaderLinks.vue +61 -0
  25. package/src/components/CHeaderMenuLink.vue +51 -0
  26. package/src/components/CHeaderSearch.vue +142 -0
  27. package/src/components/CIconBtn.vue +70 -0
  28. package/src/components/CMenuItem.vue +66 -0
  29. package/src/components/CPageContainer.vue +11 -0
  30. package/src/components/CPageError.vue +24 -0
  31. package/src/components/CPageSpinner.vue +18 -0
  32. package/src/components/CSearch.vue +45 -0
  33. package/src/components/CSection.vue +29 -0
  34. package/src/components/CSectionTitle.vue +8 -0
  35. package/src/components/CSelect.vue +208 -0
  36. package/src/components/CSlideEffect.vue +62 -0
  37. package/src/components/CSpinner.vue +107 -0
  38. package/src/components/CTableActions.vue +16 -0
  39. package/src/components/CTileBtn.vue +178 -0
  40. package/src/components/CTimePicker.vue +42 -0
  41. package/src/components/CToggleGridView.vue +26 -0
  42. package/src/components/CToggleSidebarBtn.vue +19 -0
  43. package/src/components/CTooltip.vue +44 -0
  44. package/src/components/CTreeNode.vue +39 -0
  45. package/src/components/cards/CBannerCard.vue +103 -0
  46. package/src/components/cards/CSmallCard.vue +149 -0
  47. package/src/components/internal-components/ConfirmDialog.vue +78 -0
  48. package/src/composables/useDialog.ts +47 -0
  49. package/src/composables/useDirtyCheck.ts +25 -0
  50. package/src/composables/useDoubleClickListener.ts +28 -0
  51. package/src/composables/useSelectable.ts +62 -0
  52. package/src/composables/useTruncateChips.ts +46 -0
  53. package/src/i18n/de/index.ts +17 -0
  54. package/src/i18n/en/index.ts +84 -0
  55. package/src/i18n/es/index.ts +7 -0
  56. package/src/i18n/fr/index.ts +7 -0
  57. package/src/init/initInriFramework.ts +25 -0
  58. package/src/init/useInriApp.ts +55 -0
  59. package/src/layouts/CLayoutBlank.vue +7 -0
  60. package/src/layouts/CLayoutWithBackButton.vue +50 -0
  61. package/src/layouts/CLayoutWithSidebars.vue +46 -0
  62. package/src/layouts/layout-fragments/CPageAutoBreadcrumbs.vue +6 -0
  63. package/src/layouts/layout-fragments/CPageBackButton.vue +18 -0
  64. package/src/layouts/layout-fragments/CPageBlank.vue +20 -0
  65. package/src/layouts/layout-fragments/CPageFlexCol.vue +5 -0
  66. package/src/layouts/layout-fragments/CPageLeftSidebar.vue +5 -0
  67. package/src/layouts/layout-fragments/CPageMainContent.vue +5 -0
  68. package/src/layouts/layout-fragments/CPageOuterWrapper.vue +5 -0
  69. package/src/layouts/layout-fragments/CPageRightSidebar.vue +5 -0
  70. package/src/layouts/layout-fragments/CPageTitle.vue +34 -0
  71. package/src/plugins/dialog.ts +45 -0
  72. package/src/plugins/errors/ErrorFactories.ts +59 -0
  73. package/src/plugins/errors/Errors.ts +156 -0
  74. package/src/plugins/errors/Exception.ts +6 -0
  75. package/src/plugins/errors/globalErrorHandler.ts +21 -0
  76. package/src/plugins/errors/handleError.ts +34 -0
  77. package/src/plugins/errors/logger.ts +16 -0
  78. package/src/plugins/errors/vueErrorHandler.ts +26 -0
  79. package/src/plugins/globalAppConfig.ts +25 -0
  80. package/src/plugins/i18n.ts +46 -0
  81. package/src/plugins/inriIcons.ts +58 -0
  82. package/src/plugins/inriverQuasarComponentConfigurations.ts +67 -0
  83. package/src/plugins/library.ts +119 -0
  84. package/src/plugins/notify.ts +153 -0
  85. package/src/plugins/quasar-user-options.ts +19 -0
  86. package/src/plugins/validationRules.ts +292 -0
  87. package/src/shims-vue.d.ts +6 -0
  88. package/src/stores/inriStore.ts +54 -0
  89. package/src/stores/interfaceLanguageStore.ts +27 -0
  90. package/src/styles/_css-variables.scss +101 -0
  91. package/src/styles/_reset.scss +67 -0
  92. package/src/styles/_transitions.scss +9 -0
  93. package/src/styles/_utils.scss +15 -0
  94. package/src/styles/components/_breadcrumbs.scss +3 -0
  95. package/src/styles/components/_checkboxes.scss +17 -0
  96. package/src/styles/components/_chips.scss +17 -0
  97. package/src/styles/components/_forms.scss +203 -0
  98. package/src/styles/components/_menu.scss +12 -0
  99. package/src/styles/components/_notifications.scss +24 -0
  100. package/src/styles/components/_q-editor.scss +14 -0
  101. package/src/styles/components/_radio-buttons.scss +17 -0
  102. package/src/styles/components/_tables.scss +92 -0
  103. package/src/styles/components/_tooltips.scss +5 -0
  104. package/src/styles/components/_tree.scss +86 -0
  105. package/src/styles/components/_truncated-chips.scss +39 -0
  106. package/src/styles/main.scss +45 -0
  107. package/src/styles/quasar.variables.scss +50 -0
  108. package/src/typings.d.ts +70 -0
  109. package/src/utils/colorUtils.ts +73 -0
  110. package/src/utils/errorUtils.ts +37 -0
  111. package/src/utils/fileUtils.ts +57 -0
  112. package/src/utils/helpers.ts +6 -0
  113. package/src/utils/routeUtils.ts +23 -0
  114. package/tsconfig.json +37 -0
@@ -0,0 +1,203 @@
1
+ .c-input {
2
+ // Input, select etc overrides
3
+ &.q-field--outlined .q-field__control {
4
+ padding: 0 16px 0 12px;
5
+ border-radius: 5px;
6
+ background: var(--input-bg-color);
7
+
8
+ &::after {
9
+ border-width: 1px;
10
+ }
11
+ }
12
+
13
+ // Outline color
14
+ &.q-field--outlined .q-field__control::before {
15
+ border-color: var(--color-grey);
16
+ }
17
+
18
+ // Focus
19
+ &.q-field--highlighted:not(.q-field--error) {
20
+ &.q-field--outlined .q-field__control::after {
21
+ border-color: var(--q-accent);
22
+ }
23
+ }
24
+
25
+ // Padding below the input
26
+ &.q-field--with-bottom {
27
+ padding-bottom: 36px;
28
+ }
29
+
30
+ // Label
31
+ .q-field__label {
32
+ transition: all 0.3s !important;
33
+ font-size: 14px;
34
+ color: var(--color-grey-dark);
35
+ }
36
+
37
+ // Move the floated label
38
+ &.q-field--float .q-field__label {
39
+ top: 0 !important;
40
+ background: var(--input-bg-color);
41
+ padding: 0 4px;
42
+ left: -4px;
43
+ z-index: 1;
44
+ }
45
+
46
+ // Set label color
47
+ &.q-field--float:not(.q-field--focused):not(.q-field--error) {
48
+ .q-field__label {
49
+ color: var(--color-grey-darker);
50
+ }
51
+ }
52
+
53
+ // If you have a prepended icon then offset the label to the left on focus
54
+ &.q-field--float {
55
+ .q-field__prepend + .q-field__control-container {
56
+ .q-field__label {
57
+ left: -34px;
58
+ }
59
+ }
60
+ }
61
+
62
+ // Reset top padding on inputs to compensate for offset label
63
+ .q-field__native {
64
+ padding: 8px 0 !important;
65
+
66
+ // Smaller min-height than default
67
+ min-height: 40px !important;
68
+ }
69
+
70
+ // Reset top padding on select boxes to compensate for offset label
71
+ &.q-field--auto-height.q-field--labeled .q-field__control-container {
72
+ padding-top: 0;
73
+ }
74
+
75
+ .q-field--auto-height {
76
+ min-height: 50px !important;
77
+ }
78
+
79
+ // Field with errors and hints
80
+ .q-field__bottom {
81
+ padding-top: 4px;
82
+ }
83
+
84
+ // Textarea overrides
85
+ &.q-textarea {
86
+ .q-field__control-container {
87
+ padding-top: 8px !important;
88
+ }
89
+
90
+ .q-field__control {
91
+ padding: 0;
92
+ }
93
+
94
+ textarea {
95
+ resize: none !important;
96
+ padding: 8px 16px 8px 12px !important;
97
+ height: 138px;
98
+ }
99
+
100
+ .q-field__label {
101
+ left: 10px;
102
+ }
103
+
104
+ .q-field__append {
105
+ position: absolute;
106
+ right: 16px;
107
+ }
108
+ }
109
+
110
+ // Disabled input
111
+ &.q-field--disabled {
112
+ .q-field__control::before {
113
+ border-color: var(--color-grey-lighter) !important;
114
+ }
115
+
116
+ .q-field__native {
117
+ color: var(--color-grey-dark);
118
+ }
119
+ }
120
+
121
+ // Select overrides
122
+ .q-select__dropdown-icon {
123
+ color: var(--color-grey-dark);
124
+ }
125
+
126
+ &.q-select--with-input .q-field__control {
127
+ cursor: pointer;
128
+
129
+ input {
130
+ cursor: pointer;
131
+ }
132
+ }
133
+
134
+ // Error icon
135
+ .mdi-alert-circle-outline {
136
+ font-size: 18px;
137
+ }
138
+ }
139
+
140
+ // Default modifier
141
+ .c-input.c-input--default:not(.q-textarea) {
142
+ .q-field__control {
143
+ height: auto;
144
+ min-height: 50px;
145
+ }
146
+
147
+ .q-field__label {
148
+ top: 15px;
149
+ }
150
+
151
+ .q-field__marginal {
152
+ height: 50px;
153
+ }
154
+ }
155
+
156
+ // Rounded
157
+ .c-input.q-field--rounded .q-field__control {
158
+ border-radius: 25px;
159
+ }
160
+
161
+ // Dense modifier
162
+ .c-input--dense {
163
+ // Outline color
164
+ &.q-field--outlined .q-field__control::before {
165
+ border-color: var(--color-grey);
166
+ }
167
+
168
+ .q-field__label {
169
+ color: var(--color-grey-darkest);
170
+ }
171
+
172
+ ::placeholder {
173
+ color: var(--color-text);
174
+ }
175
+
176
+ &.q-textarea {
177
+ .q-field__control {
178
+ padding: 0;
179
+ }
180
+
181
+ textarea {
182
+ padding: 8px 20px 8px 16px !important;
183
+ height: 80px;
184
+ }
185
+
186
+ .q-field__label {
187
+ left: 16px;
188
+ }
189
+
190
+ .q-field__append {
191
+ right: 20px;
192
+ }
193
+ }
194
+
195
+ &.q-field--float .q-field__label {
196
+ top: -2px !important;
197
+ }
198
+
199
+ // Dense rounded
200
+ &.q-field--rounded .q-field__control {
201
+ padding: 0 16px;
202
+ }
203
+ }
@@ -0,0 +1,12 @@
1
+ .q-menu {
2
+ border: 1px solid var(--color-border-dark);
3
+
4
+ .q-item {
5
+ min-height: 40px;
6
+ padding: 4px 16px;
7
+ }
8
+
9
+ .q-item:not(:last-child) {
10
+ border-bottom: 1px solid var(--color-border-dark);
11
+ }
12
+ }
@@ -0,0 +1,24 @@
1
+ .c-notify {
2
+ .c-spinner {
3
+ width: 18px !important;
4
+ height: 18px !important;
5
+ color: #fff !important;
6
+ margin-right: 20px !important;
7
+ }
8
+
9
+ .q-notification__icon--additional {
10
+ margin-right: 20px;
11
+ }
12
+
13
+ &.q-notification--standard {
14
+ .q-notification__actions {
15
+ padding: 0;
16
+ margin-right: 0;
17
+ }
18
+ }
19
+ }
20
+
21
+ .c-notify__btn {
22
+ padding: 8px;
23
+ margin-left: 12px;
24
+ }
@@ -0,0 +1,14 @@
1
+ .q-editor__toolbar-group + .q-editor__toolbar-group::before {
2
+ top: 0;
3
+ bottom: 0;
4
+ }
5
+
6
+ .q-editor .q-btn {
7
+ color: var(--color-grey-dark);
8
+ margin: 6px 0;
9
+ padding: 6px;
10
+ }
11
+
12
+ .q-editor__toolbar-group:first-child {
13
+ margin-left: 12px;
14
+ }
@@ -0,0 +1,17 @@
1
+ .c-radio {
2
+ &.q-radio[aria-label] {
3
+ max-width: max-content;
4
+ }
5
+
6
+ &.q-radio.disabled {
7
+ opacity: 0.4 !important;
8
+ }
9
+
10
+ .q-radio__inner--falsy .q-radio__icon {
11
+ color: var(--radio-border-color);
12
+ }
13
+
14
+ .q-radio__label {
15
+ padding: 4px 10px;
16
+ }
17
+ }
@@ -0,0 +1,92 @@
1
+ .c-table {
2
+ th {
3
+ padding: 7px 12px;
4
+ font-size: 14px;
5
+ font-weight: 500;
6
+ white-space: nowrap;
7
+ }
8
+
9
+ td {
10
+ padding: 7px 12px;
11
+ border-bottom: none !important;
12
+ border-top: 1px solid var(--color-border);
13
+ }
14
+
15
+ thead tr th {
16
+ position: sticky;
17
+ z-index: 1;
18
+ }
19
+
20
+ thead tr:first-child th {
21
+ top: 0;
22
+ background: var(--table-header-bg-color);
23
+ }
24
+
25
+ tbody tr:first-child td {
26
+ border-color: transparent;
27
+ }
28
+
29
+ tbody tr.selected {
30
+ background-color: var(--item-selected-bg-color);
31
+
32
+ td {
33
+ border-color: transparent;
34
+ }
35
+
36
+ td::after {
37
+ background: transparent;
38
+ }
39
+
40
+ // Also hide the border from the next sibling
41
+ & + tr {
42
+ td {
43
+ border-color: transparent;
44
+ }
45
+ }
46
+ }
47
+
48
+ // Hide the border on hovered items
49
+ tbody tr:hover {
50
+ td {
51
+ border-color: transparent;
52
+ }
53
+
54
+ // Also hide the border from the next sibling
55
+ & + tr {
56
+ td {
57
+ border-color: transparent;
58
+ }
59
+ }
60
+ }
61
+ }
62
+
63
+ // This will align the content to the top instead of being centered
64
+ .c-table.align-top {
65
+ td {
66
+ padding: 14px 12px 13px;
67
+ }
68
+
69
+ td {
70
+ vertical-align: top;
71
+ }
72
+ }
73
+
74
+ // If the items are selectable then we want to hide the default checkboxes
75
+ .c-table.hide-checkboxes {
76
+ th:first-child,
77
+ td:first-child {
78
+ display: none;
79
+ }
80
+
81
+ th:first-child + th,
82
+ td:first-child + td {
83
+ border-left: 0;
84
+ }
85
+ }
86
+
87
+ .c-table.with-action-buttons {
88
+ th:last-child,
89
+ td:last-child {
90
+ border-left: 0;
91
+ }
92
+ }
@@ -0,0 +1,5 @@
1
+ // More is defined in quasar.variables.scss
2
+
3
+ .q-tooltip {
4
+ border: 1px solid var(--tooltip-border-color);
5
+ }
@@ -0,0 +1,86 @@
1
+ .c-tree.q-tree {
2
+ .q-icon {
3
+ font-size: 20px;
4
+ width: 12px;
5
+ margin-right: 8px;
6
+ color: var(--tree-icon-color);
7
+
8
+ &:hover {
9
+ color: var(--tree-text-color);
10
+ }
11
+ }
12
+
13
+ & > .q-tree__node--child > .q-tree__node-header {
14
+ padding-left: 36px !important;
15
+ }
16
+
17
+ // Remove the top margin on the first item in the list
18
+ & > .q-tree__node:first-child > .q-tree__node-header {
19
+ margin-top: 0;
20
+ }
21
+
22
+ // Make item content be on top of the q-focus-helper instead of below
23
+ .q-tree__node-header > * {
24
+ z-index: 1;
25
+ }
26
+
27
+ .q-tree__node {
28
+ padding-bottom: 0;
29
+ }
30
+
31
+ // Override relative to that we can extend the focus background to go from edge to edge
32
+ .q-tree__node.relative-position,
33
+ .q-tree__node-header.relative-position {
34
+ position: static;
35
+ }
36
+
37
+ .q-tree__node-header {
38
+ border-radius: 0;
39
+ margin-top: 8px;
40
+ padding: 2px 16px;
41
+ min-height: 32px;
42
+
43
+ &:hover .q-focus-helper,
44
+ &:focus .q-focus-helper {
45
+ opacity: 1 !important;
46
+ }
47
+ }
48
+
49
+ .q-tree__node-header-content {
50
+ color: var(--tree-text-color);
51
+ padding-left: 4px;
52
+ }
53
+
54
+ .q-tree__node-header-content div:first-child {
55
+ overflow: hidden;
56
+ text-overflow: ellipsis;
57
+ white-space: nowrap;
58
+ }
59
+
60
+ // Do some overrides on the focus effect
61
+ .q-focus-helper {
62
+ background: var(--item-hover-bg-color) !important;
63
+ height: 32px !important;
64
+ top: auto !important;
65
+
66
+ &::before,
67
+ &::after {
68
+ opacity: 0 !important;
69
+ }
70
+ }
71
+
72
+ // Selected item
73
+ .q-tree__node--selected {
74
+ font-weight: 600;
75
+
76
+ .q-focus-helper {
77
+ background: var(--item-selected-bg-color) !important;
78
+ opacity: 1;
79
+ }
80
+
81
+ .q-icon {
82
+ pointer-events: all;
83
+ color: var(--tree-text-color);
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,39 @@
1
+ // This is used when having chips/tags in tables. If there are more chips than fits the cell then hide chips and show some icons.
2
+ // It is used together with the useTruncateChips composable function.
3
+
4
+ // Only shown when more chips than fits in the cell
5
+ .truncated-chips__ellipsis,
6
+ .truncated-chips__show-more-btn {
7
+ display: none;
8
+ }
9
+
10
+ // This is the wrapper for all the chips
11
+ .truncated-chips {
12
+ overflow: hidden;
13
+ max-width: 1px;
14
+ padding-left: 6px !important;
15
+ }
16
+
17
+ // When a chip is overflown truncate it and all the sibling chips. Toggle the status of some buttons/icons.
18
+ .truncated-chip {
19
+ display: none !important;
20
+
21
+ & ~ .q-chip {
22
+ display: none;
23
+ }
24
+
25
+ & ~ .truncated-chips__show-more-btn {
26
+ display: inline-flex;
27
+ }
28
+
29
+ & ~ .truncated-chips__edit-btn {
30
+ display: none;
31
+ }
32
+
33
+ & ~ .truncated-chips__ellipsis {
34
+ display: inline-flex;
35
+ color: var(--color-grey);
36
+ position: relative;
37
+ top: 8px;
38
+ }
39
+ }
@@ -0,0 +1,45 @@
1
+ @import 'css-variables';
2
+ @import './quasar.variables.scss';
3
+ @import 'quasar/dist/quasar.sass';
4
+ @import 'transitions';
5
+ @import 'reset';
6
+ @import 'components/forms';
7
+ @import 'components/chips';
8
+ @import 'components/checkboxes';
9
+ @import 'components/radio-buttons';
10
+ @import 'components/tables';
11
+ @import 'components/q-editor';
12
+ @import 'components/tree';
13
+ @import 'components/tooltips';
14
+ @import 'components/notifications';
15
+ @import 'components/breadcrumbs';
16
+ @import 'components/menu';
17
+ @import 'components/truncated-chips';
18
+ @import 'utils';
19
+
20
+ @font-face {
21
+ font-family: 'Wallop';
22
+ src: url('/fonts/Wallop-Regular.woff2') format("woff2");
23
+ font-display: swap;
24
+ }
25
+
26
+ @font-face {
27
+ font-family: 'Wallop';
28
+ src: url('/fonts/Wallop-Medium.woff2') format("woff2");
29
+ font-weight: 500;
30
+ font-display: swap;
31
+ }
32
+
33
+ @font-face {
34
+ font-family: 'Wallop';
35
+ src: url('/fonts/Wallop-SemiBold.woff2') format("woff2");
36
+ font-weight: 600;
37
+ font-display: swap;
38
+ }
39
+
40
+ @font-face {
41
+ font-family: 'Wallop';
42
+ src: url('/fonts/Wallop-Bold.woff2') format("woff2");
43
+ font-weight: 700;
44
+ font-display: swap;
45
+ }
@@ -0,0 +1,50 @@
1
+ $primary : #000;
2
+ $secondary : var(--color-grey-lighter);
3
+ $accent : var(--color-green);
4
+
5
+ $dark : #1d1d1d;
6
+
7
+ $positive : var(--color-green);
8
+ $negative : var(--color-red);
9
+ $info : var(--color-blue);
10
+ $warning : var(--color-yellow);
11
+
12
+ $typography-font-family: var(--font-family);
13
+
14
+ $h1: (size: 24px, line-height: 1.45, letter-spacing: normal, weight: 600) !default;
15
+ $h2: (size: 22px, line-height: 1.45, letter-spacing: normal, weight: 600) !default;
16
+ $h3: (size: 18px, line-height: 1.45, letter-spacing: normal, weight: 600) !default;
17
+ $h4: (size: 16px, line-height: 1.45, letter-spacing: normal, weight: 600) !default;
18
+
19
+ // These should not be used but are always bundled by Quasar. Let's give them fallback sizes just in case (h4 clones)
20
+ $h5: (size: 16px, line-height: 1.45, letter-spacing: normal, weight: 600) !default;
21
+ $h6: (size: 16px, line-height: 1.45, letter-spacing: normal, weight: 600) !default;
22
+
23
+ $body1: (size: 14px, line-height: 1, letter-spacing: normal, weight: 400) !default;
24
+ $body2: (size: 12px, line-height: 1, letter-spacing: normal, weight: 400) !default;
25
+
26
+ $separator-color: var(--color-border);
27
+
28
+ $input-text-color: var(--color-grey-darker);
29
+
30
+ $editor-border-color: var(--color-grey);
31
+
32
+ $generic-border-radius: 0;
33
+
34
+ $menu-box-shadow: 0;
35
+
36
+ // Tooltips
37
+ $tooltip-color: var(--tooltip-text-color);
38
+ $tooltip-background: var(--tooltip-bg-color);
39
+ $tooltip-fontsize: 14px;
40
+ $tooltip-border-radius: 5px;
41
+ $tooltip-padding: 4px 10px;
42
+
43
+ // Override Quasar color palette
44
+ $grey: var(--color-grey);
45
+ $blue: var(--color-blue);
46
+ $purple: var(--color-purple);
47
+ $red: var(--color-red);
48
+ $orange: var(--color-orange);
49
+ $yellow: var(--color-yellow);
50
+ $green: var(--color-green);
@@ -0,0 +1,70 @@
1
+ interface Components {
2
+ CBannerCard: typeof import('./components/cards/CBannerCard.vue')['default'],
3
+ CSmallCard: typeof import('./components/cards/CSmallCard.vue')['default'],
4
+ ConfirmDialog: typeof import('./components/internal-components/ConfirmDialog.vue')['default'],
5
+ CAutoBreadcrumbs: typeof import('./components/CAutoBreadcrumbs.vue')['default'],
6
+ CBtn: typeof import('./components/CBtn.vue')['default'],
7
+ CColorPicker: typeof import('./components/CColorPicker.vue')['default'],
8
+ CContextMenu: typeof import('./components/CContextMenu.vue')['default'],
9
+ CDatePicker: typeof import('./components/CDatePicker.vue')['default'],
10
+ CDialog: typeof import('./components/CDialog.vue')['default'],
11
+ CDialogCloseBtn: typeof import('./components/CDialogCloseBtn.vue')['default'],
12
+ CDirtyCheck: typeof import('./components/CDirtyCheck.vue')['default'],
13
+ CDrawer: typeof import('./components/CDrawer.vue')['default'],
14
+ CDrawerButton: typeof import('./components/CDrawerButton.vue')['default'],
15
+ CExpansionItem: typeof import('./components/CExpansionItem.vue')['default'],
16
+ CExpansionItemWithCheckbox: typeof import('./components/CExpansionItemWithCheckbox.vue')['default'],
17
+ CGrid: typeof import('./components/CGrid.vue')['default'],
18
+ CHeader: typeof import('./components/CHeader.vue')['default'],
19
+ CHeaderLinks: typeof import('./components/CHeaderLinks.vue')['default'],
20
+ CHeaderMenuLink: typeof import('./components/CHeaderMenuLink.vue')['default'],
21
+ CHeaderSearch: typeof import('./components/CHeaderSearch.vue')['default'],
22
+ CIconBtn: typeof import('./components/CIconBtn.vue')['default'],
23
+ CMenuItem: typeof import('./components/CMenuItem.vue')['default'],
24
+ CPageContainer: typeof import('./components/CPageContainer.vue')['default'],
25
+ CPageError: typeof import('./components/CPageError.vue')['default'],
26
+ CPageSpinner: typeof import('./components/CPageSpinner.vue')['default'],
27
+ CSearch: typeof import('./components/CSearch.vue')['default'],
28
+ CSection: typeof import('./components/CSection.vue')['default'],
29
+ CSectionTitle: typeof import('./components/CSectionTitle.vue')['default'],
30
+ CSelect: typeof import('./components/CSelect.vue')['default'],
31
+ CSlideEffect: typeof import('./components/CSlideEffect.vue')['default'],
32
+ CSpinner: typeof import('./components/CSpinner.vue')['default'],
33
+ CTableActions: typeof import('./components/CTableActions.vue')['default'],
34
+ CTileBtn: typeof import('./components/CTileBtn.vue')['default'],
35
+ CTimePicker: typeof import('./components/CTimePicker.vue')['default'],
36
+ CToggleGridView: typeof import('./components/CToggleGridView.vue')['default'],
37
+ CToggleSidebarBtn: typeof import('./components/CToggleSidebarBtn.vue')['default'],
38
+ CTooltip: typeof import('./components/CTooltip.vue')['default'],
39
+ CTreeNode: typeof import('./components/CTreeNode.vue')['default'],
40
+ CDeleteTileBtn: typeof import('./components/CDeleteTileBtn.vue')['default'],
41
+ CFileDropzone: typeof import('./components/CFileDropzone.vue')['default'],
42
+ }
43
+
44
+ interface Layouts {
45
+ CLayoutBlank: typeof import('./layouts/CLayoutBlank.vue')['default'],
46
+ CLayoutWithBackButton: typeof import('./layouts/CLayoutWithBackButton.vue')['default'],
47
+ CLayoutWithSidebars: typeof import('./layouts/CLayoutWithSidebars.vue')['default'],
48
+ }
49
+
50
+ interface LayoutFragments {
51
+ CPageAutoBreadcrumbs: typeof import('./layouts/layout-fragments/CPageAutoBreadcrumbs.vue')['default'],
52
+ CPageBackButton: typeof import('./layouts/layout-fragments/CPageBackButton.vue')['default'],
53
+ CPageBlank: typeof import('./layouts/layout-fragments/CPageBlank.vue')['default'],
54
+ CPageFlexCol: typeof import('./layouts/layout-fragments/CPageFlexCol.vue')['default'],
55
+ CPageLeftSidebar: typeof import('./layouts/layout-fragments/CPageLeftSidebar.vue')['default'],
56
+ CPageMainContent: typeof import('./layouts/layout-fragments/CPageMainContent.vue')['default'],
57
+ CPageOuterWrapper: typeof import('./layouts/layout-fragments/CPageOuterWrapper.vue')['default'],
58
+ CPageRightSidebar: typeof import('./layouts/layout-fragments/CPageRightSidebar.vue')['default'],
59
+ CPageTitle: typeof import('./layouts/layout-fragments/CPageTitle.vue')['default'],
60
+ }
61
+
62
+ export interface GlobalComponents extends Components, Layouts, LayoutFragments {}
63
+
64
+ export interface ComponentCustomProperties {
65
+ $validate: typeof import('./plugins/validationRules')['rules'],
66
+ $notify: typeof import('./plugins/notify')['default'],
67
+ $dialog: typeof import('./plugins/dialog')['default'],
68
+ $colors: typeof import('./utils/colorUtils')['colors'],
69
+ $inri: typeof import('./plugins/inriverQuasarComponentConfigurations')['quasarComponentConfigurations'],
70
+ }