@astryxdesign/core 0.7.9-canary.ef3db95 → 0.7.9-canary.f384e62

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 (270) hide show
  1. package/dist/BottomSheet/BottomSheet.js +2 -2
  2. package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -1
  3. package/dist/BottomSheet/bottomSheetStack.js +4 -3
  4. package/dist/BottomSheet/useSheetGestures.js +2 -2
  5. package/dist/CheckboxInput/CheckboxInput.d.ts +2 -1
  6. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  7. package/dist/CheckboxInput/CheckboxInput.js +29 -16
  8. package/dist/CheckboxInput/CheckboxRowPressContext.d.ts +2 -0
  9. package/dist/CheckboxInput/CheckboxRowPressContext.d.ts.map +1 -0
  10. package/dist/CheckboxInput/CheckboxRowPressContext.js +20 -0
  11. package/dist/CheckboxList/CheckboxListItem.d.ts +2 -1
  12. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  13. package/dist/CheckboxList/CheckboxListItem.js +40 -14
  14. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  15. package/dist/ContextMenu/ContextMenu.js +2 -0
  16. package/dist/DateInput/DateInput.d.ts +37 -6
  17. package/dist/DateInput/DateInput.d.ts.map +1 -1
  18. package/dist/DateInput/DateInput.js +98 -128
  19. package/dist/DateInput/MonthScroller.d.ts +5 -2
  20. package/dist/DateInput/MonthScroller.d.ts.map +1 -1
  21. package/dist/DateInput/MonthScroller.js +26 -29
  22. package/dist/DateInput/MonthYearWheels.d.ts +10 -1
  23. package/dist/DateInput/MonthYearWheels.d.ts.map +1 -1
  24. package/dist/DateInput/MonthYearWheels.js +54 -42
  25. package/dist/DateInput/TouchDateField.d.ts +1 -1
  26. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  27. package/dist/DateInput/TouchDateField.js +26 -21
  28. package/dist/DateInput/monthGeometry.d.ts +42 -8
  29. package/dist/DateInput/monthGeometry.d.ts.map +1 -1
  30. package/dist/DateInput/monthGeometry.js +81 -7
  31. package/dist/DateInput/useCalendarPresentation.d.ts +10 -0
  32. package/dist/DateInput/useCalendarPresentation.d.ts.map +1 -0
  33. package/dist/DateInput/useCalendarPresentation.js +32 -0
  34. package/dist/DateInput/useTypedDate.d.ts +92 -0
  35. package/dist/DateInput/useTypedDate.d.ts.map +1 -0
  36. package/dist/DateInput/useTypedDate.js +269 -0
  37. package/dist/DateRangeInput/DateRangeInput.d.ts +17 -1
  38. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  39. package/dist/DateRangeInput/DateRangeInput.js +15 -11
  40. package/dist/DateTimeInput/DateTimeInput.d.ts +26 -3
  41. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  42. package/dist/DateTimeInput/DateTimeInput.js +93 -92
  43. package/dist/DateTimeInput/TouchDateTimeField.d.ts +1 -1
  44. package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
  45. package/dist/DateTimeInput/TouchDateTimeField.js +26 -20
  46. package/dist/Dialog/Dialog.d.ts.map +1 -1
  47. package/dist/Dialog/Dialog.js +2 -2
  48. package/dist/DropdownMenu/DropdownMenu.js +2 -4
  49. package/dist/InfoTip/InfoTip.d.ts.map +1 -1
  50. package/dist/InfoTip/InfoTip.js +5 -18
  51. package/dist/Item/Item.d.ts +18 -0
  52. package/dist/Item/Item.d.ts.map +1 -1
  53. package/dist/Item/Item.js +70 -25
  54. package/dist/Item/ItemListRowContext.d.ts +2 -0
  55. package/dist/Item/ItemListRowContext.d.ts.map +1 -0
  56. package/dist/Item/ItemListRowContext.js +16 -0
  57. package/dist/Layer/outsidePress.d.ts +4 -0
  58. package/dist/Layer/outsidePress.d.ts.map +1 -1
  59. package/dist/Layer/outsidePress.js +18 -1
  60. package/dist/Layer/useBackdropPress.d.ts +8 -0
  61. package/dist/Layer/useBackdropPress.d.ts.map +1 -1
  62. package/dist/Layer/useBackdropPress.js +31 -2
  63. package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
  64. package/dist/Layer/useTouchTrigger.js +4 -0
  65. package/dist/Layout/LayoutPanel.d.ts +10 -10
  66. package/dist/Layout/LayoutPanel.d.ts.map +1 -1
  67. package/dist/Layout/LayoutPanel.js +71 -10
  68. package/dist/List/List.d.ts.map +1 -1
  69. package/dist/List/List.js +1 -0
  70. package/dist/List/ListItem.d.ts +5 -4
  71. package/dist/List/ListItem.d.ts.map +1 -1
  72. package/dist/List/ListItem.js +45 -9
  73. package/dist/Markdown/parser.d.ts.map +1 -1
  74. package/dist/Markdown/parser.js +56 -39
  75. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  76. package/dist/MultiSelector/MultiSelector.js +6 -9
  77. package/dist/OverflowList/OverflowList.d.ts.map +1 -1
  78. package/dist/OverflowList/OverflowList.js +7 -2
  79. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  80. package/dist/PowerSearch/PowerSearch.js +6 -4
  81. package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -1
  82. package/dist/PowerSearch/PowerSearchBottomSheet.js +4 -2
  83. package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
  84. package/dist/PowerSearch/PowerSearchToken.js +3 -1
  85. package/dist/PowerSearch/formatFilterValue.d.ts +9 -3
  86. package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
  87. package/dist/PowerSearch/formatFilterValue.js +14 -11
  88. package/dist/PowerSearch/formatTokenValue.d.ts +6 -2
  89. package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -1
  90. package/dist/PowerSearch/formatTokenValue.js +6 -3
  91. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  92. package/dist/RadioList/RadioListItem.js +5 -10
  93. package/dist/Resizable/ResizeHandle.d.ts +5 -5
  94. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  95. package/dist/Resizable/ResizeHandle.js +44 -5
  96. package/dist/Resizable/resizablePane.d.ts +58 -0
  97. package/dist/Resizable/resizablePane.d.ts.map +1 -0
  98. package/dist/Resizable/resizablePane.js +137 -0
  99. package/dist/Resizable/useResizable.d.ts +7 -0
  100. package/dist/Resizable/useResizable.d.ts.map +1 -1
  101. package/dist/Resizable/useResizable.js +13 -0
  102. package/dist/Selector/Selector.d.ts.map +1 -1
  103. package/dist/Selector/Selector.js +51 -10
  104. package/dist/SideNav/SideNav.d.ts +9 -3
  105. package/dist/SideNav/SideNav.d.ts.map +1 -1
  106. package/dist/SideNav/SideNav.js +45 -10
  107. package/dist/TabList/Tab.d.ts.map +1 -1
  108. package/dist/TabList/Tab.js +5 -1
  109. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  110. package/dist/Timestamp/Timestamp.js +14 -8
  111. package/dist/Timestamp/formatInstant.d.ts +10 -1
  112. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  113. package/dist/Timestamp/formatInstant.js +13 -27
  114. package/dist/Timestamp/tooltipEntries.d.ts +5 -3
  115. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  116. package/dist/Timestamp/tooltipEntries.js +6 -4
  117. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  118. package/dist/Tooltip/useTooltip.js +2 -0
  119. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  120. package/dist/Typeahead/BaseTypeahead.js +2 -1
  121. package/dist/astryx.css +344 -334
  122. package/dist/hooks/computeOverflow.d.ts +2 -0
  123. package/dist/hooks/computeOverflow.d.ts.map +1 -1
  124. package/dist/hooks/computeOverflow.js +1 -1
  125. package/dist/hooks/useClickableContainer.d.ts +10 -3
  126. package/dist/hooks/useClickableContainer.d.ts.map +1 -1
  127. package/dist/hooks/useClickableContainer.js +23 -10
  128. package/dist/hooks/useKeyboardHighlight.d.ts +17 -0
  129. package/dist/hooks/useKeyboardHighlight.d.ts.map +1 -0
  130. package/dist/hooks/useKeyboardHighlight.js +38 -0
  131. package/dist/hooks/useMediaQuery.d.ts +2 -1
  132. package/dist/hooks/useMediaQuery.d.ts.map +1 -1
  133. package/dist/hooks/useMediaQuery.js +37 -12
  134. package/dist/hooks/useOverflow.d.ts +10 -0
  135. package/dist/hooks/useOverflow.d.ts.map +1 -1
  136. package/dist/hooks/useOverflow.js +214 -23
  137. package/dist/i18n/InternationalizationProvider.d.ts +7 -4
  138. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  139. package/dist/i18n/generated-english/DateInput/DateInput.generated.d.ts.map +1 -1
  140. package/dist/i18n/generated-english/DateInput/DateInput.generated.js +0 -1
  141. package/dist/i18n/generated-english/DateInput/useTypedDate.generated.d.ts +8 -0
  142. package/dist/i18n/generated-english/DateInput/useTypedDate.generated.d.ts.map +1 -0
  143. package/dist/i18n/generated-english/DateInput/useTypedDate.generated.js +16 -0
  144. package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.d.ts.map +1 -1
  145. package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.js +0 -1
  146. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  147. package/dist/i18n/generated-locales/en.generated.js +4 -0
  148. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  149. package/dist/i18n/generated-locales/pseudo.generated.js +4 -0
  150. package/dist/internal/calendar-system.d.ts +18 -0
  151. package/dist/internal/calendar-system.d.ts.map +1 -0
  152. package/dist/internal/calendar-system.js +19 -0
  153. package/dist/privateAttributes/press.stylex.d.ts +14 -11
  154. package/dist/privateAttributes/press.stylex.d.ts.map +1 -1
  155. package/dist/privateAttributes/press.stylex.js +15 -11
  156. package/dist/utils/calendarDateParser.d.ts +110 -0
  157. package/dist/utils/calendarDateParser.d.ts.map +1 -0
  158. package/dist/utils/calendarDateParser.js +1225 -0
  159. package/dist/utils/calendarSystem.d.ts +77 -7
  160. package/dist/utils/calendarSystem.d.ts.map +1 -1
  161. package/dist/utils/calendarSystem.js +244 -18
  162. package/dist/utils/coarsePointer.d.ts +5 -0
  163. package/dist/utils/coarsePointer.d.ts.map +1 -1
  164. package/dist/utils/coarsePointer.js +22 -13
  165. package/dist/utils/focusReturn.d.ts +10 -2
  166. package/dist/utils/focusReturn.d.ts.map +1 -1
  167. package/dist/utils/focusReturn.js +16 -3
  168. package/dist/utils/hitArea.d.ts +8 -1
  169. package/dist/utils/hitArea.d.ts.map +1 -1
  170. package/dist/utils/hitArea.js +17 -4
  171. package/dist/utils/inputPresentation.d.ts +9 -1
  172. package/dist/utils/inputPresentation.d.ts.map +1 -1
  173. package/dist/utils/inputPresentation.js +15 -1
  174. package/dist/utils/plainDate.d.ts +27 -2
  175. package/dist/utils/plainDate.d.ts.map +1 -1
  176. package/dist/utils/plainDate.js +58 -3
  177. package/dist/utils/touchHitArea.d.ts +30 -0
  178. package/dist/utils/touchHitArea.d.ts.map +1 -0
  179. package/dist/utils/touchHitArea.js +167 -0
  180. package/dist/utils/touchHitArea.stylex.d.ts +6 -3
  181. package/dist/utils/touchHitArea.stylex.d.ts.map +1 -1
  182. package/dist/utils/touchHitArea.stylex.js +19 -3
  183. package/locales/en.json +17 -1
  184. package/locales/pseudo.json +12 -0
  185. package/package.json +9 -4
  186. package/src/BottomSheet/BottomSheet.tsx +2 -2
  187. package/src/BottomSheet/bottomSheetStack.ts +4 -3
  188. package/src/BottomSheet/useSheetGestures.ts +2 -2
  189. package/src/Calendar/Calendar.doc.mjs +2 -2
  190. package/src/CheckboxInput/CheckboxInput.doc.mjs +2 -2
  191. package/src/CheckboxInput/CheckboxInput.tsx +46 -23
  192. package/src/CheckboxInput/CheckboxRowPressContext.ts +22 -0
  193. package/src/CheckboxList/CheckboxList.doc.mjs +9 -0
  194. package/src/CheckboxList/CheckboxListItem.doc.mjs +3 -3
  195. package/src/CheckboxList/CheckboxListItem.tsx +35 -14
  196. package/src/ContextMenu/ContextMenu.tsx +2 -0
  197. package/src/DateInput/DateInput.doc.mjs +45 -12
  198. package/src/DateInput/DateInput.tsx +165 -181
  199. package/src/DateInput/MonthScroller.tsx +39 -37
  200. package/src/DateInput/MonthYearWheels.tsx +68 -47
  201. package/src/DateInput/TouchDateField.tsx +45 -17
  202. package/src/DateInput/monthGeometry.ts +110 -8
  203. package/src/DateInput/useCalendarPresentation.ts +64 -0
  204. package/src/DateInput/useTypedDate.ts +469 -0
  205. package/src/DateRangeInput/DateRangeInput.doc.mjs +9 -0
  206. package/src/DateRangeInput/DateRangeInput.tsx +42 -10
  207. package/src/DateTimeInput/DateTimeInput.doc.mjs +42 -9
  208. package/src/DateTimeInput/DateTimeInput.tsx +138 -150
  209. package/src/DateTimeInput/TouchDateTimeField.tsx +31 -16
  210. package/src/Dialog/Dialog.tsx +2 -1
  211. package/src/DropdownMenu/DropdownMenu.tsx +2 -2
  212. package/src/Icon/useIcon.doc.mjs +94 -0
  213. package/src/InfoTip/InfoTip.tsx +5 -27
  214. package/src/Item/Item.tsx +92 -30
  215. package/src/Item/ItemListRowContext.tsx +18 -0
  216. package/src/Layer/outsidePress.ts +18 -1
  217. package/src/Layer/useBackdropPress.ts +41 -1
  218. package/src/Layer/useTouchTrigger.ts +4 -0
  219. package/src/Layout/LayoutPanel.doc.mjs +8 -8
  220. package/src/Layout/LayoutPanel.tsx +105 -15
  221. package/src/List/List.doc.mjs +10 -1
  222. package/src/List/List.tsx +5 -0
  223. package/src/List/ListItem.tsx +63 -8
  224. package/src/Markdown/parser.ts +65 -42
  225. package/src/MultiSelector/MultiSelector.tsx +7 -17
  226. package/src/OverflowList/OverflowList.tsx +15 -9
  227. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  228. package/src/PowerSearch/PowerSearch.tsx +6 -2
  229. package/src/PowerSearch/PowerSearchBottomSheet.tsx +4 -1
  230. package/src/PowerSearch/PowerSearchToken.tsx +3 -0
  231. package/src/PowerSearch/formatFilterValue.ts +21 -11
  232. package/src/PowerSearch/formatTokenValue.ts +7 -1
  233. package/src/RadioList/RadioListItem.tsx +5 -13
  234. package/src/Resizable/Resizable.doc.mjs +40 -12
  235. package/src/Resizable/ResizeHandle.tsx +68 -6
  236. package/src/Resizable/resizablePane.ts +179 -0
  237. package/src/Resizable/useResizable.ts +15 -0
  238. package/src/Selector/Selector.tsx +83 -8
  239. package/src/SideNav/SideNav.doc.mjs +2 -2
  240. package/src/SideNav/SideNav.tsx +87 -12
  241. package/src/TabList/Tab.tsx +5 -1
  242. package/src/Timestamp/Timestamp.doc.mjs +3 -3
  243. package/src/Timestamp/Timestamp.tsx +13 -8
  244. package/src/Timestamp/formatInstant.ts +49 -28
  245. package/src/Timestamp/tooltipEntries.ts +7 -3
  246. package/src/Tooltip/useTooltip.tsx +2 -0
  247. package/src/Typeahead/BaseTypeahead.tsx +2 -0
  248. package/src/hooks/computeOverflow.ts +1 -1
  249. package/src/hooks/useClickableContainer.ts +22 -10
  250. package/src/hooks/useKeyboardHighlight.ts +71 -0
  251. package/src/hooks/useMediaQuery.ts +41 -12
  252. package/src/hooks/useOverflow.ts +321 -75
  253. package/src/i18n/InternationalizationProvider.doc.mjs +3 -3
  254. package/src/i18n/InternationalizationProvider.tsx +7 -4
  255. package/src/i18n/generated-english/DateInput/DateInput.generated.ts +0 -1
  256. package/src/i18n/generated-english/DateInput/useTypedDate.generated.ts +17 -0
  257. package/src/i18n/generated-english/DateTimeInput/DateTimeInput.generated.ts +0 -1
  258. package/src/i18n/generated-locales/en.generated.ts +6 -0
  259. package/src/i18n/generated-locales/pseudo.generated.ts +6 -0
  260. package/src/internal/calendar-system.ts +26 -0
  261. package/src/privateAttributes/press.stylex.ts +29 -11
  262. package/src/utils/calendarDateParser.ts +1385 -0
  263. package/src/utils/calendarSystem.ts +376 -25
  264. package/src/utils/coarsePointer.ts +27 -14
  265. package/src/utils/focusReturn.ts +17 -3
  266. package/src/utils/hitArea.ts +31 -4
  267. package/src/utils/inputPresentation.ts +21 -1
  268. package/src/utils/plainDate.ts +79 -2
  269. package/src/utils/touchHitArea.stylex.ts +18 -3
  270. package/src/utils/touchHitArea.ts +177 -0
