@bridge-ui/vue 0.0.5 → 0.0.7

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 (152) hide show
  1. package/dist/Actions/Snackbar/BridgeSnackbarAction.vue_vue_type_script_setup_true_lang.js +8 -8
  2. package/dist/Actions/Snackbar/BridgeSnackbarHost.vue_vue_type_script_setup_true_lang.js +5 -5
  3. package/dist/Actions/Snackbar/createBridgeSnackbarApi.js +17 -17
  4. package/dist/Adapters/I18n/index.d.ts +1 -0
  5. package/dist/Adapters/I18n/index.js +2 -0
  6. package/dist/Adapters/I18n/useI18nAdapter.d.ts +16 -0
  7. package/dist/Adapters/I18n/useI18nAdapter.js +18 -0
  8. package/dist/Adapters/Icon/iconSource.types.d.ts +11 -0
  9. package/dist/Adapters/Icon/index.d.ts +2 -0
  10. package/dist/Adapters/Icon/index.js +2 -0
  11. package/dist/Adapters/Icon/useIconAdapter.d.ts +11 -0
  12. package/dist/Adapters/Icon/useIconAdapter.js +13 -0
  13. package/dist/Adapters/index.d.ts +3 -0
  14. package/dist/Adapters/index.js +3 -0
  15. package/dist/Components/Alert/Alert.vue_vue_type_script_setup_true_lang.js +1 -5
  16. package/dist/Components/Alert/alert.types.d.ts +2 -2
  17. package/dist/Components/Alert/alertDefaultIcons.d.ts +2 -2
  18. package/dist/Components/Alert/alertDefaultIcons.js +9 -10
  19. package/dist/Components/Alert/composables/useAlert.d.ts +2 -2
  20. package/dist/Components/Alert/composables/useAlert.js +17 -17
  21. package/dist/Components/Autocomplete/Autocomplete.js +5 -0
  22. package/dist/Components/Autocomplete/Autocomplete.vue.d.ts +40 -0
  23. package/dist/Components/Autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +197 -0
  24. package/dist/Components/Autocomplete/AutocompleteOption.js +5 -0
  25. package/dist/Components/Autocomplete/AutocompleteOption.vue.d.ts +4 -0
  26. package/dist/Components/Autocomplete/AutocompleteOption.vue_vue_type_script_setup_true_lang.js +32 -0
  27. package/dist/Components/Autocomplete/autocomplete.types.d.ts +285 -0
  28. package/dist/Components/Autocomplete/autocompleteInjectionKey.d.ts +7 -0
  29. package/dist/Components/Autocomplete/autocompleteInjectionKey.js +4 -0
  30. package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +762 -0
  31. package/dist/Components/Autocomplete/composables/useAutocomplete.js +382 -0
  32. package/dist/Components/Autocomplete/index.d.ts +4 -0
  33. package/dist/Components/Autocomplete/index.js +4 -0
  34. package/dist/Components/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +1 -1
  35. package/dist/Components/Avatar/avatar.types.d.ts +2 -2
  36. package/dist/Components/Avatar/composables/useAvatar.d.ts +1 -1
  37. package/dist/Components/Avatar/composables/useAvatar.js +46 -47
  38. package/dist/Components/Badge/composables/useBadge.js +8 -8
  39. package/dist/Components/Button/Button.vue_vue_type_script_setup_true_lang.js +24 -25
  40. package/dist/Components/Button/button.types.d.ts +4 -4
  41. package/dist/Components/Button/composables/useButton.d.ts +1 -1
  42. package/dist/Components/Button/composables/useButton.js +14 -14
  43. package/dist/Components/Card/composables/useCard.js +27 -27
  44. package/dist/Components/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +27 -27
  45. package/dist/Components/Checkbox/composables/useCheckbox.d.ts +4 -4
  46. package/dist/Components/Checkbox/composables/useCheckbox.js +9 -9
  47. package/dist/Components/Chip/Chip.vue_vue_type_script_setup_true_lang.js +8 -9
  48. package/dist/Components/Chip/composables/useChip.js +6 -6
  49. package/dist/Components/Divider/composables/useDivider.js +5 -5
  50. package/dist/Components/Drawer/composables/useDrawer.js +23 -23
  51. package/dist/Components/FormControl/FormControl.vue_vue_type_script_setup_true_lang.js +1 -1
  52. package/dist/Components/FormControl/composables/useFormControl.d.ts +3 -3
  53. package/dist/Components/FormControl/composables/useFormControl.js +12 -12
  54. package/dist/Components/FormControl/formControl.types.d.ts +6 -6
  55. package/dist/Components/FormField/FilledFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  56. package/dist/Components/FormField/NotchedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  57. package/dist/Components/FormField/OutlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  58. package/dist/Components/FormField/StackedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  59. package/dist/Components/FormField/UnderlinedFormField.vue_vue_type_script_setup_true_lang.js +2 -2
  60. package/dist/Components/FormField/composables/useFormField.d.ts +6 -6
  61. package/dist/Components/FormField/composables/useFormField.js +108 -109
  62. package/dist/Components/FormField/formField.types.d.ts +19 -19
  63. package/dist/Components/Icon/Icon.vue_vue_type_script_setup_true_lang.js +7 -7
  64. package/dist/Components/Icon/composables/useIcon.d.ts +2 -0
  65. package/dist/Components/Icon/composables/useIcon.js +20 -18
  66. package/dist/Components/Icon/icon.types.d.ts +3 -3
  67. package/dist/Components/Label/composables/useLabel.d.ts +1 -1
  68. package/dist/Components/Label/composables/useLabel.js +5 -5
  69. package/dist/Components/Link/Link.vue_vue_type_script_setup_true_lang.js +2 -2
  70. package/dist/Components/Link/composables/useLink.js +9 -9
  71. package/dist/Components/Link/link.types.d.ts +3 -3
  72. package/dist/Components/List/composables/useList.js +6 -6
  73. package/dist/Components/ListItem/composables/useListItem.d.ts +2 -2
  74. package/dist/Components/ListItem/composables/useListItem.js +81 -82
  75. package/dist/Components/ListItem/listItem.types.d.ts +2 -2
  76. package/dist/Components/ListSection/composables/useListSection.js +8 -8
  77. package/dist/Components/Listbox/Listbox.vue.d.ts +0 -2
  78. package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +75 -74
  79. package/dist/Components/Listbox/composables/useListbox.js +7 -7
  80. package/dist/Components/Listbox/index.js +3 -3
  81. package/dist/Components/Menu/composables/useMenu.js +43 -43
  82. package/dist/Components/Modal/composables/useModal.js +18 -18
  83. package/dist/Components/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +43 -43
  84. package/dist/Components/NumberField/composables/useNumberField.d.ts +8 -8
  85. package/dist/Components/NumberField/composables/useNumberField.js +9 -9
  86. package/dist/Components/OtpField/OtpField.js +5 -0
  87. package/dist/Components/OtpField/OtpField.vue.d.ts +31 -0
  88. package/dist/Components/OtpField/OtpField.vue_vue_type_script_setup_true_lang.js +80 -0
  89. package/dist/Components/OtpField/OtpFieldLabel.js +5 -0
  90. package/dist/Components/OtpField/OtpFieldLabel.vue.d.ts +7 -0
  91. package/dist/Components/OtpField/OtpFieldLabel.vue_vue_type_script_setup_true_lang.js +16 -0
  92. package/dist/Components/OtpField/composables/useOtpField.d.ts +460 -0
  93. package/dist/Components/OtpField/composables/useOtpField.js +212 -0
  94. package/dist/Components/OtpField/index.d.ts +4 -0
  95. package/dist/Components/OtpField/index.js +3 -0
  96. package/dist/Components/OtpField/otpField.types.d.ts +290 -0
  97. package/dist/Components/PasswordField/PasswordField.vue_vue_type_script_setup_true_lang.js +27 -27
  98. package/dist/Components/PasswordField/composables/usePasswordField.d.ts +8 -8
  99. package/dist/Components/PasswordField/composables/usePasswordField.js +2 -2
  100. package/dist/Components/Progress/composables/useProgress.js +11 -11
  101. package/dist/Components/Radio/Radio.vue_vue_type_script_setup_true_lang.js +2 -2
  102. package/dist/Components/Radio/composables/useRadio.d.ts +4 -4
  103. package/dist/Components/Radio/composables/useRadio.js +9 -9
  104. package/dist/Components/Select/Select.vue.d.ts +1 -2
  105. package/dist/Components/Select/Select.vue_vue_type_script_setup_true_lang.js +72 -68
  106. package/dist/Components/Select/composables/useSelect.d.ts +10 -10
  107. package/dist/Components/Select/composables/useSelect.js +193 -193
  108. package/dist/Components/Skeleton/composables/useSkeleton.js +5 -5
  109. package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +81 -75
  110. package/dist/Components/Snackbar/composables/useSnackbar.d.ts +4 -4
  111. package/dist/Components/Snackbar/composables/useSnackbar.js +115 -115
  112. package/dist/Components/Snackbar/snackbar.types.d.ts +2 -2
  113. package/dist/Components/Snackbar/snackbarDefaultIcons.d.ts +3 -3
  114. package/dist/Components/Snackbar/snackbarDefaultIcons.js +9 -10
  115. package/dist/Components/Spinner/composables/useSpinner.js +11 -11
  116. package/dist/Components/Switch/Switch.vue_vue_type_script_setup_true_lang.js +2 -2
  117. package/dist/Components/Switch/composables/useSwitch.d.ts +4 -4
  118. package/dist/Components/Switch/composables/useSwitch.js +9 -9
  119. package/dist/Components/Tab/Tab.vue_vue_type_script_setup_true_lang.js +2 -2
  120. package/dist/Components/Tab/composables/useTab.js +11 -11
  121. package/dist/Components/Tab/tab.types.d.ts +3 -3
  122. package/dist/Components/TabItem/TabItem.vue_vue_type_script_setup_true_lang.js +2 -2
  123. package/dist/Components/TabItem/tabItem.types.d.ts +3 -3
  124. package/dist/Components/TabList/composables/useTabList.js +7 -7
  125. package/dist/Components/TabPanel/composables/useTabPanel.js +7 -7
  126. package/dist/Components/Tabs/composables/useTabs.d.ts +468 -4
  127. package/dist/Components/Tabs/composables/useTabs.js +22 -22
  128. package/dist/Components/Tabs/tabsInjectionKey.d.ts +5 -5
  129. package/dist/Components/TextField/TextField.vue.d.ts +1 -1
  130. package/dist/Components/TextField/TextField.vue_vue_type_script_setup_true_lang.js +6 -6
  131. package/dist/Components/TextField/composables/useTextField.d.ts +8 -8
  132. package/dist/Components/TextField/composables/useTextField.js +1 -1
  133. package/dist/Components/Textarea/Textarea.vue.d.ts +1 -1
  134. package/dist/Components/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +6 -6
  135. package/dist/Components/Textarea/composables/useTextarea.d.ts +8 -8
  136. package/dist/Components/Textarea/composables/useTextarea.js +9 -9
  137. package/dist/Components/Tooltip/Tooltip.js +5 -0
  138. package/dist/Components/Tooltip/Tooltip.vue.d.ts +35 -0
  139. package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +73 -0
  140. package/dist/Components/Tooltip/composables/useTooltip.d.ts +50 -0
  141. package/dist/Components/Tooltip/composables/useTooltip.js +208 -0
  142. package/dist/Components/Tooltip/index.d.ts +4 -0
  143. package/dist/Components/Tooltip/index.js +3 -0
  144. package/dist/Components/Tooltip/tooltip.types.d.ts +166 -0
  145. package/dist/Provider/bridgeUITypes.d.ts +4 -1
  146. package/dist/Provider/createBridgeUIApi.js +15 -2
  147. package/dist/Utils/index.js +7 -7
  148. package/dist/Utils/useBreakpoint.js +7 -7
  149. package/dist/augments.d.ts +2 -2
  150. package/dist/index.d.ts +11 -1
  151. package/dist/index.js +84 -76
  152. package/package.json +21 -3
