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.
Files changed (78) hide show
  1. package/dist/fluency-v8-components.es.js +144 -141
  2. package/dist/fluency-v8-components.umd.js +88 -88
  3. package/dist/{index-4Y4E9JbN.mjs → index-DVmLdvgq.mjs} +8404 -8347
  4. package/dist/index.css +1 -1
  5. package/dist/{index.es-CGlekcuf.mjs → index.es-BL37nGHt.mjs} +1 -1
  6. package/package.json +1 -1
  7. package/src/assets/main.css +359 -194
  8. package/src/components/buttons/ActionButtons.vue +10 -10
  9. package/src/components/buttons/DropdownButton.vue +14 -14
  10. package/src/components/buttons/IconButton.vue +3 -3
  11. package/src/components/buttons/ImageButton.vue +1 -1
  12. package/src/components/buttons/MenuButton.vue +12 -15
  13. package/src/components/buttons/TextButton.vue +5 -3
  14. package/src/components/charts/WorkflowChart.vue +1 -1
  15. package/src/components/common/AutoCompleteSearchBar.vue +5 -5
  16. package/src/components/common/Breadcrumb.vue +3 -3
  17. package/src/components/common/ButtonToggle.vue +2 -2
  18. package/src/components/common/Card.vue +14 -14
  19. package/src/components/common/Carousel.vue +5 -5
  20. package/src/components/common/EditorHeading.vue +1 -1
  21. package/src/components/common/Error.vue +19 -0
  22. package/src/components/common/EventList.vue +2 -2
  23. package/src/components/common/Facet.vue +4 -4
  24. package/src/components/common/Feed.vue +8 -8
  25. package/src/components/common/Loading.vue +2 -2
  26. package/src/components/common/LoadingDots.vue +3 -3
  27. package/src/components/common/Pagination.vue +6 -7
  28. package/src/components/common/PowerToggle.vue +11 -33
  29. package/src/components/common/ProgressBar.vue +2 -2
  30. package/src/components/common/RadioButtons.vue +3 -3
  31. package/src/components/common/Slideout.vue +7 -8
  32. package/src/components/common/Sort.vue +2 -5
  33. package/src/components/common/Table.vue +2 -8
  34. package/src/components/common/Tabs.vue +12 -11
  35. package/src/components/common/VerticalTabs.vue +7 -4
  36. package/src/components/common/facet/Leaf.vue +4 -4
  37. package/src/components/dialogs/CopyDialog.vue +2 -2
  38. package/src/components/dialogs/InfoDialog.vue +39 -0
  39. package/src/components/dialogs/PopupEditor.vue +9 -4
  40. package/src/components/dialogs/wizard/Stepper.vue +2 -2
  41. package/src/components/form/CheckBox.vue +2 -2
  42. package/src/components/form/Editor.vue +1 -1
  43. package/src/components/form/FormCol.vue +2 -2
  44. package/src/components/form/FormRow.vue +2 -2
  45. package/src/components/form/GreyForm.vue +1 -1
  46. package/src/components/form/GreyInput.vue +3 -3
  47. package/src/components/form/GreyInputAutocomplete.vue +16 -16
  48. package/src/components/form/GreyInputCopy.vue +6 -6
  49. package/src/components/form/GreyInputGrow.vue +2 -2
  50. package/src/components/form/GreyInputToken.vue +5 -5
  51. package/src/components/form/GreyPassword.vue +3 -3
  52. package/src/components/form/GreySelect.vue +18 -15
  53. package/src/components/form/GreySelectInput.vue +12 -14
  54. package/src/components/form/GreySelectInputMultiple.vue +11 -14
  55. package/src/components/form/GreyTel.vue +3 -3
  56. package/src/components/form/HamburgerItem.vue +1 -1
  57. package/src/components/form/KeyValueEntry.vue +1 -1
  58. package/src/components/form/RadioInput.vue +2 -2
  59. package/src/components/form/UploadFile.vue +1 -1
  60. package/src/components/icons/PlugOffIcon.vue +13 -0
  61. package/src/components/icons/PlugOnIcon.vue +13 -0
  62. package/src/components/index.js +11 -7
  63. package/src/components/menu/DialogMenu.vue +4 -4
  64. package/src/components/menu/GrandChild.vue +3 -5
  65. package/src/components/menu/GridMenu.vue +5 -5
  66. package/src/components/menu/MenuAvatar.vue +4 -4
  67. package/src/components/menu/MenuDesktop.vue +4 -6
  68. package/src/components/notifications/Notify.vue +19 -15
  69. package/src/components/notifications/NotifyList.vue +18 -14
  70. package/src/components/status/ScoreLevel.vue +1 -2
  71. package/src/components/status/TicketStatus.vue +11 -20
  72. package/src/components/tables/ArgumentTable.vue +1 -1
  73. package/src/constants/colors.js +1 -1
  74. package/src/fpl/Configs/Counter.vue +1 -0
  75. package/src/fpl/Configs/Image.vue +1 -1
  76. package/src/fpl/Configs/Table.vue +1 -1
  77. package/src/fpl/Panel.vue +8 -8
  78. 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