@@ -65,7 +65,7 @@ import { ModalAnnounceProvider } from "../hooks/ModalAnnounceProvider.js";
65
65
  import { useModalOutlet } from "../Layer/modalOutlet.js";
66
66
  import { useLayerDismissal } from "../Layer/useLayerDismissal.js";
67
67
  import { useFocusRegionContainment } from "../hooks/useFocusTrap.js";
68
- import { focusForLastInput } from "../utils/focusReturn.js";
68
+ import { returnFocusForLastInput } from "../utils/focusReturn.js";
69
69
  import { useInteractionModalityTracking } from "../utils/interactionModality.js";
70
70
  import { BottomSheetPanel } from "./BottomSheetPanel.js";
71
71
  import { BottomSheetEdgeTint } from "./BottomSheetEdgeTint.js";
@@ -533,7 +533,7 @@ function StandaloneBottomSheet({
533
533
  if (revealed != null && (returnTarget == null || !revealed.element.contains(returnTarget))) {
534
534
  revealed.focus();
535
535
  } else if (returnTarget != null) {
536
- focusForLastInput(returnTarget);
536
+ returnFocusForLastInput(returnTarget);
537
537
  }
538
538
  triggerRef.current = null;
539
539
  }, [finalFocusRef, hasScrim, isOpen]);
