solid-baseui 0.1.0-alpha.1 → 0.1.0-alpha.2

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 (189) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +51 -20
  3. package/dist/lib/client/DialogHandle-DluOK_7u.js +521 -0
  4. package/dist/lib/client/DialogPopup-CfEb3F54.js +138 -0
  5. package/dist/lib/client/FieldControl-eDe-Jnp9.js +142 -0
  6. package/dist/lib/client/{FieldRootContext-izCEh80D.js → FieldRootContext-D3fuVjs3.js} +1 -1
  7. package/dist/lib/client/{FocusManager-NP1uPXTi.js → FocusManager-q7z7PMV1.js} +92 -89
  8. package/dist/lib/client/{InternalBackdrop-cSK13gaM.js → InternalBackdrop-B8_lfUvf.js} +1 -1
  9. package/dist/lib/client/{MenuSubmenuTrigger-yfncqM-D.js → MenuSubmenuTrigger-DMb5CwTF.js} +386 -386
  10. package/dist/lib/client/{PopupHandle-CQI6Om1Z.js → PopupHandle-DyX5gY1e.js} +17 -11
  11. package/dist/lib/client/{PopupStore-Du0O57fL.js → PopupStore-BjRwcvbG.js} +91 -88
  12. package/dist/lib/client/PopupViewport-BanYHrD-.js +154 -0
  13. package/dist/lib/client/{TriggerFocusGuards-Cs8LVBj5.js → TriggerFocusGuards-Fzspp3Y1.js} +2 -2
  14. package/dist/lib/client/accordion/index.js +1 -1
  15. package/dist/lib/client/{accordion-BFeZFpJZ.js → accordion-CA2DfX67.js} +144 -144
  16. package/dist/lib/client/alert-dialog/index.js +1 -1
  17. package/dist/lib/client/{alert-dialog-BxGUF8_Q.js → alert-dialog-Bup88Dpx.js} +2 -2
  18. package/dist/lib/client/autocomplete/index.js +1 -1
  19. package/dist/lib/client/{autocomplete-C9QA98XD.js → autocomplete-oyy_uRpU.js} +2 -2
  20. package/dist/lib/client/avatar/index.js +1 -1
  21. package/dist/lib/client/avatar-DNZ4fnBd.js +191 -0
  22. package/dist/lib/client/button/index.js +1 -1
  23. package/dist/lib/client/button-BJZYmCVv.js +88 -0
  24. package/dist/lib/client/checkbox/index.js +1 -1
  25. package/dist/lib/client/checkbox-group/index.js +1 -1
  26. package/dist/lib/client/{checkbox-group-CwMDoSTK.js → checkbox-group-DGyrciZJ.js} +1 -1
  27. package/dist/lib/client/checkbox-sQHYTbpB.js +425 -0
  28. package/dist/lib/client/collapsible/index.js +1 -1
  29. package/dist/lib/client/collapsible-BENbFFCc.js +230 -0
  30. package/dist/lib/client/combobox/index.js +1 -1
  31. package/dist/lib/client/{combobox-6DhOdzit.js → combobox-BGH8QLXH.js} +143 -141
  32. package/dist/lib/client/compositeNavigation-DCt1sQon.js +82 -0
  33. package/dist/lib/client/{constants-cOVxAoxB.js → constants-ByOMFJAe.js} +100 -100
  34. package/dist/lib/client/context-menu/index.js +1 -1
  35. package/dist/lib/client/context-menu-xQ1sBCET.js +220 -0
  36. package/dist/lib/client/{createAnchorPositioning-D96gu-Dz.js → createAnchorPositioning-DCXIApS1.js} +1 -1
  37. package/dist/lib/client/{createAnchoredPopupScrollLock-Cx0cbh1_.js → createAnchoredPopupScrollLock-BxKpJbCE.js} +2 -2
  38. package/dist/lib/client/{createClickInteraction-CTaIFBiV.js → createClickInteraction-BeBsTqtY.js} +1 -1
  39. package/dist/lib/client/{createFocusInteraction--s9_qBf3.js → createFocusInteraction-DQPWkZe2.js} +7 -7
  40. package/dist/lib/client/{createPopupAutoResize-Dn-stj-8.js → createPopupAutoResize-CSNpMz5v.js} +3 -3
  41. package/dist/lib/client/dialog/index.js +1 -1
  42. package/dist/lib/client/{dialog-B9tR9X48.js → dialog-C0EF0a5u.js} +2 -2
  43. package/dist/lib/client/{dom-BEAeQ9Eb.js → dom-lDdayFF_.js} +25 -15
  44. package/dist/lib/client/drawer/index.js +1 -1
  45. package/dist/lib/client/{drawer-dyr3_sKQ.js → drawer-uKoNBwDU.js} +519 -518
  46. package/dist/lib/client/field/index.js +1 -1
  47. package/dist/lib/client/{field-CjUAjp1m.js → field-DIMrgpBW.js} +144 -144
  48. package/dist/lib/client/form/index.js +1 -1
  49. package/dist/lib/client/form-Bqq8wSLY.js +109 -0
  50. package/dist/lib/client/index.js +34 -34
  51. package/dist/lib/client/input/index.js +1 -1
  52. package/dist/lib/client/{input-_QHvSSqM.js → input-YthuKwIE.js} +1 -1
  53. package/dist/lib/client/internals/composeEventHandlers.js +14 -8
  54. package/dist/lib/client/internals/field-root-context/index.js +2 -2
  55. package/dist/lib/client/{mergeStyleValue-DhTA9Nwe.js → isSolidAccessor-BH_FevwH.js} +1 -12
  56. package/dist/lib/client/menu/index.js +1 -1
  57. package/dist/lib/client/{menu-DLqUBmMK.js → menu-4rNLN6aX.js} +79 -79
  58. package/dist/lib/client/menubar/index.js +1 -1
  59. package/dist/lib/client/menubar-nFQGtNmY.js +163 -0
  60. package/dist/lib/client/mergeStyleValue-Dcd36yxZ.js +12 -0
  61. package/dist/lib/client/navigation-menu/index.js +1 -1
  62. package/dist/lib/client/{navigation-menu-mVHV41Ky.js → navigation-menu-BbRyun3a.js} +284 -284
  63. package/dist/lib/client/number-field/index.js +1 -1
  64. package/dist/lib/client/{number-field-DusLw_0X.js → number-field-hT_H0hVu.js} +356 -356
  65. package/dist/lib/client/otp-field/index.js +1 -1
  66. package/dist/lib/client/otp-field-lsy2iGID.js +584 -0
  67. package/dist/lib/client/popover/index.js +1 -1
  68. package/dist/lib/client/{popover-Cv7xn0nW.js → popover-Cmvmuf1L.js} +250 -248
  69. package/dist/lib/client/{popupStateMapping-C6jQ_LKo.js → popupStateMapping-nhukB8NK.js} +51 -51
  70. package/dist/lib/client/preview-card/index.js +1 -1
  71. package/dist/lib/client/{preview-card-FTN_aafM.js → preview-card-Dtu8AnBN.js} +168 -168
  72. package/dist/lib/client/radio/index.js +1 -1
  73. package/dist/lib/client/{radio-DA_oZhQT.js → radio-CeCU-Qqi.js} +77 -77
  74. package/dist/lib/client/radio-group/index.js +1 -1
  75. package/dist/lib/client/radio-group-NbuJvjQe.js +195 -0
  76. package/dist/lib/client/{safePolygon-DJG0VIVo.js → safePolygon-DVAR5dQD.js} +70 -70
  77. package/dist/lib/client/scroll-area/index.js +1 -1
  78. package/dist/lib/client/scroll-area-DqbvoAd7.js +717 -0
  79. package/dist/lib/client/{scrollable-SRNYlhF7.js → scrollable-BVaDUXng.js} +12 -12
  80. package/dist/lib/client/select/index.js +1 -1
  81. package/dist/lib/client/{select-DSPJt7Rk.js → select-Dad51Xbn.js} +635 -634
  82. package/dist/lib/client/slider/index.js +1 -1
  83. package/dist/lib/client/slider-CLSKFq_M.js +927 -0
  84. package/dist/lib/client/switch/index.js +1 -1
  85. package/dist/lib/client/{switch-CPl7QHKI.js → switch-Bzuu5EIg.js} +61 -61
  86. package/dist/lib/client/tabs/index.js +1 -1
  87. package/dist/lib/client/{tabs-Bn4rZDyZ.js → tabs-DWiBDv8D.js} +252 -249
  88. package/dist/lib/client/toast/index.js +1 -1
  89. package/dist/lib/client/{toast-7LdqZWOs.js → toast-DmtPJW2k.js} +353 -353
  90. package/dist/lib/client/toggle/index.js +1 -1
  91. package/dist/lib/client/{toggle-CsC37e3e.js → toggle-CAe-Z8Xn.js} +33 -33
  92. package/dist/lib/client/toggle-group/index.js +1 -1
  93. package/dist/lib/client/{toggle-group-DSWb9HxN.js → toggle-group-BbQg5s-m.js} +44 -44
  94. package/dist/lib/client/toolbar/index.js +1 -1
  95. package/dist/lib/client/{toolbar-DcCi3HNp.js → toolbar-BXT_g-oX.js} +218 -218
  96. package/dist/lib/client/tooltip/index.js +1 -1
  97. package/dist/lib/client/{tooltip-D-PkGco9.js → tooltip-h2r2_Xuo.js} +250 -249
  98. package/dist/lib/client/{useFilteredItems-B7z2CGMV.js → useFilteredItems-BX0BEuSI.js} +850 -819
  99. package/dist/lib/server/{DialogHandle-nJSSy_jM.js → DialogHandle-BGIISmG7.js} +16 -16
  100. package/dist/lib/server/{DialogPopup-Da1aIxVA.js → DialogPopup-C2ZDGf42.js} +4 -4
  101. package/dist/lib/server/{FieldControl-BDeNR3ug.js → FieldControl-CDMMyvuj.js} +6 -6
  102. package/dist/lib/server/{FieldRootContext-IC-LWzVp.js → FieldRootContext-Bfpna6gA.js} +3 -3
  103. package/dist/lib/server/{FocusManager-1LfoCsya.js → FocusManager-D-xgblGs.js} +9 -3
  104. package/dist/lib/server/{InternalBackdrop-C_iDPVR-.js → InternalBackdrop-D_2zAWnl.js} +1 -1
  105. package/dist/lib/server/{MenuSubmenuTrigger-rR8ZN7YR.js → MenuSubmenuTrigger-BMQKlOvU.js} +50 -50
  106. package/dist/lib/server/{PopupHandle-Ct6wywmP.js → PopupHandle-QNj4mED2.js} +14 -5
  107. package/dist/lib/server/{PopupStore-kHjFPiQ5.js → PopupStore-evylvVnN.js} +5 -2
  108. package/dist/lib/server/{PopupViewport-DftN5VUp.js → PopupViewport-BDttjORN.js} +37 -27
  109. package/dist/lib/server/{TriggerFocusGuards-CvoGfft9.js → TriggerFocusGuards-B9GNbLrL.js} +2 -2
  110. package/dist/lib/server/accordion/index.js +7 -7
  111. package/dist/lib/server/alert-dialog/index.js +2 -2
  112. package/dist/lib/server/autocomplete/index.js +2 -2
  113. package/dist/lib/server/avatar/index.js +3 -3
  114. package/dist/lib/server/button/index.js +6 -6
  115. package/dist/lib/server/checkbox/index.js +7 -7
  116. package/dist/lib/server/checkbox-group/index.js +1 -1
  117. package/dist/lib/server/collapsible/index.js +6 -6
  118. package/dist/lib/server/combobox/index.js +18 -18
  119. package/dist/lib/server/{compositeNavigation-BRVT1C38.js → compositeNavigation-D5jKM4yk.js} +32 -1
  120. package/dist/lib/server/{constants-D7ciIzsV.js → constants-ByqXubhO.js} +2 -2
  121. package/dist/lib/server/context-menu/index.js +9 -9
  122. package/dist/lib/server/{createAnchorPositioning-B5Y0WEev.js → createAnchorPositioning-DrQYe7RS.js} +1 -1
  123. package/dist/lib/server/{createAnchoredPopupScrollLock-DFuUrykR.js → createAnchoredPopupScrollLock-q6gnOSmv.js} +2 -2
  124. package/dist/lib/server/{createClickInteraction-BYsMgvup.js → createClickInteraction-D7oc1Vco.js} +1 -1
  125. package/dist/lib/server/{createFocusInteraction-DMyKsniI.js → createFocusInteraction-DFKr4G7a.js} +1 -1
  126. package/dist/lib/server/{createPopupAutoResize-ImBjwdj_.js → createPopupAutoResize-Cg0-lLf4.js} +1 -1
  127. package/dist/lib/server/dialog/index.js +2 -2
  128. package/dist/lib/server/{dom-Crg_2R-j.js → dom-D8_aB1yy.js} +14 -1
  129. package/dist/lib/server/drawer/index.js +38 -34
  130. package/dist/lib/server/field/index.js +6 -6
  131. package/dist/lib/server/form/index.js +2 -2
  132. package/dist/lib/server/input/index.js +1 -1
  133. package/dist/lib/server/internals/composeEventHandlers.js +15 -9
  134. package/dist/lib/server/internals/field-root-context/index.js +1 -1
  135. package/dist/lib/server/{mergeStyleValue-BwJ10_X2.js → isSolidAccessor-CZpzAH5l.js} +1 -20
  136. package/dist/lib/server/menu/index.js +17 -17
  137. package/dist/lib/server/menubar/index.js +4 -4
  138. package/dist/lib/server/mergeStyleValue-DecVaoac.js +20 -0
  139. package/dist/lib/server/navigation-menu/index.js +21 -21
  140. package/dist/lib/server/number-field/index.js +21 -21
  141. package/dist/lib/server/otp-field/index.js +8 -8
  142. package/dist/lib/server/popover/index.js +27 -26
  143. package/dist/lib/server/{popupStateMapping-B2KsiiLb.js → popupStateMapping-VHqr6M4H.js} +1 -1
  144. package/dist/lib/server/preview-card/index.js +16 -16
  145. package/dist/lib/server/radio/index.js +6 -6
  146. package/dist/lib/server/radio-group/index.js +5 -5
  147. package/dist/lib/server/{safePolygon-C1GNJbKR.js → safePolygon-B8QtiIZ3.js} +1 -1
  148. package/dist/lib/server/scroll-area/index.js +18 -18
  149. package/dist/lib/server/{scrollable-CjsSxbGr.js → scrollable-C9Pgq8T5.js} +1 -1
  150. package/dist/lib/server/select/index.js +39 -38
  151. package/dist/lib/server/slider/index.js +14 -14
  152. package/dist/lib/server/switch/index.js +9 -9
  153. package/dist/lib/server/tabs/index.js +12 -8
  154. package/dist/lib/server/toast/index.js +32 -32
  155. package/dist/lib/server/toggle/index.js +7 -7
  156. package/dist/lib/server/toggle-group/index.js +2 -2
  157. package/dist/lib/server/toolbar/index.js +14 -14
  158. package/dist/lib/server/tooltip/index.js +32 -27
  159. package/dist/lib/server/{useFilteredItems-DCxq20Is.js → useFilteredItems-BmhL0nf1.js} +181 -137
  160. package/dist/lib/types/accordion/trigger/AccordionTrigger.d.ts +7 -7
  161. package/dist/lib/types/combobox/chip/ComboboxChip.d.ts +2 -0
  162. package/dist/lib/types/combobox/root/ComboboxRoot.d.ts +6 -1
  163. package/dist/lib/types/combobox/store/ComboboxStore.d.ts +1 -0
  164. package/dist/lib/types/combobox/utils/handleInputPress.d.ts +1 -1
  165. package/dist/lib/types/field/control/FieldControl.d.ts +5 -5
  166. package/dist/lib/types/internals/composeEventHandlers.d.ts +9 -2
  167. package/dist/lib/types/internals/field-root-context/FieldRootContext.d.ts +1 -0
  168. package/dist/lib/types/internals/overlay/dom.d.ts +2 -0
  169. package/dist/lib/types/number-field/input/NumberFieldInput.d.ts +5 -5
  170. package/dist/lib/types/slider/track/SliderTrack.d.ts +2 -2
  171. package/dist/lib/types/toolbar/link/ToolbarLink.d.ts +10 -3
  172. package/dist/lib/types/toolbar/root/ToolbarRoot.d.ts +10 -4
  173. package/package.json +1 -1
  174. package/dist/lib/client/DialogHandle-BGyIbcvg.js +0 -521
  175. package/dist/lib/client/DialogPopup-Df7MC358.js +0 -138
  176. package/dist/lib/client/FieldControl-C0PATyKV.js +0 -142
  177. package/dist/lib/client/PopupViewport-IS4XU03s.js +0 -152
  178. package/dist/lib/client/avatar-BQoEzzav.js +0 -191
  179. package/dist/lib/client/button-akYS6FyY.js +0 -88
  180. package/dist/lib/client/checkbox-DOXtzBhA.js +0 -425
  181. package/dist/lib/client/collapsible-t8YReaIp.js +0 -230
  182. package/dist/lib/client/compositeNavigation-sxniYTc7.js +0 -58
  183. package/dist/lib/client/context-menu-CplDpqmi.js +0 -220
  184. package/dist/lib/client/form-6Ne_bWQX.js +0 -109
  185. package/dist/lib/client/menubar-DhPRUQZ6.js +0 -163
  186. package/dist/lib/client/otp-field-D-B9tZzF.js +0 -584
  187. package/dist/lib/client/radio-group-CWtQxWDl.js +0 -195
  188. package/dist/lib/client/scroll-area-NCr49LkD.js +0 -717
  189. package/dist/lib/client/slider-CWq9hxFf.js +0 -927
