adminforth 2.4.0-next.78 → 2.4.0-next.79
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/dist/modules/configValidator.d.ts.map +1 -1
- package/dist/modules/configValidator.js +0 -1
- package/dist/modules/configValidator.js.map +1 -1
- package/dist/modules/styles.d.ts +411 -16
- package/dist/modules/styles.d.ts.map +1 -1
- package/dist/modules/styles.js +488 -55
- package/dist/modules/styles.js.map +1 -1
- package/dist/spa/src/App.vue +1 -1
- package/dist/spa/src/afcl/Button.vue +3 -3
- package/dist/spa/src/afcl/Dialog.vue +6 -6
- package/dist/spa/src/afcl/Dropzone.vue +10 -10
- package/dist/spa/src/afcl/Input.vue +4 -4
- package/dist/spa/src/afcl/ProgressBar.vue +7 -7
- package/dist/spa/src/afcl/Select.vue +12 -12
- package/dist/spa/src/afcl/Skeleton.vue +6 -6
- package/dist/spa/src/afcl/Table.vue +11 -11
- package/dist/spa/src/afcl/Tooltip.vue +1 -1
- package/dist/spa/src/afcl/VerticalTabs.vue +3 -3
- package/dist/spa/src/components/AcceptModal.vue +6 -6
- package/dist/spa/src/components/Breadcrumbs.vue +5 -5
- package/dist/spa/src/components/ColumnValueInput.vue +5 -5
- package/dist/spa/src/components/ColumnValueInputWrapper.vue +1 -1
- package/dist/spa/src/components/CustomDatePicker.vue +95 -9
- package/dist/spa/src/components/CustomDateRangePicker.vue +8 -8
- package/dist/spa/src/components/CustomRangePicker.vue +32 -3
- package/dist/spa/src/components/Filters.vue +4 -4
- package/dist/spa/src/components/GroupsTable.vue +6 -6
- package/dist/spa/src/components/ResourceListTable.vue +9 -9
- package/dist/spa/src/components/ResourceListTableVirtual.vue +8 -8
- package/dist/spa/src/components/ShowTable.vue +6 -6
- package/dist/spa/src/components/SingleSkeletLoader.vue +6 -6
- package/dist/spa/src/components/SkeleteLoader.vue +1 -1
- package/dist/spa/src/components/ThreeDotsMenu.vue +5 -5
- package/dist/spa/src/components/Toast.vue +2 -7
- package/dist/spa/src/types/Common.ts +2 -5
- package/dist/spa/src/views/CreateView.vue +3 -3
- package/dist/spa/src/views/EditView.vue +2 -2
- package/dist/spa/src/views/ListView.vue +6 -10
- package/dist/spa/src/views/LoginView.vue +9 -9
- package/dist/spa/src/views/ShowView.vue +3 -3
- package/dist/types/Common.d.ts +2 -5
- package/dist/types/Common.d.ts.map +1 -1
- package/dist/types/Common.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
<button
|
|
3
3
|
v-bind="$attrs"
|
|
4
4
|
type="submit"
|
|
5
|
-
class="afcl-button flex items-center justify-center gap-1 text-
|
|
6
|
-
focus:ring-4 focus:outline-none focus:ring-
|
|
5
|
+
class="afcl-button flex items-center justify-center gap-1 text-lightButtonsText bg-lightButtonsBackground border border-lightButtonsBorder dark:bg-darkButtonsBackground hover:bg-lightButtonsHover hover:border-lightButtonsBorderHover
|
|
6
|
+
focus:ring-4 focus:outline-none focus:ring-lightButtonFocusRing focus:ring-opacity-50 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:focus:ring-darkButtonFocusRing dark:text-darkButtonsText dark:border-darkButtonsBorder dark:hover:bg-darkButtonsHover dark:hover:border-darkButtonsBorderHover"
|
|
7
7
|
:class="{
|
|
8
8
|
'cursor-default opacity-50 pointer-events-none': props.disabled,
|
|
9
9
|
'active brightness-200 hover:brightness-150' : props.active
|
|
10
10
|
}"
|
|
11
11
|
>
|
|
12
12
|
<svg v-if="props.loader"
|
|
13
|
-
aria-hidden="true" class="w-4 h-4 text-
|
|
13
|
+
aria-hidden="true" class="w-4 h-4 text-lightButtonsText animate-spin dark:text-darkButtonsText fill-lightButtonsBackground dark:fill-darkPrimary"
|
|
14
14
|
viewBox="0 0 100 101" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z" fill="currentColor"/><path d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z" fill="currentFill"/></svg>
|
|
15
15
|
<slot></slot>
|
|
16
16
|
</button>
|
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
<div ref="modalEl" tabindex="-1" aria-hidden="true" class="hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-full max-h-full">
|
|
10
10
|
<div v-bind="$attrs" class="relative p-4 max-w-2xl max-h-full" :class="$attrs.class?.includes('w-') ? '' : 'w-full'">
|
|
11
11
|
<!-- Modal content -->
|
|
12
|
-
<div class="relative bg-
|
|
12
|
+
<div class="relative bg-lightDialogBackgorund rounded-lg shadow-sm dark:bg-darkDialogBackgorund">
|
|
13
13
|
<!-- Modal header -->
|
|
14
14
|
<div
|
|
15
15
|
v-if="header"
|
|
16
|
-
class="flex items-center justify-between p-4 md:p-5 border-b rounded-t dark:border-
|
|
16
|
+
class="flex items-center justify-between p-4 md:p-5 border-b rounded-t dark:border-darkDialogBreakLine border-lightDialogBreakLine"
|
|
17
17
|
>
|
|
18
|
-
<h3 class="text-xl font-semibold text-
|
|
18
|
+
<h3 class="text-xl font-semibold text-lightDialogHeaderText dark:text-darkDialogHeaderText">
|
|
19
19
|
{{ header }}
|
|
20
20
|
</h3>
|
|
21
21
|
<button
|
|
22
22
|
v-if="headerCloseButton"
|
|
23
23
|
type="button"
|
|
24
|
-
class="text-
|
|
24
|
+
class="text-lightDialogCloseButton bg-transparent hover:bg-lightDialogCloseButtonHoverBackground hover:text-lightDialogCloseButtonHover rounded-lg text-sm w-8 h-8 ms-auto inline-flex justify-center items-center dark:text-darkDialogCloseButton dark:hover:bg-darkDialogCloseButtonHoverBackground dark:hover:text-darkDialogCloseButtonHover"
|
|
25
25
|
@click="modal?.hide()"
|
|
26
26
|
>
|
|
27
27
|
<svg class="w-3 h-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
</button>
|
|
32
32
|
</div>
|
|
33
33
|
<!-- Modal body -->
|
|
34
|
-
<div class="p-4 md:p-5 space-y-4 text-
|
|
34
|
+
<div class="p-4 md:p-5 space-y-4 text-lightDialogBodyText dark:text-darkDialogBodyText">
|
|
35
35
|
<slot></slot>
|
|
36
36
|
</div>
|
|
37
37
|
<!-- Modal footer -->
|
|
38
38
|
<div
|
|
39
39
|
v-if="buttons.length"
|
|
40
|
-
class="flex items-center p-4 md:p-5 border-t border-
|
|
40
|
+
class="flex items-center p-4 md:p-5 border-t border-lightDialogBreakLine rounded-b dark:border-darkDialogBreakLine"
|
|
41
41
|
>
|
|
42
42
|
<Button
|
|
43
43
|
v-for="(button, buttonIndex) in buttons"
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
@dragleave.prevent="dragging = false"
|
|
6
6
|
@drop.prevent="dragging = false; doEmit($event.dataTransfer.files)"
|
|
7
7
|
>
|
|
8
|
-
<label :id="id" class="flex flex-col items-center justify-center w-full border-2 border-dashed rounded-lg cursor-pointer
|
|
9
|
-
hover:bg-
|
|
8
|
+
<label :id="id" class="flex flex-col items-center justify-center w-full border-2 border-dashed rounded-lg cursor-pointer
|
|
9
|
+
hover:bg-lightDropzoneBackgroundHover hover:border-lightDropzoneBorderHover dark:hover:border-darkDropzoneBorderHover dark:hover:bg-darkDropzoneBackgroundHover"
|
|
10
10
|
:class="{
|
|
11
|
-
'border-
|
|
12
|
-
'border-
|
|
13
|
-
'bg-
|
|
14
|
-
'bg-
|
|
11
|
+
'border-lightDropzoneBorderDragging dark:border-darkDropzoneBorderDragging': dragging,
|
|
12
|
+
'border-lightDropzoneBorder dark:border-darkDropzoneBorder': !dragging,
|
|
13
|
+
'bg-lightDropzoneBackgroundDragging dark:bg-darkDropzoneBackgroundDragging': dragging,
|
|
14
|
+
'bg-lightDropzoneBackground dark:bg-darkDropzoneBackground': !dragging,
|
|
15
15
|
'min-h-32 h-full': props.multiple,
|
|
16
16
|
'h-32': !props.multiple,
|
|
17
17
|
}"
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
<div class="flex flex-col items-center justify-center pt-5 pb-6">
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
<svg v-if="!selectedFiles.length" class="w-8 h-8 mb-4 text-
|
|
22
|
+
<svg v-if="!selectedFiles.length" class="w-8 h-8 mb-4 text-lightDropzoneIcon dark:text-darkDropzoneIcon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 16">
|
|
23
23
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 13h3a3 3 0 0 0 0-6h-.025A5.56 5.56 0 0 0 16 6.5 5.5 5.5 0 0 0 5.207 5.021C5.137 5.017 5.071 5 5 5a4 4 0 0 0 0 8h2.167M10 15V6m0 0L8 8m2-2 2 2"/>
|
|
24
24
|
</svg>
|
|
25
25
|
<div v-else class="flex items-center justify-center flex-wrap gap-1 w-full mt-1 mb-4">
|
|
26
26
|
<template v-for="file in selectedFiles">
|
|
27
|
-
<p class="text-sm text-
|
|
27
|
+
<p class="text-sm text-lightDropzoneIcon dark:text-darkDropzoneIcon flex items-center gap-1">
|
|
28
28
|
<IconFileSolid class="w-5 h-5" />
|
|
29
29
|
{{ file.name }} ({{ humanifySize(file.size) }})
|
|
30
30
|
</p>
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
|
-
<p v-if="!selectedFiles.length" class="mb-2 text-sm text-
|
|
36
|
-
<p class="text-xs text-
|
|
35
|
+
<p v-if="!selectedFiles.length" class="mb-2 text-sm text-lightDropzoneText dark:text-darkDropzoneText"><span class="font-semibold">{{ $t('Click to upload') }}</span> {{ $t('or drag and drop') }}</p>
|
|
36
|
+
<p class="text-xs text-lightDropzoneText dark:text-darkDropzoneText">
|
|
37
37
|
{{ props.extensions.join(', ').toUpperCase().replace(/\./g, '') }}
|
|
38
38
|
<template v-if="props.maxSizeBytes">
|
|
39
39
|
(Max size: {{ humanifySize(props.maxSizeBytes) }})
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="afcl-input-wrapper flex z-0 relative" :class="{'opacity-50' : readonly}">
|
|
4
4
|
<span
|
|
5
5
|
v-if="$slots.prefix || prefix"
|
|
6
|
-
class="inline-flex items-center px-3 text-sm text-
|
|
6
|
+
class="inline-flex items-center px-3 text-sm text-lightInputText bg-lightInputBackground border border-s-0 border-lightInputBorder rounded-s-md dark:bg-darkInputBackground dark:text-darkInputText dark:border-darkInputBorder">
|
|
7
7
|
<slot name="prefix">{{ prefix }}</slot>
|
|
8
8
|
</span>
|
|
9
9
|
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
@input="$emit('update:modelValue', $event.target?.value)"
|
|
16
16
|
:value="modelValue"
|
|
17
17
|
aria-describedby="helper-text-explanation"
|
|
18
|
-
class="afcl-input inline-flex bg-
|
|
19
|
-
blue-500 focus:border-blue-500 block w-20 p-2.5 dark:bg-
|
|
18
|
+
class="afcl-input inline-flex bg-lightInputBackground border border-lightInputBorder text-lightInputText text-sm rounded-0 focus:ring-lightPrimary focus:border-lightPrimary dark:focus:ring-darkPrimary dark:focus:border-darkPrimary
|
|
19
|
+
blue-500 focus:border-blue-500 block w-20 p-2.5 dark:bg-darkInputBackground dark:border-darkInputBorder placeholder-lightInputPlaceholderText dark:placeholder-darkInputPlaceholderText dark:text-darkInputText translate-y-0"
|
|
20
20
|
:class="{'rounded-l-md': !$slots.prefix && !prefix, 'rounded-r-md': !$slots.suffix && !suffix, 'w-full': fullWidth}"
|
|
21
21
|
:disabled="readonly"
|
|
22
22
|
>
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
</div>
|
|
27
27
|
<span
|
|
28
28
|
v-if="$slots.suffix || suffix"
|
|
29
|
-
class="inline-flex items-center px-3 text-sm text-
|
|
29
|
+
class="inline-flex items-center px-3 text-sm text-lightInputText bg-lightInputBackground border border-s-0 border-lightInputBorder rounded-e-md dark:bg-darkInputBackground dark:text-darkInputText dark:border-darkInputBorder ">
|
|
30
30
|
<slot name="suffix">{{ suffix }}</slot>
|
|
31
31
|
</span>
|
|
32
32
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="relative mt-4 lg:mt-10 w-full max-w-[700px] bg-
|
|
3
|
-
<span class="absolute -top-6 left-0 text-sm text-
|
|
4
|
-
<span class="absolute -top-6 right-0 text-sm text-
|
|
2
|
+
<div class="relative mt-4 lg:mt-10 w-full max-w-[700px] bg-lightProgressBarUnfilledColor rounded-full h-2.5 dark:bg-darkProgressBarUnfilledColor">
|
|
3
|
+
<span class="absolute -top-6 left-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ leftLabel }}</span>
|
|
4
|
+
<span class="absolute -top-6 right-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ rightLabel }}</span>
|
|
5
5
|
<div
|
|
6
|
-
class="bg-
|
|
6
|
+
class="bg-lightProgressBarFilledColor dark:bg-darkProgressBarFilledColor h-2.5 rounded-full transition-all duration-300 ease-in-out"
|
|
7
7
|
:style="{ width: `${percentage}%` }"
|
|
8
8
|
></div>
|
|
9
|
-
<span v-if="showValues" class="absolute top-4 left-0 text-sm text-
|
|
10
|
-
<span v-if="showProgress" class="absolute top-4 right-1/2 translate-x-1/2 text-sm text-
|
|
11
|
-
<span v-if="showValues" class="absolute top-4 right-0 text-sm text-
|
|
9
|
+
<span v-if="showValues" class="absolute top-4 left-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ formatValue(minValue) }}</span>
|
|
10
|
+
<span v-if="showProgress" class="absolute top-4 right-1/2 translate-x-1/2 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ progressText }}</span>
|
|
11
|
+
<span v-if="showValues" class="absolute top-4 right-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ formatValue(maxValue) }}</span>
|
|
12
12
|
</div>
|
|
13
13
|
</template>
|
|
14
14
|
|
|
@@ -11,27 +11,27 @@
|
|
|
11
11
|
@click="inputClick"
|
|
12
12
|
@input="inputInput"
|
|
13
13
|
class="block w-full pl-3 pr-10 py-2.5 border border-lightDropownButtonsBorder rounded-md leading-5 bg-lightDropdownButtonsBackground
|
|
14
|
-
placeholder-lightDropdownButtonsPlaceholderText text-lightDropdownButtonsText sm:text-sm transition duration-150 ease-in-out dark:bg-darkDropdownButtonsBackground dark:border-
|
|
15
|
-
|
|
14
|
+
placeholder-lightDropdownButtonsPlaceholderText text-lightDropdownButtonsText sm:text-sm transition duration-150 ease-in-out dark:bg-darkDropdownButtonsBackground dark:border-darkDropdownButtonsBorder dark:placeholder-darkDropdownButtonsPlaceholderText
|
|
15
|
+
dark:text-darkDropdownButtonsText focus:ring-lightPrimary focus:border-lightPrimary dark:focus:ring-darkPrimary dark:focus:border-darkPrimary"
|
|
16
16
|
autocomplete="off" data-custom="no-autofill"
|
|
17
17
|
:placeholder="
|
|
18
18
|
selectedItems.length && !multiple ? '' : (showDropdown ? $t('Search') : placeholder || $t('Select...'))
|
|
19
19
|
"
|
|
20
20
|
/>
|
|
21
21
|
|
|
22
|
-
<div v-if="!multiple && selectedItems.length" class="absolute pointer-events-none inset-y-0 left-2 flex items-center pr-2 px-1">
|
|
22
|
+
<div v-if="!multiple && selectedItems.length" class="text-lightDropdownButtonsText dark:text-darkDropdownButtonsText absolute pointer-events-none inset-y-0 left-2 flex items-center pr-2 px-1">
|
|
23
23
|
<slot
|
|
24
24
|
name="selected-item"
|
|
25
25
|
:option="selectedItems[0]"
|
|
26
26
|
></slot>
|
|
27
|
-
<span v-if="!$slots['selected-item']" class="text-
|
|
27
|
+
<span v-if="!$slots['selected-item']" class="text-lightDropdownButtonsText dark:text-darkDropdownButtonsText font-medium ">
|
|
28
28
|
{{ selectedItems[0]?.label }}
|
|
29
29
|
</span>
|
|
30
30
|
</div>
|
|
31
31
|
|
|
32
32
|
<div class="absolute inset-y-0 right-2 flex items-center pointer-events-none">
|
|
33
33
|
<!-- triangle icon -->
|
|
34
|
-
<IconCaretDownSolid class="h-5 w-5 text-lightPrimary dark:text-
|
|
34
|
+
<IconCaretDownSolid class="h-5 w-5 text-lightPrimary dark:text-darkPrimary opacity-50 transition duration-150 ease-in"
|
|
35
35
|
:class="{ 'transform rotate-180': showDropdown }"
|
|
36
36
|
/>
|
|
37
37
|
</div>
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
v-for="item in filteredItems"
|
|
46
46
|
:key="item.value"
|
|
47
47
|
class="px-4 py-2 cursor-pointer hover:bg-lightDropdownOptionsHoverBackground dark:hover:bg-darkDropdownOptionsHoverBackground text-lightDropdownOptionsText dark:text-darkDropdownOptionsText"
|
|
48
|
-
:class="{ 'bg-
|
|
48
|
+
:class="{ 'bg-lightDropdownPicked dark:bg-darkDropdownPicked': selectedItems.includes(item) }"
|
|
49
49
|
@click="toogleItem(item)"
|
|
50
50
|
>
|
|
51
51
|
<slot name="item" :option="item"></slot>
|
|
@@ -62,14 +62,14 @@
|
|
|
62
62
|
</teleport>
|
|
63
63
|
|
|
64
64
|
<div v-if="!teleportToBody && showDropdown" ref="dropdownEl" :style="dropdownStyle" :class="{'shadow-none': isTop}"
|
|
65
|
-
class="absolute z-10 mt-1 w-full bg-
|
|
65
|
+
class="absolute z-10 mt-1 w-full bg-lightDropdownOptionsBackground shadow-lg text-lightDropdownButtonsText dark:shadow-black dark:bg-darkDropdownOptionsBackground
|
|
66
66
|
dark:border-gray-600 rounded-md py-1 text-base ring-1 ring-black ring-opacity-5 overflow-auto focus:outline-none sm:text-sm max-h-48"
|
|
67
|
-
|
|
67
|
+
@scroll="handleDropdownScroll">
|
|
68
68
|
<div
|
|
69
69
|
v-for="item in filteredItems"
|
|
70
70
|
:key="item.value"
|
|
71
|
-
class="px-4 py-2 cursor-pointer hover:bg-lightDropdownOptionsHoverBackground dark:hover:bg-darkDropdownOptionsHoverBackground dark:text-darkDropdownOptionsText"
|
|
72
|
-
:class="{ 'bg-
|
|
71
|
+
class="px-4 py-2 cursor-pointer text-lightDropdownOptionsText hover:bg-lightDropdownOptionsHoverBackground dark:hover:bg-darkDropdownOptionsHoverBackground dark:text-darkDropdownOptionsText"
|
|
72
|
+
:class="{ 'bg-lightDropdownPicked dark:bg-darkDropdownPicked': selectedItems.includes(item) }"
|
|
73
73
|
@click="toogleItem(item)"
|
|
74
74
|
>
|
|
75
75
|
<slot name="item" :option="item"></slot>
|
|
@@ -90,12 +90,12 @@
|
|
|
90
90
|
<template v-for="item in selectedItems" :key="`afcl-select-${item.value}`">
|
|
91
91
|
<slot name="selected-item" :item="item"></slot>
|
|
92
92
|
<div v-if="!$slots['selected-item']"
|
|
93
|
-
class="bg-
|
|
93
|
+
class="bg-lightDropdownMultipleSelectBackground text-lightDropdownMultipleSelectText text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-darkDropdownMultipleSelectBackground dark:text-darkDropdownMultipleSelectText">
|
|
94
94
|
<span>{{ item.label }}</span>
|
|
95
95
|
<button
|
|
96
96
|
type="button"
|
|
97
97
|
@click="toogleItem(item)"
|
|
98
|
-
class="z-index-100 flex-shrink-0 ml-1 h-4 w-4 -mr-1 rounded-full inline-flex items-center justify-center text-
|
|
98
|
+
class="z-index-100 flex-shrink-0 ml-1 h-4 w-4 -mr-1 rounded-full inline-flex items-center justify-center text-lightDropdownMultipleSelectIcon hover:text-lightDropdownMultipleSelectIconHover dark:text-darkDropdownMultipleSelectIcon dark:hover:text-darkDropdownMultipleSelectIconHover focus:outline-none focus:text-lightDropdownMultipleSelectIconFocus focus:bg-lightDropdownMultipleSelectIconFocusBackground dark:focus:text-darkDropdownMultipleSelectIconFocus dark:focus:bg-darkDropdownMultipleSelectIconFocusBackground"
|
|
99
99
|
>
|
|
100
100
|
<span class="sr-only">{{ $t('Remove item') }}</span>
|
|
101
101
|
<svg class="h-2 w-2" stroke="currentColor" fill="none" viewBox="0 0 8 8">
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="type === 'image'" role="status" class="flex animate-pulse items-center justify-center bg-
|
|
3
|
-
<svg class="w-10 h-10 text-
|
|
2
|
+
<div v-if="type === 'image'" role="status" class="flex animate-pulse items-center justify-center bg-lightSkeletonBackgroundColor rounded dark:bg-darkSkeletonBackgroundColor">
|
|
3
|
+
<svg class="w-10 h-10 text-lightSkeletonIconColor dark:text-darkSkeletonIconColor" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 18">
|
|
4
4
|
<path d="M18 0H2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2Zm-5.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm4.376 10.481A1 1 0 0 1 16 15H4a1 1 0 0 1-.895-1.447l3.5-7A1 1 0 0 1 7.468 6a.965.965 0 0 1 .9.5l2.775 4.757 1.546-1.887a1 1 0 0 1 1.618.1l2.541 4a1 1 0 0 1 .028 1.011Z"/>
|
|
5
5
|
</svg>
|
|
6
6
|
</div>
|
|
7
|
-
<div v-else-if="type === 'video'" role="status" class="flex items-center justify-center max-w-sm bg-
|
|
8
|
-
<svg class="w-10 h-10 text-
|
|
7
|
+
<div v-else-if="type === 'video'" role="status" class="flex items-center justify-center max-w-sm bg-lightSkeletonBackgroundColor rounded-lg animate-pulse dark:bg-darkSkeletonBackgroundColor">
|
|
8
|
+
<svg class="w-10 h-10 text-lightSkeletonIconColor dark:text-darkSkeletonIconColor" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 20">
|
|
9
9
|
<path d="M5 5V.13a2.96 2.96 0 0 0-1.293.749L.879 3.707A2.98 2.98 0 0 0 .13 5H5Z"/>
|
|
10
10
|
<path d="M14.066 0H7v5a2 2 0 0 1-2 2H0v11a1.97 1.97 0 0 0 1.934 2h12.132A1.97 1.97 0 0 0 16 18V2a1.97 1.97 0 0 0-1.934-2ZM9 13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2Zm4 .382a1 1 0 0 1-1.447.894L10 13v-2l1.553-1.276a1 1 0 0 1 1.447.894v2.764Z"/>
|
|
11
11
|
</svg>
|
|
12
12
|
<span class="sr-only">Loading...</span>
|
|
13
13
|
</div>
|
|
14
|
-
<svg v-else-if="type === 'avatar'" class="me-3 animate-pulse text-
|
|
14
|
+
<svg v-else-if="type === 'avatar'" class="me-3 animate-pulse text-lightSkeletonIconColor dark:text-darkSkeletonBackgroundColor" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
|
|
15
15
|
<path d="M10 0a10 10 0 1 0 10 10A10.011 10.011 0 0 0 10 0Zm0 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 13a8.949 8.949 0 0 1-4.951-1.488A3.987 3.987 0 0 1 9 13h2a3.987 3.987 0 0 1 3.951 3.512A8.949 8.949 0 0 1 10 18Z"/>
|
|
16
16
|
</svg>
|
|
17
|
-
<div v-else role="status" class="flex items-center justify-center animate-pulse bg-
|
|
17
|
+
<div v-else role="status" class="flex items-center justify-center animate-pulse bg-lightSkeletonIconColor rounded-full dark:bg-darkSkeletonBackgroundColor">
|
|
18
18
|
<span class="sr-only">Loading...</span>
|
|
19
19
|
</div>
|
|
20
20
|
</template>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
|
|
3
3
|
<div class="afcl-table-container relative overflow-x-auto shadow-md sm:rounded-lg">
|
|
4
|
-
<table class="afcl-table w-full text-sm text-left rtl:text-right text-
|
|
5
|
-
<thead class="afcl-table-thread text-xs text-
|
|
4
|
+
<table class="afcl-table w-full text-sm text-left rtl:text-right text-lightTableText dark:text-darkTableText">
|
|
5
|
+
<thead class="afcl-table-thread text-xs text-lightTableHeadingText uppercase bg-lightTableHeadingBackground dark:bg-darkTableHeadingBackground dark:text-darkTableHeadingText">
|
|
6
6
|
<tr>
|
|
7
7
|
<th scope="col" class="px-6 py-3"
|
|
8
8
|
v-for="column in columns"
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
<tr
|
|
20
20
|
v-for="(item, index) in dataPage"
|
|
21
21
|
:class="{
|
|
22
|
-
'afcl-table-body odd:bg-
|
|
23
|
-
'border-b dark:border-
|
|
22
|
+
'afcl-table-body odd:bg-lightTableOddBackground odd:dark:bg-darkTableOddBackground even:bg-lightTableEvenBackground even:dark:bg-darkTableEvenBackground': evenHighlights,
|
|
23
|
+
'border-b border-lightTableBorder dark:border-darkTableBorder': index !== dataPage.length - 1 || totalPages > 1,
|
|
24
24
|
}"
|
|
25
25
|
>
|
|
26
26
|
<td class="px-6 py-4"
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
</tr>
|
|
39
39
|
</tbody>
|
|
40
40
|
</table>
|
|
41
|
-
<nav class="afcl-table-pagination-container flex items-center flex-column flex-wrap md:flex-row justify-between p-4"
|
|
41
|
+
<nav class="afcl-table-pagination-container bg-lightTableBackground dark:bg-darkTableBackground flex items-center flex-column flex-wrap md:flex-row justify-between p-4"
|
|
42
42
|
v-if="totalPages > 1"
|
|
43
43
|
:aria-label="$t('Table navigation')">
|
|
44
44
|
<i18n-t
|
|
45
|
-
keypath="Showing {from} to {to} of {total}" tag="span" class="afcl-table-pagination-text text-sm font-normal text-
|
|
45
|
+
keypath="Showing {from} to {to} of {total}" tag="span" class="afcl-table-pagination-text text-sm font-normal text-lightTablePaginationText dark:text-darkTablePaginationText mb-4 md:mb-0 block w-full md:inline md:w-auto"
|
|
46
46
|
>
|
|
47
|
-
<template #from><span class="font-semibold text-
|
|
48
|
-
<template #to><span class="font-semibold text-
|
|
49
|
-
<template #total><span class="font-semibold text-
|
|
47
|
+
<template #from><span class="font-semibold text-lightTablePaginationNumeration dark:text-darkTablePaginationNumeration">{{ Math.min((currentPage - 1) * props.pageSize + 1, props.data.length) }}</span></template>
|
|
48
|
+
<template #to><span class="font-semibold text-lightTablePaginationNumeration dark:text-darkTablePaginationNumeration">{{ Math.min(currentPage * props.pageSize, props.data.length) }}</span></template>
|
|
49
|
+
<template #total><span class="font-semibold text-lightTablePaginationNumeration dark:text-darkTablePaginationNumeration">{{ props.data.length }}</span></template>
|
|
50
50
|
</i18n-t>
|
|
51
51
|
|
|
52
52
|
<ul class="afcl-table-pagination-list inline-flex -space-x-px rtl:space-x-reverse text-sm h-8">
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
@click.prevent="switchPage(page)"
|
|
56
56
|
:aria-current="page === page ? 'page' : undefined"
|
|
57
57
|
:class='{
|
|
58
|
-
"afcl-table-pagination-button text-blue-600 bg-
|
|
59
|
-
"text-
|
|
58
|
+
"afcl-table-pagination-button text-blue-600 bg-lightActivePaginationButtonBackground text-lightActivePaginationButtonText dark:bg-darkActivePaginationButtonBackground dark:text-darkActivePaginationButtonText hover:opacity-90": page === currentPage,
|
|
59
|
+
"text-lightUnactivePaginationButtonText border bg-lightUnactivePaginationButtonBackground border-lightUnactivePaginationButtonBorder hover:bg-lightUnactivePaginationButtonHoverBackground hover:text-lightUnactivePaginationButtonHoverText dark:bg-darkUnactivePaginationButtonBackground dark:border-darkUnactivePaginationButtonBorder dark:text-darkUnactivePaginationButtonText dark:hover:bg-darkUnactivePaginationButtonHoverBackground dark:hover:text-darkUnactivePaginationButtonHoverText": page !== currentPage,
|
|
60
60
|
"rounded-s-lg ms-0": page === 1,
|
|
61
61
|
"rounded-e-lg": page === totalPages,
|
|
62
62
|
}'
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</div>
|
|
5
5
|
<div
|
|
6
6
|
role="tooltip"
|
|
7
|
-
class="absolute z-10 invisible inline-block px-3 py-2 text-sm font-medium text-
|
|
7
|
+
class="absolute z-10 invisible inline-block px-3 py-2 text-sm font-medium text-lightTooltipText dark:darkTooltipText transition-opacity duration-300 bg-lightTooltipBackground rounded-lg shadow-sm opacity-0 tooltip dark:bg-darkTooltipBackground"
|
|
8
8
|
ref="tooltip"
|
|
9
9
|
>
|
|
10
10
|
<slot name="tooltip"></slot>
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="md:flex">
|
|
3
|
-
<ul class="flex-column space-y space-y-4 text-sm font-medium text-
|
|
3
|
+
<ul class="flex-column space-y space-y-4 text-sm font-medium text-lightVerticalTabsText dark:text-darkVerticalTabsText md:me-4 mb-4 md:mb-0">
|
|
4
4
|
<li v-for="tab in tabs" :key="`${tab}-tab-controll`">
|
|
5
5
|
<a
|
|
6
6
|
href="#"
|
|
7
7
|
@click="activeTab = tab"
|
|
8
8
|
class="inline-flex items-center px-4 py-3 rounded-lg w-full"
|
|
9
|
-
:class="tab === activeTab ? 'text-
|
|
9
|
+
:class="tab === activeTab ? 'text-lightVerticalTabsTextActive bg-lightVerticalTabsBackgroundActive active dark:bg-darkVerticalTabsBackgroundActive dark:text-darkVerticalTabsTextActive' : 'text-lightVerticalTabsText dark:text-darkVerticalTabsText hover:text-lightVerticalTabsTextHover bg-lightVerticalTabsBackground hover:bg-lightVerticalTabsBackgroundHover dark:bg-darkVerticalTabsBackground dark:hover:bg-darkVerticalTabsBackgroundHover dark:hover:darkVerticalTabsTextHover'"
|
|
10
10
|
aria-current="page"
|
|
11
11
|
>
|
|
12
12
|
<slot :name="`tab:${tab}`"></slot>
|
|
13
13
|
</a>
|
|
14
14
|
</li>
|
|
15
15
|
</ul>
|
|
16
|
-
<div class="ps-6 text-medium text-
|
|
16
|
+
<div class="ps-6 text-medium text-lightVerticalTabsSlotText dark:text-darkVerticalTabsSlotText w-full ">
|
|
17
17
|
<slot :name="activeTab"></slot>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
@@ -8,22 +8,22 @@ const modalStore = useModalStore();
|
|
|
8
8
|
<Teleport to="body">
|
|
9
9
|
<div v-if="modalStore.isOpened" class="bg-gray-900/50 dark:bg-gray-900/80 overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-full max-h-full">
|
|
10
10
|
<div class="relative p-4 w-full max-w-md max-h-full top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 " >
|
|
11
|
-
<div class="afcl-confirmation-container relative bg-
|
|
12
|
-
<button type="button"@click="modalStore.togleModal" class="absolute top-3 end-2.5 text-
|
|
11
|
+
<div class="afcl-confirmation-container relative bg-lightAcceptModalBackground rounded-lg shadow dark:bg-darkAcceptModalBackground dark:shadow-black">
|
|
12
|
+
<button type="button"@click="modalStore.togleModal" class="absolute top-3 end-2.5 text-lightAcceptModalCloseIcon bg-transparent hover:bg-lightAcceptModalCloseIconHoverBackground hover:text-lightAcceptModalCloseIconHover rounded-lg text-sm w-8 h-8 ms-auto inline-flex justify-center items-center dark:text-darkAcceptModalCloseIcon dark:hover:bg-darkAcceptModalCloseIconHoverBackground dark:hover:text-darkAcceptModalCloseIconHover" >
|
|
13
13
|
<svg class="w-3 h-3" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
|
|
14
14
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"/>
|
|
15
15
|
</svg>
|
|
16
16
|
<span class="sr-only">{{ $t('Close modal') }}</span>
|
|
17
17
|
</button>
|
|
18
18
|
<div class="p-4 md:p-5 text-center">
|
|
19
|
-
<svg class="mx-auto mb-4 text-
|
|
19
|
+
<svg class="mx-auto mb-4 text-lightAcceptModalWarningIcon w-12 h-12 dark:text-darkAcceptModalWarningIcon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20">
|
|
20
20
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11V6m0 8h.01M19 10a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"/>
|
|
21
21
|
</svg>
|
|
22
|
-
<h3 class="afcl-confirmation-title mb-5 text-lg font-normal text-
|
|
23
|
-
<button @click="()=>{ modalStore.onAcceptFunction(true);modalStore.togleModal()}" type="button" class="afcl-confirmation-accept-button text-
|
|
22
|
+
<h3 class="afcl-confirmation-title mb-5 text-lg font-normal text-lightAcceptModalText dark:text-darkAcceptModalText">{{ modalStore?.modalContent?.content }}</h3>
|
|
23
|
+
<button @click="()=>{ modalStore.onAcceptFunction(true);modalStore.togleModal()}" type="button" class="afcl-confirmation-accept-button text-lightAcceptModalConfirmButtonText bg-lightAcceptModalConfirmButtonBackground hover:bg-lightAcceptModalConfirmButtonBackgroundHover focus:ring-4 focus:outline-none focus:ring-lightAcceptModalConfirmButtonFocus font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center dark:text-darkAcceptModalConfirmButtonText dark:bg-darkAcceptModalConfirmButtonBackground dark:hover:bg-darkAcceptModalConfirmButtonBackgroundHover dark:focus:ring-darkAcceptModalConfirmButtonFocus">
|
|
24
24
|
{{ modalStore?.modalContent?.acceptText }}
|
|
25
25
|
</button>
|
|
26
|
-
<button @click="()=>{modalStore.onAcceptFunction(false);modalStore.togleModal()}" type="button" class="afcl-confirmation-cancel-button py-2.5 px-5 ms-3 text-sm font-medium text-
|
|
26
|
+
<button @click="()=>{modalStore.onAcceptFunction(false);modalStore.togleModal()}" type="button" class="afcl-confirmation-cancel-button py-2.5 px-5 ms-3 text-sm font-medium text-lightAcceptModalCancelButtonText focus:outline-none bg-lightAcceptModalCancelButtonBackground rounded-lg border border-lightAcceptModalCancelButtonBorder hover:bg-lightAcceptModalCancelButtonBackgroundHover hover:text-lightPrimary focus:z-10 focus:ring-4 focus:ring-lightAcceptModalCancelButtonFocus dark:focus:ring-darkAcceptModalCancelButtonFocus dark:bg-darkAcceptModalCancelButtonBackground dark:text-darkAcceptModalCancelButtonText dark:border-darkAcceptModalCancelButtonBorder dark:hover:text-darkAcceptModalCancelButtonTextHover dark:hover:bg-darkAcceptModalCancelButtonBackgroundHover">{{ modalStore?.modalContent?.cancelText }}</button>
|
|
27
27
|
</div>
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<nav class="flex" aria-label="Breadcrumb">
|
|
3
3
|
<ol class="inline-flex items-center space-x-1 md:space-x-2 rtl:space-x-reverse flex-wrap">
|
|
4
4
|
<li class="inline-flex items-center">
|
|
5
|
-
<RouterLink :to="{name: 'home'}" class="inline-flex items-center text-sm font-medium text-
|
|
5
|
+
<RouterLink :to="{name: 'home'}" class="inline-flex items-center text-sm font-medium text-lightBreadcrumbsHomepageText hover:text-lightBreadcrumbsHomepageTextHover dark:text-darkBreadcrumbsHomepageText dark:hover:text-darkBreadcrumbsHomepageTextHover">
|
|
6
6
|
<svg class="w-3 h-3 me-2.5" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
|
|
7
7
|
<path d="m19.707 9.293-2-2-7-7a1 1 0 0 0-1.414 0l-7 7-2 2a1 1 0 0 0 1.414 1.414L2 10.414V18a2 2 0 0 0 2 2h3a1 1 0 0 0 1-1v-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v4a1 1 0 0 0 1 1h3a2 2 0 0 0 2-2v-7.586l.293.293a1 1 0 0 0 1.414-1.414Z"/>
|
|
8
8
|
</svg>
|
|
@@ -11,19 +11,19 @@
|
|
|
11
11
|
</li>
|
|
12
12
|
<li>
|
|
13
13
|
<div class="flex items-center">
|
|
14
|
-
<svg class="rtl:rotate-180 w-3 h-3 text-
|
|
14
|
+
<svg class="rtl:rotate-180 w-3 h-3 text-lightBreadcrumbsArrowIcon dark:text-darkBreadcrumbsArrowIcon mx-1" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10">
|
|
15
15
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 9 4-4-4-4"/>
|
|
16
16
|
</svg>
|
|
17
|
-
<RouterLink :to="{name: 'resource-list', params: { resourceId: $route.params.resourceId }}" class="text-sm font-medium text-
|
|
17
|
+
<RouterLink :to="{name: 'resource-list', params: { resourceId: $route.params.resourceId }}" class="text-sm font-medium text-lightBreadcrumbsText md:ms-2 dark:text-darkBreadcrumbsText">{{ coreStore.resourceById[$route.params.resourceId]?.label }}</RouterLink>
|
|
18
18
|
</div>
|
|
19
19
|
</li>
|
|
20
20
|
|
|
21
21
|
<li v-if="$route.params.primaryKey">
|
|
22
22
|
<div class="flex items-center">
|
|
23
|
-
<svg class="rtl:rotate-180 w-3 h-3 text-
|
|
23
|
+
<svg class="rtl:rotate-180 w-3 h-3 text-lightBreadcrumbsArrowIcon dark:text-darkBreadcrumbsArrowIcon mx-1" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10">
|
|
24
24
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 9 4-4-4-4"/>
|
|
25
25
|
</svg>
|
|
26
|
-
<span class="ms-1 text-sm font-medium text-
|
|
26
|
+
<span class="ms-1 text-sm font-medium text-lightBreadcrumbsText md:ms-2 dark:text-darkBreadcrumbsText
|
|
27
27
|
max-w-80 truncate">
|
|
28
28
|
{{ $route.name === 'resource-edit' ? $t('Edit') : $t('Show') }} {{ coreStore.record?._label }}</span>
|
|
29
29
|
</div>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<textarea
|
|
102
102
|
v-else-if="['text', 'richtext'].includes(type || column.type)"
|
|
103
103
|
ref="input"
|
|
104
|
-
class="bg-
|
|
104
|
+
class="bg-lightInputBackground border border-lightInputBorder text-lightInputText placeholder-lightInputPlaceholderText text-sm rounded-lg block w-full p-2.5 dark:bg-darkInputBackground dark:border-darkInputBorder dark:placeholder-darkInputPlaceholderText dark:text-darkInputText dark:border-darkInputBorder focus:ring-lightInputFocusRing focus:border-lightInputFocusBorder dark:focus:ring-darkInputFocusRing dark:focus:border-darkInputFocusBorder"
|
|
105
105
|
:placeholder="$t('Text')"
|
|
106
106
|
:value="value"
|
|
107
107
|
@input="$emit('update:modelValue', $event.target.value)"
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
<textarea
|
|
111
111
|
v-else-if="['json'].includes(type || column.type)"
|
|
112
112
|
ref="input"
|
|
113
|
-
class="bg-
|
|
113
|
+
class="bg-lightInputBackground border border-lightInputBorder text-lightInputText placeholder-lightInputPlaceholderText text-sm rounded-lg block w-full p-2.5 dark:bg-darkInputBackground dark:border-darkInputBorder dark:placeholder-darkInputPlaceholderText dark:text-darkInputText dark:border-darkInputBorder focus:ring-lightInputFocusRing focus:border-lightInputFocusBorder dark:focus:ring-darkInputFocusRing dark:focus:border-darkInputFocusBorder"
|
|
114
114
|
:placeholder="$t('Text')"
|
|
115
115
|
:value="value"
|
|
116
116
|
@input="$emit('update:modelValue', $event.target.value)"
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
class="h-6 inset-y-2 right-0 flex items-center px-2 pt-4 z-index-100 focus:outline-none"
|
|
138
138
|
@click="$emit('delete')"
|
|
139
139
|
>
|
|
140
|
-
<IconTrashBinSolid class="w-6 h-6 text-
|
|
140
|
+
<IconTrashBinSolid class="w-6 h-6 text-lightInputIcons dark:text-darkInputIcons"/>
|
|
141
141
|
</button>
|
|
142
142
|
<button
|
|
143
143
|
v-else-if="column.masked"
|
|
@@ -145,8 +145,8 @@
|
|
|
145
145
|
@click="$emit('update:unmasked')"
|
|
146
146
|
class="h-6 inset-y-2 right-0 flex items-center px-2 pt-4 z-index-100 focus:outline-none"
|
|
147
147
|
>
|
|
148
|
-
<IconEyeSolid class="w-6 h-6 text-
|
|
149
|
-
<IconEyeSlashSolid class="w-6 h-6 text-
|
|
148
|
+
<IconEyeSolid class="w-6 h-6 text-lightInputIcons dark:text-darkInputIcons" v-if="!unmasked[column.name]"/>
|
|
149
|
+
<IconEyeSlashSolid class="w-6 h-6 text-lightInputIcons dark:text-darkInputIcons" v-else />
|
|
150
150
|
</button>
|
|
151
151
|
</div>
|
|
152
152
|
</template>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
v-if="!column.editReadonly"
|
|
28
28
|
type="button"
|
|
29
29
|
@click="addArrayItem"
|
|
30
|
-
class="flex items-center py-1 px-3 me-2 text-sm font-medium rounded-default text-
|
|
30
|
+
class="flex items-center py-1 px-3 me-2 text-sm font-medium rounded-default text-lightInputText focus:outline-none bg-lightInputBackground rounded border border-lightInputBorder hover:bg-lightInputBackgroundHover hover:text-lightInputTextHover hover:border-lightInputBorderHover focus:z-10 focus:ring-4 focus:ring-lightInputFocusRing dark:focus:ring-darkInputFocusRing dark:bg-darkInputBackground dark:text-darkInputText dark:border-darkInputBorder dark:hover:darkInputTextHover dark:hover:bg-darkInputHover"
|
|
31
31
|
:class="{'mt-2': currentValues[column.name].length}"
|
|
32
32
|
>
|
|
33
33
|
<IconPlusOutline class="w-4 h-4 me-2"/>
|