@seed-design/lynx-react 0.6.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/lib/components/Accordion/Accordion.d.ts.map +1 -1
  2. package/lib/components/Accordion/Accordion.jsx +24 -14
  3. package/lib/components/ActionButton/ActionButton.d.ts +1 -1
  4. package/lib/components/ActionButton/ActionButton.d.ts.map +1 -1
  5. package/lib/components/ActionButton/ActionButton.jsx +12 -4
  6. package/lib/components/AppBar/AppBar.d.ts.map +1 -1
  7. package/lib/components/AppBar/AppBar.jsx +9 -8
  8. package/lib/components/Badge/Badge.d.ts.map +1 -1
  9. package/lib/components/Badge/Badge.jsx +2 -1
  10. package/lib/components/BottomSheet/BottomSheet.d.ts.map +1 -1
  11. package/lib/components/BottomSheet/BottomSheet.jsx +9 -9
  12. package/lib/components/Box/Box.d.ts.map +1 -1
  13. package/lib/components/Box/Box.jsx +2 -1
  14. package/lib/components/Callout/Callout.d.ts +2 -2
  15. package/lib/components/Callout/Callout.d.ts.map +1 -1
  16. package/lib/components/Callout/Callout.jsx +20 -10
  17. package/lib/components/Checkbox/Checkbox.d.ts +4 -2
  18. package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  19. package/lib/components/Checkbox/Checkbox.jsx +33 -17
  20. package/lib/components/Chip/Chip.d.ts +1 -1
  21. package/lib/components/Chip/Chip.d.ts.map +1 -1
  22. package/lib/components/Chip/Chip.jsx +36 -16
  23. package/lib/components/Count/Count.d.ts +7 -0
  24. package/lib/components/Count/Count.d.ts.map +1 -0
  25. package/lib/components/Count/Count.jsx +19 -0
  26. package/lib/components/Count/index.d.ts +2 -0
  27. package/lib/components/Count/index.d.ts.map +1 -0
  28. package/lib/components/Divider/Divider.d.ts.map +1 -1
  29. package/lib/components/Divider/Divider.jsx +2 -1
  30. package/lib/components/Field/Field.d.ts.map +1 -1
  31. package/lib/components/Field/Field.jsx +11 -15
  32. package/lib/components/Icon/Icon.d.ts.map +1 -1
  33. package/lib/components/Icon/Icon.jsx +4 -3
  34. package/lib/components/InputButton/InputButton.d.ts +40 -0
  35. package/lib/components/InputButton/InputButton.d.ts.map +1 -0
  36. package/lib/components/InputButton/InputButton.jsx +118 -0
  37. package/lib/components/InputButton/InputButton.namespace.d.ts +2 -0
  38. package/lib/components/InputButton/InputButton.namespace.d.ts.map +1 -0
  39. package/lib/components/InputButton/InputButton.namespace.js +16 -0
  40. package/lib/components/InputButton/index.d.ts +3 -0
  41. package/lib/components/InputButton/index.d.ts.map +1 -0
  42. package/lib/components/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.d.ts.map +1 -1
  43. package/lib/components/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.jsx +12 -8
  44. package/lib/components/List/List.d.ts +51 -0
  45. package/lib/components/List/List.d.ts.map +1 -0
  46. package/lib/components/List/List.jsx +176 -0
  47. package/lib/components/List/List.namespace.d.ts +2 -0
  48. package/lib/components/List/List.namespace.d.ts.map +1 -0
  49. package/lib/components/List/List.namespace.js +18 -0
  50. package/lib/components/List/index.d.ts +3 -0
  51. package/lib/components/List/index.d.ts.map +1 -0
  52. package/lib/components/MannerTemp/MannerTemp.d.ts.map +1 -1
  53. package/lib/components/MannerTemp/MannerTemp.jsx +3 -2
  54. package/lib/components/MannerTempBadge/MannerTempBadge.d.ts.map +1 -1
  55. package/lib/components/MannerTempBadge/MannerTempBadge.jsx +2 -1
  56. package/lib/components/Menu/Menu.d.ts +69 -0
  57. package/lib/components/Menu/Menu.d.ts.map +1 -0
  58. package/lib/components/Menu/Menu.jsx +520 -0
  59. package/lib/components/Menu/Menu.namespace.d.ts +2 -0
  60. package/lib/components/Menu/Menu.namespace.d.ts.map +1 -0
  61. package/lib/components/Menu/Menu.namespace.js +21 -0
  62. package/lib/components/Menu/index.d.ts +3 -0
  63. package/lib/components/Menu/index.d.ts.map +1 -0
  64. package/lib/components/NotificationBadge/NotificationBadge.d.ts.map +1 -1
  65. package/lib/components/NotificationBadge/NotificationBadge.jsx +3 -2
  66. package/lib/components/PageBanner/PageBanner.d.ts +5 -5
  67. package/lib/components/PageBanner/PageBanner.d.ts.map +1 -1
  68. package/lib/components/PageBanner/PageBanner.jsx +25 -14
  69. package/lib/components/ProgressCircle/ProgressCircle.d.ts +2 -2
  70. package/lib/components/ProgressCircle/ProgressCircle.d.ts.map +1 -1
  71. package/lib/components/ProgressCircle/ProgressCircle.jsx +4 -3
  72. package/lib/components/RadioGroup/RadioGroup.d.ts +5 -3
  73. package/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  74. package/lib/components/RadioGroup/RadioGroup.jsx +22 -9
  75. package/lib/components/ReactionButton/ReactionButton.d.ts +20 -0
  76. package/lib/components/ReactionButton/ReactionButton.d.ts.map +1 -0
  77. package/lib/components/ReactionButton/ReactionButton.jsx +88 -0
  78. package/lib/components/ReactionButton/index.d.ts +2 -0
  79. package/lib/components/ReactionButton/index.d.ts.map +1 -0
  80. package/lib/components/ScaleFeedback/ScaleFeedback.d.ts +11 -0
  81. package/lib/components/ScaleFeedback/ScaleFeedback.d.ts.map +1 -0
  82. package/lib/components/ScaleFeedback/ScaleFeedback.jsx +16 -0
  83. package/lib/components/ScaleFeedback/index.d.ts +2 -0
  84. package/lib/components/ScaleFeedback/index.d.ts.map +1 -0
  85. package/lib/components/SegmentedControl/SegmentedControl.d.ts +1 -0
  86. package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  87. package/lib/components/SegmentedControl/SegmentedControl.jsx +23 -10
  88. package/lib/components/SelectBox/SelectBox.d.ts.map +1 -1
  89. package/lib/components/SelectBox/SelectBox.jsx +23 -13
  90. package/lib/components/Stack/Stack.d.ts.map +1 -1
  91. package/lib/components/Stack/Stack.jsx +2 -1
  92. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.d.ts +85 -0
  93. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.d.ts.map +1 -0
  94. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.jsx +256 -0
  95. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.d.ts +2 -0
  96. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.d.ts.map +1 -0
  97. package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.js +24 -0
  98. package/lib/components/SwipeableMenuSheet/index.d.ts +3 -0
  99. package/lib/components/SwipeableMenuSheet/index.d.ts.map +1 -0
  100. package/lib/components/Switch/Switch.d.ts +27 -3
  101. package/lib/components/Switch/Switch.d.ts.map +1 -1
  102. package/lib/components/Switch/Switch.jsx +22 -9
  103. package/lib/components/Tabs/Tabs.d.ts +4 -2
  104. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  105. package/lib/components/Tabs/Tabs.jsx +37 -22
  106. package/lib/components/TagGroup/TagGroup.d.ts.map +1 -1
  107. package/lib/components/TagGroup/TagGroup.jsx +4 -3
  108. package/lib/components/Text/Text.d.ts.map +1 -1
  109. package/lib/components/Text/Text.jsx +2 -1
  110. package/lib/components/TextField/TextField.d.ts.map +1 -1
  111. package/lib/components/TextField/TextField.jsx +35 -23
  112. package/lib/components/index.d.ts +7 -0
  113. package/lib/components/index.d.ts.map +1 -1
  114. package/lib/components/private/Positioning.d.ts +69 -0
  115. package/lib/components/private/Positioning.d.ts.map +1 -0
  116. package/lib/components/private/Positioning.js +109 -0
  117. package/lib/components/private/TrackPositioning.d.ts +22 -0
  118. package/lib/components/private/TrackPositioning.d.ts.map +1 -0
  119. package/lib/contexts/ScaleFeedbackContentContext.d.ts +4 -0
  120. package/lib/contexts/ScaleFeedbackContentContext.d.ts.map +1 -0
  121. package/lib/contexts/ScaleFeedbackContentContext.js +6 -0
  122. package/lib/contexts/index.d.ts +2 -0
  123. package/lib/contexts/index.d.ts.map +1 -0
  124. package/lib/hooks/index.d.ts +1 -0
  125. package/lib/hooks/index.d.ts.map +1 -1
  126. package/lib/hooks/useIconColor.d.ts.map +1 -1
  127. package/lib/hooks/useIconColor.js +8 -3
  128. package/lib/hooks/usePressTap.d.ts +4 -3
  129. package/lib/hooks/usePressTap.d.ts.map +1 -1
  130. package/lib/hooks/useScaleFeedback.d.ts +48 -0
  131. package/lib/hooks/useScaleFeedback.d.ts.map +1 -0
  132. package/lib/hooks/useScaleFeedback.js +108 -0
  133. package/lib/index.d.ts +1 -0
  134. package/lib/index.d.ts.map +1 -1
  135. package/lib/index.js +17 -3
  136. package/lib/node_modules/.bun/@floating-ui_core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.js +493 -0
  137. package/lib/node_modules/.bun/@floating-ui_utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +114 -0
  138. package/lib/utils/calculate-scale-feedback.d.ts +5 -0
  139. package/lib/utils/calculate-scale-feedback.d.ts.map +1 -0
  140. package/lib/utils/calculate-scale-feedback.js +13 -0
  141. package/lib/utils/compose-event-handlers.d.ts +5 -0
  142. package/lib/utils/compose-event-handlers.d.ts.map +1 -0
  143. package/lib/utils/compose-event-handlers.js +16 -0
  144. package/lib/utils/create-slot-recipe-context.d.ts.map +1 -1
  145. package/lib/utils/create-slot-recipe-context.jsx +6 -16
  146. package/lib/utils/index.d.ts +1 -0
  147. package/lib/utils/index.d.ts.map +1 -1
  148. package/lib/utils/merge-props.d.ts +15 -0
  149. package/lib/utils/merge-props.d.ts.map +1 -0
  150. package/lib/utils/merge-props.js +36 -0
  151. package/lib/utils/merge-refs.d.ts +8 -0
  152. package/lib/utils/merge-refs.d.ts.map +1 -0
  153. package/lib/utils/merge-refs.js +38 -0
  154. package/package.json +6 -5
  155. package/src/components/Accordion/Accordion.tsx +36 -27
  156. package/src/components/ActionButton/ActionButton.tsx +27 -12
  157. package/src/components/AppBar/AppBar.tsx +17 -18
  158. package/src/components/Badge/Badge.tsx +2 -2
  159. package/src/components/BottomSheet/BottomSheet.tsx +9 -17
  160. package/src/components/Box/Box.tsx +2 -2
  161. package/src/components/Callout/Callout.tsx +39 -22
  162. package/src/components/Checkbox/Checkbox.test.tsx +44 -0
  163. package/src/components/Checkbox/Checkbox.tsx +52 -21
  164. package/src/components/Chip/Chip.test.tsx +50 -1
  165. package/src/components/Chip/Chip.tsx +75 -31
  166. package/src/components/Count/Count.tsx +35 -0
  167. package/src/components/Count/index.ts +1 -0
  168. package/src/components/Divider/Divider.tsx +2 -2
  169. package/src/components/Field/Field.tsx +15 -28
  170. package/src/components/Icon/Icon.test.tsx +4 -6
  171. package/src/components/Icon/Icon.tsx +14 -7
  172. package/src/components/InputButton/InputButton.namespace.ts +20 -0
  173. package/src/components/InputButton/InputButton.test.tsx +82 -0
  174. package/src/components/InputButton/InputButton.tsx +295 -0
  175. package/src/components/InputButton/index.ts +2 -0
  176. package/src/components/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.tsx +16 -21
  177. package/src/components/List/List.namespace.ts +24 -0
  178. package/src/components/List/List.test.tsx +162 -0
  179. package/src/components/List/List.tsx +476 -0
  180. package/src/components/List/index.ts +3 -0
  181. package/src/components/MannerTemp/MannerTemp.tsx +3 -4
  182. package/src/components/MannerTempBadge/MannerTempBadge.tsx +2 -2
  183. package/src/components/Menu/Menu.namespace.ts +26 -0
  184. package/src/components/Menu/Menu.tsx +883 -0
  185. package/src/components/Menu/index.ts +31 -0
  186. package/src/components/NotificationBadge/NotificationBadge.tsx +4 -9
  187. package/src/components/PageBanner/PageBanner.test.tsx +3 -0
  188. package/src/components/PageBanner/PageBanner.tsx +54 -45
  189. package/src/components/ProgressCircle/ProgressCircle.test.tsx +48 -0
  190. package/src/components/ProgressCircle/ProgressCircle.tsx +22 -3
  191. package/src/components/RadioGroup/RadioGroup.test.tsx +87 -0
  192. package/src/components/RadioGroup/RadioGroup.tsx +50 -14
  193. package/src/components/ReactionButton/ReactionButton.test.tsx +122 -0
  194. package/src/components/ReactionButton/ReactionButton.tsx +139 -0
  195. package/src/components/ReactionButton/index.ts +1 -0
  196. package/src/components/ScaleFeedback/ScaleFeedback.test.tsx +41 -0
  197. package/src/components/ScaleFeedback/ScaleFeedback.tsx +32 -0
  198. package/src/components/ScaleFeedback/index.ts +1 -0
  199. package/src/components/SegmentedControl/SegmentedControl.test.tsx +15 -3
  200. package/src/components/SegmentedControl/SegmentedControl.tsx +35 -14
  201. package/src/components/SelectBox/SelectBox.test.tsx +39 -1
  202. package/src/components/SelectBox/SelectBox.tsx +27 -16
  203. package/src/components/Stack/Stack.tsx +2 -2
  204. package/src/components/SwipeableMenuSheet/SwipeableMenuSheet.namespace.ts +37 -0
  205. package/src/components/SwipeableMenuSheet/SwipeableMenuSheet.test.tsx +258 -0
  206. package/src/components/SwipeableMenuSheet/SwipeableMenuSheet.tsx +655 -0
  207. package/src/components/SwipeableMenuSheet/index.ts +43 -0
  208. package/src/components/Switch/Switch.test.tsx +57 -0
  209. package/src/components/Switch/Switch.tsx +60 -16
  210. package/src/components/Tabs/Tabs.test.tsx +19 -0
  211. package/src/components/Tabs/Tabs.tsx +72 -40
  212. package/src/components/TagGroup/TagGroup.tsx +4 -6
  213. package/src/components/Text/Text.tsx +2 -2
  214. package/src/components/TextField/TextField.tsx +60 -54
  215. package/src/components/index.ts +7 -0
  216. package/src/components/private/Positioning.test.ts +235 -0
  217. package/src/components/private/Positioning.ts +223 -0
  218. package/src/components/private/TrackPositioning.test.ts +58 -0
  219. package/src/components/private/TrackPositioning.ts +37 -0
  220. package/src/contexts/ScaleFeedbackContentContext.ts +4 -0
  221. package/src/contexts/index.ts +1 -0
  222. package/src/hooks/index.ts +1 -0
  223. package/src/hooks/useIconColor.test.ts +4 -4
  224. package/src/hooks/useIconColor.ts +13 -6
  225. package/src/hooks/usePressTap.ts +4 -3
  226. package/src/hooks/useScaleFeedback.integration.test.tsx +85 -0
  227. package/src/hooks/useScaleFeedback.test.ts +50 -0
  228. package/src/hooks/useScaleFeedback.ts +199 -0
  229. package/src/index.ts +1 -0
  230. package/src/utils/calculate-scale-feedback.ts +12 -0
  231. package/src/utils/compose-event-handlers.ts +16 -0
  232. package/src/utils/create-slot-recipe-context.tsx +6 -7
  233. package/src/utils/index.ts +1 -0
  234. package/src/utils/merge-props.test.tsx +152 -0
  235. package/src/utils/merge-props.ts +62 -0
  236. package/src/utils/merge-refs.ts +44 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAa,KAAK,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAIhG,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EAIvB,MAAM,aAAa,CAAC;AAKrB;;;;;;;;GAQG;AAEH,KAAK,2BAA2B,GAAG,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AA0ChG,MAAM,WAAW,kBAAmB,SAAQ,2BAA2B,EAAE,sBAAsB;IAC7F,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,oFA8DxB,CAAC;AAKH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,oFAkCxB,CAAC;AAKH,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE/F,eAAO,MAAM,eAAe,sFAmB1B,CAAC;AAKH,MAAM,WAAW,qBACf,SAAQ,sBAAsB,EAC5B,sBAAsB,EACtB,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,gBAAgB,uFAoD3B,CAAC;AAKH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAYhG,eAAO,MAAM,gBAAgB,uFA6B3B,CAAC;AAKH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;CAAG;AAErE,eAAO,MAAM,aAAa,oFAaxB,CAAC;AAKH,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;CAAG;AAEtE,eAAO,MAAM,cAAc,qFAazB,CAAC;AAKH,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;CAAG;AAE5E,eAAO,MAAM,oBAAoB,2FAehC,CAAC;AAKF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;CAAG;AAEvE,eAAO,MAAM,eAAe,sFAa1B,CAAC;AAKH,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,IAAI,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,mBAAmB,0FAoC/B,CAAC"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAa,KAAK,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAKhG,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EAIvB,MAAM,aAAa,CAAC;AAMrB;;;;;;;;GAQG;AAEH,KAAK,2BAA2B,GAAG,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AA0ChG,MAAM,WAAW,kBAAmB,SAAQ,2BAA2B,EAAE,sBAAsB;IAC7F,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,oFA6DxB,CAAC;AAKH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,oFAiCxB,CAAC;AAKH,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE/F,eAAO,MAAM,eAAe,sFAkB1B,CAAC;AAKH,MAAM,WAAW,qBACf,SAAQ,sBAAsB,EAC5B,sBAAsB,EACtB,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,eAAO,MAAM,gBAAgB,uFA+D3B,CAAC;AAKH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAYhG,eAAO,MAAM,gBAAgB,uFA4B3B,CAAC;AAKH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;CAAG;AAErE,eAAO,MAAM,aAAa,oFAYxB,CAAC;AAKH,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;CAAG;AAEtE,eAAO,MAAM,cAAc,qFAYzB,CAAC;AAKH,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;CAAG;AAE5E,eAAO,MAAM,oBAAoB,2FAchC,CAAC;AAKF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;CAAG;AAEvE,eAAO,MAAM,eAAe,sFAY1B,CAAC;AAKH,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,IAAI,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,mBAAmB,0FAwC/B,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { useControllableState } from "../../hooks/useControllableState.js";
