@opengovsg/oui 0.0.0-snapshot-20250311073924

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 (215) hide show
  1. package/LICENSE.md +13 -0
  2. package/dist/cjs/banner/banner.cjs +118 -0
  3. package/dist/cjs/banner/index.cjs +8 -0
  4. package/dist/cjs/button/button.cjs +86 -0
  5. package/dist/cjs/button/index.cjs +8 -0
  6. package/dist/cjs/combo-box/combo-box-fuzzy.cjs +107 -0
  7. package/dist/cjs/combo-box/combo-box.cjs +277 -0
  8. package/dist/cjs/combo-box/index.cjs +12 -0
  9. package/dist/cjs/field/field.cjs +63 -0
  10. package/dist/cjs/field/index.cjs +11 -0
  11. package/dist/cjs/govt-banner/govt-banner.cjs +259 -0
  12. package/dist/cjs/govt-banner/index.cjs +8 -0
  13. package/dist/cjs/hooks/index.cjs +8 -0
  14. package/dist/cjs/hooks/use-callback-ref.cjs +17 -0
  15. package/dist/cjs/hooks/use-controllable-state.cjs +37 -0
  16. package/dist/cjs/index.cjs +47 -0
  17. package/dist/cjs/input/index.cjs +8 -0
  18. package/dist/cjs/input/input.cjs +28 -0
  19. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/Icon.cjs +48 -0
  20. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +30 -0
  21. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +24 -0
  22. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs +19 -0
  23. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +19 -0
  24. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs +23 -0
  25. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/external-link.cjs +23 -0
  26. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/info.cjs +23 -0
  27. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/landmark.cjs +26 -0
  28. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/lock.cjs +22 -0
  29. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.cjs +22 -0
  30. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +16 -0
  31. package/dist/cjs/ripple/index.cjs +10 -0
  32. package/dist/cjs/ripple/ripple.cjs +70 -0
  33. package/dist/cjs/ripple/use-ripple.cjs +29 -0
  34. package/dist/cjs/skip-nav-link/index.cjs +8 -0
  35. package/dist/cjs/skip-nav-link/skip-nav-link.cjs +18 -0
  36. package/dist/cjs/spinner/index.cjs +10 -0
  37. package/dist/cjs/spinner/spinner.cjs +17 -0
  38. package/dist/cjs/spinner/use-spinner.cjs +38 -0
  39. package/dist/cjs/system/react-utils/context.cjs +31 -0
  40. package/dist/cjs/system/react-utils/index.cjs +8 -0
  41. package/dist/cjs/system/types.cjs +3 -0
  42. package/dist/cjs/system/utils.cjs +101 -0
  43. package/dist/cjs/tag-field/index.cjs +8 -0
  44. package/dist/cjs/tag-field/tag-field-list.cjs +73 -0
  45. package/dist/cjs/tag-field/tag-field-root.cjs +184 -0
  46. package/dist/cjs/tag-field/tag-field-state-context.cjs +11 -0
  47. package/dist/cjs/tag-field/tag-field-tag-list.cjs +70 -0
  48. package/dist/cjs/tag-field/tag-field-trigger.cjs +27 -0
  49. package/dist/cjs/tag-field/tag-field.cjs +106 -0
  50. package/dist/cjs/tag-field/types.cjs +3 -0
  51. package/dist/cjs/tag-field/use-tag-field-state.cjs +103 -0
  52. package/dist/cjs/tag-field/use-tag-field.cjs +188 -0
  53. package/dist/cjs/text-area/index.cjs +8 -0
  54. package/dist/cjs/text-area/text-area.cjs +28 -0
  55. package/dist/cjs/text-area-field/index.cjs +8 -0
  56. package/dist/cjs/text-area-field/text-area-field.cjs +48 -0
  57. package/dist/cjs/text-field/index.cjs +8 -0
  58. package/dist/cjs/text-field/text-field.cjs +48 -0
  59. package/dist/cjs/toggle/index.cjs +8 -0
  60. package/dist/cjs/toggle/toggle.cjs +48 -0
  61. package/dist/esm/banner/banner.js +116 -0
  62. package/dist/esm/banner/index.js +2 -0
  63. package/dist/esm/button/button.js +84 -0
  64. package/dist/esm/button/index.js +2 -0
  65. package/dist/esm/combo-box/combo-box-fuzzy.js +105 -0
  66. package/dist/esm/combo-box/combo-box.js +273 -0
  67. package/dist/esm/combo-box/index.js +3 -0
  68. package/dist/esm/field/field.js +58 -0
  69. package/dist/esm/field/index.js +2 -0
  70. package/dist/esm/govt-banner/govt-banner.js +257 -0
  71. package/dist/esm/govt-banner/index.js +2 -0
  72. package/dist/esm/hooks/index.js +2 -0
  73. package/dist/esm/hooks/use-callback-ref.js +15 -0
  74. package/dist/esm/hooks/use-controllable-state.js +35 -0
  75. package/dist/esm/index.js +19 -0
  76. package/dist/esm/input/index.js +2 -0
  77. package/dist/esm/input/input.js +26 -0
  78. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/Icon.js +44 -0
  79. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/createLucideIcon.js +26 -0
  80. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/defaultAttributes.js +20 -0
  81. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js +14 -0
  82. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-up.js +14 -0
  83. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/circle-alert.js +18 -0
  84. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/external-link.js +18 -0
  85. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/info.js +18 -0
  86. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/landmark.js +21 -0
  87. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/lock.js +17 -0
  88. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.js +17 -0
  89. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/shared/src/utils.js +13 -0
  90. package/dist/esm/ripple/index.js +3 -0
  91. package/dist/esm/ripple/ripple.js +49 -0
  92. package/dist/esm/ripple/use-ripple.js +27 -0
  93. package/dist/esm/skip-nav-link/index.js +2 -0
  94. package/dist/esm/skip-nav-link/skip-nav-link.js +16 -0
  95. package/dist/esm/spinner/index.js +3 -0
  96. package/dist/esm/spinner/spinner.js +15 -0
  97. package/dist/esm/spinner/use-spinner.js +36 -0
  98. package/dist/esm/system/react-utils/context.js +29 -0
  99. package/dist/esm/system/react-utils/index.js +2 -0
  100. package/dist/esm/system/types.js +1 -0
  101. package/dist/esm/system/utils.js +94 -0
  102. package/dist/esm/tag-field/index.js +2 -0
  103. package/dist/esm/tag-field/tag-field-list.js +69 -0
  104. package/dist/esm/tag-field/tag-field-root.js +182 -0
  105. package/dist/esm/tag-field/tag-field-state-context.js +9 -0
  106. package/dist/esm/tag-field/tag-field-tag-list.js +68 -0
  107. package/dist/esm/tag-field/tag-field-trigger.js +24 -0
  108. package/dist/esm/tag-field/tag-field.js +104 -0
  109. package/dist/esm/tag-field/types.js +1 -0
  110. package/dist/esm/tag-field/use-tag-field-state.js +101 -0
  111. package/dist/esm/tag-field/use-tag-field.js +186 -0
  112. package/dist/esm/text-area/index.js +2 -0
  113. package/dist/esm/text-area/text-area.js +26 -0
  114. package/dist/esm/text-area-field/index.js +2 -0
  115. package/dist/esm/text-area-field/text-area-field.js +46 -0
  116. package/dist/esm/text-field/index.js +2 -0
  117. package/dist/esm/text-field/text-field.js +46 -0
  118. package/dist/esm/toggle/index.js +2 -0
  119. package/dist/esm/toggle/toggle.js +46 -0
  120. package/dist/types/banner/banner.d.ts +19 -0
  121. package/dist/types/banner/banner.d.ts.map +1 -0
  122. package/dist/types/banner/index.d.ts +2 -0
  123. package/dist/types/banner/index.d.ts.map +1 -0
  124. package/dist/types/button/button.d.ts +48 -0
  125. package/dist/types/button/button.d.ts.map +1 -0
  126. package/dist/types/button/index.d.ts +2 -0
  127. package/dist/types/button/index.d.ts.map +1 -0
  128. package/dist/types/combo-box/combo-box-fuzzy.d.ts +11 -0
  129. package/dist/types/combo-box/combo-box-fuzzy.d.ts.map +1 -0
  130. package/dist/types/combo-box/combo-box.d.ts +50 -0
  131. package/dist/types/combo-box/combo-box.d.ts.map +1 -0
  132. package/dist/types/combo-box/index.d.ts +3 -0
  133. package/dist/types/combo-box/index.d.ts.map +1 -0
  134. package/dist/types/field/field.d.ts +14 -0
  135. package/dist/types/field/field.d.ts.map +1 -0
  136. package/dist/types/field/index.d.ts +2 -0
  137. package/dist/types/field/index.d.ts.map +1 -0
  138. package/dist/types/govt-banner/govt-banner.d.ts +39 -0
  139. package/dist/types/govt-banner/govt-banner.d.ts.map +1 -0
  140. package/dist/types/govt-banner/index.d.ts +2 -0
  141. package/dist/types/govt-banner/index.d.ts.map +1 -0
  142. package/dist/types/hooks/index.d.ts +2 -0
  143. package/dist/types/hooks/index.d.ts.map +1 -0
  144. package/dist/types/hooks/use-callback-ref.d.ts +6 -0
  145. package/dist/types/hooks/use-callback-ref.d.ts.map +1 -0
  146. package/dist/types/hooks/use-controllable-state.d.ts +11 -0
  147. package/dist/types/hooks/use-controllable-state.d.ts.map +1 -0
  148. package/dist/types/index.d.mts +16 -0
  149. package/dist/types/index.d.ts +16 -0
  150. package/dist/types/index.d.ts.map +1 -0
  151. package/dist/types/input/index.d.ts +2 -0
  152. package/dist/types/input/index.d.ts.map +1 -0
  153. package/dist/types/input/input.d.ts +9 -0
  154. package/dist/types/input/input.d.ts.map +1 -0
  155. package/dist/types/ripple/index.d.ts +3 -0
  156. package/dist/types/ripple/index.d.ts.map +1 -0
  157. package/dist/types/ripple/ripple.d.ts +10 -0
  158. package/dist/types/ripple/ripple.d.ts.map +1 -0
  159. package/dist/types/ripple/use-ripple.d.ts +15 -0
  160. package/dist/types/ripple/use-ripple.d.ts.map +1 -0
  161. package/dist/types/skip-nav-link/index.d.ts +2 -0
  162. package/dist/types/skip-nav-link/index.d.ts.map +1 -0
  163. package/dist/types/skip-nav-link/skip-nav-link.d.ts +11 -0
  164. package/dist/types/skip-nav-link/skip-nav-link.d.ts.map +1 -0
  165. package/dist/types/spinner/index.d.ts +3 -0
  166. package/dist/types/spinner/index.d.ts.map +1 -0
  167. package/dist/types/spinner/spinner.d.ts +4 -0
  168. package/dist/types/spinner/spinner.d.ts.map +1 -0
  169. package/dist/types/spinner/use-spinner.d.ts +66 -0
  170. package/dist/types/spinner/use-spinner.d.ts.map +1 -0
  171. package/dist/types/system/react-utils/context.d.ts +27 -0
  172. package/dist/types/system/react-utils/context.d.ts.map +1 -0
  173. package/dist/types/system/react-utils/index.d.ts +2 -0
  174. package/dist/types/system/react-utils/index.d.ts.map +1 -0
  175. package/dist/types/system/types.d.ts +63 -0
  176. package/dist/types/system/types.d.ts.map +1 -0
  177. package/dist/types/system/utils.d.ts +856 -0
  178. package/dist/types/system/utils.d.ts.map +1 -0
  179. package/dist/types/tag-field/index.d.ts +2 -0
  180. package/dist/types/tag-field/index.d.ts.map +1 -0
  181. package/dist/types/tag-field/tag-field-list.d.ts +22 -0
  182. package/dist/types/tag-field/tag-field-list.d.ts.map +1 -0
  183. package/dist/types/tag-field/tag-field-root.d.ts +14 -0
  184. package/dist/types/tag-field/tag-field-root.d.ts.map +1 -0
  185. package/dist/types/tag-field/tag-field-state-context.d.ts +12 -0
  186. package/dist/types/tag-field/tag-field-state-context.d.ts.map +1 -0
  187. package/dist/types/tag-field/tag-field-tag-list.d.ts +17 -0
  188. package/dist/types/tag-field/tag-field-tag-list.d.ts.map +1 -0
  189. package/dist/types/tag-field/tag-field-trigger.d.ts +8 -0
  190. package/dist/types/tag-field/tag-field-trigger.d.ts.map +1 -0
  191. package/dist/types/tag-field/tag-field.d.ts +3 -0
  192. package/dist/types/tag-field/tag-field.d.ts.map +1 -0
  193. package/dist/types/tag-field/types.d.ts +71 -0
  194. package/dist/types/tag-field/types.d.ts.map +1 -0
  195. package/dist/types/tag-field/use-tag-field-state.d.ts +35 -0
  196. package/dist/types/tag-field/use-tag-field-state.d.ts.map +1 -0
  197. package/dist/types/tag-field/use-tag-field.d.ts +48 -0
  198. package/dist/types/tag-field/use-tag-field.d.ts.map +1 -0
  199. package/dist/types/text-area/index.d.ts +2 -0
  200. package/dist/types/text-area/index.d.ts.map +1 -0
  201. package/dist/types/text-area/text-area.d.ts +9 -0
  202. package/dist/types/text-area/text-area.d.ts.map +1 -0
  203. package/dist/types/text-area-field/index.d.ts +2 -0
  204. package/dist/types/text-area-field/index.d.ts.map +1 -0
  205. package/dist/types/text-area-field/text-area-field.d.ts +12 -0
  206. package/dist/types/text-area-field/text-area-field.d.ts.map +1 -0
  207. package/dist/types/text-field/index.d.ts +2 -0
  208. package/dist/types/text-field/index.d.ts.map +1 -0
  209. package/dist/types/text-field/text-field.d.ts +12 -0
  210. package/dist/types/text-field/text-field.d.ts.map +1 -0
  211. package/dist/types/toggle/index.d.ts +2 -0
  212. package/dist/types/toggle/index.d.ts.map +1 -0
  213. package/dist/types/toggle/toggle.d.ts +22 -0
  214. package/dist/types/toggle/toggle.d.ts.map +1 -0
  215. package/package.json +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/system/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./tag-field";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tag-field/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from "react";
