iryx-ui 0.4.0 → 0.5.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.
Files changed (43) hide show
  1. package/README.md +88 -7
  2. package/dist/component-names.d.ts +1 -1
  3. package/dist/components/App.vue.d.ts +1 -1
  4. package/dist/components/Combobox.vue.d.ts +112 -0
  5. package/dist/components/DropdownMenu.vue.d.ts +1 -1
  6. package/dist/components/Select.vue.d.ts +13 -2
  7. package/dist/components/index.d.ts +1 -0
  8. package/dist/index.d.ts +2 -1
  9. package/dist/index.js +49 -47
  10. package/dist/nuxt.d.ts +1 -1
  11. package/dist/packages/iryx-ui/src/component-names.js +1 -1
  12. package/dist/packages/iryx-ui/src/components/Combobox.js +5 -0
  13. package/dist/packages/iryx-ui/src/components/Combobox.vue_vue_type_script_setup_true_lang.js +284 -0
  14. package/dist/packages/iryx-ui/src/components/Select.vue_vue_type_script_setup_true_lang.js +72 -27
  15. package/dist/packages/iryx-ui/src/components/index.js +48 -46
  16. package/dist/packages/iryx-ui/src/theme/alert.js +2 -2
  17. package/dist/packages/iryx-ui/src/theme/button.js +2 -2
  18. package/dist/packages/iryx-ui/src/theme/card.js +1 -1
  19. package/dist/packages/iryx-ui/src/theme/checkbox.js +1 -1
  20. package/dist/packages/iryx-ui/src/theme/combobox.js +29 -0
  21. package/dist/packages/iryx-ui/src/theme/dialog.js +2 -2
  22. package/dist/packages/iryx-ui/src/theme/dropdown-menu.js +4 -4
  23. package/dist/packages/iryx-ui/src/theme/input.js +1 -1
  24. package/dist/packages/iryx-ui/src/theme/number-input.js +1 -1
  25. package/dist/packages/iryx-ui/src/theme/pagination.js +1 -1
  26. package/dist/packages/iryx-ui/src/theme/presets.js +0 -42
  27. package/dist/packages/iryx-ui/src/theme/radio-group.js +1 -1
  28. package/dist/packages/iryx-ui/src/theme/select.js +5 -3
  29. package/dist/packages/iryx-ui/src/theme/skeleton.js +1 -1
  30. package/dist/packages/iryx-ui/src/theme/stepper.js +1 -1
  31. package/dist/packages/iryx-ui/src/theme/switch.js +1 -1
  32. package/dist/packages/iryx-ui/src/theme/tabs.js +3 -3
  33. package/dist/packages/iryx-ui/src/theme/toast.js +3 -3
  34. package/dist/packages/iryx-ui/src/theme/tooltip.js +1 -1
  35. package/dist/plugin.d.ts +1 -1
  36. package/dist/theme/button.d.ts +2 -2
  37. package/dist/theme/combobox.d.ts +101 -0
  38. package/dist/theme/index.d.ts +1 -0
  39. package/dist/theme/input.d.ts +5 -5
  40. package/dist/theme/presets.d.ts +0 -42
  41. package/dist/theme/select.d.ts +6 -0
  42. package/package.json +1 -1
  43. package/theme.css +14 -0
package/README.md CHANGED
@@ -104,7 +104,7 @@ and every component updates.
104
104
 
105
105
  ```vue
106
106
  <template>
107
- <IApp theme="emerald" appearance="system" dir="ltr">
107
+ <IApp theme="rose" appearance="system" dir="ltr">
108
108
  <RouterView />
109
109
  </IApp>
110
110
  </template>
@@ -165,14 +165,14 @@ utilities (shadcn-style `@custom-variant dark`).
165
165
 
166
166
  ## Theming
167
167
 
168
- Pick a built-in color preset — `violet` (default), `emerald`, `rose`,
169
- `amber`, `sky` — at startup or at runtime:
168
+ Pick a built-in color preset — `violet` (default) or `rose` — at startup or at
169
+ runtime:
170
170
 
171
171
  ```ts
172
172
  import { applyTheme } from 'iryx-ui'
173
173
 
174
- app.use(createIryxUi({ theme: 'emerald' }))
175
- // nuxt.config.ts → iryxUi: { theme: 'emerald' }
174
+ app.use(createIryxUi({ theme: 'rose' }))
175
+ // nuxt.config.ts → iryxUi: { theme: 'rose' }
176
176
 
177
177
  applyTheme('rose') // runtime, e.g. from a theme picker
