@inriver/inri 1.18.0 → 1.20.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/chilly-boxes-count.md +5 -0
- package/CHANGELOG.md +7 -0
- package/README.md +41 -6
- package/package.json +1 -1
- package/src/components/CBtn.vue +1 -1
- package/src/components/CContextMenu.vue +2 -2
- package/src/components/CDialog.vue +8 -8
- package/src/components/CDrawerButton.vue +3 -3
- package/src/components/CExpansionItem.vue +2 -2
- package/src/components/CExpansionItemWithCheckbox.vue +1 -1
- package/src/components/CHeaderLinks.vue +2 -2
- package/src/components/CHeaderMenuLink.vue +3 -3
- package/src/components/CIconBtn.vue +2 -2
- package/src/components/CSection.vue +2 -2
- package/src/components/CSelect.vue +2 -2
- package/src/components/CSlideEffect.vue +3 -3
- package/src/components/CSpinner.vue +2 -2
- package/src/components/CTileBtn.vue +2 -2
- package/src/components/cards/CSmallCard.vue +2 -2
- package/src/components/internal-components/ConfirmDialog.vue +1 -1
- package/src/layouts/layout-fragments/CPageBlank.vue +2 -2
- package/src/styles/components/_notifications.scss +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -10,22 +10,56 @@ Before installing and using *inri*, please make sure you have the following peer
|
|
|
10
10
|
* vue version 3.x.x or any compatible version starting with 3
|
|
11
11
|
* vue-i18n version 9.1.7 or any compatible version starting with 9.1
|
|
12
12
|
* vue-router version 4.0.12 or any compatible version starting with 4
|
|
13
|
-
* WindiCSS - Follow this guide how to set it up https://windicss.org/
|
|
13
|
+
* WindiCSS - Follow this guide how to set it up https://windicss.org/guide/installation.html
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
17
|
+
* Create a `.npmrc` file and add the following line `//registry.npmjs.org/:_authToken=${NPM_TOKEN}`
|
|
18
|
+
|
|
19
|
+
* Create `.env` file that is `.gitignored` (important!)
|
|
20
|
+
|
|
21
|
+
* Get the token from the `inri-access-group` variable group located in the pipelines
|
|
22
|
+
|
|
23
|
+
|
|
17
24
|
```
|
|
18
25
|
pnpm install @inriver/inri
|
|
19
26
|
pnpm install quasar@2.12.1 vue@^3.3.4 vue-i18n@^9.1.7 vue-router@^4.0.12
|
|
20
27
|
```
|
|
21
28
|
|
|
22
|
-
##
|
|
29
|
+
## Deploying your app with the inri framework
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
The build stage must also have access to the `inri-access-group`
|
|
33
|
+
Add it to your stage for example
|
|
34
|
+
```
|
|
35
|
+
stages:
|
|
36
|
+
- stage: Build
|
|
37
|
+
dependsOn:
|
|
38
|
+
variables:
|
|
39
|
+
- template: 'someTemplate.yml'
|
|
40
|
+
- group: inri-access-token
|
|
41
|
+
jobs:
|
|
42
|
+
...
|
|
43
|
+
```
|
|
44
|
+
Your build pipeline must have access to the .npmrc file so add this script
|
|
45
|
+
to the build stage of your pipeline.
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
- bash: |
|
|
49
|
+
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
|
|
50
|
+
env:
|
|
51
|
+
NPM_TOKEN: $(NPM_TOKEN)
|
|
52
|
+
displayName: Init .npmrc file
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Initializing the framework
|
|
23
56
|
|
|
24
57
|
main.ts (entry file)
|
|
58
|
+
It's importing that you import the `virtual:windi.css` after the App import
|
|
25
59
|
```
|
|
26
|
-
import 'virtual:windi.css';
|
|
27
60
|
import { createApp } from 'vue';
|
|
28
61
|
import App from './App.vue';
|
|
62
|
+
import 'virtual:windi.css';
|
|
29
63
|
|
|
30
64
|
import { initInriFramework } from '@inriver/inri';
|
|
31
65
|
const app = createApp(App);
|
|
@@ -46,18 +80,19 @@ CSS
|
|
|
46
80
|
Create a tailwind.config.js file and copy this
|
|
47
81
|
|
|
48
82
|
```
|
|
49
|
-
import
|
|
83
|
+
import { baseTailwindConfig } from './node_modules/@inriver/inri/configs/base-tailwind-config'
|
|
50
84
|
|
|
51
85
|
export default {
|
|
52
|
-
...
|
|
86
|
+
...baseTailwindConfig,
|
|
53
87
|
extract: {
|
|
54
88
|
include: [
|
|
55
|
-
'
|
|
89
|
+
'./node_modules/@inriver/inri/src/**/*.{vue,html,jsx,tsx}',
|
|
56
90
|
'src/**/*.{vue,html,jsx,tsx}',
|
|
57
91
|
],
|
|
58
92
|
},
|
|
59
93
|
}
|
|
60
94
|
|
|
95
|
+
|
|
61
96
|
```
|
|
62
97
|
### Using changesets
|
|
63
98
|
|
package/package.json
CHANGED
package/src/components/CBtn.vue
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
@click.prevent
|
|
7
7
|
>
|
|
8
8
|
<q-menu>
|
|
9
|
-
<q-list class="menu-list pb-0">
|
|
9
|
+
<q-list class="c-inri-menu-list pb-0">
|
|
10
10
|
<slot />
|
|
11
11
|
</q-list>
|
|
12
12
|
</q-menu>
|
|
@@ -23,7 +23,7 @@ defineProps({
|
|
|
23
23
|
</script>
|
|
24
24
|
|
|
25
25
|
<style scoped lang="scss">
|
|
26
|
-
.menu-list {
|
|
26
|
+
.c-inri-menu-list {
|
|
27
27
|
min-width: 146px;
|
|
28
28
|
}
|
|
29
29
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-dialog
|
|
3
3
|
data-id="dialog"
|
|
4
|
-
class="c-dialog"
|
|
4
|
+
class="c-inri-dialog"
|
|
5
5
|
:model-value="modelValue"
|
|
6
6
|
:position="position"
|
|
7
7
|
transition-show="fade"
|
|
@@ -192,7 +192,7 @@ defineExpose({
|
|
|
192
192
|
|
|
193
193
|
<style lang="scss">
|
|
194
194
|
// This css is also shared by the programmatic dialogs
|
|
195
|
-
.c-dialog {
|
|
195
|
+
.c-inri-dialog {
|
|
196
196
|
.q-dialog__backdrop {
|
|
197
197
|
background: var(--dialog-backdrop-color);
|
|
198
198
|
}
|
|
@@ -210,11 +210,11 @@ defineExpose({
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
.dialog-card-action-buttons {
|
|
213
|
-
.c-btn {
|
|
213
|
+
.c-inri-btn {
|
|
214
214
|
width: 100%;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
.c-btn + .c-btn {
|
|
217
|
+
.c-inri-btn + .c-inri-btn {
|
|
218
218
|
margin-top: 16px;
|
|
219
219
|
}
|
|
220
220
|
}
|
|
@@ -222,13 +222,13 @@ defineExpose({
|
|
|
222
222
|
|
|
223
223
|
// 'sm' displays
|
|
224
224
|
@media (min-width: 640px) {
|
|
225
|
-
.c-dialog {
|
|
225
|
+
.c-inri-dialog {
|
|
226
226
|
.dialog-card-action-buttons {
|
|
227
|
-
.c-btn {
|
|
227
|
+
.c-inri-btn {
|
|
228
228
|
width: auto;
|
|
229
229
|
}
|
|
230
230
|
|
|
231
|
-
.c-btn + .c-btn {
|
|
231
|
+
.c-inri-btn + .c-inri-btn {
|
|
232
232
|
margin-top: 0;
|
|
233
233
|
margin-left: 10px;
|
|
234
234
|
}
|
|
@@ -238,7 +238,7 @@ defineExpose({
|
|
|
238
238
|
|
|
239
239
|
// 'md' displays
|
|
240
240
|
@media (min-width: 1024px) {
|
|
241
|
-
.c-dialog {
|
|
241
|
+
.c-inri-dialog {
|
|
242
242
|
// position="top" (default) should be offset with 60px from the top
|
|
243
243
|
.q-dialog__inner.fixed-top {
|
|
244
244
|
padding: 0 60px;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<q-btn
|
|
3
3
|
ref="drawerButton"
|
|
4
4
|
data-id="drawer-btn"
|
|
5
|
-
class="drawer-button group"
|
|
5
|
+
class="c-inri-drawer-button group"
|
|
6
6
|
:class="{
|
|
7
7
|
'is-left': left,
|
|
8
8
|
'w-60px sm:w-340px': isOpen,
|
|
@@ -63,7 +63,7 @@ function toggle () {
|
|
|
63
63
|
</script>
|
|
64
64
|
|
|
65
65
|
<style lang="scss">
|
|
66
|
-
.drawer-button {
|
|
66
|
+
.c-inri-drawer-button {
|
|
67
67
|
height: 60px;
|
|
68
68
|
border-radius: 0;
|
|
69
69
|
transition: width 0.1s;
|
|
@@ -83,7 +83,7 @@ function toggle () {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
// Left side drawer button
|
|
86
|
-
.drawer-button.is-left {
|
|
86
|
+
.c-inri-drawer-button.is-left {
|
|
87
87
|
.q-btn__content {
|
|
88
88
|
justify-content: end;
|
|
89
89
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<q-expansion-item
|
|
3
3
|
:label="label"
|
|
4
4
|
:header-class="headerClass"
|
|
5
|
-
class="c-expansion-item"
|
|
5
|
+
class="c-inri-expansion-item"
|
|
6
6
|
>
|
|
7
7
|
<slot />
|
|
8
8
|
</q-expansion-item>
|
|
@@ -22,7 +22,7 @@ defineProps({
|
|
|
22
22
|
</script>
|
|
23
23
|
|
|
24
24
|
<style lang="scss">
|
|
25
|
-
.c-expansion-item {
|
|
25
|
+
.c-inri-expansion-item {
|
|
26
26
|
border-bottom: 1px solid var(--color-border);
|
|
27
27
|
|
|
28
28
|
.q-item__section {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="showExtendedMenu"
|
|
4
|
-
class="header-links gt-sm"
|
|
4
|
+
class="c-inri-header-links gt-sm"
|
|
5
5
|
>
|
|
6
6
|
<c-header-menu-link
|
|
7
7
|
v-for="link in links"
|
|
@@ -52,7 +52,7 @@ const showExtendedMenu = computed(() => props.maxVisible >= props.links.length)
|
|
|
52
52
|
</script>
|
|
53
53
|
|
|
54
54
|
<style scoped>
|
|
55
|
-
.header-links {
|
|
55
|
+
.c-inri-header-links {
|
|
56
56
|
margin-right: 32px;
|
|
57
57
|
height: 100%;
|
|
58
58
|
display: flex;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<a
|
|
3
|
-
class="link"
|
|
3
|
+
class="c-inri-link"
|
|
4
4
|
:class="{ 'is-active': isActive }"
|
|
5
5
|
:href="href"
|
|
6
6
|
>
|
|
@@ -21,7 +21,7 @@ defineProps<Props>()
|
|
|
21
21
|
</script>
|
|
22
22
|
|
|
23
23
|
<style scoped>
|
|
24
|
-
.link {
|
|
24
|
+
.c-inri-link {
|
|
25
25
|
display: flex;
|
|
26
26
|
align-items: center;
|
|
27
27
|
font-size: 16px;
|
|
@@ -31,7 +31,7 @@ defineProps<Props>()
|
|
|
31
31
|
min-width: 0;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
.link:hover {
|
|
34
|
+
.c-inri-link:hover {
|
|
35
35
|
text-decoration: underline;
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-btn
|
|
3
|
-
class="c-icon-btn"
|
|
3
|
+
class="c-inri-icon-btn"
|
|
4
4
|
flat
|
|
5
5
|
round
|
|
6
6
|
:color="color"
|
|
@@ -61,7 +61,7 @@ defineProps({
|
|
|
61
61
|
<style scoped lang="scss">
|
|
62
62
|
$size: 32px;
|
|
63
63
|
|
|
64
|
-
.c-icon-btn {
|
|
64
|
+
.c-inri-icon-btn {
|
|
65
65
|
height: $size;
|
|
66
66
|
width: $size;
|
|
67
67
|
min-height: $size;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section
|
|
3
|
-
class="c-section"
|
|
3
|
+
class="c-inri-section"
|
|
4
4
|
:class="{
|
|
5
5
|
'overflow-y-overlay': scroll || main,
|
|
6
6
|
'flex-1': flex || main,
|
|
@@ -23,7 +23,7 @@ defineProps({
|
|
|
23
23
|
</script>
|
|
24
24
|
|
|
25
25
|
<style>
|
|
26
|
-
.c-section {
|
|
26
|
+
.c-inri-section {
|
|
27
27
|
@apply py-7 px-6;
|
|
28
28
|
}
|
|
29
29
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-select
|
|
3
3
|
ref="selectRef"
|
|
4
|
-
class="c-select"
|
|
4
|
+
class="c-inri-select"
|
|
5
5
|
:model-value="modelValue"
|
|
6
6
|
v-bind="dense ? $inri.inputDense : $inri.input"
|
|
7
7
|
:options="internalOptions"
|
|
@@ -191,7 +191,7 @@ function onToggleAll (evt, emitString) {
|
|
|
191
191
|
</script>
|
|
192
192
|
|
|
193
193
|
<style lang="scss">
|
|
194
|
-
.c-select {
|
|
194
|
+
.c-inri-select {
|
|
195
195
|
::placeholder {
|
|
196
196
|
color: var(--color-text);
|
|
197
197
|
}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
<div class="absolute overflow-hidden inset-0">
|
|
5
5
|
<div
|
|
6
|
-
class="bg-white slide-box"
|
|
6
|
+
class="bg-white c-inri-slide-box"
|
|
7
7
|
:class="slideOffsetClasses"
|
|
8
8
|
/>
|
|
9
9
|
|
|
10
10
|
<!-- Slider -->
|
|
11
11
|
<div
|
|
12
|
-
class="slide-box"
|
|
12
|
+
class="c-inri-slide-box"
|
|
13
13
|
:class="[transitionBg, slideOffsetClasses]"
|
|
14
14
|
/>
|
|
15
15
|
</div>
|
|
@@ -56,7 +56,7 @@ const transitionBg = computed(() => {
|
|
|
56
56
|
</script>
|
|
57
57
|
|
|
58
58
|
<style scoped>
|
|
59
|
-
.slide-box {
|
|
59
|
+
.c-inri-slide-box {
|
|
60
60
|
@apply absolute transition-all duration-500 w-full h-full top-0;
|
|
61
61
|
}
|
|
62
62
|
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="c-spinner"
|
|
3
|
+
class="c-inri-spinner"
|
|
4
4
|
:style="{
|
|
5
5
|
width: size + 'px',
|
|
6
6
|
height: size + 'px',
|
|
@@ -63,7 +63,7 @@ const transitionColor = computed(() => {
|
|
|
63
63
|
// Based on:
|
|
64
64
|
// https://codepen.io/joshuaward/pen/XejbZv
|
|
65
65
|
|
|
66
|
-
.c-spinner {
|
|
66
|
+
.c-inri-spinner {
|
|
67
67
|
display: grid;
|
|
68
68
|
grid-template-columns: 1fr 1fr 1fr;
|
|
69
69
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<q-btn
|
|
3
3
|
ref="button"
|
|
4
|
-
class="c-tile-btn group"
|
|
4
|
+
class="c-inri-tile-btn group"
|
|
5
5
|
:class="{
|
|
6
6
|
'c-tile-btn--small': small,
|
|
7
7
|
'pointer-events-none': loading
|
|
@@ -154,7 +154,7 @@ const tooltipRightDataId = computed(() => {
|
|
|
154
154
|
</script>
|
|
155
155
|
|
|
156
156
|
<style lang="scss">
|
|
157
|
-
.c-tile-btn {
|
|
157
|
+
.c-inri-tile-btn {
|
|
158
158
|
padding: 0;
|
|
159
159
|
width: 60px;
|
|
160
160
|
height: 60px;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
ref="card"
|
|
4
|
-
class="c-small-card"
|
|
4
|
+
class="c-inri-small-card"
|
|
5
5
|
@mouseover="isHoveredOver = true"
|
|
6
6
|
@mouseleave="isHoveredOver = false"
|
|
7
7
|
@click="$emit('click', $event)"
|
|
@@ -106,7 +106,7 @@ defineProps({
|
|
|
106
106
|
</script>
|
|
107
107
|
|
|
108
108
|
<style scoped lang="scss">
|
|
109
|
-
.c-small-card {
|
|
109
|
+
.c-inri-small-card {
|
|
110
110
|
width: var(--small-card-image-size);
|
|
111
111
|
min-height: 100px;
|
|
112
112
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="c-page">
|
|
2
|
+
<div class="c-inri-page">
|
|
3
3
|
<slot />
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
@@ -11,7 +11,7 @@ export default {
|
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
13
|
<style scoped>
|
|
14
|
-
.c-page {
|
|
14
|
+
.c-inri-page {
|
|
15
15
|
position: absolute;
|
|
16
16
|
width: 100%;
|
|
17
17
|
height: 100%;
|