2
2
  import { usePressTap } from "../../hooks/usePressTap.js";
3
+ import { useScaleFeedback } from "../../hooks/useScaleFeedback.js";
3
4
  import { toArray } from "../../utils/children.js";
5
+ import { mergeProps } from "../../utils/merge-props.js";
4
6
  import { createSlotRecipeContext } from "../../utils/create-slot-recipe-context.jsx";
5
7
  import { InternalIcon } from "../Icon/Icon.jsx";
6
8
  import * as React from "@lynx-js/react";
@@ -60,7 +62,7 @@ var AccordionRoot = React.forwardRef((props, ref) => {
60
62
  });
61
63
  const items = toArray(children);
62
64
  return <AccordionContext.Provider value={contextValue}>
63
- <view {...ref ? { ref } : {}} className={clsx(classes.root, className)} {...nativeProps}>
65
+ <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.root, className)}>
64
66
  {items.map((item, index) => <AccordionItemPositionContext.Provider key={React.isValidElement(item) ? item.key ?? index : index} value={{ isLast: index === items.length - 1 }}>
65
67
  {item}
66
68
  </AccordionItemPositionContext.Provider>)}
@@ -96,7 +98,7 @@ var AccordionItem = React.forwardRef((props, ref) => {
96
98
  ]);
