@astryxdesign/core 0.4.4 → 0.4.5-canary.1274820

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 (355) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/AvatarGroup/AvatarGroupOverflow.js +1 -1
  3. package/dist/BottomSheet/BottomSheet.d.ts +11 -2
  4. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  5. package/dist/BottomSheet/BottomSheet.js +4 -0
  6. package/dist/BottomSheet/BottomSheetPanel.d.ts +5 -2
  7. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  8. package/dist/BottomSheet/BottomSheetPanel.js +65 -15
  9. package/dist/BottomSheet/index.d.ts +1 -1
  10. package/dist/BottomSheet/index.d.ts.map +1 -1
  11. package/dist/BottomSheet/snapOffsets.d.ts +57 -20
  12. package/dist/BottomSheet/snapOffsets.d.ts.map +1 -1
  13. package/dist/BottomSheet/snapOffsets.js +106 -30
  14. package/dist/BottomSheet/useSheetGestures.d.ts +13 -8
  15. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  16. package/dist/BottomSheet/useSheetGestures.js +160 -64
  17. package/dist/Breadcrumbs/BreadcrumbItem.js +6 -6
  18. package/dist/Button/Button.js +5 -5
  19. package/dist/Calendar/Calendar.d.ts +17 -0
  20. package/dist/Calendar/Calendar.d.ts.map +1 -1
  21. package/dist/Calendar/Calendar.js +34 -3
  22. package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts +14 -0
  23. package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts.map +1 -0
  24. package/dist/Calendar/getStandaloneShortWeekdayNames.js +26 -0
  25. package/dist/Calendar/hooks/useCalendarConstraints.d.ts +22 -1
  26. package/dist/Calendar/hooks/useCalendarConstraints.d.ts.map +1 -1
  27. package/dist/Calendar/hooks/useCalendarConstraints.js +26 -4
  28. package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
  29. package/dist/Calendar/hooks/useCalendarDays.js +14 -10
  30. package/dist/Calendar/standaloneShortWeekdayNames.generated.d.ts +47 -0
  31. package/dist/Calendar/standaloneShortWeekdayNames.generated.d.ts.map +1 -0
  32. package/dist/Calendar/standaloneShortWeekdayNames.generated.js +40 -0
  33. package/dist/Calendar/styles.js +3 -3
  34. package/dist/Center/Center.d.ts +23 -1
  35. package/dist/Center/Center.d.ts.map +1 -1
  36. package/dist/Center/Center.js +12 -6
  37. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  38. package/dist/Chat/ChatComposer.js +2 -2
  39. package/dist/Chat/ChatToolCalls.js +1 -1
  40. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  41. package/dist/CheckboxInput/CheckboxInput.js +9 -0
  42. package/dist/Citation/Citation.js +3 -3
  43. package/dist/ClickableCard/ClickableCard.js +2 -2
  44. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  45. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  46. package/dist/ComplexSelector/ComplexSelector.js +8 -3
  47. package/dist/DateInput/DateInput.d.ts.map +1 -1
  48. package/dist/DateInput/DateInput.js +6 -1
  49. package/dist/DateRangeInput/DateRangeInput.d.ts +23 -1
  50. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  51. package/dist/DateRangeInput/DateRangeInput.js +39 -4
  52. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  53. package/dist/DateTimeInput/DateTimeInput.js +7 -2
  54. package/dist/Dialog/Dialog.d.ts.map +1 -1
  55. package/dist/Dialog/Dialog.js +3 -3
  56. package/dist/Field/FieldLabel.d.ts +2 -1
  57. package/dist/Field/FieldLabel.d.ts.map +1 -1
  58. package/dist/Field/FieldLabel.js +21 -3
  59. package/dist/Field/InputClearButton.d.ts +2 -1
  60. package/dist/Field/InputClearButton.d.ts.map +1 -1
  61. package/dist/Field/InputClearButton.js +6 -1
  62. package/dist/Field/inputStyles.stylex.d.ts.map +1 -1
  63. package/dist/Field/inputStyles.stylex.js +4 -4
  64. package/dist/FileInput/FileInput.d.ts.map +1 -1
  65. package/dist/FileInput/FileInput.js +2 -2
  66. package/dist/FormLayout/FormLayout.d.ts +24 -2
  67. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  68. package/dist/FormLayout/FormLayout.js +7 -2
  69. package/dist/FormLayout/FormLayoutContext.d.ts +15 -2
  70. package/dist/FormLayout/FormLayoutContext.d.ts.map +1 -1
  71. package/dist/FormLayout/FormLayoutContext.js +19 -4
  72. package/dist/FormLayout/index.d.ts +1 -1
  73. package/dist/FormLayout/index.d.ts.map +1 -1
  74. package/dist/Item/Item.d.ts +9 -1
  75. package/dist/Item/Item.d.ts.map +1 -1
  76. package/dist/Item/Item.js +46 -8
  77. package/dist/Layer/useLayer.d.ts.map +1 -1
  78. package/dist/Layer/useLayer.js +3 -2
  79. package/dist/Layout/container.stylex.d.ts +4 -2
  80. package/dist/Layout/container.stylex.d.ts.map +1 -1
  81. package/dist/Layout/container.stylex.js +19 -11
  82. package/dist/Layout/index.d.ts +1 -0
  83. package/dist/Layout/index.d.ts.map +1 -1
  84. package/dist/Layout/index.js +4 -0
  85. package/dist/Layout/padding.stylex.d.ts +315 -12
  86. package/dist/Layout/padding.stylex.d.ts.map +1 -1
  87. package/dist/Layout/padding.stylex.js +389 -12
  88. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  89. package/dist/Lightbox/Lightbox.js +2 -1
  90. package/dist/Link/Link.js +4 -4
  91. package/dist/Markdown/Markdown.d.ts +8 -0
  92. package/dist/Markdown/Markdown.d.ts.map +1 -1
  93. package/dist/Markdown/Markdown.js +31 -3
  94. package/dist/Markdown/parser.d.ts +14 -2
  95. package/dist/Markdown/parser.d.ts.map +1 -1
  96. package/dist/Markdown/parser.js +50 -2
  97. package/dist/MobileNav/MobileNav.d.ts +1 -0
  98. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  99. package/dist/MobileNav/MobileNav.js +24 -6
  100. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  101. package/dist/MultiSelector/MultiSelector.js +8 -3
  102. package/dist/NavItem/navItemStyles.stylex.d.ts +2 -2
  103. package/dist/NavItem/navItemStyles.stylex.js +2 -2
  104. package/dist/NavMenu/NavHeadingMenuItem.js +1 -1
  105. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  106. package/dist/NumberInput/NumberInput.js +38 -5
  107. package/dist/Outline/Outline.js +2 -2
  108. package/dist/Outline/parseOutlineFromMarkdown.d.ts +2 -0
  109. package/dist/Outline/parseOutlineFromMarkdown.d.ts.map +1 -1
  110. package/dist/Outline/parseOutlineFromMarkdown.js +5 -31
  111. package/dist/RadioList/RadioList.d.ts.map +1 -1
  112. package/dist/RadioList/RadioList.js +12 -1
  113. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  114. package/dist/Resizable/ResizeHandle.js +3 -3
  115. package/dist/Section/Section.d.ts +36 -1
  116. package/dist/Section/Section.d.ts.map +1 -1
  117. package/dist/Section/Section.js +12 -2
  118. package/dist/SegmentedControl/SegmentedControlItem.js +1 -1
  119. package/dist/SelectableCard/SelectableCard.js +1 -1
  120. package/dist/Selector/Selector.d.ts +26 -1
  121. package/dist/Selector/Selector.d.ts.map +1 -1
  122. package/dist/Selector/Selector.js +95 -17
  123. package/dist/Selector/SelectorOption.d.ts +14 -1
  124. package/dist/Selector/SelectorOption.d.ts.map +1 -1
  125. package/dist/Selector/SelectorOption.js +6 -0
  126. package/dist/Selector/SelectorRowLayoutContext.d.ts +8 -0
  127. package/dist/Selector/SelectorRowLayoutContext.d.ts.map +1 -0
  128. package/dist/Selector/SelectorRowLayoutContext.js +27 -0
  129. package/dist/Selector/types.d.ts +1 -0
  130. package/dist/Selector/types.d.ts.map +1 -1
  131. package/dist/SideNav/SideNavHeading.js +1 -1
  132. package/dist/SideNav/SideNavItem.js +1 -1
  133. package/dist/Slider/Slider.d.ts.map +1 -1
  134. package/dist/Slider/Slider.js +3 -3
  135. package/dist/Stack/Stack.d.ts +23 -1
  136. package/dist/Stack/Stack.d.ts.map +1 -1
  137. package/dist/Stack/Stack.js +12 -6
  138. package/dist/StatusDot/StatusDot.d.ts +43 -3
  139. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  140. package/dist/StatusDot/StatusDot.js +42 -5
  141. package/dist/Switch/Switch.d.ts.map +1 -1
  142. package/dist/Switch/Switch.js +9 -0
  143. package/dist/TabList/TabMenu.js +1 -1
  144. package/dist/Table/TableRow.js +4 -4
  145. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  146. package/dist/Table/plugins/columnResize/useTableColumnResize.js +1 -1
  147. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
  148. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
  149. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  150. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +7 -2
  151. package/dist/Table/plugins/tree/useTableTreeData.js +2 -2
  152. package/dist/TextArea/TextArea.d.ts.map +1 -1
  153. package/dist/TextArea/TextArea.js +6 -1
  154. package/dist/TextInput/TextInput.d.ts.map +1 -1
  155. package/dist/TextInput/TextInput.js +6 -1
  156. package/dist/Thumbnail/Thumbnail.js +1 -1
  157. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  158. package/dist/TimeInput/TimeInput.js +6 -1
  159. package/dist/Token/Token.js +1 -1
  160. package/dist/TopNav/TopNavHeading.js +2 -2
  161. package/dist/TopNav/TopNavItem.js +2 -2
  162. package/dist/TopNav/TopNavMegaMenu.js +1 -1
  163. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  164. package/dist/TopNav/TopNavMenu.js +2 -2
  165. package/dist/TreeList/TreeListItem.js +1 -1
  166. package/dist/astryx.css +79 -60
  167. package/dist/hooks/containerReveal.stylex.d.ts.map +1 -1
  168. package/dist/hooks/containerReveal.stylex.js +18 -18
  169. package/dist/hooks/scrollbarGutter.d.ts +28 -0
  170. package/dist/hooks/scrollbarGutter.d.ts.map +1 -0
  171. package/dist/hooks/scrollbarGutter.js +103 -0
  172. package/dist/hooks/useResolvedRequired.d.ts +19 -0
  173. package/dist/hooks/useResolvedRequired.d.ts.map +1 -0
  174. package/dist/hooks/useResolvedRequired.js +40 -0
  175. package/dist/hooks/useScrollLock.d.ts +4 -0
  176. package/dist/hooks/useScrollLock.d.ts.map +1 -1
  177. package/dist/hooks/useScrollLock.js +13 -1
  178. package/dist/theme/defineTheme.d.ts +5 -0
  179. package/dist/theme/defineTheme.d.ts.map +1 -1
  180. package/dist/theme/defineTheme.js +5 -0
  181. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  182. package/dist/theme/derivedVarRegistry.js +7 -0
  183. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  184. package/dist/theme/generateThemeRules.js +66 -5
  185. package/dist/utils/plainDate.d.ts +6 -0
  186. package/dist/utils/plainDate.d.ts.map +1 -1
  187. package/dist/utils/plainDate.js +12 -0
  188. package/locales/af-ZA.json +958 -0
  189. package/locales/ar-SA.json +998 -0
  190. package/locales/ca-ES.json +974 -0
  191. package/locales/cs-CZ.json +990 -0
  192. package/locales/da-DK.json +966 -0
  193. package/locales/de-DE.json +966 -0
  194. package/locales/el-GR.json +990 -0
  195. package/locales/en.json +8 -0
  196. package/locales/es-ES.json +978 -0
  197. package/locales/fi-FI.json +990 -0
  198. package/locales/fr-FR.json +928 -0
  199. package/locales/he-IL.json +990 -0
  200. package/locales/hu-HU.json +990 -0
  201. package/locales/it-IT.json +978 -0
  202. package/locales/ja-JP.json +998 -0
  203. package/locales/ko-KR.json +990 -0
  204. package/locales/nl-NL.json +954 -0
  205. package/locales/no-NO.json +978 -0
  206. package/locales/pl-PL.json +982 -0
  207. package/locales/pseudo.json +6 -0
  208. package/locales/pt-BR.json +982 -0
  209. package/locales/pt-PT.json +982 -0
  210. package/locales/ro-RO.json +982 -0
  211. package/locales/ru-RU.json +990 -0
  212. package/locales/sr-SP.json +990 -0
  213. package/locales/sv-SE.json +986 -0
  214. package/locales/tr-TR.json +990 -0
  215. package/locales/uk-UA.json +990 -0
  216. package/locales/vi-VN.json +986 -0
  217. package/locales/zh-CN.json +998 -0
  218. package/locales/zh-TW.json +998 -0
  219. package/package.json +3 -3
  220. package/src/AvatarGroup/AvatarGroupOverflow.tsx +1 -1
  221. package/src/BottomSheet/BottomSheet.doc.mjs +36 -3
  222. package/src/BottomSheet/BottomSheet.test.tsx +177 -2
  223. package/src/BottomSheet/BottomSheet.tsx +16 -2
  224. package/src/BottomSheet/BottomSheetPanel.test.tsx +41 -0
  225. package/src/BottomSheet/BottomSheetPanel.tsx +95 -15
  226. package/src/BottomSheet/index.ts +5 -1
  227. package/src/BottomSheet/snapOffsets.test.ts +114 -47
  228. package/src/BottomSheet/snapOffsets.ts +119 -33
  229. package/src/BottomSheet/useSheetGestures.test.ts +113 -15
  230. package/src/BottomSheet/useSheetGestures.ts +196 -100
  231. package/src/Breadcrumbs/BreadcrumbItem.tsx +1 -1
  232. package/src/Button/Button.tsx +7 -7
  233. package/src/Calendar/Calendar.doc.mjs +16 -0
  234. package/src/Calendar/Calendar.test.tsx +137 -0
  235. package/src/Calendar/Calendar.tsx +65 -2
  236. package/src/Calendar/getStandaloneShortWeekdayNames.test.ts +54 -0
  237. package/src/Calendar/getStandaloneShortWeekdayNames.ts +38 -0
  238. package/src/Calendar/hooks/useCalendarConstraints.ts +54 -3
  239. package/src/Calendar/hooks/useCalendarDays.ts +13 -10
  240. package/src/Calendar/standaloneShortWeekdayNames.generated.ts +50 -0
  241. package/src/Calendar/styles.ts +3 -3
  242. package/src/Center/Center.doc.mjs +48 -0
  243. package/src/Center/Center.test.tsx +158 -0
  244. package/src/Center/Center.tsx +50 -9
  245. package/src/Chat/ChatComposer.tsx +7 -4
  246. package/src/Chat/ChatToolCalls.tsx +1 -1
  247. package/src/CheckboxInput/CheckboxInput.tsx +6 -0
  248. package/src/Citation/Citation.tsx +3 -3
  249. package/src/ClickableCard/ClickableCard.tsx +2 -2
  250. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  251. package/src/ComplexSelector/ComplexSelector.tsx +8 -5
  252. package/src/DateInput/DateInput.test.tsx +1 -1
  253. package/src/DateInput/DateInput.tsx +3 -1
  254. package/src/DateRangeInput/DateRangeInput.doc.mjs +16 -0
  255. package/src/DateRangeInput/DateRangeInput.test.tsx +81 -1
  256. package/src/DateRangeInput/DateRangeInput.tsx +73 -2
  257. package/src/DateTimeInput/DateTimeInput.tsx +4 -2
  258. package/src/Dialog/Dialog.test.tsx +24 -0
  259. package/src/Dialog/Dialog.tsx +3 -0
  260. package/src/Field/Field.doc.mjs +1 -0
  261. package/src/Field/FieldLabel.tsx +20 -4
  262. package/src/Field/InputClearButton.test.tsx +26 -1
  263. package/src/Field/InputClearButton.tsx +4 -1
  264. package/src/Field/inputStyles.stylex.ts +16 -12
  265. package/src/FileInput/FileInput.tsx +5 -4
  266. package/src/FormLayout/FormLayout.doc.mjs +13 -0
  267. package/src/FormLayout/FormLayout.test.tsx +181 -4
  268. package/src/FormLayout/FormLayout.tsx +33 -2
  269. package/src/FormLayout/FormLayoutContext.ts +22 -7
  270. package/src/FormLayout/index.ts +1 -1
  271. package/src/Item/Item.doc.mjs +1 -0
  272. package/src/Item/Item.test.tsx +50 -0
  273. package/src/Item/Item.tsx +41 -2
  274. package/src/Layer/useLayer.tsx +13 -2
  275. package/src/Layout/Layout.doc.mjs +18 -0
  276. package/src/Layout/container.stylex.ts +11 -3
  277. package/src/Layout/index.ts +4 -0
  278. package/src/Layout/overlayPaddingReset.test.tsx +222 -0
  279. package/src/Layout/padding.stylex.ts +192 -12
  280. package/src/Lightbox/Lightbox.tsx +2 -1
  281. package/src/Link/Link.tsx +4 -4
  282. package/src/Markdown/Markdown.doc.mjs +3 -0
  283. package/src/Markdown/Markdown.test.tsx +78 -0
  284. package/src/Markdown/Markdown.tsx +41 -1
  285. package/src/Markdown/parser.ts +60 -2
  286. package/src/MobileNav/MobileNav.tsx +61 -5
  287. package/src/MobileNav/MobileNavEntryAnimation.test.tsx +212 -0
  288. package/src/MobileNav/MobileNavScrollbarGutter.test.tsx +109 -0
  289. package/src/MultiSelector/MultiSelector.test.tsx +1 -1
  290. package/src/MultiSelector/MultiSelector.tsx +8 -5
  291. package/src/NavItem/navItemStyles.stylex.ts +2 -2
  292. package/src/NavMenu/NavHeadingMenuItem.tsx +1 -1
  293. package/src/NumberInput/NumberInput.doc.mjs +24 -0
  294. package/src/NumberInput/NumberInput.test.tsx +138 -0
  295. package/src/NumberInput/NumberInput.tsx +44 -6
  296. package/src/Outline/Outline.doc.mjs +2 -0
  297. package/src/Outline/Outline.tsx +1 -1
  298. package/src/Outline/parseOutlineFromMarkdown.ts +10 -40
  299. package/src/RadioList/RadioList.tsx +9 -1
  300. package/src/Resizable/ResizeHandle.test.tsx +22 -0
  301. package/src/Resizable/ResizeHandle.tsx +9 -3
  302. package/src/Section/Section.doc.mjs +55 -0
  303. package/src/Section/Section.test.tsx +201 -4
  304. package/src/Section/Section.tsx +69 -0
  305. package/src/SegmentedControl/SegmentedControlItem.tsx +1 -1
  306. package/src/SelectableCard/SelectableCard.tsx +1 -1
  307. package/src/Selector/Selector.doc.mjs +16 -2
  308. package/src/Selector/Selector.test.tsx +525 -1
  309. package/src/Selector/Selector.tsx +166 -21
  310. package/src/Selector/SelectorOption.doc.mjs +7 -0
  311. package/src/Selector/SelectorOption.tsx +21 -0
  312. package/src/Selector/SelectorRowLayoutContext.ts +32 -0
  313. package/src/Selector/types.ts +4 -4
  314. package/src/SideNav/SideNavHeading.tsx +2 -2
  315. package/src/SideNav/SideNavItem.tsx +1 -1
  316. package/src/Slider/Slider.tsx +11 -1
  317. package/src/Stack/Stack.doc.mjs +72 -0
  318. package/src/Stack/Stack.test.tsx +156 -0
  319. package/src/Stack/Stack.tsx +50 -8
  320. package/src/StatusDot/StatusDot.doc.mjs +13 -0
  321. package/src/StatusDot/StatusDot.test.tsx +115 -8
  322. package/src/StatusDot/StatusDot.tsx +74 -9
  323. package/src/Switch/Switch.tsx +6 -0
  324. package/src/TabList/TabMenu.tsx +1 -1
  325. package/src/Table/TableRow.tsx +4 -4
  326. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +2 -1
  327. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +2 -1
  328. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +22 -4
  329. package/src/Table/plugins/tree/useTableTreeData.tsx +2 -2
  330. package/src/TextArea/TextArea.tsx +3 -1
  331. package/src/TextInput/TextInput.tsx +3 -1
  332. package/src/Thumbnail/Thumbnail.tsx +1 -1
  333. package/src/TimeInput/TimeInput.tsx +3 -1
  334. package/src/Token/Token.tsx +1 -1
  335. package/src/TopNav/TopNavHeading.tsx +1 -1
  336. package/src/TopNav/TopNavItem.tsx +2 -2
  337. package/src/TopNav/TopNavMegaMenu.tsx +1 -1
  338. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  339. package/src/TopNav/TopNavMenu.tsx +2 -2
  340. package/src/TreeList/TreeListItem.tsx +1 -1
  341. package/src/hooks/containerReveal.stylex.ts +54 -18
  342. package/src/hooks/scrollbarGutter.test.ts +167 -0
  343. package/src/hooks/scrollbarGutter.ts +121 -0
  344. package/src/hooks/useResolvedRequired.ts +42 -0
  345. package/src/hooks/useScrollLock.doc.mjs +4 -4
  346. package/src/hooks/useScrollLock.test.ts +73 -0
  347. package/src/hooks/useScrollLock.ts +14 -0
  348. package/src/theme/defineTheme.test.ts +9 -3
  349. package/src/theme/defineTheme.ts +5 -0
  350. package/src/theme/derivedVarRegistry.test.ts +14 -3
  351. package/src/theme/derivedVarRegistry.ts +4 -0
  352. package/src/theme/generateThemeRules.test.ts +118 -0
  353. package/src/theme/generateThemeRules.ts +83 -5
  354. package/src/utils/plainDate.test.ts +50 -0
  355. package/src/utils/plainDate.ts +12 -0
