@cdx-ui/primitives 0.0.1-beta.3 → 0.0.1-beta.30

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 (251) hide show
  1. package/README.md +49 -24
  2. package/lib/commonjs/checkbox/createCheckboxRoot.web.js +8 -3
  3. package/lib/commonjs/checkbox/createCheckboxRoot.web.js.map +1 -1
  4. package/lib/commonjs/field/createFieldLabel.js.map +1 -1
  5. package/lib/commonjs/index.js +36 -0
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/input/createInputField.js +5 -0
  8. package/lib/commonjs/input/createInputField.js.map +1 -1
  9. package/lib/commonjs/list-item/context.js +11 -0
  10. package/lib/commonjs/list-item/context.js.map +1 -0
  11. package/lib/commonjs/list-item/createListItemContent.js +30 -0
  12. package/lib/commonjs/list-item/createListItemContent.js.map +1 -0
  13. package/lib/commonjs/list-item/createListItemDescription.js +25 -0
  14. package/lib/commonjs/list-item/createListItemDescription.js.map +1 -0
  15. package/lib/commonjs/list-item/createListItemLeadingSlot.js +34 -0
  16. package/lib/commonjs/list-item/createListItemLeadingSlot.js.map +1 -0
  17. package/lib/commonjs/list-item/createListItemMeta.js +25 -0
  18. package/lib/commonjs/list-item/createListItemMeta.js.map +1 -0
  19. package/lib/commonjs/list-item/createListItemRoot.js +157 -0
  20. package/lib/commonjs/list-item/createListItemRoot.js.map +1 -0
  21. package/lib/commonjs/list-item/createListItemSectionHeader.js +54 -0
  22. package/lib/commonjs/list-item/createListItemSectionHeader.js.map +1 -0
  23. package/lib/commonjs/list-item/createListItemTitle.js +25 -0
  24. package/lib/commonjs/list-item/createListItemTitle.js.map +1 -0
  25. package/lib/commonjs/list-item/createListItemTrailingSlot.js +28 -0
  26. package/lib/commonjs/list-item/createListItemTrailingSlot.js.map +1 -0
  27. package/lib/commonjs/list-item/index.js +55 -0
  28. package/lib/commonjs/list-item/index.js.map +1 -0
  29. package/lib/commonjs/list-item/types.js +6 -0
  30. package/lib/commonjs/list-item/types.js.map +1 -0
  31. package/lib/commonjs/radio/context.js +14 -0
  32. package/lib/commonjs/radio/context.js.map +1 -0
  33. package/lib/commonjs/radio/createRadioGroup.js +66 -0
  34. package/lib/commonjs/radio/createRadioGroup.js.map +1 -0
  35. package/lib/commonjs/radio/createRadioIndicator.js +43 -0
  36. package/lib/commonjs/radio/createRadioIndicator.js.map +1 -0
  37. package/lib/commonjs/radio/createRadioLabel.js +38 -0
  38. package/lib/commonjs/radio/createRadioLabel.js.map +1 -0
  39. package/lib/commonjs/radio/createRadioRoot.js +95 -0
  40. package/lib/commonjs/radio/createRadioRoot.js.map +1 -0
  41. package/lib/commonjs/radio/createRadioRoot.web.js +87 -0
  42. package/lib/commonjs/radio/createRadioRoot.web.js.map +1 -0
  43. package/lib/commonjs/radio/index.js +26 -0
  44. package/lib/commonjs/radio/index.js.map +1 -0
  45. package/lib/commonjs/radio/types.js +6 -0
  46. package/lib/commonjs/radio/types.js.map +1 -0
  47. package/lib/commonjs/radio/useRadioRoot.js +64 -0
  48. package/lib/commonjs/radio/useRadioRoot.js.map +1 -0
  49. package/lib/commonjs/select/createSelectTrigger.js +17 -4
  50. package/lib/commonjs/select/createSelectTrigger.js.map +1 -1
  51. package/lib/commonjs/tile/context.js +30 -0
  52. package/lib/commonjs/tile/context.js.map +1 -0
  53. package/lib/commonjs/tile/createTileContent.js +30 -0
  54. package/lib/commonjs/tile/createTileContent.js.map +1 -0
  55. package/lib/commonjs/tile/createTileDescription.js +28 -0
  56. package/lib/commonjs/tile/createTileDescription.js.map +1 -0
  57. package/lib/commonjs/tile/createTileGroup.js +112 -0
  58. package/lib/commonjs/tile/createTileGroup.js.map +1 -0
  59. package/lib/commonjs/tile/createTileIndicator.js +46 -0
  60. package/lib/commonjs/tile/createTileIndicator.js.map +1 -0
  61. package/lib/commonjs/tile/createTileLeadingSlot.js +34 -0
  62. package/lib/commonjs/tile/createTileLeadingSlot.js.map +1 -0
  63. package/lib/commonjs/tile/createTileRoot.js +133 -0
  64. package/lib/commonjs/tile/createTileRoot.js.map +1 -0
  65. package/lib/commonjs/tile/createTileTitle.js +28 -0
  66. package/lib/commonjs/tile/createTileTitle.js.map +1 -0
  67. package/lib/commonjs/tile/createTileTrailingSlot.js +35 -0
  68. package/lib/commonjs/tile/createTileTrailingSlot.js.map +1 -0
  69. package/lib/commonjs/tile/index.js +55 -0
  70. package/lib/commonjs/tile/index.js.map +1 -0
  71. package/lib/commonjs/tile/types.js +6 -0
  72. package/lib/commonjs/tile/types.js.map +1 -0
  73. package/lib/module/checkbox/createCheckboxRoot.web.js +8 -2
  74. package/lib/module/checkbox/createCheckboxRoot.web.js.map +1 -1
  75. package/lib/module/field/createFieldLabel.js.map +1 -1
  76. package/lib/module/index.js +3 -0
  77. package/lib/module/index.js.map +1 -1
  78. package/lib/module/input/createInputField.js +5 -0
  79. package/lib/module/input/createInputField.js.map +1 -1
  80. package/lib/module/list-item/context.js +5 -0
  81. package/lib/module/list-item/context.js.map +1 -0
  82. package/lib/module/list-item/createListItemContent.js +24 -0
  83. package/lib/module/list-item/createListItemContent.js.map +1 -0
  84. package/lib/module/list-item/createListItemDescription.js +19 -0
  85. package/lib/module/list-item/createListItemDescription.js.map +1 -0
  86. package/lib/module/list-item/createListItemLeadingSlot.js +28 -0
  87. package/lib/module/list-item/createListItemLeadingSlot.js.map +1 -0
  88. package/lib/module/list-item/createListItemMeta.js +19 -0
  89. package/lib/module/list-item/createListItemMeta.js.map +1 -0
  90. package/lib/module/list-item/createListItemRoot.js +151 -0
  91. package/lib/module/list-item/createListItemRoot.js.map +1 -0
  92. package/lib/module/list-item/createListItemSectionHeader.js +48 -0
  93. package/lib/module/list-item/createListItemSectionHeader.js.map +1 -0
  94. package/lib/module/list-item/createListItemTitle.js +19 -0
  95. package/lib/module/list-item/createListItemTitle.js.map +1 -0
  96. package/lib/module/list-item/createListItemTrailingSlot.js +22 -0
  97. package/lib/module/list-item/createListItemTrailingSlot.js.map +1 -0
  98. package/lib/module/list-item/index.js +39 -0
  99. package/lib/module/list-item/index.js.map +1 -0
  100. package/lib/module/list-item/types.js +4 -0
  101. package/lib/module/list-item/types.js.map +1 -0
  102. package/lib/module/radio/context.js +7 -0
  103. package/lib/module/radio/context.js.map +1 -0
  104. package/lib/module/radio/createRadioGroup.js +61 -0
  105. package/lib/module/radio/createRadioGroup.js.map +1 -0
  106. package/lib/module/radio/createRadioIndicator.js +38 -0
  107. package/lib/module/radio/createRadioIndicator.js.map +1 -0
  108. package/lib/module/radio/createRadioLabel.js +33 -0
  109. package/lib/module/radio/createRadioLabel.js.map +1 -0
  110. package/lib/module/radio/createRadioRoot.js +90 -0
  111. package/lib/module/radio/createRadioRoot.js.map +1 -0
  112. package/lib/module/radio/createRadioRoot.web.js +82 -0
  113. package/lib/module/radio/createRadioRoot.web.js.map +1 -0
  114. package/lib/module/radio/index.js +22 -0
  115. package/lib/module/radio/index.js.map +1 -0
  116. package/lib/module/radio/types.js +4 -0
  117. package/lib/module/radio/types.js.map +1 -0
  118. package/lib/module/radio/useRadioRoot.js +60 -0
  119. package/lib/module/radio/useRadioRoot.js.map +1 -0
  120. package/lib/module/select/createSelectTrigger.js +19 -6
  121. package/lib/module/select/createSelectTrigger.js.map +1 -1
  122. package/lib/module/tile/context.js +21 -0
  123. package/lib/module/tile/context.js.map +1 -0
  124. package/lib/module/tile/createTileContent.js +24 -0
  125. package/lib/module/tile/createTileContent.js.map +1 -0
  126. package/lib/module/tile/createTileDescription.js +22 -0
  127. package/lib/module/tile/createTileDescription.js.map +1 -0
  128. package/lib/module/tile/createTileGroup.js +106 -0
  129. package/lib/module/tile/createTileGroup.js.map +1 -0
  130. package/lib/module/tile/createTileIndicator.js +40 -0
  131. package/lib/module/tile/createTileIndicator.js.map +1 -0
  132. package/lib/module/tile/createTileLeadingSlot.js +28 -0
  133. package/lib/module/tile/createTileLeadingSlot.js.map +1 -0
  134. package/lib/module/tile/createTileRoot.js +127 -0
  135. package/lib/module/tile/createTileRoot.js.map +1 -0
  136. package/lib/module/tile/createTileTitle.js +22 -0
  137. package/lib/module/tile/createTileTitle.js.map +1 -0
  138. package/lib/module/tile/createTileTrailingSlot.js +29 -0
  139. package/lib/module/tile/createTileTrailingSlot.js.map +1 -0
  140. package/lib/module/tile/index.js +39 -0
  141. package/lib/module/tile/index.js.map +1 -0
  142. package/lib/module/tile/types.js +4 -0
  143. package/lib/module/tile/types.js.map +1 -0
  144. package/lib/typescript/checkbox/createCheckboxRoot.web.d.ts +4 -0
  145. package/lib/typescript/checkbox/createCheckboxRoot.web.d.ts.map +1 -1
  146. package/lib/typescript/checkbox/useCheckboxRoot.d.ts +2 -0
  147. package/lib/typescript/checkbox/useCheckboxRoot.d.ts.map +1 -1
  148. package/lib/typescript/field/createFieldLabel.d.ts.map +1 -1
  149. package/lib/typescript/index.d.ts +3 -0
  150. package/lib/typescript/index.d.ts.map +1 -1
  151. package/lib/typescript/input/createInputField.d.ts.map +1 -1
  152. package/lib/typescript/list-item/context.d.ts +6 -0
  153. package/lib/typescript/list-item/context.d.ts.map +1 -0
  154. package/lib/typescript/list-item/createListItemContent.d.ts +3 -0
  155. package/lib/typescript/list-item/createListItemContent.d.ts.map +1 -0
  156. package/lib/typescript/list-item/createListItemDescription.d.ts +3 -0
  157. package/lib/typescript/list-item/createListItemDescription.d.ts.map +1 -0
  158. package/lib/typescript/list-item/createListItemLeadingSlot.d.ts +4 -0
  159. package/lib/typescript/list-item/createListItemLeadingSlot.d.ts.map +1 -0
  160. package/lib/typescript/list-item/createListItemMeta.d.ts +3 -0
  161. package/lib/typescript/list-item/createListItemMeta.d.ts.map +1 -0
  162. package/lib/typescript/list-item/createListItemRoot.d.ts +4 -0
  163. package/lib/typescript/list-item/createListItemRoot.d.ts.map +1 -0
  164. package/lib/typescript/list-item/createListItemSectionHeader.d.ts +4 -0
  165. package/lib/typescript/list-item/createListItemSectionHeader.d.ts.map +1 -0
  166. package/lib/typescript/list-item/createListItemTitle.d.ts +3 -0
  167. package/lib/typescript/list-item/createListItemTitle.d.ts.map +1 -0
  168. package/lib/typescript/list-item/createListItemTrailingSlot.d.ts +3 -0
  169. package/lib/typescript/list-item/createListItemTrailingSlot.d.ts.map +1 -0
  170. package/lib/typescript/list-item/index.d.ts +16 -0
  171. package/lib/typescript/list-item/index.d.ts.map +1 -0
  172. package/lib/typescript/list-item/types.d.ts +86 -0
  173. package/lib/typescript/list-item/types.d.ts.map +1 -0
  174. package/lib/typescript/radio/context.d.ts +21 -0
  175. package/lib/typescript/radio/context.d.ts.map +1 -0
  176. package/lib/typescript/radio/createRadioGroup.d.ts +3 -0
  177. package/lib/typescript/radio/createRadioGroup.d.ts.map +1 -0
  178. package/lib/typescript/radio/createRadioIndicator.d.ts +5 -0
  179. package/lib/typescript/radio/createRadioIndicator.d.ts.map +1 -0
  180. package/lib/typescript/radio/createRadioLabel.d.ts +5 -0
  181. package/lib/typescript/radio/createRadioLabel.d.ts.map +1 -0
  182. package/lib/typescript/radio/createRadioRoot.d.ts +3 -0
  183. package/lib/typescript/radio/createRadioRoot.d.ts.map +1 -0
  184. package/lib/typescript/radio/createRadioRoot.web.d.ts +3 -0
  185. package/lib/typescript/radio/createRadioRoot.web.d.ts.map +1 -0
  186. package/lib/typescript/radio/index.d.ts +10 -0
  187. package/lib/typescript/radio/index.d.ts.map +1 -0
  188. package/lib/typescript/radio/types.d.ts +54 -0
  189. package/lib/typescript/radio/types.d.ts.map +1 -0
  190. package/lib/typescript/radio/useRadioRoot.d.ts +151 -0
  191. package/lib/typescript/radio/useRadioRoot.d.ts.map +1 -0
  192. package/lib/typescript/select/createSelectTrigger.d.ts.map +1 -1
  193. package/lib/typescript/tile/context.d.ts +9 -0
  194. package/lib/typescript/tile/context.d.ts.map +1 -0
  195. package/lib/typescript/tile/createTileContent.d.ts +3 -0
  196. package/lib/typescript/tile/createTileContent.d.ts.map +1 -0
  197. package/lib/typescript/tile/createTileDescription.d.ts +3 -0
  198. package/lib/typescript/tile/createTileDescription.d.ts.map +1 -0
  199. package/lib/typescript/tile/createTileGroup.d.ts +4 -0
  200. package/lib/typescript/tile/createTileGroup.d.ts.map +1 -0
  201. package/lib/typescript/tile/createTileIndicator.d.ts +4 -0
  202. package/lib/typescript/tile/createTileIndicator.d.ts.map +1 -0
  203. package/lib/typescript/tile/createTileLeadingSlot.d.ts +4 -0
  204. package/lib/typescript/tile/createTileLeadingSlot.d.ts.map +1 -0
  205. package/lib/typescript/tile/createTileRoot.d.ts +4 -0
  206. package/lib/typescript/tile/createTileRoot.d.ts.map +1 -0
  207. package/lib/typescript/tile/createTileTitle.d.ts +3 -0
  208. package/lib/typescript/tile/createTileTitle.d.ts.map +1 -0
  209. package/lib/typescript/tile/createTileTrailingSlot.d.ts +9 -0
  210. package/lib/typescript/tile/createTileTrailingSlot.d.ts.map +1 -0
  211. package/lib/typescript/tile/index.d.ts +15 -0
  212. package/lib/typescript/tile/index.d.ts.map +1 -0
  213. package/lib/typescript/tile/types.d.ts +119 -0
  214. package/lib/typescript/tile/types.d.ts.map +1 -0
  215. package/package.json +5 -2
  216. package/src/checkbox/createCheckboxRoot.web.tsx +6 -2
  217. package/src/field/createFieldLabel.tsx +4 -1
  218. package/src/index.ts +3 -0
  219. package/src/input/createInputField.tsx +6 -0
  220. package/src/list-item/context.tsx +5 -0
  221. package/src/list-item/createListItemContent.tsx +23 -0
  222. package/src/list-item/createListItemDescription.tsx +19 -0
  223. package/src/list-item/createListItemLeadingSlot.tsx +30 -0
  224. package/src/list-item/createListItemMeta.tsx +17 -0
  225. package/src/list-item/createListItemRoot.tsx +178 -0
  226. package/src/list-item/createListItemSectionHeader.tsx +53 -0
  227. package/src/list-item/createListItemTitle.tsx +17 -0
  228. package/src/list-item/createListItemTrailingSlot.tsx +21 -0
  229. package/src/list-item/index.ts +88 -0
  230. package/src/list-item/types.ts +122 -0
  231. package/src/radio/context.tsx +21 -0
  232. package/src/radio/createRadioGroup.tsx +67 -0
  233. package/src/radio/createRadioIndicator.tsx +32 -0
  234. package/src/radio/createRadioLabel.tsx +28 -0
  235. package/src/radio/createRadioRoot.tsx +100 -0
  236. package/src/radio/createRadioRoot.web.tsx +81 -0
  237. package/src/radio/index.ts +37 -0
  238. package/src/radio/types.ts +67 -0
  239. package/src/radio/useRadioRoot.ts +69 -0
  240. package/src/select/createSelectTrigger.tsx +26 -3
  241. package/src/tile/context.tsx +23 -0
  242. package/src/tile/createTileContent.tsx +23 -0
  243. package/src/tile/createTileDescription.tsx +19 -0
  244. package/src/tile/createTileGroup.tsx +134 -0
  245. package/src/tile/createTileIndicator.tsx +38 -0
  246. package/src/tile/createTileLeadingSlot.tsx +30 -0
  247. package/src/tile/createTileRoot.tsx +124 -0
  248. package/src/tile/createTileTitle.tsx +19 -0
  249. package/src/tile/createTileTrailingSlot.tsx +25 -0
  250. package/src/tile/index.ts +88 -0
  251. package/src/tile/types.ts +153 -0
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRadioRoot = useRadioRoot;
7
+ var _react = require("react");
8
+ var _utils = require("@cdx-ui/utils");
9
+ var _radio = require("@react-native-aria/radio");
10
+ var _interactions = require("@react-native-aria/interactions");
11
+ var _context = require("./context");
12
+ function useRadioRoot(props, ref, {
13
+ useInputRefForAria = false
14
+ } = {}) {
15
+ const formControlContext = (0, _utils.useFormControlContext)();
16
+ const {
17
+ isInvalid,
18
+ isReadOnly,
19
+ ...combinedProps
20
+ } = {
21
+ ...formControlContext,
22
+ ...props
23
+ };
24
+ const radioGroupContext = (0, _react.useContext)(_context.RadioGroupContext);
25
+ if (!radioGroupContext) {
26
+ throw new Error('Radio must be rendered inside a Radio.Group. Standalone Radio is not supported.');
27
+ }
28
+ const rootRef = (0, _react.useRef)(null);
29
+ const inputRef = (0, _react.useRef)(null);
30
+ const mergedRootRef = (0, _utils.mergeRefs)(ref, rootRef);
31
+ const ariaLabel = combinedProps['aria-label'] || combinedProps.value || 'Radio';
32
+ const radio = (0, _radio.useRadio)({
33
+ ...combinedProps,
34
+ 'aria-label': ariaLabel,
35
+ isReadOnly: isReadOnly || radioGroupContext.state.isReadOnly,
36
+ isDisabled: combinedProps.isDisabled || radioGroupContext.state.isDisabled
37
+ }, radioGroupContext.radioGroupState, useInputRefForAria ? inputRef : rootRef);
38
+ const {
39
+ inputProps,
40
+ labelProps
41
+ } = radio;
42
+ const {
43
+ checked: isChecked,
44
+ disabled: isDisabled
45
+ } = inputProps;
46
+ const {
47
+ hoverProps,
48
+ isHovered
49
+ } = (0, _interactions.useHover)({}, rootRef);
50
+ return {
51
+ combinedProps,
52
+ isInvalid: isInvalid || radioGroupContext.state.isInvalid,
53
+ isReadOnly: isReadOnly || radioGroupContext.state.isReadOnly,
54
+ inputProps,
55
+ labelProps: labelProps ?? {},
56
+ isChecked,
57
+ isDisabled,
58
+ isHovered,
59
+ hoverProps,
60
+ mergedRef: mergedRootRef,
61
+ inputRef
62
+ };
63
+ }
64
+ //# sourceMappingURL=useRadioRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_utils","_radio","_interactions","_context","useRadioRoot","props","ref","useInputRefForAria","formControlContext","useFormControlContext","isInvalid","isReadOnly","combinedProps","radioGroupContext","useContext","RadioGroupContext","Error","rootRef","useRef","inputRef","mergedRootRef","mergeRefs","ariaLabel","value","radio","useRadio","state","isDisabled","radioGroupState","inputProps","labelProps","checked","isChecked","disabled","hoverProps","isHovered","useHover","mergedRef"],"sourceRoot":"../../../src","sources":["radio/useRadioRoot.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAOO,SAASK,YAAYA,CAC1BC,KAAkB,EAClBC,GAAwB,EACxB;EAAEC,kBAAkB,GAAG;AAA2B,CAAC,GAAG,CAAC,CAAC,EACxD;EACA,MAAMC,kBAAkB,GAAG,IAAAC,4BAAqB,EAAC,CAAC;EAElD,MAAM;IAAEC,SAAS;IAAEC,UAAU;IAAE,GAAGC;EAAc,CAAC,GAAG;IAClD,GAAGJ,kBAAkB;IACrB,GAAGH;EACL,CAAC;EAED,MAAMQ,iBAAiB,GAAG,IAAAC,iBAAU,EAACC,0BAAiB,CAAC;EAEvD,IAAI,CAACF,iBAAiB,EAAE;IACtB,MAAM,IAAIG,KAAK,CACb,iFACF,CAAC;EACH;EAEA,MAAMC,OAAO,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAC5B,MAAMC,QAAQ,GAAG,IAAAD,aAAM,EAA0B,IAAI,CAAC;EACtD,MAAME,aAAa,GAAG,IAAAC,gBAAS,EAACf,GAAG,EAASW,OAAc,CAAC;EAC3D,MAAMK,SAAS,GAAGV,aAAa,CAAC,YAAY,CAAC,IAAIA,aAAa,CAACW,KAAK,IAAI,OAAO;EAE/E,MAAMC,KAAK,GAAG,IAAAC,eAAQ,EACpB;IACE,GAAGb,aAAa;IAChB,YAAY,EAAEU,SAAS;IACvBX,UAAU,EAAEA,UAAU,IAAIE,iBAAiB,CAACa,KAAK,CAACf,UAAU;IAC5DgB,UAAU,EAAEf,aAAa,CAACe,UAAU,IAAId,iBAAiB,CAACa,KAAK,CAACC;EAClE,CAAC,EACDd,iBAAiB,CAACe,eAAe,EAChCrB,kBAAkB,GAAGY,QAAQ,GAAGF,OACnC,CAAC;EAED,MAAM;IAAEY,UAAU;IAAEC;EAAW,CAAC,GAAGN,KAElC;EAED,MAAM;IAAEO,OAAO,EAAEC,SAAS;IAAEC,QAAQ,EAAEN;EAAW,CAAC,GAAGE,UAAU;EAE/D,MAAM;IAAEK,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,sBAAQ,EAAC,CAAC,CAAC,EAAEnB,OAAO,CAAC;EAEvD,OAAO;IACLL,aAAa;IACbF,SAAS,EAAEA,SAAS,IAAIG,iBAAiB,CAACa,KAAK,CAAChB,SAAS;IACzDC,UAAU,EAAEA,UAAU,IAAIE,iBAAiB,CAACa,KAAK,CAACf,UAAU;IAC5DkB,UAAU;IACVC,UAAU,EAAEA,UAAU,IAAI,CAAC,CAAC;IAC5BE,SAAS;IACTL,UAAU;IACVQ,SAAS;IACTD,UAAU;IACVG,SAAS,EAAEjB,aAAa;IACxBD;EACF,CAAC;AACH","ignoreList":[]}
@@ -56,6 +56,7 @@ const createSelectTrigger = BaseTrigger => /*#__PURE__*/(0, _react.forwardRef)((
56
56
  isHovered,
57
57
  hoverProps
58
58
  } = (0, _interactions.useHover)();
59
+ const [triggerFocused, setTriggerFocused] = (0, _react.useState)(false);
59
60
  const handlePress = (0, _react.useCallback)(e => {
60
61
  if (e?.type === 'keyup' && e.key === 'Enter') {
61
62
  return;
@@ -80,13 +81,25 @@ const createSelectTrigger = BaseTrigger => /*#__PURE__*/(0, _react.forwardRef)((
80
81
  }
81
82
  }
82
83
  }, [disabled, setOpen]);
84
+
85
+ // `useFocus()` on Pressable can stay true on native after blur; use explicit focus/blur handlers.
86
+ const isLabelActive = _reactNative.Platform.select({
87
+ web: Boolean((isFocusedProp || isFocused || open) && !disabled),
88
+ default: Boolean((open || triggerFocused) && !disabled)
89
+ });
90
+ (0, _utils.useReportFormControlLabelFocus)(isLabelActive);
91
+ (0, _react.useLayoutEffect)(() => {
92
+ if (!open) {
93
+ setTriggerFocused(false);
94
+ }
95
+ }, [open]);
83
96
  const interactionState = (0, _react.useMemo)(() => ({
84
97
  hover: isHoveredProp || isHovered,
85
- focus: isFocusedProp || isFocused,
98
+ focus: isFocusedProp || isFocused || open,
86
99
  active: isActiveProp || isActive,
87
100
  disabled: !!disabled,
88
101
  focusVisible: isFocusVisibleProp || isFocusVisible
89
- }), [isHoveredProp, isHovered, isFocusedProp, isFocused, isActiveProp, isActive, disabled, isFocusVisibleProp, isFocusVisible]);
102
+ }), [isHoveredProp, isHovered, isFocusedProp, isFocused, isActiveProp, isActive, disabled, isFocusVisibleProp, isFocusVisible, open]);
90
103
 