- ? 'bg-green-600'
7
- : 'bg-red-500',
8
- readonly ? 'cursor-not-allowed' : 'cursor-pointer',
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:ring-indigo-600 focus:ring-offset-1',
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
- { 'h-5 w-5': props.size === 'sm' },
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-gray-100 shadow-sm ring-0 transition duration-200 ease-in-out',
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
- <svg
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 text-red-600"
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
- <svg
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 text-green-600"
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="bg-gray-200 dark:bg-gray-500 rounded-xl shadow-xs overflow-hidden p-1"
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 bg-green-500"
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-gray-200': active },
17
- checked ? 'white-bg-hover text-black dark:text-white dark:bg-slate-800' : 'white-bg dark:bg-slate-600 dark:text-white',
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 bg-white shadow-xl dark:bg-black"
34
+ class="flex h-full flex-col std-white shadow-xl"
35
35
  >
36
- <div class="bg-sky-700 px-4 py-6 sm:px-6">
37
- <div class="flex items-center justify-between">
38
- <DialogTitle
39
- class="text-base font-semibold leading-6 text-white"
40
- >{{ adjustText(title, titleWidth) }}</DialogTitle
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 bg-sky-700 text-sky-200 hover:text-white focus:outline-hidden focus:ring-2 focus:ring-white"
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
- 'z-50 absolute z-50 mt-0.5 w-40 origin-top-right rounded-md py-2 shadow-lg max-h-96 overflow-y-auto break-all white-bg text-gray-700 dark:bg-black dark:text-gray-300',
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 space-x-2" aria-label="Tabs">
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
- ? 'bg-sky-100 dark:bg-slate-700 text-sky-700 dark:text-sky-100'
11
- : 'text-slate-500 dark:text-slate-200 opacity-50',
12
- 'cursor-pointer rounded-md px-4 py-2 hover:bg-sky-100 dark:hover:bg-slate-800',
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 hover:bg-sky-100 dark:hover:bg-slate-800 px-4 py-2 font-medium bg-sky-100 dark:bg-slate-700 text-sky-700 dark:text-sky-100',
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="z-50 min-w-full absolute left-0 mt-2 origin-top-left rounded-md bg-white dark:bg-black"
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 hover:bg-sky-100 dark:hover:bg-slate-800',
72
+ 'group flex w-full items-center rounded-md px-2 py-2 text-sm',
72
73
  tab.current
73
- ? 'bg-sky-100 dark:bg-slate-700 text-sky-700 dark:text-sky-100'
74
- : 'text-slate-500 dark:text-slate-200',
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
- current === tab
8
- ? 'bg-sky-100 dark:bg-slate-700 text-sky-700 dark:text-sky-100'
9
- : 'text-slate-500 dark:text-slate-200 opacity-50',
10
- 'cursor-pointer rounded-md px-4 py-2 hover:bg-sky-100 dark:hover:bg-slate-800',
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 "text-sky-600 cursor-pointer";
70
+ return "std-blue-text cursor-pointer";
71
71
  }
72
- return "text-gray-400 cursor-not-allowed";
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 "text-gray-400 cursor-not-allowed";
77
+ return "std-disabled-text cursor-not-allowed";
78
78
  }
79
- return "text-sky-600 cursor-pointer";
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 text-gray-600 dark:text-gray-400 font-bold">
5
+ <p class="break-all text-sm std-white-text font-bold">
6
6
  {{ token }}
7
7
  </p>
