@simplybusiness/mobius 10.4.2 → 10.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/components/AddressLookup/AddressLookup.js +39 -36
  3. package/dist/cjs/components/AddressLookup/AddressLookup.js.map +3 -3
  4. package/dist/cjs/components/AddressLookup/index.js +39 -36
  5. package/dist/cjs/components/AddressLookup/index.js.map +3 -3
  6. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +3 -7
  7. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +2 -2
  8. package/dist/cjs/components/Breadcrumbs/index.js +3 -7
  9. package/dist/cjs/components/Breadcrumbs/index.js.map +2 -2
  10. package/dist/cjs/components/Combobox/Combobox.js +35 -32
  11. package/dist/cjs/components/Combobox/Combobox.js.map +3 -3
  12. package/dist/cjs/components/Combobox/index.js +35 -32
  13. package/dist/cjs/components/Combobox/index.js.map +3 -3
  14. package/dist/cjs/components/DateField/DateField.js +11 -8
  15. package/dist/cjs/components/DateField/DateField.js.map +3 -3
  16. package/dist/cjs/components/DateField/index.js +11 -8
  17. package/dist/cjs/components/DateField/index.js.map +3 -3
  18. package/dist/cjs/components/DropdownMenu/Item.js +3 -6
  19. package/dist/cjs/components/DropdownMenu/Item.js.map +2 -2
  20. package/dist/cjs/components/DropdownMenu/index.js +3 -6
  21. package/dist/cjs/components/DropdownMenu/index.js.map +2 -2
  22. package/dist/cjs/components/MaskedField/MaskedField.js +11 -8
  23. package/dist/cjs/components/MaskedField/MaskedField.js.map +3 -3
  24. package/dist/cjs/components/MaskedField/index.js +13 -10
  25. package/dist/cjs/components/MaskedField/index.js.map +3 -3
  26. package/dist/cjs/components/NumberField/NumberField.js +10 -7
  27. package/dist/cjs/components/NumberField/NumberField.js.map +3 -3
  28. package/dist/cjs/components/NumberField/index.js +10 -7
  29. package/dist/cjs/components/NumberField/index.js.map +3 -3
  30. package/dist/cjs/components/PasswordField/PasswordField.js +9 -6
  31. package/dist/cjs/components/PasswordField/PasswordField.js.map +3 -3
  32. package/dist/cjs/components/PasswordField/index.js +9 -6
  33. package/dist/cjs/components/PasswordField/index.js.map +3 -3
  34. package/dist/cjs/components/Popover/Arrow.js +43 -0
  35. package/dist/cjs/components/Popover/Arrow.js.map +7 -0
  36. package/dist/cjs/components/Popover/Popover.js +258 -83
  37. package/dist/cjs/components/Popover/Popover.js.map +4 -4
  38. package/dist/cjs/components/Popover/index.js +258 -83
  39. package/dist/cjs/components/Popover/index.js.map +4 -4
  40. package/dist/cjs/components/Popover/useAutoUpdate.js +53 -0
  41. package/dist/cjs/components/Popover/useAutoUpdate.js.map +7 -0
  42. package/dist/cjs/components/Popover/useFloatingPosition.js +128 -0
  43. package/dist/cjs/components/Popover/useFloatingPosition.js.map +7 -0
  44. package/dist/cjs/components/Popover/useOutsidePress.js +46 -0
  45. package/dist/cjs/components/Popover/useOutsidePress.js.map +7 -0
  46. package/dist/cjs/components/TextField/TextField.js +6 -3
  47. package/dist/cjs/components/TextField/TextField.js.map +3 -3
  48. package/dist/cjs/components/TextField/adornmentWithClassName.js +3 -2
  49. package/dist/cjs/components/TextField/adornmentWithClassName.js.map +2 -2
  50. package/dist/cjs/components/TextField/index.js +6 -3
  51. package/dist/cjs/components/TextField/index.js.map +3 -3
  52. package/dist/cjs/components/index.js +550 -377
  53. package/dist/cjs/components/index.js.map +4 -4
  54. package/dist/cjs/index.js +550 -377
  55. package/dist/cjs/index.js.map +4 -4
  56. package/dist/cjs/meta.json +490 -121
  57. package/dist/esm/chunk-26KZYRE6.js +108 -0
  58. package/dist/esm/chunk-26KZYRE6.js.map +7 -0
  59. package/dist/esm/{chunk-XNEQHHNV.js → chunk-5QMKPWB4.js} +2 -2
  60. package/dist/esm/{chunk-IQKS662C.js → chunk-6RDK3FM2.js} +5 -3
  61. package/dist/esm/chunk-6RDK3FM2.js.map +7 -0
  62. package/dist/esm/{chunk-4HI2AOBC.js → chunk-6TSYA7CJ.js} +4 -7
  63. package/dist/esm/{chunk-4HI2AOBC.js.map → chunk-6TSYA7CJ.js.map} +2 -2
  64. package/dist/esm/chunk-CAL44W47.js +23 -0
  65. package/dist/esm/chunk-CAL44W47.js.map +7 -0
  66. package/dist/esm/{chunk-PEEQNAIN.js → chunk-DMYDWKKA.js} +4 -4
  67. package/dist/esm/{chunk-IM3I5CZL.js → chunk-I6CFRGID.js} +4 -3
  68. package/dist/esm/{chunk-IM3I5CZL.js.map → chunk-I6CFRGID.js.map} +2 -2
  69. package/dist/esm/chunk-K3ECDAUR.js +33 -0
  70. package/dist/esm/chunk-K3ECDAUR.js.map +7 -0
  71. package/dist/esm/{chunk-GJBH37DH.js → chunk-KFHPI67N.js} +4 -4
  72. package/dist/esm/{chunk-OEDU5ZEA.js → chunk-KUH5AB5T.js} +2 -2
  73. package/dist/esm/{chunk-JFDDW3IV.js → chunk-P7TPNRU4.js} +4 -8
  74. package/dist/esm/{chunk-JFDDW3IV.js.map → chunk-P7TPNRU4.js.map} +2 -2
  75. package/dist/esm/{chunk-F5ELD54X.js → chunk-QNOBB5HT.js} +2 -2
  76. package/dist/esm/{chunk-GV36OVX7.js → chunk-R67C5QTH.js} +2 -2
  77. package/dist/esm/{chunk-S4CU4XRB.js → chunk-VGFVSRWH.js} +2 -2
  78. package/dist/esm/chunk-VZ3IWSK6.js +158 -0
  79. package/dist/esm/chunk-VZ3IWSK6.js.map +7 -0
  80. package/dist/esm/{chunk-X4CMSAET.js → chunk-WSQWMVA2.js} +2 -2
  81. package/dist/esm/chunk-WYJP7HVL.js +26 -0
  82. package/dist/esm/chunk-WYJP7HVL.js.map +7 -0
  83. package/dist/esm/{chunk-OAG5T7NC.js → chunk-XEP6X7JU.js} +5 -5
  84. package/dist/esm/chunk-XEP6X7JU.js.map +7 -0
  85. package/dist/esm/components/AddressLookup/AddressLookup.js +6 -6
  86. package/dist/esm/components/AddressLookup/index.js +8 -8
  87. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
  88. package/dist/esm/components/Breadcrumbs/index.js +3 -3
  89. package/dist/esm/components/Checkbox/index.js +1 -1
  90. package/dist/esm/components/Combobox/Combobox.js +5 -5
  91. package/dist/esm/components/Combobox/index.js +5 -5
  92. package/dist/esm/components/DateField/DateField.js +3 -3
  93. package/dist/esm/components/DateField/index.js +3 -3
  94. package/dist/esm/components/Drawer/index.js +3 -3
  95. package/dist/esm/components/DropdownMenu/Item.js +1 -1
  96. package/dist/esm/components/DropdownMenu/index.js +2 -2
  97. package/dist/esm/components/MaskedField/MaskedField.js +2 -2
  98. package/dist/esm/components/MaskedField/index.js +3 -3
  99. package/dist/esm/components/Modal/index.js +3 -3
  100. package/dist/esm/components/NumberField/NumberField.js +3 -3
  101. package/dist/esm/components/NumberField/index.js +3 -3
  102. package/dist/esm/components/PasswordField/PasswordField.js +3 -3
  103. package/dist/esm/components/PasswordField/index.js +3 -3
  104. package/dist/esm/components/Popover/Arrow.js +8 -0
  105. package/dist/esm/components/Popover/Arrow.js.map +7 -0
  106. package/dist/esm/components/Popover/Popover.js +5 -1
  107. package/dist/esm/components/Popover/index.js +5 -1
  108. package/dist/esm/components/Popover/useAutoUpdate.js +8 -0
  109. package/dist/esm/components/Popover/useAutoUpdate.js.map +7 -0
  110. package/dist/esm/components/Popover/useFloatingPosition.js +8 -0
  111. package/dist/esm/components/Popover/useFloatingPosition.js.map +7 -0
  112. package/dist/esm/components/Popover/useOutsidePress.js +8 -0
  113. package/dist/esm/components/Popover/useOutsidePress.js.map +7 -0
  114. package/dist/esm/components/TextField/TextField.js +2 -2
  115. package/dist/esm/components/TextField/adornmentWithClassName.js +1 -1
  116. package/dist/esm/components/TextField/index.js +2 -2
  117. package/dist/esm/components/index.js +81 -77
  118. package/dist/esm/index.js +81 -77
  119. package/dist/esm/meta.json +3495 -3149
  120. package/dist/tsconfig.build.tsbuildinfo +1 -1
  121. package/dist/types/components/Accordion/Accordion.d.ts +4 -4
  122. package/dist/types/components/Accordion/AccordionList.d.ts +4 -4
  123. package/dist/types/components/AddressLookup/AddressLookup.d.ts +4 -4
  124. package/dist/types/components/AddressLookup/LoqateAddressLookupService.d.ts +1 -1
  125. package/dist/types/components/Alert/Alert.d.ts +4 -4
  126. package/dist/types/components/Box/Box.d.ts +4 -4
  127. package/dist/types/components/Breadcrumbs/BreadcrumbItem.d.ts +4 -4
  128. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  129. package/dist/types/components/Button/Button.d.ts +4 -4
  130. package/dist/types/components/Checkbox/Checkbox.d.ts +4 -4
  131. package/dist/types/components/Checkbox/CheckboxGroup.d.ts +4 -4
  132. package/dist/types/components/Combobox/Combobox.d.ts +2 -5
  133. package/dist/types/components/Combobox/useComboboxOptions.d.ts +1 -1
  134. package/dist/types/components/Container/Container.d.ts +4 -4
  135. package/dist/types/components/DateField/DateField.d.ts +4 -4
  136. package/dist/types/components/Divider/Divider.d.ts +4 -4
  137. package/dist/types/components/Drawer/Content.d.ts +4 -4
  138. package/dist/types/components/Drawer/Drawer.d.ts +4 -4
  139. package/dist/types/components/Drawer/Header.d.ts +4 -4
  140. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +4 -4
  141. package/dist/types/components/DropdownMenu/Item.d.ts +4 -4
  142. package/dist/types/components/ErrorMessage/ErrorMessage.d.ts +4 -4
  143. package/dist/types/components/ExpandableText/ExpandableText.d.ts +4 -4
  144. package/dist/types/components/Fieldset/Fieldset.d.ts +4 -4
  145. package/dist/types/components/Flex/Flex.d.ts +4 -4
  146. package/dist/types/components/Grid/Grid.d.ts +4 -4
  147. package/dist/types/components/Grid/Item.d.ts +4 -4
  148. package/dist/types/components/Image/Image.d.ts +4 -4
  149. package/dist/types/components/Label/Label.d.ts +4 -4
  150. package/dist/types/components/Link/Link.d.ts +4 -4
  151. package/dist/types/components/List/List.d.ts +4 -4
  152. package/dist/types/components/List/ListItem.d.ts +4 -4
  153. package/dist/types/components/LoadingIndicator/LoadingIndicator.d.ts +4 -4
  154. package/dist/types/components/Logo/Logo.d.ts +4 -4
  155. package/dist/types/components/MaskedField/MaskedField.d.ts +4 -4
  156. package/dist/types/components/Modal/Content.d.ts +4 -4
  157. package/dist/types/components/Modal/Header.d.ts +4 -4
  158. package/dist/types/components/Modal/Modal.d.ts +4 -4
  159. package/dist/types/components/NumberField/NumberField.d.ts +4 -4
  160. package/dist/types/components/Option/Option.d.ts +4 -4
  161. package/dist/types/components/PasswordField/PasswordField.d.ts +4 -4
  162. package/dist/types/components/Popover/Arrow.d.ts +9 -0
  163. package/dist/types/components/Popover/useAutoUpdate.d.ts +9 -0
  164. package/dist/types/components/Popover/useFloatingPosition.d.ts +17 -0
  165. package/dist/types/components/Popover/useOutsidePress.d.ts +9 -0
  166. package/dist/types/components/Progress/Progress.d.ts +4 -4
  167. package/dist/types/components/Radio/Radio.d.ts +4 -4
  168. package/dist/types/components/Radio/RadioGroup.d.ts +4 -4
  169. package/dist/types/components/SVG/SVG.d.ts +4 -4
  170. package/dist/types/components/Segment/Segment.d.ts +4 -4
  171. package/dist/types/components/Segment/SegmentGroup.d.ts +4 -4
  172. package/dist/types/components/Select/Select.d.ts +4 -4
  173. package/dist/types/components/Stack/Stack.d.ts +4 -4
  174. package/dist/types/components/Switch/Switch.d.ts +4 -4
  175. package/dist/types/components/Table/Body.d.ts +4 -4
  176. package/dist/types/components/Table/Cell.d.ts +4 -4
  177. package/dist/types/components/Table/Foot.d.ts +4 -4
  178. package/dist/types/components/Table/Head.d.ts +4 -4
  179. package/dist/types/components/Table/HeaderCell.d.ts +4 -4
  180. package/dist/types/components/Table/Row.d.ts +4 -4
  181. package/dist/types/components/Table/Table.d.ts +4 -4
  182. package/dist/types/components/Text/Text.d.ts +4 -4
  183. package/dist/types/components/TextArea/TextArea.d.ts +4 -4
  184. package/dist/types/components/TextAreaInput/TextAreaInput.d.ts +4 -4
  185. package/dist/types/components/TextField/TextField.d.ts +1 -4
  186. package/dist/types/components/TextField/adornmentWithClassName.d.ts +3 -1
  187. package/dist/types/components/TextOrHTML/TextOrHTML.d.ts +4 -4
  188. package/dist/types/components/Title/Title.d.ts +4 -4
  189. package/dist/types/components/Toast/ToastOptionsDoc.d.ts +4 -8
  190. package/dist/types/components/Toast/Toaster.d.ts +4 -4
  191. package/dist/types/hooks/useButton/useButton.d.ts +5 -5
  192. package/dist/types/hooks/useLabel/useLabel.d.ts +1 -1
  193. package/package.json +11 -11
  194. package/src/components/Box/Box.test.tsx +1 -2
  195. package/src/components/Breadcrumbs/Breadcrumbs.tsx +3 -7
  196. package/src/components/Button/Button.stories.tsx +1 -1
  197. package/src/components/Combobox/Combobox.tsx +2 -4
  198. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +1 -1
  199. package/src/components/DropdownMenu/Item.tsx +3 -6
  200. package/src/components/Grid/Grid.stories.tsx +1 -1
  201. package/src/components/Popover/Arrow.tsx +25 -0
  202. package/src/components/Popover/Popover.characterization.test.tsx +269 -0
  203. package/src/components/Popover/Popover.stories.tsx +40 -3
  204. package/src/components/Popover/Popover.test.tsx +6 -2
  205. package/src/components/Popover/Popover.tsx +87 -81
  206. package/src/components/Popover/useAutoUpdate.ts +43 -0
  207. package/src/components/Popover/useFloatingPosition.ts +177 -0
  208. package/src/components/Popover/useOutsidePress.ts +31 -0
  209. package/src/components/TextField/TextField.tsx +3 -1
  210. package/src/components/TextField/adornmentWithClassName.ts +4 -3
  211. package/src/hooks/useBreakpoint/useBreakpoint.test.tsx +4 -4
  212. package/src/styles.d.ts +2 -0
  213. package/dist/esm/chunk-IQKS662C.js.map +0 -7
  214. package/dist/esm/chunk-O5YEU5TG.js +0 -155
  215. package/dist/esm/chunk-O5YEU5TG.js.map +0 -7
  216. package/dist/esm/chunk-OAG5T7NC.js.map +0 -7
  217. /package/dist/esm/{chunk-XNEQHHNV.js.map → chunk-5QMKPWB4.js.map} +0 -0
  218. /package/dist/esm/{chunk-PEEQNAIN.js.map → chunk-DMYDWKKA.js.map} +0 -0
  219. /package/dist/esm/{chunk-GJBH37DH.js.map → chunk-KFHPI67N.js.map} +0 -0
  220. /package/dist/esm/{chunk-OEDU5ZEA.js.map → chunk-KUH5AB5T.js.map} +0 -0
  221. /package/dist/esm/{chunk-F5ELD54X.js.map → chunk-QNOBB5HT.js.map} +0 -0
  222. /package/dist/esm/{chunk-GV36OVX7.js.map → chunk-R67C5QTH.js.map} +0 -0
  223. /package/dist/esm/{chunk-S4CU4XRB.js.map → chunk-VGFVSRWH.js.map} +0 -0
  224. /package/dist/esm/{chunk-X4CMSAET.js.map → chunk-WSQWMVA2.js.map} +0 -0
