whelk-ui 0.0.9 → 0.0.10

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/index.d.ts CHANGED
@@ -8,21 +8,30 @@ import { PropType } from 'vue';
8
8
  import { PublicProps } from 'vue';
9
9
 
10
10
  declare const __VLS_component: DefineComponent<ExtractPropTypes<{
11
- objectState: {
12
- type: StringConstructor;
13
- default: "NO_ACTION";
11
+ isActionRunning: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ required: false;
15
+ };
16
+ isDisabled: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
14
19
  required: false;
15
- validator: (value: string) => boolean;
16
20
  };
17
21
  }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
18
- objectState: {
19
- type: StringConstructor;
20
- default: "NO_ACTION";
22
+ isActionRunning: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ required: false;
26
+ };
27
+ isDisabled: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
21
30
  required: false;
22
- validator: (value: string) => boolean;
23
31
  };
24
32
  }>> & Readonly<{}>, {
25
- objectState: string;
33
+ isActionRunning: boolean;
34
+ isDisabled: boolean;
26
35
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLButtonElement>;
27
36
 
28
37
  declare const __VLS_component_2: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
@@ -55,6 +64,7 @@ declare function __VLS_template(): {
55
64
  attrs: Partial<{}>;
56
65
  slots: {
57
66
  default?(_: {}): any;
67
+ 'action-state'?(_: {}): any;
58
68
  };
59
69
  refs: {};
60
70
  rootEl: HTMLButtonElement;
package/dist/whelk-ui.css CHANGED
@@ -1 +1 @@
1
- button[data-v-3de7a432]{padding:.5rem 1rem;border:var(--border);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);color:var(--text)}button.compact[data-v-3de7a432]{padding:.25rem .125rem;font-size:.75rem;line-height:1rem}button.tiny[data-v-3de7a432]{padding:.125rem 0rem;font-size:.75rem;line-height:.75rem}button.primary[data-v-3de7a432]{background-color:var(--primary);border-color:var(--primary)}button.primary:hover[data-v-3de7a432]:enabled{background-color:var(--primary-hover)}button.secondary[data-v-3de7a432]{background-color:var(--secondary);border-color:var(--secondary)}button.secondary:hover[data-v-3de7a432]:enabled{background-color:var(--secondary-hover)}button.danger[data-v-3de7a432]{background-color:var(--danger);border-color:var(--danger)}button.danger:hover[data-v-3de7a432]:enabled{background-color:var(--danger-hover)}button.warning[data-v-3de7a432]{background-color:var(--warning);border-color:var(--warning)}button.warning:hover[data-v-3de7a432]:enabled{background-color:var(--warning-hover)}button.success[data-v-3de7a432]{background-color:var(--success);border-color:var(--success)}button.success:hover[data-v-3de7a432]:enabled{background-color:var(--success-hover)}button.info[data-v-3de7a432]{background-color:var(--info);border-color:var(--info)}button.info:hover[data-v-3de7a432]:enabled{background-color:var(--info-hover)}button.loading[data-v-3de7a432]{animation:loading-animation-3de7a432 1s infinite linear}@keyframes loading-animation-3de7a432{0%{color:var(--text)}50%{color:var(--text-muted)}to{color:var(--text)}}.card[data-v-025f3983]{border-radius:var(--border-radius);background-color:var(--bg-light)}.card-footer[data-v-86222ad6]{padding:0 0 .75rem}@media(--large-screen){.card-footer[data-v-86222ad6]{margin:1rem -2rem -1rem;padding:1rem 2rem;border-radius:0 0 var(--border-radius) var(--border-radius)}}.card-header[data-v-9e7cf920]{border-radius:0}@media(--large-screen){.card-header[data-v-9e7cf920]{border-radius:var(--border-radius) var(--border-radius) 0 0}}.checkbox-component label[data-v-39385668],.checkbox-component input[data-v-39385668]{padding:.5rem}.form-group[data-v-142c8936]{display:flex;flex-direction:column;margin-bottom:1.75rem}.form-group.compact[data-v-142c8936]{margin-bottom:.5rem}.render-error-message[data-v-e384ff35]{color:var(--text-red);font-weight:lighter;font-size:1rem;line-height:1.125rem;padding:0;margin:0}.render-error-message>svg[data-v-e384ff35]{transform:translateY(.125rem)}@media(--large-screen){.render-error-message[data-v-e384ff35]{font-size:.75rem}}p[data-v-e384ff35]:before{content:" ";white-space:pre}.tooltip[data-v-5121adbc]{display:none;position:absolute;z-index:10;padding:.75rem .25rem;background-color:var(--bg-dark);border-color:var(--border-muted);border-width:var(--border-width);border-style:var(--border-style);border-radius:var(--border-radius);transform:translateY(-100%) translateY(-.5rem);max-width:75vw}.tooltip.show[data-v-5121adbc]{display:inline-block}.tooltip>.tooltip-title[data-v-5121adbc]{margin:0 0 .125rem;color:var(--text-red)}.tooltip>.tooltip-message[data-v-5121adbc]{font-weight:lighter;margin:0;color:var(--text-muted)}@media(--large-screen){.tooltip[data-v-5121adbc]{max-width:50vw}}svg[data-v-5121adbc]{width:1rem;height:1rem;color:var(--text-muted)}.datetime-component label[data-v-905d8a98]{margin-bottom:6px}.datetime-component span[data-v-905d8a98]{color:var(--text-red)}.datetime-component input[data-v-905d8a98]{border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);border-color:var(--border);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.datetime-component input[data-v-905d8a98]:focus{border-color:var(--secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.datetime-component.compact>label[data-v-905d8a98]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.datetime-component.compact>label[data-v-905d8a98]{font-size:.75rem;line-height:1rem}}.datetime-component.compact>input[data-v-905d8a98]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}@media(--large-screen){.datetime-component.compact>input[data-v-905d8a98]{font-size:1rem;line-height:1.25rem}}.drop-down-items[data-v-7a71b3ac]{position:absolute;background-color:var(--bg-light);border:solid;border-width:var(--border-width);border-radius:var(--border-radius);border-color:var(--border-muted);z-index:20}.drop-down-items>.drop-down-item[data-v-7a71b3ac]{padding:.25rem .5rem}.drop-down-items>.drop-down-item[data-v-7a71b3ac]:hover{background-color:var(--bg-dark)}.drop-down-items>.drop-down-item>svg[data-v-7a71b3ac]{width:.75rem;height:.75rem}.drop-down>button[data-v-539fd54a]{border:solid;border-width:1px;border-radius:var(--border-radius);border-color:var(--border-muted);background:var(--bg-light);box-shadow:none;font-size:1rem;line-height:1.25rem;height:2rem;padding:0 1rem;position:relative;z-index:10}.drop-down>button>svg[data-v-539fd54a]{width:1rem;height:1rem;transform:translateY(2px)}.drop-down .drop-down-backdrop[data-v-539fd54a]{width:100vw;height:100dvh;z-index:5;background-color:#000000b3;position:fixed;top:0;left:0}.v-enter-active[data-v-539fd54a],.v-leave-active[data-v-539fd54a]{transition:opacity .5s ease}.v-enter-from[data-v-539fd54a],.v-leave-to[data-v-539fd54a]{opacity:0}.number-input>label[data-v-06558243]{margin-bottom:6px}.number-input>.number-input-row[data-v-06558243]{display:grid;grid-template-columns:3rem minmax(0,1fr) 3rem}.number-input>.number-input-row>.negative[data-v-06558243]{border-radius:var(--border-radius) 0 0 var(--border-radius);border-width:var(--border-width) 0 var(--border-width) var(--border-width)}.number-input>.number-input-row>input[data-v-06558243]{border-style:var(--border-style);border-width:var(--border-width);border-radius:0;border-color:var(--border);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.number-input>.number-input-row>input[data-v-06558243]:focus{border-color:var(--secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.number-input>.number-input-row>.positive[data-v-06558243]{border-radius:0 var(--border-radius) var(--border-radius) 0;border-width:var(--border-width) var(--border-width) var(--border-width) 0}.number-input.compact>label[data-v-06558243]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.number-input.compact>label[data-v-06558243]{font-size:.75rem;line-height:1rem}}.number-input.compact>.number-input-row[data-v-06558243]{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}.number-input.compact>.number-input-row>input[data-v-06558243]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}@media(--large-screen){.number-input.compact>.number-input-row>input[data-v-06558243]{font-size:1rem;line-height:1.25rem}}input[data-v-06558243]::-webkit-outer-spin-button,input[data-v-06558243]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-06558243]{-moz-appearance:textfield}.text-input>label[data-v-d179e9e2]{margin-bottom:6px}.text-input>span[data-v-d179e9e2]{color:var(--text-red)}.text-input>input[data-v-d179e9e2]{border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);border-color:var(--border);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.text-input>input[data-v-d179e9e2]:focus{border-color:var(--secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.text-input.compact>label[data-v-d179e9e2]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.text-input.compact>label[data-v-d179e9e2]{font-size:.75rem;line-height:1rem}}.text-input.compact>input[data-v-d179e9e2]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}.text-input.compact>input[data-v-d179e9e2]:focus{padding:calc(.25rem - 1px)}@media(--large-screen){.text-input.compact>input[data-v-d179e9e2]{font-size:1rem;line-height:1.25rem}}.switch-component[data-v-f28e5f26]{width:100%}.switch-component>.switch[data-v-f28e5f26]{display:grid;grid-template-columns:[on] 2rem [text] minmax(0,1fr) [off] 2rem;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);border-color:var(--border);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.switch-component>.switch>.switch-block[data-v-f28e5f26]{width:2rem;height:2rem;background-color:#ff69b4}.switch-component>.switch>.switch-text[data-v-f28e5f26]{display:grid;grid-area:text;text-align:center;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.switch-component>.switch.on>.switch-block[data-v-f28e5f26]{grid-area:on;background-color:var(--success)}.switch-component>.switch.off>.switch-block[data-v-f28e5f26]{grid-area:off;background-color:var(--info)}.switch-component.compact>label[data-v-f28e5f26]{font-size:1rem;line-height:1.25rem}.switch-component.compact>.switch[data-v-f28e5f26]{grid-template-columns:[on] 1rem [text] minmax(0,1fr) [off] 1rem}.switch-component.compact>.switch>.switch-block[data-v-f28e5f26]{width:1rem;height:1rem}.switch-component.compact>.switch>.switch-text[data-v-f28e5f26]{font-size:.75rem;line-height:1rem}label[data-v-88c9adeb]{margin-bottom:6px}span[data-v-88c9adeb]{color:var(--text-red)}textarea[data-v-88c9adeb]{border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);border-color:var(--border);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}textarea[data-v-88c9adeb]:focus{border-color:var(--secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.text-input>label[data-v-354652ea]{margin-bottom:6px}.text-input>span[data-v-354652ea]{color:var(--text-red)}.text-input>input[data-v-354652ea]{border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);border-color:var(--border);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.text-input>input[data-v-354652ea]:focus{border-color:var(--secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.text-input.compact>label[data-v-354652ea]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.text-input.compact>label[data-v-354652ea]{font-size:.75rem;line-height:1rem}}.text-input.compact>input[data-v-354652ea]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}.text-input.compact>input[data-v-354652ea]:focus{padding:calc(.25rem - 1px)}@media(--large-screen){.text-input.compact>input[data-v-354652ea]{font-size:1rem;line-height:1.25rem}}:root{--border-radius: 5px;--border-style: solid;--border-width: 1px;--bg-dark: hsl(26 53% 89%);--bg: hsl(26 100% 94%);--bg-light: hsl(26 100% 100%);--text: hsl(16 100% 4%);--text-red: hsl(8, 93%, 43%);--text-muted: hsl(26 35% 27%);--highlight: hsl(26 100% 99%);--border: hsl(26 21% 49%);--border-muted: hsl(26 27% 61%);--primary: hsl(27 65% 66%);--primary-hover: hsl(27 65% 76%);--secondary: hsl(204 74% 68%);--secondary-hover: hsl(204 74% 78%);--danger: hsl(9 26% 64%);--danger-hover: hsl(9 26% 74%);--warning: hsl(52 19% 57%);--warning-hover: hsl(52 19% 67%);--success: hsl(146 17% 59%);--success-hover: hsl(146 17% 69%);--info: hsl(217 28% 65%);--info-hover: hsl(217 28% 75%);--document-links: hsl(203.53, 40.8%, 24.51%);--document-links-hover: hsl(203.53, 40.8%, 75.51%);--customer-background: hsl(203.53, 40.8%, 75.49%);--customer-text: hsl(203.53, 40.8%, 24.51%);--kanban-board-background: hsl(78.26, 88.46%, 89.8%);--kanban-board-text: hsl(78.26, 88.46%, 10.2%);--kanban-card-background: hsl(74.12, 35.56%, 53.14%);--kanban-card-text: hsl(74.12, 35.56%, 10.86%);--organisation-background: hsl(52.05, 85.57%, 61.96%);--organisation-text: hsl(52.05, 85.57%, 8.04%);--request-for-change-background: hsl(67.61, 100%, 72.16%);--request-for-change-text: hsl(67.61, 100%, 7.84%);--requirement-background: hsl(200.31, 94.2%, 86.47%);--requirement-text: hsl(200.31, 94.2%, 10.53%);--requirement-item-background: hsl(322.8, 29.76%, 67.06%);--requirement-item-text: hsl(322.8, 29.76%, 8.94%);--project-background: hsl(333.62, 49.57%, 45.88%);--project-text: hsl(333.62, 49.57%, 8.12%);--task-background: hsl(224, 10.2%, 71.82%);--task-text: hsl(224, 10.2%, 7.18%)}.dark{--bg-dark: hsl(16 100% 2%);--bg: hsl(22 76% 4%);--bg-light: hsl(26 50% 8%);--text: hsl(26 100% 94%);--text-red: hsl(8, 93%, 23%);--text-muted: hsl(26 34% 68%);--highlight: hsl(26 26% 38%);--border: hsl(26 35% 27%);--border-muted: hsl(27 56% 16%);--primary: hsl(32 100% 20%);--primary-hover: hsl(32 100% 10%);--secondary: hsl(198 100% 20%);--secondary-hover: hsl(198 100% 10%);--danger: hsl(9 21% 41%);--danger-hover: hsl(9 21% 31%);--warning: hsl(52 23% 34%);--warning-hover: hsl(52 23% 24%);--success: hsl(147 19% 36%);--success-hover: hsl(147 19% 26%);--info: hsl(217 22% 41%);--info-hover: hsl(217 22% 31%)}
1
+ .wlk-button-component[data-v-ff32fdfb]{padding:.5rem 1rem;border:var(--wlk-border-color);border-radius:var(--wlk-border-radius);border-width:var(--wlk-border-width);border-style:var(--wlk-border-style);color:var(--wlk-text)}.wlk-button-component[data-v-ff32fdfb]:disabled{color:color-mix(in srgb,var(--wlk-text),#0000 var(--wlk-text-opacity))}.wlk-button-component.compact[data-v-ff32fdfb]{padding:.25rem .125rem;font-size:.75rem;line-height:1rem}.wlk-button-component.tiny[data-v-ff32fdfb]{padding:.125rem 0;font-size:.75rem;line-height:.75rem}.wlk-button-component.primary[data-v-ff32fdfb]{background-color:var(--wlk-primary);border-color:var(--wlk-primary)}.wlk-button-component.primary:hover[data-v-ff32fdfb]:enabled{background-color:var(--wlk-primary-hover)}.wlk-button-component.primary[data-v-ff32fdfb]:disabled{background-color:color-mix(in srgb,var(--wlk-primary),#0000 var(--wlk-text-opacity))}.wlk-button-component.secondary[data-v-ff32fdfb]{background-color:var(--wlk-secondary);border-color:var(--wlk-secondary)}.wlk-button-component.secondary:hover[data-v-ff32fdfb]:enabled{background-color:var(--wlk-secondary-hover)}.wlk-button-component.secondary[data-v-ff32fdfb]:disabled{background-color:color-mix(in srgb,var(--wlk-secondary),#0000 var(--wlk-text-opacity))}.wlk-button-component.danger[data-v-ff32fdfb]{background-color:var(--wlk-danger);border-color:var(--wlk-danger)}.wlk-button-component.danger:hover[data-v-ff32fdfb]:enabled{background-color:var(--wlk-danger-hover)}.wlk-button-component.danger[data-v-ff32fdfb]:disabled{background-color:color-mix(in srgb,var(--wlk-danger),#0000 var(--wlk-text-opacity))}.wlk-button-component.warning[data-v-ff32fdfb]{background-color:var(--wlk-warning);border-color:var(--wlk-warning)}.wlk-button-component.warning:hover[data-v-ff32fdfb]:enabled{background-color:var(--wlk-warning-hover)}.wlk-button-component.warning[data-v-ff32fdfb]:disabled{background-color:color-mix(in srgb,var(--wlk-warning),#0000 var(--wlk-text-opacity))}.wlk-button-component.success[data-v-ff32fdfb]{background-color:var(--wlk-success);border-color:var(--wlk-success)}.wlk-button-component.success:hover[data-v-ff32fdfb]:enabled{background-color:var(--wlk-success-hover)}.wlk-button-component.success[data-v-ff32fdfb]:disabled{background-color:color-mix(in srgb,var(--wlk-success),#0000 var(--wlk-text-opacity))}.wlk-button-component.info[data-v-ff32fdfb]{background-color:var(--wlk-info);border-color:var(--wlk-info)}.wlk-button-component.info:hover[data-v-ff32fdfb]:enabled{background-color:var(--wlk-info-hover)}.wlk-button-component.info[data-v-ff32fdfb]:disabled{background-color:color-mix(in srgb,var(--wlk-info),#0000 var(--wlk-text-opacity))}.wlk-card-component[data-v-74467f04]{border-radius:var(--wlk-border-radius);background-color:var(--wlk-bg-light)}.wlk-card-footer[data-v-d1e72c62]{padding:var(--wlk-card-footer-top-padding) var(--wlk-card-footer-right-padding) var(--wlk-card-footer-bottom-padding) var(--wlk-card-footer-left-padding)}.wlk-card-header[data-v-961bdb19]{border-radius:var(--wlk-border-radius)}.checkbox-component label[data-v-39385668],.checkbox-component input[data-v-39385668]{padding:.5rem}.form-group[data-v-142c8936]{display:flex;flex-direction:column;margin-bottom:1.75rem}.form-group.compact[data-v-142c8936]{margin-bottom:.5rem}.render-error-message[data-v-ae516306]{color:var(--wlk-text-red);font-weight:lighter;font-size:1rem;line-height:1.125rem;padding:0;margin:0}.render-error-message>svg[data-v-ae516306]{transform:translateY(.125rem)}@media(--large-screen){.render-error-message[data-v-ae516306]{font-size:.75rem}}p[data-v-ae516306]:before{content:" ";white-space:pre}.tooltip[data-v-259be5b6]{display:none;position:absolute;z-index:10;padding:.75rem .25rem;background-color:var(--wlk-bg-dark);border-color:var(--wlk-border-color-muted);border-width:var(--wlk-border-color-width);border-style:var(--wlk-border-style);border-radius:var(--wlk-border-color-radius);transform:translateY(-100%) translateY(-.5rem);max-width:75vw}.tooltip.show[data-v-259be5b6]{display:inline-block}.tooltip>.tooltip-title[data-v-259be5b6]{margin:0 0 .125rem;color:var(--wlk-text-red)}.tooltip>.tooltip-message[data-v-259be5b6]{font-weight:lighter;margin:0;color:var(--wlk-text-muted)}@media(--large-screen){.tooltip[data-v-259be5b6]{max-width:50vw}}svg[data-v-259be5b6]{width:1rem;height:1rem;color:var(--wlk-text-muted)}.datetime-component label[data-v-0431d9c6]{margin-bottom:6px}.datetime-component span[data-v-0431d9c6]{color:var(--wlk-text-red)}.datetime-component input[data-v-0431d9c6]{border-style:var(--wlk-border-style);border-width:var(--wlk-border-color-width);border-radius:var(--wlk-border-color-radius);border-color:var(--wlk-border-color);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.datetime-component input[data-v-0431d9c6]:focus{border-color:var(--wlk-secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.datetime-component.compact>label[data-v-0431d9c6]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.datetime-component.compact>label[data-v-0431d9c6]{font-size:.75rem;line-height:1rem}}.datetime-component.compact>input[data-v-0431d9c6]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}@media(--large-screen){.datetime-component.compact>input[data-v-0431d9c6]{font-size:1rem;line-height:1.25rem}}.drop-down-items[data-v-e1f5198c]{position:absolute;background-color:var(--wlk-bg-light);border:solid;border-width:var(--wlk-border-color-width);border-radius:var(--wlk-border-color-radius);border-color:var(--wlk-border-color-muted);z-index:20}.drop-down-items>.drop-down-item[data-v-e1f5198c]{padding:.25rem .5rem}.drop-down-items>.drop-down-item[data-v-e1f5198c]:hover{background-color:var(--wlk-bg-dark)}.drop-down-items>.drop-down-item>svg[data-v-e1f5198c]{width:.75rem;height:.75rem}.drop-down>button[data-v-e6dbee62]{border:solid;border-width:1px;border-radius:var(--wlk-border-color-radius);border-color:var(--wlk-border-color-muted);background:var(--wlk-bg-light);box-shadow:none;font-size:1rem;line-height:1.25rem;height:2rem;padding:0 1rem;position:relative;z-index:10}.drop-down>button>svg[data-v-e6dbee62]{width:1rem;height:1rem;transform:translateY(2px)}.drop-down .drop-down-backdrop[data-v-e6dbee62]{width:100vw;height:100dvh;z-index:5;background-color:#000000b3;position:fixed;top:0;left:0}.v-enter-active[data-v-e6dbee62],.v-leave-active[data-v-e6dbee62]{transition:opacity .5s ease}.v-enter-from[data-v-e6dbee62],.v-leave-to[data-v-e6dbee62]{opacity:0}.number-input>label[data-v-a67e88cf]{margin-bottom:6px}.number-input>.number-input-row[data-v-a67e88cf]{display:grid;grid-template-columns:3rem minmax(0,1fr) 3rem}.number-input>.number-input-row>.negative[data-v-a67e88cf]{border-radius:var(--wlk-border-color-radius) 0 0 var(--wlk-border-color-radius);border-width:var(--wlk-border-color-width) 0 var(--wlk-border-color-width) var(--wlk-border-color-width)}.number-input>.number-input-row>input[data-v-a67e88cf]{border-style:var(--wlk-border-style);border-width:var(--wlk-border-color-width);border-radius:0;border-color:var(--wlk-border-color);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.number-input>.number-input-row>input[data-v-a67e88cf]:focus{border-color:var(--wlk-secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.number-input>.number-input-row>.positive[data-v-a67e88cf]{border-radius:0 var(--wlk-border-color-radius) var(--wlk-border-color-radius) 0;border-width:var(--wlk-border-color-width) var(--wlk-border-color-width) var(--wlk-border-color-width) 0}.number-input.compact>label[data-v-a67e88cf]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.number-input.compact>label[data-v-a67e88cf]{font-size:.75rem;line-height:1rem}}.number-input.compact>.number-input-row[data-v-a67e88cf]{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}.number-input.compact>.number-input-row>input[data-v-a67e88cf]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}@media(--large-screen){.number-input.compact>.number-input-row>input[data-v-a67e88cf]{font-size:1rem;line-height:1.25rem}}input[data-v-a67e88cf]::-webkit-outer-spin-button,input[data-v-a67e88cf]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-a67e88cf]{-moz-appearance:textfield}.text-input>label[data-v-ebc196f2]{margin-bottom:6px}.text-input>span[data-v-ebc196f2]{color:var(--wlk-text-red)}.text-input>input[data-v-ebc196f2]{border-style:var(--wlk-border-style);border-width:var(--wlk-border-color-width);border-radius:var(--wlk-border-color-radius);border-color:var(--wlk-border-color);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.text-input>input[data-v-ebc196f2]:focus{border-color:var(--wlk-secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.text-input.compact>label[data-v-ebc196f2]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.text-input.compact>label[data-v-ebc196f2]{font-size:.75rem;line-height:1rem}}.text-input.compact>input[data-v-ebc196f2]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}.text-input.compact>input[data-v-ebc196f2]:focus{padding:calc(.25rem - 1px)}@media(--large-screen){.text-input.compact>input[data-v-ebc196f2]{font-size:1rem;line-height:1.25rem}}.switch-component[data-v-5b394104]{width:100%}.switch-component>.switch[data-v-5b394104]{display:grid;grid-template-columns:[on] 2rem [text] minmax(0,1fr) [off] 2rem;border-style:var(--wlk-border-style);border-width:var(--wlk-border-color-width);border-radius:var(--wlk-border-color-radius);border-color:var(--wlk-border-color);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.switch-component>.switch>.switch-block[data-v-5b394104]{width:2rem;height:2rem;background-color:#ff69b4}.switch-component>.switch>.switch-text[data-v-5b394104]{display:grid;grid-area:text;text-align:center;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.switch-component>.switch.on>.switch-block[data-v-5b394104]{grid-area:on;background-color:var(--wlk-success)}.switch-component>.switch.off>.switch-block[data-v-5b394104]{grid-area:off;background-color:var(--wlk-info)}.switch-component.compact>label[data-v-5b394104]{font-size:1rem;line-height:1.25rem}.switch-component.compact>.switch[data-v-5b394104]{grid-template-columns:[on] 1rem [text] minmax(0,1fr) [off] 1rem}.switch-component.compact>.switch>.switch-block[data-v-5b394104]{width:1rem;height:1rem}.switch-component.compact>.switch>.switch-text[data-v-5b394104]{font-size:.75rem;line-height:1rem}label[data-v-4d8b899d]{margin-bottom:6px}span[data-v-4d8b899d]{color:var(--wlk-text-red)}textarea[data-v-4d8b899d]{border-style:var(--wlk-border-style);border-width:var(--wlk-border-color-width);border-radius:var(--wlk-border-color-radius);border-color:var(--wlk-border-color);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}textarea[data-v-4d8b899d]:focus{border-color:var(--wlk-secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.text-input>label[data-v-894231bc]{margin-bottom:6px}.text-input>span[data-v-894231bc]{color:var(--wlk-text-red)}.text-input>input[data-v-894231bc]{border-style:var(--wlk-border-style);border-width:var(--wlk-border-color-width);border-radius:var(--wlk-border-color-radius);border-color:var(--wlk-border-color);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}.text-input>input[data-v-894231bc]:focus{border-color:var(--wlk-secondary);border-width:2px;outline:none;padding:calc(.5rem - 1px)}.text-input.compact>label[data-v-894231bc]{font-size:1rem;line-height:1.25rem;margin-bottom:2px}@media(--large-screen){.text-input.compact>label[data-v-894231bc]{font-size:.75rem;line-height:1rem}}.text-input.compact>input[data-v-894231bc]{font-size:1.25rem;line-height:1.5rem;padding:.25rem}.text-input.compact>input[data-v-894231bc]:focus{padding:calc(.25rem - 1px)}@media(--large-screen){.text-input.compact>input[data-v-894231bc]{font-size:1rem;line-height:1.25rem}}:root{--wlk-bg: hsl(26 100% 94%);--wlk-bg-dark: hsl(26 53% 89%);--wlk-bg-light: hsl(26 100% 100%);--wlk-text: hsl(16 100% 4%);--wlk-text-red: hsl(8, 93%, 43%);--wlk-text-muted: hsl(26 35% 27%);--wlk-text-opacity: 55%;--wlk-highlight: hsl(26 100% 99%);--wlk-primary: hsl(27 65% 66%);--wlk-primary-hover: hsl(27 65% 76%);--wlk-secondary: hsl(204 74% 68%);--wlk-secondary-hover: hsl(204 74% 78%);--wlk-danger: hsl(9 26% 64%);--wlk-danger-hover: hsl(9 26% 74%);--wlk-warning: hsl(52 19% 57%);--wlk-warning-hover: hsl(52 19% 67%);--wlk-success: hsl(146 17% 59%);--wlk-success-hover: hsl(146 17% 69%);--wlk-info: hsl(217 28% 65%);--wlk-info-hover: hsl(217 28% 75%)}.dark{--wlk-bg: hsl(22 76% 4%);--wlk-bg-dark: hsl(16 100% 2%);--wlk-bg-light: hsl(26 50% 8%);--wlk-text: hsl(26 100% 94%);--wlk-text-red: hsl(8, 93%, 23%);--wlk-text-muted: hsl(26 34% 68%);--wlk-highlight: hsl(26 26% 38%);--wlk-primary: hsl(32 100% 20%);--wlk-primary-hover: hsl(32 100% 10%);--wlk-secondary: hsl(198 100% 20%);--wlk-secondary-hover: hsl(198 100% 10%);--wlk-danger: hsl(9 21% 41%);--wlk-danger-hover: hsl(9 21% 31%);--wlk-warning: hsl(52 23% 34%);--wlk-warning-hover: hsl(52 23% 24%);--wlk-success: hsl(147 19% 36%);--wlk-success-hover: hsl(147 19% 26%);--wlk-info: hsl(217 22% 41%);--wlk-info-hover: hsl(217 22% 31%)}:root{--wlk-border-color: hsl(26 21% 49%);--wlk-border-top-color: var(--wlk-border-color);--wlk-border-right-color: var(--wlk-border-color);--wlk-border-bottom-color: var(--wlk-border-color);--wlk-border-left-color: var(--wlk-border-color);--wlk-border-color-muted: hsl(26 27% 61%);--wlk-border-top-color-muted: var(--wlk-border-color-muted);--wlk-border-right-color-muted: var(--wlk-border-color-muted);--wlk-border-bottom-color-muted: var(--wlk-border-color-muted);--wlk-border-left-color-muted: var(--wlk-border-color-muted);--wlk-border-radius: 4rem;--wlk-border-top-left-radius: var(--wlk-border-radius);--wlk-border-top-right-radius: var(--wlk-border-radius);--wlk-border-bottom-left-radius: var(--wlk-border-radius);--wlk-border-bottom-right-radius: var(--wlk-border-radius);--wlk-border-style: solid;--wlk-border-top-style: var(--wlk-border-style);--wlk-border-right-style: var(--wlk-border-style);--wlk-border-bottom-style: var(--wlk-border-style);--wlk-border-left-style: var(--wlk-border-style);--wlk-border-width: .063rem;--wlk-border-top-width: var(--wlk-border-width);--wlk-border-right-width: var(--wlk-border-width);--wlk-border-bottom-width: var(--wlk-border-width);--wlk-border-left-width: var(--wlk-border-width)}
package/dist/whelk-ui.js CHANGED
@@ -1,56 +1,57 @@
1
- import { defineComponent as I, openBlock as s, createElementBlock as p, unref as R, renderSlot as k, createCommentVNode as _, toDisplayString as y, useModel as V, computed as b, withDirectives as S, createElementVNode as m, vModelCheckbox as B, mergeModels as $, ref as q, resolveComponent as F, Fragment as O, normalizeClass as A, withKeys as G, createVNode as x, createBlock as h, withCtx as N, createTextVNode as M, vModelText as D, renderList as K, resolveDynamicComponent as U, Transition as E, vShow as P } from "vue";
2
- const L = {
3
- Disable: "DISABLE",
4
- Error: "ERROR",
5
- Loading: "LOADING",
6
- LoggingIn: "LOGGING_IN",
7
- LoggingOut: "LOGGING_OUT",
8
- NoAction: "NO_ACTION",
9
- Saving: "SAVING"
10
- }, z = ["disabled"], H = { key: 1 }, X = /* @__PURE__ */ I({
1
+ import { defineComponent as I, computed as b, openBlock as i, createElementBlock as p, renderSlot as N, createTextVNode as x, createCommentVNode as _, useModel as w, withDirectives as M, createElementVNode as m, vModelCheckbox as B, toDisplayString as y, mergeModels as $, ref as q, resolveComponent as O, Fragment as R, normalizeClass as E, withKeys as F, createVNode as k, createBlock as h, withCtx as V, vModelText as L, renderList as G, resolveDynamicComponent as j, Transition as D, vShow as U } from "vue";
2
+ const K = ["disabled"], P = /* @__PURE__ */ I({
11
3
  __name: "ButtonComponent",
12
4
  props: {
13
- objectState: {
14
- type: String,
15
- default: L.NoAction,
16
- required: !1,
17
- validator: function(e) {
18
- return Object.values(L).includes(e);
19
- }
5
+ isActionRunning: {
6
+ type: Boolean,
7
+ default: !1,
8
+ required: !1
9
+ },
10
+ isDisabled: {
11
+ type: Boolean,
12
+ default: !1,
13
+ required: !1
20
14
  }
21
15
  },
22
16
  setup(e) {
23
- return (a, o) => (s(), p("button", {
24
- disabled: e.objectState !== R(L).NoAction
17
+ const a = e, o = b(() => a.isDisabled || a.isActionRunning);
18
+ return (t, r) => (i(), p("button", {
19
+ class: "wlk-button-component",
20
+ role: "button",
21
+ disabled: o.value
25
22
  }, [
26
- e.objectState === R(L).NoAction ? k(a.$slots, "default", { key: 0 }, void 0, !0) : _("", !0),
27
- e.objectState !== R(L).NoAction ? (s(), p("span", H, y(e.objectState), 1)) : _("", !0)
28
- ], 8, z));
23
+ e.isActionRunning ? _("", !0) : N(t.$slots, "default", { key: 0 }, () => [
24
+ r[0] || (r[0] = x("Submit", -1))
25
+ ], !0),
26
+ e.isActionRunning ? N(t.$slots, "action-state", { key: 1 }, () => [
27
+ r[1] || (r[1] = x("Updating", -1))
28
+ ], !0) : _("", !0)
29
+ ], 8, K));
29
30
  }
30
31
  }), g = (e, a) => {
31
32
  const o = e.__vccOpts || e;
32
- for (const [t, i] of a)
33
- o[t] = i;
33
+ for (const [t, r] of a)
34
+ o[t] = r;
34
35
  return o;
35
- }, J = /* @__PURE__ */ g(X, [["__scopeId", "data-v-3de7a432"]]), Q = {}, W = { class: "card" };
36
- function Y(e, a) {
37
- return s(), p("div", W, [
38
- k(e.$slots, "default", {}, void 0, !0)
36
+ }, z = /* @__PURE__ */ g(P, [["__scopeId", "data-v-ff32fdfb"]]), H = {}, X = { class: "wlk-card-component" };
37
+ function J(e, a) {
38
+ return i(), p("div", X, [
39
+ N(e.$slots, "default", {}, void 0, !0)
39
40
  ]);
40
41
  }
41
- const Z = /* @__PURE__ */ g(Q, [["render", Y], ["__scopeId", "data-v-025f3983"]]), ee = {}, te = { class: "card-footer" };
42
- function ae(e, a) {
43
- return s(), p("div", te, [
44
- k(e.$slots, "default", {}, void 0, !0)
42
+ const Q = /* @__PURE__ */ g(H, [["render", J], ["__scopeId", "data-v-74467f04"]]), W = {}, Y = { class: "wlk-card-footer" };
43
+ function Z(e, a) {
44
+ return i(), p("div", Y, [
45
+ N(e.$slots, "default", {}, void 0, !0)
45
46
  ]);
46
47
  }
47
- const le = /* @__PURE__ */ g(ee, [["render", ae], ["__scopeId", "data-v-86222ad6"]]), oe = {}, ne = { class: "card-header" };
48
- function re(e, a) {
49
- return s(), p("div", ne, [
50
- k(e.$slots, "default", {}, void 0, !0)
48
+ const ee = /* @__PURE__ */ g(W, [["render", Z], ["__scopeId", "data-v-d1e72c62"]]), te = {}, ae = { class: "wlk-card-header" };
49
+ function le(e, a) {
50
+ return i(), p("div", ae, [
51
+ N(e.$slots, "default", {}, void 0, !0)
51
52
  ]);
52
53
  }
53
- const se = /* @__PURE__ */ g(oe, [["render", re], ["__scopeId", "data-v-9e7cf920"]]), ie = { class: "checkbox-component" }, ue = ["id", "name"], de = ["for"], ce = /* @__PURE__ */ I({
54
+ const oe = /* @__PURE__ */ g(te, [["render", le], ["__scopeId", "data-v-961bdb19"]]), ne = { class: "checkbox-component" }, se = ["id", "name"], re = ["for"], ie = /* @__PURE__ */ I({
54
55
  __name: "CheckBox",
55
56
  props: /* @__PURE__ */ $({
56
57
  id: {
@@ -67,35 +68,35 @@ const se = /* @__PURE__ */ g(oe, [["render", re], ["__scopeId", "data-v-9e7cf920
67
68
  }),
68
69
  emits: ["update:modelValue"],
69
70
  setup(e) {
70
- const a = V(e, "modelValue"), o = e, t = b(() => `checkbox-${o.id}`);
71
- return (i, l) => (s(), p("div", ie, [
72
- S(m("input", {
71
+ const a = w(e, "modelValue"), o = e, t = b(() => `checkbox-${o.id}`);
72
+ return (r, l) => (i(), p("div", ne, [
73
+ M(m("input", {
73
74
  id: t.value,
74
75
  name: e.label,
75
76
  "onUpdate:modelValue": l[0] || (l[0] = (n) => a.value = n),
76
77
  type: "checkbox"
77
- }, null, 8, ue), [
78
+ }, null, 8, se), [
78
79
  [B, a.value]
79
80
  ]),
80
- m("label", { for: t.value }, y(o.label), 9, de)
81
+ m("label", { for: t.value }, y(o.label), 9, re)
81
82
  ]));
82
83
  }
83
- }), me = /* @__PURE__ */ g(ce, [["__scopeId", "data-v-39385668"]]), pe = {}, fe = { class: "form-group" };
84
- function ve(e, a) {
85
- return s(), p("div", fe, [
86
- k(e.$slots, "default", {}, void 0, !0)
84
+ }), ue = /* @__PURE__ */ g(ie, [["__scopeId", "data-v-39385668"]]), de = {}, ce = { class: "form-group" };
85
+ function me(e, a) {
86
+ return i(), p("div", ce, [
87
+ N(e.$slots, "default", {}, void 0, !0)
87
88
  ]);
88
89
  }
89
- const T = /* @__PURE__ */ g(pe, [["render", ve], ["__scopeId", "data-v-142c8936"]]), ge = {}, _e = { class: "render-error-message" };
90
- function he(e, a) {
91
- return s(), p("span", _e, [
92
- k(e.$slots, "default", {}, void 0, !0)
90
+ const T = /* @__PURE__ */ g(de, [["render", me], ["__scopeId", "data-v-142c8936"]]), pe = {}, fe = { class: "render-error-message" };
91
+ function ve(e, a) {
92
+ return i(), p("span", fe, [
93
+ N(e.$slots, "default", {}, void 0, !0)
93
94
  ]);
94
95
  }
95
- const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"]]), be = ["id"], ye = {
96
+ const S = /* @__PURE__ */ g(pe, [["render", ve], ["__scopeId", "data-v-ae516306"]]), ge = ["id"], _e = {
96
97
  key: 0,
97
98
  class: "tooltip-title"
98
- }, $e = { class: "tooltip-message" }, qe = ["data-tooltip-target"], Ie = /* @__PURE__ */ I({
99
+ }, be = { class: "tooltip-message" }, he = ["data-tooltip-target"], ye = /* @__PURE__ */ I({
99
100
  __name: "ToolTip",
100
101
  props: {
101
102
  id: {
@@ -113,17 +114,17 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
113
114
  },
114
115
  setup(e) {
115
116
  const a = e, o = b(() => `tooltip-${a.id}`), t = q("tooltip");
116
- return (i, l) => {
117
- const n = F("Info");
118
- return s(), p(O, null, [
117
+ return (r, l) => {
118
+ const n = O("Info");
119
+ return i(), p(R, null, [
119
120
  m("div", {
120
121
  id: o.value,
121
- class: A(t.value),
122
+ class: E(t.value),
122
123
  role: "tooltip"
123
124
  }, [
124
- a.title !== "" && a.title !== null && a.title !== void 0 ? (s(), p("p", ye, y(a.title), 1)) : _("", !0),
125
- m("p", $e, y(a.message), 1)
126
- ], 10, be),
125
+ a.title !== "" && a.title !== null && a.title !== void 0 ? (i(), p("p", _e, y(a.title), 1)) : _("", !0),
126
+ m("p", be, y(a.message), 1)
127
+ ], 10, ge),
127
128
  m("span", {
128
129
  "data-tooltip-target": o.value,
129
130
  type: "tooltip",
@@ -131,17 +132,17 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
131
132
  onMouseleave: l[1] || (l[1] = (u) => t.value = "tooltip"),
132
133
  onFocus: l[2] || (l[2] = (u) => t.value = "tooltip show"),
133
134
  onBlur: l[3] || (l[3] = (u) => t.value = "tooltip"),
134
- onKeydown: l[4] || (l[4] = G((u) => t.value = "tooltip", ["esc"]))
135
+ onKeydown: l[4] || (l[4] = F((u) => t.value = "tooltip", ["esc"]))
135
136
  }, [
136
- x(n)
137
- ], 40, qe)
137
+ k(n)
138
+ ], 40, he)
138
139
  ], 64);
139
140
  };
140
141
  }
141
- }), C = /* @__PURE__ */ g(Ie, [["__scopeId", "data-v-5121adbc"]]), xe = ["for"], Ne = {
142
+ }), C = /* @__PURE__ */ g(ye, [["__scopeId", "data-v-259be5b6"]]), $e = ["for"], qe = {
142
143
  key: 1,
143
144
  "aria-description": "Field is required"
144
- }, ke = ["id", "name"], Ve = /* @__PURE__ */ I({
145
+ }, Ie = ["id", "name"], ke = /* @__PURE__ */ I({
145
146
  __name: "DatetimeComponent",
146
147
  props: /* @__PURE__ */ $({
147
148
  isRequired: {
@@ -171,40 +172,40 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
171
172
  }),
172
173
  emits: /* @__PURE__ */ $(["isValid"], ["update:model"]),
173
174
  setup(e, { emit: a }) {
174
- const o = a, t = e, i = V(e, "model"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(" ", "-"));
175
+ const o = a, t = e, r = w(e, "model"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(/ /g, "-"));
175
176
  function v() {
176
177
  l.value = !1, n.value = "";
177
- let r = Number(i?.value?.toString().length);
178
- r = isNaN(r) ? 0 : r, t.isRequired && r === 0 && (l.value = !0, n.value = "This field is required"), o("isValid", !l.value);
178
+ let s = Number(r?.value?.toString().length);
179
+ s = isNaN(s) ? 0 : s, t.isRequired && s === 0 && (l.value = !0, n.value = "This field is required"), o("isValid", !l.value);
179
180
  }
180
- return (r, c) => (s(), h(T, { class: "datetime-component" }, {
181
- default: N(() => [
181
+ return (s, c) => (i(), h(T, { class: "datetime-component" }, {
182
+ default: V(() => [
182
183
  m("label", { for: u.value }, [
183
- t.tooltipMessage !== "" ? (s(), h(C, {
184
+ t.tooltipMessage !== "" ? (i(), h(C, {
184
185
  key: 0,
185
186
  title: e.tooltipTitle,
186
187
  message: e.tooltipMessage,
187
188
  id: u.value
188
189
  }, null, 8, ["title", "message", "id"])) : _("", !0),
189
- M(" " + y(e.label), 1),
190
- e.isRequired ? (s(), p("span", Ne, "*")) : _("", !0)
191
- ], 8, xe),
192
- S(m("input", {
190
+ x(" " + y(e.label), 1),
191
+ e.isRequired ? (i(), p("span", qe, "*")) : _("", !0)
192
+ ], 8, $e),
193
+ M(m("input", {
193
194
  id: u.value,
194
195
  type: "datetime-local",
195
196
  name: t.label,
196
- "onUpdate:modelValue": c[0] || (c[0] = (d) => i.value = d),
197
+ "onUpdate:modelValue": c[0] || (c[0] = (d) => r.value = d),
197
198
  onKeyup: v,
198
199
  onFocusout: v
199
- }, null, 40, ke), [
200
- [D, i.value]
200
+ }, null, 40, Ie), [
201
+ [L, r.value]
201
202
  ]),
202
- x(w, { "error-message": n.value }, null, 8, ["error-message"])
203
+ k(S, { "error-message": n.value }, null, 8, ["error-message"])
203
204
  ]),
204
205
  _: 1
205
206
  }));
206
207
  }
207
- }), Se = /* @__PURE__ */ g(Ve, [["__scopeId", "data-v-905d8a98"]]), Me = { class: "drop-down-items" }, Te = ["onClick"], Ce = /* @__PURE__ */ I({
208
+ }), xe = /* @__PURE__ */ g(ke, [["__scopeId", "data-v-0431d9c6"]]), Ne = { class: "drop-down-items" }, Ve = ["onClick"], we = /* @__PURE__ */ I({
208
209
  __name: "DropDownItem",
209
210
  props: {
210
211
  dropDownItems: {
@@ -215,21 +216,21 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
215
216
  emits: ["dropDownItemClicked"],
216
217
  setup(e, { emit: a }) {
217
218
  const o = a;
218
- function t(i) {
219
- o("dropDownItemClicked", i);
219
+ function t(r) {
220
+ o("dropDownItemClicked", r);
220
221
  }
221
- return (i, l) => (s(), p("div", Me, [
222
- (s(!0), p(O, null, K(e.dropDownItems, (n) => (s(), p("div", {
222
+ return (r, l) => (i(), p("div", Ne, [
223
+ (i(!0), p(R, null, G(e.dropDownItems, (n) => (i(), p("div", {
223
224
  class: "drop-down-item",
224
225
  onClick: (u) => t(n.trigger),
225
226
  key: n.label
226
227
  }, [
227
- (s(), h(U(n.icon))),
228
- M(" " + y(n.label), 1)
229
- ], 8, Te))), 128))
228
+ (i(), h(j(n.icon))),
229
+ x(" " + y(n.label), 1)
230
+ ], 8, Ve))), 128))
230
231
  ]));
231
232
  }
232
- }), j = /* @__PURE__ */ g(Ce, [["__scopeId", "data-v-7a71b3ac"]]), we = { class: "drop-down" }, Le = /* @__PURE__ */ I({
233
+ }), A = /* @__PURE__ */ g(we, [["__scopeId", "data-v-e1f5198c"]]), Me = { class: "drop-down" }, Te = /* @__PURE__ */ I({
233
234
  __name: "DropDown",
234
235
  props: {
235
236
  dropDownItems: {
@@ -240,35 +241,35 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
240
241
  emits: ["dropDownItemClicked"],
241
242
  setup(e, { emit: a }) {
242
243
  const o = a, t = q(!1);
243
- function i() {
244
+ function r() {
244
245
  t.value = !t.value;
245
246
  }
246
247
  function l(n) {
247
248
  o("dropDownItemClicked", n), t.value = !1;
248
249
  }
249
- return (n, u) => (s(), p("div", we, [
250
+ return (n, u) => (i(), p("div", Me, [
250
251
  m("button", {
251
252
  type: "button",
252
- onClick: i
253
+ onClick: r
253
254
  }, [
254
- k(n.$slots, "default", {}, void 0, !0)
255
+ N(n.$slots, "default", {}, void 0, !0)
255
256
  ]),
256
- x(E, null, {
257
- default: N(() => [
258
- S(x(j, {
257
+ k(D, null, {
258
+ default: V(() => [
259
+ M(k(A, {
259
260
  onDropDownItemClicked: l,
260
261
  "drop-down-items": e.dropDownItems
261
262
  }, null, 8, ["drop-down-items"]), [
262
- [P, t.value]
263
+ [U, t.value]
263
264
  ])
264
265
  ]),
265
266
  _: 1
266
267
  }),
267
- x(E, null, {
268
- default: N(() => [
269
- t.value ? (s(), p("div", {
268
+ k(D, null, {
269
+ default: V(() => [
270
+ t.value ? (i(), p("div", {
270
271
  key: 0,
271
- onClick: i,
272
+ onClick: r,
272
273
  class: "drop-down-backdrop"
273
274
  })) : _("", !0)
274
275
  ]),
@@ -276,7 +277,7 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
276
277
  })
277
278
  ]));
278
279
  }
279
- }), De = /* @__PURE__ */ g(Le, [["__scopeId", "data-v-539fd54a"]]), Re = ["for"], Ee = { class: "number-input-row" }, Oe = ["aria-label", "disabled"], Ae = ["aria-label", "disabled"], je = /* @__PURE__ */ I({
280
+ }), Ce = /* @__PURE__ */ g(Te, [["__scopeId", "data-v-e6dbee62"]]), Se = ["for"], Le = { class: "number-input-row" }, De = ["aria-label", "disabled"], Re = ["aria-label", "disabled"], Ee = /* @__PURE__ */ I({
280
281
  __name: "NumberInput",
281
282
  props: /* @__PURE__ */ $({
282
283
  label: {
@@ -314,7 +315,7 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
314
315
  }),
315
316
  emits: ["update:modelValue"],
316
317
  setup(e) {
317
- const a = e, o = V(e, "modelValue"), t = q(""), i = b(() => "input-" + a.label?.toLowerCase()?.replace(" ", "-")), l = b(() => o.value >= a.maxValue), n = b(() => o.value <= a.minValue);
318
+ const a = e, o = w(e, "modelValue"), t = q(""), r = b(() => "input-" + a.label?.toLowerCase()?.replace(/ /g, "-")), l = b(() => o.value >= a.maxValue), n = b(() => o.value <= a.minValue);
318
319
  function u() {
319
320
  if (t.value = "", n.value) {
320
321
  t.value = "Reached Lowest Value";
@@ -335,39 +336,39 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
335
336
  let d = o.value + c;
336
337
  d = d < a.minValue ? a.minValue : d, o.value = d;
337
338
  }
338
- function r(c) {
339
+ function s(c) {
339
340
  t.value = "";
340
341
  let f = c.target?.valueAsNumber;
341
342
  f === void 0 && (t.value = "Model is undefined - default 0", f = 0), isNaN(f) && (t.value = "Not a number - default 0", f = 0), f = f > a.maxValue ? a.maxValue : f, f = f < a.minValue ? a.minValue : f, o.value = f;
342
343
  }
343
- return (c, d) => (s(), h(T, { class: "number-input" }, {
344
- default: N(() => [
345
- m("label", { for: i.value }, [
346
- a.tooltipMessage !== "" ? (s(), h(C, {
344
+ return (c, d) => (i(), h(T, { class: "number-input" }, {
345
+ default: V(() => [
346
+ m("label", { for: r.value }, [
347
+ a.tooltipMessage !== "" ? (i(), h(C, {
347
348
  key: 0,
348
349
  title: e.tooltipTitle,
349
350
  message: e.tooltipMessage,
350
- id: i.value
351
+ id: r.value
351
352
  }, null, 8, ["title", "message", "id"])) : _("", !0),
352
- M(" " + y(e.label), 1)
353
- ], 8, Re),
354
- m("div", Ee, [
353
+ x(" " + y(e.label), 1)
354
+ ], 8, Se),
355
+ m("div", Le, [
355
356
  m("button", {
356
357
  type: "button",
357
358
  class: "negative",
358
359
  "aria-label": `Decrement current value of ${o.value} by ${a.stepIncrement}`,
359
360
  disabled: n.value,
360
361
  onClick: u
361
- }, " - ", 8, Oe),
362
- S(m("input", {
362
+ }, " - ", 8, De),
363
+ M(m("input", {
363
364
  type: "number",
364
365
  "aria-label": "Current value picked",
365
366
  "aria-describedby": "helper-text-explanation",
366
367
  "onUpdate:modelValue": d[0] || (d[0] = (f) => o.value = f),
367
- onChange: d[1] || (d[1] = (f) => r(f)),
368
- onKeyup: d[2] || (d[2] = (f) => r(f))
368
+ onChange: d[1] || (d[1] = (f) => s(f)),
369
+ onKeyup: d[2] || (d[2] = (f) => s(f))
369
370
  }, null, 544), [
370
- [D, o.value]
371
+ [L, o.value]
371
372
  ]),
372
373
  m("button", {
373
374
  type: "button",
@@ -375,17 +376,17 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
375
376
  "aria-label": `Increment current value of ${o.value} by ${a.stepIncrement}`,
376
377
  disabled: l.value,
377
378
  onClick: v
378
- }, " + ", 8, Ae)
379
+ }, " + ", 8, Re)
379
380
  ]),
380
- x(w, { "error-message": t.value }, null, 8, ["error-message"])
381
+ k(S, { "error-message": t.value }, null, 8, ["error-message"])
381
382
  ]),
382
383
  _: 1
383
384
  }));
384
385
  }
385
- }), Be = /* @__PURE__ */ g(je, [["__scopeId", "data-v-06558243"]]), Fe = ["for"], Ge = {
386
+ }), Ae = /* @__PURE__ */ g(Ee, [["__scopeId", "data-v-a67e88cf"]]), Be = ["for"], Oe = {
386
387
  key: 1,
387
388
  "aria-description": "Field is required"
388
- }, Ke = ["id", "name", "placeholder"], Ue = /* @__PURE__ */ I({
389
+ }, Fe = ["id", "name", "placeholder"], Ge = /* @__PURE__ */ I({
389
390
  __name: "PasswordInput",
390
391
  props: /* @__PURE__ */ $({
391
392
  isRequired: {
@@ -423,41 +424,41 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
423
424
  }),
424
425
  emits: /* @__PURE__ */ $(["isValid"], ["update:modelValue"]),
425
426
  setup(e, { emit: a }) {
426
- const o = a, t = e, i = V(e, "modelValue"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(" ", "-"));
427
+ const o = a, t = e, r = w(e, "modelValue"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(/ /g, "-"));
427
428
  function v() {
428
429
  l.value = !1, n.value = "";
429
- let r = Number(i?.value?.toString().length);
430
- r = isNaN(r) ? 0 : r, t.isRequired && r === 0 && (l.value = !0, n.value = "This field is required"), t.minLength > 0 && r < t.minLength && (l.value = !0, n.value = `This field has a minimum length ${r} / ${t.minLength}`), o("isValid", !l.value);
430
+ let s = Number(r?.value?.toString().length);
431
+ s = isNaN(s) ? 0 : s, t.isRequired && s === 0 && (l.value = !0, n.value = "This field is required"), t.minLength > 0 && s < t.minLength && (l.value = !0, n.value = `This field has a minimum length ${s} / ${t.minLength}`), o("isValid", !l.value);
431
432
  }
432
- return (r, c) => (s(), h(T, { class: "text-input" }, {
433
- default: N(() => [
433
+ return (s, c) => (i(), h(T, { class: "text-input" }, {
434
+ default: V(() => [
434
435
  m("label", { for: u.value }, [
435
- t.tooltipMessage !== "" ? (s(), h(C, {
436
+ t.tooltipMessage !== "" ? (i(), h(C, {
436
437
  key: 0,
437
438
  title: e.tooltipTitle,
438
439
  message: e.tooltipMessage,
439
440
  id: u.value
440
441
  }, null, 8, ["title", "message", "id"])) : _("", !0),
441
- M(" " + y(e.label), 1),
442
- e.isRequired ? (s(), p("span", Ge, "*")) : _("", !0)
443
- ], 8, Fe),
444
- S(m("input", {
442
+ x(" " + y(e.label), 1),
443
+ e.isRequired ? (i(), p("span", Oe, "*")) : _("", !0)
444
+ ], 8, Be),
445
+ M(m("input", {
445
446
  id: u.value,
446
447
  type: "password",
447
448
  name: t.label,
448
449
  placeholder: t.placeholderText,
449
- "onUpdate:modelValue": c[0] || (c[0] = (d) => i.value = d),
450
+ "onUpdate:modelValue": c[0] || (c[0] = (d) => r.value = d),
450
451
  onKeyup: v,
451
452
  onFocusout: v
452
- }, null, 40, Ke), [
453
- [D, i.value]
453
+ }, null, 40, Fe), [
454
+ [L, r.value]
454
455
  ]),
455
- x(w, { "error-message": n.value }, null, 8, ["error-message"])
456
+ k(S, { "error-message": n.value }, null, 8, ["error-message"])
456
457
  ]),
457
458
  _: 1
458
459
  }));
459
460
  }
460
- }), Pe = /* @__PURE__ */ g(Ue, [["__scopeId", "data-v-d179e9e2"]]), ze = ["for"], He = { class: "switch-text" }, Xe = /* @__PURE__ */ I({
461
+ }), je = /* @__PURE__ */ g(Ge, [["__scopeId", "data-v-ebc196f2"]]), Ue = ["for"], Ke = { class: "switch-text" }, Pe = /* @__PURE__ */ I({
461
462
  __name: "SwitchComponent",
462
463
  props: /* @__PURE__ */ $({
463
464
  label: {
@@ -492,36 +493,36 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
492
493
  }),
493
494
  emits: ["update:modelValue"],
494
495
  setup(e) {
495
- const a = e, o = b(() => l.value ? "switch on" : "switch off"), t = b(() => "input-" + a.label?.toLowerCase()?.replace(" ", "-")), i = b(() => l.value ? a.onText : a.offText), l = V(e, "modelValue");
496
+ const a = e, o = b(() => l.value ? "switch on" : "switch off"), t = b(() => "input-" + a.label?.toLowerCase()?.replace(/ /g, "-")), r = b(() => l.value ? a.onText : a.offText), l = w(e, "modelValue");
496
497
  function n() {
497
498
  l.value = !l.value;
498
499
  }
499
- return (u, v) => (s(), h(T, { class: "switch-component" }, {
500
- default: N(() => [
500
+ return (u, v) => (i(), h(T, { class: "switch-component" }, {
501
+ default: V(() => [
501
502
  m("label", { for: t.value }, [
502
- a.tooltipMessage !== "" ? (s(), h(C, {
503
+ a.tooltipMessage !== "" ? (i(), h(C, {
503
504
  key: 0,
504
505
  title: e.tooltipTitle,
505
506
  message: e.tooltipMessage,
506
507
  id: t.value
507
508
  }, null, 8, ["title", "message", "id"])) : _("", !0),
508
- M(" " + y(e.label), 1)
509
- ], 8, ze),
509
+ x(" " + y(e.label), 1)
510
+ ], 8, Ue),
510
511
  m("div", {
511
512
  onClick: n,
512
- class: A(o.value)
513
+ class: E(o.value)
513
514
  }, [
514
- m("div", He, y(i.value), 1),
515
+ m("div", Ke, y(r.value), 1),
515
516
  v[0] || (v[0] = m("div", { class: "switch-block" }, null, -1))
516
517
  ], 2)
517
518
  ]),
518
519
  _: 1
519
520
  }));
520
521
  }
521
- }), Je = /* @__PURE__ */ g(Xe, [["__scopeId", "data-v-f28e5f26"]]), Qe = ["for"], We = {
522
+ }), ze = /* @__PURE__ */ g(Pe, [["__scopeId", "data-v-5b394104"]]), He = ["for"], Xe = {
522
523
  key: 1,
523
524
  "aria-description": "Field is required"
524
- }, Ye = ["id", "name", "placeholder"], Ze = /* @__PURE__ */ I({
525
+ }, Je = ["id", "name", "placeholder"], Qe = /* @__PURE__ */ I({
525
526
  __name: "TextArea",
526
527
  props: /* @__PURE__ */ $({
527
528
  isRequired: {
@@ -569,45 +570,45 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
569
570
  }),
570
571
  emits: /* @__PURE__ */ $(["isValid"], ["update:model"]),
571
572
  setup(e, { emit: a }) {
572
- const o = a, t = e, i = V(e, "model"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(" ", "-"));
573
+ const o = a, t = e, r = w(e, "model"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(/ /g, "-"));
573
574
  function v() {
574
575
  l.value = !1, n.value = "";
575
- let r = Number(i?.value?.toString().length);
576
- r = isNaN(r) ? 0 : r, t.isRequired && r === 0 && (l.value = !0, n.value = "This field is required"), t.minLength > 0 && r < t.minLength && (l.value = !0, n.value = `This field has a minimum length ${r} / ${t.minLength}`), t.maxLength > 0 && r > t.maxLength && (l.value = !0, n.value = `This field has a maximum length ${r} / ${t.maxLength}`), o("isValid", !l.value);
576
+ let s = Number(r?.value?.toString().length);
577
+ s = isNaN(s) ? 0 : s, t.isRequired && s === 0 && (l.value = !0, n.value = "This field is required"), t.minLength > 0 && s < t.minLength && (l.value = !0, n.value = `This field has a minimum length ${s} / ${t.minLength}`), t.maxLength > 0 && s > t.maxLength && (l.value = !0, n.value = `This field has a maximum length ${s} / ${t.maxLength}`), o("isValid", !l.value);
577
578
  }
578
- return (r, c) => (s(), h(T, null, {
579
- default: N(() => [
579
+ return (s, c) => (i(), h(T, null, {
580
+ default: V(() => [
580
581
  m("label", { for: u.value }, [
581
- t.tooltipMessage !== "" ? (s(), h(C, {
582
+ t.tooltipMessage !== "" ? (i(), h(C, {
582
583
  key: 0,
583
584
  title: e.tooltipTitle,
584
585
  message: e.tooltipMessage,
585
586
  id: u.value
586
587
  }, null, 8, ["title", "message", "id"])) : _("", !0),
587
- M(" " + y(e.label), 1),
588
- e.isRequired ? (s(), p("span", We, "*")) : _("", !0)
589
- ], 8, Qe),
590
- S(m("textarea", {
588
+ x(" " + y(e.label), 1),
589
+ e.isRequired ? (i(), p("span", Xe, "*")) : _("", !0)
590
+ ], 8, He),
591
+ M(m("textarea", {
591
592
  rows: "10",
592
593
  id: u.value,
593
594
  type: "text",
594
595
  name: t.label,
595
596
  placeholder: t.placeholderText,
596
- "onUpdate:modelValue": c[0] || (c[0] = (d) => i.value = d),
597
+ "onUpdate:modelValue": c[0] || (c[0] = (d) => r.value = d),
597
598
  onKeyup: v,
598
599
  onFocusout: v
599
- }, null, 40, Ye), [
600
- [D, i.value]
600
+ }, null, 40, Je), [
601
+ [L, r.value]
601
602
  ]),
602
- x(w, { "error-message": n.value }, null, 8, ["error-message"])
603
+ k(S, { "error-message": n.value }, null, 8, ["error-message"])
603
604
  ]),
604
605
  _: 1
605
606
  }));
606
607
  }
607
- }), et = /* @__PURE__ */ g(Ze, [["__scopeId", "data-v-88c9adeb"]]), tt = ["for"], at = {
608
+ }), We = /* @__PURE__ */ g(Qe, [["__scopeId", "data-v-4d8b899d"]]), Ye = ["for"], Ze = {
608
609
  key: 1,
609
610
  "aria-description": "Field is required"
610
- }, lt = ["id", "name", "placeholder"], ot = /* @__PURE__ */ I({
611
+ }, et = ["id", "name", "placeholder"], tt = /* @__PURE__ */ I({
611
612
  __name: "TextInput",
612
613
  props: /* @__PURE__ */ $({
613
614
  isRequired: {
@@ -651,59 +652,67 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
651
652
  }),
652
653
  emits: /* @__PURE__ */ $(["isValid"], ["update:modelValue"]),
653
654
  setup(e, { emit: a }) {
654
- const o = a, t = e, i = V(e, "modelValue"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(" ", "-"));
655
+ const o = a, t = e, r = w(e, "modelValue"), l = q(!1), n = q(""), u = b(() => "input-" + t.label?.toLowerCase()?.replace(/ /g, "-"));
655
656
  function v() {
656
657
  l.value = !1, n.value = "";
657
- let r = Number(i?.value?.toString().length);
658
- r = isNaN(r) ? 0 : r, t.isRequired && r === 0 && (l.value = !0, n.value = "This field is required"), t.minLength > 0 && r < t.minLength && (l.value = !0, n.value = `This field has a minimum length ${r} / ${t.minLength}`), t.maxLength > 0 && r > t.maxLength && (l.value = !0, n.value = `This field has a maximum length ${r} / ${t.maxLength}`), o("isValid", !l.value);
658
+ let s = Number(r?.value?.toString().length);
659
+ s = isNaN(s) ? 0 : s, t.isRequired && s === 0 && (l.value = !0, n.value = "This field is required"), t.minLength > 0 && s < t.minLength && (l.value = !0, n.value = `This field has a minimum length ${s} / ${t.minLength}`), t.maxLength > 0 && s > t.maxLength && (l.value = !0, n.value = `This field has a maximum length ${s} / ${t.maxLength}`), o("isValid", !l.value);
659
660
  }
660
- return (r, c) => (s(), h(T, { class: "text-input" }, {
661
- default: N(() => [
661
+ return (s, c) => (i(), h(T, { class: "text-input" }, {
662
+ default: V(() => [
662
663
  m("label", { for: u.value }, [
663
- t.tooltipMessage !== "" ? (s(), h(C, {
664
+ t.tooltipMessage !== "" ? (i(), h(C, {
664
665
  key: 0,
665
666
  title: e.tooltipTitle,
666
667
  message: e.tooltipMessage,
667
668
  id: u.value
668
669
  }, null, 8, ["title", "message", "id"])) : _("", !0),
669
- M(" " + y(e.label), 1),
670
- e.isRequired ? (s(), p("span", at, "*")) : _("", !0)
671
- ], 8, tt),
672
- S(m("input", {
670
+ x(" " + y(e.label), 1),
671
+ e.isRequired ? (i(), p("span", Ze, "*")) : _("", !0)
672
+ ], 8, Ye),
673
+ M(m("input", {
673
674
  id: u.value,
674
675
  type: "text",
675
676
  name: t.label,
676
677
  placeholder: t.placeholderText,
677
- "onUpdate:modelValue": c[0] || (c[0] = (d) => i.value = d),
678
+ "onUpdate:modelValue": c[0] || (c[0] = (d) => r.value = d),
678
679
  onKeyup: v,
679
680
  onFocusout: v
680
- }, null, 40, lt), [
681
- [D, i.value]
681
+ }, null, 40, et), [
682
+ [L, r.value]
682
683
  ]),
683
- x(w, { "error-message": n.value }, null, 8, ["error-message"])
684
+ k(S, { "error-message": n.value }, null, 8, ["error-message"])
684
685
  ]),
685
686
  _: 1
686
687
  }));
687
688
  }
688
- }), nt = /* @__PURE__ */ g(ot, [["__scopeId", "data-v-354652ea"]]), rt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
689
+ }), at = /* @__PURE__ */ g(tt, [["__scopeId", "data-v-894231bc"]]), lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
689
690
  __proto__: null,
690
- ButtonComponent: J,
691
- CardComponent: Z,
692
- CardFooter: le,
693
- CardHeader: se,
694
- CheckBox: me,
695
- DatetimeComponent: Se,
696
- DropDown: De,
697
- DropDownItem: j,
691
+ ButtonComponent: z,
692
+ CardComponent: Q,
693
+ CardFooter: ee,
694
+ CardHeader: oe,
695
+ CheckBox: ue,
696
+ DatetimeComponent: xe,
697
+ DropDown: Ce,
698
+ DropDownItem: A,
698
699
  FormGroup: T,
699
- NumberInput: Be,
700
- PasswordInput: Pe,
701
- RenderErrorMessage: w,
702
- SwitchComponent: Je,
703
- TextArea: et,
704
- TextInput: nt,
700
+ NumberInput: Ae,
701
+ PasswordInput: je,
702
+ RenderErrorMessage: S,
703
+ SwitchComponent: ze,
704
+ TextArea: We,
705
+ TextInput: at,
705
706
  ToolTip: C
706
- }, Symbol.toStringTag, { value: "Module" })), it = {
707
+ }, Symbol.toStringTag, { value: "Module" })), nt = {
708
+ Disable: "DISABLE",
709
+ Error: "ERROR",
710
+ Loading: "LOADING",
711
+ LoggingIn: "LOGGING_IN",
712
+ LoggingOut: "LOGGING_OUT",
713
+ NoAction: "NO_ACTION",
714
+ Saving: "SAVING"
715
+ }, st = {
707
716
  customer: "Customer",
708
717
  group: "Group",
709
718
  kanban_board: "Kanban Board",
@@ -715,7 +724,7 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
715
724
  project: "Project",
716
725
  task: "Task",
717
726
  user: "User"
718
- }, ut = {
727
+ }, rt = {
719
728
  customer: "customer",
720
729
  kanban_board: "kanban_board",
721
730
  kanban_card: "kanban_card",
@@ -725,32 +734,32 @@ const w = /* @__PURE__ */ g(ge, [["render", he], ["__scopeId", "data-v-e384ff35"
725
734
  requirement_item: "requirement_item",
726
735
  project: "project",
727
736
  task: "task"
728
- }, dt = {
737
+ }, it = {
729
738
  install(e) {
730
- Object.entries(rt).forEach(([a, o]) => {
739
+ Object.entries(lt).forEach(([a, o]) => {
731
740
  e.component(a, o);
732
741
  });
733
742
  }
734
743
  };
735
744
  export {
736
- J as ButtonComponent,
737
- Z as CardComponent,
738
- le as CardFooter,
739
- se as CardHeader,
740
- me as CheckBox,
741
- Se as DatetimeComponent,
742
- De as DropDown,
743
- j as DropDownItem,
745
+ z as ButtonComponent,
746
+ Q as CardComponent,
747
+ ee as CardFooter,
748
+ oe as CardHeader,
749
+ ue as CheckBox,
750
+ xe as DatetimeComponent,
751
+ Ce as DropDown,
752
+ A as DropDownItem,
744
753
  T as FormGroup,
745
- Be as NumberInput,
746
- L as ObjectStateEnum,
747
- it as ObjectTitleCaseEnums,
748
- ut as ObjectTypeEnums,
749
- Pe as PasswordInput,
750
- w as RenderErrorMessage,
751
- Je as SwitchComponent,
752
- et as TextArea,
753
- nt as TextInput,
754
+ Ae as NumberInput,
755
+ nt as ObjectStateEnum,
756
+ st as ObjectTitleCaseEnums,
757
+ rt as ObjectTypeEnums,
758
+ je as PasswordInput,
759
+ S as RenderErrorMessage,
760
+ ze as SwitchComponent,
761
+ We as TextArea,
762
+ at as TextInput,
754
763
  C as ToolTip,
755
- dt as default
764
+ it as default
756
765
  };
@@ -1 +1 @@
1
- (function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.WhelkUI={},d.Vue))})(this,(function(d,e){"use strict";const k={Disable:"DISABLE",Error:"ERROR",Loading:"LOADING",LoggingIn:"LOGGING_IN",LoggingOut:"LOGGING_OUT",NoAction:"NO_ACTION",Saving:"SAVING"},E=["disabled"],D={key:1},L=e.defineComponent({__name:"ButtonComponent",props:{objectState:{type:String,default:k.NoAction,required:!1,validator:function(t){return Object.values(k).includes(t)}}},setup(t){return(l,n)=>(e.openBlock(),e.createElementBlock("button",{disabled:t.objectState!==e.unref(k).NoAction},[t.objectState===e.unref(k).NoAction?e.renderSlot(l.$slots,"default",{key:0},void 0,!0):e.createCommentVNode("",!0),t.objectState!==e.unref(k).NoAction?(e.openBlock(),e.createElementBlock("span",D,e.toDisplayString(t.objectState),1)):e.createCommentVNode("",!0)],8,E))}}),f=(t,l)=>{const n=t.__vccOpts||t;for(const[o,s]of l)n[o]=s;return n},y=f(L,[["__scopeId","data-v-3de7a432"]]),R={},O={class:"card"};function j(t,l){return e.openBlock(),e.createElementBlock("div",O,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const V=f(R,[["render",j],["__scopeId","data-v-025f3983"]]),A={},F={class:"card-footer"};function G(t,l){return e.openBlock(),e.createElementBlock("div",F,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const C=f(A,[["render",G],["__scopeId","data-v-86222ad6"]]),U={},K={class:"card-header"};function P(t,l){return e.openBlock(),e.createElementBlock("div",K,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const $=f(U,[["render",P],["__scopeId","data-v-9e7cf920"]]),z={class:"checkbox-component"},H=["id","name"],W=["for"],B=f(e.defineComponent({__name:"CheckBox",props:e.mergeModels({id:{type:String,required:!0},label:{type:String,required:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const l=e.useModel(t,"modelValue"),n=t,o=e.computed(()=>`checkbox-${n.id}`);return(s,a)=>(e.openBlock(),e.createElementBlock("div",z,[e.withDirectives(e.createElementVNode("input",{id:o.value,name:t.label,"onUpdate:modelValue":a[0]||(a[0]=r=>l.value=r),type:"checkbox"},null,8,H),[[e.vModelCheckbox,l.value]]),e.createElementVNode("label",{for:o.value},e.toDisplayString(n.label),9,W)]))}}),[["__scopeId","data-v-39385668"]]),X={},J={class:"form-group"};function Q(t,l){return e.openBlock(),e.createElementBlock("div",J,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const _=f(X,[["render",Q],["__scopeId","data-v-142c8936"]]),Y={},Z={class:"render-error-message"};function v(t,l){return e.openBlock(),e.createElementBlock("span",Z,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const b=f(Y,[["render",v],["__scopeId","data-v-e384ff35"]]),ee=["id"],te={key:0,class:"tooltip-title"},oe={class:"tooltip-message"},le=["data-tooltip-target"],h=f(e.defineComponent({__name:"ToolTip",props:{id:{type:String,required:!0},message:{type:String,required:!0},title:{type:String,default:""}},setup(t){const l=t,n=e.computed(()=>`tooltip-${l.id}`),o=e.ref("tooltip");return(s,a)=>{const r=e.resolveComponent("Info");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{id:n.value,class:e.normalizeClass(o.value),role:"tooltip"},[l.title!==""&&l.title!==null&&l.title!==void 0?(e.openBlock(),e.createElementBlock("p",te,e.toDisplayString(l.title),1)):e.createCommentVNode("",!0),e.createElementVNode("p",oe,e.toDisplayString(l.message),1)],10,ee),e.createElementVNode("span",{"data-tooltip-target":n.value,type:"tooltip",onMouseenter:a[0]||(a[0]=c=>o.value="tooltip show"),onMouseleave:a[1]||(a[1]=c=>o.value="tooltip"),onFocus:a[2]||(a[2]=c=>o.value="tooltip show"),onBlur:a[3]||(a[3]=c=>o.value="tooltip"),onKeydown:a[4]||(a[4]=e.withKeys(c=>o.value="tooltip",["esc"]))},[e.createVNode(r)],40,le)],64)}}}),[["__scopeId","data-v-5121adbc"]]),ae=["for"],ne={key:1,"aria-description":"Field is required"},re=["id","name"],M=f(e.defineComponent({__name:"DatetimeComponent",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{model:{type:Date,required:!1},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:model"]),setup(t,{emit:l}){const n=l,o=t,s=e.useModel(t,"model"),a=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(" ","-"));function g(){a.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(a.value=!0,r.value="This field is required"),n("isValid",!a.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,{class:"datetime-component"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(h,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",ne,"*")):e.createCommentVNode("",!0)],8,ae),e.withDirectives(e.createElementVNode("input",{id:c.value,type:"datetime-local",name:o.label,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,re),[[e.vModelText,s.value]]),e.createVNode(b,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-905d8a98"]]),ie={class:"drop-down-items"},se=["onClick"],N=f(e.defineComponent({__name:"DropDownItem",props:{dropDownItems:{type:Array,required:!0}},emits:["dropDownItemClicked"],setup(t,{emit:l}){const n=l;function o(s){n("dropDownItemClicked",s)}return(s,a)=>(e.openBlock(),e.createElementBlock("div",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dropDownItems,r=>(e.openBlock(),e.createElementBlock("div",{class:"drop-down-item",onClick:c=>o(r.trigger),key:r.label},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.icon))),e.createTextVNode(" "+e.toDisplayString(r.label),1)],8,se))),128))]))}}),[["__scopeId","data-v-7a71b3ac"]]),de={class:"drop-down"},S=f(e.defineComponent({__name:"DropDown",props:{dropDownItems:{type:Array,required:!0}},emits:["dropDownItemClicked"],setup(t,{emit:l}){const n=l,o=e.ref(!1);function s(){o.value=!o.value}function a(r){n("dropDownItemClicked",r),o.value=!1}return(r,c)=>(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("button",{type:"button",onClick:s},[e.renderSlot(r.$slots,"default",{},void 0,!0)]),e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.withDirectives(e.createVNode(N,{onDropDownItemClicked:a,"drop-down-items":t.dropDownItems},null,8,["drop-down-items"]),[[e.vShow,o.value]])]),_:1}),e.createVNode(e.Transition,null,{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:s,class:"drop-down-backdrop"})):e.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-539fd54a"]]),ce=["for"],me={class:"number-input-row"},ue=["aria-label","disabled"],pe=["aria-label","disabled"],fe=e.defineComponent({__name:"NumberInput",props:e.mergeModels({label:{type:String,required:!0},maxValue:{type:Number,default:Number.MAX_SAFE_INTEGER},minValue:{type:Number,default:Number.MIN_SAFE_INTEGER},stepIncrement:{type:Number,default:1},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const l=t,n=e.useModel(t,"modelValue"),o=e.ref(""),s=e.computed(()=>"input-"+l.label?.toLowerCase()?.replace(" ","-")),a=e.computed(()=>n.value>=l.maxValue),r=e.computed(()=>n.value<=l.minValue);function c(){if(o.value="",r.value){o.value="Reached Lowest Value";return}let u=Math.abs(l.minValue-n.value);u=u<Math.abs(l.stepIncrement)?u:Math.abs(l.stepIncrement);let m=n.value-u;m=m>l.maxValue?l.maxValue:m,n.value=m}function g(){if(o.value="",a.value){o.value="Reached Maxium Value";return}let u=Math.abs(l.maxValue-n.value);u=u<Math.abs(l.stepIncrement)?u:Math.abs(l.stepIncrement);let m=n.value+u;m=m<l.minValue?l.minValue:m,n.value=m}function i(u){o.value="";let p=u.target?.valueAsNumber;p===void 0&&(o.value="Model is undefined - default 0",p=0),isNaN(p)&&(o.value="Not a number - default 0",p=0),p=p>l.maxValue?l.maxValue:p,p=p<l.minValue?l.minValue:p,n.value=p}return(u,m)=>(e.openBlock(),e.createBlock(_,{class:"number-input"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:s.value},[l.tooltipMessage!==""?(e.openBlock(),e.createBlock(h,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:s.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],8,ce),e.createElementVNode("div",me,[e.createElementVNode("button",{type:"button",class:"negative","aria-label":`Decrement current value of ${n.value} by ${l.stepIncrement}`,disabled:r.value,onClick:c}," - ",8,ue),e.withDirectives(e.createElementVNode("input",{type:"number","aria-label":"Current value picked","aria-describedby":"helper-text-explanation","onUpdate:modelValue":m[0]||(m[0]=p=>n.value=p),onChange:m[1]||(m[1]=p=>i(p)),onKeyup:m[2]||(m[2]=p=>i(p))},null,544),[[e.vModelText,n.value]]),e.createElementVNode("button",{type:"button",class:"positive","aria-label":`Increment current value of ${n.value} by ${l.stepIncrement}`,disabled:a.value,onClick:g}," + ",8,pe)]),e.createVNode(b,{"error-message":o.value},null,8,["error-message"])]),_:1}))}}),q=f(fe,[["__scopeId","data-v-06558243"]]),ge=["for"],_e={key:1,"aria-description":"Field is required"},he=["id","name","placeholder"],I=f(e.defineComponent({__name:"PasswordInput",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},minLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},placeholderText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:modelValue"]),setup(t,{emit:l}){const n=l,o=t,s=e.useModel(t,"modelValue"),a=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(" ","-"));function g(){a.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(a.value=!0,r.value="This field is required"),o.minLength>0&&i<o.minLength&&(a.value=!0,r.value=`This field has a minimum length ${i} / ${o.minLength}`),n("isValid",!a.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,{class:"text-input"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(h,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",_e,"*")):e.createCommentVNode("",!0)],8,ge),e.withDirectives(e.createElementVNode("input",{id:c.value,type:"password",name:o.label,placeholder:o.placeholderText,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,he),[[e.vModelText,s.value]]),e.createVNode(b,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-d179e9e2"]]),be=["for"],ke={class:"switch-text"},T=f(e.defineComponent({__name:"SwitchComponent",props:e.mergeModels({label:{type:String,required:!0},offText:{type:String,required:!1,default:""},onText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const l=t,n=e.computed(()=>a.value?"switch on":"switch off"),o=e.computed(()=>"input-"+l.label?.toLowerCase()?.replace(" ","-")),s=e.computed(()=>a.value?l.onText:l.offText),a=e.useModel(t,"modelValue");function r(){a.value=!a.value}return(c,g)=>(e.openBlock(),e.createBlock(_,{class:"switch-component"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:o.value},[l.tooltipMessage!==""?(e.openBlock(),e.createBlock(h,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:o.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],8,be),e.createElementVNode("div",{onClick:r,class:e.normalizeClass(n.value)},[e.createElementVNode("div",ke,e.toDisplayString(s.value),1),g[0]||(g[0]=e.createElementVNode("div",{class:"switch-block"},null,-1))],2)]),_:1}))}}),[["__scopeId","data-v-f28e5f26"]]),Ne=["for"],ye={key:1,"aria-description":"Field is required"},Ve=["id","name","placeholder"],w=f(e.defineComponent({__name:"TextArea",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},minLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},maxLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},placeholderText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{model:{type:String,required:!1,default:""},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:model"]),setup(t,{emit:l}){const n=l,o=t,s=e.useModel(t,"model"),a=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(" ","-"));function g(){a.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(a.value=!0,r.value="This field is required"),o.minLength>0&&i<o.minLength&&(a.value=!0,r.value=`This field has a minimum length ${i} / ${o.minLength}`),o.maxLength>0&&i>o.maxLength&&(a.value=!0,r.value=`This field has a maximum length ${i} / ${o.maxLength}`),n("isValid",!a.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,null,{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(h,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",ye,"*")):e.createCommentVNode("",!0)],8,Ne),e.withDirectives(e.createElementVNode("textarea",{rows:"10",id:c.value,type:"text",name:o.label,placeholder:o.placeholderText,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,Ve),[[e.vModelText,s.value]]),e.createVNode(b,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-88c9adeb"]]),Ce=["for"],$e={key:1,"aria-description":"Field is required"},Be=["id","name","placeholder"],x=f(e.defineComponent({__name:"TextInput",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},minLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},maxLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},placeholderText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:modelValue"]),setup(t,{emit:l}){const n=l,o=t,s=e.useModel(t,"modelValue"),a=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(" ","-"));function g(){a.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(a.value=!0,r.value="This field is required"),o.minLength>0&&i<o.minLength&&(a.value=!0,r.value=`This field has a minimum length ${i} / ${o.minLength}`),o.maxLength>0&&i>o.maxLength&&(a.value=!0,r.value=`This field has a maximum length ${i} / ${o.maxLength}`),n("isValid",!a.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,{class:"text-input"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(h,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",$e,"*")):e.createCommentVNode("",!0)],8,Ce),e.withDirectives(e.createElementVNode("input",{id:c.value,type:"text",name:o.label,placeholder:o.placeholderText,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,Be),[[e.vModelText,s.value]]),e.createVNode(b,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-354652ea"]]),Me=Object.freeze(Object.defineProperty({__proto__:null,ButtonComponent:y,CardComponent:V,CardFooter:C,CardHeader:$,CheckBox:B,DatetimeComponent:M,DropDown:S,DropDownItem:N,FormGroup:_,NumberInput:q,PasswordInput:I,RenderErrorMessage:b,SwitchComponent:T,TextArea:w,TextInput:x,ToolTip:h},Symbol.toStringTag,{value:"Module"})),Se={customer:"Customer",group:"Group",kanban_board:"Kanban Board",kanban_card:"Kanban Card",organisation:"Organisation",request_for_change:"Request For Change",requirement:"Requirement",requirement_item:"Requirement Item",project:"Project",task:"Task",user:"User"},qe={customer:"customer",kanban_board:"kanban_board",kanban_card:"kanban_card",organisation:"organisation",request_for_change:"request_for_change",requirement:"requirement",requirement_item:"requirement_item",project:"project",task:"task"},Ie={install(t){Object.entries(Me).forEach(([l,n])=>{t.component(l,n)})}};d.ButtonComponent=y,d.CardComponent=V,d.CardFooter=C,d.CardHeader=$,d.CheckBox=B,d.DatetimeComponent=M,d.DropDown=S,d.DropDownItem=N,d.FormGroup=_,d.NumberInput=q,d.ObjectStateEnum=k,d.ObjectTitleCaseEnums=Se,d.ObjectTypeEnums=qe,d.PasswordInput=I,d.RenderErrorMessage=b,d.SwitchComponent=T,d.TextArea=w,d.TextInput=x,d.ToolTip=h,d.default=Ie,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.WhelkUI={},d.Vue))})(this,(function(d,e){"use strict";const x=["disabled"],E=e.defineComponent({__name:"ButtonComponent",props:{isActionRunning:{type:Boolean,default:!1,required:!1},isDisabled:{type:Boolean,default:!1,required:!1}},setup(t){const l=t,a=e.computed(()=>l.isDisabled||l.isActionRunning);return(o,s)=>(e.openBlock(),e.createElementBlock("button",{class:"wlk-button-component",role:"button",disabled:a.value},[t.isActionRunning?e.createCommentVNode("",!0):e.renderSlot(o.$slots,"default",{key:0},()=>[s[0]||(s[0]=e.createTextVNode("Submit",-1))],!0),t.isActionRunning?e.renderSlot(o.$slots,"action-state",{key:1},()=>[s[1]||(s[1]=e.createTextVNode("Updating",-1))],!0):e.createCommentVNode("",!0)],8,x))}}),f=(t,l)=>{const a=t.__vccOpts||t;for(const[o,s]of l)a[o]=s;return a},N=f(E,[["__scopeId","data-v-ff32fdfb"]]),D={},L={class:"wlk-card-component"};function R(t,l){return e.openBlock(),e.createElementBlock("div",L,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const y=f(D,[["render",R],["__scopeId","data-v-74467f04"]]),O={},A={class:"wlk-card-footer"};function F(t,l){return e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const V=f(O,[["render",F],["__scopeId","data-v-d1e72c62"]]),j={},G={class:"wlk-card-header"};function U(t,l){return e.openBlock(),e.createElementBlock("div",G,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const C=f(j,[["render",U],["__scopeId","data-v-961bdb19"]]),K={class:"checkbox-component"},P=["id","name"],z=["for"],$=f(e.defineComponent({__name:"CheckBox",props:e.mergeModels({id:{type:String,required:!0},label:{type:String,required:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const l=e.useModel(t,"modelValue"),a=t,o=e.computed(()=>`checkbox-${a.id}`);return(s,n)=>(e.openBlock(),e.createElementBlock("div",K,[e.withDirectives(e.createElementVNode("input",{id:o.value,name:t.label,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),type:"checkbox"},null,8,P),[[e.vModelCheckbox,l.value]]),e.createElementVNode("label",{for:o.value},e.toDisplayString(a.label),9,z)]))}}),[["__scopeId","data-v-39385668"]]),H={},W={class:"form-group"};function X(t,l){return e.openBlock(),e.createElementBlock("div",W,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const _=f(H,[["render",X],["__scopeId","data-v-142c8936"]]),J={},Q={class:"render-error-message"};function Y(t,l){return e.openBlock(),e.createElementBlock("span",Q,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const h=f(J,[["render",Y],["__scopeId","data-v-ae516306"]]),Z=["id"],v={key:0,class:"tooltip-title"},ee={class:"tooltip-message"},te=["data-tooltip-target"],b=f(e.defineComponent({__name:"ToolTip",props:{id:{type:String,required:!0},message:{type:String,required:!0},title:{type:String,default:""}},setup(t){const l=t,a=e.computed(()=>`tooltip-${l.id}`),o=e.ref("tooltip");return(s,n)=>{const r=e.resolveComponent("Info");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{id:a.value,class:e.normalizeClass(o.value),role:"tooltip"},[l.title!==""&&l.title!==null&&l.title!==void 0?(e.openBlock(),e.createElementBlock("p",v,e.toDisplayString(l.title),1)):e.createCommentVNode("",!0),e.createElementVNode("p",ee,e.toDisplayString(l.message),1)],10,Z),e.createElementVNode("span",{"data-tooltip-target":a.value,type:"tooltip",onMouseenter:n[0]||(n[0]=c=>o.value="tooltip show"),onMouseleave:n[1]||(n[1]=c=>o.value="tooltip"),onFocus:n[2]||(n[2]=c=>o.value="tooltip show"),onBlur:n[3]||(n[3]=c=>o.value="tooltip"),onKeydown:n[4]||(n[4]=e.withKeys(c=>o.value="tooltip",["esc"]))},[e.createVNode(r)],40,te)],64)}}}),[["__scopeId","data-v-259be5b6"]]),oe=["for"],le={key:1,"aria-description":"Field is required"},ne=["id","name"],B=f(e.defineComponent({__name:"DatetimeComponent",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{model:{type:Date,required:!1},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:model"]),setup(t,{emit:l}){const a=l,o=t,s=e.useModel(t,"model"),n=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(/ /g,"-"));function g(){n.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(n.value=!0,r.value="This field is required"),a("isValid",!n.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,{class:"datetime-component"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(b,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",le,"*")):e.createCommentVNode("",!0)],8,oe),e.withDirectives(e.createElementVNode("input",{id:c.value,type:"datetime-local",name:o.label,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,ne),[[e.vModelText,s.value]]),e.createVNode(h,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-0431d9c6"]]),ae={class:"drop-down-items"},re=["onClick"],k=f(e.defineComponent({__name:"DropDownItem",props:{dropDownItems:{type:Array,required:!0}},emits:["dropDownItemClicked"],setup(t,{emit:l}){const a=l;function o(s){a("dropDownItemClicked",s)}return(s,n)=>(e.openBlock(),e.createElementBlock("div",ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dropDownItems,r=>(e.openBlock(),e.createElementBlock("div",{class:"drop-down-item",onClick:c=>o(r.trigger),key:r.label},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.icon))),e.createTextVNode(" "+e.toDisplayString(r.label),1)],8,re))),128))]))}}),[["__scopeId","data-v-e1f5198c"]]),ie={class:"drop-down"},M=f(e.defineComponent({__name:"DropDown",props:{dropDownItems:{type:Array,required:!0}},emits:["dropDownItemClicked"],setup(t,{emit:l}){const a=l,o=e.ref(!1);function s(){o.value=!o.value}function n(r){a("dropDownItemClicked",r),o.value=!1}return(r,c)=>(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("button",{type:"button",onClick:s},[e.renderSlot(r.$slots,"default",{},void 0,!0)]),e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.withDirectives(e.createVNode(k,{onDropDownItemClicked:n,"drop-down-items":t.dropDownItems},null,8,["drop-down-items"]),[[e.vShow,o.value]])]),_:1}),e.createVNode(e.Transition,null,{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:s,class:"drop-down-backdrop"})):e.createCommentVNode("",!0)]),_:1})]))}}),[["__scopeId","data-v-e6dbee62"]]),se=["for"],de={class:"number-input-row"},ce=["aria-label","disabled"],me=["aria-label","disabled"],ue=e.defineComponent({__name:"NumberInput",props:e.mergeModels({label:{type:String,required:!0},maxValue:{type:Number,default:Number.MAX_SAFE_INTEGER},minValue:{type:Number,default:Number.MIN_SAFE_INTEGER},stepIncrement:{type:Number,default:1},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const l=t,a=e.useModel(t,"modelValue"),o=e.ref(""),s=e.computed(()=>"input-"+l.label?.toLowerCase()?.replace(/ /g,"-")),n=e.computed(()=>a.value>=l.maxValue),r=e.computed(()=>a.value<=l.minValue);function c(){if(o.value="",r.value){o.value="Reached Lowest Value";return}let u=Math.abs(l.minValue-a.value);u=u<Math.abs(l.stepIncrement)?u:Math.abs(l.stepIncrement);let m=a.value-u;m=m>l.maxValue?l.maxValue:m,a.value=m}function g(){if(o.value="",n.value){o.value="Reached Maxium Value";return}let u=Math.abs(l.maxValue-a.value);u=u<Math.abs(l.stepIncrement)?u:Math.abs(l.stepIncrement);let m=a.value+u;m=m<l.minValue?l.minValue:m,a.value=m}function i(u){o.value="";let p=u.target?.valueAsNumber;p===void 0&&(o.value="Model is undefined - default 0",p=0),isNaN(p)&&(o.value="Not a number - default 0",p=0),p=p>l.maxValue?l.maxValue:p,p=p<l.minValue?l.minValue:p,a.value=p}return(u,m)=>(e.openBlock(),e.createBlock(_,{class:"number-input"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:s.value},[l.tooltipMessage!==""?(e.openBlock(),e.createBlock(b,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:s.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],8,se),e.createElementVNode("div",de,[e.createElementVNode("button",{type:"button",class:"negative","aria-label":`Decrement current value of ${a.value} by ${l.stepIncrement}`,disabled:r.value,onClick:c}," - ",8,ce),e.withDirectives(e.createElementVNode("input",{type:"number","aria-label":"Current value picked","aria-describedby":"helper-text-explanation","onUpdate:modelValue":m[0]||(m[0]=p=>a.value=p),onChange:m[1]||(m[1]=p=>i(p)),onKeyup:m[2]||(m[2]=p=>i(p))},null,544),[[e.vModelText,a.value]]),e.createElementVNode("button",{type:"button",class:"positive","aria-label":`Increment current value of ${a.value} by ${l.stepIncrement}`,disabled:n.value,onClick:g}," + ",8,me)]),e.createVNode(h,{"error-message":o.value},null,8,["error-message"])]),_:1}))}}),T=f(ue,[["__scopeId","data-v-a67e88cf"]]),pe=["for"],fe={key:1,"aria-description":"Field is required"},ge=["id","name","placeholder"],q=f(e.defineComponent({__name:"PasswordInput",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},minLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},placeholderText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:modelValue"]),setup(t,{emit:l}){const a=l,o=t,s=e.useModel(t,"modelValue"),n=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(/ /g,"-"));function g(){n.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(n.value=!0,r.value="This field is required"),o.minLength>0&&i<o.minLength&&(n.value=!0,r.value=`This field has a minimum length ${i} / ${o.minLength}`),a("isValid",!n.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,{class:"text-input"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(b,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",fe,"*")):e.createCommentVNode("",!0)],8,pe),e.withDirectives(e.createElementVNode("input",{id:c.value,type:"password",name:o.label,placeholder:o.placeholderText,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,ge),[[e.vModelText,s.value]]),e.createVNode(h,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-ebc196f2"]]),_e=["for"],be={class:"switch-text"},I=f(e.defineComponent({__name:"SwitchComponent",props:e.mergeModels({label:{type:String,required:!0},offText:{type:String,required:!1,default:""},onText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const l=t,a=e.computed(()=>n.value?"switch on":"switch off"),o=e.computed(()=>"input-"+l.label?.toLowerCase()?.replace(/ /g,"-")),s=e.computed(()=>n.value?l.onText:l.offText),n=e.useModel(t,"modelValue");function r(){n.value=!n.value}return(c,g)=>(e.openBlock(),e.createBlock(_,{class:"switch-component"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:o.value},[l.tooltipMessage!==""?(e.openBlock(),e.createBlock(b,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:o.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],8,_e),e.createElementVNode("div",{onClick:r,class:e.normalizeClass(a.value)},[e.createElementVNode("div",be,e.toDisplayString(s.value),1),g[0]||(g[0]=e.createElementVNode("div",{class:"switch-block"},null,-1))],2)]),_:1}))}}),[["__scopeId","data-v-5b394104"]]),he=["for"],ke={key:1,"aria-description":"Field is required"},Ne=["id","name","placeholder"],w=f(e.defineComponent({__name:"TextArea",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},minLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},maxLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},placeholderText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{model:{type:String,required:!1,default:""},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:model"]),setup(t,{emit:l}){const a=l,o=t,s=e.useModel(t,"model"),n=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(/ /g,"-"));function g(){n.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(n.value=!0,r.value="This field is required"),o.minLength>0&&i<o.minLength&&(n.value=!0,r.value=`This field has a minimum length ${i} / ${o.minLength}`),o.maxLength>0&&i>o.maxLength&&(n.value=!0,r.value=`This field has a maximum length ${i} / ${o.maxLength}`),a("isValid",!n.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,null,{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(b,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",ke,"*")):e.createCommentVNode("",!0)],8,he),e.withDirectives(e.createElementVNode("textarea",{rows:"10",id:c.value,type:"text",name:o.label,placeholder:o.placeholderText,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,Ne),[[e.vModelText,s.value]]),e.createVNode(h,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-4d8b899d"]]),ye=["for"],Ve={key:1,"aria-description":"Field is required"},Ce=["id","name","placeholder"],S=f(e.defineComponent({__name:"TextInput",props:e.mergeModels({isRequired:{type:Boolean,default:!1},label:{type:String,required:!0},minLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},maxLength:{type:Number,default:0,required:!1,validator:t=>!Number.isNaN(t)},placeholderText:{type:String,required:!1,default:""},tooltipMessage:{type:String,required:!1,default:""},tooltipTitle:{type:String,required:!1,default:""}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["isValid"],["update:modelValue"]),setup(t,{emit:l}){const a=l,o=t,s=e.useModel(t,"modelValue"),n=e.ref(!1),r=e.ref(""),c=e.computed(()=>"input-"+o.label?.toLowerCase()?.replace(/ /g,"-"));function g(){n.value=!1,r.value="";let i=Number(s?.value?.toString().length);i=isNaN(i)?0:i,o.isRequired&&i===0&&(n.value=!0,r.value="This field is required"),o.minLength>0&&i<o.minLength&&(n.value=!0,r.value=`This field has a minimum length ${i} / ${o.minLength}`),o.maxLength>0&&i>o.maxLength&&(n.value=!0,r.value=`This field has a maximum length ${i} / ${o.maxLength}`),a("isValid",!n.value)}return(i,u)=>(e.openBlock(),e.createBlock(_,{class:"text-input"},{default:e.withCtx(()=>[e.createElementVNode("label",{for:c.value},[o.tooltipMessage!==""?(e.openBlock(),e.createBlock(b,{key:0,title:t.tooltipTitle,message:t.tooltipMessage,id:c.value},null,8,["title","message","id"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1),t.isRequired?(e.openBlock(),e.createElementBlock("span",Ve,"*")):e.createCommentVNode("",!0)],8,ye),e.withDirectives(e.createElementVNode("input",{id:c.value,type:"text",name:o.label,placeholder:o.placeholderText,"onUpdate:modelValue":u[0]||(u[0]=m=>s.value=m),onKeyup:g,onFocusout:g},null,40,Ce),[[e.vModelText,s.value]]),e.createVNode(h,{"error-message":r.value},null,8,["error-message"])]),_:1}))}}),[["__scopeId","data-v-894231bc"]]),$e=Object.freeze(Object.defineProperty({__proto__:null,ButtonComponent:N,CardComponent:y,CardFooter:V,CardHeader:C,CheckBox:$,DatetimeComponent:B,DropDown:M,DropDownItem:k,FormGroup:_,NumberInput:T,PasswordInput:q,RenderErrorMessage:h,SwitchComponent:I,TextArea:w,TextInput:S,ToolTip:b},Symbol.toStringTag,{value:"Module"})),Be={Disable:"DISABLE",Error:"ERROR",Loading:"LOADING",LoggingIn:"LOGGING_IN",LoggingOut:"LOGGING_OUT",NoAction:"NO_ACTION",Saving:"SAVING"},Me={customer:"Customer",group:"Group",kanban_board:"Kanban Board",kanban_card:"Kanban Card",organisation:"Organisation",request_for_change:"Request For Change",requirement:"Requirement",requirement_item:"Requirement Item",project:"Project",task:"Task",user:"User"},Te={customer:"customer",kanban_board:"kanban_board",kanban_card:"kanban_card",organisation:"organisation",request_for_change:"request_for_change",requirement:"requirement",requirement_item:"requirement_item",project:"project",task:"task"},qe={install(t){Object.entries($e).forEach(([l,a])=>{t.component(l,a)})}};d.ButtonComponent=N,d.CardComponent=y,d.CardFooter=V,d.CardHeader=C,d.CheckBox=$,d.DatetimeComponent=B,d.DropDown=M,d.DropDownItem=k,d.FormGroup=_,d.NumberInput=T,d.ObjectStateEnum=Be,d.ObjectTitleCaseEnums=Me,d.ObjectTypeEnums=Te,d.PasswordInput=q,d.RenderErrorMessage=h,d.SwitchComponent=I,d.TextArea=w,d.TextInput=S,d.ToolTip=b,d.default=qe,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "author": "Robotichead",
11
11
  "license": "MIT",
12
12
  "private": false,
13
- "version": "0.0.9",
13
+ "version": "0.0.10",
14
14
  "type": "module",
15
15
  "main": "./dist/whelk-ui.umd.cjs",
16
16
  "module": "./dist/whelk-ui.js",
@@ -38,9 +38,8 @@
38
38
  "dev": "vite",
39
39
  "build": "vite build",
40
40
  "test": "vitest",
41
- "test:ui": "vitest --ui",
41
+ "test:unit": "vitest --ui",
42
42
  "test:coverage": "vitest --coverage",
43
- "test:e2e": "playwright test",
44
43
  "docs:dev": "vuepress dev docs",
45
44
  "docs:build": "vuepress build docs",
46
45
  "prepublishOnly": "npm run build"
@@ -50,10 +49,8 @@
50
49
  },
51
50
  "devDependencies": {
52
51
  "@csstools/postcss-global-data": "^3.1.0",
53
- "@playwright/test": "^1.58.0",
54
52
  "@types/node": "^24.10.1",
55
53
  "@vitejs/plugin-vue": "^6.0.3",
56
- "@vitest/browser-playwright": "^4.0.18",
57
54
  "@vitest/coverage-v8": "^4.0.18",
58
55
  "@vitest/eslint-plugin": "^1.4.0",
59
56
  "@vitest/ui": "^4.0.18",