@bridge-ui/vue 0.0.2 → 0.0.4

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 (95) hide show
  1. package/dist/Actions/Dialog/BridgeDialogAction.vue_vue_type_script_setup_true_lang.js +19 -35
  2. package/dist/Actions/Snackbar/BridgeSnackbarAction.vue_vue_type_script_setup_true_lang.js +41 -54
  3. package/dist/Actions/Snackbar/BridgeSnackbarHost.vue_vue_type_script_setup_true_lang.js +1 -1
  4. package/dist/Components/Alert/alertDefaultIcons.d.ts +1 -1
  5. package/dist/Components/Alert/composables/useAlert.js +2 -2
  6. package/dist/Components/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +1 -0
  7. package/dist/Components/Avatar/avatar.types.d.ts +34 -1
  8. package/dist/Components/Avatar/composables/useAvatar.d.ts +4 -4
  9. package/dist/Components/Avatar/composables/useAvatar.js +10 -9
  10. package/dist/Components/Avatar/index.d.ts +1 -1
  11. package/dist/Components/Badge/composables/useBadge.js +2 -2
  12. package/dist/Components/Button/composables/useButton.d.ts +1 -1
  13. package/dist/Components/Button/composables/useButton.js +2 -2
  14. package/dist/Components/Card/composables/useCard.js +4 -4
  15. package/dist/Components/Checkbox/Checkbox.vue.d.ts +3 -3
  16. package/dist/Components/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +23 -23
  17. package/dist/Components/Checkbox/checkbox.types.d.ts +7 -6
  18. package/dist/Components/Checkbox/composables/useCheckbox.d.ts +6 -11
  19. package/dist/Components/Checkbox/composables/useCheckbox.js +4 -3
  20. package/dist/Components/Chip/composables/useChip.js +2 -2
  21. package/dist/Components/Divider/composables/useDivider.js +2 -2
  22. package/dist/Components/Drawer/Drawer.vue.d.ts +1 -1
  23. package/dist/Components/Drawer/composables/useDrawer.d.ts +1 -1
  24. package/dist/Components/Drawer/composables/useDrawer.js +2 -2
  25. package/dist/Components/FormControl/FormControl.vue_vue_type_script_setup_true_lang.js +24 -18
  26. package/dist/Components/FormControl/FormControlLabel.js +5 -0
  27. package/dist/Components/FormControl/FormControlLabel.vue.d.ts +8 -0
  28. package/dist/Components/FormControl/FormControlLabel.vue_vue_type_script_setup_true_lang.js +19 -0
  29. package/dist/Components/FormControl/composables/useFormControl.d.ts +7 -11
  30. package/dist/Components/FormControl/composables/useFormControl.js +62 -68
  31. package/dist/Components/FormControl/formControl.types.d.ts +19 -30
  32. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +23 -25
  33. package/dist/Components/FormField/FormFieldLabel.js +5 -0
  34. package/dist/Components/FormField/FormFieldLabel.vue.d.ts +7 -0
  35. package/dist/Components/FormField/FormFieldLabel.vue_vue_type_script_setup_true_lang.js +16 -0
  36. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +22 -24
  37. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +23 -25
  38. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +25 -27
  39. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +23 -25
  40. package/dist/Components/FormField/composables/useFormField.d.ts +3 -3
  41. package/dist/Components/FormField/composables/useFormField.js +112 -111
  42. package/dist/Components/FormField/formField.types.d.ts +6 -3
  43. package/dist/Components/Icon/composables/useIcon.js +2 -2
  44. package/dist/Components/Label/composables/useLabel.js +2 -2
  45. package/dist/Components/Link/composables/useLink.js +2 -2
  46. package/dist/Components/Listbox/Listbox.vue.d.ts +1 -1
  47. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +82 -118
  48. package/dist/Components/Listbox/composables/useListbox.js +2 -2
  49. package/dist/Components/Listbox/listbox.types.d.ts +39 -5
  50. package/dist/Components/Menu/Menu.vue.d.ts +2 -2
  51. package/dist/Components/Menu/composables/useMenu.d.ts +1 -1
  52. package/dist/Components/Menu/composables/useMenu.js +2 -2
  53. package/dist/Components/Modal/composables/useModal.js +2 -2
  54. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +52 -47
  55. package/dist/Components/NumberField/composables/useNumberField.d.ts +3 -4
  56. package/dist/Components/NumberField/composables/useNumberField.js +2 -2
  57. package/dist/Components/NumberField/numberField.types.d.ts +41 -2
  58. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +35 -29
  59. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +3 -4
  60. package/dist/Components/PasswordField/composables/usePasswordField.js +2 -2
  61. package/dist/Components/PasswordField/passwordField.types.d.ts +29 -2
  62. package/dist/Components/Progress/composables/useProgress.js +2 -2
  63. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +15 -16
  64. package/dist/Components/Radio/composables/useRadio.d.ts +6 -11
  65. package/dist/Components/Radio/composables/useRadio.js +4 -3
  66. package/dist/Components/Radio/radio.types.d.ts +7 -6
  67. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +64 -57
  68. package/dist/Components/Select/composables/useSelect.d.ts +16 -16
  69. package/dist/Components/Select/composables/useSelect.js +13 -13
  70. package/dist/Components/Select/select.types.d.ts +23 -4
  71. package/dist/Components/Skeleton/composables/useSkeleton.js +2 -2
  72. package/dist/Components/Snackbar/composables/useSnackbar.js +1 -1
  73. package/dist/Components/Spinner/composables/useSpinner.js +2 -2
  74. package/dist/Components/Switch/Switch.vue.d.ts +3 -3
  75. package/dist/Components/Switch/Switch.vue_vue_type_script_setup_true_lang.js +19 -19
  76. package/dist/Components/Switch/composables/useSwitch.d.ts +6 -11
  77. package/dist/Components/Switch/composables/useSwitch.js +4 -3
  78. package/dist/Components/Switch/switch.types.d.ts +7 -6
  79. package/dist/Components/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +16 -16
  80. package/dist/Components/Tabs/composables/useTabs.js +2 -2
  81. package/dist/Components/Tabs/tabs.types.d.ts +27 -1
  82. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +15 -8
  83. package/dist/Components/TextField/composables/useTextField.d.ts +3 -4
  84. package/dist/Components/TextField/composables/useTextField.js +7 -4
  85. package/dist/Components/TextField/textField.types.d.ts +9 -1
  86. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +19 -12
  87. package/dist/Components/Textarea/composables/useTextarea.d.ts +3 -4
  88. package/dist/Components/Textarea/composables/useTextarea.js +4 -3
  89. package/dist/Components/Textarea/textarea.types.d.ts +7 -0
  90. package/dist/Utils/index.d.ts +9 -2
  91. package/dist/Utils/index.js +11 -11
  92. package/dist/index.d.ts +1 -1
  93. package/dist/index.js +14 -14
  94. package/dist/theme.css +1 -1
  95. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