@@ -17,8 +17,8 @@ export interface ProgressProps extends Omit<AriaProgressBarProps, "label">, DOMP
17
17
  maxValue?: number;
18
18
  valueFormatter?: (value: number, minValue: number, maxValue: number) => string;
19
19
  }
20
- declare const Progress: {
21
- ({ ref, ...props }: ProgressProps): import("react/jsx-runtime").JSX.Element | null;
22
- displayName: string;
23
- };
20
+ declare function Progress({ ref, ...props }: ProgressProps): import("react/jsx-runtime").JSX.Element | null;
21
+ declare namespace Progress {
22
+ var displayName: string;
23
+ }
24
24
  export { Progress };
@@ -51,8 +51,8 @@ export interface RadioProps extends DOMProps, AriaRadioProps, RefAttributes<Radi
51
51
  */
52
52
  orientation?: "horizontal" | "vertical";
53
53
  }
54
- declare const Radio: {
55
- ({ ref, ...props }: RadioProps): import("react/jsx-runtime").JSX.Element;
56
- displayName: string;
57
- };
54
+ declare function Radio({ ref, ...props }: RadioProps): import("react/jsx-runtime").JSX.Element;
55
+ declare namespace Radio {
56
+ var displayName: string;
57
+ }
58
58
  export { Radio };
