@simplybusiness/mobius 10.4.3 → 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 (171) hide show
  1. package/CHANGELOG.md +10 -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/TextField/TextField.js +6 -3
  35. package/dist/cjs/components/TextField/TextField.js.map +3 -3
  36. package/dist/cjs/components/TextField/adornmentWithClassName.js +3 -2
  37. package/dist/cjs/components/TextField/adornmentWithClassName.js.map +2 -2
  38. package/dist/cjs/components/TextField/index.js +6 -3
  39. package/dist/cjs/components/TextField/index.js.map +3 -3
  40. package/dist/cjs/components/index.js +198 -202
  41. package/dist/cjs/components/index.js.map +3 -3
  42. package/dist/cjs/index.js +198 -202
  43. package/dist/cjs/index.js.map +3 -3
  44. package/dist/cjs/meta.json +178 -93
  45. package/dist/esm/{chunk-XNEQHHNV.js → chunk-5QMKPWB4.js} +2 -2
  46. package/dist/esm/{chunk-IQKS662C.js → chunk-6RDK3FM2.js} +5 -3
  47. package/dist/esm/chunk-6RDK3FM2.js.map +7 -0
  48. package/dist/esm/{chunk-4HI2AOBC.js → chunk-6TSYA7CJ.js} +4 -7
  49. package/dist/esm/{chunk-4HI2AOBC.js.map → chunk-6TSYA7CJ.js.map} +2 -2
  50. package/dist/esm/{chunk-IM3I5CZL.js → chunk-I6CFRGID.js} +4 -3
  51. package/dist/esm/{chunk-IM3I5CZL.js.map → chunk-I6CFRGID.js.map} +2 -2
  52. package/dist/esm/{chunk-OEDU5ZEA.js → chunk-KUH5AB5T.js} +2 -2
  53. package/dist/esm/{chunk-JFDDW3IV.js → chunk-P7TPNRU4.js} +4 -8
  54. package/dist/esm/{chunk-JFDDW3IV.js.map → chunk-P7TPNRU4.js.map} +2 -2
  55. package/dist/esm/{chunk-LGZWQZLS.js → chunk-QNOBB5HT.js} +2 -2
  56. package/dist/esm/{chunk-GV36OVX7.js → chunk-R67C5QTH.js} +2 -2
  57. package/dist/esm/{chunk-S4CU4XRB.js → chunk-VGFVSRWH.js} +2 -2
  58. package/dist/esm/{chunk-X4CMSAET.js → chunk-WSQWMVA2.js} +2 -2
  59. package/dist/esm/{chunk-NEFRXIFY.js → chunk-XEP6X7JU.js} +2 -2
  60. package/dist/esm/chunk-XEP6X7JU.js.map +7 -0
  61. package/dist/esm/components/AddressLookup/AddressLookup.js +4 -4
  62. package/dist/esm/components/AddressLookup/index.js +4 -4
  63. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +1 -1
  64. package/dist/esm/components/Breadcrumbs/index.js +1 -1
  65. package/dist/esm/components/Combobox/Combobox.js +3 -3
  66. package/dist/esm/components/Combobox/index.js +3 -3
  67. package/dist/esm/components/DateField/DateField.js +3 -3
  68. package/dist/esm/components/DateField/index.js +3 -3
  69. package/dist/esm/components/DropdownMenu/Item.js +1 -1
  70. package/dist/esm/components/DropdownMenu/index.js +2 -2
  71. package/dist/esm/components/MaskedField/MaskedField.js +2 -2
  72. package/dist/esm/components/MaskedField/index.js +3 -3
  73. package/dist/esm/components/NumberField/NumberField.js +3 -3
  74. package/dist/esm/components/NumberField/index.js +3 -3
  75. package/dist/esm/components/PasswordField/PasswordField.js +3 -3
  76. package/dist/esm/components/PasswordField/index.js +3 -3
  77. package/dist/esm/components/TextField/TextField.js +2 -2
  78. package/dist/esm/components/TextField/adornmentWithClassName.js +1 -1
  79. package/dist/esm/components/TextField/index.js +2 -2
  80. package/dist/esm/components/index.js +11 -11
  81. package/dist/esm/index.js +11 -11
  82. package/dist/esm/meta.json +127 -117
  83. package/dist/tsconfig.build.tsbuildinfo +1 -1
  84. package/dist/types/components/Accordion/Accordion.d.ts +4 -4
  85. package/dist/types/components/Accordion/AccordionList.d.ts +4 -4
  86. package/dist/types/components/AddressLookup/AddressLookup.d.ts +4 -4
  87. package/dist/types/components/AddressLookup/LoqateAddressLookupService.d.ts +1 -1
  88. package/dist/types/components/Alert/Alert.d.ts +4 -4
  89. package/dist/types/components/Box/Box.d.ts +4 -4
  90. package/dist/types/components/Breadcrumbs/BreadcrumbItem.d.ts +4 -4
  91. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  92. package/dist/types/components/Button/Button.d.ts +4 -4
  93. package/dist/types/components/Checkbox/Checkbox.d.ts +4 -4
  94. package/dist/types/components/Checkbox/CheckboxGroup.d.ts +4 -4
  95. package/dist/types/components/Combobox/Combobox.d.ts +2 -5
  96. package/dist/types/components/Combobox/useComboboxOptions.d.ts +1 -1
  97. package/dist/types/components/Container/Container.d.ts +4 -4
  98. package/dist/types/components/DateField/DateField.d.ts +4 -4
  99. package/dist/types/components/Divider/Divider.d.ts +4 -4
  100. package/dist/types/components/Drawer/Content.d.ts +4 -4
  101. package/dist/types/components/Drawer/Drawer.d.ts +4 -4
  102. package/dist/types/components/Drawer/Header.d.ts +4 -4
  103. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +4 -4
  104. package/dist/types/components/DropdownMenu/Item.d.ts +4 -4
  105. package/dist/types/components/ErrorMessage/ErrorMessage.d.ts +4 -4
  106. package/dist/types/components/ExpandableText/ExpandableText.d.ts +4 -4
  107. package/dist/types/components/Fieldset/Fieldset.d.ts +4 -4
  108. package/dist/types/components/Flex/Flex.d.ts +4 -4
  109. package/dist/types/components/Grid/Grid.d.ts +4 -4
  110. package/dist/types/components/Grid/Item.d.ts +4 -4
  111. package/dist/types/components/Image/Image.d.ts +4 -4
  112. package/dist/types/components/Label/Label.d.ts +4 -4
  113. package/dist/types/components/Link/Link.d.ts +4 -4
  114. package/dist/types/components/List/List.d.ts +4 -4
  115. package/dist/types/components/List/ListItem.d.ts +4 -4
  116. package/dist/types/components/LoadingIndicator/LoadingIndicator.d.ts +4 -4
  117. package/dist/types/components/Logo/Logo.d.ts +4 -4
  118. package/dist/types/components/MaskedField/MaskedField.d.ts +4 -4
  119. package/dist/types/components/Modal/Content.d.ts +4 -4
  120. package/dist/types/components/Modal/Header.d.ts +4 -4
  121. package/dist/types/components/Modal/Modal.d.ts +4 -4
  122. package/dist/types/components/NumberField/NumberField.d.ts +4 -4
  123. package/dist/types/components/Option/Option.d.ts +4 -4
  124. package/dist/types/components/PasswordField/PasswordField.d.ts +4 -4
  125. package/dist/types/components/Progress/Progress.d.ts +4 -4
  126. package/dist/types/components/Radio/Radio.d.ts +4 -4
  127. package/dist/types/components/Radio/RadioGroup.d.ts +4 -4
  128. package/dist/types/components/SVG/SVG.d.ts +4 -4
  129. package/dist/types/components/Segment/Segment.d.ts +4 -4
  130. package/dist/types/components/Segment/SegmentGroup.d.ts +4 -4
  131. package/dist/types/components/Select/Select.d.ts +4 -4
  132. package/dist/types/components/Stack/Stack.d.ts +4 -4
  133. package/dist/types/components/Switch/Switch.d.ts +4 -4
  134. package/dist/types/components/Table/Body.d.ts +4 -4
  135. package/dist/types/components/Table/Cell.d.ts +4 -4
  136. package/dist/types/components/Table/Foot.d.ts +4 -4
  137. package/dist/types/components/Table/Head.d.ts +4 -4
  138. package/dist/types/components/Table/HeaderCell.d.ts +4 -4
  139. package/dist/types/components/Table/Row.d.ts +4 -4
  140. package/dist/types/components/Table/Table.d.ts +4 -4
  141. package/dist/types/components/Text/Text.d.ts +4 -4
  142. package/dist/types/components/TextArea/TextArea.d.ts +4 -4
  143. package/dist/types/components/TextAreaInput/TextAreaInput.d.ts +4 -4
  144. package/dist/types/components/TextField/TextField.d.ts +1 -4
  145. package/dist/types/components/TextField/adornmentWithClassName.d.ts +3 -1
  146. package/dist/types/components/TextOrHTML/TextOrHTML.d.ts +4 -4
  147. package/dist/types/components/Title/Title.d.ts +4 -4
  148. package/dist/types/components/Toast/ToastOptionsDoc.d.ts +4 -8
  149. package/dist/types/components/Toast/Toaster.d.ts +4 -4
  150. package/dist/types/hooks/useButton/useButton.d.ts +5 -5
  151. package/dist/types/hooks/useLabel/useLabel.d.ts +1 -1
  152. package/package.json +11 -10
  153. package/src/components/Box/Box.test.tsx +1 -2
  154. package/src/components/Breadcrumbs/Breadcrumbs.tsx +3 -7
  155. package/src/components/Button/Button.stories.tsx +1 -1
  156. package/src/components/Combobox/Combobox.tsx +2 -4
  157. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +1 -1
  158. package/src/components/DropdownMenu/Item.tsx +3 -6
  159. package/src/components/Grid/Grid.stories.tsx +1 -1
  160. package/src/components/TextField/TextField.tsx +3 -1
  161. package/src/components/TextField/adornmentWithClassName.ts +4 -3
  162. package/src/hooks/useBreakpoint/useBreakpoint.test.tsx +4 -4
  163. package/src/styles.d.ts +2 -0
  164. package/dist/esm/chunk-IQKS662C.js.map +0 -7
  165. package/dist/esm/chunk-NEFRXIFY.js.map +0 -7
  166. /package/dist/esm/{chunk-XNEQHHNV.js.map → chunk-5QMKPWB4.js.map} +0 -0
  167. /package/dist/esm/{chunk-OEDU5ZEA.js.map → chunk-KUH5AB5T.js.map} +0 -0
  168. /package/dist/esm/{chunk-LGZWQZLS.js.map → chunk-QNOBB5HT.js.map} +0 -0
  169. /package/dist/esm/{chunk-GV36OVX7.js.map → chunk-R67C5QTH.js.map} +0 -0
  170. /package/dist/esm/{chunk-S4CU4XRB.js.map → chunk-VGFVSRWH.js.map} +0 -0
  171. /package/dist/esm/{chunk-X4CMSAET.js.map → chunk-WSQWMVA2.js.map} +0 -0
