@inriver/inri 1.14.0 → 1.16.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.
- package/.changeset/README.md +8 -0
- package/.changeset/config.json +11 -0
- package/.eslintrc.js +5 -5
- package/azure/pipelines/single-build-release.yml +20 -0
- package/azure/pipelines/templates/deployFramework.yml +30 -0
- package/azure/pipelines/templates/publishFramwork.yml +39 -0
- package/componentProperties.d.ts +8 -8
- package/configs/base-eslint-config.js +36 -36
- package/configs/base-tailwind-config.js +149 -149
- package/i18n.ts +11 -11
- package/index.ts +29 -29
- package/package.json +7 -2
- package/src/components/CAutoBreadcrumbs.vue +72 -72
- package/src/components/CBtn.vue +98 -98
- package/src/components/CColorPicker.vue +55 -55
- package/src/components/CContextMenu.vue +29 -29
- package/src/components/CDatePicker.vue +51 -51
- package/src/components/CDeleteTileBtn.vue +52 -52
- package/src/components/CDialog.vue +253 -253
- package/src/components/CDialogCloseBtn.vue +9 -9
- package/src/components/CDirtyCheck.vue +68 -68
- package/src/components/CDrawer.vue +44 -44
- package/src/components/CDrawerButton.vue +91 -91
- package/src/components/CExpansionItem.vue +57 -57
- package/src/components/CExpansionItemWithCheckbox.vue +41 -41
- package/src/components/CFileDropzone.vue +114 -114
- package/src/components/CGrid.vue +101 -101
- package/src/components/CHeader.vue +10 -10
- package/src/components/CHeaderLinks.vue +61 -61
- package/src/components/CHeaderMenuLink.vue +51 -51
- package/src/components/CHeaderSearch.vue +142 -142
- package/src/components/CIconBtn.vue +70 -70
- package/src/components/CMenuItem.vue +66 -66
- package/src/components/CPageContainer.vue +11 -11
- package/src/components/CPageError.vue +24 -24
- package/src/components/CPageSpinner.vue +18 -18
- package/src/components/CSearch.vue +45 -45
- package/src/components/CSection.vue +29 -29
- package/src/components/CSectionTitle.vue +8 -8
- package/src/components/CSelect.vue +208 -208
- package/src/components/CSlideEffect.vue +62 -62
- package/src/components/CSpinner.vue +107 -107
- package/src/components/CTableActions.vue +16 -16
- package/src/components/CTileBtn.vue +178 -178
- package/src/components/CTimePicker.vue +42 -42
- package/src/components/CToggleGridView.vue +26 -26
- package/src/components/CToggleSidebarBtn.vue +19 -19
- package/src/components/CTooltip.vue +44 -44
- package/src/components/CTreeNode.vue +39 -39
- package/src/components/cards/CBannerCard.vue +103 -103
- package/src/components/cards/CSmallCard.vue +149 -149
- package/src/components/internal-components/ConfirmDialog.vue +78 -78
- package/src/composables/useDialog.ts +46 -46
- package/src/composables/useDirtyCheck.ts +25 -25
- package/src/composables/useDoubleClickListener.ts +28 -28
- package/src/composables/useSelectable.ts +62 -62
- package/src/composables/useTruncateChips.ts +46 -46
- package/src/i18n/de/index.ts +17 -17
- package/src/i18n/en/index.ts +84 -84
- package/src/i18n/es/index.ts +7 -7
- package/src/i18n/fr/index.ts +7 -7
- package/src/init/initInriFramework.ts +37 -37
- package/src/init/useInriApp.ts +55 -55
- package/src/layouts/CLayoutBlank.vue +7 -7
- package/src/layouts/CLayoutWithBackButton.vue +50 -50
- package/src/layouts/CLayoutWithSidebars.vue +46 -46
- package/src/layouts/layout-fragments/CPageAutoBreadcrumbs.vue +6 -6
- package/src/layouts/layout-fragments/CPageBackButton.vue +18 -18
- package/src/layouts/layout-fragments/CPageBlank.vue +20 -20
- package/src/layouts/layout-fragments/CPageFlexCol.vue +5 -5
- package/src/layouts/layout-fragments/CPageLeftSidebar.vue +5 -5
- package/src/layouts/layout-fragments/CPageMainContent.vue +5 -5
- package/src/layouts/layout-fragments/CPageOuterWrapper.vue +5 -5
- package/src/layouts/layout-fragments/CPageRightSidebar.vue +5 -5
- package/src/layouts/layout-fragments/CPageTitle.vue +34 -34
- package/src/plugins/dialog.ts +45 -45
- package/src/plugins/errors/ErrorFactories.ts +59 -59
- package/src/plugins/errors/Errors.ts +156 -156
- package/src/plugins/errors/Exception.ts +6 -6
- package/src/plugins/errors/globalErrorHandler.ts +21 -21
- package/src/plugins/errors/handleError.ts +34 -34
- package/src/plugins/errors/logger.ts +16 -16
- package/src/plugins/errors/vueErrorHandler.ts +26 -26
- package/src/plugins/globalAppConfig.ts +25 -25
- package/src/plugins/i18n.ts +46 -46
- package/src/plugins/inriIcons.ts +58 -58
- package/src/plugins/inriverQuasarComponentConfigurations.ts +67 -67
- package/src/plugins/library.ts +119 -119
- package/src/plugins/notify.ts +153 -153
- package/src/plugins/quasar-user-options.ts +19 -19
- package/src/plugins/validationRules.ts +292 -292
- package/src/shims-vue.d.ts +6 -6
- package/src/stores/inriStore.ts +54 -54
- package/src/stores/interfaceLanguageStore.ts +27 -27
- package/src/styles/_css-variables.scss +101 -101
- package/src/styles/_reset.scss +67 -67
- package/src/styles/_transitions.scss +9 -9
- package/src/styles/_utils.scss +15 -15
- package/src/styles/components/_breadcrumbs.scss +3 -3
- package/src/styles/components/_checkboxes.scss +17 -17
- package/src/styles/components/_chips.scss +17 -17
- package/src/styles/components/_forms.scss +203 -203
- package/src/styles/components/_menu.scss +12 -12
- package/src/styles/components/_notifications.scss +24 -24
- package/src/styles/components/_q-editor.scss +14 -14
- package/src/styles/components/_radio-buttons.scss +17 -17
- package/src/styles/components/_tables.scss +92 -92
- package/src/styles/components/_tooltips.scss +5 -5
- package/src/styles/components/_tree.scss +86 -86
- package/src/styles/components/_truncated-chips.scss +39 -39
- package/src/styles/main.scss +45 -45
- package/src/styles/quasar.variables.scss +50 -50
- package/src/styles/tailwind/index.css +2 -2
- package/src/typings.d.ts +70 -70
- package/src/utils/colorUtils.ts +73 -73
- package/src/utils/errorUtils.ts +37 -37
- package/src/utils/fileUtils.ts +57 -57
- package/src/utils/helpers.ts +6 -6
- package/src/utils/routeUtils.ts +23 -23
- package/tsconfig.json +34 -34
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<!-- This will be create a white background behind the slide effect to make all colors work -->
|
|
3
|
-
|
|
4
|
-
<div class="absolute overflow-hidden inset-0">
|
|
5
|
-
<div
|
|
6
|
-
class="bg-white slide-box"
|
|
7
|
-
:class="slideOffsetClasses"
|
|
8
|
-
/>
|
|
9
|
-
|
|
10
|
-
<!-- Slider -->
|
|
11
|
-
<div
|
|
12
|
-
class="slide-box"
|
|
13
|
-
:class="[transitionBg, slideOffsetClasses]"
|
|
14
|
-
/>
|
|
15
|
-
</div>
|
|
16
|
-
</template>
|
|
17
|
-
|
|
18
|
-
<script setup lang="ts">
|
|
19
|
-
import { computed } from 'vue'
|
|
20
|
-
import { getRelatedColors } from '../utils/colorUtils'
|
|
21
|
-
|
|
22
|
-
const props = defineProps({
|
|
23
|
-
parentColor: {
|
|
24
|
-
type: String,
|
|
25
|
-
default: 'primary',
|
|
26
|
-
},
|
|
27
|
-
slideEffectColor: {
|
|
28
|
-
type: String,
|
|
29
|
-
default: undefined,
|
|
30
|
-
},
|
|
31
|
-
slideRight: {
|
|
32
|
-
type: Boolean,
|
|
33
|
-
default: false,
|
|
34
|
-
},
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
const slideOffsetClasses = computed(() => {
|
|
38
|
-
if (props.slideRight) {
|
|
39
|
-
return '-left-full group-hover:left-0 group-focus:left-0'
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return '-right-full group-hover:right-0 group-focus:right-0'
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
const transitionBg = computed(() => {
|
|
46
|
-
// Override calculated color effect
|
|
47
|
-
if (props.slideEffectColor) {
|
|
48
|
-
return 'bg-' + props.slideEffectColor
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const color = props.parentColor
|
|
52
|
-
const relatedColors = getRelatedColors(color)
|
|
53
|
-
|
|
54
|
-
return relatedColors ? 'bg-' + relatedColors.effectColor : `bg-${color} opacity-60`
|
|
55
|
-
})
|
|
56
|
-
</script>
|
|
57
|
-
|
|
58
|
-
<style scoped>
|
|
59
|
-
.slide-box {
|
|
60
|
-
@apply absolute transition-all duration-500 w-full h-full top-0;
|
|
61
|
-
}
|
|
62
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<!-- This will be create a white background behind the slide effect to make all colors work -->
|
|
3
|
+
|
|
4
|
+
<div class="absolute overflow-hidden inset-0">
|
|
5
|
+
<div
|
|
6
|
+
class="bg-white slide-box"
|
|
7
|
+
:class="slideOffsetClasses"
|
|
8
|
+
/>
|
|
9
|
+
|
|
10
|
+
<!-- Slider -->
|
|
11
|
+
<div
|
|
12
|
+
class="slide-box"
|
|
13
|
+
:class="[transitionBg, slideOffsetClasses]"
|
|
14
|
+
/>
|
|
15
|
+
</div>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script setup lang="ts">
|
|
19
|
+
import { computed } from 'vue'
|
|
20
|
+
import { getRelatedColors } from '../utils/colorUtils'
|
|
21
|
+
|
|
22
|
+
const props = defineProps({
|
|
23
|
+
parentColor: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: 'primary',
|
|
26
|
+
},
|
|
27
|
+
slideEffectColor: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: undefined,
|
|
30
|
+
},
|
|
31
|
+
slideRight: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
const slideOffsetClasses = computed(() => {
|
|
38
|
+
if (props.slideRight) {
|
|
39
|
+
return '-left-full group-hover:left-0 group-focus:left-0'
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return '-right-full group-hover:right-0 group-focus:right-0'
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
const transitionBg = computed(() => {
|
|
46
|
+
// Override calculated color effect
|
|
47
|
+
if (props.slideEffectColor) {
|
|
48
|
+
return 'bg-' + props.slideEffectColor
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const color = props.parentColor
|
|
52
|
+
const relatedColors = getRelatedColors(color)
|
|
53
|
+
|
|
54
|
+
return relatedColors ? 'bg-' + relatedColors.effectColor : `bg-${color} opacity-60`
|
|
55
|
+
})
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
<style scoped>
|
|
59
|
+
.slide-box {
|
|
60
|
+
@apply absolute transition-all duration-500 w-full h-full top-0;
|
|
61
|
+
}
|
|
62
|
+
</style>
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="c-spinner"
|
|
4
|
-
:style="{
|
|
5
|
-
width: size + 'px',
|
|
6
|
-
height: size + 'px',
|
|
7
|
-
position: absolute ? 'absolute' : 'relative',
|
|
8
|
-
gridGap: gap + 'px',
|
|
9
|
-
}"
|
|
10
|
-
:class="transitionColor"
|
|
11
|
-
>
|
|
12
|
-
<div />
|
|
13
|
-
<div />
|
|
14
|
-
<div />
|
|
15
|
-
<div />
|
|
16
|
-
<div />
|
|
17
|
-
<div />
|
|
18
|
-
<div />
|
|
19
|
-
<div />
|
|
20
|
-
<div />
|
|
21
|
-
</div>
|
|
22
|
-
</template>
|
|
23
|
-
|
|
24
|
-
<script setup lang="ts">
|
|
25
|
-
import { computed } from 'vue'
|
|
26
|
-
import { getRelatedColors } from '../utils/colorUtils'
|
|
27
|
-
|
|
28
|
-
const props = defineProps({
|
|
29
|
-
size: {
|
|
30
|
-
type: [String, Number],
|
|
31
|
-
default: 70,
|
|
32
|
-
},
|
|
33
|
-
absolute: Boolean,
|
|
34
|
-
gap: {
|
|
35
|
-
type: [String, Number],
|
|
36
|
-
default: 2,
|
|
37
|
-
},
|
|
38
|
-
parentColor: {
|
|
39
|
-
type: String,
|
|
40
|
-
default: 'primary',
|
|
41
|
-
},
|
|
42
|
-
color: {
|
|
43
|
-
type: String,
|
|
44
|
-
default: undefined,
|
|
45
|
-
},
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
// Return fixed color or calculated color based on parent color
|
|
49
|
-
const transitionColor = computed(() => {
|
|
50
|
-
if (props.color) {
|
|
51
|
-
return 'text-' + props.color
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const color = props.parentColor
|
|
55
|
-
const relatedColors = getRelatedColors(color)
|
|
56
|
-
|
|
57
|
-
return relatedColors ? 'text-' + relatedColors.effectColor : `text-${color} opacity-60`
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
</script>
|
|
61
|
-
|
|
62
|
-
<style lang="scss">
|
|
63
|
-
// Based on:
|
|
64
|
-
// https://codepen.io/joshuaward/pen/XejbZv
|
|
65
|
-
|
|
66
|
-
.c-spinner {
|
|
67
|
-
display: grid;
|
|
68
|
-
grid-template-columns: 1fr 1fr 1fr;
|
|
69
|
-
|
|
70
|
-
> div {
|
|
71
|
-
position: relative;
|
|
72
|
-
width: 100%;
|
|
73
|
-
height: 100%;
|
|
74
|
-
background: currentColor;
|
|
75
|
-
transform: scale(0);
|
|
76
|
-
transform-origin: center center;
|
|
77
|
-
animation: loader 2s infinite linear;
|
|
78
|
-
|
|
79
|
-
&:nth-of-type(1),
|
|
80
|
-
&:nth-of-type(5),
|
|
81
|
-
&:nth-of-type(9) {
|
|
82
|
-
animation-delay: 0.4s;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
&:nth-of-type(4),
|
|
86
|
-
&:nth-of-type(8) {
|
|
87
|
-
animation-delay: 0.2s;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
&:nth-of-type(2),
|
|
91
|
-
&:nth-of-type(6) {
|
|
92
|
-
animation-delay: 0.6s;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
&:nth-of-type(3) {
|
|
96
|
-
animation-delay: 0.8s;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
@keyframes loader {
|
|
102
|
-
0% { transform: scale(0); }
|
|
103
|
-
40% { transform: scale(1); }
|
|
104
|
-
80% { transform: scale(1); }
|
|
105
|
-
100% { transform: scale(0); }
|
|
106
|
-
}
|
|
107
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="c-spinner"
|
|
4
|
+
:style="{
|
|
5
|
+
width: size + 'px',
|
|
6
|
+
height: size + 'px',
|
|
7
|
+
position: absolute ? 'absolute' : 'relative',
|
|
8
|
+
gridGap: gap + 'px',
|
|
9
|
+
}"
|
|
10
|
+
:class="transitionColor"
|
|
11
|
+
>
|
|
12
|
+
<div />
|
|
13
|
+
<div />
|
|
14
|
+
<div />
|
|
15
|
+
<div />
|
|
16
|
+
<div />
|
|
17
|
+
<div />
|
|
18
|
+
<div />
|
|
19
|
+
<div />
|
|
20
|
+
<div />
|
|
21
|
+
</div>
|
|
22
|
+
</template>
|
|
23
|
+
|
|
24
|
+
<script setup lang="ts">
|
|
25
|
+
import { computed } from 'vue'
|
|
26
|
+
import { getRelatedColors } from '../utils/colorUtils'
|
|
27
|
+
|
|
28
|
+
const props = defineProps({
|
|
29
|
+
size: {
|
|
30
|
+
type: [String, Number],
|
|
31
|
+
default: 70,
|
|
32
|
+
},
|
|
33
|
+
absolute: Boolean,
|
|
34
|
+
gap: {
|
|
35
|
+
type: [String, Number],
|
|
36
|
+
default: 2,
|
|
37
|
+
},
|
|
38
|
+
parentColor: {
|
|
39
|
+
type: String,
|
|
40
|
+
default: 'primary',
|
|
41
|
+
},
|
|
42
|
+
color: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: undefined,
|
|
45
|
+
},
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
// Return fixed color or calculated color based on parent color
|
|
49
|
+
const transitionColor = computed(() => {
|
|
50
|
+
if (props.color) {
|
|
51
|
+
return 'text-' + props.color
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const color = props.parentColor
|
|
55
|
+
const relatedColors = getRelatedColors(color)
|
|
56
|
+
|
|
57
|
+
return relatedColors ? 'text-' + relatedColors.effectColor : `text-${color} opacity-60`
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
</script>
|
|
61
|
+
|
|
62
|
+
<style lang="scss">
|
|
63
|
+
// Based on:
|
|
64
|
+
// https://codepen.io/joshuaward/pen/XejbZv
|
|
65
|
+
|
|
66
|
+
.c-spinner {
|
|
67
|
+
display: grid;
|
|
68
|
+
grid-template-columns: 1fr 1fr 1fr;
|
|
69
|
+
|
|
70
|
+
> div {
|
|
71
|
+
position: relative;
|
|
72
|
+
width: 100%;
|
|
73
|
+
height: 100%;
|
|
74
|
+
background: currentColor;
|
|
75
|
+
transform: scale(0);
|
|
76
|
+
transform-origin: center center;
|
|
77
|
+
animation: loader 2s infinite linear;
|
|
78
|
+
|
|
79
|
+
&:nth-of-type(1),
|
|
80
|
+
&:nth-of-type(5),
|
|
81
|
+
&:nth-of-type(9) {
|
|
82
|
+
animation-delay: 0.4s;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&:nth-of-type(4),
|
|
86
|
+
&:nth-of-type(8) {
|
|
87
|
+
animation-delay: 0.2s;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&:nth-of-type(2),
|
|
91
|
+
&:nth-of-type(6) {
|
|
92
|
+
animation-delay: 0.6s;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
&:nth-of-type(3) {
|
|
96
|
+
animation-delay: 0.8s;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@keyframes loader {
|
|
102
|
+
0% { transform: scale(0); }
|
|
103
|
+
40% { transform: scale(1); }
|
|
104
|
+
80% { transform: scale(1); }
|
|
105
|
+
100% { transform: scale(0); }
|
|
106
|
+
}
|
|
107
|
+
</style>
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<q-td v-bind="$attrs">
|
|
3
|
-
<div class="flex flex-nowrap justify-end">
|
|
4
|
-
<slot />
|
|
5
|
-
</div>
|
|
6
|
-
</q-td>
|
|
7
|
-
</template>
|
|
8
|
-
|
|
9
|
-
<script setup lang="ts">
|
|
10
|
-
defineProps({
|
|
11
|
-
alwaysVisible: {
|
|
12
|
-
type: Boolean,
|
|
13
|
-
default: false,
|
|
14
|
-
},
|
|
15
|
-
})
|
|
16
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<q-td v-bind="$attrs">
|
|
3
|
+
<div class="flex flex-nowrap justify-end">
|
|
4
|
+
<slot />
|
|
5
|
+
</div>
|
|
6
|
+
</q-td>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script setup lang="ts">
|
|
10
|
+
defineProps({
|
|
11
|
+
alwaysVisible: {
|
|
12
|
+
type: Boolean,
|
|
13
|
+
default: false,
|
|
14
|
+
},
|
|
15
|
+
})
|
|
16
|
+
</script>
|