2
+ import { SlotsToClasses, TagFieldItemSlots } from "@opengovsg/oui-theme";
3
+ import { Virtualizer } from "@tanstack/react-virtual";
4
+ import { UseComboboxPropGetters } from "downshift";
5
+ import { ContextValue, SlotProps } from "react-aria-components";
6
+ import { TagFieldItem, TagFieldListRenderProps } from "./types";
7
+ export interface TagFieldListContextValue extends SlotProps, ReturnType<UseComboboxPropGetters<object>["getMenuProps"]> {
8
+ rowVirtualizer: Virtualizer<HTMLElement, Element>;
9
+ }
10
+ export declare const TagFieldListContext: import("react").Context<ContextValue<TagFieldListContextValue, HTMLUListElement>>;
11
+ interface TagFieldListProps<T extends TagFieldItem> extends Partial<TagFieldListContextValue> {
12
+ className?: string;
13
+ itemClassNames?: SlotsToClasses<TagFieldItemSlots>;
14
+ children?: ReactNode | ((values: TagFieldListRenderProps<T>) => ReactNode);
15
+ }
16
+ interface TagFieldListItemProps<T extends TagFieldItem> extends Omit<TagFieldListRenderProps<T>, "key"> {
17
+ classNames?: TagFieldListProps<T>["itemClassNames"];
18
+ }
19
+ export declare const TagFieldListItem: <T extends TagFieldItem>(props: TagFieldListItemProps<T> & import("react").RefAttributes<HTMLLIElement>) => React.ReactNode;
20
+ export declare const TagFieldList: <T extends TagFieldItem>(props: TagFieldListProps<T> & import("react").RefAttributes<HTMLUListElement>) => React.ReactNode;
21
+ export {};
22
+ //# sourceMappingURL=tag-field-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-list.d.ts","sourceRoot":"","sources":["../../../src/tag-field/tag-field-list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAc,MAAM,OAAO,CAAA;AAC1E,OAAO,EAEL,cAAc,EACd,iBAAiB,EAElB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AAIhF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAE/D,MAAM,WAAW,wBACf,SAAQ,SAAS,EACf,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5D,cAAc,EAAE,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;CAClD;AAED,eAAO,MAAM,mBAAmB,mFAC+C,CAAA;AAE/E,UAAU,iBAAiB,CAAC,CAAC,SAAS,YAAY,CAChD,SAAQ,OAAO,CAAC,wBAAwB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAClD,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAA;CAC3E;AAED,UAAU,qBAAqB,CAAC,CAAC,SAAS,YAAY,CACpD,SAAQ,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAC/C,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;CACpD;AAuBD,eAAO,MAAM,gBAAgB,GArBE,CAAC,SAAS,YAAY,qFAqBN,MAAO,SAAkB,CAAA;AAsDxE,eAAO,MAAM,YAAY,GApDE,CAAC,SAAS,YAAY,oFAFF,MAAO,SAsDU,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { UseMultipleSelectionReturnValue } from "downshift";
2
+ import { ComboBoxRenderProps } from "react-aria-components";
3
+ import { RenderProps } from "../system/types";
4
+ import { TagFieldItem, TagFieldProps } from "./types";
5
+ interface TagFieldRootRenderProps<T extends TagFieldItem> extends ComboBoxRenderProps, Pick<UseMultipleSelectionReturnValue<T>, "getSelectedItemProps" | "removeSelectedItem"> {
6
+ highlightedIndex?: number;
7
+ selectedItems: T[];
8
+ items?: T[];
9
+ }
10
+ export interface TagFieldRootProps<T extends TagFieldItem> extends Omit<TagFieldProps<T>, "children">, RenderProps<TagFieldRootRenderProps<T>> {
11
+ }
12
+ export declare function TagFieldRoot<T extends TagFieldItem>({ children, virtualRowHeight: _virtualRowHeight, ...props }: TagFieldRootProps<T>): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=tag-field-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-root.d.ts","sourceRoot":"","sources":["../../../src/tag-field/tag-field-root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAMhE,OAAO,EACL,mBAAmB,EAUpB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAK7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAIrD,UAAU,uBAAuB,CAAC,CAAC,SAAS,YAAY,CACtD,SAAQ,mBAAmB,EACzB,IAAI,CACF,+BAA+B,CAAC,CAAC,CAAC,EAClC,sBAAsB,GAAG,oBAAoB,CAC9C;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,CAAC,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;CACZ;AAeD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,YAAY,CACvD,SAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EACxC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;CAAG;AAE9C,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,EAAE,EACnD,QAAQ,EACR,gBAAgB,EAAE,iBAAiB,EACnC,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAyKtB"}
@@ -0,0 +1,12 @@
1
+ import type { UseComboboxReturnValue, UseMultipleSelectionReturnValue } from "downshift";
2
+ import { TagFieldVariantProps } from "@opengovsg/oui-theme";
3
+ import { TagFieldState } from "./use-tag-field-state";
4
+ interface TagFieldStateContextValue<T> extends TagFieldState<T>, Pick<UseComboboxReturnValue<T>, "getItemProps" | "highlightedIndex">, Pick<UseMultipleSelectionReturnValue<T>, "getSelectedItemProps" | "removeSelectedItem">, TagFieldVariantProps {
5
+ isOpen: boolean;
6
+ isInvalid: boolean;
7
+ isDisabled: boolean;
8
+ isReadOnly: boolean;
9
+ }
10
+ export declare const TagFieldStateContext: import("react").Context<TagFieldStateContextValue<any> | null>;
11
+ export {};
12
+ //# sourceMappingURL=tag-field-state-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-state-context.d.ts","sourceRoot":"","sources":["../../../src/tag-field/tag-field-state-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,+BAA+B,EAChC,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,UAAU,yBAAyB,CAAC,CAAC,CACnC,SAAQ,aAAa,CAAC,CAAC,CAAC,EACtB,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC,EACpE,IAAI,CACF,+BAA+B,CAAC,CAAC,CAAC,EAClC,sBAAsB,GAAG,oBAAoB,CAC9C,EACD,oBAAoB;IACtB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,oBAAoB,gEAE2B,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { SlotsToClasses, TagFieldSlots } from "@opengovsg/oui-theme";
2
+ import { UseMultipleSelectionReturnValue } from "downshift";
3
+ import { TagFieldItem } from "./types";
4
+ interface TagFieldTagListRenderProps<T> {
5
+ item: T;
6
+ itemProps: ReturnType<UseMultipleSelectionReturnValue<T>["getSelectedItemProps"]>;
7
+ removeSelectedItem: () => void;
8
+ isDisabled: boolean;
9
+ isReadOnly: boolean;
10
+ }
11
+ export interface TagFieldTagListProps<T extends TagFieldItem> {
12
+ classNames?: Pick<SlotsToClasses<TagFieldSlots>, "tag" | "tagIcon" | "tagText">;
13
+ children?: React.ReactNode | ((values: TagFieldTagListRenderProps<T>) => React.ReactNode);
14
+ }
15
+ export declare const TagFieldTagList: <T extends TagFieldItem>({ classNames, ...props }: TagFieldTagListProps<T>) => string | number | bigint | boolean | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | (string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined)[] | null;
16
+ export {};
17
+ //# sourceMappingURL=tag-field-tag-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-tag-list.d.ts","sourceRoot":"","sources":["../../../src/tag-field/tag-field-tag-list.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAI3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,UAAU,0BAA0B,CAAC,CAAC;IACpC,IAAI,EAAE,CAAC,CAAA;IACP,SAAS,EAAE,UAAU,CACnB,+BAA+B,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAC3D,CAAA;IACD,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,YAAY;IAC1D,UAAU,CAAC,EAAE,IAAI,CACf,cAAc,CAAC,aAAa,CAAC,EAC7B,KAAK,GAAG,SAAS,GAAG,SAAS,CAC9B,CAAA;IACD,QAAQ,CAAC,EACL,KAAK,CAAC,SAAS,GACf,CAAC,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CACjE;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,YAAY,4BAGnD,oBAAoB,CAAC,CAAC,CAAC,iwBAwDzB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { UseComboboxPropGetters } from "downshift";
2
+ import { ContextValue, SlotProps } from "react-aria-components";
3
+ export type TagFieldTriggerProps = SlotProps;
4
+ export interface TagFieldTriggerContextValue<T extends object> extends TagFieldTriggerProps, ReturnType<UseComboboxPropGetters<T>["getToggleButtonProps"]> {
5
+ }
6
+ export declare const TagFieldTriggerContext: import("react").Context<ContextValue<TagFieldTriggerContextValue<any>, HTMLButtonElement>>;
7
+ export declare const TagFieldTrigger: import("../system/utils").InternalForwardRefRenderFunction<"button", SlotProps, never>;
8
+ //# sourceMappingURL=tag-field-trigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field-trigger.d.ts","sourceRoot":"","sources":["../../../src/tag-field/tag-field-trigger.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AAIhF,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE5C,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,MAAM,CAC3D,SAAQ,oBAAoB,EAC1B,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;CAAG;AAEpE,eAAO,MAAM,sBAAsB,4FAG9B,CAAA;AAEL,eAAO,MAAM,eAAe,wFAc3B,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { TagFieldItem, TagFieldProps } from "./types";
2
+ export declare function TagField<T extends TagFieldItem>({ classNames, children, ...props }: TagFieldProps<T>): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=tag-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-field.d.ts","sourceRoot":"","sources":["../../../src/tag-field/tag-field.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,EAC/C,UAAU,EACV,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,CAAC,CAAC,2CA8ElB"}
@@ -0,0 +1,71 @@
1
+ import type { FocusableProps, HelpTextProps, InputBase, Key, LabelableProps, MultipleSelection, TextInputBase, Validation } from "@react-types/shared";
2
+ import type { VirtualItem } from "@tanstack/react-virtual";
3
+ import type { ReactNode } from "react";
4
+ import { SlotsToClasses, TagFieldItemSlots, TagFieldSlots, TagFieldVariantProps } from "@opengovsg/oui-theme";
5
+ import { UseComboboxReturnValue } from "downshift";
6
+ export interface TagFieldValidationValue {
7
+ /** The selected key in the TagField. */
8
+ selectedKeys: Set<Key> | null;
9
+ /** The value of the TagField input. */
10
+ inputValue: string;
11
+ }
12
+ export interface TagFieldListRenderProps<T> extends ReturnType<UseComboboxReturnValue<T>["getItemProps"]> {
13
+ item: T;
14
+ key: VirtualItem["key"];
15
+ isHighlighted: boolean;
16
+ style?: React.CSSProperties;
17
+ className?: string;
18
+ itemClassNames?: SlotsToClasses<TagFieldItemSlots>;
19
+ }
20
+ export interface TagFieldRenderProps<T> extends TagFieldListRenderProps<T> {
21
+ }
22
+ export type TagFieldItem = {
23
+ textValue: string;
24
+ id: Key;
25
+ description?: string;
26
+ };
27
+ export interface TagFieldProps<T> extends Omit<MultipleSelection, "disallowEmptySelection" | "onSelectionChange" | "selectionMode" | "selectedKeys" | "defaultSelectedKeys">, InputBase, TextInputBase, Validation<TagFieldValidationValue>, FocusableProps<HTMLInputElement>, LabelableProps, HelpTextProps, TagFieldVariantProps {
28
+ classNames?: SlotsToClasses<TagFieldSlots>;
29
+ itemClassNames?: SlotsToClasses<TagFieldItemSlots>;
30
+ children?: (values: TagFieldRenderProps<T>) => ReactNode;
31
+ /** The filter function used to determine if a option should be included in the combo box list. */
32
+ defaultFilter?: (textValue: string, inputValue: string) => boolean;
33
+ /**
34
+ * The function to retrieve the text value of the item.
35
+ * @defaultValue `(item) => item.textValue`
36
+ */
37
+ itemToText?: (item: T) => string;
38
+ /**
39
+ * The function to retrieve the key of the item.
40
+ * @defaultValue `(item) => item.id`
41
+ */
42
+ itemToKey?: (item: T) => Key;
43
+ /** The currently selected keys in the collection (controlled). */
44
+ selectedKeys?: Set<Key>;
45
+ /** The initial selected keys in the collection (uncontrolled). */
46
+ defaultSelectedKeys?: Set<Key>;
47
+ /** The list of TagField items (uncontrolled). */
48
+ defaultItems?: T[];
49
+ /** The list of TagField items (controlled). */
50
+ items?: T[];
51
+ /** Method that is called when the open state of the menu changes. Returns the new open state and the action that caused the opening of the menu. */
52
+ onOpenChange?: (isOpen: boolean) => void;
53
+ /** Handler that is called when the selection changes. */
54
+ onSelectionChange?: (keys: Set<Key>) => void;
55
+ /** The value of the TagField input (controlled). */
56
+ inputValue?: string;
57
+ /** The default value of the TagField input (uncontrolled). */
58
+ defaultInputValue?: string;
59
+ /** Handler that is called when the TagField input value changes. */
60
+ onInputChange?: (value: string) => void;
61
+ /**
62
+ * If provided, virtual row height will be set to given value.
63
+ */
64
+ virtualRowHeight?: number;
65
+ /**
66
+ * Whether the tag field menu should close on blur.
67
+ * If not provided, the menu will close on blur when the user clicks outside the tag field.
68
+ */
69
+ shouldCloseOnBlur?: boolean;
70
+ }
71
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tag-field/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { FormValidationState } from "@react-stately/form";
2
+ import { Key } from "@react-types/shared";
3
+ import { SetRequired } from "type-fest";
4
+ import { TagFieldProps } from "./types";
5
+ export interface TagFieldListState<T> {
6
+ /** Sets the selected items. */
7
+ setSelectedItems: React.Dispatch<React.SetStateAction<T[]>>;
8
+ /** A set of items that are disabled. */
9
+ disabledKeys?: Iterable<Key>;
10
+ /** The values of the currently selected items. */
11
+ readonly selectedItems: T[];
12
+ }
13
+ export interface TagFieldState<T> extends TagFieldListState<T>, FormValidationState, Required<Pick<TagFieldStateOptions<T>, "itemToKey" | "itemToText">> {
14
+ /** The current value of the tag field input. */
15
+ inputValue: string;
16
+ /** Sets the value of the tag field input. */
17
+ setInputValue(value: string): void;
18
+ /** The current items to be displayed */
19
+ items: T[];
20
+ }
21
+ type FilterFn = (textValue: string, inputValue: string) => boolean;
22
+ export interface TagFieldStateOptions<T> extends SetRequired<Omit<TagFieldProps<T>, "children" | "onSelectionChange">, "itemToKey" | "itemToText"> {
23
+ /** The filter function used to determine if a option should be included in the combo box list. */
24
+ defaultFilter?: FilterFn;
25
+ /** Handler that is called when the selection changes. */
26
+ onSelectionChange?: (nextItems: T[]) => void;
27
+ }
28
+ /**
29
+ * Provides state management for a tag field component. Handles building a collection
30
+ * of items from props and manages the option selection state of the tag field. In addition, it tracks the input value,
31
+ * focus state, and other properties of the tag field.
32
+ */
33
+ export declare function useTagFieldState<T extends object>(props: TagFieldStateOptions<T>): TagFieldState<T>;
34
+ export {};
35
+ //# sourceMappingURL=use-tag-field-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tag-field-state.d.ts","sourceRoot":"","sources":["../../../src/tag-field/use-tag-field-state.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EAEpB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,+BAA+B;IAC/B,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE3D,wCAAwC;IACxC,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;IAE5B,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAC9B,SAAQ,iBAAiB,CAAC,CAAC,CAAC,EAC1B,mBAAmB,EACnB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;IACrE,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC,wCAAwC;IACxC,KAAK,EAAE,CAAC,EAAE,CAAA;CACX;AAED,KAAK,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAA;AAElE,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACrC,SAAQ,WAAW,CACjB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,mBAAmB,CAAC,EACxD,WAAW,GAAG,YAAY,CAC3B;IACD,kGAAkG;IAClG,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC7B,aAAa,CAAC,CAAC,CAAC,CAyFlB"}
@@ -0,0 +1,48 @@
1
+ import { InputHTMLAttributes } from "react";
2
+ import { DOMAttributes, RefObject, ValidationResult } from "@react-types/shared";
3
+ import { Virtualizer } from "@tanstack/react-virtual";
4
+ import { UseComboboxPropGetters, UseComboboxReturnValue, UseMultipleSelectionReturnValue } from "downshift";
5
+ import { SetRequired } from "type-fest";
6
+ import { TagFieldProps } from "./types";
7
+ import { TagFieldState } from "./use-tag-field-state";
8
+ export interface AriaTagFieldOptions<T> extends SetRequired<Omit<TagFieldProps<T>, "children">, "itemToKey" | "itemToText"> {
9
+ /** The ref for the optional label element. */
10
+ labelRef?: RefObject<HTMLLabelElement | null>;
11
+ /** The ref for the input element. */
12
+ inputRef: RefObject<HTMLInputElement | null>;
13
+ /** The ref for the list box. */
14
+ listBoxRef: RefObject<HTMLElement | null>;
15
+ /** The ref for the optional list box popup trigger button. */
16
+ buttonRef?: RefObject<HTMLButtonElement | null>;
17
+ }
18
+ export interface TagFieldAria<T> extends ValidationResult {
19
+ /** Props for the label element. */
20
+ labelProps: DOMAttributes;
21
+ /** Props for the combo box input element. */
22
+ inputProps: InputHTMLAttributes<HTMLInputElement>;
23
+ /** Props for the list box */
24
+ listBoxProps: ReturnType<UseComboboxPropGetters<T>["getMenuProps"]>;
25
+ /** Props to augment tag field state. */
26
+ tagFieldProps: Pick<UseComboboxReturnValue<T>, "getItemProps" | "highlightedIndex"> & Pick<UseMultipleSelectionReturnValue<T>, "getSelectedItemProps" | "removeSelectedItem"> & {
27
+ /** Whether the popover is open. */
28
+ isOpen: boolean;
29
+ isInvalid: boolean;
30
+ isDisabled: boolean;
31
+ isReadOnly: boolean;
32
+ };
33
+ /** Props for the optional trigger button, to be passed to [useButton](useButton.html). */
34
+ buttonProps: ReturnType<UseComboboxReturnValue<T>["getToggleButtonProps"]>;
35
+ /** Props for the combo box description element, if any. */
36
+ descriptionProps: DOMAttributes;
37
+ /** Props for the combo box error message element, if any. */
38
+ errorMessageProps: DOMAttributes;
39
+ rowVirtualizer: Virtualizer<HTMLElement, Element>;
40
+ }
41
+ /**
42
+ * Provides the behavior and accessibility implementation for a tag field component.
43
+ * A tag field combines a text input with a listbox, allowing users to filter a list of options to items matching a query.
44
+ * @param props - Props for the tag field.
45
+ * @param state - State for the select, as returned by `useTagFieldState`.
46
+ */
47
+ export declare function useTagField<T>(props: AriaTagFieldOptions<T>, state: TagFieldState<T>): TagFieldAria<T>;
48
+ //# sourceMappingURL=use-tag-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-tag-field.d.ts","sourceRoot":"","sources":["../../../src/tag-field/use-tag-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgC,MAAM,OAAO,CAAA;AAEzE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAkB,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAEL,sBAAsB,EACtB,sBAAsB,EAEtB,+BAA+B,EAChC,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,MAAM,WAAW,mBAAmB,CAAC,CAAC,CACpC,SAAQ,WAAW,CACjB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAClC,WAAW,GAAG,YAAY,CAC3B;IACD,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC7C,qCAAqC;IACrC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC5C,gCAAgC;IAChC,UAAU,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACzC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,gBAAgB;IACvD,mCAAmC;IACnC,UAAU,EAAE,aAAa,CAAA;IACzB,6CAA6C;IAC7C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;IACjD,6BAA6B;IAC7B,YAAY,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;IAEnE,wCAAwC;IACxC,aAAa,EAAE,IAAI,CACjB,sBAAsB,CAAC,CAAC,CAAC,EACzB,cAAc,GAAG,kBAAkB,CACpC,GACC,IAAI,CACF,+BAA+B,CAAC,CAAC,CAAC,EAClC,sBAAsB,GAAG,oBAAoB,CAC9C,GAAG;QACF,mCAAmC;QACnC,MAAM,EAAE,OAAO,CAAA;QACf,SAAS,EAAE,OAAO,CAAA;QAClB,UAAU,EAAE,OAAO,CAAA;QACnB,UAAU,EAAE,OAAO,CAAA;KACpB,CAAA;IAEH,0FAA0F;IAC1F,WAAW,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC1E,2DAA2D;IAC3D,gBAAgB,EAAE,aAAa,CAAA;IAC/B,6DAA6D;IAC7D,iBAAiB,EAAE,aAAa,CAAA;IAEhC,cAAc,EAAE,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC7B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GACtB,YAAY,CAAC,CAAC,CAAC,CAkMjB"}
@@ -0,0 +1,2 @@
1
+ export * from "./text-area";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/text-area/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { textAreaStyles, VariantProps } from "@opengovsg/oui-theme";
2
+ import { TextAreaProps as AriaTextAreaProps } from "react-aria-components";
3
+ export interface TextAreaProps extends VariantProps<typeof textAreaStyles>, Omit<AriaTextAreaProps, "size"> {
4
+ }
5
+ /**
6
+ * This component should not be used by itself. Use the `TextField` component from `@opengovsg/oui/text-field` instead.
7
+ */
8
+ export declare const TextArea: import("react").ForwardRefExoticComponent<TextAreaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
9
+ //# sourceMappingURL=text-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../src/text-area/text-area.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,aAAa,IAAI,iBAAiB,EACnC,MAAM,uBAAuB,CAAA;AAE9B,MAAM,WAAW,aACf,SAAQ,YAAY,CAAC,OAAO,cAAc,CAAC,EACzC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;CAAG;AAEtC;;GAEG;AACH,eAAO,MAAM,QAAQ,+GAepB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./text-area-field";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/text-area-field/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { SlotsToClasses, TextAreaVariantProps } from "@opengovsg/oui-theme";
2
+ import { TextFieldProps as AriaTextFieldProps, ValidationResult } from "react-aria-components";
3
+ import { TextAreaProps } from "../text-area";
4
+ export interface TextAreaFieldProps extends AriaTextFieldProps, TextAreaVariantProps {
5
+ label?: string;
6
+ description?: string;
7
+ errorMessage?: string | ((validation: ValidationResult) => string);
8
+ classNames?: SlotsToClasses<"base" | "label" | "input" | "description" | "error">;
9
+ inputProps?: TextAreaProps;
10
+ }
11
+ export declare function TextAreaField({ label, description, errorMessage, classNames, className, inputProps, size, variant, ...props }: TextAreaFieldProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=text-area-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-area-field.d.ts","sourceRoot":"","sources":["../../../src/text-area-field/text-area-field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EACd,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,cAAc,IAAI,kBAAkB,EACpC,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAY,aAAa,EAAE,MAAM,cAAc,CAAA;AAEtD,MAAM,WAAW,kBACf,SAAQ,kBAAkB,EACxB,oBAAoB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,CAAC,CAAA;IAClE,UAAU,CAAC,EAAE,cAAc,CACzB,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,CACrD,CAAA;IACD,UAAU,CAAC,EAAE,aAAa,CAAA;CAC3B;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACV,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,kBAAkB,2CA8BpB"}
@@ -0,0 +1,2 @@
1
+ export * from "./text-field";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/text-field/index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { InputVariantProps, SlotsToClasses } from "@opengovsg/oui-theme";
2
+ import { TextFieldProps as AriaTextFieldProps, ValidationResult } from "react-aria-components";
3
+ import { InputProps } from "../input";
4
+ export interface TextFieldProps extends AriaTextFieldProps, InputVariantProps {
5
+ label?: string;
6
+ description?: string;
7
+ errorMessage?: string | ((validation: ValidationResult) => string);
8
+ classNames?: SlotsToClasses<"base" | "label" | "input" | "description" | "error">;
9
+ inputProps?: InputProps;
10
+ }
11
+ export declare function TextField({ label, description, errorMessage, classNames, className, inputProps, size, variant, ...props }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=text-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../../src/text-field/text-field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,EACjB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAEL,cAAc,IAAI,kBAAkB,EACpC,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAS,UAAU,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,WAAW,cAAe,SAAQ,kBAAkB,EAAE,iBAAiB;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,CAAC,CAAA;IAClE,UAAU,CAAC,EAAE,cAAc,CACzB,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,CACrD,CAAA;IACD,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACV,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,cAAc,2CA8BhB"}
@@ -0,0 +1,2 @@
1
+ export * from "./toggle";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/toggle/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { SlotsToClasses, ToggleSlots, toggleStyles, VariantProps } from "@opengovsg/oui-theme";
2
+ import { SwitchProps as AriaSwitchProps, SwitchRenderProps } from "react-aria-components";
3
+ export interface ToggleThumbIconProps extends SwitchRenderProps {
4
+ className: string;
5
+ }
6
+ interface _ToggleProps extends Omit<AriaSwitchProps, "children">, VariantProps<typeof toggleStyles> {
7
+ classNames?: SlotsToClasses<ToggleSlots>;
8
+ /**
9
+ * The icon to be displayed inside the thumb.
10
+ */
11
+ thumbIcon?: React.ReactElement | ((props: ToggleThumbIconProps) => React.ReactNode);
12
+ }
13
+ export type ToggleProps = _ToggleProps & ({
14
+ children: React.ReactNode;
15
+ "aria-label"?: string;
16
+ } | {
17
+ children?: never;
18
+ "aria-label": string;
19
+ });
20
+ export declare const Toggle: ({ children, classNames, thumbIcon, ...originalProps }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
21
+ export {};
22
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/toggle/toggle.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACb,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAEL,WAAW,IAAI,eAAe,EAC9B,iBAAiB,EAClB,MAAM,uBAAuB,CAAA;AAI9B,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,YACR,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EACvC,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,UAAU,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IACxC;;OAEG;IACH,SAAS,CAAC,EACN,KAAK,CAAC,YAAY,GAClB,CAAC,CAAC,KAAK,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CACvD;AAED,MAAM,MAAM,WAAW,GAAG,YAAY,GACpC,CACI;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GACD;IACE,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,CACJ,CAAA;AAEH,eAAO,MAAM,MAAM,0DAKhB,WAAW,4CAwCb,CAAA"}
package/package.json ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@opengovsg/oui",
3
+ "version": "0.0.0-snapshot-20250311073924",
4
+ "sideEffects": false,
5
+ "license": "SEE LICENSE IN LICENSE.md",
6
+ "type": "module",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "repository": "https://github.com/opengovsg/oui-design-system",
11
+ "homepage": "https://github.com/opengovsg/oui-design-system",
12
+ "exports": {
13
+ ".": {
14
+ "source": "./src/index.ts",
15
+ "import": {
16
+ "types": "./dist/types/index.d.ts",
17
+ "default": "./dist/esm/index.js"
18
+ },
19
+ "require": {
20
+ "types": "./dist/types/index.d.ts",
21
+ "default": "./dist/cjs/index.cjs"
22
+ }
23
+ },
24
+ "./*": {
25
+ "source": "./src/*/index.ts",
26
+ "import": {
27
+ "types": "./dist/types/*/index.d.ts",
28
+ "default": "./dist/esm/*/index.js"
29
+ },
30
+ "require": {
31
+ "types": "./dist/types/*/index.d.ts",
32
+ "default": "./dist/cjs/*/index.cjs"
33
+ }
34
+ }
35
+ },
36
+ "devDependencies": {
37
+ "@storybook/react": "8.6.4",
38
+ "@storybook/test": "8.6.4",
39
+ "@types/lodash-es": "^4.17.12",
40
+ "@types/prop-types": "^15.7.14",
41
+ "@types/react": "^19.0.8",
42
+ "@types/react-dom": "^19.0.3",
43
+ "csstype": "^3.1.3",
44
+ "eslint": "^9.20.1",
45
+ "lucide-react": "^0.475.0",
46
+ "motion": "^12.4.2",
47
+ "prettier": "^3.5.0",
48
+ "tsx": "^4.19.2",
49
+ "typescript": "5.7.3",
50
+ "@opengovsg/oui-theme": "0.0.0-snapshot-20250311073924",
51
+ "@oui/chromatic": "0.0.0",
52
+ "@oui/eslint-config": "0.0.0",
53
+ "@oui/prettier-config": "0.0.0",
54
+ "@oui/typescript-config": "0.0.0"
55
+ },
56
+ "dependencies": {
57
+ "@internationalized/date": "^3.7.0",
58
+ "@react-aria/calendar": "^3.7.0",
59
+ "@react-aria/utils": "^3.27.0",
60
+ "@react-stately/calendar": "^3.7.0",
61
+ "@react-stately/collections": "^3.12.2",
62
+ "@react-stately/form": "^3.1.2",
63
+ "@react-stately/list": "^3.12.0",
64
+ "@react-stately/utils": "^3.10.5",
65
+ "@react-types/shared": "^3.27.0",
66
+ "@tanstack/react-virtual": "^3.13.2",
67
+ "downshift": "^9.0.8",
68
+ "fuzzysort": "^3.1.0",
69
+ "lodash-es": "^4.17.21",
70
+ "nanoid": "^5.0.9",
71
+ "react": "^19.0.0",
72
+ "react-aria": "^3.37.0",
73
+ "react-aria-components": "^1.6.0",
74
+ "react-stately": "^3.35.0",
75
+ "type-fest": "^4.34.1",
76
+ "use-deep-compare": "^1.3.0"
77
+ },
78
+ "peerDependencies": {
79
+ "motion": ">=11.12.0 || >=12.0.0-alpha.1",
80
+ "react-aria-components": "^1.6.0",
81
+ "@opengovsg/oui-theme": "0.0.0-snapshot-20250311073924"
82
+ },
83
+ "prettier": "@oui/prettier-config",
84
+ "scripts": {
85
+ "build": "tsx ../../tooling/build-scripts/main.ts --dts --clean",
86
+ "dev": "tsx ../../tooling/build-scripts/main.ts --watch",
87
+ "lint": "eslint . --max-warnings 0",
88
+ "lint:fix": "eslint . --fix",
89
+ "format": "prettier --check . --ignore-path ../../.gitignore",
90
+ "format:fix": "prettier --write . --ignore-path ../../.gitignore",
91
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
92
+ }
93
+ }