97
99
  return <AccordionItemContext.Provider value={contextValue}>
98
100
  <ClassNamesProvider value={classes}>
99
- <view {...ref ? { ref } : {}} className={clsx(classes.item, className)} {...nativeProps}>
101
+ <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.item, className)}>
100
102
  {children}
101
103
  {!isLast ? <view className={classes.divider} accessibility-elements-hidden={true} /> : null}
102
104
  </view>
@@ -107,7 +109,7 @@ AccordionItem.displayName = "AccordionItem";
107
109
  var AccordionHeader = React.forwardRef((props, ref) => {
108
110
  const { children, className, "accessibility-heading": accessibilityHeading = true, ...nativeProps } = props;
109
111
  const classes = useClassNames();
110
- return <view {...ref ? { ref } : {}} className={clsx(classes.header, className)} accessibility-heading={accessibilityHeading} {...nativeProps}>
112
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.header, className)} accessibility-heading={accessibilityHeading}>
111
113
  {children}
112
114
  </view>;
113
115
  });
@@ -119,10 +121,16 @@ var AccordionTrigger = React.forwardRef((props, ref) => {
119
121
  context.toggle();
120
122
  bindtap?.(event);
121
123
  }, [bindtap, context]);
122
- const { pressed, ...pressHandlers } = usePressTap({
124
+ const { pressed, bindtouchstart, bindtouchend, bindtouchcancel, ...pressHandlers } = usePressTap({
123
125
  disabled: context.disabled,
124
126
  onTap: handleTap
125
127
  });
128
+ const { scaleFeedbackTriggerProps, scaleFeedbackTargetProps } = useScaleFeedback({
129
+ disabled: context.disabled,
130
+ onTouchStart: bindtouchstart,
131
+ onTouchEnd: bindtouchend,
132
+ onTouchCancel: bindtouchcancel
133
+ });
126
134
  const classes = accordion({
127
135
  ...context.variantProps,
128
136
  open: context.open,
@@ -130,9 +138,11 @@ var AccordionTrigger = React.forwardRef((props, ref) => {
130
138
  pressed
131
139
  });
132
140
  return <ClassNamesProvider value={classes}>
133
- <view {...ref ? { ref } : {}} className={clsx(classes.trigger, className)} accessibility-element={accessibilityElement} accessibility-role-description={accessibilityRoleDescription} accessibility-traits={accessibilityTraits ?? (context.disabled ? "disabled" : "button")} accessibility-value={accessibilityValue ?? (context.open ? expandedAccessibilityValue : collapsedAccessibilityValue)} {...pressHandlers} {...nativeProps}>
141
+ <view {...mergeProps(ref ? { ref } : {}, pressHandlers, scaleFeedbackTriggerProps, nativeProps)} className={clsx(classes.trigger, className)} accessibility-element={accessibilityElement} accessibility-role-description={accessibilityRoleDescription} accessibility-traits={accessibilityTraits ?? (context.disabled ? "disabled" : "button")} accessibility-value={accessibilityValue ?? (context.open ? expandedAccessibilityValue : collapsedAccessibilityValue)}>
134
142
  <view className={classes.pressedOverlay} accessibility-elements-hidden={true} />
135
- {children}
143
+ <view className={classes.triggerContent} {...scaleFeedbackTargetProps}>
144
+ {children}
145
+ </view>
136
146
  </view>
137
147
  </ClassNamesProvider>;
138
148
  });
@@ -152,10 +162,10 @@ var AccordionContent = React.forwardRef((props, ref) => {
152
162
  const height = getContentLayoutHeight(event);
153
163
  if (height !== null) setContentHeight((current) => current === height ? current : height);
154
164
  }, []);
155
- return <view {...ref ? { ref } : {}} className={clsx(classes.content, className)} style={{
165
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.content, className)} style={{
156
166
  ...style,
157
167
  height: context.open ? `${contentHeight}px` : "0px"
158
- }} accessibility-elements-hidden={!context.open || accessibilityElementsHidden} {...nativeProps}>
168
+ }} accessibility-elements-hidden={!context.open || accessibilityElementsHidden}>
159
169
  <view className={classes.contentInner} bindlayoutchange={handleContentLayoutChange}>