@@ -136,7 +136,7 @@ function CallRow({
136
136
  className: "x78zum5 x6s0dn4 x1s4dlld xjwf9q1 x13f7esw"
137
137
  },
138
138
  1: {
139
- className: "x78zum5 x6s0dn4 x1s4dlld xjwf9q1 x13f7esw x1ypdohk xh6dtrn x7a5moj xtedp8i xe9uy6x"
139
+ className: "x78zum5 x6s0dn4 x1s4dlld xjwf9q1 x13f7esw x1ypdohk xh6dtrn x7a5moj xtedp8i xoevpu5"
140
140
  }
141
141
  }[!!hasDetail << 0],
142
142
  children: [/*#__PURE__*/_jsxs("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAS3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AA8EhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,kBAAkB,+BAmMpB;yBA5Ne,aAAa"}
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAS3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AA+EhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,kBAAkB,+BAwMpB;yBAjOe,aAAa"}
@@ -26,6 +26,7 @@ import { useTooltip } from "../Tooltip/index.js";
26
26
  import { mergeProps, mergeRefs } from "../utils/index.js";
27
27
  import { indicatorScope } from "../Indicator/indicator.markers.stylex.js";
28
28
  import { useIndicatorFocusRing } from "../hooks/useIndicatorFocusRing.js";
29
+ import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
29
30
  import { useIndicator } from "../Indicator/index.js";
30
31
  import { themeProps } from "../utils/themeProps.js";
31
32
  import { CheckboxListContext } from "../CheckboxList/CheckboxListContext.js";
@@ -138,6 +139,13 @@ export function CheckboxInput({
138
139
  const id = useId();
139
140
  const descriptionID = useId();
140
141
  const statusMessageID = useId();
142
+ // Announce the effective required state (form default included) while the
143
+ // native `required` stays bound to the explicit `isRequired` so a layout
144
+ // default never switches on browser validation.
145
+ const isEffectivelyRequired = useResolvedRequired({
146
+ isRequired,
147
+ isOptional
148
+ });
141
149
  const [, startTransition] = useTransition();
142
150
  const [optimisticValue, setOptimisticValue] = useOptimistic(value);
143
151
  const isBusy = isLoading || optimisticValue !== value;
@@ -241,6 +249,7 @@ export function CheckboxInput({
241
249
  form: isFocusableDisabled ? '' : undefined,
242
250
  readOnly: isReadOnly,
243
251
  required: isRequired,
252
+ "aria-required": isEffectivelyRequired ? 'true' : undefined,
244
253
  onChange: e => {
245
254
  if (isDisabled || isBusy || isReadOnly) {
246
255
  return;
@@ -57,8 +57,8 @@ const styles = {
57
57
  $$css: true
58
58
  },
59
59
  labelHover: {
60
- kWkggS: "xe9uy6x",
61
- kMwMTN: "xv1l7n4 x140uwzg",
60
+ kWkggS: "xoevpu5",
61
+ kMwMTN: "xv1l7n4 xo5jvnm",
62
62
  $$css: true
63
63
  },
64
64
  number: {
@@ -86,7 +86,7 @@ const styles = {
86
86
  $$css: true
87
87
  },
88
88
  numberHover: {
89
- kWkggS: "xgcxg3y xe9uy6x",
89
+ kWkggS: "xgcxg3y xoevpu5",
90
90
  $$css: true
91
91
  }
92
92
  };
@@ -64,7 +64,7 @@ const styles = {
64
64
  $$css: true
65
65
  },
66
66
  hoverOnPointer: {
67
- kJs8I2: "xi14tyy",
67
+ k8t4tK: "x1912f9e",
68
68
  $$css: true
69
69
  },
70
70
  borderless: {
@@ -83,7 +83,7 @@ const styles = {
83
83
  $$css: true
84
84
  },
85
85
  borderedHoverOnPointer: {
86
- kbt25U: "x1ww4t2b",
86
+ kpsWHe: "x1xwh4np",
87
87
  $$css: true
88
88
  },
89
89
  disabled: {
@@ -42,7 +42,7 @@ const styles = {
42
42
  $$css: true
43
43
  },
44
44
  itemHover: {
45
- kHE3J0: "xe9uy6x",
45
+ kRL5z6: "xoevpu5",
46
46
  kSReZ0: "xyxi2l3",
47
47
  $$css: true
48
48
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAA4B,KAAK,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAI5D,OAAO,KAAK,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAiBtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAoI9C,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,MAAM,WAAW,0BAA0B;IACzC,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,IAAI,IAAI,IAAI,CAAC;IACb,iEAAiE;IACjE,KAAK,IAAI,IAAI,CAAC;IACd,kDAAkD;IAClD,MAAM,IAAI,IAAI,CAAC;IACf,wEAAwE;IACxE,MAAM,IAAI,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK,CAAE,SAAQ,IAAI,CACvD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,wEAAwE;IACxE,QAAQ,EAAE,CACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,KAAK,EAAE,MAAM,IAAI,EACjB,KAAK,EAAE,0BAA0B,KAC9B,SAAS,CAAC;IACf,iDAAiD;IACjD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,sDAAsD;IACtD,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gCAAgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yBAAyB;IACzB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,wBAAwB;IACxB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,kDAAkD;IAClD,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,uBAAuB;IACvB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,gDAAgD;IAChD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC7C,qDAAqD;IACrD,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,WAAW,EAAE,oBAAoB,EACjC,aAAqB,EACrB,WAAW,EACX,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,SAAiB,EACjB,MAAM,EACN,aAA0B,EAC1B,YAAY,EACZ,IAAW,EACX,OAAiB,EACjB,SAAS,EACT,KAAK,EACL,SAAmB,EACnB,SAAmB,EACnB,SAAS,EACT,aAAa,EACb,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,WAAW,EACpB,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,KAAK,CAAC,qBAgO7B;yBA/Pe,eAAe"}
@@ -23,6 +23,7 @@ import { Spinner } from "../Spinner/index.js";
23
23
  import { useTranslator } from "../i18n/index.js";
24
24
  import { layerAnimations } from "../Layer/layerAnimations.stylex.js";
25
25
  import { usePopover } from "../Popover/usePopover.js";
26
+ import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
26
27
  import "../theme/tokens.stylex.js";
27
28
  import { colorVars, durationVars, easeVars, fontWeightVars, radiusVars, sizeVars, spacingVars, typographyVars, typeScaleVars } from "../theme/tokens.stylex.js";
28
29
  import { isRenderable, mergeProps } from "../utils/index.js";
@@ -87,8 +88,8 @@ const styles = {
87
88
  kzqmXN: "x14atkfc",
88
89
  kMzoRj: "xc342km",
89
90
  kWkggS: "xjbqb8w",
90
- kKwaWg: "x1ilzqfv xq8i9tn",
91
- kGVxlE: "x1gnnqk1 x1irk71m x15ysqaf",
91
+ kKwaWg: "xmvprkv xq8i9tn",
92
+ kGVxlE: "x1gnnqk1 x1s17dad x15ysqaf",
92
93
  k63SB2: "x1e4wzip",
93
94
  k1ekBW: "xrafxwg",
94
95
  k3aq6I: "x3oybdh xk4oym4",
@@ -212,6 +213,10 @@ export function ComplexSelector({
212
213
  ...props
213
214
  }) {
214
215
  const t = useTranslator();
216
+ const isEffectivelyRequired = useResolvedRequired({
217
+ isRequired,
218
+ isOptional
219
+ });
215
220
  const placeholder = placeholderFromProps ?? t('@astryx.selector.placeholder');
216
221
  const effectiveStatusVariant = variant === 'ghost' && statusVariant === 'attached' ? 'detached' : statusVariant;
217
222
  const triggerId = useId();
@@ -318,7 +323,7 @@ export function ComplexSelector({
318
323
  "aria-controls": contentId,
319
324
  "aria-describedby": ariaDescribedBy,
320
325
  "aria-labelledby": labelId,
321
- "aria-required": isRequired ? 'true' : undefined,
326
+ "aria-required": isEffectivelyRequired ? 'true' : undefined,
322
327
  "aria-invalid": status?.type === 'error' ? 'true' : undefined,
323
328
  "aria-busy": isBusy || undefined,
324
329
  disabled: isDisabled,
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ import { Spinner } from "../Spinner/index.js";
29
29
  import { Calendar } from "../Calendar/index.js";
30
30
  import { useCalendarConstraints } from "../Calendar/hooks/index.js";
31
31
  import { useInputStatusIcon } from "../hooks/useInputStatusIcon.js";
32
+ import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
32
33
  import { usePopover } from "../Popover/index.js";
33
34
  import { useTooltip } from "../Tooltip/index.js";
34
35
  import { getInputARIA, isImeKeyEvent, parseDateInput } from "../utils/index.js";
@@ -137,6 +138,10 @@ export function DateInput({
137
138
  ...rest
138
139
  }) {
139
140
  const t = useTranslator();
141
+ const isEffectivelyRequired = useResolvedRequired({
142
+ isRequired,
143
+ isOptional
144
+ });
140
145
  const placeholder = placeholderFromProps ?? t('@astryx.dateInput.placeholder');
141
146
  const size = useSize(sizeProp, 'md');
142
147
  const id = useId();
@@ -419,7 +424,7 @@ export function DateInput({
419
424
  readOnly: showsDisabledMessage || undefined,
420
425
  "aria-labelledby": ariaLabelledBy,
421
426
  "aria-describedby": ariaDescribedBy,
422
- "aria-required": isRequired === true ? 'true' : undefined,
427
+ "aria-required": isEffectivelyRequired ? 'true' : undefined,
423
428
  "aria-invalid": status?.type === 'error' || !isInputValid ? 'true' : undefined,
424
429
  "aria-busy": isBusy || undefined,
425
430
  "aria-expanded": popover.isOpen,
@@ -93,6 +93,28 @@ export interface DateRangeInputProps extends Omit<BaseProps, 'onChange' | 'defau
93
93
  * A date is disabled if ANY function returns false.
94
94
  */
95
95
  dateConstraints?: ReadonlyArray<(date: Date) => boolean>;
96
+ /**
97
+ * Maximum number of days the selected range may span, counting both
98
+ * endpoints — `maxRangeSpan={7}` allows a 7-day window (start + 6 days).
99
+ * Once a start date is picked, days beyond this distance from it are
100
+ * disabled, so the user can't stretch the range past the cap. Use for
101
+ * rolling windows like "at most a week from the chosen day"; for fixed
102
+ * calendar bounds use `min`/`max`.
103
+ *
104
+ * This constrains selection only — it never rewrites a `value` that is
105
+ * already wider than the cap. Surface such a value with `status` if you
106
+ * need to flag it. A `preset` whose range violates the cap is disabled
107
+ * (shown but not committable) rather than allowed to override it.
108
+ */
109
+ maxRangeSpan?: number;
110
+ /**
111
+ * Minimum number of days the selected range must span, counting both
112
+ * endpoints — `minRangeSpan={2}` forbids a single-day range. Once a start
113
+ * date is picked, days closer than this to it are disabled — except the
114
+ * start itself, which stays selectable as the active anchor. Defaults to 1
115
+ * (a same-day start and end is allowed).
116
+ */
117
+ minRangeSpan?: number;
96
118
  /**
97
119
  * Preset date ranges shown as quick-select options beside the calendar.
98
120
  */
@@ -163,7 +185,7 @@ export interface DateRangeInputProps extends Omit<BaseProps, 'onChange' | 'defau
163
185
  * />
164
186
  * ```
165
187
  */
166
- export declare function DateRangeInput({ label, isLabelHidden, description, isOptional, isRequired, isDisabled, disabledMessage, value, onChange, changeAction, isLoading, min, max, dateConstraints, presets, hasClear, placeholder: placeholderFromProps, size: sizeProp, status, statusVariant, labelTooltip, numberOfMonths, weekStartsOn, width, xstyle, className, style, ref, ...rest }: DateRangeInputProps): import("react").JSX.Element;
188
+ export declare function DateRangeInput({ label, isLabelHidden, description, isOptional, isRequired, isDisabled, disabledMessage, value, onChange, changeAction, isLoading, min, max, dateConstraints, maxRangeSpan, minRangeSpan, presets, hasClear, placeholder: placeholderFromProps, size: sizeProp, status, statusVariant, labelTooltip, numberOfMonths, weekStartsOn, width, xstyle, className, style, ref, ...rest }: DateRangeInputProps): import("react").JSX.Element;
167
189
  export declare namespace DateRangeInput {
168
190
  var displayName: string;
169
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeInput.d.ts","sourceRoot":"","sources":["../../src/DateRangeInput/DateRangeInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateRangeInput.d.ts","sourceRoot":"","sources":["../../src/DateRangeInput/DateRangeInput.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { useId, useCallback, useMemo, useOptimistic, useTransition } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
20
- import { plainDateFromISO, plainDateToday, plainDateFormat, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR } from "../utils/plainDate.js";
20
+ import { plainDateFromISO, plainDateToday, plainDateFormat, plainDateDiffDays, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR } from "../utils/plainDate.js";
21
21
  import "../theme/tokens.stylex.js";
22
22
  import { colorVars, sizeVars, radiusVars, spacingVars, typographyVars, typeScaleVars, borderVars } from "../theme/tokens.stylex.js";
23
23
  import { Field, InputClearButton, inputWrapperStyles, inputStatusBorderStyles, inputStatusHoverShadowStyles, inputStatusFocusWithinStyles } from "../Field/index.js";
@@ -29,6 +29,7 @@ import { useTooltip } from "../Tooltip/index.js";
29
29
  import { mergeProps } from "../utils/index.js";
30
30
  import { useSize } from "../SizeContext/SizeContext.js";
31
31
  import { useInputStatusIcon } from "../hooks/useInputStatusIcon.js";
32
+ import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
32
33
  import { themeProps } from "../utils/themeProps.js";
33
34
  import { focusOutlineStyles } from "../utils/focusOutline.stylex.js";
34
35
  import { stableClassName } from "../naming.js";
@@ -60,7 +61,7 @@ const styles = {
60
61
  kMzoRj: "xc342km",
61
62
  ksu8eU: "xng3xce",
62
63
  kaIpWk: "xh6dtrn",
63
- kWkggS: "xjbqb8w xe9uy6x",
64
+ kWkggS: "xjbqb8w xoevpu5",
64
65
  kMv6JI: "x9ynric",
65
66
  kGuDYH: "xcr08ib",
66
67
  kLWn49: "x1kq96og",
@@ -73,6 +74,12 @@ const styles = {
73
74
  kWkggS: "xgcxg3y",
74
75
  kMwMTN: "xqwr325",
75
76
  $$css: true
77
+ },
78
+ presetButtonDisabled: {
79
+ kMwMTN: "xnbbluu",
80
+ kkrTdU: "x1h6gzvc",
81
+ kWkggS: "xjbqb8w",
82
+ $$css: true
76
83
  }
77
84
  };
78
85
  const sizeStyles = {
@@ -112,6 +119,24 @@ function isRangeEqual(a, b) {
112
119
  }
113
120
  return a.start === b.start && a.end === b.end;
114
121
  }
122
+
123
+ // A preset that would land outside the span bounds is disabled rather than
124
+ // allowed to override them: the cap is authoritative, so an out-of-window
125
+ // preset stays visible (discoverable) but non-committable, mirroring how the
126
+ // calendar disables out-of-window days. Spans count both endpoints.
127
+ function isRangeWithinSpan(range, maxRangeSpan, minRangeSpan) {
128
+ if (maxRangeSpan == null && minRangeSpan == null) {
129
+ return true;
130
+ }
131
+ const span = Math.abs(plainDateDiffDays(plainDateFromISO(range.start), plainDateFromISO(range.end))) + 1;
132
+ if (maxRangeSpan != null && span > maxRangeSpan) {
133
+ return false;
134
+ }
135
+ if (minRangeSpan != null && span < minRangeSpan) {
136
+ return false;
137
+ }
138
+ return true;
139
+ }
115
140
  /**
116
141
  * A date range picker with a button trigger that opens a popover
117
142
  * containing a dual-month calendar and optional preset ranges.
@@ -143,6 +168,8 @@ export function DateRangeInput({
143
168
  min,
144
169
  max,
145
170
  dateConstraints,
171
+ maxRangeSpan,
172
+ minRangeSpan,
146
173
  presets,
147
174
  hasClear = true,
148
175
  placeholder: placeholderFromProps,
@@ -160,6 +187,10 @@ export function DateRangeInput({
160
187
  ...rest
161
188
  }) {
162
189
  const t = useTranslator();
190
+ const isEffectivelyRequired = useResolvedRequired({
191
+ isRequired,
192
+ isOptional
193
+ });
163
194
  const placeholder = placeholderFromProps ?? t('@astryx.dateRangeInput.placeholder');
164
195
  const size = useSize(sizeProp, 'md');
165
196
  const id = useId();
@@ -293,7 +324,7 @@ export function DateRangeInput({
293
324
  "aria-disabled": showsDisabledMessage ? 'true' : undefined,
294
325
  "aria-label": triggerAriaLabel,
295
326
  "aria-describedby": ariaDescribedBy,
296
- "aria-required": isRequired === true ? 'true' : undefined,
327
+ "aria-required": isEffectivelyRequired ? 'true' : undefined,
297
328
  "aria-invalid": status?.type === 'error' ? 'true' : undefined,
298
329
  "aria-busy": isBusy || undefined,
299
330
  "aria-expanded": popover.isOpen,
@@ -336,6 +367,7 @@ export function DateRangeInput({
336
367
  children: presets.map(preset => {
337
368
  const presetRange = preset.getRange();
338
369
  const isActive = isRangeEqual(value, presetRange);
370
+ const isPresetDisabled = !isRangeWithinSpan(presetRange, maxRangeSpan, minRangeSpan);
339
371
  return /*#__PURE__*/_jsx("button", {
340
372
  type: "button"
341
373
  // These presets are independent action buttons navigated by
@@ -345,8 +377,9 @@ export function DateRangeInput({
345
377
  // concept that contradicted the Tab interaction) (forms-5).
346
378
  ,
347
379
  "aria-current": isActive ? 'true' : undefined,
380
+ disabled: isPresetDisabled,
348
381
  onClick: () => handlePresetClick(preset),
349
- ...stylex.props(focusOutlineStyles.focusVisible, styles.presetButton, isActive && styles.presetButtonActive),
382
+ ...stylex.props(focusOutlineStyles.focusVisible, styles.presetButton, isActive && styles.presetButtonActive, isPresetDisabled && styles.presetButtonDisabled),
350
383
  children: preset.label
351
384
  }, preset.label);
352
385
  })
@@ -357,6 +390,8 @@ export function DateRangeInput({
357
390
  min: min,
358
391
  max: max,
359
392
  dateConstraints: dateConstraints,
393
+ maxRangeSpan: maxRangeSpan,
394
+ minRangeSpan: minRangeSpan,
360
395
  numberOfMonths: numberOfMonths,
361
396
  weekStartsOn: weekStartsOn
362
397
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeInput.d.ts","sourceRoot":"","sources":["../../src/DateTimeInput/DateTimeInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeInput.d.ts","sourceRoot":"","sources":["../../src/DateTimeInput/DateTimeInput.tsx"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ import { useInputStatusIcon } from "../hooks/useInputStatusIcon.js";
32
32
  import { parseDateInput, parseTimeInput, formatDisplayTime12h, formatDisplayTime24h, formatISOTime, isTimeInRange, adjustTime, isImeKeyEvent, mergeProps, mergeRefs, isFocusDetached } from "../utils/index.js";
33
33
  import { plainDateFromISO, plainDateToISO, plainDateFormat, DATE_FORMAT_LONG } from "../utils/plainDate.js";
34
34
  import { useAnnounce } from "../hooks/useAnnounce.js";
35
+ import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
35
36
  import { useSize } from "../SizeContext/SizeContext.js";
36
37
  import { themeProps } from "../utils/themeProps.js";
37
38
  import { focusOutlineStyles } from "../utils/focusOutline.stylex.js";
@@ -170,6 +171,10 @@ export function DateTimeInput({
170
171
  ...rest
171
172
  }) {
172
173
  const t = useTranslator();
174
+ const isEffectivelyRequired = useResolvedRequired({
175
+ isRequired,
176
+ isOptional
177
+ });
173
178
  // Speaks arrow-key stepping results through the persistent live regions:
174
179
  // stepping programmatically rewrites a plain textbox's value, which screen
175
180
  // readers do not announce on their own (WCAG 4.1.2).
@@ -597,7 +602,7 @@ export function DateTimeInput({
597
602
  "aria-disabled": showsDisabledMessage ? 'true' : undefined,
598
603
  readOnly: showsDisabledMessage || undefined,
599
604
  "aria-describedby": ariaDescribedBy,
600
- "aria-required": isRequired === true ? 'true' : undefined,
605
+ "aria-required": isEffectivelyRequired ? 'true' : undefined,
601
606
  "aria-invalid": status?.type === 'error' || !isDateInputValid ? 'true' : undefined,
602
607
  "aria-busy": isBusy || undefined,
603
608
  "aria-expanded": popover.isOpen,
@@ -676,7 +681,7 @@ export function DateTimeInput({
676
681
  label
677
682
  }),
678
683
  "aria-describedby": ariaDescribedBy,
679
- "aria-required": isRequired === true ? 'true' : undefined,
684
+ "aria-required": isEffectivelyRequired ? 'true' : undefined,
680
685
  "aria-invalid": status?.type === 'error' || !isTimeInputValid ? 'true' : undefined,
681
686
  "aria-busy": isBusy || undefined,
682
687
  ...{
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAqB5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAsB9C;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,4EAA4E;AAC5E,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAuHD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc;;;;;EAUpE;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,QAAgB,EAChB,YAAY,EACZ,KAAW,EACX,SAAkB,EAClB,QAAQ,EACR,OAAoB,EACpB,OAAgB,EAChB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,sCA2Sb;yBA3Te,MAAM"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsB5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAsB9C;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,4EAA4E;AAC5E,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAuHD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc;;;;;EAUpE;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,QAAgB,EAChB,YAAY,EACZ,KAAW,EACX,SAAkB,EAClB,QAAQ,EACR,OAAoB,EACpB,OAAgB,EAChB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,sCA6Sb;yBA7Te,MAAM"}
@@ -23,7 +23,7 @@ import { isImeKeyEvent } from "../utils/ime.js";
23
23
  import "../theme/tokens.stylex.js";
24
24
  import { colorVars, radiusVars, durationVars, easeVars, shadowVars } from "../theme/tokens.stylex.js";
25
25
  import { container } from "../Layout/container.stylex.js";
26
- import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles, spacingStepToToken } from "../Layout/padding.stylex.js";
26
+ import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles, spacingStepToToken, overlayPaddingReset } from "../Layout/padding.stylex.js";
27
27
  import { mergeProps, mergeRefs } from "../utils/index.js";
28
28
  import { devWarn } from "../utils/devWarning.js";
29
29
  import { DialogContext } from "./DialogContext.js";
@@ -435,7 +435,7 @@ export function Dialog({
435
435
  ...safeProps,
436
436
  ...mergeProps(themeProps('dialog', {
437
437
  variant
438
- }), stylex.props(styles.inlineWrapper, !isFullscreen && dynamicStyles.sizing(width, maxHeight), isFullscreen && styles.fullscreen, xstyle), className, style),
438
+ }), stylex.props(styles.inlineWrapper, overlayPaddingReset.reset, !isFullscreen && dynamicStyles.sizing(width, maxHeight), isFullscreen && styles.fullscreen, xstyle), className, style),
439
439
  "data-testid": props['data-testid'],
440
440
  children: innerContent
441
441
  });
@@ -448,7 +448,7 @@ export function Dialog({
448
448
  ...safeProps,
449
449
  ...mergeProps(themeProps('dialog', {
450
450
  variant
451
- }), focusOutlineProps.focusVisible(styles.dialog, isOpen && styles.open, styles.backdrop, !isFullscreen && dynamicStyles.sizing(width, maxHeight), hasPosition && (() => {
451
+ }), focusOutlineProps.focusVisible(styles.dialog, overlayPaddingReset.reset, isOpen && styles.open, styles.backdrop, !isFullscreen && dynamicStyles.sizing(width, maxHeight), hasPosition && (() => {
452
452
  const o = resolveDialogPositionOffsets(position);
453
453
  return dynamicStyles.position(o.top, o.insetInlineStart, o.insetInlineEnd, o.bottom);
454
454
  })(), isFullscreen && styles.fullscreen, xstyle), className, style),
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * @file FieldLabel.tsx
3
- * @input Uses React, Icon, IconType, useTranslator
3
+ * @input Uses React, Icon, IconType, useTranslator, FormLayoutContext
4
4
  * @output Exports FieldLabel component, FieldLabelProps
5
5
  * @position Core label implementation; used by Field, CheckboxInput, Switch
6
6
  *
7
7
  * SYNC: When modified, update these files to stay in sync:
8
8
  * - /packages/core/src/Field/Field.doc.mjs (props table, features, implementation notes)
9
9
  * - /packages/core/src/Field/index.ts (exports if types change)
10
+ * - /packages/core/src/FormLayout/FormLayoutContext.ts (defaultOptionality drives the indicator)
10
11
  * - /packages/cli/assets/templates/blocks/components/Field/ (showcase blocks)
11
12
  * - /packages/core/locales/en.json (@astryx.field.required / @astryx.field.optional)
12
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FieldLabel.d.ts","sourceRoot":"","sources":["../../src/Field/FieldLabel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAU5C,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AAyD5D,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IAClE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,OAAO,EACP,YAAoB,EACpB,aAAqB,EACrB,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,EACH,GAAG,IAAI,EACR,EAAE,eAAe,+BAwGjB;yBA1He,UAAU"}
1
+ {"version":3,"file":"FieldLabel.d.ts","sourceRoot":"","sources":["../../src/Field/FieldLabel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAuB,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAC;AAE3E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAU5C,OAAO,EAAuB,KAAK,QAAQ,EAAC,MAAM,SAAS,CAAC;AA0D5D,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,gBAAgB,CAAC;IAClE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,OAAO,EACP,YAAoB,EACpB,aAAqB,EACrB,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,EACH,GAAG,IAAI,EACR,EAAE,eAAe,+BAsHjB;yBAxIe,UAAU"}
@@ -4,17 +4,18 @@
4
4
 
5
5
  /**
6
6
  * @file FieldLabel.tsx
7
- * @input Uses React, Icon, IconType, useTranslator
7
+ * @input Uses React, Icon, IconType, useTranslator, FormLayoutContext
8
8
  * @output Exports FieldLabel component, FieldLabelProps
9
9
  * @position Core label implementation; used by Field, CheckboxInput, Switch
10
10
  *
11
11
  * SYNC: When modified, update these files to stay in sync:
12
12
  * - /packages/core/src/Field/Field.doc.mjs (props table, features, implementation notes)
13
13
  * - /packages/core/src/Field/index.ts (exports if types change)
14
+ * - /packages/core/src/FormLayout/FormLayoutContext.ts (defaultOptionality drives the indicator)
14
15
  * - /packages/cli/assets/templates/blocks/components/Field/ (showcase blocks)
15
16
  * - /packages/core/locales/en.json (@astryx.field.required / @astryx.field.optional)
16
17
  */
17
- import { useMemo, useRef } from 'react';
18
+ import { use, useMemo, useRef } from 'react';
18
19
  import * as stylex from '@stylexjs/stylex';
19
20
  import { mergeProps } from "../utils/index.js";
20
21
  import "../theme/tokens.stylex.js";
@@ -24,6 +25,7 @@ import { Tooltip } from "../Tooltip/index.js";
24
25
  import { useTranslator } from "../i18n/index.js";
25
26
  import { themeProps } from "../utils/themeProps.js";
26
27
  import { useInputContainer } from "../hooks/index.js";
28
+ import { FormLayoutContext } from "../FormLayout/FormLayoutContext.js";
27
29
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
28
30
  const styles = {
29
31
  label: {
@@ -93,7 +95,23 @@ export function FieldLabel({
93
95
  ...rest
94
96
  }) {
95
97
  const t = useTranslator();
96
- const statusText = isOptional ? t('@astryx.field.optional') : isRequired ? t('@astryx.field.required') : null;
98
+ const {
99
+ defaultOptionality
100
+ } = use(FormLayoutContext);
101
+
102
+ // A form-level `defaultOptionality` means "only the exception is marked": a
103
+ // field that merely restates the form's default shows no indicator, and only
104
+ // a deviation from it does. This is the *visible indicator* only; the
105
+ // matching `aria-required` is resolved on each control (see
106
+ // useResolvedRequired) so the unmarked majority is still announced.
107
+ //
108
+ // defaultOptionality isRequired isOptional
109
+ // 'optional' → required indicator → (matches default, hidden)
110
+ // 'required' → (matches, hidden) → optional indicator
111
+ // unset → required indicator → optional indicator
112
+ const showRequired = isRequired && defaultOptionality !== 'required';
113
+ const showOptional = isOptional && defaultOptionality !== 'optional';
114
+ const statusText = showOptional ? t('@astryx.field.optional') : showRequired ? t('@astryx.field.required') : null;
97
115
 
98
116
  // A group label (e.g. for a radiogroup) must not be a literal `<label>`
99
117
  // element: a `<label>` semantically names a single form control and can't be
@@ -7,7 +7,8 @@
7
7
  * TextInput, NumberInput, TimeInput, DateInput, DateTimeInput,
8
8
  * DateRangeInput, Selector, MultiSelector, Typeahead, Tokenizer, FileInput —
9
9
  * routes it through here, so the glyph is themed in one place via the
10
- * `astryx-input-clear-icon` target.
10
+ * `astryx-input-clear-icon` target and the button wrapper is themed via the
11
+ * `astryx-input-clear-button` target.
11
12
  */
12
13
  import type { ReactNode } from 'react';
13
14
  import * as stylex from '@stylexjs/stylex';
@@ -1 +1 @@
1
- {"version":3,"file":"InputClearButton.d.ts","sourceRoot":"","sources":["../../src/Field/InputClearButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAY3C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IAC7B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,MAAM,EACN,aAAa,GACd,EAAE,qBAAqB,GAAG,SAAS,CAwBnC;yBA7Be,gBAAgB"}
1
+ {"version":3,"file":"InputClearButton.d.ts","sourceRoot":"","sources":["../../src/Field/InputClearButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAY3C,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IAC7B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,MAAM,EACN,aAAa,GACd,EAAE,qBAAqB,GAAG,SAAS,CA0BnC;yBA/Be,gBAAgB"}
@@ -11,7 +11,8 @@
11
11
  * TextInput, NumberInput, TimeInput, DateInput, DateTimeInput,
12
12
  * DateRangeInput, Selector, MultiSelector, Typeahead, Tokenizer, FileInput —
13
13
  * routes it through here, so the glyph is themed in one place via the
14
- * `astryx-input-clear-icon` target.
14
+ * `astryx-input-clear-icon` target and the button wrapper is themed via the
15
+ * `astryx-input-clear-button` target.
15
16
  */
16
17
  import * as stylex from '@stylexjs/stylex';
17
18
  import { Button } from "../Button/index.js";
@@ -34,10 +35,14 @@ export function InputClearButton({
34
35
  const {
35
36
  className: iconTargetClassName
36
37
  } = themeProps('input-clear-icon');
38
+ const {
39
+ className: buttonTargetClassName
40
+ } = themeProps('input-clear-button');
37
41
  return /*#__PURE__*/_jsx(Button, {
38
42
  variant: "ghost",
39
43
  size: "sm",
40
44
  label: label,
45
+ className: buttonTargetClassName,
41
46
  icon: /*#__PURE__*/_jsx(Icon, {
42
47
  icon: "close",
43
48
  size: "sm",
@@ -1 +1 @@
1
- {"version":3,"file":"inputStyles.stylex.d.ts","sourceRoot":"","sources":["../../src/Field/inputStyles.stylex.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAW3C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;EAUlC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;EAyBvC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;EAmBvC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;EAmBjC,CAAC"}
1
+ {"version":3,"file":"inputStyles.stylex.d.ts","sourceRoot":"","sources":["../../src/Field/inputStyles.stylex.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAW3C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;EAUlC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;EA4BvC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;EAmBvC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;EAmBjC,CAAC"}
@@ -41,7 +41,7 @@ export const inputWrapperStyles = {
41
41
  k1ekBW: "x12zzom9",
42
42
  kIyJzY: "xuedmi6 x12w9bfk",
43
43
  kAMwcw: "xlr8y92",
44
- kGVxlE: "x1gnnqk1 x12y27fx xuihb5h",
44
+ kGVxlE: "x1gnnqk1 x1xqjsvb xuihb5h",
45
45
  kI3sdo: "x1a2a7pz",
46
46
  $$css: true
47
47
  },
@@ -79,15 +79,15 @@ export const inputStatusBorderStyles = {
79
79
  */
80
80
  export const inputStatusHoverShadowStyles = {
81
81
  warning: {
82
- kGVxlE: "x1gnnqk1 xnoa3fc",
82
+ kGVxlE: "x1gnnqk1 x9156jc",
83
83
  $$css: true
84
84
  },
85
85
  error: {
86
- kGVxlE: "x1gnnqk1 xl68szm",
86
+ kGVxlE: "x1gnnqk1 x1bgmis8",
87
87
  $$css: true
88
88
  },
89
89
  success: {
90
- kGVxlE: "x1gnnqk1 xig9bu2",
90
+ kGVxlE: "x1gnnqk1 x8wp45d",
91
91
  $$css: true
92
92
  }
93
93
  };