91
104
  /**
92
105
  * Native: `Pressable` has no usable programmatic `.focus()` (unlike `TextInput`).
@@ -168,8 +181,8 @@ const createSelectTrigger = BaseTrigger => /*#__PURE__*/(0, _react.forwardRef)((
168
181
  onPressOut: (0, _utils.composeEventHandlers)(props?.onPressOut, pressProps.onPressOut),
169
182
  onHoverIn: (0, _utils.composeEventHandlers)(props?.onHoverIn, hoverProps.onHoverIn),
170
183
  onHoverOut: (0, _utils.composeEventHandlers)(props?.onHoverOut, hoverProps.onHoverOut),
171
- onFocus: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(props?.onFocus, focusProps.onFocus), focusRingProps.onFocus),
172
- onBlur: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(props?.onBlur, focusProps.onBlur), focusRingProps.onBlur),
184
+ onFocus: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(props?.onFocus, focusProps.onFocus), focusRingProps.onFocus, () => setTriggerFocused(true)),
185
+ onBlur: (0, _utils.composeEventHandlers)((0, _utils.composeEventHandlers)(props?.onBlur, focusProps.onBlur), focusRingProps.onBlur, () => setTriggerFocused(false)),
173
186
  ...webKeyboardProps,
174
187
  children: typeof children === 'function' ? children(interactionState) : children