160
170
  {children}
161
171
  </view>
@@ -165,7 +175,7 @@ AccordionContent.displayName = "AccordionContent";
165
175
  var AccordionBody = React.forwardRef((props, ref) => {
166
176
  const { children, className, ...nativeProps } = props;
167
177
  const classes = useClassNames();
168
- return <view {...ref ? { ref } : {}} className={clsx(classes.body, className)} {...nativeProps}>
178
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.body, className)}>
169
179
  {children}
170
180
  </view>;
171
181
  });
@@ -173,7 +183,7 @@ AccordionBody.displayName = "AccordionBody";
173
183
  var AccordionTitle = React.forwardRef((props, ref) => {
174
184
  const { children, className, ...nativeProps } = props;
175
185
  const classes = useClassNames();
176
- return <text {...ref ? { ref } : {}} className={clsx(classes.title, className)} {...nativeProps}>
186
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.title, className)}>
177
187
  {children}
178
188
  </text>;
179
189
  });
@@ -181,7 +191,7 @@ AccordionTitle.displayName = "AccordionTitle";
181
191
  var AccordionDescription = React.forwardRef((props, ref) => {
182
192
  const { children, className, ...nativeProps } = props;
183
193
  const classes = useClassNames();
184
- return <text {...ref ? { ref } : {}} className={clsx(classes.description, className)} {...nativeProps}>
194
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.description, className)}>
185
195
  {children}
186
196
  </text>;
187
197
  });
@@ -189,7 +199,7 @@ AccordionDescription.displayName = "AccordionDescription";
189
199
  var AccordionPrefix = React.forwardRef((props, ref) => {
190
200
  const { children, className, ...nativeProps } = props;
191
201
  const classes = useClassNames();
192
- return <view {...ref ? { ref } : {}} className={clsx(classes.prefix, className)} {...nativeProps}>
202
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.prefix, className)}>
193
203
  {children}
194
204
  </view>;
195
205
  });
@@ -198,10 +208,10 @@ var AccordionSuffixIcon = React.forwardRef((props, ref) => {
198
208
  const { icon, children, className, style, ...nativeProps } = props;
199
209
  const context = useAccordionItemContext("AccordionSuffixIcon");
200
210
  const mergedClassName = clsx(useClassNames().suffixIcon, className);
201
- if (icon) return <view {...ref ? { ref } : {}} accessibility-elements-hidden={true} {...nativeProps}>
211
+ if (icon) return <view {...mergeProps({ "accessibility-elements-hidden": true }, ref ? { ref } : {}, nativeProps)}>
202
212
  <InternalIcon icon={icon} className={mergedClassName} style={style} deps={[context.open, context.disabled]} />
203
213
  </view>;
204
- return <view {...ref ? { ref } : {}} className={mergedClassName} style={style} accessibility-elements-hidden={true} {...nativeProps}>
214
+ return <view {...mergeProps({ "accessibility-elements-hidden": true }, ref ? { ref } : {}, nativeProps)} className={mergedClassName} style={style}>
205
215
  {children}
206
216
  </view>;
207
217
  });
@@ -39,7 +39,7 @@ interface ActionButtonAccessibilityProps {
39
39
  * </ActionButton>
40
40
  * ```
41
41
  */
42
- export interface ActionButtonProps extends Omit<ActionButtonVariantProps, "pressed">, Pick<StyleProps, "flexGrow">, LynxElementProps, LynxPressableProps, ActionButtonAccessibilityProps {
42
+ export interface ActionButtonProps extends Omit<ActionButtonVariantProps, "pressed">, Pick<StyleProps, "flexGrow">, Omit<LynxElementProps, "flatten">, LynxPressableProps, ActionButtonAccessibilityProps {
43
43
  icon?: IconProps["icon"];
44
44
  prefixIcon?: PrefixIconProps["icon"];
45
45
  suffixIcon?: SuffixIconProps["icon"];
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButton.d.ts","sourceRoot":"","sources":["../../../src/components/ActionButton/ActionButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAI5F,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAIxC,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAIlB,aAAa,EAEd,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMvE,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAiBtB,UAAU,8BAA8B;IACtC,qBAAqB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC7D,uBAAuB,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACjE,sBAAsB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAChE;AA0LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,EAC/C,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,8BAA8B;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,YAAY,mFA2EvB,CAAC"}
1
+ {"version":3,"file":"ActionButton.d.ts","sourceRoot":"","sources":["../../../src/components/ActionButton/ActionButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAI5F,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAKxC,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAIlB,aAAa,EAEd,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMvE,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AAkBtB,UAAU,8BAA8B;IACtC,qBAAqB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC7D,uBAAuB,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACjE,sBAAsB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAChE;AA0LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,EAC/C,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAE5B,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EACjC,kBAAkB,EAClB,8BAA8B;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,YAAY,mFAuFvB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { usePressTap } from "../../hooks/usePressTap.js";
2
+ import { useScaleFeedback } from "../../hooks/useScaleFeedback.js";
2
3
  import { toArray } from "../../utils/children.js";
4
+ import { mergeProps } from "../../utils/merge-props.js";
3
5
  import { createSlotRecipeContext } from "../../utils/create-slot-recipe-context.jsx";
4
6
  import { resolveFlexValue } from "../../utils/styled.js";
5
7
  import { Icon, IconRequired, IconSlotProvider, PrefixIcon, SuffixIcon, getIconSlotName } from "../Icon/Icon.jsx";
@@ -63,7 +65,7 @@ var ActionButtonRoot = React.forwardRef((innerProps, ref) => {
63
65
  return <ClassNamesProvider value={classNames}>
64
66
  <PropsProvider value={propsForContext}>
65
67
  <IconSlotProvider value={iconSlotContextValue}>
66
- <view {...ref ? { ref } : {}} {...rest} className={clsx(classNames.root, userClassName)}>
68
+ <view {...mergeProps(ref ? { ref } : {}, rest)} className={clsx(classNames.root, userClassName)}>
67
69
  {children}
68
70
  </view>
69
71
  </IconSlotProvider>
@@ -74,7 +76,7 @@ ActionButtonRoot.displayName = "ActionButtonRoot";
74
76
  var ActionButtonTextSlot = React.forwardRef((props, ref) => {
75
77
  const { children, className: userClassName, ...rest } = props;
76
78
  const classNames = useClassNames();
77
- return <text {...ref ? { ref } : {}} {...rest} className={clsx(classNames.text, userClassName)}>
79
+ return <text {...mergeProps(ref ? { ref } : {}, rest)} className={clsx(classNames.text, userClassName)}>
78
80
  {children}
79
81
  </text>;
80
82
  });
@@ -135,13 +137,19 @@ var ActionButton = React.forwardRef((props, ref) => {
135
137
  const isIconOnly = layout === "iconOnly";
136
138
  const size = variantAndRest.size;
137
139
  if (process.env.NODE_ENV !== "production" && isIconOnly && accessibilityElement && !accessibilityLabel) console.warn("ActionButton: `layout=\"iconOnly\"` requires `accessibility-label` for accessibility.");
