@pathscale/ui 1.1.34 → 1.1.35

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 (249) hide show
  1. package/dist/components/button/Button.css +10 -1
  2. package/dist/components/button/Button.d.ts +2 -0
  3. package/dist/components/button/Button.js +31 -6
  4. package/dist/components/button-group/ButtonGroup.css +117 -0
  5. package/dist/components/button-group/ButtonGroup.d.ts +23 -0
  6. package/dist/components/button-group/ButtonGroup.js +91 -0
  7. package/dist/components/button-group/context.d.ts +8 -0
  8. package/dist/components/button-group/context.js +3 -0
  9. package/dist/components/button-group/index.d.ts +1 -0
  10. package/dist/components/button-group/index.js +6 -0
  11. package/dist/components/card/Card.css +110 -0
  12. package/dist/components/card/Card.d.ts +26 -26
  13. package/dist/components/card/Card.js +131 -70
  14. package/dist/components/card/index.d.ts +1 -1
  15. package/dist/components/card/index.js +6 -1
  16. package/dist/components/checkbox/Checkbox.js +18 -4
  17. package/dist/components/checkbox-group/CheckboxGroup.css +10 -0
  18. package/dist/components/checkbox-group/CheckboxGroup.d.ts +18 -0
  19. package/dist/components/checkbox-group/CheckboxGroup.js +97 -0
  20. package/dist/components/checkbox-group/context.d.ts +11 -0
  21. package/dist/components/checkbox-group/context.js +3 -0
  22. package/dist/components/checkbox-group/index.d.ts +4 -0
  23. package/dist/components/checkbox-group/index.js +4 -0
  24. package/dist/components/chip/Chip.css +11 -9
  25. package/dist/components/chip/Chip.d.ts +2 -2
  26. package/dist/components/chip/Chip.js +38 -30
  27. package/dist/components/close-button/CloseButton.css +81 -0
  28. package/dist/components/close-button/CloseButton.d.ts +14 -0
  29. package/dist/components/close-button/CloseButton.js +76 -0
  30. package/dist/components/close-button/index.d.ts +1 -0
  31. package/dist/components/close-button/index.js +3 -0
  32. package/dist/components/combo-box/ComboBox.css +344 -0
  33. package/dist/components/combo-box/ComboBox.d.ts +86 -0
  34. package/dist/components/combo-box/ComboBox.js +708 -0
  35. package/dist/components/combo-box/index.d.ts +1 -0
  36. package/dist/components/combo-box/index.js +10 -0
  37. package/dist/components/date-field/DateField.css +215 -0
  38. package/dist/components/date-field/DateField.d.ts +64 -0
  39. package/dist/components/date-field/DateField.js +341 -0
  40. package/dist/components/date-field/index.d.ts +1 -0
  41. package/dist/components/date-field/index.js +11 -0
  42. package/dist/components/description/Description.css +10 -0
  43. package/dist/components/description/Description.d.ts +11 -0
  44. package/dist/components/{form/Label.js → description/Description.js} +23 -14
  45. package/dist/components/description/index.d.ts +1 -0
  46. package/dist/components/description/index.js +5 -0
  47. package/dist/components/drawer/Drawer.css +15 -0
  48. package/dist/components/drawer/Drawer.d.ts +2 -0
  49. package/dist/components/drawer/Drawer.js +24 -16
  50. package/dist/components/error-message/ErrorMessage.css +20 -0
  51. package/dist/components/error-message/ErrorMessage.d.ts +11 -0
  52. package/dist/components/error-message/ErrorMessage.js +40 -0
  53. package/dist/components/error-message/index.d.ts +1 -0
  54. package/dist/components/error-message/index.js +5 -0
  55. package/dist/components/field-error/FieldError.css +27 -0
  56. package/dist/components/field-error/FieldError.d.ts +21 -0
  57. package/dist/components/field-error/FieldError.js +69 -0
  58. package/dist/components/field-error/index.d.ts +1 -0
  59. package/dist/components/field-error/index.js +5 -0
  60. package/dist/components/fieldset/Fieldset.css +30 -0
  61. package/dist/components/fieldset/Fieldset.d.ts +22 -9
  62. package/dist/components/fieldset/Fieldset.js +88 -44
  63. package/dist/components/fieldset/index.d.ts +1 -2
  64. package/dist/components/fieldset/index.js +7 -2
  65. package/dist/components/form/Form.css +5 -0
  66. package/dist/components/form/Form.d.ts +10 -16
  67. package/dist/components/form/Form.js +33 -16
  68. package/dist/components/form/index.d.ts +1 -4
  69. package/dist/components/form/index.js +3 -4
  70. package/dist/components/header/Header.css +13 -0
  71. package/dist/components/header/Header.d.ts +9 -0
  72. package/dist/components/{menu/MenuDetails.js → header/Header.js} +17 -20
  73. package/dist/components/header/index.d.ts +1 -0
  74. package/dist/components/header/index.js +5 -0
  75. package/dist/components/immersive-landing/components/FirefoxPWABanner.js +62 -68
  76. package/dist/components/immersive-landing/components/PWAInstallPrompt.js +58 -64
  77. package/dist/components/input/Input.css +3 -2
  78. package/dist/components/input/Input.d.ts +2 -2
  79. package/dist/components/input/Input.js +7 -7
  80. package/dist/components/input-group/InputGroup.css +172 -0
  81. package/dist/components/input-group/InputGroup.d.ts +44 -0
  82. package/dist/components/input-group/InputGroup.js +227 -0
  83. package/dist/components/input-group/index.d.ts +1 -0
  84. package/dist/components/input-group/index.js +9 -0
  85. package/dist/components/input-otp/InputOTP.css +170 -0
  86. package/dist/components/input-otp/InputOTP.d.ts +46 -0
  87. package/dist/components/input-otp/InputOTP.js +385 -0
  88. package/dist/components/input-otp/index.d.ts +1 -0
  89. package/dist/components/input-otp/index.js +11 -0
  90. package/dist/components/label/Label.css +30 -0
  91. package/dist/components/label/Label.d.ts +17 -0
  92. package/dist/components/label/Label.js +64 -0
  93. package/dist/components/label/index.d.ts +1 -0
  94. package/dist/components/label/index.js +5 -0
  95. package/dist/components/list-box/ListBox.css +148 -0
  96. package/dist/components/list-box/ListBox.d.ts +23 -0
  97. package/dist/components/list-box/ListBox.js +224 -0
  98. package/dist/components/list-box/ListBoxItem.d.ts +28 -0
  99. package/dist/components/list-box/ListBoxItem.js +231 -0
  100. package/dist/components/list-box/ListBoxSection.d.ts +11 -0
  101. package/dist/components/list-box/ListBoxSection.js +48 -0
  102. package/dist/components/list-box/context.d.ts +27 -0
  103. package/dist/components/list-box/context.js +3 -0
  104. package/dist/components/list-box/index.d.ts +17 -0
  105. package/dist/components/list-box/index.js +17 -0
  106. package/dist/components/menu/Menu.css +199 -0
  107. package/dist/components/menu/Menu.d.ts +32 -20
  108. package/dist/components/menu/Menu.js +213 -39
  109. package/dist/components/menu/MenuItem.d.ts +35 -5
  110. package/dist/components/menu/MenuItem.js +270 -19
  111. package/dist/components/menu/MenuSection.d.ts +11 -0
  112. package/dist/components/menu/MenuSection.js +48 -0
  113. package/dist/components/menu/context.d.ts +26 -0
  114. package/dist/components/menu/context.js +3 -0
  115. package/dist/components/menu/index.d.ts +4 -3
  116. package/dist/components/menu/index.js +11 -2
  117. package/dist/components/number-field/NumberField.css +198 -0
  118. package/dist/components/number-field/NumberField.d.ts +48 -0
  119. package/dist/components/number-field/NumberField.js +350 -0
  120. package/dist/components/number-field/index.d.ts +1 -0
  121. package/dist/components/number-field/index.js +9 -0
  122. package/dist/components/search-field/SearchField.css +183 -0
  123. package/dist/components/search-field/SearchField.d.ts +53 -0
  124. package/dist/components/search-field/SearchField.js +303 -0
  125. package/dist/components/search-field/index.d.ts +1 -0
  126. package/dist/components/search-field/index.js +9 -0
  127. package/dist/components/select/Select.css +16 -10
  128. package/dist/components/select/Select.d.ts +10 -2
  129. package/dist/components/select/Select.js +119 -33
  130. package/dist/components/separator/Separator.css +35 -0
  131. package/dist/components/separator/Separator.d.ts +12 -0
  132. package/dist/components/separator/Separator.js +57 -0
  133. package/dist/components/separator/index.d.ts +1 -0
  134. package/dist/components/separator/index.js +4 -0
  135. package/dist/components/sidenav/Sidenav.js +2 -2
  136. package/dist/components/surface/Surface.css +37 -0
  137. package/dist/components/surface/Surface.d.ts +12 -0
  138. package/dist/components/surface/Surface.js +41 -0
  139. package/dist/components/surface/index.d.ts +1 -0
  140. package/dist/components/surface/index.js +4 -0
  141. package/dist/components/table/hooks/index.d.ts +1 -9
  142. package/dist/components/table/hooks/index.js +1 -18
  143. package/dist/components/tag/Tag.css +121 -0
  144. package/dist/components/tag/Tag.d.ts +33 -0
  145. package/dist/components/tag/Tag.js +241 -0
  146. package/dist/components/tag/index.d.ts +1 -0
  147. package/dist/components/tag/index.js +6 -0
  148. package/dist/components/tag-group/TagGroup.css +22 -0
  149. package/dist/components/tag-group/TagGroup.d.ts +32 -0
  150. package/dist/components/tag-group/TagGroup.js +177 -0
  151. package/dist/components/tag-group/context.d.ts +15 -0
  152. package/dist/components/tag-group/context.js +3 -0
  153. package/dist/components/tag-group/index.d.ts +2 -0
  154. package/dist/components/tag-group/index.js +6 -0
  155. package/dist/components/text/Text.css +66 -0
  156. package/dist/components/text/Text.d.ts +17 -0
  157. package/dist/components/text/Text.js +46 -0
  158. package/dist/components/text/index.d.ts +1 -0
  159. package/dist/components/text/index.js +5 -0
  160. package/dist/components/text-area/TextArea.css +95 -0
  161. package/dist/components/text-area/TextArea.d.ts +19 -0
  162. package/dist/components/text-area/TextArea.js +64 -0
  163. package/dist/components/text-area/index.d.ts +1 -0
  164. package/dist/components/text-area/index.js +5 -0
  165. package/dist/components/text-field/TextField.css +33 -0
  166. package/dist/components/text-field/TextField.d.ts +34 -0
  167. package/dist/components/text-field/TextField.js +85 -0
  168. package/dist/components/text-field/index.d.ts +1 -0
  169. package/dist/components/text-field/index.js +7 -0
  170. package/dist/components/textarea/Textarea.d.ts +8 -13
  171. package/dist/components/textarea/Textarea.js +14 -45
  172. package/dist/components/textarea/index.d.ts +2 -1
  173. package/dist/components/textarea/index.js +4 -1
  174. package/dist/components/time-field/TimeField.css +215 -0
  175. package/dist/components/time-field/TimeField.d.ts +64 -0
  176. package/dist/components/time-field/TimeField.js +341 -0
  177. package/dist/components/time-field/index.d.ts +1 -0
  178. package/dist/components/time-field/index.js +11 -0
  179. package/dist/components/utils.d.ts +2 -2
  180. package/dist/components/utils.js +3 -17
  181. package/dist/hooks/form/index.d.ts +5 -0
  182. package/dist/hooks/form/index.js +12 -0
  183. package/dist/hooks/form/useField.d.ts +11 -0
  184. package/dist/hooks/form/useField.js +20 -0
  185. package/dist/hooks/form/useFieldError.d.ts +3 -0
  186. package/dist/hooks/form/useFieldError.js +3 -0
  187. package/dist/hooks/form/useFieldMeta.d.ts +20 -0
  188. package/dist/hooks/form/useFieldMeta.js +49 -0
  189. package/dist/hooks/form/useFieldProps.d.ts +10 -0
  190. package/dist/hooks/form/useFieldProps.js +51 -0
  191. package/dist/hooks/form/useForm.d.ts +27 -0
  192. package/dist/hooks/form/useForm.js +54 -0
  193. package/dist/hooks/form/utils.d.ts +4 -0
  194. package/dist/hooks/form/utils.js +30 -0
  195. package/dist/hooks/layout/index.d.ts +1 -0
  196. package/dist/hooks/layout/index.js +3 -0
  197. package/dist/hooks/layout/useDesktop.d.ts +1 -0
  198. package/dist/hooks/layout/useDesktop.js +17 -0
  199. package/dist/hooks/table/index.d.ts +9 -0
  200. package/dist/hooks/table/index.js +18 -0
  201. package/dist/index.d.ts +59 -7
  202. package/dist/index.js +140 -15
  203. package/dist/styles/icons/generated-icons.css +1 -1
  204. package/package.json +1 -1
  205. package/dist/components/card/CardActions.d.ts +0 -4
  206. package/dist/components/card/CardActions.js +0 -15
  207. package/dist/components/card/CardBody.d.ts +0 -4
  208. package/dist/components/card/CardBody.js +0 -15
  209. package/dist/components/card/CardImage.d.ts +0 -3
  210. package/dist/components/card/CardImage.js +0 -10
  211. package/dist/components/card/CardTitle.d.ts +0 -6
  212. package/dist/components/card/CardTitle.js +0 -13
  213. package/dist/components/card/card.css +0 -171
  214. package/dist/components/form/FormBase.d.ts +0 -8
  215. package/dist/components/form/FormBase.js +0 -74
  216. package/dist/components/form/FormDropdown.d.ts +0 -25
  217. package/dist/components/form/FormDropdown.js +0 -139
  218. package/dist/components/form/FormField.d.ts +0 -14
  219. package/dist/components/form/FormField.js +0 -78
  220. package/dist/components/form/Label.d.ts +0 -7
  221. package/dist/components/form/NumberField.d.ts +0 -20
  222. package/dist/components/form/NumberField.js +0 -109
  223. package/dist/components/form/PasswordField.d.ts +0 -16
  224. package/dist/components/form/PasswordField.js +0 -113
  225. package/dist/components/form/ValidatedForm.d.ts +0 -26
  226. package/dist/components/form/ValidatedForm.js +0 -55
  227. package/dist/components/menu/MenuDetails.d.ts +0 -8
  228. package/dist/components/menu/MenuDropdown.d.ts +0 -12
  229. package/dist/components/menu/MenuDropdown.js +0 -48
  230. package/dist/components/menu/MenuTitle.d.ts +0 -8
  231. package/dist/components/menu/MenuTitle.js +0 -22
  232. package/dist/components/menu/menu.css +0 -364
  233. package/dist/components/textarea/textarea.css +0 -191
  234. /package/dist/{components/table/hooks → hooks/table}/helpers.d.ts +0 -0
  235. /package/dist/{components/table/hooks → hooks/table}/helpers.js +0 -0
  236. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.d.ts +0 -0
  237. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.js +0 -0
  238. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.d.ts +0 -0
  239. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.js +0 -0
  240. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.d.ts +0 -0
  241. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.js +0 -0
  242. /package/dist/{components/table/hooks → hooks/table}/useTableModel.d.ts +0 -0
  243. /package/dist/{components/table/hooks → hooks/table}/useTableModel.js +0 -0
  244. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.d.ts +0 -0
  245. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.js +0 -0
  246. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.d.ts +0 -0
  247. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.js +0 -0
  248. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.d.ts +0 -0
  249. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.js +0 -0