@@ -30,8 +30,8 @@ export interface RadioGroupProps extends DOMProps, Validation, RefAttributes<Rad
30
30
  value?: string;
31
31
  name?: string;
32
32
  }
33
- declare const RadioGroup: {
34
- ({ ref, ...props }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
35
- displayName: string;
36
- };
33
+ declare function RadioGroup({ ref, ...props }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
34
+ declare namespace RadioGroup {
35
+ var displayName: string;
36
+ }
37
37
  export { RadioGroup };
@@ -9,8 +9,8 @@ export interface SVGProps extends DOMProps, RefAttributes<SVGSVGElement> {
9
9
  "aria-hidden"?: boolean | "true" | "false";
10
10
  "aria-labelledby"?: string;
11
11
  }
12
- declare const SVG: {
13
- ({ ref, ...props }: SVGProps): import("react/jsx-runtime").JSX.Element;
14
- displayName: string;
15
- };
12
+ declare function SVG({ ref, ...props }: SVGProps): import("react/jsx-runtime").JSX.Element;
13
+ declare namespace SVG {
14
+ var displayName: string;
15
+ }
16
16
  export { SVG };
@@ -11,8 +11,8 @@ export interface SegmentProps extends DOMProps, RefAttributes<SegmentElementType
11
11
  inverted?: boolean;
12
12
  children?: ReactNode;
13
13
  }
14
- declare const Segment: {
15
- ({ ref, ...props }: SegmentProps): import("react/jsx-runtime").JSX.Element;
16
- displayName: string;
17
- };
14
+ declare function Segment({ ref, ...props }: SegmentProps): import("react/jsx-runtime").JSX.Element;
15
+ declare namespace Segment {
16
+ var displayName: string;
17
+ }
18
18
  export { Segment };
@@ -6,8 +6,8 @@ export interface SegmentGroupProps extends DOMProps {
6
6
  gap?: "size-xs" | "size-s" | "size-m" | "size-l" | "size-xl" | "size-xxl";
7
7
  children?: ReactNode;
8
8
  }
9
- declare const SegmentGroup: {
10
- (props: SegmentGroupProps): import("react/jsx-runtime").JSX.Element;
11
- displayName: string;
12
- };
9
+ declare function SegmentGroup(props: SegmentGroupProps): import("react/jsx-runtime").JSX.Element;
10
+ declare namespace SegmentGroup {
11
+ var displayName: string;
12
+ }
13
13
  export { SegmentGroup };
@@ -15,8 +15,8 @@ export interface SelectProps extends UseLabelProps, Validation, DOMProps, RefAtt
15
15
  "aria-describedby"?: string;
16
16
  isDisabled?: boolean;
17
17
  }