@@ -1,12 +1,11 @@
1
1
  import { hasNamedSlot as e, hasSlotOrProp as t } from "../../../Utils/slotOrProp.js";
2
2
  import { mergeNestedComponentProps as n, mergePartBind as r, useBridgeUIComponent as i, useBridgeUIMergedRegistryClasses as a } from "../../../Utils/index.js";
3
3
  import { computed as o, toValue as s, useId as c, useSlots as l } from "vue";
4
- import { get as u, omit as d } from "es-toolkit/compat";
5
- import { cn as f, mergeBridgeUILayeredClasses as p, splitComponentProps as m } from "@bridge-ui/core";
6
- import { CircleAlert as h } from "@lucide/vue";
7
- import { colorProps as g, invalidatedProps as _, roundedProps as v, sizeProps as y, variantProps as b } from "@bridge-ui/core/Tokens/FormField";
4
+ import { cn as u, mergeBridgeUILayeredClasses as d, splitComponentProps as f } from "@bridge-ui/core";
5
+ import { get as p, omit as m } from "es-toolkit/compat";
6
+ import { colorProps as h, invalidatedProps as g, roundedProps as _, sizeProps as v, variantProps as y } from "@bridge-ui/core/Tokens/FormField";
8
7
  //#region src/Components/FormField/composables/useFormField.ts
9
- var x = [
8
+ var b = [
10
9
  "end",
11
10
  "size",
12
11
  "color",
@@ -26,73 +25,73 @@ var x = [
26
25
  "customProps",
27
26
  "description",
28
27
  "errorMessage",
29
- "withErrorIcon",
30
- "withoutErrorMessage"
28
+ "showErrorIcon",
29
+ "hideErrorMessage"
31
30
  ];
32
- function S(S, ee, C = {}) {
33
- let w = c(), T = l(), E = o(() => m({
34
- props: s(S),
35
- bridgeKeys: x
36
- })), { merged: D, entry: O } = i({
37
- libDefaults: ee,
31
+ function x(x, S, C = {}) {
32
+ let ee = c(), w = l(), T = o(() => f({
33
+ props: s(x),
34
+ bridgeKeys: b
35
+ })), { merged: E, entry: D } = i({
36
+ libDefaults: S,
38
37
  componentName: "FormField",
39
- props: () => E.value.componentProps
40
- }), k = o(() => D.value.customProps), A = o(() => C.control?.() ?? "input"), j = a({
41
- entry: O,
42
- props: () => E.value.componentProps
43
- }), M = o(() => D.value.error === !0), N = o(() => !!D.value.disabled), P = o(() => !!D.value.readonly), F = o(() => D.value.variant ?? "outline"), te = o(() => D.value.errorIcon ?? h), I = o(() => F.value === "notched"), L = o(() => F.value === "stacked"), R = o(() => F.value === "underlined"), z = o(() => A.value === "textarea"), B = o(() => z.value && !!C.likeInput?.()), V = o(() => !D.value.withoutErrorMessage), H = o(() => {
44
- let e = E.value.inheritedAttrs.id;
45
- return D.value.controlId ?? e ?? w;
46
- }), U = o(() => M.value && t(T, "errorMessage", D.value.errorMessage)), W = o(() => (I.value || L.value) && (t(T, "label", D.value.label) || t(T, "corner", D.value.corner))), G = o(() => t(T, "label", D.value.label) ? "justify-between items-end" : "justify-end"), K = o(() => {
38
+ props: () => T.value.componentProps
39
+ }), O = o(() => E.value.customProps), k = o(() => C.control?.() ?? "input"), A = a({
40
+ entry: D,
41
+ props: () => T.value.componentProps
42
+ }), j = o(() => E.value.error === !0), M = o(() => !!E.value.disabled), N = o(() => !!E.value.readonly), P = o(() => E.value.variant ?? "outline"), F = o(() => E.value.errorIcon ?? "alert"), I = o(() => P.value === "notched"), L = o(() => P.value === "stacked"), R = o(() => P.value === "underlined"), z = o(() => k.value === "textarea"), B = o(() => z.value && !!C.likeInput?.()), V = o(() => !E.value.hideErrorMessage), H = o(() => {
43
+ let e = T.value.inheritedAttrs.id;
44
+ return E.value.controlId ?? e ?? ee;
45
+ }), U = o(() => j.value && t(w, "errorMessage", E.value.errorMessage)), W = o(() => (I.value || L.value) && (t(w, "label", E.value.label) || t(w, "corner", E.value.corner))), G = o(() => t(w, "label", E.value.label) ? "justify-between items-end" : "justify-end"), K = o(() => {
47
46
  let e = [];
48
- return !M.value && t(T, "description", D.value.description) && e.push(`${H.value}-description`), M.value && !D.value.withoutErrorMessage && t(T, "errorMessage", D.value.errorMessage) && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
49
- }), q = o(() => u(p(y, O.value?.tokens?.size), [D.value.size, F.value])), J = o(() => u(p(g, O.value?.tokens?.color), D.value.color ?? "primary")), Y = o(() => p(_, O.value?.tokens?.invalidated, D.value.customProps?.invalidated)), X = o(() => M.value ? Y.value : void 0), Z = o(() => u(p(v, O.value?.tokens?.rounded), D.value.rounded)), Q = o(() => u(p(b, O.value?.tokens?.variant), F.value)), ne = o(() => {
50
- let e = M.value ? Y.value : J.value;
47
+ return !j.value && t(w, "description", E.value.description) && e.push(`${H.value}-description`), j.value && !E.value.hideErrorMessage && t(w, "errorMessage", E.value.errorMessage) && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
48
+ }), q = o(() => p(d(v, D.value?.tokens?.size), [E.value.size, P.value])), J = o(() => p(d(h, D.value?.tokens?.color), E.value.color ?? "primary")), Y = o(() => d(g, D.value?.tokens?.invalidated, E.value.customProps?.invalidated)), X = o(() => j.value ? Y.value : void 0), Z = o(() => p(d(_, D.value?.tokens?.rounded), E.value.rounded)), Q = o(() => p(d(y, D.value?.tokens?.variant), P.value)), te = o(() => {
49
+ let e = j.value ? Y.value : J.value;
51
50
  return R.value ? e?.underlined : e?.input;
52
- }), re = o(() => {
53
- if (L.value) return f({
51
+ }), ne = o(() => {
52
+ if (L.value) return u({
54
53
  [q.value?.insetTop ?? ""]: !0,
55
54
  [q.value?.insetStart ?? ""]: !0,
56
55
  [q.value?.insetEnd ?? ""]: !0
57
56
  });
58
- }), ie = o(() => {
59
- let t = C.reservedSlots?.() ?? [], n = e(T, "end") || t.includes("end"), r = e(T, "start") || t.includes("start");
60
- if (!L.value) return !r && !n ? q.value?.padding : f({
57
+ }), re = o(() => {
58
+ let t = C.reservedSlots?.() ?? [], n = e(w, "end") || t.includes("end"), r = e(w, "start") || t.includes("start");
59
+ if (!L.value) return !r && !n ? q.value?.padding : u({
61
60
  [q.value?.insetStart ?? ""]: !r,
62
61
  [q.value?.insetEnd ?? ""]: !n
63
62
  });
64
- }), ae = o(() => r(k.value?.end, {}, f({
63
+ }), ie = o(() => r(O.value?.end, {}, u({
65
64
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
66
- "text-gray-500": !M.value,
65
+ "text-gray-500": !j.value,
67
66
  [Z.value?.end ?? ""]: !R.value && !L.value,
68
- [J.value?.end ?? ""]: !M.value,
69
- [X.value?.adornment ?? ""]: M.value,
70
- [j.value.end ?? ""]: !0
71
- }))), oe = o(() => {
72
- let e = E.value.inheritedAttrs;
73
- return r(k.value?.root, {
74
- class: f(e.class),
75
- ...d(e, ["class"])
76
- }, f({
67
+ [J.value?.end ?? ""]: !j.value,
68
+ [X.value?.adornment ?? ""]: j.value,
69
+ [A.value.end ?? ""]: !0
70
+ }))), ae = o(() => {
71
+ let e = T.value.inheritedAttrs;
72
+ return r(O.value?.root, {
73
+ class: u(e.class),
74
+ ...m(e, ["class"])
75
+ }, u({
77
76
  "group w-full relative": !0,
78
77
  "aria-disabled:pointer-events-none aria-disabled:select-none aria-disabled:opacity-60": !0,
79
78
  "aria-readonly:pointer-events-none aria-readonly:select-none": !0,
80
- [j.value.root ?? ""]: !0
79
+ [A.value.root ?? ""]: !0
81
80
  }));
82
- }), $ = o(() => r(k.value?.errorMessage, {}, f({
81
+ }), oe = o(() => r(O.value?.errorMessage, {}, u({
83
82
  "mt-2": !0,
84
83
  "min-h-[1lh]": V.value,
85
84
  [X.value?.errorMessage ?? ""]: !0,
86
85
  [q.value?.text ?? ""]: !0,
87
- [j.value.errorMessage ?? ""]: !0
88
- }))), se = o(() => r({
89
- ...k.value?.input,
86
+ [A.value.errorMessage ?? ""]: !0
87
+ }))), $ = o(() => r({
88
+ ...O.value?.input,
90
89
  id: H.value,
91
- disabled: N.value,
92
- readonly: P.value,
90
+ disabled: M.value,
91
+ readonly: N.value,
93
92
  "aria-describedby": K.value,
94
- "aria-invalid": M.value || void 0
95
- }, d(E.value.inheritedAttrs, ["class"]), f({
93
+ "aria-invalid": j.value || void 0
94
+ }, m(T.value.inheritedAttrs, ["class"]), u({
96
95
  "flex-1 min-w-0 min-h-0 bg-transparent border-0 shadow-none": !0,
97
96
  "h-full": !z.value && !L.value,
98
97
  "max-h-none": z.value,
@@ -102,34 +101,34 @@ function S(S, ee, C = {}) {
102
101
  [q.value?.input ?? ""]: !z.value,
103
102
  [q.value?.textarea ?? ""]: z.value,
104
103
  [q.value?.textareaLikeInput ?? ""]: B.value,
105
- [j.value.input ?? ""]: !0
106
- }))), ce = o(() => n(k.value?.label, {
104
+ [A.value.input ?? ""]: !0
105
+ }))), se = o(() => n(O.value?.label, {
107
106
  for: H.value,
108
- size: D.value.size,
109
- error: M.value,
110
- required: D.value.required,
107
+ size: E.value.size,
108
+ error: j.value,
109
+ required: E.value.required,
111
110
  classes: {
112
- required: j.value.required,
113
- root: f({
111
+ required: A.value.required,
112
+ root: u({
114
113
  [Q.value?.label ?? ""]: I.value,
115
- [j.value.label ?? ""]: !0
114
+ [A.value.label ?? ""]: !0
116
115
  })
117
116
  }
118
- })), le = o(() => r(k.value?.start, {}, f({
117
+ })), ce = o(() => r(O.value?.start, {}, u({
119
118
  "shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
120
- "text-gray-400": !M.value,
119
+ "text-gray-400": !j.value,
121
120
  [Z.value?.start ?? ""]: !R.value && !L.value,
122
- [J.value?.start ?? ""]: !M.value,
123
- [X.value?.adornment ?? ""]: M.value,
124
- [j.value.start ?? ""]: !0
125
- }))), ue = o(() => r(k.value?.corner, {}, f({
121
+ [J.value?.start ?? ""]: !j.value,
122
+ [X.value?.adornment ?? ""]: j.value,
123
+ [A.value.start ?? ""]: !0
124
+ }))), le = o(() => r(O.value?.corner, {}, u({
126
125
  "text-gray-500 dark:text-gray-400": !I.value,
127
126
  [q.value?.text ?? ""]: !0,
128
127
  [Q.value?.corner ?? ""]: I.value,
129
- [j.value.corner ?? ""]: !0
130
- }))), de = o(() => {
131
- let e = t(T, "label", D.value.label);
132
- return r(k.value?.header, {}, f({
128
+ [A.value.corner ?? ""]: !0
129
+ }))), ue = o(() => {
130
+ let e = t(w, "label", E.value.label);
131
+ return r(O.value?.header, {}, u({
133
132
  flex: !0,
134
133
  "w-full shrink-0": !0,
135
134
  "justify-between": e,
@@ -137,84 +136,84 @@ function S(S, ee, C = {}) {
137
136
  "items-center": I.value,
138
137
  "items-end": L.value,
139
138
  [Q.value?.labelRow ?? ""]: W.value,
140
- [j.value.header ?? ""]: !0
139
+ [A.value.header ?? ""]: !0
141
140
  }));
142
- }), fe = o(() => r(k.value?.header, {}, f({
141
+ }), de = o(() => r(O.value?.header, {}, u({
143
142
  flex: !0,
144
143
  "mb-1": !0,
145
144
  [G.value]: !0,
146
- [j.value.header ?? ""]: !0
147
- }))), pe = o(() => r(k.value?.endIcon, {}, f({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), me = o(() => r(k.value?.end, {}, f({
145
+ [A.value.header ?? ""]: !0
146
+ }))), fe = o(() => r(O.value?.endIcon, {}, u({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), pe = o(() => r(O.value?.end, {}, u({
148
147
  "group/end wrapper-end-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
149
148
  "self-stretch min-h-0 overflow-hidden py-0.5 pe-0.5": L.value,
150
149
  "h-full min-h-0 overflow-hidden py-0.5 pe-0.5": !L.value,
151
- [j.value.end ?? ""]: !0
152
- }))), he = o(() => r({}, {}, f({
150
+ [A.value.end ?? ""]: !0
151
+ }))), me = o(() => r({}, {}, u({
153
152
  "flex min-h-0 min-w-0 flex-1 flex-col": !0,
154
- [re.value ?? ""]: !0
155
- }))), ge = o(() => r({}, {}, f({
153
+ [ne.value ?? ""]: !0
154
+ }))), he = o(() => r({}, {}, u({
156
155
  "flex w-full min-w-0 flex-1 items-stretch gap-x-2": !0,
157
156
  [q.value?.controlRow ?? ""]: !0
158
157
  })));
159
158
  return {
160
- slots: T,
161
- merged: D,
162
- control: A,
163
- endBind: ae,
164
- rootBind: oe,
159
+ slots: w,
160
+ merged: E,
161
+ control: k,
162
+ endBind: ie,
163
+ rootBind: ae,
165
164
  controlId: H,
166
- errorBind: $,
167
- errorIcon: te,
168
- inputBind: se,
165
+ errorBind: oe,
166
+ errorIcon: F,
167
+ inputBind: $,
169
168
  isNotched: I,
170
169
  isStacked: L,
171
- startBind: le,
172
- cornerBind: ue,
173
- headerBind: fe,
174
- isDisabled: N,
175
- isReadonly: P,
176
- variantKey: F,
177
- endIconBind: pe,
178
- endSlotBind: me,
179
- invalidated: M,
180
- containerBind: o(() => r(k.value?.container, { "data-bridge-rounded": D.value.rounded ?? "md" }, f({
170
+ startBind: ce,
171
+ cornerBind: le,
172
+ headerBind: de,
173
+ isDisabled: M,
174
+ isReadonly: N,
175
+ variantKey: P,
176
+ endIconBind: fe,
177
+ endSlotBind: pe,
178
+ invalidated: j,
179
+ containerBind: o(() => r(O.value?.container, { "data-bridge-rounded": E.value.rounded ?? "md" }, u({
181
180
  "group/field relative flex flex-row items-stretch overflow-hidden": L.value,
182
181
  "group/field relative flex justify-start gap-x-2 items-stretch": !L.value,
183
182
  "transition-all ease-in-out duration-150 outline-none": !0,
184
- "bg-gray-100 dark:bg-gray-800": N.value && !M.value,
183
+ "bg-gray-100 dark:bg-gray-800": M.value && !j.value,
185
184
  [q.value?.container ?? ""]: !z.value,
186
185
  [q.value?.containerTextareaLikeInput ?? ""]: B.value,
187
186
  [q.value?.containerTextarea ?? ""]: z.value && !B.value,
188
187
  [Q.value?.container ?? ""]: !0,
189
188
  [Z.value?.input ?? ""]: !R.value,
190
- [ie.value ?? ""]: !0,
191
- [ne.value ?? ""]: !0,
189
+ [re.value ?? ""]: !0,
190
+ [te.value ?? ""]: !0,
192
191
  "rounded-none": R.value,
193
- [X.value?.container ?? ""]: M.value && !R.value,
194
- [X.value?.containerUnderlined ?? ""]: M.value && R.value,
195
- [j.value.container ?? ""]: !0
192
+ [X.value?.container ?? ""]: j.value && !R.value,
193
+ [X.value?.containerUnderlined ?? ""]: j.value && R.value,
194
+ [A.value.container ?? ""]: !0
196
195
  }))),
197
- startIconBind: o(() => r(k.value?.startIcon, {}, f({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
198
- startSlotBind: o(() => r(k.value?.start, {}, f({
196
+ startIconBind: o(() => r(O.value?.startIcon, {}, u({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
197
+ startSlotBind: o(() => r(O.value?.start, {}, u({
199
198
  "group/start wrapper-start-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
200
199
  "self-stretch min-h-0 overflow-hidden py-0.5 ps-0.5": L.value,
201
200
  "h-full min-h-0 overflow-hidden py-0.5 ps-0.5": !L.value,
202
- [j.value.start ?? ""]: !0
201
+ [A.value.start ?? ""]: !0
203
202
  }))),
204
- fieldLabelProps: ce,
203
+ fieldLabelProps: se,
205
204
  ariaDescribedBy: K,
206
- descriptionBind: o(() => r(k.value?.description, {}, f({
205
+ descriptionBind: o(() => r(O.value?.description, {}, u({
207
206
  "mt-2 text-gray-500 dark:text-gray-400": !0,
208
207
  [q.value?.text ?? ""]: !0,
209
- [j.value.description ?? ""]: !0
208
+ [A.value.description ?? ""]: !0
210
209
  }))),
211
- stackedBodyBind: he,
210
+ stackedBodyBind: me,
212
211
  hasInsetLabelRow: W,
213
- insetLabelRowBind: de,
214
- stackedInputRowBind: ge,
212
+ insetLabelRowBind: ue,
213
+ stackedInputRowBind: he,
215
214
  showErrorMessageContent: U,
216
215
  reservesErrorMessageSpace: V
217
216
  };
218
217
  }
219
218
  //#endregion
220
- export { x as formFieldBridgeKeys, S as useFormField };
219
+ export { b as formFieldBridgeKeys, x as useFormField };
@@ -1,6 +1,6 @@
1
- import { LucideIcon } from '@lucide/vue';
2
1
  import { HTMLAttributes, InputHTMLAttributes, Slot } from 'vue';
3
2
  import { FormFieldColor, FormFieldInvalidated, FormFieldRounded, FormFieldSize, FormFieldVariant, MergeHtmlProps, MergeProps } from '@bridge-ui/core';
3
+ import { IconSource } from '../../Adapters/Icon';
4
4
  import { UseFormFieldReturn } from './composables/useFormField';
5
5
  import { IconProps } from '../Icon';
6
6
  import { LabelProps } from '../Label/label.types';
@@ -167,7 +167,7 @@ export interface FormFieldOwnProps {
167
167
  *
168
168
  * @default undefined
169
169
  */
170
- endIcon?: LucideIcon;
170
+ endIcon?: IconSource;
171
171
  /**
172
172
  * When `true`, applies invalid styling on the label and hides description.
173
173
  *
@@ -175,11 +175,11 @@ export interface FormFieldOwnProps {
175
175
  */
176
176
  error?: boolean;
177
177
  /**
178
- * Icon used when `withErrorIcon` is enabled and the field is invalid.
178
+ * Icon used when `showErrorIcon` is enabled and the field is invalid.
179
179
  *
180
- * @default CircleAlert
180
+ * @default "alert"
181
181
  */
182
- errorIcon?: LucideIcon;
182
+ errorIcon?: IconSource;
183
183
  /**
184
184
  * Error message below the control. Shown only when set (or via `#errorMessage`
185
185
  * slot).
@@ -194,6 +194,12 @@ export interface FormFieldOwnProps {
194
194
  * @default undefined
195
195
  */
196
196
  field?: UseFormFieldReturn;
197
+ /**
198
+ * When `true`, does not reserve space below the control for error messages.
199
+ *
200
+ * @default false
201
+ */
202
+ hideErrorMessage?: boolean;
197
203
  /**
198
204
  * The primary label text above the control.
199
205
  *
@@ -218,6 +224,13 @@ export interface FormFieldOwnProps {
218
224
  * @default "md"
219
225
  */
220
226
  rounded?: MergeProps<FormFieldRounded, FormFieldRoundedOverrides>;
227
+ /**
228
+ * When `true` and the field is invalid, shows an error icon at the inline end
229
+ * when no `endIcon` or `end` slot is present.
230
+ *
231
+ * @default true
232
+ */
233
+ showErrorIcon?: boolean;
221
234
  /**
222
235
  * Typography scale for label, corner, description, and error message, and
223
236
  * control sizing (input, container, icons).
@@ -241,26 +254,13 @@ export interface FormFieldOwnProps {
241
254
  *
242
255
  * @default undefined
243
256
  */
244
- startIcon?: LucideIcon;
257
+ startIcon?: IconSource;
245
258
  /**
246
259
  * The visual variant of the field shell and control.
247
260
  *
248
261
  * @default "outline"
249
262
  */
250
263
  variant?: MergeProps<FormFieldVariant, FormFieldVariantOverrides>;
251
- /**
252
- * When `true` and the field is invalid, shows an error icon at the inline end
253
- * when no `endIcon` or `end` slot is present.
254
- *
255
- * @default true
256
- */
257
- withErrorIcon?: boolean;
258
- /**
259
- * When `true`, does not reserve space below the control for error messages.
260
- *
261
- * @default false
262
- */
263
- withoutErrorMessage?: boolean;
264
264
  }
265
265
  export interface FormFieldSlots {
266
266
  /**
@@ -1,17 +1,17 @@
1
1
  import { useIcon as e } from "./composables/useIcon.js";
2
- import { createBlock as t, defineComponent as n, guardReactiveProps as r, normalizeProps as i, openBlock as a, resolveDynamicComponent as o, unref as s } from "vue";
2
+ import { createBlock as t, createCommentVNode as n, defineComponent as r, mergeProps as i, normalizeProps as a, openBlock as o, resolveDynamicComponent as s, unref as c } from "vue";
3
3
  //#region src/Components/Icon/Icon.vue?vue&type=script&setup=true&lang.ts
4
- var c = /* @__PURE__ */ n({
4
+ var l = /* @__PURE__ */ r({
5
5
  inheritAttrs: !1,
6
6
  __name: "Icon",
7
7
  props: {
8
- icon: { type: [Function, Object] },
8
+ icon: {},
9
9
  size: {}
10
10
  },
11
- setup(n) {
12
- let { merged: c, rootBind: l } = e(n, { size: "md" });
13
- return (e, n) => (a(), t(o(s(c).icon), i(r(s(l))), null, 16));
11
+ setup(r) {
12
+ let { rootBind: l, resolvedIcon: u } = e(r, { size: "md" });
13
+ return (e, r) => c(u) ? (o(), t(s(c(u)), a(i({ key: 0 }, c(l))), null, 16)) : n("", !0);
14
14
  }
15
15
  });
16
16
  //#endregion
17
- export { c as default };
17
+ export { l as default };
@@ -1,9 +1,11 @@
1
1
  import { LibDefaultsShape, MergeLibDefaults } from '@bridge-ui/core';
2
+ import { IconElement } from '../../../Adapters/Icon';
2
3
  import { IconOwnProps, IconProps } from '../icon.types';
3
4
  type IconLibDefaults = LibDefaultsShape<IconOwnProps, "size">;
4
5
  type IconMerged = MergeLibDefaults<IconOwnProps, IconLibDefaults>;
5
6
  export declare function useIcon(props: IconOwnProps, libDefaults: IconLibDefaults): {
6
7
  merged: import('vue').ComputedRef<IconMerged>;
7
8
  rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, Omit<IconProps, "icon" | "size">>>;
9
+ resolvedIcon: import('vue').ComputedRef<IconElement | null | undefined>;
8
10
  };
9
11
  export {};
@@ -1,26 +1,28 @@
1
- import { mergePartBind as e, useBridgeUIComponent as t } from "../../../Utils/index.js";
2
- import { computed as n, useAttrs as r } from "vue";
3
- import { get as i } from "es-toolkit/compat";
4
- import { cn as a, mergeBridgeUILayeredClasses as o, splitComponentProps as s } from "@bridge-ui/core";
5
- import { sizeProps as c } from "@bridge-ui/core/Tokens/Icon";
1
+ import { useIconAdapter as e } from "../../../Adapters/Icon/useIconAdapter.js";
2
+ import { mergePartBind as t, useBridgeUIComponent as n } from "../../../Utils/index.js";
3
+ import { computed as r, useAttrs as i } from "vue";
4
+ import { cn as a, mergeBridgeUILayeredClasses as o, resolveIconSource as s, splitComponentProps as c } from "@bridge-ui/core";
5
+ import { get as l } from "es-toolkit/compat";
6
+ import { sizeProps as u } from "@bridge-ui/core/Tokens/Icon";
6
7
  //#region src/Components/Icon/composables/useIcon.ts
7
- var l = ["icon", "size"];
8
- function u(u, d) {
9
- let f = r(), p = n(() => s({
10
- bridgeKeys: l,
8
+ var d = ["icon", "size"];
9
+ function f(f, p) {
10
+ let m = i(), h = r(() => c({
11
+ bridgeKeys: d,
11
12
  props: {
12
- ...f,
13
- ...u
13
+ ...m,
14
+ ...f
14
15
  }
15
- })), { merged: m, entry: h } = t({
16
- libDefaults: d,
16
+ })), { merged: g, entry: _ } = n({
17
+ libDefaults: p,
17
18
  componentName: "Icon",
18
- props: () => p.value.componentProps
19
- }), g = n(() => i(o(c, h.value?.tokens?.size), m.value.size));
19
+ props: () => h.value.componentProps
20
+ }), v = e(), y = r(() => s(g.value.icon, v.value)), b = r(() => l(o(u, _.value?.tokens?.size), g.value.size));
20
21
  return {
21
- merged: m,
22
- rootBind: n(() => e({}, p.value.inheritedAttrs, a({ [g.value ?? ""]: !0 })))
22
+ merged: g,
23
+ rootBind: r(() => t({}, h.value.inheritedAttrs, a({ [b.value ?? ""]: !0 }))),
24
+ resolvedIcon: y
23
25
  };
24
26
  }
25
27
  //#endregion
26
- export { u as useIcon };
28
+ export { f as useIcon };
@@ -1,12 +1,12 @@
1
- import { LucideIcon } from '@lucide/vue';
2
1
  import { SVGAttributes } from 'vue';
3
2
  import { IconSize, MergeHtmlProps, MergeProps } from '@bridge-ui/core';
3
+ import { IconSource } from '../../Adapters/Icon';
4
4
  export interface IconSizeOverrides {}
5
5
  export interface IconOwnProps {
6
6
  /**
7
- * Lucide icon component.
7
+ * Semantic icon name, icon component, or adapter-normalized native value.
8
8
  */
9
- icon: LucideIcon;
9
+ icon: IconSource;
10
10
  /**
11
11
  * The size of the icon.
12
12
  *
@@ -4,7 +4,7 @@ type LabelLibDefaults = LibDefaultsShape<LabelOwnProps, "size">;
4
4
  type LabelMerged = MergeLibDefaults<LabelOwnProps, LabelLibDefaults>;
5
5
  export declare function useLabel(props: LabelOwnProps, libDefaults: LabelLibDefaults): {
6
6
  merged: import('vue').ComputedRef<LabelMerged>;
7
- rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, Omit<LabelProps, "size" | "classes" | "error" | "required">>>;
7
+ rootBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, Omit<LabelProps, "error" | "size" | "classes" | "required">>>;
8
8
  requiredBind: import('vue').ComputedRef<import('@bridge-ui/core').MergePartBind<object, "class", {}, {}>>;
9
9
  };
10
10
  export {};
@@ -1,7 +1,7 @@
1
1
  import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistryClasses as n } from "../../../Utils/index.js";
2
2
  import { computed as r, useAttrs as i } from "vue";
3
- import { get as a } from "es-toolkit/compat";
4
- import { cn as o, mergeBridgeUILayeredClasses as s, splitComponentProps as c } from "@bridge-ui/core";
3
+ import { cn as a, mergeBridgeUILayeredClasses as o, splitComponentProps as s } from "@bridge-ui/core";
4
+ import { get as c } from "es-toolkit/compat";
5
5
  import { invalidatedProps as l, sizeProps as u } from "@bridge-ui/core/Tokens/Label";
6
6
  //#region src/Components/Label/composables/useLabel.ts
7
7
  var d = [
@@ -11,7 +11,7 @@ var d = [
11
11
  "required"
12
12
  ];
13
13
  function f(f, p) {
14
- let m = i(), h = r(() => c({
14
+ let m = i(), h = r(() => s({
15
15
  bridgeKeys: d,
16
16
  props: {
17
17
  ...m,
@@ -24,13 +24,13 @@ function f(f, p) {
24
24
  }), v = n({
25
25
  entry: _,
26
26
  props: () => h.value.componentProps
27
- }), y = r(() => a(s(u, _.value?.tokens?.size), g.value.size)), b = r(() => s(l, _.value?.tokens?.invalidated)), x = r(() => e({}, {}, o({
27
+ }), y = r(() => c(o(u, _.value?.tokens?.size), g.value.size)), b = r(() => o(l, _.value?.tokens?.invalidated)), x = r(() => e({}, {}, a({
28
28
  [b.value.required ?? ""]: !0,
29
29
  [v.value.required ?? ""]: !0
30
30
  })));
31
31
  return {
32
32
  merged: g,
33
- rootBind: r(() => e({}, h.value.inheritedAttrs, o({
33
+ rootBind: r(() => e({}, h.value.inheritedAttrs, a({
34
34
  "inline-flex items-center gap-x-0.5 font-medium leading-none": !0,
35
35
  "text-gray-700 dark:text-gray-300": !g.value.error,
36
36
  [b.value.label ?? ""]: g.value.error,
@@ -18,8 +18,8 @@ var f = [
18
18
  disabled: { type: Boolean },
19
19
  external: { type: Boolean },
20
20
  href: {},
21
- leftIcon: { type: [Function, Object] },
22
- rightIcon: { type: [Function, Object] },
21
+ leftIcon: {},
22
+ rightIcon: {},
23
23
  size: {},
24
24
  underline: {}
25
25
  },
@@ -1,7 +1,7 @@
1
1
  import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistryClasses as n } from "../../../Utils/index.js";
2
2
  import { computed as r, useAttrs as i, useSlots as a } from "vue";
3
- import { get as o } from "es-toolkit/compat";
4
- import { cn as s, mergeBridgeUILayeredClasses as c, splitComponentProps as l } from "@bridge-ui/core";
3
+ import { cn as o, mergeBridgeUILayeredClasses as s, splitComponentProps as c } from "@bridge-ui/core";
4
+ import { get as l } from "es-toolkit/compat";
5
5
  import { colorProps as u, sizeProps as d, underlineProps as f } from "@bridge-ui/core/Tokens/Link";
6
6
  //#region src/Components/Link/composables/useLink.ts
7
7
  var p = [
@@ -17,7 +17,7 @@ var p = [
17
17
  "customProps"
18
18
  ];
19
19
  function m(m, h) {
20
- let g = i(), _ = a(), v = r(() => l({
20
+ let g = i(), _ = a(), v = r(() => c({
21
21
  bridgeKeys: p,
22
22
  props: {
23
23
  ...g,
@@ -34,28 +34,28 @@ function m(m, h) {
34
34
  if (y.value.external && !C.value) return "_blank";
35
35
  }), D = r(() => {
36
36
  if (y.value.external && !C.value) return "noopener noreferrer";
37
- }), O = r(() => o(c(d, b.value?.tokens?.size), y.value.size)), k = r(() => o(c(u, b.value?.tokens?.color), y.value.color)), A = r(() => o(c(f, b.value?.tokens?.underline), y.value.underline));
37
+ }), O = r(() => l(s(d, b.value?.tokens?.size), y.value.size)), k = r(() => l(s(u, b.value?.tokens?.color), y.value.color)), A = r(() => l(s(f, b.value?.tokens?.underline), y.value.underline));
38
38
  return {
39
39
  slots: _,
40
40
  merged: y,
41
41
  rootRel: D,
42
- rootBind: r(() => e(x.value?.root, v.value.inheritedAttrs, s({
42
+ rootBind: r(() => e(x.value?.root, v.value.inheritedAttrs, o({
43
43
  "inline-flex items-center gap-x-1 font-medium": !0,
44
44
  "transition-colors duration-200": !0,
45
45
  [O.value ?? ""]: !0,
46
46
  [A.value ?? ""]: !0,
47
- [o(k.value, "base") ?? ""]: !0,
48
- [o(k.value, "hover") ?? ""]: !0,
47
+ [l(k.value, "base") ?? ""]: !0,
48
+ [l(k.value, "hover") ?? ""]: !0,
49
49
  "aria-disabled:opacity-80 aria-disabled:cursor-not-allowed aria-disabled:pointer-events-none": !0,
50
50
  [S.value.root ?? ""]: !0
51
51
  }))),
52
52
  rootHref: T,
53
53
  rootTarget: E,
54
- leftIconBind: r(() => e(x.value?.leftIcon, {}, s({
54
+ leftIconBind: r(() => e(x.value?.leftIcon, {}, o({
55
55
  "shrink-0": !0,
56
56
  [S.value.leftIcon ?? ""]: !0
57
57
  }))),
58
- rightIconBind: r(() => e(x.value?.rightIcon, {}, s({
58
+ rightIconBind: r(() => e(x.value?.rightIcon, {}, o({
59
59
  "shrink-0": !0,
60
60
  [S.value.rightIcon ?? ""]: !0
61
61
  }))),
@@ -1,6 +1,6 @@
1
- import { LucideIcon } from '@lucide/vue';
2
1
  import { AnchorHTMLAttributes, HTMLAttributes, Slot } from 'vue';
3
2
  import { LinkColor, LinkSize, LinkUnderline, MergeHtmlProps, MergeProps } from '@bridge-ui/core';
3
+ import { IconSource } from '../../Adapters/Icon';
4
4
  import { IconProps } from '../Icon';
5
5
  export interface LinkSizeOverrides {}
6
6
  export interface LinkColorOverrides {}
@@ -76,13 +76,13 @@ export interface LinkOwnProps {
76
76
  *
77
77
  * @default undefined
78
78
  */
79
- leftIcon?: LucideIcon;
79
+ leftIcon?: IconSource;
80
80
  /**
81
81
  * The icon to display after the link text.
82
82
  *
83
83
  * @default undefined
84
84
  */
85
- rightIcon?: LucideIcon;
85
+ rightIcon?: IconSource;
86
86
  /**
87
87
  * The size of the link.
88
88
  *