@@ -0,0 +1,48 @@
1
+ import "./NumberField.css";
2
+ import { type Component, type JSX, type ParentComponent } from "solid-js";
3
+ import type { IComponentBaseProps } from "../types";
4
+ export type NumberFieldVariant = "primary" | "secondary";
5
+ export type NumberFieldRenderProps = {
6
+ value: number | undefined;
7
+ isInvalid: boolean;
8
+ isDisabled: boolean;
9
+ };
10
+ export type NumberFieldRootProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children" | "onChange" | "onBlur"> & IComponentBaseProps & {
11
+ children?: JSX.Element | ((props: NumberFieldRenderProps) => JSX.Element);
12
+ name?: string;
13
+ value?: number;
14
+ defaultValue?: number;
15
+ onChange?: (value: number | undefined) => void;
16
+ onBlur?: JSX.EventHandlerUnion<HTMLInputElement, FocusEvent>;
17
+ min?: number;
18
+ max?: number;
19
+ step?: number;
20
+ fullWidth?: boolean;
21
+ variant?: NumberFieldVariant;
22
+ isDisabled?: boolean;
23
+ disabled?: boolean;
24
+ isInvalid?: boolean;
25
+ };
26
+ export type NumberFieldGroupProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children"> & IComponentBaseProps & {
27
+ children?: JSX.Element | ((props: NumberFieldRenderProps) => JSX.Element);
28
+ };
29
+ export type NumberFieldInputProps = Omit<JSX.InputHTMLAttributes<HTMLInputElement>, "value" | "onInput" | "type"> & IComponentBaseProps & {
30
+ onInput?: JSX.EventHandlerUnion<HTMLInputElement, InputEvent>;
31
+ };
32
+ export type NumberFieldIncrementButtonProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "type"> & IComponentBaseProps;
33
+ export type NumberFieldDecrementButtonProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "type"> & IComponentBaseProps;
34
+ declare const NumberFieldRoot: ParentComponent<NumberFieldRootProps>;
35
+ declare const NumberFieldGroup: ParentComponent<NumberFieldGroupProps>;
36
+ declare const NumberFieldInput: Component<NumberFieldInputProps>;
37
+ declare const NumberFieldIncrementButton: Component<NumberFieldIncrementButtonProps>;
38
+ declare const NumberFieldDecrementButton: Component<NumberFieldDecrementButtonProps>;
39
+ declare const NumberField: ParentComponent<NumberFieldRootProps> & {
40
+ Root: ParentComponent<NumberFieldRootProps>;
41
+ Group: ParentComponent<NumberFieldGroupProps>;
42
+ Input: Component<NumberFieldInputProps>;
43
+ IncrementButton: Component<NumberFieldIncrementButtonProps>;
44
+ DecrementButton: Component<NumberFieldDecrementButtonProps>;
45
+ };
46
+ export default NumberField;
47
+ export { NumberField, NumberFieldRoot, NumberFieldGroup, NumberFieldInput, NumberFieldIncrementButton, NumberFieldDecrementButton, };
48
+ export type { NumberFieldRootProps as NumberFieldProps };
@@ -0,0 +1,350 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
+ import "./NumberField.css";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input>"), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<button>"), _tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg aria-hidden=true data-slot=number-field-increment-button-icon fill=none role=presentation viewBox="0 0 16 16"><path d="M8 3.25a.75.75 0 0 1 .75.75v3.25H12a.75.75 0 0 1 0 1.5H8.75V12a.75.75 0 0 1-1.5 0V8.75H4a.75.75 0 0 1 0-1.5h3.25V4A.75.75 0 0 1 8 3.25Z"fill=currentColor>'), _tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg aria-hidden=true data-slot=number-field-decrement-button-icon fill=none role=presentation viewBox="0 0 16 16"><path d="M4 7.25a.75.75 0 0 0 0 1.5h8a.75.75 0 0 0 0-1.5H4Z"fill=currentColor>');
6
+ const VARIANT_CLASS_MAP = {
7
+ primary: "number-field--primary",
8
+ secondary: "number-field--secondary"
9
+ };
10
+ const NumberFieldContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
11
+ const invokeEventHandler = (handler, event)=>{
12
+ if ("function" == typeof handler) return void handler(event);
13
+ if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
14
+ };
15
+ const toNumber = (value)=>{
16
+ const trimmedValue = value.trim();
17
+ if (!trimmedValue) return;
18
+ const parsedValue = Number(trimmedValue);
19
+ return Number.isFinite(parsedValue) ? parsedValue : void 0;
20
+ };
21
+ const clamp = (value, min, max)=>{
22
+ let clampedValue = value;
23
+ if (void 0 !== min && clampedValue < min) clampedValue = min;
24
+ if (void 0 !== max && clampedValue > max) clampedValue = max;
25
+ return clampedValue;
26
+ };
27
+ const formatNumber = (value)=>void 0 === value ? "" : `${value}`;
28
+ const NumberFieldRoot = (props)=>{
29
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
30
+ "children",
31
+ "class",
32
+ "className",
33
+ "dataTheme",
34
+ "style",
35
+ "name",
36
+ "value",
37
+ "defaultValue",
38
+ "onChange",
39
+ "onBlur",
40
+ "min",
41
+ "max",
42
+ "step",
43
+ "fullWidth",
44
+ "variant",
45
+ "isDisabled",
46
+ "disabled",
47
+ "isInvalid"
48
+ ]);
49
+ const [internalValue, setInternalValue] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(local.defaultValue);
50
+ const [inputValue, setInputValue] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(formatNumber(local.defaultValue));
51
+ const isControlled = ()=>void 0 !== local.value;
52
+ const value = ()=>isControlled() ? local.value : internalValue();
53
+ const variant = ()=>local.variant ?? "primary";
54
+ const fullWidth = ()=>Boolean(local.fullWidth);
55
+ const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
56
+ const isInvalid = ()=>Boolean(local.isInvalid);
57
+ const step = ()=>local.step && Number.isFinite(local.step) ? local.step : 1;
58
+ const min = ()=>local.min;
59
+ const max = ()=>local.max;
60
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
61
+ if (!isControlled()) return;
62
+ setInputValue(formatNumber(local.value));
63
+ });
64
+ const commitValue = (nextValue)=>{
65
+ if (!isControlled()) setInternalValue(nextValue);
66
+ setInputValue(formatNumber(nextValue));
67
+ local.onChange?.(nextValue);
68
+ };
69
+ const setFromInput = (nextValue)=>{
70
+ setInputValue(nextValue);
71
+ const parsedValue = toNumber(nextValue);
72
+ if ("" === nextValue.trim()) {
73
+ if (!isControlled()) setInternalValue(void 0);
74
+ local.onChange?.(void 0);
75
+ return;
76
+ }
77
+ if (void 0 === parsedValue) return;
78
+ const clampedValue = clamp(parsedValue, min(), max());
79
+ if (!isControlled()) setInternalValue(clampedValue);
80
+ local.onChange?.(clampedValue);
81
+ };
82
+ const adjustValue = (direction)=>{
83
+ if (isDisabled()) return;
84
+ const currentValue = toNumber(inputValue()) ?? value() ?? min() ?? (direction > 0 ? 0 : step() > 0 ? step() : 0);
85
+ const nextValue = clamp(currentValue + step() * direction, min(), max());
86
+ commitValue(nextValue);
87
+ };
88
+ const renderProps = ()=>({
89
+ value: value(),
90
+ isInvalid: isInvalid(),
91
+ isDisabled: isDisabled()
92
+ });
93
+ const contextValue = {
94
+ valueText: inputValue,
95
+ name: ()=>local.name,
96
+ variant,
97
+ fullWidth,
98
+ isDisabled,
99
+ isInvalid,
100
+ min,
101
+ max,
102
+ step,
103
+ onBlur: ()=>local.onBlur,
104
+ setFromInput,
105
+ increment: ()=>adjustValue(1),
106
+ decrement: ()=>adjustValue(-1)
107
+ };
108
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(NumberFieldContext.Provider, {
109
+ value: contextValue,
110
+ get children () {
111
+ var _el$ = _tmpl$();
112
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
113
+ get ["class"] () {
114
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("number-field", VARIANT_CLASS_MAP[variant()], fullWidth() && "number-field--full-width", local.class, local.className);
115
+ },
116
+ "data-slot": "number-field",
117
+ get ["data-invalid"] () {
118
+ return isInvalid() ? "true" : void 0;
119
+ },
120
+ get ["data-disabled"] () {
121
+ return isDisabled() ? "true" : void 0;
122
+ },
123
+ get ["aria-invalid"] () {
124
+ return isInvalid() ? "true" : void 0;
125
+ },
126
+ get ["aria-disabled"] () {
127
+ return isDisabled() ? "true" : void 0;
128
+ },
129
+ get ["data-theme"] () {
130
+ return local.dataTheme;
131
+ },
132
+ get style () {
133
+ return local.style;
134
+ }
135
+ }), false, true);
136
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
137
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children);
138
+ return ()=>_c$() ? local.children(renderProps()) : (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.children)() ? local.children : (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(NumberFieldGroup, {
139
+ get children () {
140
+ return [
141
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(NumberFieldDecrementButton, {}),
142
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(NumberFieldInput, {}),
143
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(NumberFieldIncrementButton, {})
144
+ ];
145
+ }
146
+ });
147
+ })());
148
+ return _el$;
149
+ }
150
+ });
151
+ };
152
+ const NumberFieldGroup = (props)=>{
153
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(NumberFieldContext);
154
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
155
+ "children",
156
+ "class",
157
+ "className",
158
+ "dataTheme",
159
+ "style"
160
+ ]);
161
+ const renderProps = ()=>({
162
+ value: toNumber(context?.valueText() ?? ""),
163
+ isInvalid: context?.isInvalid() ?? false,
164
+ isDisabled: context?.isDisabled() ?? false
165
+ });
166
+ return (()=>{
167
+ var _el$2 = _tmpl$();
168
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
169
+ get ["class"] () {
170
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("number-field__group", context?.fullWidth() && "number-field__group--full-width", local.class, local.className);
171
+ },
172
+ "data-slot": "number-field-group",
173
+ get ["data-invalid"] () {
174
+ return context?.isInvalid() ? "true" : void 0;
175
+ },
176
+ get ["data-disabled"] () {
177
+ return context?.isDisabled() ? "true" : void 0;
178
+ },
179
+ get ["data-theme"] () {
180
+ return local.dataTheme;
181
+ },
182
+ get style () {
183
+ return local.style;
184
+ }
185
+ }), false, true);
186
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (()=>{
187
+ var _c$2 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children);
188
+ return ()=>_c$2() ? local.children(renderProps()) : local.children;
189
+ })());
190
+ return _el$2;
191
+ })();
192
+ };
193
+ const NumberFieldInput = (props)=>{
194
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(NumberFieldContext);
195
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
196
+ "class",
197
+ "className",
198
+ "dataTheme",
199
+ "style",
200
+ "onInput",
201
+ "onBlur",
202
+ "name"
203
+ ]);
204
+ const handleInput = (event)=>{
205
+ invokeEventHandler(local.onInput, event);
206
+ if (event.defaultPrevented) return;
207
+ context?.setFromInput(event.currentTarget.value, event);
208
+ };
209
+ const handleBlur = (event)=>{
210
+ invokeEventHandler(local.onBlur, event);
211
+ invokeEventHandler(context?.onBlur(), event);
212
+ };
213
+ return (()=>{
214
+ var _el$3 = _tmpl$2();
215
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$3, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
216
+ type: "text",
217
+ inputmode: "decimal",
218
+ get ["class"] () {
219
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("number-field__input", local.class, local.className);
220
+ },
221
+ "data-slot": "number-field-input",
222
+ get ["data-theme"] () {
223
+ return local.dataTheme;
224
+ },
225
+ get style () {
226
+ return local.style;
227
+ },
228
+ get name () {
229
+ return local.name ?? context?.name();
230
+ },
231
+ get value () {
232
+ return context?.valueText() ?? "";
233
+ },
234
+ get disabled () {
235
+ return context?.isDisabled();
236
+ },
237
+ get ["aria-invalid"] () {
238
+ return context?.isInvalid() ? "true" : void 0;
239
+ },
240
+ get ["aria-disabled"] () {
241
+ return context?.isDisabled() ? "true" : void 0;
242
+ },
243
+ get min () {
244
+ return context?.min();
245
+ },
246
+ get max () {
247
+ return context?.max();
248
+ },
249
+ get step () {
250
+ return context?.step();
251
+ },
252
+ onInput: handleInput,
253
+ onBlur: handleBlur
254
+ }), false, false);
255
+ return _el$3;
256
+ })();
257
+ };
258
+ const NumberFieldIncrementButton = (props)=>{
259
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(NumberFieldContext);
260
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
261
+ "children",
262
+ "class",
263
+ "className",
264
+ "dataTheme",
265
+ "style",
266
+ "onClick"
267
+ ]);
268
+ const handleClick = (event)=>{
269
+ invokeEventHandler(local.onClick, event);
270
+ if (event.defaultPrevented) return;
271
+ context?.increment(event);
272
+ };
273
+ return (()=>{
274
+ var _el$4 = _tmpl$3();
275
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$4, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
276
+ type: "button",
277
+ get ["class"] () {
278
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("number-field__increment-button", local.class, local.className);
279
+ },
280
+ "data-slot": "number-field-increment-button",
281
+ get ["data-theme"] () {
282
+ return local.dataTheme;
283
+ },
284
+ get style () {
285
+ return local.style;
286
+ },
287
+ get disabled () {
288
+ return context?.isDisabled();
289
+ },
290
+ get ["aria-disabled"] () {
291
+ return context?.isDisabled() ? "true" : void 0;
292
+ },
293
+ slot: "increment",
294
+ onClick: handleClick
295
+ }), false, true);
296
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.children ?? _tmpl$4());
297
+ return _el$4;
298
+ })();
299
+ };
300
+ const NumberFieldDecrementButton = (props)=>{
301
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(NumberFieldContext);
302
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
303
+ "children",
304
+ "class",
305
+ "className",
306
+ "dataTheme",
307
+ "style",
308
+ "onClick"
309
+ ]);
310
+ const handleClick = (event)=>{
311
+ invokeEventHandler(local.onClick, event);
312
+ if (event.defaultPrevented) return;
313
+ context?.decrement(event);
314
+ };
315
+ return (()=>{
316
+ var _el$6 = _tmpl$3();
317
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
318
+ type: "button",
319
+ get ["class"] () {
320
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("number-field__decrement-button", local.class, local.className);
321
+ },
322
+ "data-slot": "number-field-decrement-button",
323
+ get ["data-theme"] () {
324
+ return local.dataTheme;
325
+ },
326
+ get style () {
327
+ return local.style;
328
+ },
329
+ get disabled () {
330
+ return context?.isDisabled();
331
+ },
332
+ get ["aria-disabled"] () {
333
+ return context?.isDisabled() ? "true" : void 0;
334
+ },
335
+ slot: "decrement",
336
+ onClick: handleClick
337
+ }), false, true);
338
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, ()=>local.children ?? _tmpl$5());
339
+ return _el$6;
340
+ })();
341
+ };
342
+ const NumberField_NumberField = Object.assign(NumberFieldRoot, {
343
+ Root: NumberFieldRoot,
344
+ Group: NumberFieldGroup,
345
+ Input: NumberFieldInput,
346
+ IncrementButton: NumberFieldIncrementButton,
347
+ DecrementButton: NumberFieldDecrementButton
348
+ });
349
+ const NumberField = NumberField_NumberField;
350
+ export { NumberField_NumberField as NumberField, NumberFieldDecrementButton, NumberFieldGroup, NumberFieldIncrementButton, NumberFieldInput, NumberFieldRoot, NumberField as default };
@@ -0,0 +1 @@
1
+ export { default, NumberField, NumberFieldRoot, NumberFieldGroup, NumberFieldInput, NumberFieldIncrementButton, NumberFieldDecrementButton, type NumberFieldProps, type NumberFieldRootProps, type NumberFieldGroupProps, type NumberFieldInputProps, type NumberFieldIncrementButtonProps, type NumberFieldDecrementButtonProps, type NumberFieldVariant, type NumberFieldRenderProps, } from "./NumberField";
@@ -0,0 +1,9 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__ from "./NumberField.js";
2
+ var __webpack_exports__NumberField = __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__.NumberField;
3
+ var __webpack_exports__NumberFieldDecrementButton = __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__.NumberFieldDecrementButton;
4
+ var __webpack_exports__NumberFieldGroup = __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__.NumberFieldGroup;
5
+ var __webpack_exports__NumberFieldIncrementButton = __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__.NumberFieldIncrementButton;
6
+ var __webpack_exports__NumberFieldInput = __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__.NumberFieldInput;
7
+ var __webpack_exports__NumberFieldRoot = __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__.NumberFieldRoot;
8
+ var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__NumberField_js_68db54de__["default"];
9
+ export { __webpack_exports__NumberField as NumberField, __webpack_exports__NumberFieldDecrementButton as NumberFieldDecrementButton, __webpack_exports__NumberFieldGroup as NumberFieldGroup, __webpack_exports__NumberFieldIncrementButton as NumberFieldIncrementButton, __webpack_exports__NumberFieldInput as NumberFieldInput, __webpack_exports__NumberFieldRoot as NumberFieldRoot, __webpack_exports__default as default };
@@ -0,0 +1,183 @@
1
+ @layer components {
2
+ .search-field {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 0.25rem;
6
+ }
7
+
8
+ .search-field[data-invalid="true"] [data-slot="description"],
9
+ .search-field[aria-invalid="true"] [data-slot="description"] {
10
+ display: none;
11
+ }
12
+
13
+ .search-field [data-slot="label"] {
14
+ width: fit-content;
15
+ }
16
+
17
+ .search-field [data-slot="description"] {
18
+ padding-inline: 0.25rem;
19
+ }
20
+
21
+ .search-field[data-empty="true"] [data-slot="search-field-clear-button"] {
22
+ pointer-events: none;
23
+ opacity: 0;
24
+ }
25
+
26
+ .search-field__group {
27
+ position: relative;
28
+ display: inline-flex;
29
+ align-items: center;
30
+ height: 2.25rem;
31
+ overflow: hidden;
32
+ border-radius: var(--radius-field, 0.75rem);
33
+ border: var(--border-width-field, 1px) solid
34
+ var(--color-field-border, color-mix(in oklab, var(--color-base-content) 16%, transparent));
35
+ background-color: var(--color-field, var(--color-base-100));
36
+ color: var(--color-field-foreground, var(--color-base-content));
37
+ box-shadow:
38
+ 0 1px 0 color-mix(in oklab, var(--color-base-content) 8%, transparent),
39
+ 0 1px 0 color-mix(in oklab, var(--color-base-100) 60%, transparent) inset;
40
+ outline: none;
41
+ transition:
42
+ background-color 150ms var(--ease-smooth),
43
+ border-color 150ms var(--ease-smooth),
44
+ box-shadow 150ms var(--ease-out);
45
+ }
46
+
47
+ @media (prefers-reduced-motion: reduce) {
48
+ .search-field__group {
49
+ transition: none;
50
+ }
51
+ }
52
+
53
+ @media (hover: hover) {
54
+ .search-field__group:hover:not(:focus-within):not([data-disabled="true"]) {
55
+ background-color: var(--color-field-hover, var(--color-base-200));
56
+ border-color: var(--color-field-border-hover, color-mix(in oklab, var(--color-base-content) 22%, transparent));
57
+ }
58
+ }
59
+
60
+ .search-field__group:focus-within,
61
+ .search-field__group[data-focus-within="true"] {
62
+ border-color: var(--color-field-border-focus, var(--color-accent));
63
+ background-color: var(--color-field-focus, var(--color-base-100));
64
+ box-shadow:
65
+ 0 0 0 3px color-mix(in oklab, var(--color-accent) 22%, transparent),
66
+ 0 1px 0 color-mix(in oklab, var(--color-accent) 24%, transparent);
67
+ }
68
+
69
+ .search-field__group[data-invalid="true"] {
70
+ border-color: var(--color-field-border-invalid, var(--color-danger));
71
+ background-color: var(--color-field-focus, var(--color-base-100));
72
+ box-shadow:
73
+ 0 0 0 3px color-mix(in oklab, var(--color-danger) 20%, transparent),
74
+ 0 1px 0 color-mix(in oklab, var(--color-danger) 20%, transparent);
75
+ }
76
+
77
+ .search-field__group[data-disabled="true"],
78
+ .search-field__group[aria-disabled="true"] {
79
+ cursor: not-allowed;
80
+ background-color: var(--color-base-200);
81
+ color: color-mix(in oklab, var(--color-base-content) 45%, transparent);
82
+ opacity: var(--disabled-opacity, 0.6);
83
+ box-shadow: none;
84
+ }
85
+
86
+ .search-field__input {
87
+ flex: 1;
88
+ min-width: 0;
89
+ border: 0;
90
+ border-radius: 0;
91
+ background: transparent;
92
+ padding-block: 0.5rem;
93
+ padding-inline: 0.75rem;
94
+ font-size: 0.875rem;
95
+ line-height: 1.25rem;
96
+ color: inherit;
97
+ box-shadow: none;
98
+ outline: none;
99
+ }
100
+
101
+ .search-field__input::placeholder {
102
+ color: var(--color-field-placeholder, color-mix(in oklab, var(--color-base-content) 45%, transparent));
103
+ }
104
+
105
+ .search-field__input::-webkit-search-cancel-button,
106
+ .search-field__input::-webkit-search-decoration {
107
+ -webkit-appearance: none;
108
+ appearance: none;
109
+ }
110
+
111
+ .search-field__group:has([data-slot="search-field-search-icon"]) .search-field__input {
112
+ padding-inline-start: 0.5rem;
113
+ }
114
+
115
+ .search-field__group:has([slot="clear"]) .search-field__input {
116
+ padding-inline-end: 0.5rem;
117
+ }
118
+
119
+ .search-field__input:focus,
120
+ .search-field__input:focus-visible {
121
+ outline: none;
122
+ }
123
+
124
+ .search-field__search-icon {
125
+ display: inline-flex;
126
+ align-items: center;
127
+ justify-content: center;
128
+ margin-inline-start: 0.75rem;
129
+ margin-inline-end: 0;
130
+ flex-shrink: 0;
131
+ width: 1rem;
132
+ height: 1rem;
133
+ color: var(--color-field-placeholder, color-mix(in oklab, var(--color-base-content) 45%, transparent));
134
+ pointer-events: none;
135
+ }
136
+
137
+ .search-field__search-icon > * {
138
+ width: 100%;
139
+ height: 100%;
140
+ pointer-events: none;
141
+ }
142
+
143
+ .search-field__clear-button {
144
+ margin-inline-end: 0.5rem;
145
+ flex-shrink: 0;
146
+ width: 1.25rem;
147
+ height: 1.25rem;
148
+ }
149
+
150
+ .search-field__clear-button > * {
151
+ width: 0.75rem;
152
+ height: 0.75rem;
153
+ }
154
+
155
+ .search-field--secondary .search-field__group {
156
+ box-shadow: none;
157
+ background-color: var(--search-field-group-bg, var(--color-default, var(--color-base-200)));
158
+ }
159
+
160
+ @media (hover: hover) {
161
+ .search-field--secondary .search-field__group:hover:not(:focus-within):not([data-disabled="true"]) {
162
+ background-color: var(--search-field-group-bg-hover, var(--color-default-hover, var(--color-base-300)));
163
+ }
164
+ }
165
+
166
+ .search-field--secondary .search-field__group:focus-within,
167
+ .search-field--secondary .search-field__group[data-focus-within="true"] {
168
+ background-color: var(--search-field-group-bg-focus, var(--color-default, var(--color-base-200)));
169
+ }
170
+
171
+ .search-field--secondary .search-field__group[data-invalid="true"] {
172
+ border-color: var(--color-field-border-invalid, var(--color-danger));
173
+ background-color: var(--search-field-group-bg-focus, var(--color-default, var(--color-base-200)));
174
+ }
175
+
176
+ .search-field--full-width {
177
+ width: 100%;
178
+ }
179
+
180
+ .search-field__group--full-width {
181
+ width: 100%;
182
+ }
183
+ }
@@ -0,0 +1,53 @@
1
+ import "./SearchField.css";
2
+ import { type Component, type JSX, type ParentComponent } from "solid-js";
3
+ import { type CloseButtonProps } from "../close-button";
4
+ import type { IComponentBaseProps } from "../types";
5
+ export type SearchFieldVariant = "primary" | "secondary";
6
+ export type SearchFieldRenderProps = {
7
+ value: string;
8
+ isEmpty: boolean;
9
+ isInvalid: boolean;
10
+ isDisabled: boolean;
11
+ };
12
+ export type SearchFieldRootProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children" | "onChange" | "onBlur"> & IComponentBaseProps & {
13
+ children?: JSX.Element | ((props: SearchFieldRenderProps) => JSX.Element);
14
+ startIcon?: JSX.Element;
15
+ endIcon?: JSX.Element;
16
+ name?: string;
17
+ value?: string;
18
+ defaultValue?: string;
19
+ onChange?: (value: string) => void;
20
+ onBlur?: JSX.EventHandlerUnion<HTMLInputElement, FocusEvent>;
21
+ fullWidth?: boolean;
22
+ variant?: SearchFieldVariant;
23
+ isDisabled?: boolean;
24
+ disabled?: boolean;
25
+ isInvalid?: boolean;
26
+ };
27
+ export type SearchFieldGroupProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children"> & IComponentBaseProps & {
28
+ children?: JSX.Element | ((props: SearchFieldRenderProps) => JSX.Element);
29
+ };
30
+ export type SearchFieldInputProps = Omit<JSX.InputHTMLAttributes<HTMLInputElement>, "value" | "onInput" | "type"> & IComponentBaseProps & {
31
+ onInput?: JSX.EventHandlerUnion<HTMLInputElement, InputEvent>;
32
+ };
33
+ export type SearchFieldSearchIconProps = JSX.HTMLAttributes<HTMLSpanElement> & IComponentBaseProps & {
34
+ children?: JSX.Element;
35
+ };
36
+ export type SearchFieldClearButtonProps = Omit<CloseButtonProps, "onClick"> & IComponentBaseProps & {
37
+ onClick?: JSX.EventHandlerUnion<HTMLButtonElement, MouseEvent>;
38
+ };
39
+ declare const SearchFieldRoot: ParentComponent<SearchFieldRootProps>;
40
+ declare const SearchFieldGroup: ParentComponent<SearchFieldGroupProps>;
41
+ declare const SearchFieldInput: Component<SearchFieldInputProps>;
42
+ declare const SearchFieldSearchIcon: Component<SearchFieldSearchIconProps>;
43
+ declare const SearchFieldClearButton: Component<SearchFieldClearButtonProps>;
44
+ declare const SearchField: ParentComponent<SearchFieldRootProps> & {
45
+ Root: ParentComponent<SearchFieldRootProps>;
46
+ Group: ParentComponent<SearchFieldGroupProps>;
47
+ Input: Component<SearchFieldInputProps>;
48
+ SearchIcon: Component<SearchFieldSearchIconProps>;
49
+ ClearButton: Component<SearchFieldClearButtonProps>;
50
+ };
51
+ export default SearchField;
52
+ export { SearchField, SearchFieldRoot, SearchFieldGroup, SearchFieldInput, SearchFieldSearchIcon, SearchFieldClearButton, };
53
+ export type { SearchFieldRootProps as SearchFieldProps };