178
178
  ```
@@ -202,10 +202,19 @@ Available tokens, each usable as a Tailwind color (`bg-primary`,
202
202
 
203
203
  | Group | Tokens |
204
204
  | --- | --- |
205
- | Surfaces | `background`, `foreground`, `accent`, `accent-foreground`, `muted`, `muted-foreground`, `border` |
205
+ | Surfaces | `background`, `foreground`, `accent`, `accent-foreground`, `muted`, `muted-foreground`, `border`, `input` |
206
206
  | Brand | `primary`, `primary-foreground`, `primary-from`, `primary-to` |
207
207
  | Status | `success`, `warning`, `danger`, `info` — each with `-foreground`, `-muted`, `-muted-foreground` and `-border` |
208
208
 
209
+ `input` is the fill behind the fields — `IInput`, `ITextarea`, `INumberInput`,
210
+ the `ISelect` trigger, the `ICombobox` anchor — and behind `IButton`'s
211
+ `outline` variant, so the two read as the same kind of surface. It's a token
212
+ of its own rather than a reused `muted`, so how raised a control looks can be
213
+ tuned without moving every muted surface with it. It matches the page
214
+ background in light mode and lifts off it in dark, where the difference is
215
+ legible; that split lives in the token values, so no component needs a `dark:`
216
+ class for it.
217
+
209
218
  `primary-from` / `primary-to` are the stops of the solid button's vertical
210
219
  gradient. The status tokens carry their own dark-mode values, so components
211
220
  never need a `dark:` class for them: `success` is the solid fill,
@@ -266,7 +275,8 @@ app.use(createIryxUi({ unstyled: true }))
266
275
  | `ITextarea` | Multi-line field with matching sizes and `invalid` state |
267
276
  | `ILabel` | Field label with optional `required` asterisk |
268
277
  | `ICheckbox` | Tri-state checkbox (`true` / `false` / `'indeterminate'`), optional `label` + `description` |
269
- | `ISelect` | Listbox with keyboard nav and typeahead, driven by an `items` array |
278
+ | `ISelect` | Listbox with keyboard nav and typeahead, driven by an `items` array, with optional groups |
279
+ | `ICombobox` | Searchable select — filters as you type, with optional groups, virtualized rows and a "create from query" row |
270
280
  | `IRadioGroup` | Radio list with labels wired up automatically; items take a `description` |
271
281
  | `ISwitch` | Accessible toggle, optional `label` + `description` |
272
282
 
@@ -406,6 +416,77 @@ const framework = ref('vue')
406
416
 
407
417
  `ISelect` and `IRadioGroup` accept plain strings or `{ label, value, disabled }` objects. Both also take a default slot if you'd rather compose the Reka primitives yourself.
408
418
 
419
+ `ISelect` also takes groups — an entry with its own `items` becomes a labelled
420
+ heading, the same shape `ICombobox` uses:
421
+
422
+ ```vue
423
+ <ISelect
424
+ v-model="framework"
425
+ :items="[
426
+ { label: 'Virtual DOM', items: ['Vue', 'React'] },
427
+ { label: 'Compiled', items: [{ label: 'Svelte', value: 'svelte' }] },
428
+ ]"
429
+ />
430
+ ```
431
+
432
+ ### Searchable selects
433
+
434
+ `ICombobox` takes the same `items` as `ISelect` and filters them against what
435
+ the user types, which is what you want once a list runs to hundreds of entries.
436
+ The field shows the selected option's **label** while the model holds its value.
437
+
438
+ ```vue
439
+ <ICombobox
440
+ v-model="clientId"
441
+ :items="clients"
442
+ placeholder="Search clients"
443
+ empty-text="No clients found."
444
+ />
445
+ ```
446
+
447
+ Set `create` to offer a row for whatever the user typed when nothing matches.
448
+ Choosing it emits `create` with the query and does **not** change the model —
449
+ the option doesn't exist yet, so you add it and select it yourself:
450
+
451
+ ```vue
452
+ <ICombobox
453
+ v-model="clientId"
454
+ :items="clients"
455
+ create
456
+ :create-label="query => `Add ${query}`"
457
+ @create="query => clients.push({ label: query, value: addClient(query) })"
458
+ />
459
+ ```
460
+
461
+ Both `empty-text` and `create-label` are props precisely so a non-English app
462
+ never inherits an English string; `empty` and `create` slots take over the
463
+ markup entirely if you need more than text.
464
+
465
+ An entry with its own `items` becomes a labelled group. A group disappears on
466
+ its own once nothing inside it matches:
467
+
468
+ ```vue
469
+ <ICombobox
470
+ v-model="clientId"
471
+ :items="[
472
+ { label: 'Recent', items: ['Acme Industries', 'Bolt Logistics'] },
473
+ { label: 'Archived', items: [{ label: 'Cirrus Systems', value: 'cirrus' }] },
474
+ ]"
475
+ />
476
+ ```
477
+
478
+ For lists in the thousands, `virtual` renders only the rows on screen:
479
+
480
+ ```vue
481
+ <ICombobox v-model="sku" virtual :items="fiveThousandItems" :estimate-size="32" />
482
+ ```
483
+
484
+ `virtual` and grouped items are **mutually exclusive** — the underlying
485
+ virtualizer is a flat window with no notion of group headings, so groups are
486
+ flattened and their labels dropped (with a warning in dev). `estimate-size` is
487
+ the assumed row height in px, used to size the scrollbar before rows are
488
+ measured; set it if you have restyled rows to a different height.
489
+
409
490
  ### Numbers and money
410
491
 
411
492
  `INumberInput` never turns your value into a `number`. The model is a decimal
@@ -3,5 +3,5 @@
3
3
  * Consumed by the Vue plugin (global registration) and the Nuxt module
4
4
  * (auto-imports). Keep in sync with `src/components/index.ts`.
5
5
  */
6
- export declare const componentNames: readonly ["Alert", "App", "Badge", "Breadcrumb", "Button", "ButtonGroup", "Card", "Checkbox", "ConfirmDialog", "Dialog", "DropdownMenu", "EmptyState", "Form", "FormField", "Input", "Label", "NumberInput", "Pagination", "Progress", "RadioGroup", "Select", "Separator", "Skeleton", "Stat", "Stepper", "Switch", "Tabs", "Textarea", "Toaster", "Tooltip"];
6
+ export declare const componentNames: readonly ["Alert", "App", "Badge", "Breadcrumb", "Button", "ButtonGroup", "Card", "Checkbox", "Combobox", "ConfirmDialog", "Dialog", "DropdownMenu", "EmptyState", "Form", "FormField", "Input", "Label", "NumberInput", "Pagination", "Progress", "RadioGroup", "Select", "Separator", "Skeleton", "Stat", "Stepper", "Switch", "Tabs", "Textarea", "Toaster", "Tooltip"];
7
7
  export type ComponentName = (typeof componentNames)[number];
@@ -7,7 +7,7 @@ export interface AppProps extends /* @vue-ignore */ ConfigProviderProps {
7
7
  * below. Reactive, unlike the install-time plugin option.
8
8
  */
9
9
  unstyled?: boolean;
10
- /** Colour theme: a preset name (`'emerald'`…) or a custom theme. */
10
+ /** Colour theme: a preset name (`'violet'`, `'rose'`) or a custom theme. */
11
11
  theme?: Theme | ThemePresetName;
12
12
  /** Startup appearance. A preference the user already stored wins over this. */
13
13
  appearance?: Appearance;
@@ -0,0 +1,112 @@
1
+ import type { AcceptableValue, ComboboxRootProps } from 'reka-ui';
2
+ export interface ComboboxItemOption {
3
+ label: string;
4
+ value: string;
5
+ disabled?: boolean;
6
+ }
7
+ /** A labelled run of options. Reka hides the whole group once nothing in it matches. */
8
+ export interface ComboboxItemGroup {
9
+ label: string;
10
+ items: (ComboboxItemOption | string)[];
11
+ }
12
+ export type ComboboxItems = (ComboboxItemOption | ComboboxItemGroup | string)[];
13
+ export interface ComboboxProps extends ComboboxRootProps {
14
+ /**
15
+ * Options to render. Strings are expanded to `{ label, value }`, and an
16
+ * entry with its own `items` becomes a labelled group.
17
+ */
18
+ items?: ComboboxItems;
19
+ placeholder?: string;
20
+ size?: 'sm' | 'md' | 'lg';
21
+ /** Mark the field as invalid — styles the border and ring red. */
22
+ invalid?: boolean;
23
+ id?: string;
24
+ /** Shown when the query matches nothing. Override for non-English apps. */
25
+ emptyText?: string;
26
+ /**
27
+ * Offer a "create" row when the query matches no option's label, for
28
+ * adding a client or item without leaving the field. Selecting it emits
29
+ * `create` with the query — the value is *not* set, since the option
30
+ * doesn't exist yet; add it to `items` and set the model yourself.
31
+ */
32
+ create?: boolean;
33
+ /** Label for that row. Receives the current query. */
34
+ createLabel?: (query: string) => string;
35
+ /**
36
+ * Render only the rows in view. Worth it in the thousands, not the hundreds.
37
+ * Groups are flattened — Reka's virtualizer is a flat window — so `virtual`
38
+ * and grouped `items` are mutually exclusive.
39
+ */
40
+ virtual?: boolean;
41
+ /** Row height in px, used to size the scrollbar before rows are measured. */
42
+ estimateSize?: number;
43
+ /** Rows rendered beyond the viewport on each side. */
44
+ overscan?: number;
45
+ /** Skip built-in classes; you take over styling entirely. */
46
+ unstyled?: boolean;
47
+ class?: string;
48
+ ui?: {
49
+ anchor?: string;
50
+ input?: string;
51
+ trigger?: string;
52
+ content?: string;
53
+ viewport?: string;
54
+ item?: string;
55
+ empty?: string;
56
+ group?: string;
57
+ groupLabel?: string;
58
+ };
59
+ }
60
+ declare var __VLS_50: {
61
+ query: string;
62
+ }, __VLS_58: {
63
+ query: string;
64
+ }, __VLS_60: {}, __VLS_139: {
65
+ query: string;
66
+ };
67
+ type __VLS_Slots = {} & {
68
+ empty?: (props: typeof __VLS_50) => any;
69
+ } & {
70
+ empty?: (props: typeof __VLS_58) => any;
71
+ } & {
72
+ default?: (props: typeof __VLS_60) => any;
73
+ } & {
74
+ create?: (props: typeof __VLS_139) => any;
75
+ };
76
+ declare const __VLS_base: import("vue").DefineComponent<ComboboxProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
77
+ "update:modelValue": (value: AcceptableValue) => any;
78
+ create: (query: string) => any;
79
+ highlight: (payload: {
80
+ ref: HTMLElement;
81
+ value: AcceptableValue;
82
+ } | undefined) => any;
83
+ "update:open": (value: boolean) => any;
84
+ }, string, import("vue").PublicProps, Readonly<ComboboxProps> & Readonly<{
85
+ "onUpdate:modelValue"?: ((value: AcceptableValue) => any) | undefined;
86
+ onCreate?: ((query: string) => any) | undefined;
87
+ onHighlight?: ((payload: {
88
+ ref: HTMLElement;
89
+ value: AcceptableValue;
90
+ } | undefined) => any) | undefined;
91
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
92
+ }>, {
93
+ unstyled: boolean;
94
+ disabled: boolean;
95
+ invalid: boolean;
96
+ emptyText: string;
97
+ create: boolean;
98
+ createLabel: (query: string) => string;
99
+ virtual: boolean;
100
+ estimateSize: number;
101
+ overscan: number;
102
+ open: boolean;
103
+ defaultOpen: boolean;
104
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
105
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
106
+ declare const _default: typeof __VLS_export;
107
+ export default _default;
108
+ type __VLS_WithSlots<T, S> = T & {
109
+ new (): {
110
+ $slots: S;
111
+ };
112
+ };
@@ -36,8 +36,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
36
36
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
37
37
  }>, {
38
38
  unstyled: boolean;
39
- align: "start" | "center" | "end";
40
39
  sideOffset: number;
40
+ align: "start" | "center" | "end";
41
41
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
42
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
43
43
  declare const _default: typeof __VLS_export;
@@ -4,9 +4,18 @@ export interface SelectItemOption {
4
4
  value: string;
5
5
  disabled?: boolean;
6
6
  }
7
+ /** A labelled run of options, rendered under a heading. */
8
+ export interface SelectItemGroup {
9
+ label: string;
10
+ items: (SelectItemOption | string)[];
11
+ }
12
+ export type SelectItems = (SelectItemOption | SelectItemGroup | string)[];
7
13
  export interface SelectProps extends SelectRootProps {
8
- /** Options to render. Strings are expanded to `{ label, value }`. */
9
- items?: (SelectItemOption | string)[];
14
+ /**
15
+ * Options to render. Strings are expanded to `{ label, value }`, and an
16
+ * entry with its own `items` becomes a labelled group.
17
+ */
18
+ items?: SelectItems;
10
19
  placeholder?: string;
11
20
  size?: 'sm' | 'md' | 'lg';
12
21
  /** Skip built-in classes; you take over styling entirely. */
@@ -17,6 +26,8 @@ export interface SelectProps extends SelectRootProps {
17
26
  content?: string;
18
27
  viewport?: string;
19
28
  item?: string;
29
+ group?: string;
30
+ groupLabel?: string;
20
31
  };
21
32
  }
22
33
  declare var __VLS_48: {};
@@ -6,6 +6,7 @@ export { default as Button } from './Button.vue';
6
6
  export { default as ButtonGroup } from './ButtonGroup.vue';
7
7
  export { default as Card } from './Card.vue';
8
8
  export { default as Checkbox } from './Checkbox.vue';
9
+ export { default as Combobox } from './Combobox.vue';
9
10
  export { default as ConfirmDialog } from './ConfirmDialog.vue';
10
11
  export { default as Dialog } from './Dialog.vue';
11
12
  export { default as DropdownMenu } from './DropdownMenu.vue';
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export type { ButtonProps } from './components/Button.vue';
9
9
  export type { ButtonGroupProps } from './components/ButtonGroup.vue';
10
10
  export type { CardProps } from './components/Card.vue';
11
11
  export type { CheckboxProps } from './components/Checkbox.vue';
12
+ export type { ComboboxItemGroup, ComboboxItemOption, ComboboxItems, ComboboxProps } from './components/Combobox.vue';
12
13
  export type { ConfirmDialogProps } from './components/ConfirmDialog.vue';
13
14
  export type { DialogProps } from './components/Dialog.vue';
14
15
  export type { DropdownMenuProps } from './components/DropdownMenu.vue';
@@ -21,7 +22,7 @@ export type { NumberInputProps } from './components/NumberInput.vue';
21
22
  export type { PaginationProps } from './components/Pagination.vue';
22
23
  export type { ProgressProps } from './components/Progress.vue';
23
24
  export type { RadioGroupItemOption, RadioGroupProps } from './components/RadioGroup.vue';
24
- export type { SelectItemOption, SelectProps } from './components/Select.vue';
25
+ export type { SelectItemGroup, SelectItemOption, SelectItems, SelectProps } from './components/Select.vue';
25
26
  export type { SeparatorProps } from './components/Separator.vue';
26
27
  export type { SkeletonProps } from './components/Skeleton.vue';
27
28
  export type { StatProps } from './components/Stat.vue';
package/dist/index.js CHANGED
@@ -18,50 +18,52 @@ import { cardTheme as S } from "./packages/iryx-ui/src/theme/card.js";
18
18
  import C from "./packages/iryx-ui/src/components/Card.js";
19
19
  import { checkboxTheme as w } from "./packages/iryx-ui/src/theme/checkbox.js";
20
20
  import T from "./packages/iryx-ui/src/components/Checkbox.js";
21
- import { resolveConfirm as E, useConfirm as D, useConfirmState as O } from "./packages/iryx-ui/src/composables/confirm.js";
22
- import { dialogTheme as k } from "./packages/iryx-ui/src/theme/dialog.js";
23
- import A from "./packages/iryx-ui/src/components/Dialog.js";
24
- import j from "./packages/iryx-ui/src/components/ConfirmDialog.js";
25
- import { dropdownMenuTheme as M } from "./packages/iryx-ui/src/theme/dropdown-menu.js";
26
- import { isSeparator as N, isSubmenu as P } from "./packages/iryx-ui/src/composables/dropdown-menu.js";
27
- import F from "./packages/iryx-ui/src/components/DropdownMenu.js";
28
- import { emptyStateTheme as I } from "./packages/iryx-ui/src/theme/empty-state.js";
29
- import L from "./packages/iryx-ui/src/components/EmptyState.js";
30
- import { formContextKey as R, formFieldContextKey as z, getByPath as B, isStandardSchema as V, issuePath as H, useForm as U, useFormField as W } from "./packages/iryx-ui/src/composables/form.js";
31
- import G from "./packages/iryx-ui/src/components/Form.js";
32
- import { labelTheme as K } from "./packages/iryx-ui/src/theme/label.js";
33
- import q from "./packages/iryx-ui/src/components/Label.js";
34
- import J from "./packages/iryx-ui/src/components/FormField.js";
35
- import { fieldBase as Y, inputTheme as X, textareaTheme as Z } from "./packages/iryx-ui/src/theme/input.js";
36
- import Q from "./packages/iryx-ui/src/components/Input.js";
37
- import { addDecimals as $, clampDecimal as ee, compareDecimals as te, formatDecimal as ne, formatForLocale as re, isDecimal as ie, localeSeparators as ae, parseDecimal as oe, parseFromLocale as se, roundDecimal as ce, toEditable as le } from "./packages/iryx-ui/src/composables/decimal.js";
38
- import { numberInputTheme as ue } from "./packages/iryx-ui/src/theme/number-input.js";
39
- import de from "./packages/iryx-ui/src/components/NumberInput.js";
40
- import { paginationTheme as fe } from "./packages/iryx-ui/src/theme/pagination.js";
41
- import pe from "./packages/iryx-ui/src/components/Pagination.js";
42
- import { progressTheme as me } from "./packages/iryx-ui/src/theme/progress.js";
43
- import he from "./packages/iryx-ui/src/components/Progress.js";
44
- import { radioGroupTheme as ge } from "./packages/iryx-ui/src/theme/radio-group.js";
45
- import _e from "./packages/iryx-ui/src/components/RadioGroup.js";
46
- import { selectTheme as ve } from "./packages/iryx-ui/src/theme/select.js";
47
- import ye from "./packages/iryx-ui/src/components/Select.js";
48
- import { separatorTheme as be } from "./packages/iryx-ui/src/theme/separator.js";
49
- import xe from "./packages/iryx-ui/src/components/Separator.js";
50
- import { skeletonTheme as Se } from "./packages/iryx-ui/src/theme/skeleton.js";
51
- import Ce from "./packages/iryx-ui/src/components/Skeleton.js";
52
- import { statTheme as we } from "./packages/iryx-ui/src/theme/stat.js";
53
- import Te from "./packages/iryx-ui/src/components/Stat.js";
54
- import { stepperTheme as Ee } from "./packages/iryx-ui/src/theme/stepper.js";
55
- import De from "./packages/iryx-ui/src/components/Stepper.js";
56
- import { switchTheme as Oe } from "./packages/iryx-ui/src/theme/switch.js";
57
- import ke from "./packages/iryx-ui/src/components/Switch.js";
58
- import { tabsTheme as Ae } from "./packages/iryx-ui/src/theme/tabs.js";
59
- import je from "./packages/iryx-ui/src/components/Tabs.js";
60
- import Me from "./packages/iryx-ui/src/components/Textarea.js";
61
- import { useToast as Ne, useToastState as Pe } from "./packages/iryx-ui/src/composables/toast.js";
62
- import { toastTheme as Fe } from "./packages/iryx-ui/src/theme/toast.js";
63
- import Ie from "./packages/iryx-ui/src/components/Toaster.js";
64
- import { tooltipTheme as Le } from "./packages/iryx-ui/src/theme/tooltip.js";
65
- import Re from "./packages/iryx-ui/src/components/Tooltip.js";
66
- import { IryxUi as ze, createIryxUi as Be } from "./packages/iryx-ui/src/plugin.js";
67
- export { a as Alert, d as App, p as Badge, h as Breadcrumb, y as Button, x as ButtonGroup, C as Card, T as Checkbox, j as ConfirmDialog, A as Dialog, F as DropdownMenu, L as EmptyState, G as Form, J as FormField, Q as Input, ze as IryxUi, q as Label, de as NumberInput, pe as Pagination, he as Progress, _e as RadioGroup, ye as Select, xe as Separator, Ce as Skeleton, Te as Stat, De as Stepper, ke as Switch, je as Tabs, Me as Textarea, Ie as Toaster, Re as Tooltip, $ as addDecimals, i as alertTheme, c as applyTheme, f as badgeTheme, m as breadcrumbTheme, g as buttonGroupContextKey, b as buttonGroupTheme, v as buttonTheme, S as cardTheme, w as checkboxTheme, ee as clampDecimal, l as clearTheme, te as compareDecimals, e as componentNames, Be as createIryxUi, t as defaultConfig, k as dialogTheme, M as dropdownMenuTheme, I as emptyStateTheme, Y as fieldBase, R as formContextKey, z as formFieldContextKey, ne as formatDecimal, re as formatForLocale, B as getByPath, o as initAppearance, X as inputTheme, n as iryxUiConfigKey, ie as isDecimal, N as isSeparator, V as isStandardSchema, P as isSubmenu, H as issuePath, K as labelTheme, ae as localeSeparators, ue as numberInputTheme, fe as paginationTheme, oe as parseDecimal, se as parseFromLocale, me as progressTheme, ge as radioGroupTheme, E as resolveConfirm, ce as roundDecimal, ve as selectTheme, be as separatorTheme, Se as skeletonTheme, we as statTheme, Ee as stepperTheme, Oe as switchTheme, Ae as tabsTheme, Z as textareaTheme, u as themes, le as toEditable, Fe as toastTheme, Le as tooltipTheme, s as useAppearance, _ as useButtonGroup, D as useConfirm, O as useConfirmState, U as useForm, W as useFormField, r as useIryxUiConfig, Ne as useToast, Pe as useToastState };
21
+ import { formContextKey as E, formFieldContextKey as D, getByPath as O, isStandardSchema as k, issuePath as A, useForm as j, useFormField as M } from "./packages/iryx-ui/src/composables/form.js";
22
+ import { fieldBase as N, inputTheme as P, textareaTheme as F } from "./packages/iryx-ui/src/theme/input.js";
23
+ import { comboboxTheme as I } from "./packages/iryx-ui/src/theme/combobox.js";
24
+ import L from "./packages/iryx-ui/src/components/Combobox.js";
25
+ import { resolveConfirm as R, useConfirm as z, useConfirmState as B } from "./packages/iryx-ui/src/composables/confirm.js";
26
+ import { dialogTheme as V } from "./packages/iryx-ui/src/theme/dialog.js";
27
+ import H from "./packages/iryx-ui/src/components/Dialog.js";
28
+ import U from "./packages/iryx-ui/src/components/ConfirmDialog.js";
29
+ import { dropdownMenuTheme as W } from "./packages/iryx-ui/src/theme/dropdown-menu.js";
30
+ import { isSeparator as G, isSubmenu as K } from "./packages/iryx-ui/src/composables/dropdown-menu.js";
31
+ import q from "./packages/iryx-ui/src/components/DropdownMenu.js";
32
+ import { emptyStateTheme as J } from "./packages/iryx-ui/src/theme/empty-state.js";
33
+ import Y from "./packages/iryx-ui/src/components/EmptyState.js";
34
+ import X from "./packages/iryx-ui/src/components/Form.js";
35
+ import { labelTheme as Z } from "./packages/iryx-ui/src/theme/label.js";
36
+ import Q from "./packages/iryx-ui/src/components/Label.js";
37
+ import $ from "./packages/iryx-ui/src/components/FormField.js";
38
+ import ee from "./packages/iryx-ui/src/components/Input.js";
39
+ import { addDecimals as te, clampDecimal as ne, compareDecimals as re, formatDecimal as ie, formatForLocale as ae, isDecimal as oe, localeSeparators as se, parseDecimal as ce, parseFromLocale as le, roundDecimal as ue, toEditable as de } from "./packages/iryx-ui/src/composables/decimal.js";
40
+ import { numberInputTheme as fe } from "./packages/iryx-ui/src/theme/number-input.js";
41
+ import pe from "./packages/iryx-ui/src/components/NumberInput.js";
42
+ import { paginationTheme as me } from "./packages/iryx-ui/src/theme/pagination.js";
43
+ import he from "./packages/iryx-ui/src/components/Pagination.js";
44
+ import { progressTheme as ge } from "./packages/iryx-ui/src/theme/progress.js";
45
+ import _e from "./packages/iryx-ui/src/components/Progress.js";
46
+ import { radioGroupTheme as ve } from "./packages/iryx-ui/src/theme/radio-group.js";
47
+ import ye from "./packages/iryx-ui/src/components/RadioGroup.js";
48
+ import { selectTheme as be } from "./packages/iryx-ui/src/theme/select.js";
49
+ import xe from "./packages/iryx-ui/src/components/Select.js";
50
+ import { separatorTheme as Se } from "./packages/iryx-ui/src/theme/separator.js";
51
+ import Ce from "./packages/iryx-ui/src/components/Separator.js";
52
+ import { skeletonTheme as we } from "./packages/iryx-ui/src/theme/skeleton.js";
53
+ import Te from "./packages/iryx-ui/src/components/Skeleton.js";
54
+ import { statTheme as Ee } from "./packages/iryx-ui/src/theme/stat.js";
55
+ import De from "./packages/iryx-ui/src/components/Stat.js";
56
+ import { stepperTheme as Oe } from "./packages/iryx-ui/src/theme/stepper.js";
57
+ import ke from "./packages/iryx-ui/src/components/Stepper.js";
58
+ import { switchTheme as Ae } from "./packages/iryx-ui/src/theme/switch.js";
59
+ import je from "./packages/iryx-ui/src/components/Switch.js";
60
+ import { tabsTheme as Me } from "./packages/iryx-ui/src/theme/tabs.js";
61
+ import Ne from "./packages/iryx-ui/src/components/Tabs.js";
62
+ import Pe from "./packages/iryx-ui/src/components/Textarea.js";
63
+ import { useToast as Fe, useToastState as Ie } from "./packages/iryx-ui/src/composables/toast.js";
64
+ import { toastTheme as Le } from "./packages/iryx-ui/src/theme/toast.js";
65
+ import Re from "./packages/iryx-ui/src/components/Toaster.js";
66
+ import { tooltipTheme as ze } from "./packages/iryx-ui/src/theme/tooltip.js";
67
+ import Be from "./packages/iryx-ui/src/components/Tooltip.js";
68
+ import { IryxUi as Ve, createIryxUi as He } from "./packages/iryx-ui/src/plugin.js";
69
+ export { a as Alert, d as App, p as Badge, h as Breadcrumb, y as Button, x as ButtonGroup, C as Card, T as Checkbox, L as Combobox, U as ConfirmDialog, H as Dialog, q as DropdownMenu, Y as EmptyState, X as Form, $ as FormField, ee as Input, Ve as IryxUi, Q as Label, pe as NumberInput, he as Pagination, _e as Progress, ye as RadioGroup, xe as Select, Ce as Separator, Te as Skeleton, De as Stat, ke as Stepper, je as Switch, Ne as Tabs, Pe as Textarea, Re as Toaster, Be as Tooltip, te as addDecimals, i as alertTheme, c as applyTheme, f as badgeTheme, m as breadcrumbTheme, g as buttonGroupContextKey, b as buttonGroupTheme, v as buttonTheme, S as cardTheme, w as checkboxTheme, ne as clampDecimal, l as clearTheme, I as comboboxTheme, re as compareDecimals, e as componentNames, He as createIryxUi, t as defaultConfig, V as dialogTheme, W as dropdownMenuTheme, J as emptyStateTheme, N as fieldBase, E as formContextKey, D as formFieldContextKey, ie as formatDecimal, ae as formatForLocale, O as getByPath, o as initAppearance, P as inputTheme, n as iryxUiConfigKey, oe as isDecimal, G as isSeparator, k as isStandardSchema, K as isSubmenu, A as issuePath, Z as labelTheme, se as localeSeparators, fe as numberInputTheme, me as paginationTheme, ce as parseDecimal, le as parseFromLocale, ge as progressTheme, ve as radioGroupTheme, R as resolveConfirm, ue as roundDecimal, be as selectTheme, Se as separatorTheme, we as skeletonTheme, Ee as statTheme, Oe as stepperTheme, Ae as switchTheme, Me as tabsTheme, F as textareaTheme, u as themes, de as toEditable, Le as toastTheme, ze as tooltipTheme, s as useAppearance, _ as useButtonGroup, z as useConfirm, B as useConfirmState, j as useForm, M as useFormField, r as useIryxUiConfig, Fe as useToast, Ie as useToastState };
package/dist/nuxt.d.ts CHANGED
@@ -7,7 +7,7 @@ export interface ModuleOptions {
7
7
  unstyled: boolean;
8
8
  /** Startup appearance. A preference the user already stored wins over this. */
9
9
  appearance?: Appearance;
10
- /** Color theme: a preset name (`'emerald'`, `'rose'`…) or a custom theme. */
10
+ /** Color theme: a preset name (`'violet'`, `'rose'`) or a custom theme. */
11
11
  theme?: Theme | ThemePresetName;
12
12
  }
13
13
  declare const _default: NuxtModule<TOptions, TOptions, false>;
@@ -1,4 +1,4 @@
1
1
  //#region src/component-names.ts
2
- var e = /* @__PURE__ */ "Alert.App.Badge.Breadcrumb.Button.ButtonGroup.Card.Checkbox.ConfirmDialog.Dialog.DropdownMenu.EmptyState.Form.FormField.Input.Label.NumberInput.Pagination.Progress.RadioGroup.Select.Separator.Skeleton.Stat.Stepper.Switch.Tabs.Textarea.Toaster.Tooltip".split(".");
2
+ var e = /* @__PURE__ */ "Alert.App.Badge.Breadcrumb.Button.ButtonGroup.Card.Checkbox.Combobox.ConfirmDialog.Dialog.DropdownMenu.EmptyState.Form.FormField.Input.Label.NumberInput.Pagination.Progress.RadioGroup.Select.Separator.Skeleton.Stat.Stepper.Switch.Tabs.Textarea.Toaster.Tooltip".split(".");
3
3
  //#endregion
4
4
  export { e as componentNames };
@@ -0,0 +1,5 @@
1
+ import e from "./Combobox.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Combobox.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };