@inriver/inri 1.13.0 → 1.15.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 (119) hide show
  1. package/.changeset/README.md +8 -0
  2. package/.changeset/config.json +11 -0
  3. package/.eslintrc.js +5 -5
  4. package/azure/pipelines/single-build-release.yml +6 -0
  5. package/azure/pipelines/templates/deployFramework.yml +50 -0
  6. package/componentProperties.d.ts +8 -8
  7. package/configs/base-eslint-config.js +36 -36
  8. package/configs/base-tailwind-config.js +149 -149
  9. package/i18n.ts +11 -11
  10. package/index.ts +29 -29
  11. package/package.json +7 -2
  12. package/src/components/CAutoBreadcrumbs.vue +72 -72
  13. package/src/components/CBtn.vue +98 -98
  14. package/src/components/CColorPicker.vue +55 -55
  15. package/src/components/CContextMenu.vue +29 -29
  16. package/src/components/CDatePicker.vue +51 -51
  17. package/src/components/CDeleteTileBtn.vue +52 -52
  18. package/src/components/CDialog.vue +253 -253
  19. package/src/components/CDialogCloseBtn.vue +9 -9
  20. package/src/components/CDirtyCheck.vue +68 -68
  21. package/src/components/CDrawer.vue +44 -44
  22. package/src/components/CDrawerButton.vue +91 -91
  23. package/src/components/CExpansionItem.vue +57 -57
  24. package/src/components/CExpansionItemWithCheckbox.vue +41 -41
  25. package/src/components/CFileDropzone.vue +114 -114
  26. package/src/components/CGrid.vue +101 -101
  27. package/src/components/CHeader.vue +10 -10
  28. package/src/components/CHeaderLinks.vue +61 -61
  29. package/src/components/CHeaderMenuLink.vue +51 -51
  30. package/src/components/CHeaderSearch.vue +142 -142
  31. package/src/components/CIconBtn.vue +70 -70
  32. package/src/components/CMenuItem.vue +66 -66
  33. package/src/components/CPageContainer.vue +11 -11
  34. package/src/components/CPageError.vue +24 -24
  35. package/src/components/CPageSpinner.vue +18 -18
  36. package/src/components/CSearch.vue +45 -45
  37. package/src/components/CSection.vue +29 -29
  38. package/src/components/CSectionTitle.vue +8 -8
  39. package/src/components/CSelect.vue +208 -208
  40. package/src/components/CSlideEffect.vue +62 -62
  41. package/src/components/CSpinner.vue +107 -107
  42. package/src/components/CTableActions.vue +16 -16
  43. package/src/components/CTileBtn.vue +178 -178
  44. package/src/components/CTimePicker.vue +42 -42
  45. package/src/components/CToggleGridView.vue +26 -26
  46. package/src/components/CToggleSidebarBtn.vue +19 -19
  47. package/src/components/CTooltip.vue +44 -44
  48. package/src/components/CTreeNode.vue +39 -39
  49. package/src/components/cards/CBannerCard.vue +103 -103
  50. package/src/components/cards/CSmallCard.vue +149 -149
  51. package/src/components/internal-components/ConfirmDialog.vue +78 -78
  52. package/src/composables/useDialog.ts +46 -46
  53. package/src/composables/useDirtyCheck.ts +25 -25
  54. package/src/composables/useDoubleClickListener.ts +28 -28
  55. package/src/composables/useSelectable.ts +62 -62
  56. package/src/composables/useTruncateChips.ts +46 -46
  57. package/src/i18n/de/index.ts +17 -17
  58. package/src/i18n/en/index.ts +84 -84
  59. package/src/i18n/es/index.ts +7 -7
  60. package/src/i18n/fr/index.ts +7 -7
  61. package/src/init/initInriFramework.ts +37 -37
  62. package/src/init/useInriApp.ts +55 -55
  63. package/src/layouts/CLayoutBlank.vue +7 -7
  64. package/src/layouts/CLayoutWithBackButton.vue +50 -50
  65. package/src/layouts/CLayoutWithSidebars.vue +46 -46
  66. package/src/layouts/layout-fragments/CPageAutoBreadcrumbs.vue +6 -6
  67. package/src/layouts/layout-fragments/CPageBackButton.vue +18 -18
  68. package/src/layouts/layout-fragments/CPageBlank.vue +20 -20
  69. package/src/layouts/layout-fragments/CPageFlexCol.vue +5 -5
  70. package/src/layouts/layout-fragments/CPageLeftSidebar.vue +5 -5
  71. package/src/layouts/layout-fragments/CPageMainContent.vue +5 -5
  72. package/src/layouts/layout-fragments/CPageOuterWrapper.vue +5 -5
  73. package/src/layouts/layout-fragments/CPageRightSidebar.vue +5 -5
  74. package/src/layouts/layout-fragments/CPageTitle.vue +34 -34
  75. package/src/plugins/dialog.ts +45 -45
  76. package/src/plugins/errors/ErrorFactories.ts +59 -59
  77. package/src/plugins/errors/Errors.ts +156 -156
  78. package/src/plugins/errors/Exception.ts +6 -6
  79. package/src/plugins/errors/globalErrorHandler.ts +21 -21
  80. package/src/plugins/errors/handleError.ts +34 -34
  81. package/src/plugins/errors/logger.ts +16 -16
  82. package/src/plugins/errors/vueErrorHandler.ts +26 -26
  83. package/src/plugins/globalAppConfig.ts +25 -25
  84. package/src/plugins/i18n.ts +46 -46
  85. package/src/plugins/inriIcons.ts +58 -58
  86. package/src/plugins/inriverQuasarComponentConfigurations.ts +67 -67
  87. package/src/plugins/library.ts +119 -119
  88. package/src/plugins/notify.ts +153 -153
  89. package/src/plugins/quasar-user-options.ts +19 -19
  90. package/src/plugins/validationRules.ts +292 -292
  91. package/src/shims-vue.d.ts +6 -6
  92. package/src/stores/inriStore.ts +54 -54
  93. package/src/stores/interfaceLanguageStore.ts +27 -27
  94. package/src/styles/_css-variables.scss +101 -101
  95. package/src/styles/_reset.scss +67 -67
  96. package/src/styles/_transitions.scss +9 -9
  97. package/src/styles/_utils.scss +15 -15
  98. package/src/styles/components/_breadcrumbs.scss +3 -3
  99. package/src/styles/components/_checkboxes.scss +17 -17
  100. package/src/styles/components/_chips.scss +17 -17
  101. package/src/styles/components/_forms.scss +203 -203
  102. package/src/styles/components/_menu.scss +12 -12
  103. package/src/styles/components/_notifications.scss +24 -24
  104. package/src/styles/components/_q-editor.scss +14 -14
  105. package/src/styles/components/_radio-buttons.scss +17 -17
  106. package/src/styles/components/_tables.scss +92 -92
  107. package/src/styles/components/_tooltips.scss +5 -5
  108. package/src/styles/components/_tree.scss +86 -86
  109. package/src/styles/components/_truncated-chips.scss +39 -39
  110. package/src/styles/main.scss +45 -45
  111. package/src/styles/quasar.variables.scss +50 -50
  112. package/src/styles/tailwind/index.css +2 -2
  113. package/src/typings.d.ts +70 -70
  114. package/src/utils/colorUtils.ts +73 -73
  115. package/src/utils/errorUtils.ts +37 -37
  116. package/src/utils/fileUtils.ts +57 -57
  117. package/src/utils/helpers.ts +6 -6
  118. package/src/utils/routeUtils.ts +23 -23
  119. package/tsconfig.json +34 -34
@@ -1,203 +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
- }
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
+ }
@@ -1,12 +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
- }
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
+ }
@@ -1,24 +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
- }
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
+ }
@@ -1,14 +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
- }
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
+ }
@@ -1,17 +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
- }
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
+ }