18
- declare const Select: {
19
- ({ ref, ...props }: SelectProps): import("react/jsx-runtime").JSX.Element;
20
- displayName: string;
21
- };
18
+ declare function Select({ ref, ...props }: SelectProps): import("react/jsx-runtime").JSX.Element;
19
+ declare namespace Select {
20
+ var displayName: string;
21
+ }
22
22
  export { Select };
@@ -13,7 +13,7 @@ export interface StackProps extends DOMProps, RefAttributes<StackElementType> {
13
13
  elementType?: React.ElementType;
14
14
  }
15
15
  export type StackRef = Ref<StackElementType>;
16
- export declare const Stack: {
17
- ({ ref, ...props }: StackProps): import("react/jsx-runtime").JSX.Element;
18
- displayName: string;
19
- };
16
+ export declare function Stack({ ref, ...props }: StackProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare namespace Stack {
18
+ var displayName: string;
19
+ }
@@ -9,8 +9,8 @@ export interface SwitchProps extends DOMProps, RefAttributes<SwitchElementType>
9
9
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
10
10
  isDisabled?: boolean;
11
11
  }
12
- declare const Switch: {
13
- ({ ref, ...props }: SwitchProps): import("react/jsx-runtime").JSX.Element;
14
- displayName: string;
15
- };
12
+ declare function Switch({ ref, ...props }: SwitchProps): import("react/jsx-runtime").JSX.Element;
13
+ declare namespace Switch {
14
+ var displayName: string;
15
+ }
16
16
  export { Switch };