- import { InputHTMLAttributes } from 'vue';
1
+ import { ButtonHTMLAttributes, InputHTMLAttributes } from 'vue';
2
2
  import { MergeHtmlProps } from '@bridge-ui/core';
3
3
  import { FormFieldClasses, FormFieldCustomProps, FormFieldOwnProps, FormFieldSlots } from '../FormField/formField.types';
4
+ import { IconProps } from '../Icon';
4
5
  export interface NumberFieldClasses extends FormFieldClasses {
5
6
  /**
6
7
  * The classes to apply to the decrement button.
@@ -11,7 +12,32 @@ export interface NumberFieldClasses extends FormFieldClasses {
11
12
  */
12
13
  increment?: string;
13
14
  }
14
- export interface NumberFieldCustomProps extends FormFieldCustomProps {}
15
+ export interface NumberFieldCustomProps extends FormFieldCustomProps {
16
+ /**
17
+ * Props forwarded to the decrement button.
18
+ *
19
+ * @default undefined
20
+ */
21
+ decrement?: ButtonHTMLAttributes;
22
+ /**
23
+ * Props forwarded to the decrement `Icon` (`icon` is set by the field).
24
+ *
25
+ * @default undefined
26
+ */
27
+ decrementIcon?: Partial<Omit<IconProps, "icon">>;
28
+ /**
29
+ * Props forwarded to the increment button.
30
+ *
31
+ * @default undefined
32
+ */
33
+ increment?: ButtonHTMLAttributes;
34
+ /**
35
+ * Props forwarded to the increment `Icon` (`icon` is set by the field).
36
+ *
37
+ * @default undefined
38
+ */
39
+ incrementIcon?: Partial<Omit<IconProps, "icon">>;
40
+ }
15
41
  export interface NumberFieldEmits {
16
42
  /**
17
43
  * Emitted with the numeric value when it changes.
@@ -28,6 +54,19 @@ export interface NumberFieldOwnProps extends Omit<FormFieldOwnProps, "field" | "
28
54
  * The classes to apply to the number field.
29
55
  */
30
56
  classes?: NumberFieldClasses;
57
+ /**
58
+ * Extra props for FormField parts and the stepper buttons.
59
+ *
60
+ * @default undefined
61
+ */
62
+ customProps?: NumberFieldCustomProps;
63
+ /**
64
+ * Initial value for uncontrolled usage (when `v-model` / `modelValue` is
65
+ * not bound).
66
+ *
67
+ * @default undefined
68
+ */
69
+ defaultValue?: number;
31
70
  /**
32
71
  * The maximum value.
33
72
  */
@@ -1,16 +1,19 @@
1
- import { resolveFieldAdornmentIconSize as e } from "../../Utils/index.js";
2
- import t from "../Icon/Icon.js";
3
- import n from "../FormField/FormField.js";
4
- import { usePasswordField as r } from "./composables/usePasswordField.js";
5
- import { computed as i, createBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, mergeModels as l, mergeProps as u, normalizeClass as d, openBlock as f, unref as p, useModel as m, vModelDynamic as h, withCtx as g, withDirectives as _ } from "vue";
6
- import { cn as v } from "@bridge-ui/core";
7
- import { Eye as y, EyeOff as b } from "@lucide/vue";
1
+ import { mergePartBind as e, resolveFieldAdornmentIconSize as t } from "../../Utils/index.js";
2
+ import n from "../Icon/Icon.js";
3
+ import r from "../FormField/FormField.js";
4
+ import { usePasswordField as i } from "./composables/usePasswordField.js";
5
+ import { computed as a, createBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, guardReactiveProps as u, mergeModels as d, mergeProps as f, normalizeProps as p, openBlock as m, ref as h, unref as g, useModel as _, vModelDynamic as v, withCtx as y, withDirectives as b } from "vue";
6
+ import { isUndefined as x } from "es-toolkit/compat";
7
+ import { cn as S } from "@bridge-ui/core";
8
+ import { Eye as C, EyeOff as w } from "@lucide/vue";
8
9
  //#region src/Components/PasswordField/PasswordField.vue?vue&type=script&setup=true&lang.ts
9
- var x = ["disabled", "aria-label"], S = /* @__PURE__ */ c({
10
+ var T = /* @__PURE__ */ l({
10
11
  inheritAttrs: !1,
11
12
  __name: "PasswordField",
12
- props: /* @__PURE__ */ l({
13
+ props: /* @__PURE__ */ d({
13
14
  classes: {},
15
+ customProps: {},
16
+ defaultValue: {},
14
17
  visible: {
15
18
  type: [null, Boolean],
16
19
  default: null
@@ -18,7 +21,6 @@ var x = ["disabled", "aria-label"], S = /* @__PURE__ */ c({
18
21
  color: {},
19
22
  controlId: {},
20
23
  corner: {},
21
- customProps: {},
22
24
  description: {},
23
25
  disabled: { type: Boolean },
24
26
  end: {},
@@ -41,27 +43,31 @@ var x = ["disabled", "aria-label"], S = /* @__PURE__ */ c({
41
43
  modelValue: {},
42
44
  modelModifiers: {}
43
45
  }),
44
- emits: /* @__PURE__ */ l(["visibility-change"], ["update:modelValue"]),
45
- setup(c, { emit: l }) {
46
- let S = l, C = m(c, "modelValue"), w = c, { formField: T, inputBind: E, isVisible: D, mergedClasses: O, toggleVisibility: k } = r(w, { onVisibilityChange: (e) => S("visibility-change", e) }), A = i(() => e(w.size));
47
- return (e, r) => (f(), a(p(n), { field: p(T) }, {
48
- end: g(() => [o("button", {
49
- type: "button",
50
- disabled: w.disabled,
51
- onClick: r[1] ||= (...e) => p(k) && p(k)(...e),
52
- "aria-label": p(D) ? "Hide password" : "Show password",
53
- class: d(p(v)({
54
- "bridge-end-adornment bridge-field-adornment-button inline-flex h-full items-center justify-center px-2.5": !0,
55
- [p(O).toggle ?? ""]: !0
56
- }))
57
- }, [s(p(t), {
58
- size: A.value,
59
- icon: p(D) ? p(b) : p(y)
60
- }, null, 8, ["size", "icon"])], 10, x)]),
61
- default: g(() => [_(o("input", u({ "onUpdate:modelValue": r[0] ||= (e) => C.value = e }, p(E)), null, 16), [[h, C.value]])]),
46
+ emits: /* @__PURE__ */ d(["visibility-change"], ["update:modelValue"]),
47
+ setup(l, { emit: d }) {
48
+ let T = d, E = _(l, "modelValue"), D = l, O = h(D.defaultValue), k = a({
49
+ set: (e) => {
50
+ E.value = e, O.value = e;
51
+ },
52
+ get: () => x(E.value) ? O.value : E.value
53
+ }), { formField: A, inputBind: j, isVisible: M, mergedClasses: N, toggleVisibility: P } = i(D, { onVisibilityChange: (e) => T("visibility-change", e) }), F = a(() => e(D.customProps?.toggle, {
54
+ type: "button",
55
+ disabled: D.disabled,
56
+ onClick: P,
57
+ "aria-label": M.value ? "Hide password" : "Show password"
58
+ }, S({
59
+ "bridge-end-adornment bridge-field-adornment-button inline-flex h-full items-center justify-center px-2.5": !0,
60
+ [N.value.toggle ?? ""]: !0
61
+ })));
62
+ return (e, i) => (m(), o(g(r), { field: g(A) }, {
63
+ end: y(() => [s("button", p(u(F.value)), [c(g(n), f({
64
+ icon: g(M) ? g(w) : g(C),
65
+ size: g(t)(D.size)
66
+ }, D.customProps?.toggleIcon), null, 16, ["icon", "size"])], 16)]),
67
+ default: y(() => [b(s("input", f({ "onUpdate:modelValue": i[0] ||= (e) => k.value = e }, g(j)), null, 16), [[v, k.value]])]),
62
68
  _: 1
63
69
  }, 8, ["field"]));
64
70
  }
65
71
  });
66
72
  //#endregion
67
- export { S as default };
73
+ export { T as default };
@@ -433,10 +433,9 @@ export declare function usePasswordField(props: PasswordFieldOwnProps, options?:
433
433
  onTransitionend?: ((payload: TransitionEvent) => void) | undefined;
434
434
  onTransitionrun?: ((payload: TransitionEvent) => void) | undefined;
435
435
  onTransitionstart?: ((payload: TransitionEvent) => void) | undefined;
436
- }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "color" | "end" | "size" | "classes" | "customProps" | "error" | "rounded" | "variant" | "label" | "disabled" | "endIcon" | "startIcon" | "start" | "description" | "errorMessage" | "readonly" | "required" | "withoutErrorMessage" | "errorIcon" | "withErrorIcon" | "corner">>>>;
436
+ }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "color" | "end" | "size" | "classes" | "customProps" | "error" | "rounded" | "variant" | "label" | "disabled" | "endIcon" | "startIcon" | "start" | "required" | "description" | "errorMessage" | "readonly" | "withoutErrorMessage" | "errorIcon" | "withErrorIcon" | "corner">>>>;
437
437
  isNotched: import('vue').ComputedRef<boolean>;
438
438
  isStacked: import('vue').ComputedRef<boolean>;
439
- labelBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
440
439
  startBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
441
440
  cornerBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
442
441
  headerBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
@@ -446,12 +445,12 @@ export declare function usePasswordField(props: PasswordFieldOwnProps, options?:
446
445
  endIconBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
447
446
  endSlotBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
448
447
  invalidated: import('vue').ComputedRef<boolean>;
449
- requiredBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, {}>>;
450
448
  containerBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
451
449
  "data-bridge-rounded": NonNullable<keyof import('@bridge-ui/core').FormFieldRounded | undefined>;
452
450
  }>>;
453
451
  startIconBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", Partial<Omit<import('../../Icon').IconProps, "icon">> | undefined, {}>>;
454
452
  startSlotBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
453
+ fieldLabelProps: import('vue').ComputedRef<import('../../Label').LabelProps>;
455
454
  ariaDescribedBy: import('vue').ComputedRef<string | undefined>;
456
455
  descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
457
456
  stackedBodyBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, {}>>;
@@ -682,7 +681,7 @@ export declare function usePasswordField(props: PasswordFieldOwnProps, options?:
682
681
  onTransitionend?: ((payload: TransitionEvent) => void) | undefined;
683
682
  onTransitionrun?: ((payload: TransitionEvent) => void) | undefined;
684
683
  onTransitionstart?: ((payload: TransitionEvent) => void) | undefined;
685
- }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "color" | "end" | "size" | "classes" | "customProps" | "error" | "rounded" | "variant" | "label" | "disabled" | "endIcon" | "startIcon" | "start" | "description" | "errorMessage" | "readonly" | "required" | "withoutErrorMessage" | "errorIcon" | "withErrorIcon" | "corner">>>, {
684
+ }, Partial<Omit<Omit<import('../../FormField').FormFieldOwnProps, "field">, "color" | "end" | "size" | "classes" | "customProps" | "error" | "rounded" | "variant" | "label" | "disabled" | "endIcon" | "startIcon" | "start" | "required" | "description" | "errorMessage" | "readonly" | "withoutErrorMessage" | "errorIcon" | "withErrorIcon" | "corner">>>, {
686
685
  type: string;
687
686
  }>>;
688
687
  isVisible: import('vue').ComputedRef<boolean>;
@@ -11,10 +11,10 @@ function l(l, u = {}) {
11
11
  entry: _,
12
12
  props: () => ({ classes: l.classes })
13
13
  }), y = r(() => {
14
- let { visible: e, classes: t, ...n } = l;
14
+ let { visible: e, classes: t, defaultValue: n, ...r } = l;
15
15
  return {
16
16
  ...d,
17
- ...n,
17
+ ...r,
18
18
  withErrorIcon: !1,
19
19
  classes: v.value
20
20
  };
@@ -1,13 +1,27 @@
1
- import { InputHTMLAttributes } from 'vue';
1
+ import { ButtonHTMLAttributes, InputHTMLAttributes } from 'vue';
2
2
  import { MergeHtmlProps } from '@bridge-ui/core';
3
3
  import { FormFieldClasses, FormFieldCustomProps, FormFieldOwnProps, FormFieldSlots } from '../FormField/formField.types';
4
+ import { IconProps } from '../Icon';
4
5
  export interface PasswordFieldClasses extends FormFieldClasses {
5
6
  /**
6
7
  * The classes to apply to the visibility toggle button.
7
8
  */
8
9
  toggle?: string;
9
10
  }
10
- export interface PasswordFieldCustomProps extends FormFieldCustomProps {}
11
+ export interface PasswordFieldCustomProps extends FormFieldCustomProps {
12
+ /**
13
+ * Props forwarded to the visibility toggle button.
14
+ *
15
+ * @default undefined
16
+ */
17
+ toggle?: ButtonHTMLAttributes;
18
+ /**
19
+ * Props forwarded to the visibility toggle `Icon` (`icon` is set by the field).
20
+ *
21
+ * @default undefined
22
+ */
23
+ toggleIcon?: Partial<Omit<IconProps, "icon">>;
24
+ }
11
25
  export interface PasswordFieldEmits {
12
26
  /**
13
27
  * Emitted when password visibility changes.
@@ -20,6 +34,19 @@ export interface PasswordFieldOwnProps extends Omit<FormFieldOwnProps, "type" |
20
34
  * The classes to apply to the password field.
21
35
  */
22
36
  classes?: PasswordFieldClasses;
37
+ /**
38
+ * Extra props for FormField parts and the visibility toggle.
39
+ *
40
+ * @default undefined
41
+ */
42
+ customProps?: PasswordFieldCustomProps;
43
+ /**
44
+ * Initial value for uncontrolled usage (when `v-model` / `modelValue` is
45
+ * not bound).
46
+ *
47
+ * @default undefined
48
+ */
49
+ defaultValue?: string;
23
50
  /**
24
51
  * Whether the password is visible. Omit for uncontrolled mode.
25
52
  */
@@ -2,7 +2,7 @@ import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistr
2
2
  import { computed as r, useAttrs as i } from "vue";
3
3
  import { get as a, isNil as o } from "es-toolkit/compat";
4
4
  import { cn as s, mergeBridgeUILayeredClasses as c, splitComponentProps as l } from "@bridge-ui/core";
5
- import { colorProps as u, roundedProps as d, sizeProps as f, variantProps as p } from "@bridge-ui/core/Components/Progress";
5
+ import { colorProps as u, roundedProps as d, sizeProps as f, variantProps as p } from "@bridge-ui/core/Tokens/Progress";
6
6
  //#region src/Components/Progress/composables/useProgress.ts
7
7
  var m = [
8
8
  "size",
@@ -31,7 +31,7 @@ function g(o, g) {
31
31
  }), x = n({
32
32
  entry: b,
33
33
  props: () => v.value.componentProps
34
- }), S = r(() => y.value.customProps), C = r(() => a(c(u, b.value?.customProps?.color), y.value.color)), w = r(() => a(c(f, b.value?.customProps?.size), y.value.size)), T = r(() => a(c(d, b.value?.customProps?.rounded), y.value.rounded)), E = r(() => a(c(p, b.value?.customProps?.variant), y.value.variant)), D = r(() => y.value.variant === "buffer"), O = r(() => y.value.variant === "determinate" || y.value.variant === "buffer"), k = r(() => y.value.variant === "indeterminate" || y.value.variant === "query"), A = r(() => h(y.value.value)), j = r(() => h(y.value.valueBuffer)), M = r(() => e(S.value?.root, v.value.inheritedAttrs, {
34
+ }), S = r(() => y.value.customProps), C = r(() => a(c(u, b.value?.tokens?.color), y.value.color)), w = r(() => a(c(f, b.value?.tokens?.size), y.value.size)), T = r(() => a(c(d, b.value?.tokens?.rounded), y.value.rounded)), E = r(() => a(c(p, b.value?.tokens?.variant), y.value.variant)), D = r(() => y.value.variant === "buffer"), O = r(() => y.value.variant === "determinate" || y.value.variant === "buffer"), k = r(() => y.value.variant === "indeterminate" || y.value.variant === "query"), A = r(() => h(y.value.value)), j = r(() => h(y.value.valueBuffer)), M = r(() => e(S.value?.root, v.value.inheritedAttrs, {
35
35
  role: "progressbar",
36
36
  ...O.value ? {
37
37
  "aria-valuemin": 0,
@@ -1,16 +1,16 @@
1
1
  import e from "../FormControl/FormControl.js";
2
2
  import { useRadio as t } from "./composables/useRadio.js";
3
- import { computed as n, createBlock as r, createElementVNode as i, defineComponent as a, guardReactiveProps as o, mergeModels as s, mergeProps as c, normalizeProps as l, openBlock as u, unref as d, useAttrs as f, useModel as p, withCtx as m } from "vue";
4
- import { isNil as h } from "es-toolkit/compat";
3
+ import { computed as n, createBlock as r, createElementVNode as i, defineComponent as a, guardReactiveProps as o, mergeModels as s, mergeProps as c, normalizeProps as l, openBlock as u, ref as d, unref as f, useAttrs as p, useModel as m, withCtx as h } from "vue";
4
+ import { isNil as g } from "es-toolkit/compat";
5
5
  //#region src/Components/Radio/Radio.vue?vue&type=script&setup=true&lang.ts
6
- var g = ["for"], _ = ["checked"], v = /* @__PURE__ */ a({
6
+ var _ = ["for"], v = ["checked"], y = /* @__PURE__ */ a({
7
7
  inheritAttrs: !1,
8
8
  __name: "Radio",
9
9
  props: /* @__PURE__ */ s({
10
- checked: { type: Boolean },
11
10
  classes: {},
12
11
  color: {},
13
12
  customProps: {},
13
+ defaultChecked: { type: Boolean },
14
14
  name: {},
15
15
  rounded: {},
16
16
  size: {},
@@ -22,7 +22,6 @@ var g = ["for"], _ = ["checked"], v = /* @__PURE__ */ a({
22
22
  endLabel: {},
23
23
  error: { type: Boolean },
24
24
  errorMessage: {},
25
- mainLabel: {},
26
25
  readonly: { type: Boolean },
27
26
  required: { type: Boolean },
28
27
  startLabel: {},
@@ -33,25 +32,25 @@ var g = ["for"], _ = ["checked"], v = /* @__PURE__ */ a({
33
32
  }),
34
33
  emits: ["update:modelValue"],
35
34
  setup(a) {
36
- let s = f(), v = a, y = p(a, "modelValue"), { merged: b, dotBind: x, fieldBind: S, inputBind: C, isChecked: w, formControl: T, controlBind: E } = t(() => ({
35
+ let s = p(), y = a, b = m(a, "modelValue"), x = d(!!y.defaultChecked), { merged: S, dotBind: C, fieldBind: w, inputBind: T, isChecked: E, formControl: D, controlBind: O } = t(() => ({
37
36
  ...s,
38
- ...v
37
+ ...y
39
38
  }), {
40
39
  size: "md",
41
40
  rounded: "full",
42
41
  color: "primary"
43
- }, n(() => y.value));
44
- function D() {
45
- h(b.value.value) || (y.value = b.value.value);
42
+ }, n(() => g(b.value) && x.value ? y.value : b.value));
43
+ function k() {
44
+ x.value = !0, g(S.value.value) || (b.value = S.value.value);
46
45
  }
47
- return (t, n) => (u(), r(d(e), { field: d(T) }, {
48
- default: m(() => [i("label", c(d(S), { for: d(T).controlId.value }), [i("input", c(d(C), {
49
- checked: d(w),
50
- onChange: D
51
- }), null, 16, _), i("span", l(o(d(E))), [i("span", l(o(d(x))), null, 16)], 16)], 16, g)]),
46
+ return (t, n) => (u(), r(f(e), { field: f(D) }, {
47
+ default: h(() => [i("label", c(f(w), { for: f(D).controlId.value }), [i("input", c(f(T), {
48
+ checked: f(E),
49
+ onChange: k
50
+ }), null, 16, v), i("span", l(o(f(O))), [i("span", l(o(f(C))), null, 16)], 16)], 16, _)]),
52
51
  _: 1
53
52
  }, 8, ["field"]));
54
53
  }
55
54
  });
56
55
  //#endregion
57
- export { v as default };
56
+ export { y as default };
@@ -228,7 +228,7 @@ export declare function useRadio(props: MaybeRefOrGetter<RadioOwnProps>, libDefa
228
228
  onTransitionend?: ((payload: TransitionEvent) => void) | undefined;
229
229
  onTransitionrun?: ((payload: TransitionEvent) => void) | undefined;
230
230
  onTransitionstart?: ((payload: TransitionEvent) => void) | undefined;
231
- }, Partial<Omit<RadioOwnProps, "color" | "name" | "size" | "value" | "classes" | "customProps" | "rounded">>>>;
231
+ }, Partial<Omit<RadioOwnProps, "color" | "name" | "size" | "value" | "classes" | "customProps" | "rounded" | "defaultChecked">>>>;
232
232
  isChecked: import('vue').ComputedRef<boolean>;
233
233
  formControl: {
234
234
  slots: Readonly<{
@@ -240,7 +240,7 @@ export declare function useRadio(props: MaybeRefOrGetter<RadioOwnProps>, libDefa
240
240
  withoutErrorMessage: NonNullable<boolean | undefined>;
241
241
  }>;
242
242
  rowBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {}>>;
243
- rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<Omit<import('../../FormControl').FormControlOwnProps, "field">, "size" | "classes" | "customProps" | "error" | "disabled" | "controlId" | "description" | "endLabel" | "errorMessage" | "mainLabel" | "readonly" | "required" | "startLabel" | "withoutErrorMessage">>>>;
243
+ rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, Partial<Omit<Omit<import('../../FormControl').FormControlOwnProps, "field">, "size" | "classes" | "customProps" | "error" | "disabled" | "required" | "controlId" | "description" | "endLabel" | "errorMessage" | "readonly" | "startLabel" | "withoutErrorMessage">>>>;
244
244
  controlId: import('vue').ComputedRef<string>;
245
245
  isDisabled: import('vue').ComputedRef<boolean>;
246
246
  isReadonly: import('vue').ComputedRef<boolean>;
@@ -253,15 +253,10 @@ export declare function useRadio(props: MaybeRefOrGetter<RadioOwnProps>, libDefa
253
253
  "aria-invalid": true | undefined;
254
254
  }>;
255
255
  invalidated: import('vue').ComputedRef<boolean>;
256
- endLabelBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
257
- for: string;
258
- }>>;
259
- mainLabelBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
260
- for: string;
261
- }>>;
262
- startLabelBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
263
- for: string;
264
- }>>;
256
+ fieldLabelProps: import('vue').ComputedRef<{
257
+ endLabel: import('../../Label').LabelProps;
258
+ startLabel: import('../../Label').LabelProps;
259
+ }>;
265
260
  descriptionBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", import('vue').HTMLAttributes | undefined, {
266
261
  id: string;
267
262
  }>>;
@@ -3,7 +3,7 @@ import { useFormControl as r } from "../../FormControl/composables/useFormContro
3
3
  import { computed as i, toValue as a, useAttrs as o } from "vue";
4
4
  import { get as s, omit as c } from "es-toolkit/compat";
5
5
  import { cn as l, mergeBridgeUILayeredClasses as u, splitComponentProps as d } from "@bridge-ui/core";
6
- import { colorProps as f, invalidatedProps as p, roundedProps as m, sizeProps as h } from "@bridge-ui/core/Components/Radio";
6
+ import { colorProps as f, invalidatedProps as p, roundedProps as m, sizeProps as h } from "@bridge-ui/core/Tokens/Radio";
7
7
  //#region src/Components/Radio/composables/useRadio.ts
8
8
  var g = [
9
9
  "name",
@@ -12,7 +12,8 @@ var g = [
12
12
  "value",
13
13
  "classes",
14
14
  "rounded",
15
- "customProps"
15
+ "customProps",
16
+ "defaultChecked"
16
17
  ];
17
18
  function _(_, v, y) {
18
19
  let b = o(), x = r(() => ({
@@ -35,7 +36,7 @@ function _(_, v, y) {
35
36
  }), T = i(() => C.value.customProps), E = n({
36
37
  entry: w,
37
38
  props: () => S.value.componentProps
38
- }), D = i(() => a(y) === C.value.value), O = i(() => s(u(f, w.value?.customProps?.color), C.value.color ?? "primary")), k = i(() => u(p, w.value?.customProps?.invalidated)), A = i(() => x.invalidated.value ? k.value : O.value), j = i(() => s(u(h, w.value?.customProps?.size), C.value.size ?? "sm")), M = i(() => s(u(m, w.value?.customProps?.rounded), C.value.rounded ?? "full")), N = i(() => e({
39
+ }), D = i(() => a(y) === C.value.value), O = i(() => s(u(f, w.value?.tokens?.color), C.value.color ?? "primary")), k = i(() => u(p, w.value?.tokens?.invalidated)), A = i(() => x.invalidated.value ? k.value : O.value), j = i(() => s(u(h, w.value?.tokens?.size), C.value.size ?? "sm")), M = i(() => s(u(m, w.value?.tokens?.rounded), C.value.rounded ?? "full")), N = i(() => e({
39
40
  ...T.value?.input,
40
41
  ...x.controlBind.value,
41
42
  type: "radio",
@@ -39,12 +39,6 @@ export interface RadioEmits {
39
39
  "update:modelValue": [value: number | string];
40
40
  }
41
41
  export interface RadioOwnProps extends Omit<FormControlOwnProps, "field" | "slots" | "classes" | "customProps"> {
42
- /**
43
- * Whether the radio is checked.
44
- *
45
- * @default undefined
46
- */
47
- checked?: boolean;
48
42
  /**
49
43
  * Classes for the form control chrome and the radio control.
50
44
  *
@@ -63,6 +57,13 @@ export interface RadioOwnProps extends Omit<FormControlOwnProps, "field" | "slot
63
57
  * @default undefined
64
58
  */
65
59
  customProps?: RadioCustomProps;
60
+ /**
61
+ * Initial selected state for uncontrolled usage (when `v-model` /
62
+ * `modelValue` is not bound). For interactive groups, prefer `v-model`.
63
+ *
64
+ * @default false
65
+ */
66
+ defaultChecked?: boolean;
66
67
  /**
67
68
  * The `name` attribute shared by radios in the same group.
68
69
  *
@@ -1,24 +1,26 @@
1
1
  import { hasNamedSlot as e, resolveNamedSlot as t } from "../../Utils/slotOrProp.js";
2
- import ee from "../Icon/Icon.js";
3
- import n from "../Chip/Chip.js";
4
- import r from "../FormField/FormField.js";
5
- import i from "../Listbox/Listbox.js";
6
- import { useSelect as a } from "./composables/useSelect.js";
7
- import { SELECT_OPTION_KEY as o } from "./selectInjectionKey.js";
8
- import { Fragment as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as f, createTextVNode as p, createVNode as m, defineComponent as h, guardReactiveProps as g, isRef as _, mergeModels as v, mergeProps as y, normalizeProps as b, openBlock as x, provide as S, ref as C, renderList as w, renderSlot as T, resolveDynamicComponent as E, toDisplayString as D, unref as O, useModel as k, useTemplateRef as A, withCtx as j, withKeys as M, withModifiers as N } from "vue";
9
- import { X as P } from "@lucide/vue";
2
+ import { mergeNestedComponentProps as n } from "../../Utils/index.js";
3
+ import r from "../Icon/Icon.js";
4
+ import ee from "../Chip/Chip.js";
5
+ import i from "../FormField/FormField.js";
6
+ import a from "../Listbox/Listbox.js";
7
+ import { useSelect as o } from "./composables/useSelect.js";
8
+ import { SELECT_OPTION_KEY as s } from "./selectInjectionKey.js";
9
+ import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as te, createTextVNode as ne, createVNode as m, defineComponent as h, guardReactiveProps as g, isRef as _, mergeModels as v, mergeProps as y, normalizeProps as b, openBlock as x, provide as re, ref as S, renderList as C, renderSlot as w, resolveDynamicComponent as T, toDisplayString as ie, unref as E, useModel as ae, useTemplateRef as D, withCtx as O, withKeys as k, withModifiers as A } from "vue";
10
+ import { isUndefined as j } from "es-toolkit/compat";
11
+ import { X as M } from "@lucide/vue";
10
12
  //#region src/Components/Select/Select.vue?vue&type=script&setup=true&lang.ts
11
- var F = {
13
+ var N = {
12
14
  key: 0,
13
15
  class: "flex min-w-0 flex-1 flex-wrap items-center gap-0.5"
14
- }, I = {
16
+ }, P = {
15
17
  key: 1,
16
18
  class: "flex min-w-0 flex-1 items-center gap-1"
17
- }, L = {
19
+ }, F = {
18
20
  key: 0,
19
21
  hidden: "",
20
22
  "aria-hidden": "true"
21
- }, R = /* @__PURE__ */ h({
23
+ }, I = /* @__PURE__ */ h({
22
24
  inheritAttrs: !1,
23
25
  __name: "Select",
24
26
  props: /* @__PURE__ */ v({
@@ -87,8 +89,13 @@ var F = {
87
89
  "update:modelValue"
88
90
  ], ["update:modelValue"]),
89
91
  setup(h, { emit: v }) {
90
- let R = k(h, "modelValue"), z = h, B = v, V = A("trigger"), H = C([]);
91
- S(o, {
92
+ let I = ae(h, "modelValue"), L = h, R = v, z = S(L.defaultValue), B = l({
93
+ set: (e) => {
94
+ I.value = e, z.value = e;
95
+ },
96
+ get: () => j(I.value) ? z.value : I.value
97
+ }), V = D("trigger"), H = S([]);
98
+ re(s, {
92
99
  unregister(e) {
93
100
  H.value = H.value.filter((t) => String(t.value) !== String(e));
94
101
  },
@@ -96,76 +103,76 @@ var F = {
96
103
  H.value.some((t) => String(t.value) === String(e.value)) || (H.value = [...H.value, e]);
97
104
  }
98
105
  });
99
- let { open: U, slots: W, hasValue: G, multiple: K, formField: q, clearable: J, clearBind: Y, clearValue: X, removeChip: Z, triggerBind: Q, selectOption: te, containerRef: ne, listboxProps: re, clearIconSize: ie, mergedClasses: ae, selectedOptions: oe, hasComposedList: $, handleRegisteredOptionsChange: se } = a(z, R, V, B, H);
100
- return (a, o) => (x(), u(s, null, [
101
- m(O(r), { field: O(q) }, {
102
- default: j(() => [O(K) ? (x(), u("div", F, [(x(!0), u(s, null, w(O(oe), (e) => (x(), c(O(n), {
106
+ let { open: U, slots: W, hasValue: G, multiple: K, formField: q, clearable: J, clearBind: Y, clearValue: X, removeChip: oe, triggerBind: Z, selectOption: se, containerRef: ce, listboxProps: le, clearIconSize: ue, mergedClasses: Q, selectedOptions: de, hasComposedList: $, handleRegisteredOptionsChange: fe } = o(L, B, V, R, H);
107
+ return (o, s) => (x(), f(c, null, [
108
+ m(E(i), { field: E(q) }, {
109
+ default: O(() => [E(K) ? (x(), f("div", N, [(x(!0), f(c, null, C(E(de), (e) => (x(), u(E(ee), y({
103
110
  dismissible: "",
104
111
  key: String(e.value),
105
- size: O(q).merged.value.size,
106
- "custom-props": { clear: O(Y) },
107
- disabled: O(q).isDisabled.value,
112
+ size: E(q).merged.value.size,
113
+ disabled: E(q).isDisabled.value,
108
114
  "clear-label": `Remove ${e.label}`,
109
- classes: { root: O(ae).chip },
110
- onDismiss: (t) => O(Z)(e, t)
111
- }, {
112
- default: j(() => [T(a.$slots, "chip", { option: e }, () => [p(D(e.label), 1)])]),
115
+ onDismiss: (t) => E(oe)(e, t)
116
+ }, { ref_for: !0 }, E(n)(L.customProps?.chip, {
117
+ classes: { root: E(Q).chip },
118
+ customProps: { clear: E(Y) }
119
+ })), {
120
+ default: O(() => [w(o.$slots, "chip", { option: e }, () => [ne(ie(e.label), 1)])]),
113
121
  _: 2
114
- }, 1032, [
122
+ }, 1040, [
115
123
  "size",
116
- "custom-props",
117
124
  "disabled",
118
125
  "clear-label",
119
- "classes",
120
126
  "onDismiss"
121
- ]))), 128)), d("textarea", y({ ref: "trigger" }, O(Q)), null, 16)])) : (x(), u("div", I, [d("input", y({
127
+ ]))), 128)), p("textarea", y({ ref: "trigger" }, E(Z)), null, 16)])) : (x(), f("div", P, [p("input", y({
122
128
  ref: "trigger",
123
129
  class: "min-w-0 flex-1"
124
- }, O(Q)), null, 16), O(J) && O(G) && !O(q).isDisabled.value ? (x(), u("span", y({ key: 0 }, O(Y), {
125
- onClick: o[0] ||= (...e) => O(X) && O(X)(...e),
130
+ }, E(Z)), null, 16), E(J) && E(G) && !E(q).isDisabled.value ? (x(), f("span", y({ key: 0 }, E(Y), {
131
+ onClick: s[0] ||= (...e) => E(X) && E(X)(...e),
126
132
  "aria-label": "Clear selection",
127
- onKeydown: [o[1] ||= M(N((...e) => O(X) && O(X)(...e), ["prevent"]), ["enter"]), o[2] ||= M(N((...e) => O(X) && O(X)(...e), ["prevent"]), ["space"])]
128
- }), [m(O(ee), {
129
- icon: O(P),
130
- size: O(ie)
131
- }, null, 8, ["icon", "size"])], 16)) : l("", !0)]))]),
133
+ onKeydown: [s[1] ||= k(A((...e) => E(X) && E(X)(...e), ["prevent"]), ["enter"]), s[2] ||= k(A((...e) => E(X) && E(X)(...e), ["prevent"]), ["space"])]
134
+ }), [m(E(r), y({
135
+ icon: E(M),
136
+ size: E(ue)
137
+ }, L.customProps?.clearIcon), null, 16, ["icon", "size"])], 16)) : d("", !0)]))]),
132
138
  _: 3
133
139
  }, 8, ["field"]),
134
- m(O(i), y(O(re), {
135
- modelValue: O(U),
136
- "onUpdate:modelValue": o[3] ||= (e) => _(U) ? U.value = e : null,
137
- "anchor-el": O(ne),
138
- onSelect: O(te),
139
- onRegisteredOptionsChange: O(se)
140
- }), f({ _: 2 }, [
141
- O($) ? {
140
+ m(E(a), y({
141
+ modelValue: E(U),
142
+ "onUpdate:modelValue": s[3] ||= (e) => _(U) ? U.value = e : null
143
+ }, E(le), {
144
+ "anchor-el": E(ce),
145
+ onSelect: E(se),
146
+ onRegisteredOptionsChange: E(fe)
147
+ }), te({ _: 2 }, [
148
+ E($) ? {
142
149
  name: "default",
143
- fn: j(() => [T(a.$slots, "default")]),
150
+ fn: O(() => [w(o.$slots, "default")]),
144
151
  key: "0"
145
152
  } : void 0,
146
- O(e)(O(W), "beforeOptions") ? {
153
+ E(e)(E(W), "beforeOptions") ? {
147
154
  name: "beforeOptions",
148
- fn: j(() => [(x(), c(E(O(t)(O(W), "beforeOptions"))))]),
155
+ fn: O(() => [(x(), u(T(E(t)(E(W), "beforeOptions"))))]),
149
156
  key: "1"
150
157
  } : void 0,
151
- O(e)(O(W), "loading") ? {
158
+ E(e)(E(W), "loading") ? {
152
159
  name: "loading",
153
- fn: j(() => [(x(), c(E(O(t)(O(W), "loading"))))]),
160
+ fn: O(() => [(x(), u(T(E(t)(E(W), "loading"))))]),
154
161
  key: "2"
155
162
  } : void 0,
156
- O(e)(O(W), "option") ? {
163
+ E(e)(E(W), "option") ? {
157
164
  name: "option",
158
- fn: j((e) => [T(a.$slots, "option", b(g(e)))]),
165
+ fn: O((e) => [w(o.$slots, "option", b(g(e)))]),
159
166
  key: "3"
160
167
  } : void 0,
161
- O(e)(O(W), "empty") ? {
168
+ E(e)(E(W), "empty") ? {
162
169
  name: "empty",
163
- fn: j(() => [(x(), c(E(O(t)(O(W), "empty"))))]),
170
+ fn: O(() => [(x(), u(T(E(t)(E(W), "empty"))))]),
164
171
  key: "4"
165
172
  } : void 0,
166
- O(e)(O(W), "afterOptions") ? {
173
+ E(e)(E(W), "afterOptions") ? {
167
174
  name: "afterOptions",
168
- fn: j(() => [(x(), c(E(O(t)(O(W), "afterOptions"))))]),
175
+ fn: O(() => [(x(), u(T(E(t)(E(W), "afterOptions"))))]),
169
176
  key: "5"
170
177
  } : void 0
171
178
  ]), 1040, [
@@ -174,9 +181,9 @@ var F = {
174
181
  "onSelect",
175
182
  "onRegisteredOptionsChange"
176
183
  ]),
177
- O($) ? l("", !0) : (x(), u("div", L, [T(a.$slots, "default")]))
184
+ E($) ? d("", !0) : (x(), f("div", F, [w(o.$slots, "default")]))
178
185
  ], 64));
179
186
  }
180
187
  });
181
188
  //#endregion
182
- export { R as default };
189
+ export { I as default };