@@ -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.3",
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": {
@@ -97,8 +98,8 @@
97
98
  },
98
99
  "dependencies": {
99
100
  "@loadable/component": "^5.16.7",
100
- "@simplybusiness/icons": "^5.1.0",
101
- "@simplybusiness/mobius-hooks": "^0.2.0",
101
+ "@simplybusiness/icons": "^5.1.1",
102
+ "@simplybusiness/mobius-hooks": "^0.2.1",
102
103
  "classnames": "^2.5.1",
103
104
  "dialog-polyfill": "^0.5.6",
104
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>;
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import classNames from "classnames/dedupe";
4
+ import { memo } from "react";
4
5
  import type {
5
6
  HTMLInputTypeAttribute,
6
7
  ReactElement,
@@ -52,7 +53,7 @@ export interface TextFieldProps
52
53
 
53
54
  export type TextFieldRef = Ref<TextFieldElementType>;
54
55
 
55
- const TextField = ({ ref, ...props }: TextFieldProps) => {
56
+ const TextFieldInner = ({ ref, ...props }: TextFieldProps) => {
56
57
  const {
57
58
  isDisabled,
58
59
  type = "text",
@@ -166,5 +167,6 @@ const TextField = ({ ref, ...props }: TextFieldProps) => {
166
167
  );
167
168
  };
168
169
 
170
+ const TextField = memo(TextFieldInner);
169
171
  TextField.displayName = "TextField";
170
172
  export { TextField };
@@ -9,11 +9,12 @@ export const adornmentWithClassName = (
9
9
  ) => {
10
10
  if (!component) return null;
11
11
 
12
- return cloneElement(component, {
12
+ const typedComponent = component as ReactElement<{ className?: string }>;
13
+ return cloneElement(typedComponent, {
13
14
  className: classNames(
14
- (component.props as { className?: string }).className,
15
+ typedComponent.props.className,
15
16
  validationClasses,
16
17
  className,
17
18
  ),
18
- } as { className: string });
19
+ });
19
20
  };
@@ -139,7 +139,7 @@ describe("useBreakpoint", () => {
139
139
  it.each([...expected])(
140
140
  "it returns %s for breakpoint %s",
141
141
  (expectedResult, breakpoint) => {
142
- setWindowWidth(value as number);
142
+ setWindowWidth(value);
143
143
 
144
144
  const { result } = renderHook(() => useBreakpoint());
145
145
  expect(result.current.up(breakpoint)).toBe(expectedResult);
@@ -222,7 +222,7 @@ describe("useBreakpoint", () => {
222
222
  it.each([...expected])(
223
223
  "it returns %s for breakpoint %s",
224
224
  (expectedResult, breakpoint) => {
225
- setWindowWidth(value as number);
225
+ setWindowWidth(value);
226
226
 
227
227
  const { result } = renderHook(() => useBreakpoint());
228
228
  expect(result.current.down(breakpoint)).toBe(expectedResult);
@@ -340,7 +340,7 @@ describe("useBreakpoint", () => {
340
340
  it.each([...expected])(
341
341
  "it returns %s for breakpoint %s",
342
342
  (expectedResult, breakpoint) => {
343
- setWindowWidth(value as number);
343
+ setWindowWidth(value);
344
344
 
345
345
  const { result } = renderHook(() =>
346
346
  useBreakpoint(customBreakpoints),
@@ -419,7 +419,7 @@ describe("useBreakpoint", () => {
419
419
  it.each([...expected])(
420
420
  "it returns %s for breakpoint %s",
421
421
  (expectedResult, breakpoint) => {
422
- setWindowWidth(value as number);
422
+ setWindowWidth(value);
423
423
 
424
424
  const { result } = renderHook(() => useBreakpoint());
425
425
  expect(result.current.down(breakpoint)).toBe(expectedResult);
package/src/styles.d.ts CHANGED
@@ -4,3 +4,5 @@ declare module "*.css" {
4
4
  }
5
5
 
6
6
  declare module "*.module.css";
7
+
8
+ declare module "@simplybusiness/icons/iconfont";
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/TextField/TextField.tsx"],
4
- "sourcesContent": ["\"use client\";\n\nimport classNames from \"classnames/dedupe\";\nimport type {\n HTMLInputTypeAttribute,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from \"react\";\nimport type { UseTextFieldProps } from \"../../hooks\";\nimport { useTextField, useValidationClasses } from \"../../hooks\";\nimport type { DOMProps, FocusEvents } from \"../../types\";\nimport { ErrorMessage } from \"../ErrorMessage\";\nimport { Label } from \"../Label\";\nimport { Stack } from \"../Stack\";\nimport { adornmentWithClassName } from \"./adornmentWithClassName\";\nimport \"./TextField.css\";\n\nexport type TextFieldElementType = HTMLInputElement;\nexport interface TextFieldProps\n extends\n DOMProps,\n FocusEvents,\n UseTextFieldProps,\n RefAttributes<TextFieldElementType> {\n className?: string;\n errorMessage?: string;\n children?: ReactNode;\n label?: string;\n type?: Exclude<\n HTMLInputTypeAttribute,\n | \"button\"\n | \"checkbox\"\n | \"color\"\n | \"date\"\n | \"datetime-local\"\n | \"file\"\n | \"image\"\n | \"month\"\n | \"radio\"\n | \"range\"\n | \"reset\"\n | \"submit\"\n | \"week\"\n >;\n prefixInside?: ReactElement;\n prefixOutside?: ReactElement;\n suffixInside?: ReactElement;\n suffixOutside?: ReactElement;\n}\n\nexport type TextFieldRef = Ref<TextFieldElementType>;\n\nconst TextField = ({ ref, ...props }: TextFieldProps) => {\n const {\n isDisabled,\n type = \"text\",\n isInvalid,\n className,\n label,\n errorMessage,\n children,\n isRequired,\n prefixInside,\n prefixOutside,\n suffixInside,\n suffixOutside,\n autoComplete,\n isReadOnly,\n ...otherProps\n } = props;\n\n const resolvedAutoComplete =\n autoComplete ??\n (type === \"email\" ? \"email\" : type === \"tel\" ? \"tel\" : undefined);\n\n const { inputProps, labelProps, errorMessageProps } = useTextField({\n ...props,\n autoComplete: resolvedAutoComplete,\n \"aria-errormessage\": errorMessage,\n });\n\n const hidden = type === \"hidden\";\n\n const validationClasses = useValidationClasses({ isInvalid });\n\n const textfieldClasses = {\n \"--is-disabled\": isDisabled,\n \"--is-required\": typeof isRequired === \"boolean\" && isRequired,\n \"--is-optional\": typeof isRequired === \"boolean\" && !isRequired,\n \"--is-hidden\": hidden,\n [className || \"\"]: true,\n };\n\n const sharedClasses = classNames(validationClasses, textfieldClasses);\n\n const labelClasses = classNames(\n {\n \"--is-disabled\": isDisabled,\n },\n validationClasses,\n );\n\n const containerClasses = classNames(\n \"mobius\",\n \"mobius-text-field\",\n sharedClasses,\n );\n\n const inputClasses = classNames(\n \"mobius\",\n \"mobius-text-field__input\",\n sharedClasses,\n );\n\n const inputWrapperClasses = classNames(\n \"mobius-text-field__input-wrapper\",\n sharedClasses,\n );\n\n return (\n <Stack gap=\"xs\" className={containerClasses}>\n {label && !hidden && (\n <Label {...labelProps} className={labelClasses}>\n {label}\n </Label>\n )}\n <div className=\"mobius-text-field__inner-container\">\n {adornmentWithClassName(\n prefixOutside,\n labelClasses,\n \"mobius-text-field__prefix-outside\",\n )}\n <div className={inputWrapperClasses}>\n {adornmentWithClassName(\n prefixInside,\n labelClasses,\n \"mobius-text-field__prefix-inside\",\n )}\n <input\n {...otherProps}\n {...inputProps}\n ref={ref}\n type={type}\n className={inputClasses}\n />\n {adornmentWithClassName(\n suffixInside,\n labelClasses,\n \"mobius-text-field__suffix-inside\",\n )}\n </div>\n {adornmentWithClassName(\n suffixOutside,\n labelClasses,\n \"mobius-text-field__suffix-outside\",\n )}\n </div>\n {children && (\n <div className=\"mobius-text-field__children\">{children}</div>\n )}\n\n <ErrorMessage {...errorMessageProps} errorMessage={errorMessage} />\n </Stack>\n );\n};\n\nTextField.displayName = \"TextField\";\nexport { TextField };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAEA,OAAO,gBAAgB;AAevB,OAAO;AA2GC,cAUA,YAVA;AAtER,IAAM,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,MAAsB;AACvD,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,uBACJ,iBACC,SAAS,UAAU,UAAU,SAAS,QAAQ,QAAQ;AAEzD,QAAM,EAAE,YAAY,YAAY,kBAAkB,IAAI,aAAa;AAAA,IACjE,GAAG;AAAA,IACH,cAAc;AAAA,IACd,qBAAqB;AAAA,EACvB,CAAC;AAED,QAAM,SAAS,SAAS;AAExB,QAAM,oBAAoB,qBAAqB,EAAE,UAAU,CAAC;AAE5D,QAAM,mBAAmB;AAAA,IACvB,iBAAiB;AAAA,IACjB,iBAAiB,OAAO,eAAe,aAAa;AAAA,IACpD,iBAAiB,OAAO,eAAe,aAAa,CAAC;AAAA,IACrD,eAAe;AAAA,IACf,CAAC,aAAa,EAAE,GAAG;AAAA,EACrB;AAEA,QAAM,gBAAgB,WAAW,mBAAmB,gBAAgB;AAEpE,QAAM,eAAe;AAAA,IACnB;AAAA,MACE,iBAAiB;AAAA,IACnB;AAAA,IACA;AAAA,EACF;AAEA,QAAM,mBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,sBAAsB;AAAA,IAC1B;AAAA,IACA;AAAA,EACF;AAEA,SACE,qBAAC,SAAM,KAAI,MAAK,WAAW,kBACxB;AAAA,aAAS,CAAC,UACT,oBAAC,SAAO,GAAG,YAAY,WAAW,cAC/B,iBACH;AAAA,IAEF,qBAAC,SAAI,WAAU,sCACZ;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,qBAAC,SAAI,WAAW,qBACb;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACH,GAAG;AAAA,YACJ;AAAA,YACA;AAAA,YACA,WAAW;AAAA;AAAA,QACb;AAAA,QACC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,SACF;AAAA,MACC;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,OACF;AAAA,IACC,YACC,oBAAC,SAAI,WAAU,+BAA+B,UAAS;AAAA,IAGzD,oBAAC,gBAAc,GAAG,mBAAmB,cAA4B;AAAA,KACnE;AAEJ;AAEA,UAAU,cAAc;",
6
- "names": []
7
- }