8
- <p class="text-sm text-gray-500">
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-black/50" />
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="bg-sky-700 px-4 py-3 text-white sm:px-6">
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 text-white"
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 bg-sky-700 text-sky-200 hover:text-white focus:outline-hidden focus:ring-2 focus:ring-white"
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
- { 'bg-gray-200 dark:bg-gray-500': step.status === 'upcoming' },
21
- { 'bg-sky-500': step.status !== 'upcoming' },
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 border-gray-400 text-indigo-600 focus:ring-indigo-600',
8
- $attrs.disabled ? 'cursor-not-allowed' : 'cursor-pointer',
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,5 +1,5 @@
1
1
  <template>
2
- <div id="toolbar" class="bg-blue-100 dark:bg-blue-200">
2
+ <div id="toolbar" class="std-light">
3
3
  <span class="ql-formats">
4
4
  <select class="ql-font"></select>
5
5
  <select class="ql-size"></select>
@@ -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 text-grey-7">
4
+ <div class="row text-xs font-medium">
5
5
  {{ fieldName }}
6
- <span v-if="required" class="text-red-500">*</span>
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 text-grey-7 pr-4">
4
+ <div class="w-20 sm:w-40 text-xs font-medium pr-4">
5
5
  {{ fieldName }}
6
- <span v-if="required" class="text-red-500">*</span>
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,5 +1,5 @@
1
1
  <template>
2
- <div class="rounded-lg shadow-lg my-2 bg-white dark:dark-bg">
2
+ <div class="rounded-lg shadow-lg my-2 std-white dark:dark-bg">
3
3
  <div class="px-6 py-4">
4
4
  <slot />
5
5
  </div>
@@ -1,7 +1,7 @@
1
1
  <template>
2
- <div :class="['flex input-block', { 'ring-red-600 ': error }]">
2
+ <div :class="['flex input-block', { 'std-red-ring ': error }]">
3
3
  <span
4
- class="flex select-none items-center pl-3 text-slate-400 italic sm:text-sm"
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="text-red-600 text-sm">
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
- :class="[
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="w-full border-0 text-sm bg-transparent p-1 px-2 focus:ring-0"
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 absolute z-20 mt-1 max-h-56 w-full overflow-auto rounded-md p-1 text-base shadow-lg ring-1 ring-black/5 focus:outline-hidden sm:text-sm"
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
- active ? 'bg-indigo-600 text-white' : '',
29
- 'relative cursor-default select-none py-2 pl-3 pr-9',
28
+ { 'std-blue text-white': active },
29
+ 'input-dropdown-item',
30
30
  ]"
31
31
  >
32
- <div class="flex items-center">
33
- <span :class="['block truncate']">{{ query }}</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
- active ? 'bg-indigo-600 text-white' : '',
47
- 'relative cursor-default select-none py-2 pl-3 pr-9',
46
+ { 'std-blue text-white': active },
47
+ 'input-dropdown-item',
48
48
  ]"
49
49
  >
50
- <div class="flex items-center">
51
- <span :class="['block truncate']">{{ option.label }}</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="text-red-600 text-sm">
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
- error ? 'ring-red-600 ' : '',
8
- readonly ? 'disabled' : '',
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 absolute flex items-center right-2 inset-y-0',
18
- error ? 'pb-5' : '',
17
+ 'input-icon cursor-pointer',
18
+ { 'pb-5': error },
19
19
  ]"
20
20
  @click="copyInput"
21
21
  >
22
- <DocumentDuplicateIcon class="icon-md text-gray-400" />
22
+ <DocumentDuplicateIcon class="icon-md" />
23
23
  </span>
24
- <div v-if="error" class="text-red-600 text-sm">
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', { 'ring-red-600 ': error }]"
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="text-red-600 text-sm">
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
- error ? 'ring-red-600 ' : '',
8
- readonly ? 'disabled' : '',
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 absolute flex items-center right-2 inset-y-0',
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 text-gray-400"
22
+ class="icon-md"
23
23
  @click="generateToken"
24
24
  />
25
25
  </span>
26
- <div v-if="error" class="text-red-600 text-sm">
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
- error ? 'ring-red-600 ' : '',
7
- readonly ? 'disabled' : '',
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="text-red-600 text-sm">
13
+ <div v-if="error" class="std-red-text text-sm">
14
14
  {{ error }}
15
15
  </div>
16
16
  </template>