@rotki/ui-library 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +1 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue.js +87 -8
- package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +1 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue2.js +1 -62
- package/dist/components/accordions/accordion/RuiAccordion.vue2.js.map +1 -1
- package/dist/components/calendar/RuiCalendar.vue.js +12 -0
- package/dist/components/calendar/RuiCalendar.vue.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue.js +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue2.js +2 -2
- package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +4 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +19 -8
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +49 -16
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +22 -13
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +1 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +2 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +19 -8
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +1 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +1 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +18 -8
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +1 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +1 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +12 -3
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +1 -1
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +1 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +2 -1
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +1 -1
- package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +49 -16
- package/dist/components/forms/select/RuiMenuSelect.vue2.js +18 -9
- package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +1 -1
- package/dist/components/forms/slider/RuiSlider.vue.d.ts +2 -0
- package/dist/components/forms/slider/RuiSlider.vue2.js +23 -12
- package/dist/components/forms/slider/RuiSlider.vue2.js.map +1 -1
- package/dist/components/forms/switch/RuiSwitch.vue.d.ts +2 -0
- package/dist/components/forms/switch/RuiSwitch.vue2.js +16 -7
- package/dist/components/forms/switch/RuiSwitch.vue2.js.map +1 -1
- package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +2 -0
- package/dist/components/forms/text-area/RuiTextArea.vue2.js +28 -15
- package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +1 -1
- package/dist/components/forms/text-field/RuiTextField.vue.d.ts +2 -0
- package/dist/components/forms/text-field/RuiTextField.vue2.js +26 -13
- package/dist/components/forms/text-field/RuiTextField.vue2.js.map +1 -1
- package/dist/components/icons/IconBrowser.vue.d.ts +3 -0
- package/dist/components/icons/LazyIcon.vue.d.ts +10 -0
- package/dist/style.css +97 -60
- package/dist/web-types.json +155 -1
- package/package.json +1 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue3.js +0 -18
- package/dist/components/accordions/accordion/RuiAccordion.vue3.js.map +0 -1
|
@@ -27,6 +27,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
27
27
|
errorMessages: string | string[];
|
|
28
28
|
successMessages: string | string[];
|
|
29
29
|
hint: string;
|
|
30
|
+
required: boolean;
|
|
30
31
|
hideDetails: boolean;
|
|
31
32
|
textColor: import("../../../index.js").ContextColorsType;
|
|
32
33
|
prependIcon: import("../../../index.js").RuiIcons;
|
|
@@ -24,7 +24,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
24
24
|
prependIcon: { default: void 0 },
|
|
25
25
|
appendIcon: { default: void 0 },
|
|
26
26
|
readonly: { type: Boolean, default: false },
|
|
27
|
-
clearable: { type: Boolean, default: false }
|
|
27
|
+
clearable: { type: Boolean, default: false },
|
|
28
|
+
required: { type: Boolean, default: false }
|
|
28
29
|
}, {
|
|
29
30
|
"modelValue": { required: true },
|
|
30
31
|
"modelModifiers": {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiRevealableTextField.vue.js","sources":["../../../../src/components/forms/revealable-text-field/RuiRevealableTextField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiTextField, { type TextFieldProps } from '@/components/forms/text-field/RuiTextField.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\n\nexport interface Props extends TextFieldProps {}\n\ndefineOptions({\n name: 'RuiRevealableTextField',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<string>({ required: true });\n\nconst props = withDefaults(defineProps<Props>(), {\n label: '',\n placeholder: '',\n disabled: false,\n variant: 'default',\n color: undefined,\n textColor: undefined,\n dense: false,\n hint: '',\n as: undefined,\n errorMessages: () => [],\n successMessages: () => [],\n hideDetails: false,\n prependIcon: undefined,\n appendIcon: undefined,\n readonly: false,\n clearable: false,\n});\n\nconst hidden = ref<boolean>(true);\n</script>\n\n<template>\n <RuiTextField\n v-bind=\"{ ...props, ...$attrs }\"\n v-model=\"modelValue\"\n :type=\"hidden ? 'password' : 'text'\"\n >\n <template\n v-if=\"$slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <template #append>\n <div class=\"flex items-center\">\n <RuiButton\n :disabled=\"disabled\"\n tabindex=\"-1\"\n variant=\"text\"\n type=\"button\"\n icon\n class=\"-mr-1 !p-2\"\n @click=\"hidden = !hidden\"\n >\n <RuiIcon\n class=\"text-black/[.54] dark:text-white/[.56]\"\n size=\"20\"\n :name=\"hidden ? 'lu-eye-off' : 'lu-eye'\"\n />\n </RuiButton>\n\n <slot name=\"append\" />\n </div>\n </template>\n </RuiTextField>\n</template>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","$attrs","_unref","_createElementVNode","_createVNode","_renderSlot","$slots"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RuiRevealableTextField.vue.js","sources":["../../../../src/components/forms/revealable-text-field/RuiRevealableTextField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiTextField, { type TextFieldProps } from '@/components/forms/text-field/RuiTextField.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\n\nexport interface Props extends TextFieldProps {}\n\ndefineOptions({\n name: 'RuiRevealableTextField',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<string>({ required: true });\n\nconst props = withDefaults(defineProps<Props>(), {\n label: '',\n placeholder: '',\n disabled: false,\n variant: 'default',\n color: undefined,\n textColor: undefined,\n dense: false,\n hint: '',\n as: undefined,\n errorMessages: () => [],\n successMessages: () => [],\n hideDetails: false,\n prependIcon: undefined,\n appendIcon: undefined,\n readonly: false,\n clearable: false,\n required: false,\n});\n\nconst hidden = ref<boolean>(true);\n</script>\n\n<template>\n <RuiTextField\n v-bind=\"{ ...props, ...$attrs }\"\n v-model=\"modelValue\"\n :type=\"hidden ? 'password' : 'text'\"\n >\n <template\n v-if=\"$slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <template #append>\n <div class=\"flex items-center\">\n <RuiButton\n :disabled=\"disabled\"\n tabindex=\"-1\"\n variant=\"text\"\n type=\"button\"\n icon\n class=\"-mr-1 !p-2\"\n @click=\"hidden = !hidden\"\n >\n <RuiIcon\n class=\"text-black/[.54] dark:text-white/[.56]\"\n size=\"20\"\n :name=\"hidden ? 'lu-eye-off' : 'lu-eye'\"\n />\n </RuiButton>\n\n <slot name=\"append\" />\n </div>\n </template>\n </RuiTextField>\n</template>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","$attrs","_unref","_createElementVNode","_createVNode","_renderSlot","$slots"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,UAAM,aAAaA,SAAmB,SAAA,YAAmB;AAEzD,UAAM,QAAQ;AAoBd,UAAM,SAAS,IAAa,IAAI;;AAI9B,aAAAC,UAAA,GAAAC,YAgCe,cAhCfC,WAgCe,EAAA,GA/BA,UAAUC,KAAAA,UAAM;AAAA,oBACpB,WAAA;AAAA,qEAAA,WAAU,QAAA;AAAA,QAClB,MAAMC,MAAA,MAAA,IAAM,aAAA;AAAA,MAAA;QAQF,gBACT,MAkBM;AAAA,UAlBNC,mBAkBM,OAlBN,YAkBM;AAAA,YAjBJC,YAcY,WAAA;AAAA,cAbT,UAAU,QAAA;AAAA,cACX,UAAS;AAAA,cACT,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,MAAA;AAAA,cACA,OAAM;AAAA,cACL,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,OAAA,QAAM,CAAIF,MAAA,MAAA;AAAA,YAAA;+BAElB,MAIE;AAAA,gBAJFE,YAIE,SAAA;AAAA,kBAHA,OAAM;AAAA,kBACN,MAAK;AAAA,kBACJ,MAAMF,MAAA,MAAA,IAAM,eAAA;AAAA,gBAAA;;;;YAIjBG,WAAsB,KAAA,QAAA,QAAA;AAAA,UAAA;;;;QAvBlBC,KAAAA,OAAO;gBACZ;AAAA,sBAED,MAAuB;AAAA,YAAvBD,WAAuB,KAAA,QAAA,SAAA;AAAA,UAAA;;;;;;;"}
|
|
@@ -25,6 +25,7 @@ export interface Props<TValue, TItem> {
|
|
|
25
25
|
autoSelectFirst?: boolean;
|
|
26
26
|
hideNoData?: boolean;
|
|
27
27
|
noDataText?: string;
|
|
28
|
+
required?: boolean;
|
|
28
29
|
}
|
|
29
30
|
declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
30
31
|
props: __VLS_PrettifyLocal<(Props<TValue, TItem> & {
|
|
@@ -62,7 +63,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
62
63
|
readonly autoSelectFirst: boolean;
|
|
63
64
|
readonly hideNoData: boolean;
|
|
64
65
|
readonly noDataText: string;
|
|
65
|
-
|
|
66
|
+
readonly required: boolean;
|
|
67
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T extends keyof T_1 ? { readonly [K in T]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
66
68
|
disabled: false;
|
|
67
69
|
loading: false;
|
|
68
70
|
readOnly: false;
|
|
@@ -82,6 +84,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
82
84
|
autoSelectFirst: false;
|
|
83
85
|
hideNoData: false;
|
|
84
86
|
noDataText: "No data available";
|
|
87
|
+
required: false;
|
|
85
88
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]] extends [globalThis.Ref<any, any>] ? (Readonly<{
|
|
86
89
|
options: TItem[];
|
|
87
90
|
menuOptions: MenuProps;
|
|
@@ -108,7 +111,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
108
111
|
readonly autoSelectFirst: boolean;
|
|
109
112
|
readonly hideNoData: boolean;
|
|
110
113
|
readonly noDataText: string;
|
|
111
|
-
|
|
114
|
+
readonly required: boolean;
|
|
115
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_2 extends keyof T_1 ? { readonly [K in T_2]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
112
116
|
disabled: false;
|
|
113
117
|
loading: false;
|
|
114
118
|
readOnly: false;
|
|
@@ -128,6 +132,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
128
132
|
autoSelectFirst: false;
|
|
129
133
|
hideNoData: false;
|
|
130
134
|
noDataText: "No data available";
|
|
135
|
+
required: false;
|
|
131
136
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"] : globalThis.Ref<(Readonly<{
|
|
132
137
|
options: TItem[];
|
|
133
138
|
menuOptions: MenuProps;
|
|
@@ -154,7 +159,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
154
159
|
readonly autoSelectFirst: boolean;
|
|
155
160
|
readonly hideNoData: boolean;
|
|
156
161
|
readonly noDataText: string;
|
|
157
|
-
|
|
162
|
+
readonly required: boolean;
|
|
163
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_3 extends keyof T_1 ? { readonly [K in T_3]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
158
164
|
disabled: false;
|
|
159
165
|
loading: false;
|
|
160
166
|
readOnly: false;
|
|
@@ -174,6 +180,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
174
180
|
autoSelectFirst: false;
|
|
175
181
|
hideNoData: false;
|
|
176
182
|
noDataText: "No data available";
|
|
183
|
+
required: false;
|
|
177
184
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"], (Readonly<{
|
|
178
185
|
options: TItem[];
|
|
179
186
|
menuOptions: MenuProps;
|
|
@@ -200,7 +207,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
200
207
|
readonly autoSelectFirst: boolean;
|
|
201
208
|
readonly hideNoData: boolean;
|
|
202
209
|
readonly noDataText: string;
|
|
203
|
-
|
|
210
|
+
readonly required: boolean;
|
|
211
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_4 extends keyof T_1 ? { readonly [K in T_4]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
204
212
|
disabled: false;
|
|
205
213
|
loading: false;
|
|
206
214
|
readOnly: false;
|
|
@@ -220,6 +228,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
220
228
|
autoSelectFirst: false;
|
|
221
229
|
hideNoData: false;
|
|
222
230
|
noDataText: "No data available";
|
|
231
|
+
required: false;
|
|
223
232
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]>>;
|
|
224
233
|
value: TItem | undefined;
|
|
225
234
|
variant: "default" | "outlined" | "filled";
|
|
@@ -269,7 +278,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
269
278
|
readonly autoSelectFirst: boolean;
|
|
270
279
|
readonly hideNoData: boolean;
|
|
271
280
|
readonly noDataText: string;
|
|
272
|
-
|
|
281
|
+
readonly required: boolean;
|
|
282
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T extends keyof T_1 ? { readonly [K in T]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
273
283
|
disabled: false;
|
|
274
284
|
loading: false;
|
|
275
285
|
readOnly: false;
|
|
@@ -289,6 +299,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
289
299
|
autoSelectFirst: false;
|
|
290
300
|
hideNoData: false;
|
|
291
301
|
noDataText: "No data available";
|
|
302
|
+
required: false;
|
|
292
303
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]] extends [globalThis.Ref<any, any>] ? (Readonly<{
|
|
293
304
|
options: TItem[];
|
|
294
305
|
menuOptions: MenuProps;
|
|
@@ -315,7 +326,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
315
326
|
readonly autoSelectFirst: boolean;
|
|
316
327
|
readonly hideNoData: boolean;
|
|
317
328
|
readonly noDataText: string;
|
|
318
|
-
|
|
329
|
+
readonly required: boolean;
|
|
330
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_2 extends keyof T_1 ? { readonly [K in T_2]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
319
331
|
disabled: false;
|
|
320
332
|
loading: false;
|
|
321
333
|
readOnly: false;
|
|
@@ -335,6 +347,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
335
347
|
autoSelectFirst: false;
|
|
336
348
|
hideNoData: false;
|
|
337
349
|
noDataText: "No data available";
|
|
350
|
+
required: false;
|
|
338
351
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"] : globalThis.Ref<(Readonly<{
|
|
339
352
|
options: TItem[];
|
|
340
353
|
menuOptions: MenuProps;
|
|
@@ -361,7 +374,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
361
374
|
readonly autoSelectFirst: boolean;
|
|
362
375
|
readonly hideNoData: boolean;
|
|
363
376
|
readonly noDataText: string;
|
|
364
|
-
|
|
377
|
+
readonly required: boolean;
|
|
378
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_3 extends keyof T_1 ? { readonly [K in T_3]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
365
379
|
disabled: false;
|
|
366
380
|
loading: false;
|
|
367
381
|
readOnly: false;
|
|
@@ -381,6 +395,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
381
395
|
autoSelectFirst: false;
|
|
382
396
|
hideNoData: false;
|
|
383
397
|
noDataText: "No data available";
|
|
398
|
+
required: false;
|
|
384
399
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"], (Readonly<{
|
|
385
400
|
options: TItem[];
|
|
386
401
|
menuOptions: MenuProps;
|
|
@@ -407,7 +422,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
407
422
|
readonly autoSelectFirst: boolean;
|
|
408
423
|
readonly hideNoData: boolean;
|
|
409
424
|
readonly noDataText: string;
|
|
410
|
-
|
|
425
|
+
readonly required: boolean;
|
|
426
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_4 extends keyof T_1 ? { readonly [K in T_4]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
411
427
|
disabled: false;
|
|
412
428
|
loading: false;
|
|
413
429
|
readOnly: false;
|
|
@@ -427,6 +443,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
427
443
|
autoSelectFirst: false;
|
|
428
444
|
hideNoData: false;
|
|
429
445
|
noDataText: "No data available";
|
|
446
|
+
required: false;
|
|
430
447
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]>>;
|
|
431
448
|
item: TItem;
|
|
432
449
|
active: boolean;
|
|
@@ -459,7 +476,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
459
476
|
readonly autoSelectFirst: boolean;
|
|
460
477
|
readonly hideNoData: boolean;
|
|
461
478
|
readonly noDataText: string;
|
|
462
|
-
|
|
479
|
+
readonly required: boolean;
|
|
480
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T extends keyof T_1 ? { readonly [K in T]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
463
481
|
disabled: false;
|
|
464
482
|
loading: false;
|
|
465
483
|
readOnly: false;
|
|
@@ -479,6 +497,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
479
497
|
autoSelectFirst: false;
|
|
480
498
|
hideNoData: false;
|
|
481
499
|
noDataText: "No data available";
|
|
500
|
+
required: false;
|
|
482
501
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]] extends [globalThis.Ref<any, any>] ? (Readonly<{
|
|
483
502
|
options: TItem[];
|
|
484
503
|
menuOptions: MenuProps;
|
|
@@ -505,7 +524,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
505
524
|
readonly autoSelectFirst: boolean;
|
|
506
525
|
readonly hideNoData: boolean;
|
|
507
526
|
readonly noDataText: string;
|
|
508
|
-
|
|
527
|
+
readonly required: boolean;
|
|
528
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_2 extends keyof T_1 ? { readonly [K in T_2]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
509
529
|
disabled: false;
|
|
510
530
|
loading: false;
|
|
511
531
|
readOnly: false;
|
|
@@ -525,6 +545,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
525
545
|
autoSelectFirst: false;
|
|
526
546
|
hideNoData: false;
|
|
527
547
|
noDataText: "No data available";
|
|
548
|
+
required: false;
|
|
528
549
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"] : globalThis.Ref<(Readonly<{
|
|
529
550
|
options: TItem[];
|
|
530
551
|
menuOptions: MenuProps;
|
|
@@ -551,7 +572,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
551
572
|
readonly autoSelectFirst: boolean;
|
|
552
573
|
readonly hideNoData: boolean;
|
|
553
574
|
readonly noDataText: string;
|
|
554
|
-
|
|
575
|
+
readonly required: boolean;
|
|
576
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_3 extends keyof T_1 ? { readonly [K in T_3]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
555
577
|
disabled: false;
|
|
556
578
|
loading: false;
|
|
557
579
|
readOnly: false;
|
|
@@ -571,6 +593,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
571
593
|
autoSelectFirst: false;
|
|
572
594
|
hideNoData: false;
|
|
573
595
|
noDataText: "No data available";
|
|
596
|
+
required: false;
|
|
574
597
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"], (Readonly<{
|
|
575
598
|
options: TItem[];
|
|
576
599
|
menuOptions: MenuProps;
|
|
@@ -597,7 +620,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
597
620
|
readonly autoSelectFirst: boolean;
|
|
598
621
|
readonly hideNoData: boolean;
|
|
599
622
|
readonly noDataText: string;
|
|
600
|
-
|
|
623
|
+
readonly required: boolean;
|
|
624
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_4 extends keyof T_1 ? { readonly [K in T_4]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
601
625
|
disabled: false;
|
|
602
626
|
loading: false;
|
|
603
627
|
readOnly: false;
|
|
@@ -617,6 +641,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
617
641
|
autoSelectFirst: false;
|
|
618
642
|
hideNoData: false;
|
|
619
643
|
noDataText: "No data available";
|
|
644
|
+
required: false;
|
|
620
645
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]>>;
|
|
621
646
|
item: TItem;
|
|
622
647
|
active: boolean;
|
|
@@ -649,7 +674,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
649
674
|
readonly autoSelectFirst: boolean;
|
|
650
675
|
readonly hideNoData: boolean;
|
|
651
676
|
readonly noDataText: string;
|
|
652
|
-
|
|
677
|
+
readonly required: boolean;
|
|
678
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T extends keyof T_1 ? { readonly [K in T]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
653
679
|
disabled: false;
|
|
654
680
|
loading: false;
|
|
655
681
|
readOnly: false;
|
|
@@ -669,6 +695,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
669
695
|
autoSelectFirst: false;
|
|
670
696
|
hideNoData: false;
|
|
671
697
|
noDataText: "No data available";
|
|
698
|
+
required: false;
|
|
672
699
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]] extends [globalThis.Ref<any, any>] ? (Readonly<{
|
|
673
700
|
options: TItem[];
|
|
674
701
|
menuOptions: MenuProps;
|
|
@@ -695,7 +722,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
695
722
|
readonly autoSelectFirst: boolean;
|
|
696
723
|
readonly hideNoData: boolean;
|
|
697
724
|
readonly noDataText: string;
|
|
698
|
-
|
|
725
|
+
readonly required: boolean;
|
|
726
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_2 extends keyof T_1 ? { readonly [K in T_2]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
699
727
|
disabled: false;
|
|
700
728
|
loading: false;
|
|
701
729
|
readOnly: false;
|
|
@@ -715,6 +743,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
715
743
|
autoSelectFirst: false;
|
|
716
744
|
hideNoData: false;
|
|
717
745
|
noDataText: "No data available";
|
|
746
|
+
required: false;
|
|
718
747
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"] : globalThis.Ref<(Readonly<{
|
|
719
748
|
options: TItem[];
|
|
720
749
|
menuOptions: MenuProps;
|
|
@@ -741,7 +770,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
741
770
|
readonly autoSelectFirst: boolean;
|
|
742
771
|
readonly hideNoData: boolean;
|
|
743
772
|
readonly noDataText: string;
|
|
744
|
-
|
|
773
|
+
readonly required: boolean;
|
|
774
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_3 extends keyof T_1 ? { readonly [K in T_3]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
745
775
|
disabled: false;
|
|
746
776
|
loading: false;
|
|
747
777
|
readOnly: false;
|
|
@@ -761,6 +791,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
761
791
|
autoSelectFirst: false;
|
|
762
792
|
hideNoData: false;
|
|
763
793
|
noDataText: "No data available";
|
|
794
|
+
required: false;
|
|
764
795
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"], (Readonly<{
|
|
765
796
|
options: TItem[];
|
|
766
797
|
menuOptions: MenuProps;
|
|
@@ -787,7 +818,8 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
787
818
|
readonly autoSelectFirst: boolean;
|
|
788
819
|
readonly hideNoData: boolean;
|
|
789
820
|
readonly noDataText: string;
|
|
790
|
-
|
|
821
|
+
readonly required: boolean;
|
|
822
|
+
} & ("disabled" | "autoSelectFirst" | "dense" | "loading" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | ([KeyOfType<TItem, TValue extends (infer U)[] ? U : TValue> | undefined] extends [boolean | undefined] ? "keyAttr" : never) | ([keyof TItem | undefined] extends [boolean | undefined] ? "textAttr" : never) extends infer T_4 extends keyof T_1 ? { readonly [K in T_4]-?: K extends "label" | "disabled" | "keyAttr" | "textAttr" | "appendWidth" | "autoSelectFirst" | "dense" | "itemHeight" | "prependWidth" | "variant" | "loading" | "errorMessages" | "successMessages" | "hint" | "required" | "hideDetails" | "clearable" | "readOnly" | "hideNoData" | "noDataText" ? {
|
|
791
823
|
disabled: false;
|
|
792
824
|
loading: false;
|
|
793
825
|
readOnly: false;
|
|
@@ -807,6 +839,7 @@ declare const __VLS_export: <TValue, TItem>(__VLS_props: NonNullable<Awaited<typ
|
|
|
807
839
|
autoSelectFirst: false;
|
|
808
840
|
hideNoData: false;
|
|
809
841
|
noDataText: "No data available";
|
|
842
|
+
required: false;
|
|
810
843
|
}[K] extends undefined ? boolean | undefined : boolean : boolean; } : never))["disabled"]>>;
|
|
811
844
|
item: TItem;
|
|
812
845
|
active: boolean;
|
|
@@ -7,9 +7,13 @@ import RuiProgress from "../../progress/RuiProgress.vue.js";
|
|
|
7
7
|
import { useDropdownMenu } from "../../../composables/dropdown-menu.js";
|
|
8
8
|
import { useFocus, isDefined } from "@vueuse/core";
|
|
9
9
|
import { set, get } from "@vueuse/shared";
|
|
10
|
-
const _hoisted_1 = ["disabled", "aria-disabled", "tabindex"];
|
|
11
|
-
const _hoisted_2 =
|
|
12
|
-
|
|
10
|
+
const _hoisted_1 = ["disabled", "aria-disabled", "tabindex", "data-error", "aria-invalid"];
|
|
11
|
+
const _hoisted_2 = {
|
|
12
|
+
key: 0,
|
|
13
|
+
class: "text-rui-error"
|
|
14
|
+
};
|
|
15
|
+
const _hoisted_3 = ["value"];
|
|
16
|
+
const _hoisted_4 = { class: "p-4" };
|
|
13
17
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
14
18
|
...{
|
|
15
19
|
name: "RuiMenuSelect",
|
|
@@ -40,7 +44,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
40
44
|
hideDetails: { type: Boolean, default: false },
|
|
41
45
|
autoSelectFirst: { type: Boolean, default: false },
|
|
42
46
|
hideNoData: { type: Boolean, default: false },
|
|
43
|
-
noDataText: { default: "No data available" }
|
|
47
|
+
noDataText: { default: "No data available" },
|
|
48
|
+
required: { type: Boolean, default: false }
|
|
44
49
|
}, {
|
|
45
50
|
"modelValue": { required: true },
|
|
46
51
|
"modelModifiers": {}
|
|
@@ -48,7 +53,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
48
53
|
emits: ["update:modelValue"],
|
|
49
54
|
setup(__props) {
|
|
50
55
|
useCssVars((_ctx) => ({
|
|
51
|
-
"
|
|
56
|
+
"ef71cdca": unref(labelWithQuote)
|
|
52
57
|
}));
|
|
53
58
|
const modelValue = useModel(__props, "modelValue");
|
|
54
59
|
const props = __props;
|
|
@@ -73,7 +78,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
73
78
|
const labelWithQuote = computed(() => {
|
|
74
79
|
if (!props.label)
|
|
75
80
|
return '"\\200B"';
|
|
76
|
-
|
|
81
|
+
const asterisk = props.required ? "﹡" : "";
|
|
82
|
+
return `' ${props.label}${asterisk} '`;
|
|
77
83
|
});
|
|
78
84
|
const {
|
|
79
85
|
containerProps,
|
|
@@ -159,6 +165,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
159
165
|
]]
|
|
160
166
|
}, { ...("getNonRootAttrs" in _ctx ? _ctx.getNonRootAttrs : unref(getNonRootAttrs))(_ctx.$attrs), ...__props.readOnly ? {} : attrs }, {
|
|
161
167
|
"data-id": "activator",
|
|
168
|
+
"data-error": hasError ? "" : void 0,
|
|
169
|
+
"aria-invalid": hasError,
|
|
162
170
|
onKeydown: [
|
|
163
171
|
_cache[1] || (_cache[1] = withKeys(withModifiers(($event) => unref(moveHighlight)(true), ["prevent"]), ["up"])),
|
|
164
172
|
_cache[2] || (_cache[2] = withKeys(withModifiers(($event) => unref(moveHighlight)(false), ["prevent"]), ["down"]))
|
|
@@ -176,7 +184,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
176
184
|
}, [
|
|
177
185
|
renderSlot(_ctx.$slots, "activator.label", normalizeProps(guardReactiveProps({ value: unref(value) })), () => [
|
|
178
186
|
createTextVNode(toDisplayString(__props.label), 1)
|
|
179
|
-
])
|
|
187
|
+
]),
|
|
188
|
+
__props.required ? (openBlock(), createElementBlock("span", _hoisted_2, " ﹡ ")) : createCommentVNode("", true)
|
|
180
189
|
], 2)) : createCommentVNode("", true),
|
|
181
190
|
unref(value) ? (openBlock(), createElementBlock("span", {
|
|
182
191
|
key: 1,
|
|
@@ -228,7 +237,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
228
237
|
value: unref(valueKey),
|
|
229
238
|
class: "hidden",
|
|
230
239
|
type: "hidden"
|
|
231
|
-
}, null, 8,
|
|
240
|
+
}, null, 8, _hoisted_3)
|
|
232
241
|
]),
|
|
233
242
|
default: withCtx(({ width }) => [
|
|
234
243
|
unref(options).length > 0 ? (openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -282,7 +291,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
282
291
|
class: normalizeClass(__props.menuClass)
|
|
283
292
|
}, [
|
|
284
293
|
renderSlot(_ctx.$slots, "no-data", {}, () => [
|
|
285
|
-
createElementVNode("div",
|
|
294
|
+
createElementVNode("div", _hoisted_4, toDisplayString(__props.noDataText), 1)
|
|
286
295
|
])
|
|
287
296
|
], 6)) : createCommentVNode("", true)
|
|
288
297
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiMenuSelect.vue2.js","sources":["../../../../src/components/forms/select/RuiMenuSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"TValue, TItem\">\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport RuiMenu, { type MenuProps } from '@/components/overlays/menu/RuiMenu.vue';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\nimport { type KeyOfType, useDropdownMenu } from '@/composables/dropdown-menu';\n\nexport interface Props<TValue, TItem> {\n options: TItem[];\n keyAttr?: KeyOfType<TItem, TValue extends Array<infer U> ? U : TValue>;\n textAttr?: keyof TItem;\n disabled?: boolean;\n loading?: boolean;\n readOnly?: boolean;\n dense?: boolean;\n clearable?: boolean;\n label?: string;\n menuOptions?: MenuProps;\n labelClass?: string;\n menuClass?: string;\n optionClass?: string;\n prependWidth?: number; // in rem\n appendWidth?: number; // in rem\n itemHeight?: number; // in px\n variant?: 'default' | 'filled' | 'outlined';\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n autoSelectFirst?: boolean;\n hideNoData?: boolean;\n noDataText?: string;\n}\n\ndefineOptions({\n name: 'RuiMenuSelect',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<TValue | undefined>({ required: true });\n\nconst props = withDefaults(defineProps<Props<TValue, TItem>>(), {\n disabled: false,\n loading: false,\n readOnly: false,\n dense: false,\n clearable: false,\n hideDetails: false,\n label: 'Select',\n prependWidth: 0,\n appendWidth: 0,\n variant: 'default',\n hint: undefined,\n keyAttr: undefined,\n textAttr: undefined,\n itemHeight: undefined,\n errorMessages: () => [],\n successMessages: () => [],\n autoSelectFirst: false,\n hideNoData: false,\n noDataText: 'No data available',\n});\n\nconst { dense, options, disabled } = toRefs(props);\n\nconst menuRef = ref();\nconst activator = ref();\nconst { focused } = useFocus(activator);\n\nconst value = computed<TItem | undefined>({\n get: () => {\n const keyAttr = props.keyAttr;\n const value = get(modelValue);\n if (keyAttr)\n return props.options.find(option => option[keyAttr] === value);\n return value as unknown as TItem;\n },\n set: (selected?: TItem) => {\n const keyAttr = props.keyAttr;\n const selection = keyAttr && selected ? selected[keyAttr] : selected;\n set(modelValue, selection as TValue);\n },\n});\n\nconst labelWithQuote = computed(() => {\n if (!props.label)\n return '\"\\\\200B\"';\n\n return `' ${props.label} '`;\n});\n\nconst {\n containerProps,\n wrapperProps,\n renderedData,\n isOpen,\n menuWidth,\n getText,\n getIdentifier,\n isActiveItem,\n highlightedIndex,\n moveHighlight,\n valueKey,\n} = useDropdownMenu<TValue, TItem>({\n itemHeight: props.itemHeight ?? (props.dense ? 30 : 48),\n keyAttr: props.keyAttr,\n textAttr: props.textAttr,\n options,\n autoFocus: true,\n dense,\n value,\n menuRef,\n disabled,\n autoSelectFirst: props.autoSelectFirst,\n});\n\nconst outlined = computed(() => props.variant === 'outlined');\n\nconst float = computed(() => (get(isOpen) || !!get(value)) && get(outlined));\n\nconst virtualContainerProps = computed(() => ({\n style: containerProps.style as any,\n ref: containerProps.ref as any,\n}));\n\nfunction setValue(val: TItem, index?: number) {\n if (isDefined(index))\n set(highlightedIndex, index);\n\n set(value, val);\n set(focused, true);\n}\n\nfunction clear() {\n set(modelValue, undefined);\n}\n</script>\n\n<template>\n <RuiMenu\n v-model=\"isOpen\"\n :class=\"$style.wrapper\"\n disable-auto-focus\n v-bind=\"{\n ...getRootAttrs($attrs),\n placement: 'bottom-start',\n closeOnContentClick: true,\n fullWidth: true,\n ...menuOptions,\n errorMessages,\n successMessages,\n hint,\n dense,\n showDetails: !hideDetails,\n disabled,\n }\"\n >\n <template #activator=\"{ attrs, open, hasError, hasSuccess }\">\n <slot\n name=\"activator\"\n v-bind=\"{ disabled, value, variant, readOnly, attrs, open, hasError, hasSuccess }\"\n >\n <button\n ref=\"activator\"\n :disabled=\"disabled\"\n :aria-disabled=\"disabled\"\n type=\"button\"\n :tabindex=\"disabled || readOnly ? -1 : 0\"\n class=\"group\"\n :class=\"[\n $style.activator,\n labelClass,\n {\n [$style.disabled]: disabled,\n [$style.readonly]: readOnly,\n [$style.outlined]: outlined,\n [$style.dense]: dense,\n [$style.float]: float,\n [$style.opened]: open,\n [$style['with-value']]: !!value,\n [$style['with-error']]: hasError,\n [$style['with-success']]: hasSuccess && !hasError,\n },\n ]\"\n v-bind=\"{ ...getNonRootAttrs($attrs), ...(readOnly ? {} : attrs) }\"\n data-id=\"activator\"\n @keydown.up.prevent=\"moveHighlight(true)\"\n @keydown.down.prevent=\"moveHighlight(false)\"\n >\n <span\n v-if=\"outlined || !value\"\n :class=\"[\n $style.label,\n {\n 'absolute': outlined,\n 'pr-2': !value && !open && outlined,\n },\n ]\"\n >\n <slot\n name=\"activator.label\"\n v-bind=\"{ value }\"\n >\n {{ label }}\n </slot>\n </span>\n <span\n v-if=\"value\"\n class=\"w-full\"\n :class=\"$style.value\"\n >\n <slot\n name=\"selection.prepend\"\n v-bind=\"{ item: value }\"\n />\n <slot\n name=\"selection\"\n v-bind=\"{ item: value }\"\n >\n {{ getText(value) }}\n </slot>\n </span>\n\n <span\n v-if=\"clearable && value && !disabled\"\n class=\"group-hover:!visible\"\n :class=\"[$style.clear, focused && '!visible']\"\n @click.stop.prevent=\"clear()\"\n >\n <RuiIcon\n color=\"error\"\n name=\"lu-x\"\n size=\"18\"\n />\n </span>\n\n <span :class=\"$style.icon__wrapper\">\n <RuiIcon\n :class=\"[$style.icon, { 'rotate-180': open }]\"\n :size=\"dense ? 16 : 24\"\n name=\"lu-chevron-down\"\n />\n </span>\n\n <RuiProgress\n v-if=\"loading\"\n class=\"absolute left-0 bottom-0 w-full\"\n color=\"primary\"\n thickness=\"3\"\n variant=\"indeterminate\"\n />\n </button>\n <fieldset\n v-if=\"outlined\"\n :class=\"$style.fieldset\"\n >\n <legend :class=\"{ 'px-2': float }\" />\n </fieldset>\n </slot>\n <input\n :value=\"valueKey\"\n class=\"hidden\"\n type=\"hidden\"\n />\n </template>\n <template #default=\"{ width }\">\n <div\n v-if=\"options.length > 0\"\n :class=\"[$style.menu, menuClass]\"\n :style=\"{ width: `${width}px`, minWidth: menuWidth }\"\n v-bind=\"virtualContainerProps\"\n @scroll=\"containerProps.onScroll\"\n @keydown.up.prevent=\"moveHighlight(true)\"\n @keydown.down.prevent=\"moveHighlight(false)\"\n >\n <div\n v-bind=\"wrapperProps\"\n ref=\"menuRef\"\n >\n <RuiButton\n v-for=\"({ item, _index }) in renderedData\"\n :key=\"_index\"\n :active=\"isActiveItem(item)\"\n :size=\"dense ? 'sm' : undefined\"\n :model-value=\"getIdentifier(item)\"\n variant=\"list\"\n :class=\"{\n highlighted: highlightedIndex === _index,\n [$style.highlighted]: !isActiveItem(item) && highlightedIndex === _index,\n }\"\n @update:model-value=\"setValue(item, _index)\"\n @mousedown=\"highlightedIndex = _index\"\n >\n <template #prepend>\n <slot\n name=\"item.prepend\"\n v-bind=\"{ disabled, item, active: isActiveItem(item) }\"\n />\n </template>\n <slot\n name=\"item\"\n v-bind=\"{ disabled, item, active: isActiveItem(item) }\"\n >\n {{ getText(item) }}\n </slot>\n <template #append>\n <slot\n name=\"item.append\"\n v-bind=\"{ disabled, item, active: isActiveItem(item) }\"\n />\n </template>\n </RuiButton>\n </div>\n </div>\n\n <div\n v-else-if=\"!hideNoData\"\n :style=\"{ width: `${width}px`, minWidth: menuWidth }\"\n :class=\"menuClass\"\n >\n <slot name=\"no-data\">\n <div class=\"p-4\">\n {{ noDataText }}\n </div>\n </slot>\n </div>\n </template>\n </RuiMenu>\n</template>\n\n<style lang=\"scss\" module>\n.wrapper {\n @apply w-full inline-flex flex-col;\n\n .activator {\n @apply relative inline-flex items-center w-full;\n @apply outline-none focus:outline-none cursor-pointer min-h-14 pl-3 py-2 pr-8 rounded;\n @apply m-0 bg-white transition-all text-body-1 text-left hover:border-black;\n\n &:not(.outlined) {\n @apply hover:bg-gray-100 focus-within:bg-gray-100;\n }\n\n &.dense {\n @apply py-1.5 min-h-10;\n\n ~ .fieldset {\n @apply px-2;\n }\n }\n\n &.disabled {\n @apply opacity-65 text-rui-text-disabled active:text-rui-text-disabled cursor-default pointer-events-none;\n }\n\n &.readonly {\n @apply opacity-80 pointer-events-none cursor-default bg-gray-50;\n }\n\n &.outlined {\n @apply border-none hover:border-none;\n\n &.opened,\n &:focus {\n @apply border-rui-primary;\n\n ~ .fieldset {\n @apply border-rui-primary #{!important};\n @apply border-2 #{!important};\n }\n }\n\n ~ .fieldset {\n @apply border border-black/[0.23];\n }\n\n &:hover {\n ~ .fieldset {\n @apply border-black;\n }\n }\n\n &.disabled {\n ~ .fieldset {\n @apply border-dotted;\n @apply border-black/[0.23] #{!important};\n }\n }\n\n &.with-success {\n .label {\n @apply text-rui-success #{!important};\n }\n\n ~ .fieldset {\n @apply border-rui-success #{!important};\n }\n }\n\n &.with-error {\n .label {\n @apply text-rui-error #{!important};\n }\n\n ~ .fieldset {\n @apply border-rui-error #{!important};\n }\n }\n }\n\n .label {\n @apply text-rui-text-secondary;\n max-width: calc(100% - 2.5rem);\n }\n\n .label,\n .value {\n @apply block truncate transition-all duration-75;\n }\n\n .clear {\n @apply ml-auto shrink-0 invisible;\n }\n\n .icon {\n @apply text-rui-text transition;\n\n &__wrapper {\n @apply flex items-center justify-end;\n @apply absolute right-3 top-px bottom-0;\n }\n }\n\n &.float {\n .label {\n @apply -translate-y-2 top-0 text-xs px-1;\n }\n\n ~ .fieldset {\n legend {\n &:after {\n content: v-bind(labelWithQuote);\n }\n }\n }\n\n &.opened,\n &.opened.with-value,\n &:focus,\n &:focus.with-value {\n .label {\n @apply text-rui-primary;\n }\n\n ~ .fieldset {\n @apply border-rui-primary;\n @apply border-2 #{!important};\n }\n }\n }\n }\n\n .fieldset {\n @apply absolute w-full min-w-0 h-[calc(100%+0.5rem)] top-0 left-0 rounded pointer-events-none px-2 transition-all -mt-2;\n\n legend {\n @apply opacity-0 text-xs truncate;\n max-width: calc(100% - 1rem);\n\n &:before {\n content: ' ';\n }\n\n &:after {\n @apply truncate max-w-full leading-[0];\n content: '\\200B';\n }\n }\n }\n}\n\n.menu {\n @apply overflow-y-auto max-h-60 min-w-[2.5rem];\n}\n\n.highlighted {\n @apply bg-rui-grey-200 #{!important};\n\n &.active {\n @apply bg-rui-grey-300 #{!important};\n }\n}\n\n:global(.dark) {\n .wrapper {\n .activator {\n @apply bg-transparent text-rui-text;\n\n &:not(.outlined) {\n @apply hover:bg-white/10 focus-within:bg-white/10;\n\n &.disabled {\n @apply bg-white/10;\n }\n }\n\n &.readonly {\n @apply bg-white/10;\n }\n\n &.outlined {\n ~ .fieldset {\n @apply border-white/[0.23];\n }\n\n &.disabled {\n ~ .fieldset {\n @apply border-white/[0.23] #{!important};\n }\n }\n\n &:hover {\n ~ .fieldset {\n @apply border-white;\n }\n }\n }\n }\n }\n\n .highlighted {\n @apply bg-rui-grey-800 #{!important};\n\n &.active {\n @apply bg-rui-grey-700 #{!important};\n }\n }\n}\n</style>\n"],"names":["_useModel","value","_openBlock","_createBlock","_mergeProps","_unref","$style","getRootAttrs","$attrs","_withCtx","_renderSlot","_createElementVNode","getNonRootAttrs","_createElementBlock","_normalizeClass","_normalizeProps","_guardReactiveProps","_createTextVNode","_toDisplayString","_createVNode","_Fragment","_renderList","_normalizeStyle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RuiMenuSelect.vue2.js","sources":["../../../../src/components/forms/select/RuiMenuSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"TValue, TItem\">\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport RuiMenu, { type MenuProps } from '@/components/overlays/menu/RuiMenu.vue';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\nimport { type KeyOfType, useDropdownMenu } from '@/composables/dropdown-menu';\n\nexport interface Props<TValue, TItem> {\n options: TItem[];\n keyAttr?: KeyOfType<TItem, TValue extends Array<infer U> ? U : TValue>;\n textAttr?: keyof TItem;\n disabled?: boolean;\n loading?: boolean;\n readOnly?: boolean;\n dense?: boolean;\n clearable?: boolean;\n label?: string;\n menuOptions?: MenuProps;\n labelClass?: string;\n menuClass?: string;\n optionClass?: string;\n prependWidth?: number; // in rem\n appendWidth?: number; // in rem\n itemHeight?: number; // in px\n variant?: 'default' | 'filled' | 'outlined';\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n autoSelectFirst?: boolean;\n hideNoData?: boolean;\n noDataText?: string;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiMenuSelect',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<TValue | undefined>({ required: true });\n\nconst props = withDefaults(defineProps<Props<TValue, TItem>>(), {\n disabled: false,\n loading: false,\n readOnly: false,\n dense: false,\n clearable: false,\n hideDetails: false,\n label: 'Select',\n prependWidth: 0,\n appendWidth: 0,\n variant: 'default',\n hint: undefined,\n keyAttr: undefined,\n textAttr: undefined,\n itemHeight: undefined,\n errorMessages: () => [],\n successMessages: () => [],\n autoSelectFirst: false,\n hideNoData: false,\n noDataText: 'No data available',\n required: false,\n});\n\nconst { dense, options, disabled } = toRefs(props);\n\nconst menuRef = ref();\nconst activator = ref();\nconst { focused } = useFocus(activator);\n\nconst value = computed<TItem | undefined>({\n get: () => {\n const keyAttr = props.keyAttr;\n const value = get(modelValue);\n if (keyAttr)\n return props.options.find(option => option[keyAttr] === value);\n return value as unknown as TItem;\n },\n set: (selected?: TItem) => {\n const keyAttr = props.keyAttr;\n const selection = keyAttr && selected ? selected[keyAttr] : selected;\n set(modelValue, selection as TValue);\n },\n});\n\nconst labelWithQuote = computed<string>(() => {\n if (!props.label)\n return '\"\\\\200B\"';\n\n const asterisk = props.required ? '﹡' : '';\n return `' ${props.label}${asterisk} '`;\n});\n\nconst {\n containerProps,\n wrapperProps,\n renderedData,\n isOpen,\n menuWidth,\n getText,\n getIdentifier,\n isActiveItem,\n highlightedIndex,\n moveHighlight,\n valueKey,\n} = useDropdownMenu<TValue, TItem>({\n itemHeight: props.itemHeight ?? (props.dense ? 30 : 48),\n keyAttr: props.keyAttr,\n textAttr: props.textAttr,\n options,\n autoFocus: true,\n dense,\n value,\n menuRef,\n disabled,\n autoSelectFirst: props.autoSelectFirst,\n});\n\nconst outlined = computed(() => props.variant === 'outlined');\n\nconst float = computed(() => (get(isOpen) || !!get(value)) && get(outlined));\n\nconst virtualContainerProps = computed(() => ({\n style: containerProps.style as any,\n ref: containerProps.ref as any,\n}));\n\nfunction setValue(val: TItem, index?: number) {\n if (isDefined(index))\n set(highlightedIndex, index);\n\n set(value, val);\n set(focused, true);\n}\n\nfunction clear() {\n set(modelValue, undefined);\n}\n</script>\n\n<template>\n <RuiMenu\n v-model=\"isOpen\"\n :class=\"$style.wrapper\"\n disable-auto-focus\n v-bind=\"{\n ...getRootAttrs($attrs),\n placement: 'bottom-start',\n closeOnContentClick: true,\n fullWidth: true,\n ...menuOptions,\n errorMessages,\n successMessages,\n hint,\n dense,\n showDetails: !hideDetails,\n disabled,\n }\"\n >\n <template #activator=\"{ attrs, open, hasError, hasSuccess }\">\n <slot\n name=\"activator\"\n v-bind=\"{ disabled, value, variant, readOnly, attrs, open, hasError, hasSuccess }\"\n >\n <button\n ref=\"activator\"\n :disabled=\"disabled\"\n :aria-disabled=\"disabled\"\n type=\"button\"\n :tabindex=\"disabled || readOnly ? -1 : 0\"\n class=\"group\"\n :class=\"[\n $style.activator,\n labelClass,\n {\n [$style.disabled]: disabled,\n [$style.readonly]: readOnly,\n [$style.outlined]: outlined,\n [$style.dense]: dense,\n [$style.float]: float,\n [$style.opened]: open,\n [$style['with-value']]: !!value,\n [$style['with-error']]: hasError,\n [$style['with-success']]: hasSuccess && !hasError,\n },\n ]\"\n v-bind=\"{ ...getNonRootAttrs($attrs), ...(readOnly ? {} : attrs) }\"\n data-id=\"activator\"\n :data-error=\"hasError ? '' : undefined\"\n :aria-invalid=\"hasError\"\n @keydown.up.prevent=\"moveHighlight(true)\"\n @keydown.down.prevent=\"moveHighlight(false)\"\n >\n <span\n v-if=\"outlined || !value\"\n :class=\"[\n $style.label,\n {\n 'absolute': outlined,\n 'pr-2': !value && !open && outlined,\n },\n ]\"\n >\n <slot\n name=\"activator.label\"\n v-bind=\"{ value }\"\n >\n {{ label }}\n </slot>\n <span\n v-if=\"required\"\n class=\"text-rui-error\"\n >\n ﹡\n </span>\n </span>\n <span\n v-if=\"value\"\n class=\"w-full\"\n :class=\"$style.value\"\n >\n <slot\n name=\"selection.prepend\"\n v-bind=\"{ item: value }\"\n />\n <slot\n name=\"selection\"\n v-bind=\"{ item: value }\"\n >\n {{ getText(value) }}\n </slot>\n </span>\n\n <span\n v-if=\"clearable && value && !disabled\"\n class=\"group-hover:!visible\"\n :class=\"[$style.clear, focused && '!visible']\"\n @click.stop.prevent=\"clear()\"\n >\n <RuiIcon\n color=\"error\"\n name=\"lu-x\"\n size=\"18\"\n />\n </span>\n\n <span :class=\"$style.icon__wrapper\">\n <RuiIcon\n :class=\"[$style.icon, { 'rotate-180': open }]\"\n :size=\"dense ? 16 : 24\"\n name=\"lu-chevron-down\"\n />\n </span>\n\n <RuiProgress\n v-if=\"loading\"\n class=\"absolute left-0 bottom-0 w-full\"\n color=\"primary\"\n thickness=\"3\"\n variant=\"indeterminate\"\n />\n </button>\n <fieldset\n v-if=\"outlined\"\n :class=\"$style.fieldset\"\n >\n <legend :class=\"{ 'px-2': float }\" />\n </fieldset>\n </slot>\n <input\n :value=\"valueKey\"\n class=\"hidden\"\n type=\"hidden\"\n />\n </template>\n <template #default=\"{ width }\">\n <div\n v-if=\"options.length > 0\"\n :class=\"[$style.menu, menuClass]\"\n :style=\"{ width: `${width}px`, minWidth: menuWidth }\"\n v-bind=\"virtualContainerProps\"\n @scroll=\"containerProps.onScroll\"\n @keydown.up.prevent=\"moveHighlight(true)\"\n @keydown.down.prevent=\"moveHighlight(false)\"\n >\n <div\n v-bind=\"wrapperProps\"\n ref=\"menuRef\"\n >\n <RuiButton\n v-for=\"({ item, _index }) in renderedData\"\n :key=\"_index\"\n :active=\"isActiveItem(item)\"\n :size=\"dense ? 'sm' : undefined\"\n :model-value=\"getIdentifier(item)\"\n variant=\"list\"\n :class=\"{\n highlighted: highlightedIndex === _index,\n [$style.highlighted]: !isActiveItem(item) && highlightedIndex === _index,\n }\"\n @update:model-value=\"setValue(item, _index)\"\n @mousedown=\"highlightedIndex = _index\"\n >\n <template #prepend>\n <slot\n name=\"item.prepend\"\n v-bind=\"{ disabled, item, active: isActiveItem(item) }\"\n />\n </template>\n <slot\n name=\"item\"\n v-bind=\"{ disabled, item, active: isActiveItem(item) }\"\n >\n {{ getText(item) }}\n </slot>\n <template #append>\n <slot\n name=\"item.append\"\n v-bind=\"{ disabled, item, active: isActiveItem(item) }\"\n />\n </template>\n </RuiButton>\n </div>\n </div>\n\n <div\n v-else-if=\"!hideNoData\"\n :style=\"{ width: `${width}px`, minWidth: menuWidth }\"\n :class=\"menuClass\"\n >\n <slot name=\"no-data\">\n <div class=\"p-4\">\n {{ noDataText }}\n </div>\n </slot>\n </div>\n </template>\n </RuiMenu>\n</template>\n\n<style lang=\"scss\" module>\n.wrapper {\n @apply w-full inline-flex flex-col;\n\n .activator {\n @apply relative inline-flex items-center w-full;\n @apply outline-none focus:outline-none cursor-pointer min-h-14 pl-3 py-2 pr-8 rounded;\n @apply m-0 bg-white transition-all text-body-1 text-left hover:border-black;\n\n &:not(.outlined) {\n @apply hover:bg-gray-100 focus-within:bg-gray-100;\n }\n\n &.dense {\n @apply py-1.5 min-h-10;\n\n ~ .fieldset {\n @apply px-2;\n }\n }\n\n &.disabled {\n @apply opacity-65 text-rui-text-disabled active:text-rui-text-disabled cursor-default pointer-events-none;\n }\n\n &.readonly {\n @apply opacity-80 pointer-events-none cursor-default bg-gray-50;\n }\n\n &.outlined {\n @apply border-none hover:border-none;\n\n &.opened,\n &:focus {\n @apply border-rui-primary;\n\n ~ .fieldset {\n @apply border-rui-primary #{!important};\n @apply border-2 #{!important};\n }\n }\n\n ~ .fieldset {\n @apply border border-black/[0.23];\n }\n\n &:hover {\n ~ .fieldset {\n @apply border-black;\n }\n }\n\n &.disabled {\n ~ .fieldset {\n @apply border-dotted;\n @apply border-black/[0.23] #{!important};\n }\n }\n\n &.with-success {\n .label {\n @apply text-rui-success #{!important};\n }\n\n ~ .fieldset {\n @apply border-rui-success #{!important};\n }\n }\n\n &.with-error {\n .label {\n @apply text-rui-error #{!important};\n }\n\n ~ .fieldset {\n @apply border-rui-error #{!important};\n }\n }\n }\n\n .label {\n @apply text-rui-text-secondary;\n max-width: calc(100% - 2.5rem);\n }\n\n .label,\n .value {\n @apply block truncate transition-all duration-75;\n }\n\n .clear {\n @apply ml-auto shrink-0 invisible;\n }\n\n .icon {\n @apply text-rui-text transition;\n\n &__wrapper {\n @apply flex items-center justify-end;\n @apply absolute right-3 top-px bottom-0;\n }\n }\n\n &.float {\n .label {\n @apply -translate-y-2 top-0 text-xs px-1;\n }\n\n ~ .fieldset {\n legend {\n &:after {\n content: v-bind(labelWithQuote);\n }\n }\n }\n\n &.opened,\n &.opened.with-value,\n &:focus,\n &:focus.with-value {\n .label {\n @apply text-rui-primary;\n }\n\n ~ .fieldset {\n @apply border-rui-primary;\n @apply border-2 #{!important};\n }\n }\n }\n }\n\n .fieldset {\n @apply absolute w-full min-w-0 h-[calc(100%+0.5rem)] top-0 left-0 rounded pointer-events-none px-2 transition-all -mt-2;\n\n legend {\n @apply opacity-0 text-xs truncate;\n max-width: calc(100% - 1rem);\n\n &:before {\n content: ' ';\n }\n\n &:after {\n @apply truncate max-w-full leading-[0];\n content: '\\200B';\n }\n }\n }\n}\n\n.menu {\n @apply overflow-y-auto max-h-60 min-w-[2.5rem];\n}\n\n.highlighted {\n @apply bg-rui-grey-200 #{!important};\n\n &.active {\n @apply bg-rui-grey-300 #{!important};\n }\n}\n\n:global(.dark) {\n .wrapper {\n .activator {\n @apply bg-transparent text-rui-text;\n\n &:not(.outlined) {\n @apply hover:bg-white/10 focus-within:bg-white/10;\n\n &.disabled {\n @apply bg-white/10;\n }\n }\n\n &.readonly {\n @apply bg-white/10;\n }\n\n &.outlined {\n ~ .fieldset {\n @apply border-white/[0.23];\n }\n\n &.disabled {\n ~ .fieldset {\n @apply border-white/[0.23] #{!important};\n }\n }\n\n &:hover {\n ~ .fieldset {\n @apply border-white;\n }\n }\n }\n }\n }\n\n .highlighted {\n @apply bg-rui-grey-800 #{!important};\n\n &.active {\n @apply bg-rui-grey-700 #{!important};\n }\n }\n}\n</style>\n"],"names":["_useModel","value","_openBlock","_createBlock","_mergeProps","_unref","$style","getRootAttrs","$attrs","_withCtx","_renderSlot","_createElementVNode","getNonRootAttrs","_createElementBlock","_normalizeClass","_normalizeProps","_guardReactiveProps","_createTextVNode","_toDisplayString","_createVNode","_Fragment","_renderList","_normalizeStyle"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export interface Props {
|
|
|
18
18
|
hideDetails?: boolean;
|
|
19
19
|
sliderClass?: string;
|
|
20
20
|
tickClass?: string;
|
|
21
|
+
required?: boolean;
|
|
21
22
|
}
|
|
22
23
|
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
23
24
|
"update:model-value": (value: number) => any;
|
|
@@ -32,6 +33,7 @@ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {},
|
|
|
32
33
|
errorMessages: string | string[];
|
|
33
34
|
successMessages: string | string[];
|
|
34
35
|
hint: string;
|
|
36
|
+
required: boolean;
|
|
35
37
|
hideDetails: boolean;
|
|
36
38
|
step: number;
|
|
37
39
|
min: number;
|