@@ -1 +1 @@
1
- {"version":3,"file":"bottomSheetStack.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/bottomSheetStack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bottomSheetStack.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/bottomSheetStack.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
 
5
5
  /**
6
6
  * @file bottomSheetStack.ts
7
- * @input The DOM (dialog elements, document order) and focusForLastInput
7
+ * @input The DOM (dialog elements, document order) and the focus-return
8
+ * utilities
8
9
  * @output The private bottom-sheet stack registry: host registration,
9
10
  * open-order ranking, top-layer reconciliation, one view per host, the
10
11
  * replace handoff, and the shared native show/hide and focus helpers
@@ -49,7 +50,7 @@
49
50
  // two copies of this module on one page share one stack. A copy on another
50
51
  // version keeps its own stack. Each document is its own stack.
51
52
  import { notifyTopLayerEntry } from "../Layer/modalOutlet.js";
52
- import { focusForLastInput } from "../utils/focusReturn.js";
53
+ import { focusForLastInput, returnFocusForLastInput } from "../utils/focusReturn.js";
53
54
 
54
55
  /** The motions a host's panel reports to the registry during a replace. */
55
56
 
@@ -240,7 +241,7 @@ function completeClosingGroup(group) {
240
241
  group.reported = true;
241
242
  const target = group.returnTarget;
242
243
  if (target != null && target.isConnected) {
243
- focusForLastInput(target);
244
+ returnFocusForLastInput(target);
244
245
  }
245
246
  }
246
247
 
@@ -94,8 +94,8 @@ function touchPointerType(touch) {
94
94
  return touch.touchType === 'stylus' ? 'pen' : 'touch';
95
95
  }
96
96
 
97
- // A mouse's stretch past fully open: a resisted fraction of the drag, capped
98
- // at OVERSCROLL_MAX.
97
+ // A mouse's or a pen's stretch past fully open: a resisted fraction of the
98
+ // drag, capped at OVERSCROLL_MAX.
99
99
  const OVERSCROLL_RESISTANCE = 0.35;
100
100
  // SYNC: must not exceed MIN_RESERVE in BottomSheetPanel.tsx, the smallest
101
101
  // reserve the sheet keeps below the screen.
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @file CheckboxInput.tsx
3
- * @input Uses React, useId, ChangeEvent, FieldLabel, FieldStatus, IconType, InputStatus, useTooltip
3
+ * @input Uses React, useId, ChangeEvent, FieldLabel, FieldStatus, IconType, InputStatus, useTooltip,
4
+ * CheckboxRowPressContext (a row around the checkbox that owns its press)
4
5
  * @output Exports CheckboxInput component, CheckboxInputProps
5
6
  * @position Core implementation; consumed by index.ts, tested by CheckboxInput.test.tsx
6
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,UAAU,EAGf,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;AA4KhD,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,EAAE,EAAE,MAAM,EACV,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,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,IAAI,EACR,EAAE,kBAAkB,+BAsRpB;yBAjTe,aAAa"}
@@ -4,7 +4,8 @@
4
4
 
5
5
  /**
6
6
  * @file CheckboxInput.tsx
7
- * @input Uses React, useId, ChangeEvent, FieldLabel, FieldStatus, IconType, InputStatus, useTooltip
7
+ * @input Uses React, useId, ChangeEvent, FieldLabel, FieldStatus, IconType, InputStatus, useTooltip,
8
+ * CheckboxRowPressContext (a row around the checkbox that owns its press)
8
9
  * @output Exports CheckboxInput component, CheckboxInputProps
9
10
  * @position Core implementation; consumed by index.ts, tested by CheckboxInput.test.tsx
10
11
  *
@@ -15,7 +16,7 @@
15
16
  * - /apps/storybook/stories/CheckboxInput.stories.tsx (storybook stories)
16
17
  * - /packages/cli/assets/templates/blocks/components/CheckboxInput/ (showcase blocks)
17
18
  */
18
- import { useId, useCallback, useOptimistic, useRef, useTransition } from 'react';
19
+ import { use, useId, useCallback, useOptimistic, useRef, useTransition } from 'react';
19
20
  import * as stylex from '@stylexjs/stylex';
20
21
  import "../theme/tokens.stylex.js";
21
22
  import { colorVars, spacingVars, radiusVars, typographyVars, typeScaleVars, fontWeightVars } from "../theme/tokens.stylex.js";
@@ -36,10 +37,11 @@ import { usePressFeedback } from "../hooks/usePressFeedback.js";
36
37
  import { useIndicator } from "../Indicator/useIndicator.js";
37
38
  import { themeProps } from "../utils/themeProps.js";
38
39
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
39
- import { watchHitArea, writeHitInsets } from "../utils/hitArea.js";
40
+ import { useTouchHitArea } from "../utils/touchHitArea.js";
40
41
  import { touchHitAreaStyles } from "../utils/touchHitArea.stylex.js";
41
42
  import { registerEnglishFallback, useComponentTranslator } from "../i18n/useComponentTranslator.js";
42
43
  import english from "../i18n/generated-english/CheckboxInput/CheckboxInput.generated.js";
44
+ import { CheckboxRowPressContext } from "./CheckboxRowPressContext.js";
43
45
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
44
46
  registerEnglishFallback(english);
45
47
 
@@ -72,6 +74,10 @@ const styles = {
72
74
  "--_indicator-press-image": "x1dueop1 x189o2zt",
73
75
  $$css: true
74
76
  },
77
+ indicatorRowPressImage: {
78
+ "--_indicator-press-image": "x1y1g3jp",
79
+ $$css: true
80
+ },
75
81
  checkboxWrapper: {
76
82
  kVAEAm: "x1n2onr6",
77
83
  k1xSpc: "x78zum5",
@@ -91,6 +97,10 @@ const styles = {
91
97
  kNctxI: "x1ikgzpo xsozn46",
92
98
  $$css: true
93
99
  },
100
+ indicatorRowPressOverlay: {
101
+ kNctxI: "xlvbopx",
102
+ $$css: true
103
+ },
94
104
  input: {
95
105
  kVAEAm: "x10l6tqk",
96
106
  k87sOh: "xwa60dl",
@@ -182,6 +192,13 @@ export function CheckboxInput({
182
192
  // The row is the pressable: the overlay's pressed arm reads the row's
183
193
  // scope marker, the way the indicator's hover tint does.
184
194
  const pressable = usePressFeedback();
195
+ // A row around the checkbox that answers a press anywhere on it (a
196
+ // CheckboxListItem) owns the touch press instead. The checkbox then carries
197
+ // no press marker of its own. So the controller's innermost-wins rule finds
198
+ // the row for a finger on the label, the description or the box. The
199
+ // overlay below paints that row's press.
200
+ const isRowPressSurface = use(CheckboxRowPressContext);
201
+ const ownsPress = !isDisabled && !isRowPressSurface;
185
202
  const generatedId = useId();
186
203
  const id = idProp || generatedId;
187
204
  const descriptionID = useId();
@@ -222,14 +239,9 @@ export function CheckboxInput({
222
239
  // checkbox is a marker in another component's row, which keeps its target.
223
240
  const hasHitArea = !isLabelHidden && !isDisabled && !isReadOnly;
224
241
  const inputRef = useRef(null);
225
- // The watch lives as long as the row is attached: the ref's cleanup stops
226
- // it, and a replaced row starts its own.
227
- const watchRowHitArea = useCallback(row => {
228
- if (row == null || !hasHitArea) {
229
- return;
230
- }
231
- return watchHitArea(row, insets => writeHitInsets(row, insets));
232
- }, [hasHitArea]);
242
+ // The band's insets stay live while the row takes taps, and clear when it
243
+ // stops.
244
+ const watchRowHitArea = useTouchHitArea(hasHitArea);
233
245
  // The disabled-message tooltip listens for hover and focus on the whole
234
246
  // row, a larger trigger. It anchors on the checkbox itself (below), so it
235
247
  // shows next to the control. Its handlers check isEnabled, so the row
@@ -301,17 +313,18 @@ export function CheckboxInput({
301
313
  ref: rowRef,
302
314
  onPointerDown: hasHitArea ? handleRowPointerDown : undefined,
303
315
  onClick: hasHitArea ? handleRowClick : undefined,
304
- ...(isDisabled ? undefined : pressable),
316
+ ...(ownsPress ? pressable : undefined),
305
317
  ...stylex.props(styles.container, isLabelHidden && styles.containerLabelHidden, hasHitArea && styles.hitAreaHost, hasHitArea && touchHitAreaStyles.layer,
306
318
  // Hover and focus reach the checkbox visual through this ancestor
307
319
  // marker rather than props, so the whole row drives it.
308
- !isDisabled && indicatorScope, !isDisabled && styles.indicatorPressImage,
320
+ !isDisabled && indicatorScope, !isDisabled && (isRowPressSurface ? styles.indicatorRowPressImage : styles.indicatorPressImage),
309
321
  // The touch press's strength and release live on the row the
310
322
  // controller writes to; the layer over the checkbox box inherits
311
- // and paints it.
312
- !isDisabled && interactionOverlayStyles.pressedAlpha),
323
+ // and paints it. Under a row that owns the press, the box inherits
324
+ // that row's strength instead.
325
+ ownsPress && interactionOverlayStyles.pressedAlpha),
313
326
  children: [/*#__PURE__*/_jsxs("div", {
314
- ...stylex.props(styles.checkboxWrapper, wrapperSizeStyles[size], !isDisabled && styles.indicatorPressOverlay),
327
+ ...stylex.props(styles.checkboxWrapper, wrapperSizeStyles[size], !isDisabled && styles.indicatorPressOverlay, !isDisabled && isRowPressSurface && styles.indicatorRowPressOverlay),
315
328
  ...focusProps,
316
329
  children: [/*#__PURE__*/_jsx("input", {
317
330
  ...rest,
@@ -0,0 +1,2 @@
1
+ export declare const CheckboxRowPressContext: import("react").Context<boolean>;
2
+ //# sourceMappingURL=CheckboxRowPressContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxRowPressContext.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxRowPressContext.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,uBAAuB,kCAAkC,CAAC"}
@@ -0,0 +1,20 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file CheckboxRowPressContext.ts
7
+ * @input Uses the private layer-scoped context factory
8
+ * @output CheckboxRowPressContext: whether the row is its checkbox's press surface
9
+ * @position Internal; CheckboxListItem provides it, CheckboxInput reads it
10
+ *
11
+ * Such a row carries the shared press marker (utils/pressFeedback.ts). Its
12
+ * checkbox carries none, so a finger anywhere on the row presses the row.
13
+ * It is layer-scoped and wraps only the row's own checkbox.
14
+ *
15
+ * SYNC: When modified, update CheckboxInput.tsx and
16
+ * ../CheckboxList/CheckboxListItem.tsx.
17
+ */
18
+ import { createLayerScopedContext } from "../Layer/layerScopedContext.js";
19
+ export const CheckboxRowPressContext = createLayerScopedContext(false);
20
+ CheckboxRowPressContext.displayName = 'CheckboxRowPressContext';
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @file CheckboxListItem.tsx
3
- * @input Uses React, CheckboxInput, ListItem, CheckboxListContext
3
+ * @input Uses React, CheckboxInput, ListItem, CheckboxListContext,
4
+ * CheckboxRowPressContext, the touch presentation and the row press paint
4
5
  * @output Exports CheckboxListItem component, CheckboxListItemProps
5
6
  * @position Core implementation; consumed by index.ts, tested by CheckboxList.test.tsx
6
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxListItem.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxListItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAkC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAItE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAU5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAuBvC,MAAM,WAAW,qBAAsB,SAAQ,SAAS,CAAC,aAAa,CAAC;IACrE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;;;;;;;OAaG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC;AAyCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EAAE,SAAS,EACvB,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,EAAE,cAAsB,EAClC,SAAS,EAAE,aAAqB,EAChC,SAAS,EACT,OAAO,EACP,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,KAAK,EACL,GAAG,SAAS,EACb,EAAE,qBAAqB,+BAiKvB;yBAlLe,gBAAgB"}
1
+ {"version":3,"file":"CheckboxListItem.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxListItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAkC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAItE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAc5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAuBvC,MAAM,WAAW,qBAAsB,SAAQ,SAAS,CAAC,aAAa,CAAC;IACrE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;;;;;;;OAaG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC;AAyCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EAAE,SAAS,EACvB,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,EAAE,cAAsB,EAClC,SAAS,EAAE,aAAqB,EAChC,SAAS,EACT,OAAO,EACP,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,KAAK,EACL,GAAG,SAAS,EACb,EAAE,qBAAqB,+BAiLvB;yBAlMe,gBAAgB"}
@@ -4,7 +4,8 @@
4
4
 
5
5
  /**
6
6
  * @file CheckboxListItem.tsx
7
- * @input Uses React, CheckboxInput, ListItem, CheckboxListContext
7
+ * @input Uses React, CheckboxInput, ListItem, CheckboxListContext,
8
+ * CheckboxRowPressContext, the touch presentation and the row press paint
8
9
  * @output Exports CheckboxListItem component, CheckboxListItemProps
9
10
  * @position Core implementation; consumed by index.ts, tested by CheckboxList.test.tsx
10
11
  *
@@ -21,6 +22,10 @@ import * as stylex from '@stylexjs/stylex';
21
22
  import "../theme/tokens.stylex.js";
22
23
  import { colorVars } from "../theme/tokens.stylex.js";
23
24
  import { CheckboxInput } from "../CheckboxInput/CheckboxInput.js";
25
+ import { CheckboxRowPressContext } from "../CheckboxInput/CheckboxRowPressContext.js";
26
+ import { rowPressPaintStyles } from "../privateAttributes/press.stylex.js";
27
+ import { interactionOverlayStyles } from "../utils/interactionOverlay.stylex.js";
28
+ import { useTouchPresentation } from "../utils/touchPresentation.js";
24
29
  import { ListItem } from "../List/ListItem.js";
25
30
  import { ListContext } from "../List/ListContext.js";
26
31
  import { CheckboxListContext } from "./CheckboxListContext.js";
@@ -184,6 +189,14 @@ export function CheckboxListItem({
184
189
  }) : undefined, [requiredGroup, isBoxChecked, isBoxEnabled]);
185
190
  const checkboxInputRef = useMergedRefs(checkboxRef, registerWithRequiredGroup);
186
191
 
192
+ // Under a finger, a delegating row is the option's only press surface. A
193
+ // touch anywhere on it presses the row. A fine pointer keeps the box's own
194
+ // press.
195
+ const {
196
+ isTouch
197
+ } = useTouchPresentation();
198
+ const rowOwnsPress = isTouch && hasRowInteraction && !effectiveDisabled;
199
+
187
200
  // A read-only checkbox carries aria-readonly, which the row's clickable
188
201
  // container treats as a non-interactive target, so a click on it would be
189
202
  // delegated straight back to the checkbox without end. Stop that click at
@@ -230,21 +243,34 @@ export function CheckboxListItem({
230
243
  ,
231
244
  interactiveRef: hasRowInteraction ? checkboxRef : undefined,
232
245
  "aria-busy": isBusy || undefined,
233
- xstyle: [resolvedChecked === true && !effectiveDisabled && !effectiveReadOnly && styles.selected, xstyle],
246
+ xstyle: [
247
+ // The row's own press paint, which the layer over its box reads.
248
+ rowOwnsPress && rowPressPaintStyles.checkboxRow,
249
+ // Item's row layer drops the strength's release, and the box paints
250
+ // at that strength. So the row brings the release back, and the box
251
+ // fades with the row.
252
+ rowOwnsPress && interactionOverlayStyles.pressedAlpha, resolvedChecked === true && !effectiveDisabled && !effectiveReadOnly && styles.selected, xstyle],
234
253
  className: className,
235
254
  style: style,
236
- startContent: /*#__PURE__*/_jsx(DescribedCheckboxInput, {
237
- ref: checkboxInputRef,
238
- label: checkboxLabel,
239
- "aria-labelledby": namesFromVisibleLabel ? labelID : undefined,
240
- isLabelHidden: true,
241
- value: resolvedChecked,
242
- onChange: () => handleToggle(),
243
- onClick: handleCheckboxClick,
244
- isDisabled: effectiveDisabled,
245
- isReadOnly: effectiveReadOnly,
246
- isLoading: isBusy,
247
- size: checkboxSize
255
+ startContent:
256
+ /*#__PURE__*/
257
+ // Only the row's own checkbox: a checkbox placed in the row's content
258
+ // keeps its own press.
259
+ _jsx(CheckboxRowPressContext, {
260
+ value: rowOwnsPress,
261
+ children: /*#__PURE__*/_jsx(DescribedCheckboxInput, {
262
+ ref: checkboxInputRef,
263
+ label: checkboxLabel,
264
+ "aria-labelledby": namesFromVisibleLabel ? labelID : undefined,
265
+ isLabelHidden: true,
266
+ value: resolvedChecked,
267
+ onChange: () => handleToggle(),
268
+ onClick: handleCheckboxClick,
269
+ isDisabled: effectiveDisabled,
270
+ isReadOnly: effectiveReadOnly,
271
+ isLoading: isBusy,
272
+ size: checkboxSize
273
+ })
248
274
  })
249
275
  });
250
276
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAuCrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAgI1C,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAMnD,UAAU,oBAAqB,SAAQ,SAAS;IAC9C,oDAAoD;IACpD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,oBAAqB,SAAQ,oBAAoB;IACzD,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAM/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,IAAW,EACX,KAAK,EAAE,cAAc,EACrB,UAAkB,EAClB,YAAY,EACZ,YAAwB,EACxB,SAAiB,EACjB,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,gBAAgB,qBAgjBlB;yBArkBe,WAAW"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAwCrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAgI1C,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAMnD,UAAU,oBAAqB,SAAQ,SAAS;IAC9C,oDAAoD;IACpD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,oBAAqB,SAAQ,oBAAoB;IACzD,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAM/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,IAAW,EACX,KAAK,EAAE,cAAc,EACrB,UAAkB,EAClB,YAAY,EACZ,YAAwB,EACxB,SAAiB,EACjB,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,gBAAgB,qBAijBlB;yBAtkBe,WAAW"}
@@ -48,6 +48,7 @@ import { useLayerInternal } from "../Layer/useLayer.js";
48
48
  import { LayerDepthProvider } from "../Layer/LayerDepthContext.js";
49
49
  import { useLayerDismissal } from "../Layer/useLayerDismissal.js";
50
50
  import { currentGesture } from "../Layer/gestureCounter.js";
51
+ import { noteOutsideDismissal } from "../Layer/outsidePress.js";
51
52
  import { MenuBottomSheetActionList } from "../DropdownMenu/MenuBottomSheetActionList.js";
52
53
  import { menuBottomSheetStyles } from "../DropdownMenu/menuBottomSheet.stylex.js";
53
54
  import { renderDropdownItems } from "../DropdownMenu/renderDropdownItems.js";
@@ -386,6 +387,7 @@ export function ContextMenu({
386
387
  return;
387
388
  }
388
389
  if (menu && !menu.contains(e.target)) {
390
+ noteOutsideDismissal(menu.ownerDocument);
389
391
  closeMenu();
390
392
  }
391
393
  };
@@ -1,6 +1,7 @@
1
1
  import * as stylex from '@stylexjs/stylex';
2
2
  import { type InputStatus } from '../Field/index.js';
3
3
  import { type ISODateString, type DayOfWeek, type DayOfWeekName } from '../Calendar/index.js';
4
+ import type { CalendarSystem } from '../utils/calendarSystem.js';
4
5
  import type { TimestampFormat } from '../Timestamp/index.js';
5
6
  import { type PickerPresentation } from '../utils/inputPresentation.js';
6
7
  declare const sizeStyles: Readonly<{
@@ -136,7 +137,8 @@ export interface DateInputProps extends Omit<FieldInputBaseProps<HTMLInputElemen
136
137
  */
137
138
  dateConstraints?: ReadonlyArray<(date: Date) => boolean>;
138
139
  /**
139
- * Placeholder text shown when no date is selected.
140
+ * Placeholder text shown when no date is selected. A caller placeholder
141
+ * replaces the calendar format hint.
140
142
  * @default "Select a date"
141
143
  */
142
144
  placeholder?: string;
@@ -202,9 +204,10 @@ export interface DateInputProps extends Omit<FieldInputBaseProps<HTMLInputElemen
202
204
  * - `(value: ISODateString) => string`: fully custom display string
203
205
  *
204
206
  * Formatting applies only to the committed value — never to text the user is
205
- * actively typing. A custom function's output that `parseDateInput` cannot
206
- * read back can't be re-committed after an edit; external `value` changes
207
- * always recompute the display from the ISO value.
207
+ * actively typing. Named formats write the date in the field's `calendar`;
208
+ * `'system_date'` stays the Gregorian ISO date. A custom function's output
209
+ * that the field cannot read back can't be re-committed after an edit;
210
+ * external `value` changes always recompute the display from the ISO value.
208
211
  *
209
212
  * @default 'date_long'
210
213
  * @example
@@ -219,6 +222,28 @@ export interface DateInputProps extends Omit<FieldInputBaseProps<HTMLInputElemen
219
222
  * ```
220
223
  */
221
224
  format?: DateInputFormat | ((value: ISODateString) => string);
225
+ /**
226
+ * The calendar the field shows dates in, such as `'persian'`, `'hebrew'`, or
227
+ * `'buddhist'`: the text field, its calendar popover, and the bottom sheet's
228
+ * months and wheels. `value`, `onChange`, `min`, and `max` stay Gregorian
229
+ * ISO dates in every calendar. People type a date the way the locale writes
230
+ * it in this calendar, and the committed text uses it.
231
+ * Years are years of this calendar, so a Buddhist field reads `2026` as
232
+ * Buddhist year 2026; set `min` and `max` to catch a year typed in the
233
+ * wrong calendar. Calendars other than `gregory`, `iso8601`, `buddhist`,
234
+ * `roc`, and `japanese` need `Temporal`, native or a polyfill the
235
+ * application loads; without it the field uses the Gregorian calendar.
236
+ * The native date control is Gregorian, so with a calendar other than
237
+ * `gregory` or `iso8601` every presentation that would show it uses the
238
+ * popover on a fine pointer and the bottom sheet on a coarse pointer.
239
+ *
240
+ * @default the InternationalizationProvider's calendar, else `'gregory'`
241
+ * @example
242
+ * ```
243
+ * <DateInput label="Start date" calendar="persian" value={date} onChange={setDate} />
244
+ * ```
245
+ */
246
+ calendar?: CalendarSystem;
222
247
  /**
223
248
  * When date picking is handed to the browser/OS instead of Astryx's own
224
249
  * surfaces: the field becomes an `<input type="date">` and the platform
@@ -244,6 +269,9 @@ export interface DateInputProps extends Omit<FieldInputBaseProps<HTMLInputElemen
244
269
  * picker. `dateConstraints` is enforced the same way, on commit, and is
245
270
  * reason enough to prefer `'never'` on a field that uses it.
246
271
  *
272
+ * In a calendar other than `gregory` or `iso8601`, `'touch'` and `'always'`
273
+ * use the calendar popover on a mouse and the touch picker on a finger.
274
+ *
247
275
  * @default 'touch'
248
276
  * @deprecated Use `presentation` (`spec:AST-043` FR3):
249
277
  * `'touch'` → `'adaptive-native'`, `'always'` → `'native'`,
@@ -258,12 +286,15 @@ export interface DateInputProps extends Omit<FieldInputBaseProps<HTMLInputElemen
258
286
  * - `'popover'`: Astryx's typed field + calendar popover on every pointer
259
287
  * - `'bottom-sheet'`: Astryx's bottom-sheet calendar on every pointer
260
288
  * - `'native'`: the browser/OS picker on every pointer, with no Astryx
261
- * fallback (FR2)
289
+ * fallback (FR2), except in a calendar other than `gregory` or
290
+ * `iso8601`, where it is `'adaptive-bottom-sheet'` and warns in
291
+ * development
262
292
  * - `'adaptive-bottom-sheet'`: popover on a fine pointer, bottom sheet on
263
293
  * a coarse pointer
264
294
  * - `'adaptive-native'` (default): popover on a fine pointer, browser/OS
265
295
  * picker on a coarse pointer, keeping the released Astryx fallbacks
266
- * where a native control cannot express the value (FR2)
296
+ * where a native control cannot express the value (FR2), and the bottom
297
+ * sheet in a calendar other than `gregory` or `iso8601`
267
298
  *
268
299
  * @default 'adaptive-native'
269
300
  */
@@ -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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"}