@@ -4,8 +4,8 @@ export interface BodyProps extends RefAttributes<HTMLTableSectionElement> {
4
4
  className?: string;
5
5
  }
6
6
  export type BodyRef = Ref<HTMLTableSectionElement>;
7
- declare const Body: {
8
- ({ ref, ...props }: BodyProps): import("react/jsx-runtime").JSX.Element;
9
- displayName: string;
10
- };
7
+ declare function Body({ ref, ...props }: BodyProps): import("react/jsx-runtime").JSX.Element;
8
+ declare namespace Body {
9
+ var displayName: string;
10
+ }
11
11
  export { Body };
@@ -6,8 +6,8 @@ export interface CellProps extends RefAttributes<HTMLTableCellElement> {
6
6
  rowSpan?: number;
7
7
  }
8
8
  export type CellRef = Ref<HTMLTableCellElement>;
9
- declare const Cell: {
10
- ({ ref, ...props }: CellProps): import("react/jsx-runtime").JSX.Element;
11
- displayName: string;
12
- };
9
+ declare function Cell({ ref, ...props }: CellProps): import("react/jsx-runtime").JSX.Element;
10
+ declare namespace Cell {
11
+ var displayName: string;
12
+ }
13
13
  export { Cell };
@@ -4,8 +4,8 @@ export interface FootProps extends RefAttributes<HTMLTableSectionElement> {
4
4
  className?: string;
5
5
  }
6
6
  export type FootRef = Ref<HTMLTableSectionElement>;
7
- declare const Foot: {
8
- ({ ref, ...props }: FootProps): import("react/jsx-runtime").JSX.Element;
9
- displayName: string;
10
- };
7
+ declare function Foot({ ref, ...props }: FootProps): import("react/jsx-runtime").JSX.Element;
8
+ declare namespace Foot {
9
+ var displayName: string;
10
+ }
11
11
  export { Foot };
@@ -4,8 +4,8 @@ export interface HeadProps extends RefAttributes<HTMLTableSectionElement> {
4
4
  className?: string;
5
5
  }
6
6
  export type HeadRef = Ref<HTMLTableSectionElement>;
7
- declare const Head: {
8
- ({ ref, ...props }: HeadProps): import("react/jsx-runtime").JSX.Element;
9
- displayName: string;
10
- };
7
+ declare function Head({ ref, ...props }: HeadProps): import("react/jsx-runtime").JSX.Element;
8
+ declare namespace Head {
9
+ var displayName: string;
10
+ }
11
11
  export { Head };
@@ -7,8 +7,8 @@ export interface HeaderCellProps extends RefAttributes<HTMLTableCellElement> {
7
7
  scope?: "col" | "row" | "colgroup" | "rowgroup";
8
8
  }
9
9
  export type HeaderCellRef = Ref<HTMLTableCellElement>;
10
- declare const HeaderCell: {
11
- ({ ref, scope, ...props }: HeaderCellProps): import("react/jsx-runtime").JSX.Element;
12
- displayName: string;
13
- };
10
+ declare function HeaderCell({ ref, scope, ...props }: HeaderCellProps): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace HeaderCell {
12
+ var displayName: string;
13
+ }
14
14
  export { HeaderCell };
@@ -4,8 +4,8 @@ export interface RowProps extends RefAttributes<HTMLTableRowElement> {
4
4
  className?: string;
5
5
  }
6
6
  export type RowRef = Ref<HTMLTableRowElement>;
7
- declare const Row: {
8
- ({ ref, ...props }: RowProps): import("react/jsx-runtime").JSX.Element;
9
- displayName: string;
10
- };
7
+ declare function Row({ ref, ...props }: RowProps): import("react/jsx-runtime").JSX.Element;
8
+ declare namespace Row {
9
+ var displayName: string;
10
+ }
11
11
  export { Row };
@@ -7,8 +7,8 @@ export interface TableProps extends DOMProps, RefAttributes<TableElementType> {
7
7
  className?: string;
8
8
  }
9
9
  export type TableRef = Ref<TableElementType>;