138
- const { pressed, ...pressTapHandlers } = usePressTap({
140
+ const { pressed, bindtouchstart, bindtouchend, bindtouchcancel, ...pressTapHandlers } = usePressTap({
139
141
  disabled: !isInteractive,
140
142
  onTap: bindtap,
141
143
  mainThreadOnTap: mainThreadBindtap
142
144
  });
145
+ const { scaleFeedbackTriggerProps, scaleFeedbackTargetProps } = useScaleFeedback({
146
+ disabled: !isInteractive,
147
+ onTouchStart: bindtouchstart,
148
+ onTouchEnd: bindtouchend,
149
+ onTouchCancel: bindtouchcancel
150
+ });
143
151
  return <IconRequired enabled={isIconOnly}>
144
- <ActionButtonRoot {...variantAndRest} layout={layout} pressed={pressed} ref={ref} style={flexGrow != null ? { flexGrow: resolveFlexValue(flexGrow) } : void 0} accessibility-element={accessibilityElement} accessibility-label={accessibilityLabel} accessibility-traits={accessibilityTraits} {...pressTapHandlers}>
152
+ <ActionButtonRoot {...mergeProps({ ref }, scaleFeedbackTargetProps, scaleFeedbackTriggerProps, pressTapHandlers, variantAndRest)} layout={layout} pressed={pressed} style={flexGrow != null ? { flexGrow: resolveFlexValue(flexGrow) } : void 0} accessibility-element={accessibilityElement} accessibility-label={accessibilityLabel} accessibility-traits={accessibilityTraits} flatten={false}>
145
153
  {loading ? <>
146
154
  <ActionButtonLoadingIndicator size={size} />
147
155
  <ActionButtonLoadingContent isIconOnly={isIconOnly} icon={icon} prefixIcon={prefixIcon} suffixIcon={suffixIcon}>
@@ -1 +1 @@
1
- {"version":3,"file":"AppBar.d.ts","sourceRoot":"","sources":["../../../src/components/AppBar/AppBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAGxC,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EAEtB,aAAa,EAEd,MAAM,aAAa,CAAC;AAmCrB,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,EAAE,sBAAsB;CAAG;AAEtF,eAAO,MAAM,UAAU,iFA4BrB,CAAC;AAKH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,UAAU,iFA0BrB,CAAC;AAGH,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,WAAW,kFA0BtB,CAAC;AAKH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE1F,eAAO,MAAM,UAAU,iFAoCrB,CAAC;AAGH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;CAAG;AAE7D,eAAO,MAAM,WAAW,kFAatB,CAAC;AAGH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAAG;AAEhE,eAAO,MAAM,cAAc,qFAazB,CAAC;AAKH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,EAAE,kBAAkB;IACjF,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAChD,qBAAqB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC7D,uBAAuB,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACjE,sBAAsB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,gBAAgB,uFA4B3B,CAAC;AAGH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;CAAG;AAElE,eAAO,MAAM,UAAU,iFAarB,CAAC"}
1
+ {"version":3,"file":"AppBar.d.ts","sourceRoot":"","sources":["../../../src/components/AppBar/AppBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAGxC,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EAEtB,aAAa,EAEd,MAAM,aAAa,CAAC;AAoCrB,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,EAAE,sBAAsB;CAAG;AAEtF,eAAO,MAAM,UAAU,iFA2BrB,CAAC;AAKH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,UAAU,iFA4BrB,CAAC;AAGH,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,WAAW,kFA4BtB,CAAC;AAKH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE1F,eAAO,MAAM,UAAU,iFAmCrB,CAAC;AAGH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;CAAG;AAE7D,eAAO,MAAM,WAAW,kFAYtB,CAAC;AAGH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAAG;AAEhE,eAAO,MAAM,cAAc,qFAYzB,CAAC;AAKH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,EAAE,kBAAkB;IACjF,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAChD,qBAAqB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC7D,uBAAuB,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACjE,sBAAsB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,gBAAgB,uFA2B3B,CAAC;AAGH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;CAAG;AAElE,eAAO,MAAM,UAAU,iFAYrB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { mergeProps } from "../../utils/merge-props.js";
1
2
  import { createSlotRecipeContext } from "../../utils/create-slot-recipe-context.jsx";
2
3
  import { Icon } from "../Icon/Icon.jsx";
3
4
  import { AppBarProvider, useAppBarContext } from "./context.js";
@@ -30,7 +31,7 @@ var AppBarRoot = React.forwardRef((props, ref) => {
30
31
  const classNames = appBar(resolvedVariantProps);
31
32
  return <AppBarProvider value={contextValue}>
32
33
  <AppBarClassNamesProvider value={classNames}>
33
- <view {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.root, className)} style={{
34
+ <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.root, className)} style={{
34
35
  "--seed-safe-area-top": contextValue.safeAreaInsetTop,
35
36
  "--centered-title-padding-x": contextValue.centeredTitlePaddingX,
36
37
  ...rootLayoutStyle,
@@ -52,7 +53,7 @@ var AppBarLeft = React.forwardRef((props, ref) => {
52
53
  const width = getLayoutWidth(args[0]);
53
54
  if (width != null) setLeftWidth(width);
54
55
  }, [bindlayoutchange, setLeftWidth]);
55
- return <view {...ref ? { ref } : {}} {...nativeProps} bindlayoutchange={handleLayoutChange} className={clsx(classNames.left, className)}>
56
+ return <view {...mergeProps({ bindlayoutchange: handleLayoutChange }, ref ? { ref } : {}, nativeProps)} className={clsx(classNames.left, className)}>
56
57
  {children}
57
58
  </view>;
58
59
  });
@@ -66,7 +67,7 @@ var AppBarRight = React.forwardRef((props, ref) => {
66
67
  const width = getLayoutWidth(args[0]);
67
68
  if (width != null) setRightWidth(width);
68
69
  }, [bindlayoutchange, setRightWidth]);
69
- return <view {...ref ? { ref } : {}} {...nativeProps} bindlayoutchange={handleLayoutChange} className={clsx(classNames.right, className)}>
70
+ return <view {...mergeProps({ bindlayoutchange: handleLayoutChange }, ref ? { ref } : {}, nativeProps)} className={clsx(classNames.right, className)}>
70
71
  {children}
71
72
  </view>;
72
73
  });
@@ -85,7 +86,7 @@ var AppBarMain = React.forwardRef((props, ref) => {
85
86
  paddingRight: centeredTitlePaddingX
86
87
  } : void 0;
87
88
  return <AppBarMainClassNamesProvider value={classNames}>
88
- <view {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.root, className)} style={{
89
+ <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.root, className)} style={{
89
90
  ...centeredTitleStyle,
90
91
  ...getMainLayoutStyle(resolvedTheme, safeAreaInsetTop),
91
92
  ...style
@@ -98,7 +99,7 @@ AppBarMain.displayName = "AppBarMain";
98
99
  var AppBarTitle = React.forwardRef((props, ref) => {
99
100
  const { children, className, ...nativeProps } = props;
100
101
  const classNames = useAppBarMainClassNames("AppBarTitle");
101
- return <text {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.title, className)}>
102
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.title, className)}>
102
103
  {children}
103
104
  </text>;
104
105
  });
@@ -106,7 +107,7 @@ AppBarTitle.displayName = "AppBarTitle";
106
107
  var AppBarSubtitle = React.forwardRef((props, ref) => {
107
108
  const { children, className, ...nativeProps } = props;
108
109
  const classNames = useAppBarMainClassNames("AppBarSubtitle");
109
- return <text {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.subtitle, className)}>
110
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.subtitle, className)}>
110
111
  {children}
111
112
  </text>;
112
113
  });
@@ -115,7 +116,7 @@ var AppBarIconButton = React.forwardRef((props, ref) => {
115
116
  const { children, className, icon, "accessibility-element": accessibilityElement = true, "accessibility-label": accessibilityLabel, "accessibility-traits": accessibilityTraits = "button", ...nativeProps } = props;
116
117
  const classNames = useAppBarClassNames("AppBarIconButton");
117
118
  if (process.env.NODE_ENV !== "production" && accessibilityElement && !accessibilityLabel) console.warn("AppBarIconButton requires `accessibility-label` for accessibility.");
118
- return <view {...ref ? { ref } : {}} {...nativeProps} accessibility-element={accessibilityElement} accessibility-label={accessibilityLabel} accessibility-traits={accessibilityTraits} className={clsx(classNames.iconButton, className)}>
119
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} accessibility-element={accessibilityElement} accessibility-label={accessibilityLabel} accessibility-traits={accessibilityTraits} className={clsx(classNames.iconButton, className)}>
119
120
  {icon ? <Icon className={classNames.icon} icon={icon} /> : children}
120
121
  </view>;
121
122
  });