175
188
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_utils","_focus","_interactions","_dataAttributes","_context","_jsxRuntime","createSelectTrigger","BaseTrigger","forwardRef","children","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedByProp","props","ref","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedBy","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","handlePress","useCallback","e","type","key","handleKeyDown","preventDefault","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","useLayoutEffect","Platform","OS","inputRef","r","mergedRef","mergeRefs","filter","Boolean","join","webKeyboardProps","onKeyDown","composeEventHandlers","jsx","SelectTriggerProvider","value","role","undefined","dataAttributes","readonly","state","slot","id","onPress","onPressIn","onPressOut","onHoverIn","onHoverOut","onFocus","onBlur","exports"],"sourceRoot":"../../../src","sources":["select/createSelectTrigger.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_utils","_focus","_interactions","_dataAttributes","_context","_jsxRuntime","createSelectTrigger","BaseTrigger","forwardRef","children","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedByProp","props","ref","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedBy","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","triggerFocused","setTriggerFocused","useState","handlePress","useCallback","e","type","key","handleKeyDown","preventDefault","isLabelActive","Platform","select","web","Boolean","default","useReportFormControlLabelFocus","useLayoutEffect","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","OS","inputRef","r","mergedRef","mergeRefs","filter","join","webKeyboardProps","onKeyDown","composeEventHandlers","jsx","SelectTriggerProvider","value","role","undefined","dataAttributes","readonly","state","slot","id","onPress","onPressIn","onPressOut","onHoverIn","onHoverOut","onFocus","onBlur","exports"],"sourceRoot":"../../../src","sources":["select/createSelectTrigger.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TileProvider = exports.TileGroupContextProvider = void 0;
7
+ exports.useOptionalTileGroupContext = useOptionalTileGroupContext;
8
+ exports.useTileContext = void 0;
9
+ exports.useTileGroupContext = useTileGroupContext;
10
+ var _react = require("react");
11
+ var _utils = require("@cdx-ui/utils");
12
+ // Per-tile subtree (selection-aware slots, indicator, etc.)
13
+ const [TileProvider, useTileContext] = (0, _utils.createContext)('TileContext');
14
+
15
+ // Per-group subtree (optional — standalone tiles have no provider)
16
+ exports.useTileContext = useTileContext;
17
+ exports.TileProvider = TileProvider;
18
+ const TileGroupContext = /*#__PURE__*/(0, _react.createContext)(null);
19
+ const TileGroupContextProvider = exports.TileGroupContextProvider = TileGroupContext.Provider;
20
+ function useTileGroupContext() {
21
+ const ctx = (0, _react.useContext)(TileGroupContext);
22
+ if (!ctx) {
23
+ throw new Error('Tile must be used within Tile.Group');
24
+ }
25
+ return ctx;
26
+ }
27
+ function useOptionalTileGroupContext() {
28
+ return (0, _react.useContext)(TileGroupContext);
29
+ }
30
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_utils","TileProvider","useTileContext","createContext","exports","TileGroupContext","createReactContext","TileGroupContextProvider","Provider","useTileGroupContext","ctx","useContext","Error","useOptionalTileGroupContext"],"sourceRoot":"../../../src","sources":["tile/context.tsx"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA;AACO,MAAM,CAACE,YAAY,EAAEC,cAAc,CAAC,GAAG,IAAAC,oBAAa,EAAoB,aAAa,CAAC;;AAE7F;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAAAE,OAAA,CAAAH,YAAA,GAAAA,YAAA;AACA,MAAMI,gBAAgB,gBAAG,IAAAC,oBAAkB,EAAgC,IAAI,CAAC;AAEzE,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAGF,gBAAgB,CAACG,QAAQ;AAE1D,SAASC,mBAAmBA,CAAA,EAA2B;EAC5D,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACN,gBAAgB,CAAC;EACxC,IAAI,CAACK,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CAAC,qCAAqC,CAAC;EACxD;EACA,OAAOF,GAAG;AACZ;AAEO,SAASG,2BAA2BA,CAAA,EAAkC;EAC3E,OAAO,IAAAF,iBAAU,EAACN,gBAAgB,CAAC;AACrC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTileContent = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _dataAttributes = require("../utils/dataAttributes");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ const contentStyle = {
12
+ flex: 1,
13
+ flexDirection: 'column',
14
+ minWidth: 0
15
+ };
16
+ const createTileContent = Base => /*#__PURE__*/(0, _react.forwardRef)(({
17
+ children,
18
+ style,
19
+ ...props
20
+ }, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Base, {
21
+ ...props,
22
+ ...(0, _dataAttributes.dataAttributes)({
23
+ slot: 'tile-content'
24
+ }),
25
+ ref: ref,
26
+ style: [contentStyle, style],
27
+ children: children
28
+ }));
29
+ exports.createTileContent = createTileContent;
30
+ //# sourceMappingURL=createTileContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_dataAttributes","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","contentStyle","flex","flexDirection","minWidth","createTileContent","Base","forwardRef","children","style","props","ref","jsx","dataAttributes","slot","exports"],"sourceRoot":"../../../src","sources":["tile/createTileContent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAAyD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGzD,MAAMkB,YAAY,GAAG;EACnBC,IAAI,EAAE,CAAC;EACPC,aAAa,EAAE,QAAiB;EAChCC,QAAQ,EAAE;AACZ,CAAC;AAEM,MAAMC,iBAAiB,GAAQC,IAA4B,iBAChE,IAAAC,iBAAU,EAAC,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAAyB,CAAC,EAAEC,GAAuB,kBACnF,IAAA9B,WAAA,CAAA+B,GAAA,EAACN,IAAI;EAAA,GACEI,KAAK;EAAA,GACN,IAAAG,8BAAc,EAAC;IACjBC,IAAI,EAAE;EACR,CAAC,CAAC;EACFH,GAAG,EAAEA,GAAoB;EACzBF,KAAK,EAAE,CAACR,YAAY,EAAEQ,KAAK,CAAE;EAAAD,QAAA,EAE5BA;AAAQ,CACL,CACP,CAAC;AAACO,OAAA,CAAAV,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTileDescription = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _dataAttributes = require("../utils/dataAttributes");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ const noUnderline = {
12
+ textDecorationLine: 'none'
13
+ };
14
+ const createTileDescription = Base => /*#__PURE__*/(0, _react.forwardRef)(({
15
+ children,
16
+ style,
17
+ ...props
18
+ }, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Base, {
19
+ ...props,
20
+ ...(0, _dataAttributes.dataAttributes)({
21
+ slot: 'tile-description'
22
+ }),
23
+ ref: ref,
24
+ style: [noUnderline, style],
25
+ children: children
26
+ }));
27
+ exports.createTileDescription = createTileDescription;
28
+ //# sourceMappingURL=createTileDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_dataAttributes","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","noUnderline","textDecorationLine","createTileDescription","Base","forwardRef","children","style","props","ref","jsx","dataAttributes","slot","exports"],"sourceRoot":"../../../src","sources":["tile/createTileDescription.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAAyD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGzD,MAAMkB,WAAW,GAAG;EAAEC,kBAAkB,EAAE;AAAgB,CAAC;AAEpD,MAAMC,qBAAqB,GAAQC,IAA4B,iBACpE,IAAAC,iBAAU,EAAC,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAA6B,CAAC,EAAEC,GAAuB,kBACvF,IAAA5B,WAAA,CAAA6B,GAAA,EAACN,IAAI;EAAA,GACEI,KAAK;EAAA,GACN,IAAAG,8BAAc,EAAC;IACjBC,IAAI,EAAE;EACR,CAAC,CAAC;EACFH,GAAG,EAAEA,GAAoB;EACzBF,KAAK,EAAE,CAACN,WAAW,EAAEM,KAAK,CAAE;EAAAD,QAAA,EAE3BA;AAAQ,CACL,CACP,CAAC;AAACO,OAAA,CAAAV,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTileGroup = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _utils = require("@cdx-ui/utils");
9
+ var _dataAttributes = require("../utils/dataAttributes");
10
+ var _context = require("./context");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ /**
14
+ * Internal widening of the public discriminated union: the runtime accepts any value
15
+ * shape and reads `type` to decide branch behavior. The public API stays narrow.
16
+ */
17
+
18
+ const createTileGroup = Base => /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
19
+ const {
20
+ children,
21
+ type,
22
+ value: valueProp,
23
+ defaultValue,
24
+ onValueChange,
25
+ max: maxProp,
26
+ isDisabled = false,
27
+ 'aria-label': ariaLabel,
28
+ ...rest
29
+ } = props;
30
+ const max = maxProp ?? Number.POSITIVE_INFINITY;
31
+ const defaultProp = defaultValue !== undefined ? defaultValue : type === 'multiple' ? [] : undefined;
32
+ const [state, setState] = (0, _utils.useControllableState)({
33
+ prop: valueProp,
34
+ defaultProp,
35
+ onChange: next => {
36
+ if (next !== undefined) {
37
+ onValueChange?.(next);
38
+ }
39
+ }
40
+ });
41
+ const isSelected = (0, _react.useCallback)(tileValue => {
42
+ if (type === 'single') {
43
+ return state === tileValue;
44
+ }
45
+ return Array.isArray(state) && state.includes(tileValue);
46
+ }, [type, state]);
47
+ const isTileDisabledByGroup = (0, _react.useCallback)(tileValue => {
48
+ if (isDisabled) {
49
+ return true;
50
+ }
51
+ if (type !== 'multiple') {
52
+ return false;
53
+ }
54
+ const arr = Array.isArray(state) ? state : [];
55
+ if (arr.length < max) {
56
+ return false;
57
+ }
58
+ return !arr.includes(tileValue);
59
+ }, [isDisabled, type, state, max]);
60
+ const toggleValue = (0, _react.useCallback)(tileValue => {
61
+ if (isDisabled) {
62
+ return;
63
+ }
64
+ if (type === 'single') {
65
+ if (state === tileValue) {
66
+ return;
67
+ }
68
+ setState(tileValue);
69
+ return;
70
+ }
71
+ const arr = Array.isArray(state) ? [...state] : [];
72
+ const idx = arr.indexOf(tileValue);
73
+ if (idx >= 0) {
74
+ arr.splice(idx, 1);
75
+ setState(arr);
76
+ } else if (arr.length < max) {
77
+ arr.push(tileValue);
78
+ setState(arr);
79
+ }
80
+ }, [isDisabled, type, state, setState, max]);
81
+ const contextValue = (0, _react.useMemo)(() => ({
82
+ type,
83
+ value: state,
84
+ toggleValue,
85
+ isSelected,
86
+ isTileDisabledByGroup,
87
+ isGroupDisabled: isDisabled,
88
+ max
89
+ }), [type, state, toggleValue, isSelected, isTileDisabledByGroup, isDisabled, max]);
90
+ const role = type === 'single' ? 'radiogroup' : 'group';
91
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.TileGroupContextProvider, {
92
+ value: contextValue,
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Base, {
94
+ ...rest,
95
+ ref: ref,
96
+ role: role,
97
+ ...(type === 'single' ? {
98
+ accessibilityRole: 'radiogroup'
99
+ } : {}),
100
+ ...(ariaLabel ? {
101
+ 'aria-label': ariaLabel,
102
+ accessibilityLabel: ariaLabel
103
+ } : {}),
104
+ ...(0, _dataAttributes.dataAttributes)({
105
+ slot: 'tile-group'
106
+ }),
107
+ children: children
108
+ })
109
+ });
110
+ });
111
+ exports.createTileGroup = createTileGroup;
112
+ //# sourceMappingURL=createTileGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_utils","_dataAttributes","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createTileGroup","Base","forwardRef","props","ref","children","type","value","valueProp","defaultValue","onValueChange","max","maxProp","isDisabled","ariaLabel","rest","Number","POSITIVE_INFINITY","defaultProp","undefined","state","setState","useControllableState","prop","onChange","next","isSelected","useCallback","tileValue","Array","isArray","includes","isTileDisabledByGroup","arr","length","toggleValue","idx","indexOf","splice","push","contextValue","useMemo","isGroupDisabled","role","jsx","TileGroupContextProvider","accessibilityRole","accessibilityLabel","dataAttributes","slot","exports"],"sourceRoot":"../../../src","sources":["tile/createTileGroup.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTileIndicator = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _dataAttributes = require("../utils/dataAttributes");
9
+ var _context = require("./context");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ const shrinkZero = {
13
+ flexShrink: 0,
14
+ pointerEvents: 'none'
15
+ };
16
+ const createTileIndicator = Base => /*#__PURE__*/(0, _react.forwardRef)(({
17
+ children,
18
+ style,
19
+ indicatorType,
20
+ ...props
21
+ }, ref) => {
22
+ const {
23
+ isSelected,
24
+ isDisabled,
25
+ selectionType
26
+ } = (0, _context.useTileContext)();
27
+
28
+ // Effective visual type: explicit prop wins; otherwise infer from group/standalone context.
29
+ const effectiveType = indicatorType ?? (selectionType === 'single' ? 'radio' : 'checkbox');
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Base, {
31
+ ...props,
32
+ accessibilityElementsHidden: true,
33
+ "aria-hidden": true,
34
+ ...(0, _dataAttributes.dataAttributes)({
35
+ slot: 'tile-indicator',
36
+ checked: isSelected,
37
+ selectionType: effectiveType === 'radio' ? 'single' : 'multiple',
38
+ disabled: isDisabled
39
+ }),
40
+ ref: ref,
41
+ style: [shrinkZero, style],
42
+ children: children
43
+ });
44
+ });
45
+ exports.createTileIndicator = createTileIndicator;
46
+ //# sourceMappingURL=createTileIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_dataAttributes","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","shrinkZero","flexShrink","pointerEvents","createTileIndicator","Base","forwardRef","children","style","indicatorType","props","ref","isSelected","isDisabled","selectionType","useTileContext","effectiveType","jsx","accessibilityElementsHidden","dataAttributes","slot","checked","disabled","exports"],"sourceRoot":"../../../src","sources":["tile/createTileIndicator.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAA2C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG3C,MAAMkB,UAAU,GAAG;EAAEC,UAAU,EAAE,CAAU;EAAEC,aAAa,EAAE;AAAgB,CAAC;AAEtE,MAAMC,mBAAmB,GAAQC,IAA4B,iBAClE,IAAAC,iBAAU,EACR,CACE;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,aAAa;EAAE,GAAGC;AAA2B,CAAC,EACjEC,GAAuB,KACpB;EACH,MAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAc,CAAC,GAAG,IAAAC,uBAAc,EAAC,CAAC;;EAElE;EACA,MAAMC,aAAmC,GACvCP,aAAa,KAAKK,aAAa,KAAK,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;EAEtE,oBACE,IAAAjC,WAAA,CAAAoC,GAAA,EAACZ,IAAI;IAAA,GACEK,KAAK;IACVQ,2BAA2B;IAC3B,mBAAW;IAAA,GACP,IAAAC,8BAAc,EAAC;MACjBC,IAAI,EAAE,gBAAgB;MACtBC,OAAO,EAAET,UAAU;MACnBE,aAAa,EAAEE,aAAa,KAAK,OAAO,GAAG,QAAQ,GAAG,UAAU;MAChEM,QAAQ,EAAET;IACZ,CAAC,CAAC;IACFF,GAAG,EAAEA,GAAoB;IACzBH,KAAK,EAAE,CAACP,UAAU,EAAEO,KAAK,CAAE;IAAAD,QAAA,EAE1BA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAACgB,OAAA,CAAAnB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTileLeadingSlot = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _dataAttributes = require("../utils/dataAttributes");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ const shrinkZero = {
12
+ flexShrink: 0
13
+ };
14
+ const createTileLeadingSlot = Base => /*#__PURE__*/(0, _react.forwardRef)(({
15
+ 'aria-hidden': ariaHidden,
16
+ style,
17
+ children,
18
+ ...props
19
+ }, ref) => {
20
+ const accessibilityElementsHidden = ariaHidden !== false;
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Base, {
22
+ ...props,
23
+ ...(0, _dataAttributes.dataAttributes)({
24
+ slot: 'tile-leading'
25
+ }),
26
+ accessibilityElementsHidden: accessibilityElementsHidden,
27
+ "aria-hidden": ariaHidden,
28
+ ref: ref,
29
+ style: [shrinkZero, style],
30
+ children: children
31
+ });
32
+ });
33
+ exports.createTileLeadingSlot = createTileLeadingSlot;
34
+ //# sourceMappingURL=createTileLeadingSlot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_dataAttributes","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","shrinkZero","flexShrink","createTileLeadingSlot","Base","forwardRef","ariaHidden","style","children","props","ref","accessibilityElementsHidden","jsx","dataAttributes","slot","exports"],"sourceRoot":"../../../src","sources":["tile/createTileLeadingSlot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAAyD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGzD,MAAMkB,UAAU,GAAG;EAAEC,UAAU,EAAE;AAAW,CAAC;AAEtC,MAAMC,qBAAqB,GAAQC,IAA4B,iBACpE,IAAAC,iBAAU,EACR,CACE;EAAE,aAAa,EAAEC,UAAU;EAAEC,KAAK;EAAEC,QAAQ;EAAE,GAAGC;AAA6B,CAAC,EAC/EC,GAAuB,KACpB;EACH,MAAMC,2BAA2B,GAAGL,UAAU,KAAK,KAAK;EAExD,oBACE,IAAAzB,WAAA,CAAA+B,GAAA,EAACR,IAAI;IAAA,GACEK,KAAK;IAAA,GACN,IAAAI,8BAAc,EAAC;MACjBC,IAAI,EAAE;IACR,CAAC,CAAC;IACFH,2BAA2B,EAAEA,2BAA4B;IACzD,eAAaL,UAAW;IACxBI,GAAG,EAAEA,GAAoB;IACzBH,KAAK,EAAE,CAACN,UAAU,EAAEM,KAAK,CAAE;IAAAC,QAAA,EAE1BA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAACO,OAAA,CAAAZ,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTileRoot = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _utils = require("@cdx-ui/utils");
9
+ var _focus = require("@react-native-aria/focus");
10
+ var _interactions = require("@react-native-aria/interactions");
11
+ var _dataAttributes = require("../utils/dataAttributes");
12
+ var _context = require("./context");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ const rowStyle = {
16
+ flexDirection: 'row',
17
+ alignSelf: 'stretch',
18
+ alignItems: 'center'
19
+ };
20
+ const createTileRoot = BasePressable => /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
21
+ const {
22
+ value,
23
+ disabled: disabledProp = false,
24
+ isSelected: controlledSelected,
25
+ defaultSelected,
26
+ onSelectedChange,
27
+ children,
28
+ onPress,
29
+ onFocus,
30
+ onBlur,
31
+ style,
32
+ /** Consumed by styled `withStyleContext` root. */
33
+ context: _styleContext,
34
+ ...rest
35
+ } = props;
36
+ const group = (0, _context.useOptionalTileGroupContext)();
37
+
38
+ // Standalone selection state — only meaningful when no group owns selection.
39
+ const [standaloneSelected = false, setStandaloneSelected] = (0, _utils.useControllableState)({
40
+ prop: controlledSelected,
41
+ defaultProp: defaultSelected ?? false,
42
+ onChange: next => {
43
+ onSelectedChange?.(next);
44
+ }
45
+ });
46
+ const isSelected = group ? group.isSelected(value) : standaloneSelected;
47
+ const disabledByGroup = group ? group.isTileDisabledByGroup(value) : false;
48
+ const isDisabled = disabledByGroup || disabledProp;
49
+ const cannotToggle = isDisabled;
50
+ const {
51
+ focusProps,
52
+ isFocused
53
+ } = (0, _focus.useFocus)();
54
+ const {
55
+ pressProps,
56
+ isPressed
57
+ } = (0, _interactions.usePress)({
58
+ isDisabled: cannotToggle
59
+ });
60
+ const {
61
+ hoverProps,
62
+ isHovered
63
+ } = (0, _interactions.useHover)();
64
+
65
+ // Standalone tiles use checkbox semantics (independent on/off toggle).
66
+ const selectionType = group ? group.type : 'multiple';
67
+ const accessibilityState = (0, _react.useMemo)(() => ({
68
+ disabled: isDisabled,
69
+ ...(selectionType === 'single' ? {
70
+ selected: isSelected
71
+ } : {
72
+ checked: isSelected
73
+ })
74
+ }), [isDisabled, isSelected, selectionType]);
75
+ const tileContext = (0, _react.useMemo)(() => ({
76
+ value,
77
+ isSelected,
78
+ isDisabled,
79
+ selectionType
80
+ }), [value, isSelected, isDisabled, selectionType]);
81
+ const passthrough = rest;
82
+ const composedOnPress = (0, _utils.composeEventHandlers)(onPress, () => {
83
+ if (cannotToggle) {
84
+ return;
85
+ }
86
+ if (group) {
87
+ group.toggleValue(value);
88
+ } else {
89
+ setStandaloneSelected(!standaloneSelected);
90
+ }
91
+ });
92
+ const sharedHandlers = {
93
+ onPress: isDisabled ? undefined : composedOnPress,
94
+ onPressIn: (0, _utils.composeEventHandlers)(passthrough.onPressIn, pressProps.onPressIn),
95
+ onPressOut: (0, _utils.composeEventHandlers)(passthrough.onPressOut, pressProps.onPressOut),
96
+ onHoverIn: (0, _utils.composeEventHandlers)(passthrough.onHoverIn, hoverProps.onHoverIn),
97
+ onHoverOut: (0, _utils.composeEventHandlers)(passthrough.onHoverOut, hoverProps.onHoverOut),
98
+ onFocus: (0, _utils.composeEventHandlers)(onFocus, focusProps.onFocus),
99
+ onBlur: (0, _utils.composeEventHandlers)(onBlur, focusProps.onBlur)
100
+ };
101
+ const role = selectionType === 'single' ? 'radio' : 'checkbox';
102
+ const sharedAttrs = {
103
+ accessibilityRole: role,
104
+ role,
105
+ accessibilityState,
106
+ 'aria-checked': isSelected,
107
+ ...(isDisabled ? {
108
+ 'aria-disabled': true
109
+ } : {}),
110
+ ...(0, _dataAttributes.dataAttributes)({
111
+ slot: 'tile',
112
+ state: isSelected ? 'selected' : 'unselected',
113
+ disabled: isDisabled,
114
+ active: isPressed,
115
+ hover: isHovered,
116
+ focused: isFocused
117
+ })
118
+ };
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.TileProvider, {
120
+ value: tileContext,
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BasePressable, {
122
+ ...rest,
123
+ context: _styleContext,
124
+ ref: (0, _utils.mergeRefs)(ref),
125
+ ...sharedAttrs,
126
+ ...sharedHandlers,
127
+ style: [rowStyle, style],
128
+ children: children
129
+ })
130
+ });
131
+ });
132
+ exports.createTileRoot = createTileRoot;
133
+ //# sourceMappingURL=createTileRoot.js.map