@@ -169,7 +169,12 @@ export interface ComboboxRootState extends AriaComboboxState {
169
169
  * Groups all parts of the combobox.
170
170
  * Doesn't render its own HTML element.
171
171
  */
172
- export declare function ComboboxRoot<Value, Multiple extends boolean | undefined = false, Item = Value>(rawProps: ComboboxRoot.Props<Value, Multiple, Item>): JSX.Element;
172
+ export declare function ComboboxRoot<Items extends readonly {
173
+ items: readonly unknown[];
174
+ }[], Multiple extends boolean | undefined = false>(props: Omit<ComboboxRootProps<Items[number]['items'][number], Multiple>, 'items'> & {
175
+ items: Items;
176
+ }): JSX.Element;
177
+ export declare function ComboboxRoot<Value, Multiple extends boolean | undefined = false, Item = Value>(props: ComboboxRoot.Props<Value, Multiple, Item>): JSX.Element;
173
178
  export type { ComboboxRootActions, ComboboxRootChangeEventDetails, ComboboxRootChangeEventReason, };
174
179
  export type ComboboxRootHighlightEventReason = ComboboxHighlightEventReason;
175
180
  export type ComboboxRootHighlightEventDetails = ComboboxHighlightEventDetails;
@@ -4,6 +4,7 @@ import type { AnchorSide } from '../../internals/overlay/createAnchorPositioning
4
4
  import type { ComboboxRootChangeEventDetails } from '../root/AriaCombobox.js';
5
5
  import { ComboboxItemRegistry } from './ComboboxItemRegistry.js';
6
6
  export interface ComboboxStoreOptions extends PopupStoreOptions<ComboboxRootChangeEventDetails> {
7
+ inputOwnsFormValue?: boolean;
7
8
  }
8
9
  /**
9
10
  * Combobox popup state shared by every part.
@@ -4,4 +4,4 @@ import type { BaseUIEvent } from '../../types/index.js';
4
4
  * Routes a press anywhere in the input's surroundings back to the input, so clicking the padding
5
5
  * of an input group or the empty space beside the chips focuses and opens the combobox.
6
6
  */
7
- export declare function handleInputPress(event: BaseUIEvent<MouseEvent>, context: ComboboxRootContextValue<never>, disabled: boolean, readOnly: boolean, shouldIgnoreTarget?: ((target: Element | null) => boolean) | undefined): void;
7
+ export declare function handleInputPress(event: BaseUIEvent<MouseEvent>, context: ComboboxRootContextValue<never>, disabled: boolean, shouldIgnoreTarget?: ((target: Element | null) => boolean) | undefined): void;
@@ -2,12 +2,12 @@ import { type ComponentProps, type JSX, type ValidComponent } from '@solidjs/web
2
2
  import { type BaseUIEventHandlerUnion } from '../../internals/composeEventHandlers.js';
3
3
  import { createChangeEventDetails } from '../../internals/createBaseUIEventDetails.js';
4
4
  import { REASONS } from '../../internals/reasons.js';
5
- import type { BaseUIComponentProps } from '../../types/index.js';
5
+ import type { BaseUIComponentProps, BaseUIEvent } from '../../types/index.js';
6
6
  import type { FieldRootState } from '../root/FieldRoot.js';
7
7
  export interface FieldControlState extends FieldRootState {
8
8
  }
9
9
  type FieldControlEventTarget<Component extends ValidComponent> = ComponentProps<Component> extends {
10
- onInput?: JSX.EventHandlerUnion<infer Target, InputEvent> | undefined;
10
+ onInput?: JSX.InputEventHandlerUnion<infer Target, InputEvent> | undefined;
11
11
  } ? Target extends HTMLElement ? Target : HTMLElement : HTMLElement;
12
12
  interface FieldControlOwnProps<Component extends ValidComponent> {
13
13
  defaultValue?: string | number | string[] | undefined;
@@ -16,9 +16,9 @@ interface FieldControlOwnProps<Component extends ValidComponent> {
16
16
  name?: string | undefined;
17
17
  onValueChange?: ((value: string, eventDetails: FieldControlChangeEventDetails) => void) | undefined;
18
18
  value?: string | number | string[] | undefined;
19
- onBlur?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, FocusEvent> | undefined;
20
- onFocus?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, FocusEvent> | undefined;
21
- onInput?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, InputEvent> | undefined;
19
+ onBlur?: JSX.FocusEventHandlerUnion<FieldControlEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
20
+ onFocus?: JSX.FocusEventHandlerUnion<FieldControlEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
21
+ onInput?: JSX.InputEventHandlerUnion<FieldControlEventTarget<Component>, BaseUIEvent<InputEvent>> | undefined;
22
22
  onKeyDown?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, KeyboardEvent> | undefined;
23
23
  }
24
24
  export type FieldControlProps<Component extends ValidComponent = 'input'> = BaseUIComponentProps<Component, FieldControlState, FieldControlOwnProps<Component>>;
@@ -3,9 +3,16 @@ import type { JSX } from '@solidjs/web';
3
3
  import type { BaseUIEvent } from '../types/index.js';
4
4
  export type BaseUIEventHandlerUnion<T, EventType extends Event> = JSX.EventHandlerUnion<T, BaseUIEvent<EventType>>;
5
5
  export type EventHandlerSource<T, EventType extends Event> = Accessor<BaseUIEventHandlerUnion<T, EventType> | undefined>;
6
+ interface LiveEventHandler<T, EventType extends Event> {
7
+ readonly getHandler: EventHandlerSource<T, EventType>;
8
+ }
6
9
  /**
7
- * Composes native event handlers in argument order. Calling
10
+ * Composes handlers in argument order, enhancing the native event before dispatch. Calling
8
11
  * `event.preventBaseUIHandler()` prevents the remaining handlers from running.
12
+ * Use `liveEventHandler` for replaceable callback props instead of snapshotting them.
9
13
  */
10
- export declare function composeEventHandlers<T, EventType extends Event>(...getHandlers: Array<EventHandlerSource<T, EventType>>): JSX.EventHandler<T, BaseUIEvent<EventType>>;
14
+ export declare function composeEventHandlers<T, EventType extends Event>(...handlers: Array<BaseUIEventHandlerUnion<T, EventType> | LiveEventHandler<T, EventType> | undefined>): JSX.EventHandler<T, EventType>;
15
+ /** Resolves a replaceable handler at dispatch time; pass the adapter to `composeEventHandlers`. */
16
+ export declare function liveEventHandler<T, EventType extends Event>(getHandler: EventHandlerSource<T, EventType>): LiveEventHandler<T, EventType>;
11
17
  export declare function makeEventPreventable<EventType extends Event>(event: EventType): BaseUIEvent<EventType>;
18
+ export {};
@@ -25,6 +25,7 @@ export interface FieldRootContextValue {
25
25
  validation: FieldValidationController;
26
26
  }
27
27
  declare const MISSING_CONTEXT: unique symbol;
28
+ export declare const DEFAULT_FIELD_ROOT_CONTEXT: FieldRootContextValue;
28
29
  export declare const FieldRootContext: import("solid-js").Context<FieldRootContextValue | typeof MISSING_CONTEXT>;
29
30
  export declare function useFieldRootContext(optional: true): FieldRootContextValue;
30
31
  export declare function useFieldRootContext(optional?: false): FieldRootContextValue;
@@ -4,6 +4,8 @@ export declare function ownerWindow(node?: Node | Document | null): Window;
4
4
  export declare function activeElement(documentNode: Document): Element | null;
5
5
  export declare function contains(parent?: Element | null, child?: Element | null): boolean;
6
6
  export declare function getEventTarget(event: Event): EventTarget | null;
7
+ /** Solid RC.6 Portal exposes a live logical parent through each inserted root's _$host. */
8
+ export declare function containsWithPortals(parent?: Node | null, child?: Node | null): boolean;
7
9
  export declare function isEventTargetWithin(event: Event, node?: Node | null): boolean;
8
10
  export declare function isElement(value: unknown): value is Element;
9
11
  export declare function isHTMLElement(value: unknown): value is HTMLElement;
@@ -1,17 +1,17 @@
1
1
  import { type ComponentProps, type JSX, type ValidComponent } from '@solidjs/web';
2
2
  import { type BaseUIEventHandlerUnion } from '../../internals/composeEventHandlers.js';
3
- import type { BaseUIComponentProps } from '../../types/index.js';
3
+ import type { BaseUIComponentProps, BaseUIEvent } from '../../types/index.js';
4
4
  import type { NumberFieldRootState } from '../root/NumberFieldRoot.js';
5
5
  export interface NumberFieldInputState extends NumberFieldRootState {
6
6
  }
7
7
  type NumberFieldInputEventTarget<Component extends ValidComponent> = ComponentProps<Component> extends {
8
- onInput?: JSX.EventHandlerUnion<infer Target, InputEvent> | undefined;
8
+ onInput?: JSX.InputEventHandlerUnion<infer Target, InputEvent> | undefined;
9
9
  } ? Target extends HTMLElement ? Target : HTMLElement : HTMLElement;
10
10
  interface NumberFieldInputOwnProps<Component extends ValidComponent> {
11
11
  'aria-roledescription'?: string | undefined;
12
- onBlur?: BaseUIEventHandlerUnion<NumberFieldInputEventTarget<Component>, FocusEvent> | undefined;
13
- onFocus?: BaseUIEventHandlerUnion<NumberFieldInputEventTarget<Component>, FocusEvent> | undefined;
14
- onInput?: BaseUIEventHandlerUnion<NumberFieldInputEventTarget<Component>, InputEvent> | undefined;
12
+ onBlur?: JSX.FocusEventHandlerUnion<NumberFieldInputEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
13
+ onFocus?: JSX.FocusEventHandlerUnion<NumberFieldInputEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
14
+ onInput?: JSX.InputEventHandlerUnion<NumberFieldInputEventTarget<Component>, BaseUIEvent<InputEvent>> | undefined;
15
15
  onKeyDown?: BaseUIEventHandlerUnion<NumberFieldInputEventTarget<Component>, KeyboardEvent> | undefined;
16
16
  onPaste?: BaseUIEventHandlerUnion<NumberFieldInputEventTarget<Component>, ClipboardEvent> | undefined;
17
17
  }
@@ -1,11 +1,11 @@
1
- import { type JSX, type ValidComponent } from '@solidjs/web';
1
+ import { type ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  import type { SliderRootState } from '../root/SliderRoot.js';
4
4
  export interface SliderTrackState extends SliderRootState {
5
5
  }
6
6
  export type SliderTrackProps<Component extends ValidComponent = 'div'> = BaseUIComponentProps<Component, SliderTrackState>;
7
7
  /** Represents the full range of the slider. */
8
- export declare function SliderTrack<Component extends ValidComponent = 'div'>(props: SliderTrack.Props<Component>): JSX.Element;
8
+ export declare function SliderTrack<Component extends ValidComponent = 'div'>(props: SliderTrack.Props<Component>): import("@solidjs/web").JSX.Element;
9
9
  export declare namespace SliderTrack {
10
10
  type State = SliderTrackState;
11
11
  type Props<Component extends ValidComponent = 'div'> = SliderTrackProps<Component>;
@@ -1,14 +1,21 @@
1
- import type { JSX, ValidComponent } from '@solidjs/web';
2
- import type { BaseUIComponentProps } from '../../types/index.js';
1
+ import type { ComponentProps, JSX, ValidComponent } from '@solidjs/web';
2
+ import type { BaseUIComponentProps, BaseUIEvent } from '../../types/index.js';
3
3
  import type { ToolbarRootOrientation } from '../root/ToolbarRoot.js';
4
4
  export interface ToolbarLinkState {
5
5
  /** The direction in which toolbar items are arranged. */
6
6
  orientation: ToolbarRootOrientation;
7
7
  }
8
- export type ToolbarLinkProps<Component extends ValidComponent = 'a'> = BaseUIComponentProps<Component, ToolbarLinkState>;
8
+ type ToolbarLinkEventTarget<Component extends ValidComponent> = ComponentProps<Component> extends {
9
+ onFocus?: JSX.FocusEventHandlerUnion<infer Target, FocusEvent> | undefined;
10
+ } ? Target extends HTMLElement ? Target : HTMLElement : HTMLElement;
11
+ interface ToolbarLinkOwnProps<Component extends ValidComponent> {
12
+ onFocus?: JSX.FocusEventHandlerUnion<ToolbarLinkEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
13
+ }
14
+ export type ToolbarLinkProps<Component extends ValidComponent = 'a'> = BaseUIComponentProps<Component, ToolbarLinkState, ToolbarLinkOwnProps<Component>>;
9
15
  /** A native link that occupies one toolbar roving-focus slot. */
10
16
  export declare function ToolbarLink<Component extends ValidComponent = 'a'>(props: ToolbarLink.Props<Component>): JSX.Element;
11
17
  export declare namespace ToolbarLink {
12
18
  type State = ToolbarLinkState;
13
19
  type Props<Component extends ValidComponent = 'a'> = ToolbarLinkProps<Component>;
14
20
  }
21
+ export {};
@@ -1,6 +1,7 @@
1
- import type { JSX, ValidComponent } from '@solidjs/web';
1
+ import type { ComponentProps, JSX, ValidComponent } from '@solidjs/web';
2
+ import { type BaseUIEventHandlerUnion } from '../../internals/composeEventHandlers.js';
2
3
  import type { Orientation } from '../../internals/types.js';
3
- import type { BaseUIComponentProps } from '../../types/index.js';
4
+ import type { BaseUIComponentProps, BaseUIEvent } from '../../types/index.js';
4
5
  export interface ToolbarRootItemMetadata {
5
6
  disabled: boolean;
6
7
  focusableWhenDisabled: boolean;
@@ -12,12 +13,17 @@ export interface ToolbarRootState {
12
13
  /** The direction in which toolbar items are arranged. */
13
14
  orientation: ToolbarRootOrientation;
14
15
  }
15
- interface ToolbarRootOwnProps {
16
+ type ToolbarRootEventTarget<Component extends ValidComponent> = ComponentProps<Component> extends {
17
+ onKeyDown?: JSX.EventHandlerUnion<infer Target, KeyboardEvent> | undefined;
18
+ } ? Target extends HTMLElement ? Target : HTMLElement : HTMLElement;
19
+ interface ToolbarRootOwnProps<Component extends ValidComponent> {
16
20
  disabled?: boolean | undefined;
17
21
  loopFocus?: boolean | undefined;
18
22
  orientation?: ToolbarRootOrientation | undefined;
23
+ onFocusIn?: JSX.FocusEventHandlerUnion<ToolbarRootEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
24
+ onKeyDown?: BaseUIEventHandlerUnion<ToolbarRootEventTarget<Component>, KeyboardEvent> | undefined;
19
25
  }
20
- export type ToolbarRootProps<Component extends ValidComponent = 'div'> = BaseUIComponentProps<Component, ToolbarRootState, ToolbarRootOwnProps>;
26
+ export type ToolbarRootProps<Component extends ValidComponent = 'div'> = BaseUIComponentProps<Component, ToolbarRootState, ToolbarRootOwnProps<Component>>;
21
27
  /** A container for grouping a set of controls into one keyboard navigation scope. */
22
28
  export declare function ToolbarRoot<Component extends ValidComponent = 'div'>(props: ToolbarRoot.Props<Component>): JSX.Element;
23
29
  export declare namespace ToolbarRoot {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-baseui",
3
- "version": "0.1.0-alpha.1",
3
+ "version": "0.1.0-alpha.2",
4
4
  "description": "A native Solid 2 port of Base UI. Alpha: unannounced and unstable.",
5
5
  "type": "module",
6
6
  "module": "./dist/lib/client/index.js",