@@ -123,7 +124,7 @@ AppBarIconButton.displayName = "AppBarIconButton";
123
124
  var AppBarSlot = React.forwardRef((props, ref) => {
124
125
  const { children, className, ...nativeProps } = props;
125
126
  const classNames = useAppBarClassNames("AppBarSlot");
126
- return <view {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.custom, className)}>
127
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.custom, className)}>
127
128
  {children}
128
129
  </view>;
129
130
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAEpF,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,OAAO,KAAK,EAAE,sBAAsB,EAAe,MAAM,aAAa,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,WAAW,UAAW,SAAQ,iBAAiB,EAAE,sBAAsB;CAAG;AAEhF,eAAO,MAAM,KAAK,4EAchB,CAAC"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAEpF,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,OAAO,KAAK,EAAE,sBAAsB,EAAe,MAAM,aAAa,CAAC;AAGvE;;;;;;GAMG;AACH,MAAM,WAAW,UAAW,SAAQ,iBAAiB,EAAE,sBAAsB;CAAG;AAEhF,eAAO,MAAM,KAAK,4EAahB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { mergeProps } from "../../utils/merge-props.js";
1
2
  import * as React from "@lynx-js/react";
2
3
  import clsx from "clsx";
3
4
  import { badge } from "@seed-design/lynx-css/recipes/badge";
@@ -6,7 +7,7 @@ var Badge = React.forwardRef((props, ref) => {
6
7
  const [variantProps, otherProps] = badge.splitVariantProps(props);
7
8
  const classes = badge(variantProps);
8
9
  const { children, className, ...nativeProps } = otherProps;
9
- return <view {...ref ? { ref } : {}} {...nativeProps} className={clsx(classes.root, className)}>
10
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classes.root, className)}>
10
11
  <text className={classes.label}>{children}</text>
11
12
  </view>;
12
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAOL,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAIrB,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,yBAAyB,CAC5D,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CACtC,CAAC;AAmEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C,MAAM,WAAW,oBACf,SAAQ,uBAAuB,EAC7B,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,CAAC;IAC/D;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,CAsDpF,CAAC;AAOL,MAAM,WAAW,uBACf,SAAQ,sBAAsB,EAC5B,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;CAAG;AAE1C,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CA6BrF,CAAC;AAOL,MAAM,WAAW,0BAA2B,SAAQ,cAAc;CAAG;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,CACpB,CAAC;AAY5E,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;CAAG;AAEvE,eAAO,MAAM,mBAAmB,EAAE,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,CAChB,CAAC;AAG5E,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;CAAG;AAErE,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CAuCrF,CAAC;AAOL,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;CAAG;AAEnE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAW7E;yBAXe,iBAAiB;;;AAwBjC,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;CAAG;AA0CvE,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;CAAG;AACvE,eAAO,MAAM,iBAAiB,wDAA2B,CAAC;AAG1D,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAG;AACrE,eAAO,MAAM,eAAe,EAAE,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,CAiBjF,CAAC;AAGH,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;CAAG;AACvE,eAAO,MAAM,iBAAiB,wDAA2B,CAAC;AAG1D,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;CAAG;AACtE,eAAO,MAAM,gBAAgB,wDAA0B,CAAC;AAGxD,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;CAAG;AAC5E,eAAO,MAAM,sBAAsB,wDAAgC,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAML,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAKrB,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,yBAAyB,CAC5D,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CACtC,CAAC;AAmEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C,MAAM,WAAW,oBACf,SAAQ,uBAAuB,EAC7B,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,CAAC;IAC/D;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,CA6CpF,CAAC;AAOL,MAAM,WAAW,uBACf,SAAQ,sBAAsB,EAC5B,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;CAAG;AAE1C,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CA+BrF,CAAC;AAOL,MAAM,WAAW,0BAA2B,SAAQ,cAAc;CAAG;AAErE;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,CACpB,CAAC;AAY5E,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;CAAG;AAEvE,eAAO,MAAM,mBAAmB,EAAE,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,CAChB,CAAC;AAG5E,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;CAAG;AAErE,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CAsCrF,CAAC;AAOL,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;CAAG;AAEnE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAW7E;yBAXe,iBAAiB;;;AAwBjC,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;CAAG;AA0CvE,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;CAAG;AACvE,eAAO,MAAM,iBAAiB,wDAA2B,CAAC;AAG1D,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;CAAG;AACrE,eAAO,MAAM,eAAe,EAAE,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,CAiBjF,CAAC;AAGH,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;CAAG;AACvE,eAAO,MAAM,iBAAiB,wDAA2B,CAAC;AAG1D,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;CAAG;AACtE,eAAO,MAAM,gBAAgB,wDAA0B,CAAC;AAGxD,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;CAAG;AAC5E,eAAO,MAAM,sBAAsB,wDAAgC,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { mergeProps } from "../../utils/merge-props.js";
1
2
  import { createSlotRecipeContext } from "../../utils/create-slot-recipe-context.jsx";
2
3
  import { useSafeArea } from "../../hooks/useSafeArea.js";
3
- import { createContext, forwardRef, useCallback, useContext, useMemo, useRef } from "@lynx-js/react";
4
+ import { createContext, forwardRef, useContext, useMemo, useRef } from "@lynx-js/react";
4
5
  import clsx from "clsx";
5
6
  import { bottomSheet } from "@seed-design/lynx-css/recipes/bottom-sheet";
6
7
  import { bottomSheetHandle } from "@seed-design/lynx-css/recipes/bottom-sheet-handle";
