@accelint/design-toolkit 9.2.0 → 9.3.0

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 (240) hide show
  1. package/README.md +15 -22
  2. package/catalog-info.yaml +4 -4
  3. package/dist/components/accordion/group.d.ts +2 -2
  4. package/dist/components/accordion/header.d.ts +2 -2
  5. package/dist/components/accordion/index.d.ts +2 -2
  6. package/dist/components/accordion/panel.d.ts +2 -2
  7. package/dist/components/accordion/trigger.d.ts +2 -2
  8. package/dist/components/action-bar/index.d.ts +10 -2
  9. package/dist/components/action-bar/index.js +8 -1
  10. package/dist/components/action-bar/index.js.map +1 -1
  11. package/dist/components/action-bar/styles.module.css +9 -1
  12. package/dist/components/action-bar/types.d.ts +1 -0
  13. package/dist/components/avatar/context.d.ts +4 -4
  14. package/dist/components/avatar/index.d.ts +2 -2
  15. package/dist/components/badge/context.d.ts +4 -4
  16. package/dist/components/badge/index.d.ts +2 -2
  17. package/dist/components/breadcrumbs/index.d.ts +2 -2
  18. package/dist/components/breadcrumbs/item.d.ts +2 -2
  19. package/dist/components/button/context.d.ts +8 -8
  20. package/dist/components/button/index.d.ts +2 -2
  21. package/dist/components/button/link.d.ts +2 -2
  22. package/dist/components/button/toggle.d.ts +2 -2
  23. package/dist/components/checkbox/context.d.ts +3 -3
  24. package/dist/components/checkbox/group.d.ts +2 -2
  25. package/dist/components/checkbox/index.d.ts +2 -2
  26. package/dist/components/chip/context.d.ts +4 -4
  27. package/dist/components/chip/deletable.d.ts +2 -2
  28. package/dist/components/chip/index.d.ts +2 -2
  29. package/dist/components/chip/list.d.ts +4 -4
  30. package/dist/components/chip/selectable.d.ts +2 -2
  31. package/dist/components/classification-badge/context.d.ts +4 -4
  32. package/dist/components/classification-badge/index.d.ts +2 -2
  33. package/dist/components/classification-banner/context.d.ts +4 -4
  34. package/dist/components/classification-banner/index.d.ts +2 -2
  35. package/dist/components/clock/index.d.ts +2 -2
  36. package/dist/components/color-picker/index.d.ts +2 -2
  37. package/dist/components/combobox-field/context.d.ts +4 -4
  38. package/dist/components/combobox-field/index.d.ts +2 -2
  39. package/dist/components/combobox-field/index.js +44 -37
  40. package/dist/components/combobox-field/index.js.map +1 -1
  41. package/dist/components/combobox-field/styles.module.css +5 -1
  42. package/dist/components/coordinate-field/context.d.ts +6 -6
  43. package/dist/components/coordinate-field/index.d.ts +2 -2
  44. package/dist/components/coordinate-field/index.js +3 -1
  45. package/dist/components/coordinate-field/index.js.map +1 -1
  46. package/dist/components/coordinate-field/segment.d.ts +3 -2
  47. package/dist/components/coordinate-field/segment.js +3 -1
  48. package/dist/components/coordinate-field/segment.js.map +1 -1
  49. package/dist/components/coordinate-field/styles.module.css +14 -0
  50. package/dist/components/coordinate-field/types.d.ts +2 -0
  51. package/dist/components/coordinate-field/types.js.map +1 -1
  52. package/dist/components/date-field/index.d.ts +3 -2
  53. package/dist/components/date-field/index.js +4 -2
  54. package/dist/components/date-field/index.js.map +1 -1
  55. package/dist/components/date-field/styles.module.css +4 -0
  56. package/dist/components/deferred-collection/index.d.ts +43 -0
  57. package/dist/components/deferred-collection/index.js +44 -0
  58. package/dist/components/deferred-collection/index.js.map +1 -0
  59. package/dist/components/deferred-collection/types.d.ts +26 -0
  60. package/dist/components/deferred-collection/types.js +12 -0
  61. package/dist/components/details-list/context.d.ts +4 -4
  62. package/dist/components/details-list/index.d.ts +2 -2
  63. package/dist/components/details-list/label.d.ts +2 -2
  64. package/dist/components/details-list/value.d.ts +2 -2
  65. package/dist/components/dialog/content.d.ts +2 -2
  66. package/dist/components/dialog/context.d.ts +2 -2
  67. package/dist/components/dialog/footer.d.ts +2 -2
  68. package/dist/components/dialog/index.d.ts +2 -2
  69. package/dist/components/dialog/title.d.ts +2 -2
  70. package/dist/components/divider/context.d.ts +4 -4
  71. package/dist/components/divider/index.d.ts +2 -2
  72. package/dist/components/drawer/back.d.ts +2 -2
  73. package/dist/components/drawer/close.d.ts +2 -2
  74. package/dist/components/drawer/content.d.ts +2 -2
  75. package/dist/components/drawer/context.d.ts +2 -2
  76. package/dist/components/drawer/footer.d.ts +2 -2
  77. package/dist/components/drawer/header-title.d.ts +2 -2
  78. package/dist/components/drawer/header.d.ts +2 -2
  79. package/dist/components/drawer/index.d.ts +2 -2
  80. package/dist/components/drawer/layout-main.d.ts +2 -2
  81. package/dist/components/drawer/layout.d.ts +2 -2
  82. package/dist/components/drawer/menu-item.d.ts +2 -2
  83. package/dist/components/drawer/menu.d.ts +2 -2
  84. package/dist/components/drawer/panel.d.ts +2 -2
  85. package/dist/components/drawer/styles.module.css +2 -2
  86. package/dist/components/drawer/trigger.d.ts +2 -2
  87. package/dist/components/drawer/view.d.ts +2 -2
  88. package/dist/components/flashcard/index.d.ts +9 -9
  89. package/dist/components/hero/context.d.ts +2 -2
  90. package/dist/components/hero/index.d.ts +2 -2
  91. package/dist/components/hero/subtitle.d.ts +2 -2
  92. package/dist/components/hero/title.d.ts +2 -2
  93. package/dist/components/hotkey/context.d.ts +4 -4
  94. package/dist/components/hotkey/index.d.ts +2 -2
  95. package/dist/components/hotkey/set.d.ts +2 -2
  96. package/dist/components/icon/context.d.ts +4 -4
  97. package/dist/components/icon/index.d.ts +2 -2
  98. package/dist/components/input/context.d.ts +2 -2
  99. package/dist/components/input/index.d.ts +2 -2
  100. package/dist/components/input/index.js +3 -2
  101. package/dist/components/input/index.js.map +1 -1
  102. package/dist/components/input/styles.module.css +5 -1
  103. package/dist/components/kanban/card-body.d.ts +2 -2
  104. package/dist/components/kanban/card-header-actions.d.ts +2 -2
  105. package/dist/components/kanban/card-header-title.d.ts +2 -2
  106. package/dist/components/kanban/card-header.d.ts +2 -2
  107. package/dist/components/kanban/card.d.ts +2 -2
  108. package/dist/components/kanban/column-actions.d.ts +2 -2
  109. package/dist/components/kanban/column-container.d.ts +2 -2
  110. package/dist/components/kanban/column-content.d.ts +2 -2
  111. package/dist/components/kanban/column-header-actions.d.ts +2 -2
  112. package/dist/components/kanban/column-header-drag-handle.d.ts +2 -2
  113. package/dist/components/kanban/column-header-title.d.ts +2 -2
  114. package/dist/components/kanban/column-header.d.ts +2 -2
  115. package/dist/components/kanban/column.d.ts +2 -2
  116. package/dist/components/kanban/context.d.ts +2 -2
  117. package/dist/components/kanban/header-actions.d.ts +2 -2
  118. package/dist/components/kanban/header-search.d.ts +2 -2
  119. package/dist/components/kanban/header-title.d.ts +2 -2
  120. package/dist/components/kanban/header.d.ts +2 -2
  121. package/dist/components/kanban/kanban.d.ts +4 -4
  122. package/dist/components/label/context.d.ts +4 -4
  123. package/dist/components/label/index.d.ts +2 -2
  124. package/dist/components/lines/index.d.ts +2 -2
  125. package/dist/components/link/context.d.ts +2 -2
  126. package/dist/components/link/index.d.ts +2 -2
  127. package/dist/components/list/context.d.ts +2 -2
  128. package/dist/components/list/index.d.ts +2 -2
  129. package/dist/components/list/item-content.d.ts +2 -2
  130. package/dist/components/list/item-description.d.ts +2 -2
  131. package/dist/components/list/item-title.d.ts +2 -2
  132. package/dist/components/list/item.d.ts +2 -2
  133. package/dist/components/menu/context.d.ts +2 -2
  134. package/dist/components/menu/index.d.ts +2 -2
  135. package/dist/components/menu/item-description.d.ts +2 -2
  136. package/dist/components/menu/item-label.d.ts +2 -2
  137. package/dist/components/menu/item.d.ts +2 -2
  138. package/dist/components/menu/section.d.ts +2 -2
  139. package/dist/components/menu/separator.d.ts +2 -2
  140. package/dist/components/menu/styles.module.css +62 -46
  141. package/dist/components/menu/submenu.d.ts +2 -2
  142. package/dist/components/notice/index.d.ts +2 -2
  143. package/dist/components/notice/list.d.ts +2 -2
  144. package/dist/components/notice/notice-icon.d.ts +2 -2
  145. package/dist/components/options/context.d.ts +2 -2
  146. package/dist/components/options/index.d.ts +2 -2
  147. package/dist/components/options/item-content.d.ts +2 -2
  148. package/dist/components/options/item-description.d.ts +2 -2
  149. package/dist/components/options/item-label.d.ts +2 -2
  150. package/dist/components/options/item.d.ts +2 -2
  151. package/dist/components/options/section.d.ts +2 -2
  152. package/dist/components/pagination/context.d.ts +2 -2
  153. package/dist/components/pagination/index.d.ts +2 -2
  154. package/dist/components/pagination/next.d.ts +2 -2
  155. package/dist/components/pagination/pages.d.ts +2 -2
  156. package/dist/components/pagination/prev.d.ts +2 -2
  157. package/dist/components/popover/content.d.ts +2 -2
  158. package/dist/components/popover/footer.d.ts +2 -2
  159. package/dist/components/popover/index.d.ts +2 -2
  160. package/dist/components/popover/title.d.ts +2 -2
  161. package/dist/components/popover/trigger.d.ts +2 -2
  162. package/dist/components/query-builder/action-element.d.ts +2 -2
  163. package/dist/components/query-builder/actions.d.ts +4 -4
  164. package/dist/components/query-builder/combinator-selector.d.ts +2 -2
  165. package/dist/components/query-builder/index.d.ts +2 -2
  166. package/dist/components/query-builder/rule-group.d.ts +4 -4
  167. package/dist/components/query-builder/rule.d.ts +2 -2
  168. package/dist/components/query-builder/value-editor.d.ts +2 -2
  169. package/dist/components/query-builder/value-selector.d.ts +2 -2
  170. package/dist/components/radio/context.d.ts +2 -2
  171. package/dist/components/radio/group.d.ts +2 -2
  172. package/dist/components/radio/index.d.ts +2 -2
  173. package/dist/components/search-field/context.d.ts +4 -4
  174. package/dist/components/search-field/index.d.ts +2 -2
  175. package/dist/components/select-field/context.d.ts +4 -4
  176. package/dist/components/select-field/index.d.ts +2 -2
  177. package/dist/components/select-field/index.js +10 -4
  178. package/dist/components/select-field/index.js.map +1 -1
  179. package/dist/components/select-field/styles.module.css +4 -0
  180. package/dist/components/select-field/types.d.ts +1 -0
  181. package/dist/components/sidenav/avatar.d.ts +2 -2
  182. package/dist/components/sidenav/content.d.ts +2 -2
  183. package/dist/components/sidenav/context.d.ts +2 -2
  184. package/dist/components/sidenav/footer.d.ts +2 -2
  185. package/dist/components/sidenav/header.d.ts +2 -2
  186. package/dist/components/sidenav/index.d.ts +2 -2
  187. package/dist/components/sidenav/item.d.ts +2 -2
  188. package/dist/components/sidenav/link.d.ts +2 -2
  189. package/dist/components/sidenav/menu-item.d.ts +2 -2
  190. package/dist/components/sidenav/menu.d.ts +2 -2
  191. package/dist/components/sidenav/trigger.d.ts +2 -2
  192. package/dist/components/skeleton/index.d.ts +2 -2
  193. package/dist/components/slider/index.d.ts +2 -2
  194. package/dist/components/switch/context.d.ts +4 -4
  195. package/dist/components/switch/index.d.ts +2 -2
  196. package/dist/components/table/body.d.ts +2 -2
  197. package/dist/components/table/cell.d.ts +2 -2
  198. package/dist/components/table/context.d.ts +2 -2
  199. package/dist/components/table/header-cell.d.ts +2 -2
  200. package/dist/components/table/header.d.ts +2 -2
  201. package/dist/components/table/index.d.ts +2 -2
  202. package/dist/components/table/row.d.ts +2 -2
  203. package/dist/components/tabs/context.d.ts +4 -4
  204. package/dist/components/tabs/index.d.ts +2 -2
  205. package/dist/components/tabs/list.d.ts +2 -2
  206. package/dist/components/tabs/panel.d.ts +2 -2
  207. package/dist/components/tabs/tab.d.ts +2 -2
  208. package/dist/components/text-area-field/context.d.ts +4 -4
  209. package/dist/components/text-area-field/index.d.ts +2 -2
  210. package/dist/components/text-area-field/styles.module.css +4 -0
  211. package/dist/components/text-field/context.d.ts +4 -4
  212. package/dist/components/text-field/index.d.ts +2 -2
  213. package/dist/components/time-field/index.d.ts +3 -2
  214. package/dist/components/time-field/index.js +4 -2
  215. package/dist/components/time-field/index.js.map +1 -1
  216. package/dist/components/time-field/styles.module.css +5 -2
  217. package/dist/components/tooltip/context.d.ts +2 -2
  218. package/dist/components/tooltip/index.d.ts +2 -2
  219. package/dist/components/tooltip/trigger.d.ts +2 -2
  220. package/dist/components/tree/context.d.ts +3 -3
  221. package/dist/components/tree/index.d.ts +2 -2
  222. package/dist/components/tree/item-actions.d.ts +2 -2
  223. package/dist/components/tree/item-content.d.ts +2 -2
  224. package/dist/components/tree/item-description.d.ts +2 -2
  225. package/dist/components/tree/item-label.d.ts +2 -2
  226. package/dist/components/tree/item-prefix-icon.d.ts +2 -2
  227. package/dist/components/tree/item.d.ts +2 -2
  228. package/dist/components/tree/lines.d.ts +2 -2
  229. package/dist/components/view-stack/context.d.ts +2 -2
  230. package/dist/components/view-stack/index.d.ts +2 -2
  231. package/dist/components/view-stack/trigger.d.ts +2 -2
  232. package/dist/components/view-stack/view.d.ts +2 -2
  233. package/dist/hooks/use-frame-delay/index.d.ts +38 -0
  234. package/dist/hooks/use-frame-delay/index.js +61 -0
  235. package/dist/hooks/use-frame-delay/index.js.map +1 -0
  236. package/dist/index.d.ts +4 -1
  237. package/dist/index.js +3 -1
  238. package/dist/providers/portal.d.ts +2 -2
  239. package/dist/providers/theme-provider.d.ts +2 -2
  240. package/package.json +13 -10
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["COORDINATE_FORMAT_LABELS: Record<CoordinateSystem, string>","COORDINATE_FORMAT_NAMES: Record<CoordinateSystem, string>","COORDINATE_SYSTEMS: readonly CoordinateSystem[]"],"sources":["../../../src/components/coordinate-field/types.ts"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type {\n Dispatch,\n KeyboardEvent,\n RefAttributes,\n SetStateAction,\n} from 'react';\nimport type {\n TextFieldProps as AriaTextFieldProps,\n FieldErrorProps,\n LabelProps,\n} from 'react-aria-components';\n\n/**\n * Supported coordinate systems for display and input\n */\nexport type CoordinateSystem = 'dd' | 'ddm' | 'dms' | 'mgrs' | 'utm';\n\n/**\n * Short labels for coordinate formats (used in popover)\n */\nexport const COORDINATE_FORMAT_LABELS: Record<CoordinateSystem, string> = {\n dd: 'DD',\n ddm: 'DDM',\n dms: 'DMS',\n mgrs: 'MGRS',\n utm: 'UTM',\n};\n\n/**\n * Full names for coordinate formats (used in popover titles/descriptions)\n */\nexport const COORDINATE_FORMAT_NAMES: Record<CoordinateSystem, string> = {\n dd: 'Decimal Degrees',\n ddm: 'Degrees Decimal Minutes',\n dms: 'Degrees Minutes Seconds',\n mgrs: 'Military Grid Reference System',\n utm: 'Universal Transverse Mercator',\n};\n\n/**\n * All supported coordinate systems\n * Use this constant instead of hardcoding the array in multiple places\n */\nexport const COORDINATE_SYSTEMS: readonly CoordinateSystem[] = [\n 'dd',\n 'dms',\n 'ddm',\n 'mgrs',\n 'utm',\n] as const;\n\n/**\n * Coordinate value in Decimal Degrees format (internal representation)\n * All coordinate values are normalized to this format internally\n */\nexport type CoordinateValue = {\n lat: number; // Latitude in decimal degrees (-90 to 90)\n lon: number; // Longitude in decimal degrees (-180 to 180)\n};\n\n/**\n * Types of segments in a coordinate input\n */\nexport type SegmentType =\n | 'numeric'\n | 'directional'\n | 'literal'\n | 'alphanumeric';\n\n/**\n * Configuration for a single coordinate segment\n */\nexport type SegmentConfig = {\n type: SegmentType;\n /** Placeholder text shown when segment is empty */\n placeholder?: string;\n /** Maximum character length for the segment */\n maxLength?: number;\n /** Regex pattern for allowed characters */\n allowedChars?: string;\n /** Fixed value for literal segments (e.g., \", \" or \"º\") */\n value?: string;\n /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */\n pad?: number;\n};\n\n/**\n * Result of parsing a pasted coordinate string\n */\nexport type ParsedCoordinateMatch = {\n /** The coordinate system format that matched */\n format: CoordinateSystem;\n /** The coordinate value in DD format */\n value: CoordinateValue;\n /** Display string in the matched format */\n displayString: string;\n};\n\n/**\n * State shared with child components through context\n */\nexport type CoordinateFieldState = {\n segmentValues: string[];\n format: CoordinateFieldProps['format'];\n /**\n * Current coordinate value in DD format\n * - undefined: uncontrolled mode with no default value\n * - null: controlled mode with empty/invalid value\n * - CoordinateValue: valid coordinate\n */\n currentValue?: CoordinateValue | null;\n /** Validation errors from @accelint/geo */\n validationErrors: string[];\n isDisabled: boolean;\n isInvalid: boolean;\n isRequired: boolean;\n /** Size variant of the field */\n size: CoordinateFieldProps['size'];\n /** Whether or not the logical coordinate fields are inlined or stacked */\n variant: CoordinateFieldProps['variant'];\n /** Function to register timeouts for cleanup on unmount */\n registerTimeout: (timeoutId: NodeJS.Timeout) => void;\n};\n\n/**\n * Props for the CoordinateSegment component\n */\nexport type CoordinateSegmentProps = {\n /** Current value of the segment */\n value: string;\n /** Callback when the segment value changes */\n onChange: (value: string) => void;\n /** Callback when the segment receives focus */\n onFocus?: () => void;\n /** Callback when the segment loses focus */\n onBlur?: () => void;\n /** Callback for keyboard events (used for navigation between segments) */\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n /** Placeholder text to display when segment is empty */\n placeholder?: string;\n /** Maximum character length for the segment */\n maxLength?: number;\n /** Custom className for styling */\n className?: string;\n /** Whether the segment is disabled */\n isDisabled?: boolean;\n /** Regex pattern for allowed characters (e.g., \"[0-9\\\\-\\\\.]\" for numeric, \"[NSEW]\" for directional) */\n allowedChars?: string;\n /** Ref to the input element for programmatic focus management */\n segmentRef?: React.RefObject<HTMLInputElement>;\n /** Index of this segment in the parent field (for accessibility) */\n segmentIndex?: number;\n /** Total number of segments (for accessibility) */\n totalSegments?: number;\n /** Callback to trigger auto-advance to next segment */\n onAutoAdvance?: () => void;\n /** Callback to trigger auto-retreat to previous segment */\n onAutoRetreat?: () => void;\n /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */\n pad?: number;\n /** Semantic accessibility label for the segment (e.g., \"Latitude degrees\") */\n ariaLabel?: string;\n};\n\n/**\n * Props for the CoordinateField component\n *\n * Extends AriaTextFieldProps to inherit standard form field props (id, isDisabled, isRequired, etc.)\n */\nexport type CoordinateFieldProps = Omit<\n AriaTextFieldProps,\n | 'children'\n | 'className'\n | 'placeholder'\n | 'type'\n | 'pattern'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'name' // Not applicable to multi-segment fields\n> &\n RefAttributes<HTMLDivElement> & {\n /**\n * Custom class names for component slots\n */\n classNames?: {\n field?: string;\n label?: LabelProps['className'];\n control?: string;\n input?: string;\n segment?: string;\n description?: string;\n error?: FieldErrorProps['className'];\n formatButton?: string;\n };\n\n /**\n * Label text displayed above the input (medium size only)\n */\n label?: string;\n\n /**\n * Helper text displayed below the input\n */\n description?: string;\n\n /**\n * Error message to display when the field is invalid\n */\n errorMessage?: string;\n\n /**\n * Display format for coordinate input\n * @default 'dd' (Decimal Degrees)\n */\n format?: CoordinateSystem;\n\n /**\n * Size variant of the field\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n\n /**\n * Whether to show the format button for copying coordinates in different formats\n * @default true\n */\n showFormatButton?: boolean;\n\n /**\n * Controlled value in Decimal Degrees format\n * - undefined: uncontrolled mode\n * - null: controlled mode with no/invalid value\n * - CoordinateValue: controlled mode with valid value\n */\n value?: CoordinateValue | null;\n\n /**\n * Whether or not the input is stacked or inline\n * @default 'inline'\n */\n variant?: 'inline' | 'stacked';\n\n /**\n * Default uncontrolled value in Decimal Degrees format\n */\n defaultValue?: CoordinateValue;\n\n /**\n * Callback fired when the coordinate value changes\n * @param value - The new coordinate value in DD format, or null if invalid\n */\n onChange?:\n | Dispatch<SetStateAction<CoordinateValue | null>>\n | ((value: CoordinateValue | null) => void);\n\n /**\n * Callback fired when validation or paste errors occur\n * @param message - Error message (\"Invalid coordinate value\" for validation errors, \"Invalid coordinate format\" for paste errors)\n * @param context - Additional context about the error:\n * - Validation errors: `{ errors: string[], format: string, segments: string[] }`\n * - Paste errors: `{ pastedText: string }`\n */\n onError?: (message: string, context?: Record<string, unknown>) => void;\n };\n"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,MAAaA,2BAA6D;CACxE,IAAI;CACJ,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACN;;;;AAKD,MAAaC,0BAA4D;CACvE,IAAI;CACJ,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACN;;;;;AAMD,MAAaC,qBAAkD;CAC7D;CACA;CACA;CACA;CACA;CACD"}
1
+ {"version":3,"file":"types.js","names":["COORDINATE_FORMAT_LABELS: Record<CoordinateSystem, string>","COORDINATE_FORMAT_NAMES: Record<CoordinateSystem, string>","COORDINATE_SYSTEMS: readonly CoordinateSystem[]"],"sources":["../../../src/components/coordinate-field/types.ts"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type {\n Dispatch,\n KeyboardEvent,\n RefAttributes,\n SetStateAction,\n} from 'react';\nimport type {\n TextFieldProps as AriaTextFieldProps,\n FieldErrorProps,\n LabelProps,\n} from 'react-aria-components';\n\n/**\n * Supported coordinate systems for display and input\n */\nexport type CoordinateSystem = 'dd' | 'ddm' | 'dms' | 'mgrs' | 'utm';\n\n/**\n * Short labels for coordinate formats (used in popover)\n */\nexport const COORDINATE_FORMAT_LABELS: Record<CoordinateSystem, string> = {\n dd: 'DD',\n ddm: 'DDM',\n dms: 'DMS',\n mgrs: 'MGRS',\n utm: 'UTM',\n};\n\n/**\n * Full names for coordinate formats (used in popover titles/descriptions)\n */\nexport const COORDINATE_FORMAT_NAMES: Record<CoordinateSystem, string> = {\n dd: 'Decimal Degrees',\n ddm: 'Degrees Decimal Minutes',\n dms: 'Degrees Minutes Seconds',\n mgrs: 'Military Grid Reference System',\n utm: 'Universal Transverse Mercator',\n};\n\n/**\n * All supported coordinate systems\n * Use this constant instead of hardcoding the array in multiple places\n */\nexport const COORDINATE_SYSTEMS: readonly CoordinateSystem[] = [\n 'dd',\n 'dms',\n 'ddm',\n 'mgrs',\n 'utm',\n] as const;\n\n/**\n * Coordinate value in Decimal Degrees format (internal representation)\n * All coordinate values are normalized to this format internally\n */\nexport type CoordinateValue = {\n lat: number; // Latitude in decimal degrees (-90 to 90)\n lon: number; // Longitude in decimal degrees (-180 to 180)\n};\n\n/**\n * Types of segments in a coordinate input\n */\nexport type SegmentType =\n | 'numeric'\n | 'directional'\n | 'literal'\n | 'alphanumeric';\n\n/**\n * Configuration for a single coordinate segment\n */\nexport type SegmentConfig = {\n type: SegmentType;\n /** Placeholder text shown when segment is empty */\n placeholder?: string;\n /** Maximum character length for the segment */\n maxLength?: number;\n /** Regex pattern for allowed characters */\n allowedChars?: string;\n /** Fixed value for literal segments (e.g., \", \" or \"º\") */\n value?: string;\n /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */\n pad?: number;\n};\n\n/**\n * Result of parsing a pasted coordinate string\n */\nexport type ParsedCoordinateMatch = {\n /** The coordinate system format that matched */\n format: CoordinateSystem;\n /** The coordinate value in DD format */\n value: CoordinateValue;\n /** Display string in the matched format */\n displayString: string;\n};\n\n/**\n * State shared with child components through context\n */\nexport type CoordinateFieldState = {\n segmentValues: string[];\n format: CoordinateFieldProps['format'];\n /**\n * Current coordinate value in DD format\n * - undefined: uncontrolled mode with no default value\n * - null: controlled mode with empty/invalid value\n * - CoordinateValue: valid coordinate\n */\n currentValue?: CoordinateValue | null;\n /** Validation errors from @accelint/geo */\n validationErrors: string[];\n isDisabled: boolean;\n isInvalid: boolean;\n isRequired: boolean;\n /** Size variant of the field */\n size: CoordinateFieldProps['size'];\n /** Whether or not the logical coordinate fields are inlined or stacked */\n variant: CoordinateFieldProps['variant'];\n /** Function to register timeouts for cleanup on unmount */\n registerTimeout: (timeoutId: NodeJS.Timeout) => void;\n};\n\n/**\n * Props for the CoordinateSegment component\n */\nexport type CoordinateSegmentProps = {\n /** Current value of the segment */\n value: string;\n /** Callback when the segment value changes */\n onChange: (value: string) => void;\n /** Callback when the segment receives focus */\n onFocus?: () => void;\n /** Callback when the segment loses focus */\n onBlur?: () => void;\n /** Callback for keyboard events (used for navigation between segments) */\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n /** Placeholder text to display when segment is empty */\n placeholder?: string;\n /** Maximum character length for the segment */\n maxLength?: number;\n /** Custom className for styling */\n className?: string;\n /** Whether the segment is disabled */\n isDisabled?: boolean;\n /** Whether the segment is read-only */\n isReadOnly?: boolean;\n /** Regex pattern for allowed characters (e.g., \"[0-9\\\\-\\\\.]\" for numeric, \"[NSEW]\" for directional) */\n allowedChars?: string;\n /** Ref to the input element for programmatic focus management */\n segmentRef?: React.RefObject<HTMLInputElement>;\n /** Index of this segment in the parent field (for accessibility) */\n segmentIndex?: number;\n /** Total number of segments (for accessibility) */\n totalSegments?: number;\n /** Callback to trigger auto-advance to next segment */\n onAutoAdvance?: () => void;\n /** Callback to trigger auto-retreat to previous segment */\n onAutoRetreat?: () => void;\n /** Padding in CSS 'ch' units to add to the segment width (defaults to 0.5 if not specified) */\n pad?: number;\n /** Semantic accessibility label for the segment (e.g., \"Latitude degrees\") */\n ariaLabel?: string;\n};\n\n/**\n * Props for the CoordinateField component\n *\n * Extends AriaTextFieldProps to inherit standard form field props (id, isDisabled, isRequired, etc.)\n */\nexport type CoordinateFieldProps = Omit<\n AriaTextFieldProps,\n | 'children'\n | 'className'\n | 'placeholder'\n | 'type'\n | 'pattern'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'name' // Not applicable to multi-segment fields\n> &\n RefAttributes<HTMLDivElement> & {\n /**\n * Custom class names for component slots\n */\n classNames?: {\n field?: string;\n label?: LabelProps['className'];\n control?: string;\n input?: string;\n segment?: string;\n description?: string;\n error?: FieldErrorProps['className'];\n formatButton?: string;\n };\n\n /**\n * Label text displayed above the input (medium size only)\n */\n label?: string;\n\n /**\n * Helper text displayed below the input\n */\n description?: string;\n\n /**\n * Error message to display when the field is invalid\n */\n errorMessage?: string;\n\n /**\n * Display format for coordinate input\n * @default 'dd' (Decimal Degrees)\n */\n format?: CoordinateSystem;\n\n /**\n * Size variant of the field\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n\n /**\n * Whether to show the format button for copying coordinates in different formats\n * @default true\n */\n showFormatButton?: boolean;\n\n /**\n * Controlled value in Decimal Degrees format\n * - undefined: uncontrolled mode\n * - null: controlled mode with no/invalid value\n * - CoordinateValue: controlled mode with valid value\n */\n value?: CoordinateValue | null;\n\n /**\n * Whether or not the input is stacked or inline\n * @default 'inline'\n */\n variant?: 'inline' | 'stacked';\n\n /**\n * Default uncontrolled value in Decimal Degrees format\n */\n defaultValue?: CoordinateValue;\n\n /**\n * Callback fired when the coordinate value changes\n * @param value - The new coordinate value in DD format, or null if invalid\n */\n onChange?:\n | Dispatch<SetStateAction<CoordinateValue | null>>\n | ((value: CoordinateValue | null) => void);\n\n /**\n * Callback fired when validation or paste errors occur\n * @param message - Error message (\"Invalid coordinate value\" for validation errors, \"Invalid coordinate format\" for paste errors)\n * @param context - Additional context about the error:\n * - Validation errors: `{ errors: string[], format: string, segments: string[] }`\n * - Paste errors: `{ pastedText: string }`\n */\n onError?: (message: string, context?: Record<string, unknown>) => void;\n };\n"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,MAAaA,2BAA6D;CACxE,IAAI;CACJ,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACN;;;;AAKD,MAAaC,0BAA4D;CACvE,IAAI;CACJ,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACN;;;;;AAMD,MAAaC,qBAAkD;CAC7D;CACA;CACA;CACA;CACA;CACD"}
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { DateFieldProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime185 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime71 from "react/jsx-runtime";
16
16
  import { DateValue } from "@internationalized/date";
17
17
 
18
18
  //#region src/components/date-field/index.d.ts
@@ -73,8 +73,9 @@ declare function DateField<T extends DateValue>({
73
73
  isDisabled,
74
74
  isInvalid: isInvalidProp,
75
75
  isRequired,
76
+ isReadOnly,
76
77
  ...rest
77
- }: DateFieldProps<T>): react_jsx_runtime185.JSX.Element;
78
+ }: DateFieldProps<T>): react_jsx_runtime71.JSX.Element;
78
79
  //#endregion
79
80
  export { DateField };
80
81
  //# sourceMappingURL=index.d.ts.map
@@ -81,7 +81,7 @@ const months = [
81
81
  * onChange={setSelectedDate}
82
82
  * />
83
83
  */
84
- function DateField({ classNames, description: descriptionProp, errorMessage: errorMessageProp, inputProps, label: labelProp, size = "medium", shortMonth = true, shouldForceLeadingZeros = true, isDisabled, isInvalid: isInvalidProp, isRequired, ...rest }) {
84
+ function DateField({ classNames, description: descriptionProp, errorMessage: errorMessageProp, inputProps, label: labelProp, size = "medium", shortMonth = true, shouldForceLeadingZeros = true, isDisabled, isInvalid: isInvalidProp, isRequired, isReadOnly = false, ...rest }) {
85
85
  const errorMessage = errorMessageProp || null;
86
86
  const isSmall = size === "small";
87
87
  return /* @__PURE__ */ jsx(DateField$1, {
@@ -91,6 +91,7 @@ function DateField({ classNames, description: descriptionProp, errorMessage: err
91
91
  isDisabled,
92
92
  isInvalid: isInvalidProp || (errorMessage ? true : void 0),
93
93
  isRequired,
94
+ isReadOnly,
94
95
  "aria-label": labelProp,
95
96
  "data-size": size,
96
97
  children: ({ isDisabled: isDisabled$1 }) => /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -102,7 +103,8 @@ function DateField({ classNames, description: descriptionProp, errorMessage: err
102
103
  }),
103
104
  /* @__PURE__ */ jsxs("div", {
104
105
  className: clsx(styles.control, classNames?.control),
105
- children: [size === "medium" && /* @__PURE__ */ jsx(Icon, { children: /* @__PURE__ */ jsx(Calendar, {}) }), /* @__PURE__ */ jsx(DateInput, {
106
+ "data-readonly": isReadOnly || null,
107
+ children: [!isReadOnly && size === "medium" && /* @__PURE__ */ jsx(Icon, { children: /* @__PURE__ */ jsx(Calendar, {}) }), /* @__PURE__ */ jsx(DateInput, {
106
108
  ...inputProps,
107
109
  className: composeRenderProps(classNames?.input, (className) => clsx(styles.input, className)),
108
110
  children: (segmentProp) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["AriaDateField","Label","isDisabled","AriaDateInput","AriaText"],"sources":["../../../src/components/date-field/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport Calendar from '@accelint/icons/calendar';\nimport {\n DateField as AriaDateField,\n DateInput as AriaDateInput,\n Text as AriaText,\n composeRenderProps,\n DateSegment,\n FieldError,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport styles from './styles.module.css';\nimport type { DateValue } from '@internationalized/date';\nimport type { DateFieldProps } from './types';\n\nconst months = [\n 'JAN',\n 'FEB',\n 'MAR',\n 'APR',\n 'MAY',\n 'JUN',\n 'JUL',\n 'AUG',\n 'SEP',\n 'OCT',\n 'NOV',\n 'DEC',\n];\n\n/**\n * DateField - A comprehensive date input component with segmented editing\n *\n * Provides accessible date input functionality with separate segments for day,\n * month, and year. Includes calendar icon, validation states, and international\n * date format support with keyboard navigation between segments.\n *\n * @example\n * // Basic date field\n * <DateField label=\"Birth Date\" />\n *\n * @example\n * // Date field with validation\n * <DateField\n * label=\"Event Date\"\n * isRequired\n * isInvalid={hasError}\n * errorMessage=\"Please select a valid date\"\n * />\n *\n * @example\n * // Date field with custom formatting\n * <DateField\n * label=\"Meeting Date\"\n * shortMonth={false}\n * placeholder=\"Select meeting date\"\n * />\n *\n * @example\n * // Compact date field\n * <DateField\n * label=\"Due Date\"\n * size=\"small\"\n * description=\"When is this task due?\"\n * />\n *\n * @example\n * // Controlled date field\n * <DateField\n * label=\"Selected Date\"\n * value={selectedDate}\n * onChange={setSelectedDate}\n * />\n */\nexport function DateField<T extends DateValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n size = 'medium',\n shortMonth = true,\n shouldForceLeadingZeros = true,\n isDisabled,\n isInvalid: isInvalidProp,\n isRequired,\n ...rest\n}: DateFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaDateField<T>\n {...rest}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/date-field', styles.field, className),\n )}\n shouldForceLeadingZeros={shouldForceLeadingZeros}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isRequired={isRequired}\n aria-label={labelProp}\n data-size={size}\n >\n {(\n { isDisabled }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && labelProp && (\n <Label\n className={clsx(styles.label, classNames?.label)}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div className={clsx(styles.control, classNames?.control)}>\n {size === 'medium' && (\n <Icon>\n <Calendar />\n </Icon>\n )}\n <AriaDateInput\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n >\n {(segmentProp) => {\n // Remove extra space and punctuation from input display\n if (segmentProp.type === 'literal') {\n return <>{segmentProp.text === ':' ? ':' : null}</>;\n }\n\n return (\n <DateSegment\n className={composeRenderProps(\n classNames?.segment,\n (className) =>\n clsx(\n styles.segment,\n segmentProp.type === 'month' &&\n shortMonth &&\n styles.shortMonth,\n className,\n ),\n )}\n segment={segmentProp}\n >\n {({\n placeholder,\n text,\n value,\n isFocused,\n isPlaceholder,\n }) => {\n if (isPlaceholder) {\n return placeholder;\n }\n\n return segmentProp.type === 'month' &&\n shortMonth &&\n !isFocused\n ? months[(value ?? 0) - 1]\n : text;\n }}\n </DateSegment>\n );\n }}\n </AriaDateInput>\n </div>\n {descriptionProp && (!(isSmall || isInvalidProp) || isDisabled) && (\n <AriaText\n className={clsx(styles.description, classNames?.description)}\n slot='description'\n >\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaDateField>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAM,SAAS;CACb;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CD,SAAgB,UAA+B,EAC7C,YACA,aAAa,iBACb,cAAc,kBACd,YACA,OAAO,WACP,OAAO,UACP,aAAa,MACb,0BAA0B,MAC1B,YACA,WAAW,eACX,YACA,GAAG,QACiB;CACpB,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAACA;EACC,GAAI;EACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,oBAAoB,OAAO,OAAO,UAAU,CAClD;EACwB;EACb;EACZ,WAAW,kBAAkB,eAAe,OAAO;EACvC;EACZ,cAAY;EACZ,aAAW;aAGT,EAAE,+BAEF;GACG,CAAC,WAAW,aACX,oBAACC;IACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;IAChD,YAAYC;IACA;cAEX;KACK;GAEV,qBAAC;IAAI,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ;eACtD,SAAS,YACR,oBAAC,kBACC,oBAAC,aAAW,GACP,EAET,oBAACC;KACC,GAAI;KACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;gBAEC,gBAAgB;AAEhB,UAAI,YAAY,SAAS,UACvB,QAAO,0CAAG,YAAY,SAAS,MAAM,MAAM,OAAQ;AAGrD,aACE,oBAAC;OACC,WAAW,mBACT,YAAY,UACX,cACC,KACE,OAAO,SACP,YAAY,SAAS,WACnB,cACA,OAAO,YACT,UACD,CACJ;OACD,SAAS;kBAEP,EACA,aACA,MACA,OACA,WACA,oBACI;AACJ,YAAI,cACF,QAAO;AAGT,eAAO,YAAY,SAAS,WAC1B,cACA,CAAC,YACC,QAAQ,SAAS,KAAK,KACtB;;QAEM;;MAGJ;KACZ;GACL,oBAAoB,EAAE,WAAW,kBAAkBD,iBAClD,oBAACE;IACC,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;IAC5D,MAAK;cAEJ;KACQ;GAEb,oBAAC;IACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;cAEA;KACU;MACZ;GAES"}
1
+ {"version":3,"file":"index.js","names":["AriaDateField","Label","isDisabled","AriaDateInput","AriaText"],"sources":["../../../src/components/date-field/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { clsx } from '@accelint/design-foundation/lib/utils';\nimport Calendar from '@accelint/icons/calendar';\nimport {\n DateField as AriaDateField,\n DateInput as AriaDateInput,\n Text as AriaText,\n composeRenderProps,\n DateSegment,\n FieldError,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport styles from './styles.module.css';\nimport type { DateValue } from '@internationalized/date';\nimport type { DateFieldProps } from './types';\n\nconst months = [\n 'JAN',\n 'FEB',\n 'MAR',\n 'APR',\n 'MAY',\n 'JUN',\n 'JUL',\n 'AUG',\n 'SEP',\n 'OCT',\n 'NOV',\n 'DEC',\n];\n\n/**\n * DateField - A comprehensive date input component with segmented editing\n *\n * Provides accessible date input functionality with separate segments for day,\n * month, and year. Includes calendar icon, validation states, and international\n * date format support with keyboard navigation between segments.\n *\n * @example\n * // Basic date field\n * <DateField label=\"Birth Date\" />\n *\n * @example\n * // Date field with validation\n * <DateField\n * label=\"Event Date\"\n * isRequired\n * isInvalid={hasError}\n * errorMessage=\"Please select a valid date\"\n * />\n *\n * @example\n * // Date field with custom formatting\n * <DateField\n * label=\"Meeting Date\"\n * shortMonth={false}\n * placeholder=\"Select meeting date\"\n * />\n *\n * @example\n * // Compact date field\n * <DateField\n * label=\"Due Date\"\n * size=\"small\"\n * description=\"When is this task due?\"\n * />\n *\n * @example\n * // Controlled date field\n * <DateField\n * label=\"Selected Date\"\n * value={selectedDate}\n * onChange={setSelectedDate}\n * />\n */\nexport function DateField<T extends DateValue>({\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n size = 'medium',\n shortMonth = true,\n shouldForceLeadingZeros = true,\n isDisabled,\n isInvalid: isInvalidProp,\n isRequired,\n isReadOnly = false,\n ...rest\n}: DateFieldProps<T>) {\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <AriaDateField<T>\n {...rest}\n className={composeRenderProps(classNames?.field, (className) =>\n clsx('group/date-field', styles.field, className),\n )}\n shouldForceLeadingZeros={shouldForceLeadingZeros}\n isDisabled={isDisabled}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n isRequired={isRequired}\n isReadOnly={isReadOnly}\n aria-label={labelProp}\n data-size={size}\n >\n {(\n { isDisabled }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!isSmall && labelProp && (\n <Label\n className={clsx(styles.label, classNames?.label)}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div\n className={clsx(styles.control, classNames?.control)}\n data-readonly={isReadOnly || null}\n >\n {!isReadOnly && size === 'medium' && (\n <Icon>\n <Calendar />\n </Icon>\n )}\n <AriaDateInput\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n clsx(styles.input, className),\n )}\n >\n {(segmentProp) => {\n // Remove extra space and punctuation from input display\n if (segmentProp.type === 'literal') {\n return <>{segmentProp.text === ':' ? ':' : null}</>;\n }\n\n return (\n <DateSegment\n className={composeRenderProps(\n classNames?.segment,\n (className) =>\n clsx(\n styles.segment,\n segmentProp.type === 'month' &&\n shortMonth &&\n styles.shortMonth,\n className,\n ),\n )}\n segment={segmentProp}\n >\n {({\n placeholder,\n text,\n value,\n isFocused,\n isPlaceholder,\n }) => {\n if (isPlaceholder) {\n return placeholder;\n }\n\n return segmentProp.type === 'month' &&\n shortMonth &&\n !isFocused\n ? months[(value ?? 0) - 1]\n : text;\n }}\n </DateSegment>\n );\n }}\n </AriaDateInput>\n </div>\n {descriptionProp && (!(isSmall || isInvalidProp) || isDisabled) && (\n <AriaText\n className={clsx(styles.description, classNames?.description)}\n slot='description'\n >\n {descriptionProp}\n </AriaText>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n clsx(styles.error, className),\n )}\n >\n {errorMessage}\n </FieldError>\n </>\n )}\n </AriaDateField>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,MAAM,SAAS;CACb;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CD,SAAgB,UAA+B,EAC7C,YACA,aAAa,iBACb,cAAc,kBACd,YACA,OAAO,WACP,OAAO,UACP,aAAa,MACb,0BAA0B,MAC1B,YACA,WAAW,eACX,YACA,aAAa,OACb,GAAG,QACiB;CACpB,MAAM,eAAe,oBAAoB;CACzC,MAAM,UAAU,SAAS;AAEzB,QACE,oBAACA;EACC,GAAI;EACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,oBAAoB,OAAO,OAAO,UAAU,CAClD;EACwB;EACb;EACZ,WAAW,kBAAkB,eAAe,OAAO;EACvC;EACA;EACZ,cAAY;EACZ,aAAW;aAGT,EAAE,+BAEF;GACG,CAAC,WAAW,aACX,oBAACC;IACC,WAAW,KAAK,OAAO,OAAO,YAAY,MAAM;IAChD,YAAYC;IACA;cAEX;KACK;GAEV,qBAAC;IACC,WAAW,KAAK,OAAO,SAAS,YAAY,QAAQ;IACpD,iBAAe,cAAc;eAE5B,CAAC,cAAc,SAAS,YACvB,oBAAC,kBACC,oBAAC,aAAW,GACP,EAET,oBAACC;KACC,GAAI;KACJ,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;gBAEC,gBAAgB;AAEhB,UAAI,YAAY,SAAS,UACvB,QAAO,0CAAG,YAAY,SAAS,MAAM,MAAM,OAAQ;AAGrD,aACE,oBAAC;OACC,WAAW,mBACT,YAAY,UACX,cACC,KACE,OAAO,SACP,YAAY,SAAS,WACnB,cACA,OAAO,YACT,UACD,CACJ;OACD,SAAS;kBAEP,EACA,aACA,MACA,OACA,WACA,oBACI;AACJ,YAAI,cACF,QAAO;AAGT,eAAO,YAAY,SAAS,WAC1B,cACA,CAAC,YACC,QAAQ,SAAS,KAAK,KACtB;;QAEM;;MAGJ;KACZ;GACL,oBAAoB,EAAE,WAAW,kBAAkBD,iBAClD,oBAACE;IACC,WAAW,KAAK,OAAO,aAAa,YAAY,YAAY;IAC5D,MAAK;cAEJ;KACQ;GAEb,oBAAC;IACC,WAAW,mBAAmB,YAAY,QAAQ,cAChD,KAAK,OAAO,OAAO,UAAU,CAC9B;cAEA;KACU;MACZ;GAES"}
@@ -43,6 +43,10 @@
43
43
  @variant group-disabled/date-field {
44
44
  @apply fg-disabled outline-interactive-disabled;
45
45
  }
46
+
47
+ @variant read-only {
48
+ @apply px-0 outline-none;
49
+ }
46
50
  }
47
51
 
48
52
  .input {
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { DeferredCollectionProps } from "./types.js";
14
+ import * as react_jsx_runtime74 from "react/jsx-runtime";
15
+
16
+ //#region src/components/deferred-collection/index.d.ts
17
+
18
+ /**
19
+ * DeferredCollection - Defers rendering of large collections to prevent UI freezes.
20
+ *
21
+ * React Aria's collection system processes ALL items synchronously before
22
+ * virtualization begins. This component defers the collection render by a few
23
+ * animation frames, allowing a fallback to display first.
24
+ *
25
+ * @example
26
+ * <DeferredCollection fallback={<LoadingState />}>
27
+ * {() => (
28
+ * <Virtualizer>
29
+ * <ListBox items={items}>
30
+ * {(item) => <ListBoxItem>{item.name}</ListBoxItem>}
31
+ * </ListBox>
32
+ * </Virtualizer>
33
+ * )}
34
+ * </DeferredCollection>
35
+ */
36
+ declare function DeferredCollection({
37
+ children,
38
+ fallback,
39
+ deferFrames
40
+ }: DeferredCollectionProps): react_jsx_runtime74.JSX.Element;
41
+ //#endregion
42
+ export { DeferredCollection, type DeferredCollectionProps };
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+
14
+ import { useFrameDelay } from "../../hooks/use-frame-delay/index.js";
15
+ import { Fragment, jsx } from "react/jsx-runtime";
16
+
17
+ //#region src/components/deferred-collection/index.tsx
18
+ /**
19
+ * DeferredCollection - Defers rendering of large collections to prevent UI freezes.
20
+ *
21
+ * React Aria's collection system processes ALL items synchronously before
22
+ * virtualization begins. This component defers the collection render by a few
23
+ * animation frames, allowing a fallback to display first.
24
+ *
25
+ * @example
26
+ * <DeferredCollection fallback={<LoadingState />}>
27
+ * {() => (
28
+ * <Virtualizer>
29
+ * <ListBox items={items}>
30
+ * {(item) => <ListBoxItem>{item.name}</ListBoxItem>}
31
+ * </ListBox>
32
+ * </Virtualizer>
33
+ * )}
34
+ * </DeferredCollection>
35
+ */
36
+ function DeferredCollection({ children, fallback, deferFrames }) {
37
+ const { isReady } = useFrameDelay({ frames: deferFrames });
38
+ if (isReady) return /* @__PURE__ */ jsx(Fragment, { children: typeof children === "function" ? children() : children });
39
+ return /* @__PURE__ */ jsx(Fragment, { children: fallback });
40
+ }
41
+
42
+ //#endregion
43
+ export { DeferredCollection };
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/deferred-collection/index.tsx"],"sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { useFrameDelay } from '../../hooks/use-frame-delay';\nimport type { DeferredCollectionProps } from './types';\n\n/**\n * DeferredCollection - Defers rendering of large collections to prevent UI freezes.\n *\n * React Aria's collection system processes ALL items synchronously before\n * virtualization begins. This component defers the collection render by a few\n * animation frames, allowing a fallback to display first.\n *\n * @example\n * <DeferredCollection fallback={<LoadingState />}>\n * {() => (\n * <Virtualizer>\n * <ListBox items={items}>\n * {(item) => <ListBoxItem>{item.name}</ListBoxItem>}\n * </ListBox>\n * </Virtualizer>\n * )}\n * </DeferredCollection>\n */\nexport function DeferredCollection({\n children,\n fallback,\n deferFrames,\n}: DeferredCollectionProps) {\n const { isReady } = useFrameDelay({ frames: deferFrames });\n\n if (isReady) {\n return <>{typeof children === 'function' ? children() : children}</>;\n }\n\n return <>{fallback}</>;\n}\n\nexport type { DeferredCollectionProps } from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,mBAAmB,EACjC,UACA,UACA,eAC0B;CAC1B,MAAM,EAAE,YAAY,cAAc,EAAE,QAAQ,aAAa,CAAC;AAE1D,KAAI,QACF,QAAO,0CAAG,OAAO,aAAa,aAAa,UAAU,GAAG,WAAY;AAGtE,QAAO,0CAAG,WAAY"}
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { ReactNode } from "react";
14
+
15
+ //#region src/components/deferred-collection/types.d.ts
16
+ interface DeferredCollectionProps {
17
+ /** The content to render once ready - can be ReactNode or a function returning ReactNode for deferred creation */
18
+ children: ReactNode | (() => ReactNode);
19
+ /** Fallback element to show while deferring render */
20
+ fallback?: ReactNode;
21
+ /** Number of animation frames to defer before rendering (default: 2) */
22
+ deferFrames?: number;
23
+ }
24
+ //#endregion
25
+ export { DeferredCollectionProps };
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at https://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
@@ -13,16 +13,16 @@
13
13
  import { ProviderProps } from "../../lib/types.js";
14
14
  import { DetailsListProps } from "./types.js";
15
15
  import "client-only";
16
- import * as react46 from "react";
16
+ import * as react26 from "react";
17
17
  import { ContextValue } from "react-aria-components";
18
- import * as react_jsx_runtime183 from "react/jsx-runtime";
18
+ import * as react_jsx_runtime77 from "react/jsx-runtime";
19
19
 
20
20
  //#region src/components/details-list/context.d.ts
21
- declare const DetailsListContext: react46.Context<ContextValue<DetailsListProps, HTMLDListElement>>;
21
+ declare const DetailsListContext: react26.Context<ContextValue<DetailsListProps, HTMLDListElement>>;
22
22
  declare function DetailsListProvider({
23
23
  children,
24
24
  ...props
25
- }: ProviderProps<DetailsListProps>): react_jsx_runtime183.JSX.Element;
25
+ }: ProviderProps<DetailsListProps>): react_jsx_runtime77.JSX.Element;
26
26
  //#endregion
27
27
  export { DetailsListContext, DetailsListProvider };
28
28
  //# sourceMappingURL=context.d.ts.map
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { DetailsListProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime182 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime79 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/details-list/index.d.ts
18
18
 
@@ -48,7 +48,7 @@ import * as react_jsx_runtime182 from "react/jsx-runtime";
48
48
  declare function DetailsList({
49
49
  ref,
50
50
  ...props
51
- }: DetailsListProps): react_jsx_runtime182.JSX.Element;
51
+ }: DetailsListProps): react_jsx_runtime79.JSX.Element;
52
52
  //#endregion
53
53
  export { DetailsList };
54
54
  //# sourceMappingURL=index.d.ts.map
@@ -12,10 +12,10 @@
12
12
 
13
13
  import { DetailsListLabelProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime184 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime81 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/details-list/label.d.ts
18
- declare function DetailsListLabel(props: DetailsListLabelProps): react_jsx_runtime184.JSX.Element;
18
+ declare function DetailsListLabel(props: DetailsListLabelProps): react_jsx_runtime81.JSX.Element;
19
19
  //#endregion
20
20
  export { DetailsListLabel };
21
21
  //# sourceMappingURL=label.d.ts.map
@@ -12,10 +12,10 @@
12
12
 
13
13
  import { DetailsListValueProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime179 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime33 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/details-list/value.d.ts
18
- declare function DetailsListValue(props: DetailsListValueProps): react_jsx_runtime179.JSX.Element;
18
+ declare function DetailsListValue(props: DetailsListValueProps): react_jsx_runtime33.JSX.Element;
19
19
  //#endregion
20
20
  export { DetailsListValue };
21
21
  //# sourceMappingURL=value.d.ts.map
@@ -12,13 +12,13 @@
12
12
 
13
13
  import "client-only";
14
14
  import { ComponentProps } from "react";
15
- import * as react_jsx_runtime180 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime35 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/dialog/content.d.ts
18
18
  declare function DialogContent({
19
19
  children,
20
20
  className
21
- }: ComponentProps<'div'>): react_jsx_runtime180.JSX.Element;
21
+ }: ComponentProps<'div'>): react_jsx_runtime35.JSX.Element;
22
22
  //#endregion
23
23
  export { DialogContent };
24
24
  //# sourceMappingURL=content.d.ts.map
@@ -12,11 +12,11 @@
12
12
 
13
13
  import { DialogProps as DialogProps$1 } from "./types.js";
14
14
  import "client-only";
15
- import * as react44 from "react";
15
+ import * as react13 from "react";
16
16
  import { ContextValue } from "react-aria-components";
17
17
 
18
18
  //#region src/components/dialog/context.d.ts
19
- declare const DialogContext: react44.Context<ContextValue<DialogProps$1, HTMLDivElement>>;
19
+ declare const DialogContext: react13.Context<ContextValue<DialogProps$1, HTMLDivElement>>;
20
20
  //#endregion
21
21
  export { DialogContext };
22
22
  //# sourceMappingURL=context.d.ts.map
@@ -12,13 +12,13 @@
12
12
 
13
13
  import "client-only";
14
14
  import { ComponentProps } from "react";
15
- import * as react_jsx_runtime174 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime37 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/dialog/footer.d.ts
18
18
  declare function DialogFooter({
19
19
  children,
20
20
  className
21
- }: ComponentProps<'footer'>): react_jsx_runtime174.JSX.Element;
21
+ }: ComponentProps<'footer'>): react_jsx_runtime37.JSX.Element;
22
22
  //#endregion
23
23
  export { DialogFooter };
24
24
  //# sourceMappingURL=footer.d.ts.map
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { DialogProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime176 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime44 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/dialog/index.d.ts
18
18
 
@@ -43,7 +43,7 @@ import * as react_jsx_runtime176 from "react/jsx-runtime";
43
43
  declare function Dialog({
44
44
  ref,
45
45
  ...props
46
- }: DialogProps): react_jsx_runtime176.JSX.Element;
46
+ }: DialogProps): react_jsx_runtime44.JSX.Element;
47
47
  //#endregion
48
48
  export { Dialog };
49
49
  //# sourceMappingURL=index.d.ts.map
@@ -12,13 +12,13 @@
12
12
 
13
13
  import "client-only";
14
14
  import { HeadingProps } from "react-aria-components";
15
- import * as react_jsx_runtime178 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime47 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/dialog/title.d.ts
18
18
  declare function DialogTitle({
19
19
  children,
20
20
  className
21
- }: HeadingProps): react_jsx_runtime178.JSX.Element;
21
+ }: HeadingProps): react_jsx_runtime47.JSX.Element;
22
22
  //#endregion
23
23
  export { DialogTitle };
24
24
  //# sourceMappingURL=title.d.ts.map
@@ -13,16 +13,16 @@
13
13
  import { ProviderProps } from "../../lib/types.js";
14
14
  import { DividerProps } from "./types.js";
15
15
  import "client-only";
16
- import * as react45 from "react";
16
+ import * as react15 from "react";
17
17
  import { ContextValue } from "react-aria-components";
18
- import * as react_jsx_runtime175 from "react/jsx-runtime";
18
+ import * as react_jsx_runtime45 from "react/jsx-runtime";
19
19
 
20
20
  //#region src/components/divider/context.d.ts
21
- declare const DividerContext: react45.Context<ContextValue<DividerProps, HTMLHRElement>>;
21
+ declare const DividerContext: react15.Context<ContextValue<DividerProps, HTMLHRElement>>;
22
22
  declare function DividerProvider({
23
23
  children,
24
24
  ...props
25
- }: ProviderProps<DividerProps>): react_jsx_runtime175.JSX.Element;
25
+ }: ProviderProps<DividerProps>): react_jsx_runtime45.JSX.Element;
26
26
  //#endregion
27
27
  export { DividerContext, DividerProvider };
28
28
  //# sourceMappingURL=context.d.ts.map
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { DividerProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime177 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime46 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/divider/index.d.ts
18
18
  /**
@@ -32,7 +32,7 @@ import * as react_jsx_runtime177 from "react/jsx-runtime";
32
32
  declare function Divider({
33
33
  ref,
34
34
  ...props
35
- }: DividerProps): react_jsx_runtime177.JSX.Element;
35
+ }: DividerProps): react_jsx_runtime46.JSX.Element;
36
36
  //#endregion
37
37
  export { Divider };
38
38
  //# sourceMappingURL=index.d.ts.map
@@ -11,10 +11,10 @@
11
11
  */
12
12
 
13
13
  import "client-only";
14
- import * as react_jsx_runtime163 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime49 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/drawer/back.d.ts
17
- declare function DrawerBack(): react_jsx_runtime163.JSX.Element | null;
17
+ declare function DrawerBack(): react_jsx_runtime49.JSX.Element | null;
18
18
  //#endregion
19
19
  export { DrawerBack };
20
20
  //# sourceMappingURL=back.d.ts.map
@@ -11,10 +11,10 @@
11
11
  */
12
12
 
13
13
  import "client-only";
14
- import * as react_jsx_runtime165 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime67 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/drawer/close.d.ts
17
- declare function DrawerClose(): react_jsx_runtime165.JSX.Element;
17
+ declare function DrawerClose(): react_jsx_runtime67.JSX.Element;
18
18
  //#endregion
19
19
  export { DrawerClose };
20
20
  //# sourceMappingURL=close.d.ts.map
@@ -11,13 +11,13 @@
11
11
  */
12
12
 
13
13
  import { ComponentPropsWithRef } from "react";
14
- import * as react_jsx_runtime162 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime68 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/drawer/content.d.ts
17
17
  declare function DrawerContent({
18
18
  className,
19
19
  ...rest
20
- }: ComponentPropsWithRef<'div'>): react_jsx_runtime162.JSX.Element;
20
+ }: ComponentPropsWithRef<'div'>): react_jsx_runtime68.JSX.Element;
21
21
  //#endregion
22
22
  export { DrawerContent };
23
23
  //# sourceMappingURL=content.d.ts.map
@@ -12,12 +12,12 @@
12
12
 
13
13
  import { DrawerContextValue, DrawerEvent } from "./types.js";
14
14
  import "client-only";
15
- import * as react47 from "react";
15
+ import * as react25 from "react";
16
16
  import { Broadcast } from "@accelint/bus";
17
17
  import { UniqueId } from "@accelint/core";
18
18
 
19
19
  //#region src/components/drawer/context.d.ts
20
- declare const DrawerContext: react47.Context<DrawerContextValue>;
20
+ declare const DrawerContext: react25.Context<DrawerContextValue>;
21
21
  declare const bus: Broadcast<DrawerEvent>;
22
22
  declare const DrawerEventHandlers: {
23
23
  readonly close: (stack: UniqueId) => void;
@@ -11,13 +11,13 @@
11
11
  */
12
12
 
13
13
  import { ComponentPropsWithRef } from "react";
14
- import * as react_jsx_runtime187 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime70 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/drawer/footer.d.ts
17
17
  declare function DrawerFooter({
18
18
  className,
19
19
  ...rest
20
- }: ComponentPropsWithRef<'footer'>): react_jsx_runtime187.JSX.Element;
20
+ }: ComponentPropsWithRef<'footer'>): react_jsx_runtime70.JSX.Element;
21
21
  //#endregion
22
22
  export { DrawerFooter };
23
23
  //# sourceMappingURL=footer.d.ts.map
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  import { DrawerTitleProps } from "./types.js";
14
- import * as react_jsx_runtime186 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime72 from "react/jsx-runtime";
15
15
 
16
16
  //#region src/components/drawer/header-title.d.ts
17
17
  /**
@@ -23,7 +23,7 @@ declare function DrawerHeaderTitle({
23
23
  className,
24
24
  level,
25
25
  ...rest
26
- }: DrawerTitleProps): react_jsx_runtime186.JSX.Element;
26
+ }: DrawerTitleProps): react_jsx_runtime72.JSX.Element;
27
27
  //#endregion
28
28
  export { DrawerHeaderTitle };
29
29
  //# sourceMappingURL=header-title.d.ts.map
@@ -12,7 +12,7 @@
12
12
 
13
13
  import "client-only";
14
14
  import { ComponentPropsWithRef } from "react";
15
- import * as react_jsx_runtime20 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime73 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/drawer/header.d.ts
18
18
  declare function DrawerHeader({
@@ -20,7 +20,7 @@ declare function DrawerHeader({
20
20
  title,
21
21
  children,
22
22
  ...rest
23
- }: ComponentPropsWithRef<'header'>): react_jsx_runtime20.JSX.Element;
23
+ }: ComponentPropsWithRef<'header'>): react_jsx_runtime73.JSX.Element;
24
24
  //#endregion
25
25
  export { DrawerHeader };
26
26
  //# sourceMappingURL=header.d.ts.map
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { DrawerProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime7 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime75 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/drawer/index.d.ts
18
18
 
@@ -51,7 +51,7 @@ declare function Drawer({
51
51
  size,
52
52
  onChange,
53
53
  ...rest
54
- }: DrawerProps): react_jsx_runtime7.JSX.Element;
54
+ }: DrawerProps): react_jsx_runtime75.JSX.Element;
55
55
  //#endregion
56
56
  export { Drawer };
57
57
  //# sourceMappingURL=index.d.ts.map