fluency-v8-components 1.4.3 → 1.4.5
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/fluency-v8-components.es.js +144 -141
- package/dist/fluency-v8-components.umd.js +88 -88
- package/dist/{index-4Y4E9JbN.mjs → index-DVmLdvgq.mjs} +8404 -8347
- package/dist/index.css +1 -1
- package/dist/{index.es-CGlekcuf.mjs → index.es-BL37nGHt.mjs} +1 -1
- package/package.json +1 -1
- package/src/assets/main.css +359 -194
- package/src/components/buttons/ActionButtons.vue +10 -10
- package/src/components/buttons/DropdownButton.vue +14 -14
- package/src/components/buttons/IconButton.vue +3 -3
- package/src/components/buttons/ImageButton.vue +1 -1
- package/src/components/buttons/MenuButton.vue +12 -15
- package/src/components/buttons/TextButton.vue +5 -3
- package/src/components/charts/WorkflowChart.vue +1 -1
- package/src/components/common/AutoCompleteSearchBar.vue +5 -5
- package/src/components/common/Breadcrumb.vue +3 -3
- package/src/components/common/ButtonToggle.vue +2 -2
- package/src/components/common/Card.vue +14 -14
- package/src/components/common/Carousel.vue +5 -5
- package/src/components/common/EditorHeading.vue +1 -1
- package/src/components/common/Error.vue +19 -0
- package/src/components/common/EventList.vue +2 -2
- package/src/components/common/Facet.vue +4 -4
- package/src/components/common/Feed.vue +8 -8
- package/src/components/common/Loading.vue +2 -2
- package/src/components/common/LoadingDots.vue +3 -3
- package/src/components/common/Pagination.vue +6 -7
- package/src/components/common/PowerToggle.vue +11 -33
- package/src/components/common/ProgressBar.vue +2 -2
- package/src/components/common/RadioButtons.vue +3 -3
- package/src/components/common/Slideout.vue +7 -8
- package/src/components/common/Sort.vue +2 -5
- package/src/components/common/Table.vue +2 -8
- package/src/components/common/Tabs.vue +12 -11
- package/src/components/common/VerticalTabs.vue +7 -4
- package/src/components/common/facet/Leaf.vue +4 -4
- package/src/components/dialogs/CopyDialog.vue +2 -2
- package/src/components/dialogs/InfoDialog.vue +39 -0
- package/src/components/dialogs/PopupEditor.vue +9 -4
- package/src/components/dialogs/wizard/Stepper.vue +2 -2
- package/src/components/form/CheckBox.vue +2 -2
- package/src/components/form/Editor.vue +1 -1
- package/src/components/form/FormCol.vue +2 -2
- package/src/components/form/FormRow.vue +2 -2
- package/src/components/form/GreyForm.vue +1 -1
- package/src/components/form/GreyInput.vue +3 -3
- package/src/components/form/GreyInputAutocomplete.vue +16 -16
- package/src/components/form/GreyInputCopy.vue +6 -6
- package/src/components/form/GreyInputGrow.vue +2 -2
- package/src/components/form/GreyInputToken.vue +5 -5
- package/src/components/form/GreyPassword.vue +3 -3
- package/src/components/form/GreySelect.vue +18 -15
- package/src/components/form/GreySelectInput.vue +12 -14
- package/src/components/form/GreySelectInputMultiple.vue +11 -14
- package/src/components/form/GreyTel.vue +3 -3
- package/src/components/form/HamburgerItem.vue +1 -1
- package/src/components/form/KeyValueEntry.vue +1 -1
- package/src/components/form/RadioInput.vue +2 -2
- package/src/components/form/UploadFile.vue +1 -1
- package/src/components/icons/PlugOffIcon.vue +13 -0
- package/src/components/icons/PlugOnIcon.vue +13 -0
- package/src/components/index.js +11 -7
- package/src/components/menu/DialogMenu.vue +4 -4
- package/src/components/menu/GrandChild.vue +3 -5
- package/src/components/menu/GridMenu.vue +5 -5
- package/src/components/menu/MenuAvatar.vue +4 -4
- package/src/components/menu/MenuDesktop.vue +4 -6
- package/src/components/notifications/Notify.vue +19 -15
- package/src/components/notifications/NotifyList.vue +18 -14
- package/src/components/status/ScoreLevel.vue +1 -2
- package/src/components/status/TicketStatus.vue +11 -20
- package/src/components/tables/ArgumentTable.vue +1 -1
- package/src/constants/colors.js +1 -1
- package/src/fpl/Configs/Counter.vue +1 -0
- package/src/fpl/Configs/Image.vue +1 -1
- package/src/fpl/Configs/Table.vue +1 -1
- package/src/fpl/Panel.vue +8 -8
- package/src/fpl/Panels/Counter.vue +1 -0
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
v-bind="$attrs"
|
|
4
4
|
:class="[
|
|
5
5
|
forceActive || $attrs.modelValue === powerState
|
|
6
|
-
? '
|
|
7
|
-
: '
|
|
8
|
-
|
|
6
|
+
? 'std-green'
|
|
7
|
+
: 'std-red',
|
|
8
|
+
{ 'cursor-not-allowed': props.readonly },
|
|
9
9
|
{ 'h-6 w-9': props.size === 'sm' },
|
|
10
10
|
{ 'h-8 w-[52px]': props.size === 'md' },
|
|
11
|
-
'relative inline-flex flex-shrink-0 rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-hidden focus:ring-2 focus:
|
|
11
|
+
'relative inline-flex flex-shrink-0 rounded-full border-2 border-transparent cursor-pointer transition-colors duration-200 ease-in-out focus:outline-hidden focus:ring-2 focus:std-blue-ring focus:ring-offset-1',
|
|
12
12
|
]"
|
|
13
13
|
:disabled="props.readonly"
|
|
14
14
|
@update:model-value="emits('toggle')"
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
? 'translate-x-3'
|
|
24
24
|
: 'translate-x-5'
|
|
25
25
|
: 'translate-x-0',
|
|
26
|
-
{ '
|
|
26
|
+
{ 'icon-md': props.size === 'sm' },
|
|
27
27
|
{ 'h-7 w-7': props.size === 'md' },
|
|
28
|
-
'pointer-events-none relative inline-block transform rounded-full bg-
|
|
28
|
+
'pointer-events-none relative inline-block transform rounded-full bg-white shadow-sm ring-0 transition duration-200 ease-in-out',
|
|
29
29
|
]"
|
|
30
30
|
>
|
|
31
31
|
<span
|
|
@@ -37,21 +37,10 @@
|
|
|
37
37
|
]"
|
|
38
38
|
aria-hidden="true"
|
|
39
39
|
>
|
|
40
|
-
<
|
|
41
|
-
v-if="props.power"
|
|
42
|
-
height="20px"
|
|
43
|
-
viewBox="0 0 24 24"
|
|
44
|
-
width="20px"
|
|
45
|
-
fill="#ef4444"
|
|
46
|
-
>
|
|
47
|
-
<path d="M0 0h24v24H0V0z" fill="none" />
|
|
48
|
-
<path
|
|
49
|
-
d="M18 14.49V9c0-1-1.01-2.01-2-2V3h-2v4h-4V3H8v2.48l9.51 9.5.49-.49zm-1.76 1.77L7.2 7.2l-.01.01L3.98 4 2.71 5.25l3.36 3.36C6.04 8.74 6 8.87 6 9v5.48L9.5 18v3h5v-3l.48-.48L19.45 22l1.26-1.28-4.47-4.46z"
|
|
50
|
-
/>
|
|
51
|
-
</svg>
|
|
40
|
+
<PlugOffIcon v-if="props.power" />
|
|
52
41
|
<XMarkIcon
|
|
53
42
|
v-else
|
|
54
|
-
class="icon-md flex-shrink-0
|
|
43
|
+
class="icon-md flex-shrink-0 icon-red"
|
|
55
44
|
aria-hidden="true"
|
|
56
45
|
/>
|
|
57
46
|
</span>
|
|
@@ -64,21 +53,10 @@
|
|
|
64
53
|
]"
|
|
65
54
|
aria-hidden="true"
|
|
66
55
|
>
|
|
67
|
-
<
|
|
68
|
-
v-if="props.power"
|
|
69
|
-
height="20px"
|
|
70
|
-
viewBox="0 0 24 24"
|
|
71
|
-
width="20px"
|
|
72
|
-
fill="#16a34a"
|
|
73
|
-
>
|
|
74
|
-
<path d="M0 0h24v24H0z" fill="none" />
|
|
75
|
-
<path
|
|
76
|
-
d="M16.01 7L16 3h-2v4h-4V3H8v4h-.01C7 6.99 6 7.99 6 8.99v5.49L9.5 18v3h5v-3l3.5-3.51v-5.5c0-1-1-2-1.99-1.99z"
|
|
77
|
-
/>
|
|
78
|
-
</svg>
|
|
56
|
+
<PlugOnIcon v-if="props.power" />
|
|
79
57
|
<CheckIcon
|
|
80
58
|
v-else
|
|
81
|
-
class="icon-md flex-shrink-0
|
|
59
|
+
class="icon-md flex-shrink-0 icon-green"
|
|
82
60
|
aria-hidden="true"
|
|
83
61
|
/>
|
|
84
62
|
</span>
|
|
@@ -91,7 +69,7 @@
|
|
|
91
69
|
import { ref } from "vue";
|
|
92
70
|
import { Switch } from "@headlessui/vue";
|
|
93
71
|
import { XMarkIcon, CheckIcon } from "@heroicons/vue/24/outline";
|
|
94
|
-
import { Tooltip } from "@/components";
|
|
72
|
+
import { PlugOnIcon, PlugOffIcon, Tooltip } from "@/components";
|
|
95
73
|
|
|
96
74
|
const props = defineProps({
|
|
97
75
|
power: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="
|
|
3
|
+
class="slider-inactive rounded-xl shadow-xs overflow-hidden p-1"
|
|
4
4
|
>
|
|
5
5
|
<div
|
|
6
6
|
:class="[
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
]"
|
|
11
11
|
>
|
|
12
12
|
<div
|
|
13
|
-
class="absolute top-0 bottom-0 left-0 rounded-lg
|
|
13
|
+
class="absolute top-0 bottom-0 left-0 rounded-lg std-green-hover"
|
|
14
14
|
:style="{ width: `${props.progress}%` }"
|
|
15
15
|
/>
|
|
16
16
|
<div
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
{ 'py-3 px-4': size === 'lg' },
|
|
14
14
|
{ 'rounded-l-lg': i === 0},
|
|
15
15
|
{ 'rounded-r-lg': i === options.length - 1},
|
|
16
|
-
{ 'bg-
|
|
17
|
-
|
|
18
|
-
'cursor-pointer'
|
|
16
|
+
{ 'white-bg-hover dark:dark-bg-hover': checked || active },
|
|
17
|
+
{ 'white-bg dark:dark-bg opacity-75': !checked },
|
|
18
|
+
'cursor-pointer std-white-text'
|
|
19
19
|
]"
|
|
20
20
|
class="relative flex shadow-md focus:outline-hidden"
|
|
21
21
|
>
|
|
@@ -31,18 +31,17 @@
|
|
|
31
31
|
>
|
|
32
32
|
<DialogPanel class="pointer-events-auto w-screen max-w-2xl">
|
|
33
33
|
<div
|
|
34
|
-
class="flex h-full flex-col
|
|
34
|
+
class="flex h-full flex-col std-white shadow-xl"
|
|
35
35
|
>
|
|
36
|
-
<div class="
|
|
37
|
-
<div class="flex items-center justify-between">
|
|
38
|
-
<DialogTitle
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
>
|
|
36
|
+
<div class="std-blue px-4 py-6 sm:px-6">
|
|
37
|
+
<div class="flex items-center justify-between text-white">
|
|
38
|
+
<DialogTitle class="text-base font-semibold leading-6">
|
|
39
|
+
{{ adjustText(title, titleWidth) }}
|
|
40
|
+
</DialogTitle>
|
|
42
41
|
<div class="ml-3 flex h-7 items-center">
|
|
43
42
|
<button
|
|
44
43
|
type="button"
|
|
45
|
-
class="relative rounded-md
|
|
44
|
+
class="relative rounded-md focus:outline-hidden focus:ring-2 focus:ring-white hover:opacity-50"
|
|
46
45
|
@click="emits('close')"
|
|
47
46
|
>
|
|
48
47
|
<span class="absolute -inset-2.5" />
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
>
|
|
19
19
|
<MenuItems
|
|
20
20
|
:class="[
|
|
21
|
-
'
|
|
21
|
+
'std-white input-dropdown w-40 origin-top-right shadow-lg max-h-96',
|
|
22
22
|
direction === 'right' ? 'left-0 ' : 'right-0',
|
|
23
23
|
]"
|
|
24
24
|
>
|
|
@@ -27,10 +27,7 @@
|
|
|
27
27
|
<span
|
|
28
28
|
:class="[
|
|
29
29
|
active ? 'outline-hidden white-bg-hover dark:dark-bg-hover' : '',
|
|
30
|
-
{
|
|
31
|
-
'bg-gray-400 dark:bg-slate-800':
|
|
32
|
-
current.label === option.label,
|
|
33
|
-
},
|
|
30
|
+
{ 'white-bg-hover dark:dark-bg-hover': current.label === option.label },
|
|
34
31
|
`group flex w-full items-center rounded-md px-2 py-2 text-${size} cursor-pointer`,
|
|
35
32
|
]"
|
|
36
33
|
@click.stop="emits('sort', option)"
|
|
@@ -5,18 +5,12 @@
|
|
|
5
5
|
<div class="table-frame3">
|
|
6
6
|
<div :class="['table-shadow', { 'overflow-hidden': overflow }]">
|
|
7
7
|
<table class="std-table">
|
|
8
|
-
<thead
|
|
9
|
-
:class="
|
|
10
|
-
hideHeader
|
|
11
|
-
? 'sr-only'
|
|
12
|
-
: 'text-left bg-neutral-200 dark:dark-bg'
|
|
13
|
-
"
|
|
14
|
-
>
|
|
8
|
+
<thead :class="hideHeader ? 'sr-only' : 'text-left'">
|
|
15
9
|
<slot name="header" />
|
|
16
10
|
</thead>
|
|
17
11
|
<tbody v-if="!data || data.length === 0">
|
|
18
12
|
<tr>
|
|
19
|
-
<td colspan="100%" class="h-24 text-center">
|
|
13
|
+
<td colspan="100%" class="h-24 text-center std-table-body">
|
|
20
14
|
No data available
|
|
21
15
|
</td>
|
|
22
16
|
</tr>
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<div class="relative hidden md:block overflow-auto">
|
|
4
|
-
<nav class="flex
|
|
4
|
+
<nav class="flex" aria-label="Tabs">
|
|
5
5
|
<a
|
|
6
|
-
v-for="tab in tabs"
|
|
6
|
+
v-for="(tab, i) in tabs"
|
|
7
7
|
:key="tab.name"
|
|
8
8
|
:class="[
|
|
9
|
-
tab.current
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'
|
|
9
|
+
{ 'tab-selected': tab.current },
|
|
10
|
+
{ 'tab-unselected': !tab.current },
|
|
11
|
+
{ 'rounded-l-md': i === 0 },
|
|
12
|
+
{ 'rounded-r-md': i === tabs.length - 1 },
|
|
13
|
+
'cursor-pointer px-4 py-2 border-r std-white-border last:border-0',
|
|
13
14
|
]"
|
|
14
15
|
@click="switchTab(tab[props.tabField])"
|
|
15
16
|
>
|
|
@@ -38,7 +39,7 @@
|
|
|
38
39
|
<div>
|
|
39
40
|
<MenuButton
|
|
40
41
|
:class="[
|
|
41
|
-
'inline-flex w-full justify-center cursor-pointer rounded-md px-4 py-2
|
|
42
|
+
'tab-selected inline-flex w-full justify-center cursor-pointer rounded-md px-4 py-2 font-medium',
|
|
42
43
|
{ 'text-sm': props.size === 'small' },
|
|
43
44
|
{ 'text-lg': props.size === 'large' },
|
|
44
45
|
]"
|
|
@@ -63,15 +64,15 @@
|
|
|
63
64
|
leave-to-class="transform scale-95 opacity-0"
|
|
64
65
|
>
|
|
65
66
|
<MenuItems
|
|
66
|
-
class="
|
|
67
|
+
class="input-dropdown std-white min-w-full left-0 origin-top-left shadow-lg"
|
|
67
68
|
>
|
|
68
69
|
<MenuItem v-for="tab in tabs" @click="switchTab(tab.name)">
|
|
69
70
|
<button
|
|
70
71
|
:class="[
|
|
71
|
-
'group flex w-full items-center rounded-md px-2 py-2 text-sm
|
|
72
|
+
'group flex w-full items-center rounded-md px-2 py-2 text-sm',
|
|
72
73
|
tab.current
|
|
73
|
-
? '
|
|
74
|
-
: '
|
|
74
|
+
? 'tab-selected'
|
|
75
|
+
: 'tab-unselected',
|
|
75
76
|
]"
|
|
76
77
|
>
|
|
77
78
|
{{ tab.name }}
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
:key="index"
|
|
5
5
|
@click="updateValue(tab)"
|
|
6
6
|
:class="[
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
{
|
|
8
|
+
'tab-selected': current === tab,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
'tab-unselected': current !== tab,
|
|
12
|
+
},
|
|
13
|
+
'cursor-pointer rounded-md px-4 py-2 border-b std-white-border last:border-0',
|
|
11
14
|
]"
|
|
12
15
|
>
|
|
13
16
|
{{ tab }}
|
|
@@ -67,16 +67,16 @@ const tooltip = ref(false);
|
|
|
67
67
|
|
|
68
68
|
function noMore() {
|
|
69
69
|
if (topLevel.value < props.children.length) {
|
|
70
|
-
return "
|
|
70
|
+
return "std-blue-text cursor-pointer";
|
|
71
71
|
}
|
|
72
|
-
return "
|
|
72
|
+
return "std-disabled-text cursor-not-allowed";
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
function noLess() {
|
|
76
76
|
if (topLevel.value === 0 || props.children.length === 0) {
|
|
77
|
-
return "
|
|
77
|
+
return "std-disabled-text cursor-not-allowed";
|
|
78
78
|
}
|
|
79
|
-
return "
|
|
79
|
+
return "std-blue-text cursor-pointer";
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
function topUp() {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
<Dialog :open="open" :title="title" @close="closeModal">
|
|
3
3
|
<template #content>
|
|
4
4
|
<div class="mt-2">
|
|
5
|
-
<p class="break-all text-sm
|
|
5
|
+
<p class="break-all text-sm std-white-text font-bold">
|
|
6
6
|
{{ token }}
|
|
7
7
|
</p>
|
|
8
|
-
<p class="text-sm
|
|
8
|
+
<p class="text-sm font-light">
|
|
9
9
|
{{ msg }}
|
|
10
10
|
</p>
|
|
11
11
|
</div>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Dialog :open="open" :title="title" size="large">
|
|
3
|
+
<template #content>
|
|
4
|
+
<div class="mt-2">
|
|
5
|
+
<slot name="content" />
|
|
6
|
+
</div>
|
|
7
|
+
</template>
|
|
8
|
+
<template #footer>
|
|
9
|
+
<TextButton :text="closeMessage" @click="closeModal" />
|
|
10
|
+
</template>
|
|
11
|
+
</Dialog>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script lang="ts" setup>
|
|
15
|
+
import { ref } from "vue";
|
|
16
|
+
import { TextButton, Dialog } from "@/components";
|
|
17
|
+
|
|
18
|
+
const open = ref(false);
|
|
19
|
+
const title = ref("");
|
|
20
|
+
const closeMessage = ref("Close");
|
|
21
|
+
|
|
22
|
+
// function defs
|
|
23
|
+
function openModal(
|
|
24
|
+
t: string,
|
|
25
|
+
btn: string = "Close",
|
|
26
|
+
) {
|
|
27
|
+
title.value = t;
|
|
28
|
+
closeMessage.value = btn;
|
|
29
|
+
open.value = true;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function closeModal() {
|
|
33
|
+
open.value = false;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
defineExpose({
|
|
37
|
+
openModal,
|
|
38
|
+
});
|
|
39
|
+
</script>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
leave-from="opacity-100"
|
|
11
11
|
leave-to="opacity-0"
|
|
12
12
|
>
|
|
13
|
-
<div class="fixed inset-0 bg-
|
|
13
|
+
<div class="fixed inset-0 bg-gray-500/75" />
|
|
14
14
|
</TransitionChild>
|
|
15
15
|
|
|
16
16
|
<div class="fixed inset-0 overflow-y-auto">
|
|
@@ -30,17 +30,17 @@
|
|
|
30
30
|
class="m-2 transform overflow-hidden rounded-xl text-left align-middle shadow-xl transition-all"
|
|
31
31
|
style="width: 64rem"
|
|
32
32
|
>
|
|
33
|
-
<div class="
|
|
33
|
+
<div class="std-blue px-4 py-3 text-white sm:px-6">
|
|
34
34
|
<div class="flex items-center justify-between">
|
|
35
35
|
<DialogTitle
|
|
36
|
-
class="text-base font-semibold leading-6
|
|
36
|
+
class="text-base font-semibold leading-6"
|
|
37
37
|
>
|
|
38
38
|
{{ title }}
|
|
39
39
|
</DialogTitle>
|
|
40
40
|
<div class="ml-3 flex h-7 items-center">
|
|
41
41
|
<button
|
|
42
42
|
type="button"
|
|
43
|
-
class="relative rounded-md
|
|
43
|
+
class="relative rounded-md hover:opacity-50 focus:outline-hidden focus:ring-2 focus:ring-white"
|
|
44
44
|
@click="closeModal"
|
|
45
45
|
>
|
|
46
46
|
<span class="absolute -inset-2.5" />
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
v-model="code"
|
|
55
55
|
class="p-3"
|
|
56
56
|
:fontSize="`${fontSize ? fontSize : '12px'}`"
|
|
57
|
+
:theme="theme || 'light'"
|
|
57
58
|
:isFPL="isFPL"
|
|
58
59
|
:line-numbers="isFPL"
|
|
59
60
|
:readonly="!isEditable"
|
|
@@ -85,6 +86,10 @@ const props = defineProps({
|
|
|
85
86
|
type: String,
|
|
86
87
|
default: "12px",
|
|
87
88
|
},
|
|
89
|
+
theme: {
|
|
90
|
+
type: String,
|
|
91
|
+
default: "light",
|
|
92
|
+
},
|
|
88
93
|
});
|
|
89
94
|
const emits = defineEmits(["update"]);
|
|
90
95
|
// states
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
v-for="(step, i) in steps"
|
|
18
18
|
:class="[
|
|
19
19
|
`h-2 w-1/${steps.length} rounded-lg`,
|
|
20
|
-
{ '
|
|
21
|
-
{ '
|
|
20
|
+
{ 'slider-inactive': step.status === 'upcoming' },
|
|
21
|
+
{ 'std-blue': step.status !== 'upcoming' },
|
|
22
22
|
]"
|
|
23
23
|
/>
|
|
24
24
|
</div>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<input
|
|
5
5
|
type="checkbox"
|
|
6
6
|
:class="[
|
|
7
|
-
'icon-md rounded-sm
|
|
8
|
-
|
|
7
|
+
'icon-md rounded-sm cursor-pointer',
|
|
8
|
+
{ 'cursor-not-allowed!': $attrs.disabled },
|
|
9
9
|
]"
|
|
10
10
|
:checked="$attrs.modelValue"
|
|
11
11
|
v-bind="$attrs"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="col py-1">
|
|
3
3
|
<!-- provide section name -->
|
|
4
|
-
<div class="row text-xs font-medium
|
|
4
|
+
<div class="row text-xs font-medium">
|
|
5
5
|
{{ fieldName }}
|
|
6
|
-
<span v-if="required" class="
|
|
6
|
+
<span v-if="required" class="std-red-text">*</span>
|
|
7
7
|
</div>
|
|
8
8
|
<div class="flex-row w-full">
|
|
9
9
|
<slot />
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="flex items-center py-3">
|
|
3
3
|
<!-- provide section name -->
|
|
4
|
-
<div class="w-20 sm:w-40 text-xs font-medium
|
|
4
|
+
<div class="w-20 sm:w-40 text-xs font-medium pr-4">
|
|
5
5
|
{{ fieldName }}
|
|
6
|
-
<span v-if="required" class="
|
|
6
|
+
<span v-if="required" class="std-red-text">*</span>
|
|
7
7
|
</div>
|
|
8
8
|
<div class="w-32 sm:w-full">
|
|
9
9
|
<slot />
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="['flex input-block', { '
|
|
2
|
+
<div :class="['flex input-block', { 'std-red-ring ': error }]">
|
|
3
3
|
<span
|
|
4
|
-
class="flex select-none items-center pl-3
|
|
4
|
+
class="flex select-none items-center pl-3 std-disabled-text italic sm:text-sm"
|
|
5
5
|
>
|
|
6
6
|
{{ prefix }}
|
|
7
7
|
</span>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
@input="onChange"
|
|
18
18
|
/>
|
|
19
19
|
</div>
|
|
20
|
-
<div v-if="error" class="
|
|
20
|
+
<div v-if="error" class="std-red-text text-sm">
|
|
21
21
|
{{ error }}
|
|
22
22
|
</div>
|
|
23
23
|
</template>
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
<Combobox
|
|
3
3
|
as="div"
|
|
4
4
|
v-bind="$attrs"
|
|
5
|
-
|
|
6
|
-
'input-block py-1 relative',
|
|
7
|
-
error ? 'ring-red-600 ' : '',
|
|
8
|
-
readonly ? 'disabled' : '',
|
|
9
|
-
]"
|
|
5
|
+
class="relative input-block"
|
|
10
6
|
:disabled="readonly ? true : false"
|
|
11
7
|
>
|
|
12
8
|
<ComboboxInput
|
|
13
|
-
class="
|
|
9
|
+
:class="[
|
|
10
|
+
'px-2 w-full bg-transparent border-0 outline-none ring-0 focus:outline-none focus:ring-0',
|
|
11
|
+
{ 'std-red-ring': error },
|
|
12
|
+
{ 'disabled': readonly },
|
|
13
|
+
]"
|
|
14
14
|
@change="query = $event.target.value"
|
|
15
15
|
:displayValue="(option) => option"
|
|
16
16
|
/>
|
|
17
17
|
<ComboboxOptions
|
|
18
|
-
class="input-block
|
|
18
|
+
class="input-block input-dropdown text-base sm:text-sm"
|
|
19
19
|
>
|
|
20
20
|
<ComboboxOption
|
|
21
21
|
v-if="queryOption && !filteredOptions.some((option) => option.value === queryOption)"
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
>
|
|
26
26
|
<li
|
|
27
27
|
:class="[
|
|
28
|
-
|
|
29
|
-
'
|
|
28
|
+
{ 'std-blue text-white': active },
|
|
29
|
+
'input-dropdown-item',
|
|
30
30
|
]"
|
|
31
31
|
>
|
|
32
|
-
<div class="flex items-center">
|
|
33
|
-
<span
|
|
32
|
+
<div class="flex items-center pr-10">
|
|
33
|
+
<span class="input-dropdown-label">{{ query }}</span>
|
|
34
34
|
</div>
|
|
35
35
|
</li>
|
|
36
36
|
</ComboboxOption>
|
|
@@ -43,18 +43,18 @@
|
|
|
43
43
|
>
|
|
44
44
|
<li
|
|
45
45
|
:class="[
|
|
46
|
-
|
|
47
|
-
'
|
|
46
|
+
{ 'std-blue text-white': active },
|
|
47
|
+
'input-dropdown-item',
|
|
48
48
|
]"
|
|
49
49
|
>
|
|
50
|
-
<div class="flex items-center">
|
|
51
|
-
<span
|
|
50
|
+
<div class="flex items-center pr-10">
|
|
51
|
+
<span class="input-dropdown-label">{{ option.label }}</span>
|
|
52
52
|
</div>
|
|
53
53
|
</li>
|
|
54
54
|
</ComboboxOption>
|
|
55
55
|
</ComboboxOptions>
|
|
56
56
|
</Combobox>
|
|
57
|
-
<div v-if="error" class="
|
|
57
|
+
<div v-if="error" class="std-red-text text-sm">
|
|
58
58
|
{{ error }}
|
|
59
59
|
</div>
|
|
60
60
|
</template>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
type="text"
|
|
5
5
|
:class="[
|
|
6
6
|
'pl-3 input-block pr-8',
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
{ 'std-red-ring': error },
|
|
8
|
+
{ 'disabled': readonly },
|
|
9
9
|
]"
|
|
10
10
|
:value="$attrs.modelValue"
|
|
11
11
|
v-bind="$attrs"
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
/>
|
|
15
15
|
<span
|
|
16
16
|
:class="[
|
|
17
|
-
'cursor-pointer
|
|
18
|
-
|
|
17
|
+
'input-icon cursor-pointer',
|
|
18
|
+
{ 'pb-5': error },
|
|
19
19
|
]"
|
|
20
20
|
@click="copyInput"
|
|
21
21
|
>
|
|
22
|
-
<DocumentDuplicateIcon class="icon-md
|
|
22
|
+
<DocumentDuplicateIcon class="icon-md" />
|
|
23
23
|
</span>
|
|
24
|
-
<div v-if="error" class="
|
|
24
|
+
<div v-if="error" class="std-red-text text-sm">
|
|
25
25
|
{{ error }}
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
:class="['flex input-block relative', { '
|
|
3
|
+
:class="['flex input-block relative', { 'std-red-ring ': error }]"
|
|
4
4
|
v-bind="$attrs"
|
|
5
5
|
>
|
|
6
6
|
<div
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
@input="$emit('update:modelValue', $event.target.value)"
|
|
21
21
|
/>
|
|
22
22
|
</div>
|
|
23
|
-
<div v-if="error" class="
|
|
23
|
+
<div v-if="error" class="std-red-text text-sm">
|
|
24
24
|
{{ error }}
|
|
25
25
|
</div>
|
|
26
26
|
</template>
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
type="text"
|
|
5
5
|
:class="[
|
|
6
6
|
'pl-3 input-block pr-8',
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
{ 'std-red-ring': error },
|
|
8
|
+
{ 'disabled': readonly },
|
|
9
9
|
]"
|
|
10
10
|
v-model.trim="inputValue"
|
|
11
11
|
v-bind="$attrs"
|
|
@@ -13,17 +13,17 @@
|
|
|
13
13
|
/>
|
|
14
14
|
<span
|
|
15
15
|
:class="[
|
|
16
|
-
'cursor-pointer
|
|
16
|
+
'input-icon cursor-pointer',
|
|
17
17
|
{ 'pb-5': error },
|
|
18
18
|
{ hidden: readonly },
|
|
19
19
|
]"
|
|
20
20
|
>
|
|
21
21
|
<CurrencyDollarIcon
|
|
22
|
-
class="icon-md
|
|
22
|
+
class="icon-md"
|
|
23
23
|
@click="generateToken"
|
|
24
24
|
/>
|
|
25
25
|
</span>
|
|
26
|
-
<div v-if="error" class="
|
|
26
|
+
<div v-if="error" class="std-red-text text-sm">
|
|
27
27
|
{{ error }}
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
type="password"
|
|
4
4
|
:class="[
|
|
5
5
|
'pl-3 input-block',
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
{ 'std-red-ring': error },
|
|
7
|
+
{ 'disabled': readonly },
|
|
8
8
|
]"
|
|
9
9
|
:value="$attrs.modelValue"
|
|
10
10
|
v-bind="$attrs"
|
|
11
11
|
@input="onChange"
|
|
12
12
|
/>
|
|
13
|
-
<div v-if="error" class="
|
|
13
|
+
<div v-if="error" class="std-red-text text-sm">
|
|
14
14
|
{{ error }}
|
|
15
15
|
</div>
|
|
16
16
|
</template>
|