@@ -47,11 +48,7 @@ var BottomSheetRoot = forwardRef((props, forwardedRef) => {
47
48
  const { open, defaultOpen, onOpenChange, snapPoints, children, ...nativeProps } = restProps;
48
49
  const { headerAlign, skipAnimation } = variantProps;
49
50
  const internalRef = useRef(null);
50
- const mergedRef = useCallback((value) => {
51
- internalRef.current = value;
52
- if (typeof forwardedRef === "function") forwardedRef(value);
53
- else if (forwardedRef) forwardedRef.current = value;
54
- }, [forwardedRef]);
51
+ const mergedRef = useMemo(() => mergeProps({ ref: internalRef }, { ref: forwardedRef }).ref, [forwardedRef]);
55
52
  const classNames = useMemo(() => bottomSheet(variantProps), [headerAlign, skipAnimation]);
56
53
  const shouldSkipAnimation = skipAnimation === true;
57
54
  const context = useMemo(() => ({
@@ -60,7 +57,10 @@ var BottomSheetRoot = forwardRef((props, forwardedRef) => {
60
57
  }), [shouldSkipAnimation]);
61
58
  return <BottomSheetContext.Provider value={context}>
62
59
  <ClassNamesProvider value={classNames}>
63
- <SheetRoot ref={mergedRef} show={open} defaultShow={defaultOpen} onShowChange={onOpenChange} snapPoints={snapPoints ?? DEFAULT_SNAP_POINTS} {...nativeProps}>
60
+ <SheetRoot {...mergeProps({
61
+ ref: mergedRef,
62
+ onShowChange: onOpenChange
63
+ }, nativeProps)} show={open} defaultShow={defaultOpen} snapPoints={snapPoints ?? DEFAULT_SNAP_POINTS}>
64
64
  {children}
65
65
  </SheetRoot>
66
66
  </ClassNamesProvider>
@@ -75,7 +75,7 @@ var BottomSheetTrigger = forwardRef((props, ref) => {
75
75
  else rootRef.current?.open();
76
76
  userBindtap?.(event, instance);
77
77
  } };
78
- return <view {...ref ? { ref } : {}} {...handlers} className={className} style={style}>
78
+ return <view {...mergeProps(ref ? { ref } : {}, handlers)} className={className} style={style}>
79
79
  {children}
80
80
  </view>;
81
81
  });
@@ -100,7 +100,7 @@ var BottomSheetContent = forwardRef((props, ref) => {
100
100
  const { options } = useBottomSheetContext();
101
101
  const { safeAreaInsetBottom } = useSafeArea();
102
102
  const defaultAnimation = options.skipAnimation ? SKIP_ANIMATION_TRANSITION : void 0;
103
- return <SheetContent {...ref ? { ref } : {}} {...restProps} className={clsx(classNames.content, className)} style={{
103
+ return <SheetContent {...mergeProps(ref ? { ref } : {}, restProps)} className={clsx(classNames.content, className)} style={{
104
104
  left: "auto",
105
105
  ...style
106
106
  }} innerStyle={{
@@ -1 +1 @@
1
- {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../src/components/Box/Box.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAe,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAS,SAAQ,UAAU,EAAE,sBAAsB,EAAE,kBAAkB;IACtF,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,GAAG,0EAcd,CAAC"}
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../src/components/Box/Box.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAe,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGpE;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAS,SAAQ,UAAU,EAAE,sBAAsB,EAAE,kBAAkB;IACtF,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,GAAG,0EAad,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { mergeProps } from "../../utils/merge-props.js";
1
2
  import { useStyleProps } from "../../utils/styled.js";
2
3
  import * as React from "@lynx-js/react";
3
4
  import clsx from "clsx";
@@ -5,7 +6,7 @@ import clsx from "clsx";
5
6
  var Box = React.forwardRef((props, ref) => {
6
7
  const { style, restProps } = useStyleProps(props);
7
8
  const { children, className, ...nativeProps } = restProps;
8
- return <view {...ref ? { ref } : {}} {...nativeProps} className={clsx(className)} style={style}>
9
+ return <view {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(className)} style={style}>
9
10
  {children}
10
11
  </view>;
11
12
  });
@@ -8,7 +8,7 @@ import * as React from "@lynx-js/react";
8
8
  * - `asChild`와 DOM 이벤트 대신 Lynx native `<view>`와 `bindtap`을 사용합니다.
9
9
  * - 웹 focus ring은 지원하지 않습니다.
10
10
  */
11
- export interface CalloutRootProps extends Omit<CalloutVariantProps, "pressed">, LynxStyledElementProps, LynxPressableProps, LynxAccessibilityProps {
11
+ export interface CalloutRootProps extends Omit<CalloutVariantProps, "pressed" | "interactive">, LynxStyledElementProps, LynxPressableProps, LynxAccessibilityProps {
12
12
  defaultOpen?: boolean;
13
13
  open?: boolean;
14
14
  onDismiss?: () => void;
@@ -26,7 +26,7 @@ export declare const CalloutDescription: React.ForwardRefExoticComponent<Callout
26
26
  export interface CalloutLinkProps extends LynxStyledElementProps, LynxPressableProps, LynxAccessibilityProps {
27
27
  }
28
28
  export declare const CalloutLink: React.ForwardRefExoticComponent<CalloutLinkProps & React.RefAttributes<unknown>>;
29
- export interface CalloutCloseButtonProps extends LynxStyledElementProps, LynxPressableProps, LynxAccessibilityProps {
29
+ export interface CalloutCloseButtonProps extends Omit<LynxStyledElementProps, "flatten">, LynxPressableProps, LynxAccessibilityProps {
30
30
  }
31
31
  export declare const CalloutCloseButton: React.ForwardRefExoticComponent<CalloutCloseButtonProps & React.RefAttributes<unknown>>;
32
32
  //# sourceMappingURL=Callout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../../src/components/Callout/Callout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAMxC,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EAIvB,MAAM,aAAa,CAAC;AA0BrB;;;;;;GAMG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAC1C,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,kFAiEtB,CAAC;AAKH,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE9F,eAAO,MAAM,cAAc,qFAczB,CAAC;AAKH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE5F,eAAO,MAAM,YAAY,mFAevB,CAAC;AAKH,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAElG,eAAO,MAAM,kBAAkB,yFAiB9B,CAAC;AAKF,MAAM,WAAW,gBACf,SAAQ,sBAAsB,EAC5B,kBAAkB,EAClB,sBAAsB;CAAG;AAE7B,eAAO,MAAM,WAAW,kFAuBtB,CAAC;AAKH,MAAM,WAAW,uBACf,SAAQ,sBAAsB,EAC5B,kBAAkB,EAClB,sBAAsB;CAAG;AAE7B,eAAO,MAAM,kBAAkB,yFAsC9B,CAAC"}
1
+ {"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../../src/components/Callout/Callout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAOxC,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EAIvB,MAAM,aAAa,CAAC;AA2BrB;;;;;;GAMG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,aAAa,CAAC,EAC1D,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,kFA6EtB,CAAC;AAKH,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE9F,eAAO,MAAM,cAAc,qFAazB,CAAC;AAKH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAE5F,eAAO,MAAM,YAAY,mFAcvB,CAAC;AAKH,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB,EAAE,sBAAsB;CAAG;AAElG,eAAO,MAAM,kBAAkB,yFAgB9B,CAAC;AAKF,MAAM,WAAW,gBACf,SAAQ,sBAAsB,EAC5B,kBAAkB,EAClB,sBAAsB;CAAG;AAE7B,eAAO,MAAM,WAAW,kFAsBtB,CAAC;AAKH,MAAM,WAAW,uBAEf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,EAC7C,kBAAkB,EAClB,sBAAsB;CAAG;AAE7B,eAAO,MAAM,kBAAkB,yFA4C9B,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { useControllableState } from "../../hooks/useControllableState.js";
2
2
  import { usePressTap } from "../../hooks/usePressTap.js";
3
+ import { useScaleFeedback } from "../../hooks/useScaleFeedback.js";
4
+ import { mergeProps } from "../../utils/merge-props.js";
3
5
  import { createSlotRecipeContext } from "../../utils/create-slot-recipe-context.jsx";
4
6
  import { IconSlotProvider } from "../Icon/Icon.jsx";
5
7
  import * as React from "@lynx-js/react";
@@ -22,14 +24,21 @@ var CalloutRoot = React.forwardRef((props, ref) => {
22
24
  defaultValue: defaultOpen
23
25
  });
24
26
  const isInteractive = bindtap != null || mainThreadBindtap != null;
25
- const pressTap = usePressTap({
27
+ const { pressed, bindtouchstart, bindtouchend, bindtouchcancel, ...pressTapHandlers } = usePressTap({
26
28
  disabled: !isInteractive,
27
29
  onTap: bindtap,
28
30
  mainThreadOnTap: mainThreadBindtap
29
31
  });
32
+ const { scaleFeedbackTriggerProps, scaleFeedbackTargetProps } = useScaleFeedback({
33
+ disabled: !isInteractive,
34
+ onTouchStart: bindtouchstart,
35
+ onTouchEnd: bindtouchend,
36
+ onTouchCancel: bindtouchcancel
37
+ });
30
38
  const classNames = callout({
31
39
  ...variantProps,
32
- pressed: pressTap.pressed
40
+ pressed,
41
+ interactive: isInteractive
33
42
  });
34
43
  const dismiss = useMemoizedFn(() => {
35
44
  if (!open) return;
@@ -42,18 +51,18 @@ var CalloutRoot = React.forwardRef((props, ref) => {
42
51
  prefixIcon: classNames.prefixIcon,
43
52
  suffixIcon: classNames.suffixIcon
44
53
  },
45
- deps: [variantProps.tone ?? "neutral", pressTap.pressed]
54
+ deps: [variantProps.tone ?? "neutral", pressed]
46
55
  }), [
47
56
  classNames.prefixIcon,
48
57
  classNames.suffixIcon,
49
- pressTap.pressed,
58
+ pressed,
50
59
  variantProps.tone
51
60
  ]);
52
61
  if (!open) return null;
53
62
  return <CalloutContext.Provider value={contextValue}>
54
63
  <ClassNamesProvider value={classNames}>
55
64
  <IconSlotProvider value={iconSlotContextValue}>
56
- <view {...ref ? { ref } : {}} {...nativeProps} {...isInteractive ? pressTap : {}} accessibility-element={accessibilityElement ?? (isInteractive ? true : void 0)} accessibility-traits={accessibilityTraits ?? (isInteractive ? "button" : void 0)} className={clsx(classNames.root, className)} style={style}>
65
+ <view {...mergeProps(ref ? { ref } : {}, isInteractive ? pressTapHandlers : {}, isInteractive ? scaleFeedbackTargetProps : {}, isInteractive ? scaleFeedbackTriggerProps : {}, nativeProps)} accessibility-element={accessibilityElement ?? (isInteractive ? true : void 0)} accessibility-traits={accessibilityTraits ?? (isInteractive ? "button" : void 0)} className={clsx(classNames.root, className)} style={style} {...isInteractive ? { flatten: false } : {}}>
57
66
  {children}
58
67
  </view>
59
68
  </IconSlotProvider>
@@ -64,7 +73,7 @@ CalloutRoot.displayName = "CalloutRoot";
64
73
  var CalloutContent = React.forwardRef((props, ref) => {
65
74
  const { children, className, style, ...nativeProps } = props;
66
75
  const classNames = useClassNames();
67
- return <text {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.content, className)} style={style}>
76
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.content, className)} style={style}>
68
77
  {children}
69
78
  </text>;
70
79
  });
@@ -72,7 +81,7 @@ CalloutContent.displayName = "CalloutContent";
72
81
  var CalloutTitle = React.forwardRef((props, ref) => {
73
82
  const { children, className, style, ...nativeProps } = props;
74
83
  const classNames = useClassNames();
75
- return <text {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.title, className)} style={style}>
84
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.title, className)} style={style}>
76
85
  {children}
77
86
  {" "}
78
87
  </text>;
@@ -81,7 +90,7 @@ CalloutTitle.displayName = "CalloutTitle";
81
90
  var CalloutDescription = React.forwardRef((props, ref) => {
82
91
  const { children, className, style, ...nativeProps } = props;
83
92
  const classNames = useClassNames();
84
- return <text {...ref ? { ref } : {}} {...nativeProps} className={clsx(classNames.description, className)} style={style}>
93
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} className={clsx(classNames.description, className)} style={style}>
85
94
  {children}
86
95
  {" "}
87
96
  </text>;
@@ -90,7 +99,7 @@ CalloutDescription.displayName = "CalloutDescription";
90
99
  var CalloutLink = React.forwardRef((props, ref) => {
91
100
  const { children, className, style, "accessibility-element": accessibilityElement = true, "accessibility-traits": accessibilityTraits = "link", ...nativeProps } = props;
92
101
  const classNames = useClassNames();
93
- return <text {...ref ? { ref } : {}} {...nativeProps} accessibility-element={accessibilityElement} accessibility-traits={accessibilityTraits} className={clsx(classNames.link, className)} style={style}>
102
+ return <text {...mergeProps(ref ? { ref } : {}, nativeProps)} accessibility-element={accessibilityElement} accessibility-traits={accessibilityTraits} className={clsx(classNames.link, className)} style={style}>
94
103
  {children}
95
104
  </text>;
96
105
  });
@@ -103,8 +112,9 @@ var CalloutCloseButton = React.forwardRef((props, ref) => {
103
112
  bindtap?.(event);
104
113
  dismiss();
105
114
  });
115
+ const { scaleFeedbackTriggerProps, scaleFeedbackTargetProps } = useScaleFeedback();
106
116
  if (process.env.NODE_ENV !== "production" && accessibilityElement && !accessibilityLabel) console.warn("CalloutCloseButton requires `accessibility-label` for accessibility.");
107
- return <view {...ref ? { ref } : {}} {...nativeProps} bindtap={handleTap} accessibility-element={accessibilityElement} accessibility-label={accessibilityLabel} accessibility-traits={accessibilityTraits} className={clsx(classNames.closeButton, className)} style={style}>
117
+ return <view {...mergeProps({ bindtap: handleTap }, ref ? { ref } : {}, scaleFeedbackTargetProps, scaleFeedbackTriggerProps, nativeProps)} accessibility-element={accessibilityElement} accessibility-label={accessibilityLabel} accessibility-traits={accessibilityTraits} className={clsx(classNames.closeButton, className)} style={style} flatten={false}>
108
118
  {children}
109
119
  </view>;
110
120
  });
@@ -1,7 +1,8 @@
1
1
  import { ReactElement } from '@lynx-js/react';
2
2
  import { CheckboxVariantProps } from '@seed-design/lynx-css/recipes/checkbox';
3
3
  import { CheckmarkVariantProps } from '@seed-design/lynx-css/recipes/checkmark';
4
- import { LynxIconElementProps, LynxStyledElementProps } from '../../types';
4
+ import { ScaleFeedbackTargetProps } from '../../hooks/useScaleFeedback';
5
+ import { LynxAccessibilityProps, LynxIconElementProps, LynxStyledElementProps } from '../../types';
5
6
  import * as React from "@lynx-js/react";
6
7
  /**
7
8
  * @platform Lynx
@@ -26,9 +27,10 @@ interface CheckboxContextValue {
26
27
  checkboxVariantProps: CheckboxVariantProps;
27
28
  checkmarkVariantProps: CheckmarkVariantProps;
28
29
  toggle: () => void;
30
+ scaleFeedbackTargetProps: ScaleFeedbackTargetProps;
29
31
  }
30
32
  export declare function useCheckboxContext(consumer: string): CheckboxContextValue;
31
- export interface CheckboxRootProps extends CheckboxVariantProps, Omit<CheckmarkVariantProps, "size" | "checked" | "disabled" | "indeterminate">, LynxStyledElementProps {
33
+ export interface CheckboxRootProps extends CheckboxVariantProps, Omit<CheckmarkVariantProps, "size" | "checked" | "disabled" | "indeterminate">, LynxStyledElementProps, LynxAccessibilityProps {
32
34
  checked?: boolean;
33
35
  defaultChecked?: boolean;
34
36
  indeterminate?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAKrF,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAIrB;;;;;;;;;;;;GAYG;AAEH,UAAU,oBAAoB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAID,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAMzE;AAmBD,MAAM,WAAW,iBACf,SAAQ,oBAAoB,EAC1B,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC,EAC9E,sBAAsB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,YAAY,mFAyEvB,CAAC;AAKH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,EAC9D,sBAAsB;CAAG;AAE7B,eAAO,MAAM,eAAe,sFAgD1B,CAAC;AAKH,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,WAAW,GAAG,OAAO,CAAC;IAC3D,sEAAsE;IACtE,SAAS,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC/C,mEAAmE;IACnE,OAAO,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,aAAa,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;CACpD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,4BAwC9D;yBAxCe,iBAAiB;;;AA6CjC,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;CAAG;AAErE,eAAO,MAAM,aAAa,oFAiBxB,CAAC;AAKH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;CAAG;AAErE,eAAO,MAAM,aAAa,oFAaxB,CAAC"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAMrF,OAAO,EAAoB,KAAK,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAKrB;;;;;;;;;;;;GAYG;AAEH,UAAU,oBAAoB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,wBAAwB,EAAE,wBAAwB,CAAC;CACpD;AAID,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAMzE;AAmBD,MAAM,WAAW,iBACf,SAAQ,oBAAoB,EAC1B,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC,EAC9E,sBAAsB,EACtB,sBAAsB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,YAAY,mFA2FvB,CAAC;AAKH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,EAC9D,sBAAsB;CAAG;AAE7B,eAAO,MAAM,eAAe,sFAyD1B,CAAC;AAKH,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,WAAW,GAAG,OAAO,CAAC;IAC3D,sEAAsE;IACtE,SAAS,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC/C,mEAAmE;IACnE,OAAO,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,aAAa,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;CACpD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,4BAwC9D;yBAxCe,iBAAiB;;;AA6CjC,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;CAAG;AAErE,eAAO,MAAM,aAAa,oFAgBxB,CAAC;AAKH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;CAAG;AAErE,eAAO,MAAM,aAAa,oFAYxB,CAAC"}