10
- declare const Table: {
11
- ({ ref, ...props }: TableProps): import("react/jsx-runtime").JSX.Element;
12
- displayName: string;
13
- };
10
+ declare function Table({ ref, ...props }: TableProps): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace Table {
12
+ var displayName: string;
13
+ }
14
14
  export { Table };
@@ -17,8 +17,8 @@ export interface TextProps extends DOMProps, RefAttributes<TextElementType> {
17
17
  style?: React.CSSProperties;
18
18
  }
19
19
  export declare const getElementType: (variant: TextVariantType | undefined, elementType: ElementType | undefined) => ElementType;
20
- declare const Text: {
21
- ({ ref, elementType, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
22
- displayName: string;
23
- };
20
+ declare function Text({ ref, elementType, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
21
+ declare namespace Text {
22
+ var displayName: string;
23
+ }
24
24
  export { Text };
@@ -7,8 +7,8 @@ export interface TextAreaProps extends UseTextFieldProps, DOMProps, RefAttribute
7
7
  className?: string;
8
8
  errorMessage?: string;
9
9
  }
10
- declare const TextArea: {
11
- ({ ref, ...props }: TextAreaProps): import("react/jsx-runtime").JSX.Element;
12
- displayName: string;
13
- };
10
+ declare function TextArea({ ref, ...props }: TextAreaProps): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace TextArea {
12
+ var displayName: string;
13
+ }
14
14
  export { TextArea };
@@ -10,8 +10,8 @@ export interface TextAreaInputProps extends DOMProps, InteractionStateProps, Ref
10
10
  isReadOnly?: boolean;
11
11
  isRequired?: boolean;
12
12
  }
13
- declare const TextAreaInput: {
14
- ({ ref, ...props }: TextAreaInputProps): import("react/jsx-runtime").JSX.Element;
15
- displayName: string;
16
- };
13
+ declare function TextAreaInput({ ref, ...props }: TextAreaInputProps): import("react/jsx-runtime").JSX.Element;
14
+ declare namespace TextAreaInput {
15
+ var displayName: string;
16
+ }
17
17
  export { TextAreaInput };
@@ -15,8 +15,5 @@ export interface TextFieldProps extends DOMProps, FocusEvents, UseTextFieldProps
15
15
  suffixOutside?: ReactElement;
16
16
  }
17
17
  export type TextFieldRef = Ref<TextFieldElementType>;
18
- declare const TextField: {
19
- ({ ref, ...props }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
20
- displayName: string;
21
- };
18
+ declare const TextField: import("react").MemoExoticComponent<({ ref, ...props }: TextFieldProps) => import("react/jsx-runtime").JSX.Element>;
22
19
  export { TextField };
@@ -1,2 +1,4 @@
1
1
  import type { ReactElement } from "react";
2
- export declare const adornmentWithClassName: (component?: ReactElement, validationClasses?: string, className?: string) => ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
2
+ export declare const adornmentWithClassName: (component?: ReactElement, validationClasses?: string, className?: string) => ReactElement<{
3
+ className?: string;
4
+ }, string | import("react").JSXElementConstructor<any>> | null;
@@ -13,8 +13,8 @@ export interface TextOrHTMLProps extends Omit<TextProps, "children">, RefAttribu
13
13
  /** If true, auto-detects whether text is HTML or plain text to determine wrapping and element type */
14
14
  autoDetect?: boolean;
15
15
  }
16
- declare const TextOrHTML: {
17
- ({ ref, text, htmlClassName, htmlElementType, textWrapper, autoDetect, ...textProps }: TextOrHTMLProps): import("react/jsx-runtime").JSX.Element;
18
- displayName: string;
19
- };
16
+ declare function TextOrHTML({ ref, text, htmlClassName, htmlElementType, textWrapper, autoDetect, ...textProps }: TextOrHTMLProps): import("react/jsx-runtime").JSX.Element;
17
+ declare namespace TextOrHTML {
18
+ var displayName: string;
19
+ }
20
20
  export { TextOrHTML };
@@ -10,8 +10,8 @@ export interface TitleProps extends DOMProps, RefAttributes<TitleElementType> {
10
10
  title: string;
11
11
  description: string;
12
12
  }
13
- declare const Title: {
14
- ({ ref, ...props }: TitleProps): import("react/jsx-runtime").JSX.Element;
15
- displayName: string;
16
- };
13
+ declare function Title({ ref, ...props }: TitleProps): import("react/jsx-runtime").JSX.Element;
14
+ declare namespace Title {
15
+ var displayName: string;
16
+ }
17
17
  export { Title };
@@ -1,9 +1,5 @@
1
1
  import type { ToastOptions } from "./types";
2
- /**
3
- * Documentation-only component for ToastOptions.
4
- * Exists solely to provide ArgTypes for the toast() function options.
5
- */
6
- export declare const ToastOptionsDoc: {
7
- (_props: ToastOptions): null;
8
- displayName: string;
9
- };
2
+ export declare function ToastOptionsDoc(_props: ToastOptions): null;
3
+ export declare namespace ToastOptionsDoc {
4
+ var displayName: string;
5
+ }
@@ -13,7 +13,7 @@ export interface ToasterProps {
13
13
  /** Gap between toasts in pixels */
14
14
  gap?: number;
15
15
  }
16
- export declare const Toaster: {
17
- ({ position, closeButton, expand, duration, visibleToasts, gap, }: ToasterProps): import("react/jsx-runtime").JSX.Element;
18
- displayName: string;
19
- };
16
+ export declare function Toaster({ position, closeButton, expand, duration, visibleToasts, gap }: ToasterProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare namespace Toaster {
18
+ var displayName: string;
19
+ }
@@ -12,10 +12,9 @@ export interface UseButtonProps {
12
12
  name?: string | undefined;
13
13
  value?: string | undefined;
14
14
  }
15
- export declare function useButton({ elementType, type, isDisabled, href, target, rel, role, name, value, onClick, onPress, }: UseButtonProps): {
15
+ export declare function useButton({ elementType, type, isDisabled, href, target, rel, role, name, value, onClick, onPress }: UseButtonProps): {
16
16
  buttonProps: {
17
- onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
18
- type: "reset" | "submit" | "button";
17
+ type: "button" | "reset" | "submit";
19
18
  role?: undefined;
20
19
  href: string | undefined;
21
20
  target: string | undefined;
@@ -25,10 +24,10 @@ export declare function useButton({ elementType, type, isDisabled, href, target,
25
24
  "aria-disabled": true | undefined;
26
25
  name: string | undefined;
27
26
  value: string | undefined;
28
- } | {
29
27
  onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
30
- role: string | undefined;
28
+ } | {
31
29
  type?: undefined;
30
+ role: string | undefined;
32
31
  href: string | undefined;
33
32
  target: string | undefined;
34
33
  rel: string | undefined;
@@ -37,5 +36,6 @@ export declare function useButton({ elementType, type, isDisabled, href, target,
37
36
  "aria-disabled": true | undefined;
38
37
  name: string | undefined;
39
38
  value: string | undefined;
39
+ onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
40
40
  };
41
41
  };
@@ -19,7 +19,7 @@ export type LabellingProps = {
19
19
  "aria-describedby"?: string | undefined;
20
20
  "aria-details"?: string | undefined;
21
21
  };
22
- export declare function useLabel({ id: providedId, label, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, labelElementType, }: UseLabelProps): {
22
+ export declare function useLabel({ id: providedId, label, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, labelElementType }: UseLabelProps): {
23
23
  labelProps: {
24
24
  id?: string | undefined;
25
25
  } & LabelHTMLAttributes<HTMLLabelElement>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simplybusiness/mobius",
3
3
  "license": "UNLICENSED",
4
- "version": "10.4.2",
4
+ "version": "10.4.4",
5
5
  "description": "Core library of Mobius react components",
6
6
  "repository": {
7
7
  "type": "git",
@@ -47,12 +47,12 @@
47
47
  "turbo:build": "yarn build:esm && yarn build:cjs && yarn build:types",
48
48
  "build:esm": "build-package esm",
49
49
  "build:cjs": "build-package cjs",
50
- "build:types": "tsc --emitDeclarationOnly --project tsconfig.build.json",
50
+ "build:types": "tsgo --emitDeclarationOnly --project tsconfig.build.json",
51
51
  "lint": "eslint . --cache",
52
52
  "lint:fix": "eslint . --fix",
53
53
  "test": "vitest run",
54
54
  "test:coverage": "vitest run --coverage",
55
- "check-types": "tsc --noEmit --pretty",
55
+ "check-types": "tsgo --pretty",
56
56
  "size": "turbo run turbo:size --",
57
57
  "turbo:size": "yarn workspace @simplybusiness/bundle-checker start",
58
58
  "lint:css": "lint-css",
@@ -68,8 +68,8 @@
68
68
  "@eslint/js": "^9.39.3",
69
69
  "@react-types/progress": "^3.5.18",
70
70
  "@simplybusiness/build-scripts": "^3.0.0",
71
- "@simplybusiness/eslint-config": "^2.0.5",
72
- "@simplybusiness/eslint-plugin": "^1.3.1",
71
+ "@simplybusiness/eslint-config": "^2.0.6",
72
+ "@simplybusiness/eslint-plugin": "^1.3.2",
73
73
  "@testing-library/dom": "^10.4.1",
74
74
  "@testing-library/jest-dom": "6.9.1",
75
75
  "@testing-library/react": "^16.3.2",
@@ -78,8 +78,9 @@
78
78
  "@types/node": "^25.3.3",
79
79
  "@types/react": "^19.2.14",
80
80
  "@types/react-dom": "^19.2.3",
81
- "@typescript-eslint/eslint-plugin": "^8.56.1",
82
- "@typescript-eslint/parser": "^8.56.1",
81
+ "@typescript-eslint/eslint-plugin": "^8.59.0",
82
+ "@typescript-eslint/parser": "^8.59.0",
83
+ "@typescript/native-preview": "7.0.0-dev.20260421.2",
83
84
  "@vitest/coverage-v8": "^4.0.18",
84
85
  "csstype": "^3.2.3",
85
86
  "eslint": "^9.39.3",
@@ -88,7 +89,7 @@
88
89
  "react": "^19.2.4",
89
90
  "react-dom": "^19.2.4",
90
91
  "tslib": "^2.8.1",
91
- "typescript": "^5.9.3",
92
+ "typescript": "^6.0.3",
92
93
  "vitest": "^4.0.18"
93
94
  },
94
95
  "peerDependencies": {
@@ -96,10 +97,9 @@
96
97
  "react-dom": "^19.2.0"
97
98
  },
98
99
  "dependencies": {
99
- "@floating-ui/react": "^0.27.19",
100
100
  "@loadable/component": "^5.16.7",
101
- "@simplybusiness/icons": "^5.1.0",
102
- "@simplybusiness/mobius-hooks": "^0.2.0",
101
+ "@simplybusiness/icons": "^5.1.1",
102
+ "@simplybusiness/mobius-hooks": "^0.2.1",
103
103
  "classnames": "^2.5.1",
104
104
  "dialog-polyfill": "^0.5.6",
105
105
  "react-accessible-dropdown-menu-hook": "^4.0.1",
@@ -1,6 +1,5 @@
1
1
  import { createRef } from "react";
2
2
  import { render } from "@testing-library/react";
3
- import type { CSSProperties } from "react";
4
3
  import { Box } from ".";
5
4
 
6
5
  const CLASS_NAME = "mobius-box";
@@ -221,7 +220,7 @@ describe("Box", () => {
221
220
 
222
221
  it("does not remove prop padding when style padding is undefined", () => {
223
222
  const { container } = render(
224
- <Box padding={50} style={{ padding: undefined } as CSSProperties} />,
223
+ <Box padding={50} style={{ padding: undefined }} />,
225
224
  );
226
225
 
227
226
  expect(container.firstChild).toHaveStyle({ padding: "50px" });
@@ -31,13 +31,9 @@ const Breadcrumbs = ({ ref, ...props }: BreadcrumbsProps) => {
31
31
  <nav ref={ref} {...otherProps} {...navProps} className={classes}>
32
32
  <ul>
33
33
  {childArray.map((child, i) =>
34
- cloneElement(
35
- child as ReactElement,
36
- {
37
- key: i,
38
- isCurrent: i === childArray.length - 1,
39
- } as { key: number; isCurrent: boolean },
40
- ),
34
+ cloneElement(child as ReactElement<{ isCurrent?: boolean }>, {
35
+ isCurrent: i === childArray.length - 1,
36
+ }),
41
37
  )}
42
38
  </ul>
43
39
  </nav>
@@ -5,7 +5,7 @@ import type { ButtonProps } from "./Button";
5
5
  import { Button } from "./Button";
6
6
  import { Icon } from "../Icon";
7
7
  import { excludeControls } from "../../utils";
8
- // eslint-disable-next-line no-restricted-imports -- story-only styles
8
+
9
9
  import "./Button.story.styles.css";
10
10
 
11
11
  type StoryType = StoryObj<typeof Button>;
@@ -7,7 +7,7 @@ import { useBreakpoint } from "../../hooks";
7
7
  import { TextField } from "../TextField";
8
8
  import { VisuallyHidden } from "../VisuallyHidden";
9
9
  import { Listbox } from "./Listbox"; // Import Listbox component
10
- import type { ComboboxOption, ComboboxProps, ComboboxRef } from "./types";
10
+ import type { ComboboxOption, ComboboxProps } from "./types";
11
11
  import { useComboboxHighlight } from "./useComboboxHighlight";
12
12
  import { useComboboxOptions } from "./useComboboxOptions";
13
13
  import { getOptionLabel, getOptionValue, isOptionGroup } from "./utils";
@@ -406,6 +406,4 @@ const ComboboxInner = <T extends ComboboxOption>({
406
406
  );
407
407
  };
408
408
 
409
- export const Combobox = ComboboxInner as <T extends ComboboxOption>(
410
- props: ComboboxProps<T> & { ref?: ComboboxRef },
411
- ) => React.JSX.Element;
409
+ export const Combobox = ComboboxInner;
@@ -7,7 +7,7 @@ import { DropdownMenu } from ".";
7
7
  import { excludeControls } from "../../utils";
8
8
  import { StoryContainer } from "../../utils/StoryContainer";
9
9
  import { Icon } from "../Icon";
10
- // eslint-disable-next-line no-restricted-imports -- story-only styles
10
+
11
11
  import "./DropdownMenu.story.styles.css";
12
12
 
13
13
  type StoryType = StoryObj<typeof DropdownMenu>;
@@ -39,12 +39,9 @@ const Item = ({ ref, ...props }: ItemProps) => {
39
39
  (child.props as { className?: string }).className,
40
40
  classes,
41
41
  );
42
- return cloneElement(
43
- child as ReactElement,
44
- {
45
- className: childClasses,
46
- } as { className: string },
47
- );
42
+ return cloneElement(child as ReactElement<{ className?: string }>, {
43
+ className: childClasses,
44
+ });
48
45
  }
49
46
 
50
47
  return <span className={classes}>{child}</span>;
@@ -6,7 +6,7 @@ import { Box } from "../Box";
6
6
  import { Flex } from "../Flex";
7
7
  import type { GridItem } from "./Item";
8
8
  import { sizeOptions } from "../../utils";
9
- // eslint-disable-next-line no-restricted-imports -- story-only styles
9
+
10
10
  import "./Grid.story.styles.css";
11
11
 
12
12
  type StoryType = StoryObj<typeof Grid>;
@@ -0,0 +1,25 @@
1
+ import type { CSSProperties, Ref } from "react";
2
+
3
+ interface ArrowProps {
4
+ ref?: Ref<SVGSVGElement>;
5
+ width?: number;
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ }
9
+
10
+ export const Arrow = ({ ref, width = 20, className, style }: ArrowProps) => {
11
+ const height = width / 2;
12
+ return (
13
+ <svg
14
+ ref={ref}
15
+ className={className}
16
+ aria-hidden="true"
17
+ width={width}
18
+ height={height}
19
+ viewBox={`0 0 ${width} ${height}`}
20
+ style={style}
21
+ >
22
+ <path d={`M0,0 H${width} L${width / 2},${height} Z`} />
23
+ </svg>
24
+ );
25
+ };