musae 1.3.1-beta.2 → 1.3.1-beta.21

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 (568) hide show
  1. package/dist/components/action-sheet/action-sheet.cjs +11 -62
  2. package/dist/components/action-sheet/action-sheet.mjs +6 -57
  3. package/dist/components/action-sheet/styles.cjs +90 -0
  4. package/dist/components/action-sheet/styles.d.ts +75 -0
  5. package/dist/components/action-sheet/styles.mjs +86 -0
  6. package/dist/components/avatar/avatar.cjs +4 -59
  7. package/dist/components/avatar/avatar.d.ts +1 -1
  8. package/dist/components/avatar/avatar.mjs +4 -59
  9. package/dist/components/avatar/group.cjs +3 -3
  10. package/dist/components/avatar/group.mjs +3 -3
  11. package/dist/components/avatar/styles.cjs +79 -0
  12. package/dist/components/avatar/styles.d.ts +62 -0
  13. package/dist/components/avatar/styles.mjs +75 -0
  14. package/dist/components/badge/badge.cjs +3 -52
  15. package/dist/components/badge/badge.mjs +3 -52
  16. package/dist/components/badge/styles.cjs +63 -0
  17. package/dist/components/badge/styles.d.ts +48 -0
  18. package/dist/components/badge/styles.mjs +59 -0
  19. package/dist/components/bench/bench.cjs +10 -45
  20. package/dist/components/bench/bench.mjs +10 -45
  21. package/dist/components/bench/styles.cjs +106 -0
  22. package/dist/components/bench/styles.d.ts +75 -0
  23. package/dist/components/bench/styles.mjs +102 -0
  24. package/dist/components/bottom-sheet/bottom-sheet.cjs +18 -19
  25. package/dist/components/bottom-sheet/bottom-sheet.d.ts +1 -1
  26. package/dist/components/bottom-sheet/bottom-sheet.mjs +18 -19
  27. package/dist/components/bottom-sheet/styles.cjs +30 -0
  28. package/dist/components/bottom-sheet/styles.d.ts +23 -0
  29. package/dist/components/bottom-sheet/styles.mjs +26 -0
  30. package/dist/components/breadcrumb/breadcrumb.cjs +3 -10
  31. package/dist/components/breadcrumb/breadcrumb.mjs +3 -10
  32. package/dist/components/breadcrumb/item.cjs +5 -14
  33. package/dist/components/breadcrumb/item.mjs +5 -14
  34. package/dist/components/breadcrumb/styles.cjs +54 -0
  35. package/dist/components/breadcrumb/styles.d.ts +45 -0
  36. package/dist/components/breadcrumb/styles.mjs +50 -0
  37. package/dist/components/button/button.cjs +1 -1
  38. package/dist/components/button/button.mjs +1 -1
  39. package/dist/components/button/styles.cjs +100 -97
  40. package/dist/components/button/styles.d.ts +14 -15
  41. package/dist/components/button/styles.mjs +100 -97
  42. package/dist/components/calendar/calendar.cjs +5 -24
  43. package/dist/components/calendar/calendar.mjs +5 -24
  44. package/dist/components/calendar/contribution.cjs +12 -50
  45. package/dist/components/calendar/contribution.mjs +9 -47
  46. package/dist/components/calendar/hooks.cjs +4 -45
  47. package/dist/components/calendar/hooks.mjs +4 -45
  48. package/dist/components/calendar/styles.cjs +161 -0
  49. package/dist/components/calendar/styles.d.ts +133 -0
  50. package/dist/components/calendar/styles.mjs +157 -0
  51. package/dist/components/card/actions.cjs +1 -1
  52. package/dist/components/card/actions.mjs +1 -1
  53. package/dist/components/card/body.cjs +1 -1
  54. package/dist/components/card/body.mjs +1 -1
  55. package/dist/components/card/card.cjs +1 -1
  56. package/dist/components/card/card.mjs +1 -1
  57. package/dist/components/card/content.cjs +1 -1
  58. package/dist/components/card/content.mjs +1 -1
  59. package/dist/components/card/header.cjs +6 -6
  60. package/dist/components/card/header.mjs +6 -6
  61. package/dist/components/card/headline.cjs +1 -1
  62. package/dist/components/card/headline.mjs +1 -1
  63. package/dist/components/card/media.cjs +1 -1
  64. package/dist/components/card/media.mjs +1 -1
  65. package/dist/components/card/styles.cjs +262 -246
  66. package/dist/components/card/styles.d.ts +15 -15
  67. package/dist/components/card/styles.mjs +262 -246
  68. package/dist/components/card/subhead.cjs +1 -1
  69. package/dist/components/card/subhead.mjs +1 -1
  70. package/dist/components/card/title.cjs +1 -1
  71. package/dist/components/card/title.mjs +1 -1
  72. package/dist/components/cascader/cascader.cjs +36 -26
  73. package/dist/components/cascader/cascader.mjs +38 -28
  74. package/dist/components/cascader/hooks.cjs +8 -9
  75. package/dist/components/cascader/hooks.d.ts +6 -6
  76. package/dist/components/cascader/hooks.mjs +8 -9
  77. package/dist/components/cascader/styles.cjs +14 -0
  78. package/dist/components/cascader/styles.d.ts +8 -0
  79. package/dist/components/cascader/styles.mjs +10 -0
  80. package/dist/components/chat/chat.cjs +4 -15
  81. package/dist/components/chat/chat.mjs +4 -15
  82. package/dist/components/chat/item.cjs +5 -14
  83. package/dist/components/chat/item.mjs +5 -14
  84. package/dist/components/chat/styles.cjs +69 -0
  85. package/dist/components/chat/styles.d.ts +57 -0
  86. package/dist/components/chat/styles.mjs +65 -0
  87. package/dist/components/checkbox/checkbox.cjs +6 -6
  88. package/dist/components/checkbox/checkbox.mjs +6 -6
  89. package/dist/components/checkbox/styles.cjs +57 -53
  90. package/dist/components/checkbox/styles.d.ts +11 -11
  91. package/dist/components/checkbox/styles.mjs +57 -53
  92. package/dist/components/clock/clock.cjs +3 -3
  93. package/dist/components/clock/clock.mjs +3 -3
  94. package/dist/components/clock/column.cjs +3 -13
  95. package/dist/components/clock/column.mjs +3 -13
  96. package/dist/components/clock/styles.cjs +33 -0
  97. package/dist/components/clock/styles.d.ts +25 -0
  98. package/dist/components/clock/styles.mjs +29 -0
  99. package/dist/components/collapse/collapse.cjs +3 -3
  100. package/dist/components/collapse/collapse.mjs +3 -3
  101. package/dist/components/collapse/item.cjs +6 -43
  102. package/dist/components/collapse/item.mjs +6 -43
  103. package/dist/components/collapse/styles.cjs +75 -0
  104. package/dist/components/collapse/styles.d.ts +58 -0
  105. package/dist/components/collapse/styles.mjs +71 -0
  106. package/dist/components/date-picker/context.cjs +1 -2
  107. package/dist/components/date-picker/context.d.ts +0 -1
  108. package/dist/components/date-picker/context.mjs +1 -2
  109. package/dist/components/date-picker/date-picker.cjs +30 -23
  110. package/dist/components/date-picker/date-picker.mjs +31 -24
  111. package/dist/components/date-picker/hooks.cjs +7 -10
  112. package/dist/components/date-picker/hooks.d.ts +3 -6
  113. package/dist/components/date-picker/hooks.mjs +7 -10
  114. package/dist/components/date-picker/styles.cjs +12 -0
  115. package/dist/components/date-picker/styles.d.ts +6 -0
  116. package/dist/components/date-picker/styles.mjs +8 -0
  117. package/dist/components/date-range-picker/date-range-picker.cjs +38 -25
  118. package/dist/components/date-range-picker/date-range-picker.mjs +41 -28
  119. package/dist/components/date-range-picker/hooks/use-date-range-state.cjs +6 -6
  120. package/dist/components/date-range-picker/hooks/use-date-range-state.d.ts +5 -8
  121. package/dist/components/date-range-picker/hooks/use-date-range-state.mjs +6 -6
  122. package/dist/components/date-range-picker/styles.cjs +26 -0
  123. package/dist/components/date-range-picker/styles.d.ts +19 -0
  124. package/dist/components/date-range-picker/styles.mjs +22 -0
  125. package/dist/components/dialog/popup.cjs +7 -27
  126. package/dist/components/dialog/popup.mjs +5 -25
  127. package/dist/components/dialog/styles.cjs +66 -0
  128. package/dist/components/dialog/styles.d.ts +55 -0
  129. package/dist/components/dialog/styles.mjs +62 -0
  130. package/dist/components/divider/divider.cjs +3 -74
  131. package/dist/components/divider/divider.mjs +1 -72
  132. package/dist/components/divider/styles.cjs +82 -0
  133. package/dist/components/divider/styles.d.ts +73 -0
  134. package/dist/components/divider/styles.mjs +78 -0
  135. package/dist/components/drawer/styles.d.ts +23 -0
  136. package/dist/components/ellipsis/ellipsis.cjs +4 -6
  137. package/dist/components/ellipsis/ellipsis.mjs +4 -6
  138. package/dist/components/ellipsis/styles.cjs +17 -0
  139. package/dist/components/ellipsis/styles.d.ts +10 -0
  140. package/dist/components/ellipsis/styles.mjs +13 -0
  141. package/dist/components/empty/empty.cjs +3 -10
  142. package/dist/components/empty/empty.mjs +2 -9
  143. package/dist/components/empty/styles.cjs +21 -0
  144. package/dist/components/empty/styles.d.ts +14 -0
  145. package/dist/components/empty/styles.mjs +17 -0
  146. package/dist/components/fab/fab.cjs +4 -11
  147. package/dist/components/fab/fab.mjs +6 -13
  148. package/dist/components/fab/styles.cjs +29 -0
  149. package/dist/components/fab/styles.d.ts +23 -0
  150. package/dist/components/fab/styles.mjs +25 -0
  151. package/dist/components/form/__test__/index.test.d.ts +1 -0
  152. package/dist/components/form/field/error.cjs +3 -3
  153. package/dist/components/form/field/error.mjs +3 -3
  154. package/dist/components/form/field/field.cjs +3 -2
  155. package/dist/components/form/field/field.mjs +3 -2
  156. package/dist/components/form/field/layout.cjs +4 -23
  157. package/dist/components/form/field/layout.mjs +4 -23
  158. package/dist/components/form/field/supporting.cjs +3 -3
  159. package/dist/components/form/field/supporting.mjs +3 -3
  160. package/dist/components/form/form.cjs +8 -3
  161. package/dist/components/form/form.d.ts +1 -1
  162. package/dist/components/form/form.mjs +8 -3
  163. package/dist/components/form/item.cjs +2 -1
  164. package/dist/components/form/item.mjs +2 -1
  165. package/dist/components/form/styles.cjs +59 -0
  166. package/dist/components/form/styles.d.ts +44 -0
  167. package/dist/components/form/styles.mjs +55 -0
  168. package/dist/components/grid/col.cjs +3 -3
  169. package/dist/components/grid/col.mjs +3 -3
  170. package/dist/components/grid/row.cjs +3 -3
  171. package/dist/components/grid/row.mjs +3 -3
  172. package/dist/components/grid/styles.cjs +29 -0
  173. package/dist/components/grid/styles.d.ts +20 -0
  174. package/dist/components/grid/styles.mjs +25 -0
  175. package/dist/components/guideline/styles.d.ts +31 -0
  176. package/dist/components/highlight/highlight.cjs +3 -3
  177. package/dist/components/highlight/highlight.mjs +3 -3
  178. package/dist/components/highlight/styles.cjs +12 -0
  179. package/dist/components/highlight/styles.d.ts +6 -0
  180. package/dist/components/highlight/styles.mjs +8 -0
  181. package/dist/components/icon/icon.cjs +3 -8
  182. package/dist/components/icon/icon.mjs +5 -10
  183. package/dist/components/icon/icons/mock/loading.cjs +3 -3
  184. package/dist/components/icon/icons/mock/loading.mjs +6 -6
  185. package/dist/components/icon/styles.cjs +26 -0
  186. package/dist/components/icon/styles.d.ts +18 -0
  187. package/dist/components/icon/styles.mjs +22 -0
  188. package/dist/components/icon-button/icon-button.cjs +2 -38
  189. package/dist/components/icon-button/icon-button.mjs +2 -38
  190. package/dist/components/icon-button/styles.cjs +43 -0
  191. package/dist/components/icon-button/styles.d.ts +34 -0
  192. package/dist/components/icon-button/styles.mjs +39 -0
  193. package/dist/components/image/image.cjs +6 -23
  194. package/dist/components/image/image.mjs +6 -23
  195. package/dist/components/image/preview/operations.cjs +7 -15
  196. package/dist/components/image/preview/operations.mjs +7 -15
  197. package/dist/components/image/preview/preview.cjs +3 -3
  198. package/dist/components/image/preview/preview.mjs +3 -3
  199. package/dist/components/image/styles.cjs +112 -0
  200. package/dist/components/image/styles.d.ts +93 -0
  201. package/dist/components/image/styles.mjs +108 -0
  202. package/dist/components/input/__test__/input-appearance.test.d.ts +1 -0
  203. package/dist/components/input/__test__/input.test.d.ts +1 -0
  204. package/dist/components/input/__test__/style-consumers.test.d.ts +1 -0
  205. package/dist/components/input/__test__/style-contract.test.d.ts +1 -0
  206. package/dist/components/input/context.cjs +9 -3
  207. package/dist/components/input/context.d.ts +8 -2
  208. package/dist/components/input/context.mjs +9 -3
  209. package/dist/components/input/hooks.cjs +0 -16
  210. package/dist/components/input/hooks.d.ts +1 -11
  211. package/dist/components/input/hooks.mjs +1 -16
  212. package/dist/components/input/index.d.ts +2 -1
  213. package/dist/components/input/input.cjs +81 -78
  214. package/dist/components/input/input.d.ts +2 -49
  215. package/dist/components/input/input.mjs +84 -80
  216. package/dist/components/input/styles.stylex.cjs +237 -0
  217. package/dist/components/input/styles.stylex.d.ts +218 -0
  218. package/dist/components/input/styles.stylex.mjs +232 -0
  219. package/dist/components/layout/footer.cjs +3 -3
  220. package/dist/components/layout/footer.mjs +3 -3
  221. package/dist/components/layout/header.cjs +3 -3
  222. package/dist/components/layout/header.mjs +3 -3
  223. package/dist/components/layout/heading.cjs +3 -3
  224. package/dist/components/layout/heading.mjs +3 -3
  225. package/dist/components/layout/layout.cjs +3 -3
  226. package/dist/components/layout/layout.mjs +5 -5
  227. package/dist/components/layout/main.cjs +3 -3
  228. package/dist/components/layout/main.mjs +3 -3
  229. package/dist/components/layout/sidebar.cjs +3 -3
  230. package/dist/components/layout/sidebar.mjs +3 -3
  231. package/dist/components/layout/styles.cjs +81 -0
  232. package/dist/components/layout/styles.d.ts +68 -0
  233. package/dist/components/layout/styles.mjs +77 -0
  234. package/dist/components/loading/loading.cjs +9 -96
  235. package/dist/components/loading/loading.mjs +8 -95
  236. package/dist/components/loading/styles.cjs +77 -0
  237. package/dist/components/loading/styles.d.ts +61 -0
  238. package/dist/components/loading/styles.mjs +73 -0
  239. package/dist/components/markdown/loading.cjs +7 -15
  240. package/dist/components/markdown/loading.mjs +7 -15
  241. package/dist/components/markdown/markdown.cjs +2 -10
  242. package/dist/components/markdown/markdown.mjs +2 -10
  243. package/dist/components/markdown/styles.cjs +49 -0
  244. package/dist/components/markdown/styles.d.ts +38 -0
  245. package/dist/components/markdown/styles.mjs +45 -0
  246. package/dist/components/menu/__test__/index.test.d.ts +1 -0
  247. package/dist/components/menu/group.cjs +5 -43
  248. package/dist/components/menu/group.mjs +4 -42
  249. package/dist/components/menu/hooks.cjs +16 -25
  250. package/dist/components/menu/hooks.d.ts +5 -5
  251. package/dist/components/menu/hooks.mjs +17 -26
  252. package/dist/components/menu/item.cjs +12 -109
  253. package/dist/components/menu/item.d.ts +0 -1
  254. package/dist/components/menu/item.mjs +12 -109
  255. package/dist/components/menu/menu.cjs +3 -3
  256. package/dist/components/menu/menu.mjs +3 -3
  257. package/dist/components/menu/styles.cjs +192 -0
  258. package/dist/components/menu/styles.d.ts +162 -0
  259. package/dist/components/menu/styles.mjs +188 -0
  260. package/dist/components/notification/holder.cjs +2 -45
  261. package/dist/components/notification/holder.mjs +2 -45
  262. package/dist/components/notification/notification.cjs +6 -58
  263. package/dist/components/notification/notification.mjs +6 -58
  264. package/dist/components/notification/styles.cjs +133 -0
  265. package/dist/components/notification/styles.d.ts +105 -0
  266. package/dist/components/notification/styles.mjs +129 -0
  267. package/dist/components/otp-input/otp-input.cjs +4 -6
  268. package/dist/components/otp-input/otp-input.mjs +4 -6
  269. package/dist/components/otp-input/styles.cjs +18 -0
  270. package/dist/components/otp-input/styles.d.ts +13 -0
  271. package/dist/components/otp-input/styles.mjs +14 -0
  272. package/dist/components/pagination/__test__/item.test.d.ts +1 -0
  273. package/dist/components/pagination/item.cjs +6 -4
  274. package/dist/components/pagination/item.mjs +6 -4
  275. package/dist/components/pagination/pagination.cjs +4 -6
  276. package/dist/components/pagination/pagination.mjs +4 -6
  277. package/dist/components/pagination/styles.cjs +35 -0
  278. package/dist/components/pagination/styles.d.ts +37 -0
  279. package/dist/components/pagination/styles.mjs +31 -0
  280. package/dist/components/password-input/__test__/password-input.test.d.ts +1 -0
  281. package/dist/components/password-input/password-input.cjs +9 -9
  282. package/dist/components/password-input/password-input.mjs +11 -11
  283. package/dist/components/password-input/styles.cjs +20 -0
  284. package/dist/components/password-input/styles.d.ts +19 -0
  285. package/dist/components/password-input/styles.mjs +16 -0
  286. package/dist/components/picker/context.cjs +0 -11
  287. package/dist/components/picker/context.d.ts +0 -5
  288. package/dist/components/picker/context.mjs +1 -11
  289. package/dist/components/picker/index.d.ts +1 -2
  290. package/dist/components/picker/picker.cjs +23 -73
  291. package/dist/components/picker/picker.d.ts +3 -2
  292. package/dist/components/picker/picker.mjs +25 -75
  293. package/dist/components/picker/styles.cjs +13 -0
  294. package/dist/components/picker/styles.d.ts +7 -0
  295. package/dist/components/picker/styles.mjs +9 -0
  296. package/dist/components/popconfirm/popconfirm.cjs +6 -26
  297. package/dist/components/popconfirm/popconfirm.mjs +4 -24
  298. package/dist/components/popconfirm/styles.cjs +40 -0
  299. package/dist/components/popconfirm/styles.d.ts +29 -0
  300. package/dist/components/popconfirm/styles.mjs +36 -0
  301. package/dist/components/popover/popover.cjs +3 -18
  302. package/dist/components/popover/popover.mjs +5 -20
  303. package/dist/components/popover/styles.cjs +30 -0
  304. package/dist/components/popover/styles.d.ts +20 -0
  305. package/dist/components/popover/styles.mjs +26 -0
  306. package/dist/components/popper/__test__/dropdown.test.d.ts +1 -0
  307. package/dist/components/popper/dropdown.cjs +11 -26
  308. package/dist/components/popper/dropdown.d.ts +1 -1
  309. package/dist/components/popper/dropdown.mjs +11 -26
  310. package/dist/components/popper/hooks.cjs +3 -7
  311. package/dist/components/popper/hooks.mjs +5 -9
  312. package/dist/components/popper/styles.cjs +56 -0
  313. package/dist/components/popper/styles.d.ts +43 -0
  314. package/dist/components/popper/styles.mjs +52 -0
  315. package/dist/components/portal/__test__/portal.test.d.ts +1 -0
  316. package/dist/components/progress/circular.cjs +5 -9
  317. package/dist/components/progress/circular.mjs +5 -9
  318. package/dist/components/progress/linear.cjs +4 -6
  319. package/dist/components/progress/linear.mjs +4 -6
  320. package/dist/components/progress/styles.cjs +45 -0
  321. package/dist/components/progress/styles.d.ts +33 -0
  322. package/dist/components/progress/styles.mjs +41 -0
  323. package/dist/components/radio/radio.cjs +4 -43
  324. package/dist/components/radio/radio.mjs +4 -43
  325. package/dist/components/radio/styles.cjs +76 -0
  326. package/dist/components/radio/styles.d.ts +71 -0
  327. package/dist/components/radio/styles.mjs +72 -0
  328. package/dist/components/rate/rate.cjs +3 -3
  329. package/dist/components/rate/rate.mjs +6 -6
  330. package/dist/components/rate/star.cjs +5 -24
  331. package/dist/components/rate/star.mjs +5 -24
  332. package/dist/components/rate/styles.cjs +67 -0
  333. package/dist/components/rate/styles.d.ts +59 -0
  334. package/dist/components/rate/styles.mjs +63 -0
  335. package/dist/components/rich-text-editor/dropdown.cjs +3 -3
  336. package/dist/components/rich-text-editor/dropdown.mjs +3 -3
  337. package/dist/components/rich-text-editor/index.cjs +3 -3
  338. package/dist/components/rich-text-editor/index.mjs +5 -5
  339. package/dist/components/rich-text-editor/nodes/checkbox.cjs +3 -3
  340. package/dist/components/rich-text-editor/nodes/checkbox.mjs +3 -3
  341. package/dist/components/rich-text-editor/plugins/floating-link-editor/index.cjs +3 -3
  342. package/dist/components/rich-text-editor/plugins/floating-link-editor/index.mjs +3 -3
  343. package/dist/components/rich-text-editor/plugins/toolbar/index.cjs +3 -3
  344. package/dist/components/rich-text-editor/plugins/toolbar/index.mjs +3 -3
  345. package/dist/components/rich-text-editor/rich-text-editor.cjs +3 -18
  346. package/dist/components/rich-text-editor/rich-text-editor.mjs +3 -18
  347. package/dist/components/rich-text-editor/styles.cjs +188 -0
  348. package/dist/components/rich-text-editor/styles.d.ts +153 -0
  349. package/dist/components/rich-text-editor/styles.mjs +184 -0
  350. package/dist/components/rich-text-editor/utils.cjs +16 -85
  351. package/dist/components/rich-text-editor/utils.mjs +16 -85
  352. package/dist/components/ripple/ripple.cjs +3 -3
  353. package/dist/components/ripple/ripple.mjs +3 -3
  354. package/dist/components/ripple/styles.cjs +26 -0
  355. package/dist/components/ripple/styles.d.ts +18 -0
  356. package/dist/components/ripple/styles.mjs +22 -0
  357. package/dist/components/search/__test__/hooks.test.d.ts +1 -0
  358. package/dist/components/search/__test__/style-contract.test.d.ts +1 -0
  359. package/dist/components/search/bar.cjs +82 -0
  360. package/dist/components/search/bar.d.ts +18 -0
  361. package/dist/components/search/bar.mjs +78 -0
  362. package/dist/components/search/context.cjs +16 -0
  363. package/dist/components/search/context.d.ts +16 -0
  364. package/dist/components/search/context.mjs +16 -0
  365. package/dist/components/search/field.cjs +64 -0
  366. package/dist/components/search/field.d.ts +19 -0
  367. package/dist/components/search/field.mjs +60 -0
  368. package/dist/components/search/hooks.cjs +50 -0
  369. package/dist/components/search/hooks.d.ts +12 -0
  370. package/dist/components/search/hooks.mjs +47 -0
  371. package/dist/components/search/index.d.ts +1 -1
  372. package/dist/components/search/result-list.cjs +84 -0
  373. package/dist/components/search/result-list.d.ts +16 -0
  374. package/dist/components/search/result-list.mjs +80 -0
  375. package/dist/components/search/search.cjs +164 -44
  376. package/dist/components/search/search.d.ts +11 -1
  377. package/dist/components/search/search.mjs +166 -46
  378. package/dist/components/search/styles.cjs +267 -84
  379. package/dist/components/search/styles.d.ts +185 -41
  380. package/dist/components/search/styles.mjs +267 -84
  381. package/dist/components/search/view.cjs +108 -0
  382. package/dist/components/search/view.d.ts +22 -0
  383. package/dist/components/search/view.mjs +104 -0
  384. package/dist/components/select/__test__/select.test.d.ts +1 -0
  385. package/dist/components/select/hooks/use-options.cjs +3 -3
  386. package/dist/components/select/hooks/use-options.d.ts +2 -2
  387. package/dist/components/select/hooks/use-options.mjs +3 -3
  388. package/dist/components/select/hooks/use-selected-value.cjs +3 -4
  389. package/dist/components/select/hooks/use-selected-value.d.ts +2 -3
  390. package/dist/components/select/hooks/use-selected-value.mjs +3 -4
  391. package/dist/components/select/select.cjs +48 -49
  392. package/dist/components/select/select.d.ts +1 -1
  393. package/dist/components/select/select.mjs +49 -50
  394. package/dist/components/select/selections.cjs +2 -4
  395. package/dist/components/select/selections.d.ts +1 -1
  396. package/dist/components/select/selections.mjs +3 -5
  397. package/dist/components/select/selector.cjs +54 -84
  398. package/dist/components/select/selector.d.ts +6 -3
  399. package/dist/components/select/selector.mjs +56 -86
  400. package/dist/components/select/styles.cjs +23 -0
  401. package/dist/components/select/styles.d.ts +14 -0
  402. package/dist/components/select/styles.mjs +19 -0
  403. package/dist/components/sheet/sheet.cjs +8 -101
  404. package/dist/components/sheet/sheet.d.ts +1 -1
  405. package/dist/components/sheet/sheet.mjs +8 -101
  406. package/dist/components/sheet/styles.cjs +81 -0
  407. package/dist/components/sheet/styles.d.ts +63 -0
  408. package/dist/components/sheet/styles.mjs +77 -0
  409. package/dist/components/side-sheet/context.cjs +2 -1
  410. package/dist/components/side-sheet/context.d.ts +1 -0
  411. package/dist/components/side-sheet/context.mjs +2 -1
  412. package/dist/components/side-sheet/side-sheet.cjs +22 -18
  413. package/dist/components/side-sheet/side-sheet.mjs +22 -18
  414. package/dist/components/side-sheet/styles.cjs +21 -19
  415. package/dist/components/side-sheet/styles.d.ts +12 -11
  416. package/dist/components/side-sheet/styles.mjs +21 -19
  417. package/dist/components/skeleton/skeleton.cjs +3 -8
  418. package/dist/components/skeleton/skeleton.mjs +3 -8
  419. package/dist/components/skeleton/styles.cjs +11 -0
  420. package/dist/components/skeleton/styles.d.ts +15 -0
  421. package/dist/components/skeleton/styles.mjs +7 -0
  422. package/dist/components/slider/styles.d.ts +30 -0
  423. package/dist/components/space/space.cjs +2 -19
  424. package/dist/components/space/space.mjs +1 -18
  425. package/dist/components/space/styles.cjs +24 -0
  426. package/dist/components/space/styles.d.ts +16 -0
  427. package/dist/components/space/styles.mjs +20 -0
  428. package/dist/components/split-panel/divider.cjs +3 -63
  429. package/dist/components/split-panel/divider.mjs +3 -63
  430. package/dist/components/split-panel/panel.cjs +3 -26
  431. package/dist/components/split-panel/panel.mjs +3 -26
  432. package/dist/components/split-panel/split-panel.cjs +2 -22
  433. package/dist/components/split-panel/split-panel.mjs +2 -22
  434. package/dist/components/split-panel/styles.cjs +113 -0
  435. package/dist/components/split-panel/styles.d.ts +103 -0
  436. package/dist/components/split-panel/styles.mjs +109 -0
  437. package/dist/components/steps/item.cjs +6 -70
  438. package/dist/components/steps/item.mjs +6 -70
  439. package/dist/components/steps/steps.cjs +2 -17
  440. package/dist/components/steps/steps.mjs +2 -17
  441. package/dist/components/steps/styles.cjs +117 -0
  442. package/dist/components/steps/styles.d.ts +96 -0
  443. package/dist/components/steps/styles.mjs +113 -0
  444. package/dist/components/switch/styles.cjs +156 -0
  445. package/dist/components/switch/styles.d.ts +132 -0
  446. package/dist/components/switch/styles.mjs +152 -0
  447. package/dist/components/switch/switch.cjs +7 -100
  448. package/dist/components/switch/switch.mjs +7 -100
  449. package/dist/components/table/body.cjs +3 -3
  450. package/dist/components/table/body.mjs +3 -3
  451. package/dist/components/table/header/cell.cjs +4 -4
  452. package/dist/components/table/header/cell.mjs +4 -4
  453. package/dist/components/table/header/header.cjs +2 -2
  454. package/dist/components/table/header/header.mjs +2 -2
  455. package/dist/components/table/styles.cjs +92 -87
  456. package/dist/components/table/styles.d.ts +34 -34
  457. package/dist/components/table/styles.mjs +92 -87
  458. package/dist/components/table/table.cjs +2 -2
  459. package/dist/components/table/table.mjs +2 -2
  460. package/dist/components/tabs/navigation.cjs +5 -45
  461. package/dist/components/tabs/navigation.mjs +5 -45
  462. package/dist/components/tabs/panels.cjs +4 -12
  463. package/dist/components/tabs/panels.mjs +4 -12
  464. package/dist/components/tabs/styles.cjs +99 -0
  465. package/dist/components/tabs/styles.d.ts +81 -0
  466. package/dist/components/tabs/styles.mjs +95 -0
  467. package/dist/components/tabs/tab.cjs +3 -3
  468. package/dist/components/tabs/tab.mjs +3 -3
  469. package/dist/components/tag/styles.cjs +62 -0
  470. package/dist/components/tag/styles.d.ts +48 -0
  471. package/dist/components/tag/styles.mjs +58 -0
  472. package/dist/components/tag/tag.cjs +2 -54
  473. package/dist/components/tag/tag.mjs +2 -54
  474. package/dist/components/textarea/styles.cjs +40 -0
  475. package/dist/components/textarea/styles.d.ts +29 -0
  476. package/dist/components/textarea/styles.mjs +36 -0
  477. package/dist/components/textarea/textarea.cjs +4 -24
  478. package/dist/components/textarea/textarea.mjs +4 -24
  479. package/dist/components/theme/theme.cjs +1 -6
  480. package/dist/components/theme/theme.mjs +1 -6
  481. package/dist/components/theme/tokens.stylex.cjs +8 -0
  482. package/dist/components/theme/tokens.stylex.d.ts +18 -4
  483. package/dist/components/theme/tokens.stylex.mjs +8 -1
  484. package/dist/components/time-picker/context.cjs +0 -1
  485. package/dist/components/time-picker/context.d.ts +0 -2
  486. package/dist/components/time-picker/context.mjs +0 -1
  487. package/dist/components/time-picker/hooks.cjs +5 -8
  488. package/dist/components/time-picker/hooks.d.ts +3 -6
  489. package/dist/components/time-picker/hooks.mjs +5 -8
  490. package/dist/components/time-picker/panel.cjs +4 -6
  491. package/dist/components/time-picker/panel.mjs +9 -11
  492. package/dist/components/time-picker/styles.cjs +24 -0
  493. package/dist/components/time-picker/styles.d.ts +17 -0
  494. package/dist/components/time-picker/styles.mjs +20 -0
  495. package/dist/components/time-picker/time-picker.cjs +26 -24
  496. package/dist/components/time-picker/time-picker.mjs +29 -27
  497. package/dist/components/timeline/item.cjs +7 -81
  498. package/dist/components/timeline/item.mjs +7 -81
  499. package/dist/components/timeline/styles.cjs +124 -0
  500. package/dist/components/timeline/styles.d.ts +96 -0
  501. package/dist/components/timeline/styles.mjs +120 -0
  502. package/dist/components/timeline/timeline.cjs +3 -3
  503. package/dist/components/timeline/timeline.mjs +3 -3
  504. package/dist/components/tour/spotlight.cjs +3 -3
  505. package/dist/components/tour/spotlight.mjs +3 -3
  506. package/dist/components/tour/styles.cjs +56 -0
  507. package/dist/components/tour/styles.d.ts +43 -0
  508. package/dist/components/tour/styles.mjs +52 -0
  509. package/dist/components/tour/tour.cjs +6 -23
  510. package/dist/components/tour/tour.mjs +6 -23
  511. package/dist/components/transfer/item.cjs +3 -3
  512. package/dist/components/transfer/item.mjs +3 -3
  513. package/dist/components/transfer/list.cjs +5 -41
  514. package/dist/components/transfer/list.mjs +5 -41
  515. package/dist/components/transfer/styles.cjs +78 -0
  516. package/dist/components/transfer/styles.d.ts +63 -0
  517. package/dist/components/transfer/styles.mjs +74 -0
  518. package/dist/components/transfer/transfer.cjs +4 -6
  519. package/dist/components/transfer/transfer.mjs +4 -6
  520. package/dist/components/tree/list.cjs +3 -8
  521. package/dist/components/tree/list.mjs +3 -8
  522. package/dist/components/tree/node.cjs +5 -25
  523. package/dist/components/tree/node.mjs +7 -27
  524. package/dist/components/tree/styles.cjs +69 -0
  525. package/dist/components/tree/styles.d.ts +56 -0
  526. package/dist/components/tree/styles.mjs +65 -0
  527. package/dist/components/upload/styles.cjs +81 -0
  528. package/dist/components/upload/styles.d.ts +61 -0
  529. package/dist/components/upload/styles.mjs +77 -0
  530. package/dist/components/upload/upload.cjs +5 -9
  531. package/dist/components/upload/upload.mjs +5 -9
  532. package/dist/components/upload/uploaded-item/index.cjs +3 -13
  533. package/dist/components/upload/uploaded-item/index.mjs +3 -13
  534. package/dist/components/upload/uploaded-item/picture.cjs +4 -6
  535. package/dist/components/upload/uploaded-item/picture.mjs +4 -6
  536. package/dist/components/upload/uploaded-list.cjs +5 -12
  537. package/dist/components/upload/uploaded-list.mjs +5 -12
  538. package/dist/components/visually-hidden/styles.cjs +17 -0
  539. package/dist/components/visually-hidden/styles.d.ts +11 -0
  540. package/dist/components/visually-hidden/styles.mjs +13 -0
  541. package/dist/components/visually-hidden/visually-hidden.cjs +3 -3
  542. package/dist/components/visually-hidden/visually-hidden.mjs +5 -5
  543. package/dist/components/waterfall/sequential.cjs +3 -3
  544. package/dist/components/waterfall/sequential.mjs +3 -3
  545. package/dist/components/waterfall/styles.cjs +45 -0
  546. package/dist/components/waterfall/styles.d.ts +34 -0
  547. package/dist/components/waterfall/styles.mjs +41 -0
  548. package/dist/components/waterfall/waterfall.cjs +4 -11
  549. package/dist/components/waterfall/waterfall.mjs +4 -11
  550. package/dist/components/watermark/styles.cjs +18 -0
  551. package/dist/components/watermark/styles.d.ts +11 -0
  552. package/dist/components/watermark/styles.mjs +14 -0
  553. package/dist/components/watermark/watermark.cjs +5 -3
  554. package/dist/components/watermark/watermark.mjs +5 -3
  555. package/dist/index.d.ts +1 -0
  556. package/dist/styles.css +218 -96
  557. package/dist/types/bottom-sheet.d.ts +30 -16
  558. package/dist/types/form.d.ts +74 -36
  559. package/dist/types/input.d.ts +40 -47
  560. package/dist/types/menu.d.ts +9 -9
  561. package/dist/types/picker.d.ts +36 -95
  562. package/dist/types/popper.d.ts +3 -2
  563. package/dist/types/search.d.ts +84 -1
  564. package/dist/types/select.d.ts +37 -28
  565. package/dist/utils/react.cjs +2 -2
  566. package/dist/utils/react.d.ts +2 -2
  567. package/dist/utils/react.mjs +2 -2
  568. package/package.json +3 -3
@@ -4,20 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ var _typeof = require('@babel/runtime/helpers/typeof');
7
8
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
8
- var button = require('../button/button.cjs');
9
- var input = require('../input/input.cjs');
10
9
  var React = require('react');
11
- var search = require('../icon/icons/action/search.cjs');
12
10
  var stylex = require('../../node_modules/.pnpm/@stylexjs_stylex@0.19.0/node_modules/@stylexjs/stylex/lib/es/stylex.cjs');
13
- var tokens_stylex = require('../theme/tokens.stylex.cjs');
14
- var useThemeColorVars = require('../../hooks/use-theme-color-vars.cjs');
15
11
  var useClassNames = require('../../hooks/use-class-names.cjs');
16
12
  var relax = require('@aiszlab/relax');
17
13
  var className = require('@aiszlab/relax/class-name');
14
+ var bar = require('./bar.cjs');
15
+ var view = require('./view.cjs');
18
16
  var styles = require('./styles.cjs');
19
17
  var context = require('./context.cjs');
20
- var close = require('../icon/icons/navigation/close.cjs');
18
+ var hooks = require('./hooks.cjs');
19
+ var resultList = require('./result-list.cjs');
21
20
 
22
21
  /**
23
22
  * @zh Search 搜索组件,基于 Material 3 设计规范
@@ -36,27 +35,98 @@ var Search = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
36
35
  clearable = _ref$clearable === void 0 ? true : _ref$clearable,
37
36
  searchButton = _ref.searchButton,
38
37
  onSearch = _ref.onSearch,
39
- onClear = _ref.onClear;
40
- var inputRef = React.useRef(null);
38
+ onClear = _ref.onClear,
39
+ leading = _ref.leading,
40
+ trailing = _ref.trailing,
41
+ _ref$view = _ref.view,
42
+ view$1 = _ref$view === void 0 ? "auto" : _ref$view,
43
+ open = _ref.open,
44
+ defaultOpen = _ref.defaultOpen,
45
+ onOpenChange = _ref.onOpenChange,
46
+ _ref$items = _ref.items,
47
+ items = _ref$items === void 0 ? [] : _ref$items,
48
+ renderItem = _ref.renderItem,
49
+ onSelect = _ref.onSelect,
50
+ _ref$closeOnSelect = _ref.closeOnSelect,
51
+ closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect;
52
+ var barInputRef = React.useRef(null);
53
+ var viewInputRef = React.useRef(null);
54
+ var wasOpenRef = React.useRef(false);
55
+ var isRestoringBarFocusRef = React.useRef(false);
41
56
  var classNames = useClassNames.useClassNames(context.CLASS_NAMES);
42
- var themeColorVars = useThemeColorVars.useThemeColorVars(["primary", "outline", "surface-container-high", "on-surface-variant", ["on-surface-variant", tokens_stylex.OPACITY.thin], ["on-surface", tokens_stylex.OPACITY.thickest], ["on-surface", tokens_stylex.OPACITY.thin]]);
57
+ var listId = "search-result-list-".concat(React.useId().replace(/[^a-zA-Z0-9_-]/g, ""));
58
+ var _useState = React.useState(),
59
+ _useState2 = _slicedToArray(_useState, 2),
60
+ activeKey = _useState2[0],
61
+ setActiveKey = _useState2[1];
43
62
  var _useControlledState = relax.useControlledState(valueInProps, {
44
63
  defaultState: defaultValue !== null && defaultValue !== void 0 ? defaultValue : ""
45
64
  }),
46
65
  _useControlledState2 = _slicedToArray(_useControlledState, 2),
47
66
  _value = _useControlledState2[0],
48
67
  _setValue = _useControlledState2[1];
68
+ var _useControlledState3 = relax.useControlledState(open, {
69
+ defaultState: defaultOpen !== null && defaultOpen !== void 0 ? defaultOpen : false
70
+ }),
71
+ _useControlledState4 = _slicedToArray(_useControlledState3, 2),
72
+ isOpen = _useControlledState4[0],
73
+ setOpen = _useControlledState4[1];
74
+ var resolvedView = hooks.useResolvedSearchView(view$1);
75
+ var requestOpen = relax.useEvent(function (nextOpen) {
76
+ if (disabled && nextOpen) return;
77
+ if (nextOpen === isOpen) return;
78
+ setOpen(nextOpen);
79
+ onOpenChange === null || onOpenChange === void 0 || onOpenChange(nextOpen);
80
+ });
81
+ React.useEffect(function () {
82
+ if (isOpen) {
83
+ var _viewInputRef$current;
84
+ (_viewInputRef$current = viewInputRef.current) === null || _viewInputRef$current === void 0 || _viewInputRef$current.focus();
85
+ } else if (wasOpenRef.current) {
86
+ var _barInputRef$current;
87
+ isRestoringBarFocusRef.current = true;
88
+ (_barInputRef$current = barInputRef.current) === null || _barInputRef$current === void 0 || _barInputRef$current.focus();
89
+ isRestoringBarFocusRef.current = false;
90
+ }
91
+ wasOpenRef.current = isOpen;
92
+ }, [isOpen]);
93
+ React.useEffect(function () {
94
+ if (disabled && relax.isUndefined(open) && isOpen) {
95
+ requestOpen(false);
96
+ }
97
+ }, [disabled, isOpen, open, requestOpen]);
98
+ React.useEffect(function () {
99
+ if (!isOpen) {
100
+ setActiveKey(undefined);
101
+ }
102
+ }, [isOpen]);
103
+ React.useEffect(function () {
104
+ setActiveKey(undefined);
105
+ }, [valueInProps]);
106
+ React.useEffect(function () {
107
+ if (disabled) {
108
+ setActiveKey(undefined);
109
+ }
110
+ }, [disabled]);
111
+ React.useEffect(function () {
112
+ if (!relax.isUndefined(activeKey) && !items.some(function (item) {
113
+ return item.key === activeKey && !item.disabled;
114
+ })) {
115
+ setActiveKey(undefined);
116
+ }
117
+ }, [activeKey, items]);
49
118
  React.useImperativeHandle(ref, function () {
50
119
  return {
51
120
  focus: function focus() {
52
- var _inputRef$current, _inputRef$current$foc;
53
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || (_inputRef$current$foc = _inputRef$current.focus) === null || _inputRef$current$foc === void 0 || _inputRef$current$foc.call(_inputRef$current);
121
+ var _current;
122
+ (_current = (isOpen ? viewInputRef : barInputRef).current) === null || _current === void 0 || _current.focus();
54
123
  },
55
124
  blur: function blur() {
56
- var _inputRef$current2, _inputRef$current2$bl;
57
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || (_inputRef$current2$bl = _inputRef$current2.blur) === null || _inputRef$current2$bl === void 0 || _inputRef$current2$bl.call(_inputRef$current2);
125
+ var _current2;
126
+ (_current2 = (isOpen ? viewInputRef : barInputRef).current) === null || _current2 === void 0 || _current2.blur();
58
127
  },
59
128
  clear: function clear() {
129
+ setActiveKey(undefined);
60
130
  _setValue("");
61
131
  onChange === null || onChange === void 0 || onChange("");
62
132
  },
@@ -66,6 +136,7 @@ var Search = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
66
136
  };
67
137
  });
68
138
  var handleChange = relax.useEvent(function (value) {
139
+ setActiveKey(undefined);
69
140
  _setValue(value);
70
141
  onChange === null || onChange === void 0 || onChange(value);
71
142
  });
@@ -73,10 +144,26 @@ var Search = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
73
144
  onSearch === null || onSearch === void 0 || onSearch(_value);
74
145
  });
75
146
  var handleClear = relax.useEvent(function () {
147
+ setActiveKey(undefined);
76
148
  _setValue("");
77
149
  onChange === null || onChange === void 0 || onChange("");
78
150
  onClear === null || onClear === void 0 || onClear();
79
151
  });
152
+ var getOptionId = relax.useEvent(function (key) {
153
+ var serializedKey = Array.from(String(key), function (character) {
154
+ return character.codePointAt(0).toString(16);
155
+ }).join("-");
156
+ return "".concat(listId, "-option-").concat(_typeof(key), "-").concat(serializedKey);
157
+ });
158
+ var selectItem = relax.useEvent(function (item) {
159
+ if (item.disabled) return;
160
+ _setValue(item.value);
161
+ onChange === null || onChange === void 0 || onChange(item.value);
162
+ onSelect === null || onSelect === void 0 || onSelect(item);
163
+ if (closeOnSelect) {
164
+ requestOpen(false);
165
+ }
166
+ });
80
167
  var handleKeyDown = React.useCallback(function (e) {
81
168
  if (e.key === "Enter") {
82
169
  e.preventDefault();
@@ -86,45 +173,78 @@ var Search = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
86
173
  handleClear();
87
174
  }
88
175
  }, [handleSearch, handleClear]);
89
- var hasValue = _value.length > 0;
176
+ var handleViewKeyDown = relax.useEvent(function (event) {
177
+ if (event.key === "Escape") {
178
+ event.preventDefault();
179
+ event.stopPropagation();
180
+ requestOpen(false);
181
+ } else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
182
+ event.preventDefault();
183
+ setActiveKey(hooks.getAdjacentEnabledKey(items, activeKey, event.key === "ArrowDown" ? 1 : -1));
184
+ } else if (event.key === "Enter") {
185
+ event.preventDefault();
186
+ var activeItem = items.find(function (item) {
187
+ return !relax.isUndefined(activeKey) && item.key === activeKey && !item.disabled;
188
+ });
189
+ if (activeItem) {
190
+ selectItem(activeItem);
191
+ } else {
192
+ handleSearch();
193
+ }
194
+ }
195
+ });
196
+ var activeDescendant = relax.isUndefined(activeKey) ? undefined : items.some(function (item) {
197
+ return item.key === activeKey && !item.disabled;
198
+ }) ? getOptionId(activeKey) : undefined;
90
199
  var _styled = {
91
- container: stylex.props(styles.default.container["default"], disabled && styles.default.container.disabled, !!searchButton && styles.default.container.withSearchButton),
92
- leading: stylex.props(styles.default.leading["default"]),
93
- input: stylex.props(styles.default.input["default"]),
94
- clear: stylex.props(styles.default.clear["default"]),
95
- searchButton: stylex.props(styles.default.searchButton["default"])
200
+ container: stylex.props(styles.default.container.base)
96
201
  };
97
202
  return /*#__PURE__*/React.createElement("span", {
98
203
  className: className.stringify(classNames.search, _defineProperty({}, classNames.disabled, disabled), _styled.container.className, className$1),
99
- style: _objectSpread(_objectSpread(_objectSpread({}, _styled.container.style), style), themeColorVars)
100
- }, /*#__PURE__*/React.createElement("span", {
101
- className: className.stringify(classNames.searchLeading, _styled.leading.className),
102
- style: _styled.leading.style
103
- }, /*#__PURE__*/React.createElement(search.default, {
104
- size: 24
105
- })), /*#__PURE__*/React.createElement(input.default, {
106
- className: className.stringify(classNames.searchInput, _styled.input.className),
107
- style: _styled.input.style,
108
- ref: inputRef,
204
+ style: _objectSpread(_objectSpread({}, _styled.container.style), style)
205
+ }, /*#__PURE__*/React.createElement(bar.default, {
206
+ inputRef: barInputRef,
109
207
  value: _value,
110
208
  onChange: handleChange,
111
209
  placeholder: placeholder,
112
210
  disabled: disabled,
113
- onKeyDown: handleKeyDown
114
- }), hasValue && clearable && !disabled && (/*#__PURE__*/React.createElement("button", {
115
- type: "button",
116
- className: className.stringify(classNames.searchClear, _styled.clear.className),
117
- style: _styled.clear.style,
118
- onClick: handleClear,
119
- "aria-label": "Clear search"
120
- }, /*#__PURE__*/React.createElement(close.default, {
121
- size: 24
122
- }))), searchButton && (/*#__PURE__*/React.createElement(button.Button, {
123
- className: className.stringify(classNames.searchButton, _styled.searchButton.className),
124
- style: _styled.searchButton.style,
125
- onClick: handleSearch,
126
- disabled: disabled
127
- }, searchButton)));
211
+ clearable: clearable,
212
+ leading: leading,
213
+ trailing: trailing,
214
+ searchButton: searchButton,
215
+ onClear: handleClear,
216
+ onFocus: function onFocus() {
217
+ if (!isRestoringBarFocusRef.current) {
218
+ requestOpen(true);
219
+ }
220
+ },
221
+ onKeyDown: handleKeyDown,
222
+ onSearch: handleSearch
223
+ }), /*#__PURE__*/React.createElement(view.default, {
224
+ inputRef: viewInputRef,
225
+ mode: resolvedView,
226
+ open: isOpen,
227
+ value: _value,
228
+ listId: listId,
229
+ placeholder: placeholder,
230
+ disabled: disabled,
231
+ clearable: clearable,
232
+ onChange: handleChange,
233
+ onClear: handleClear,
234
+ onClose: function onClose() {
235
+ return requestOpen(false);
236
+ },
237
+ onKeyDown: handleViewKeyDown,
238
+ activeDescendant: activeDescendant
239
+ }, /*#__PURE__*/React.createElement(resultList.default, {
240
+ id: listId,
241
+ items: items,
242
+ renderItem: renderItem,
243
+ activeKey: activeKey,
244
+ getOptionId: getOptionId,
245
+ onActiveKeyChange: setActiveKey,
246
+ onSelect: selectItem
247
+ })));
128
248
  });
129
249
  Search.displayName = "Search";
130
250
 
@@ -1,10 +1,20 @@
1
1
  import React from "react";
2
- import type { SearchRef } from "../../types/search";
2
+ import type { SearchItem, SearchRef } from "../../types/search";
3
3
  /**
4
4
  * @zh Search 搜索组件,基于 Material 3 设计规范
5
5
  * @en Search component based on Material 3 design specifications
6
6
  */
7
7
  declare const Search: React.ForwardRefExoticComponent<import("../../types/element").ComponentProps & {
8
+ view?: import(".").SearchView;
9
+ open?: boolean;
10
+ defaultOpen?: boolean;
11
+ onOpenChange?: (open: boolean) => void;
12
+ items?: SearchItem[];
13
+ renderItem?: (item: SearchItem) => React.ReactNode;
14
+ onSelect?: (item: SearchItem) => void;
15
+ closeOnSelect?: boolean;
16
+ leading?: React.ReactNode;
17
+ trailing?: React.ReactNode | React.ReactNode[];
8
18
  value?: string;
9
19
  defaultValue?: string;
10
20
  onChange?: (value: string) => void;
@@ -1,19 +1,18 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import _typeof from '@babel/runtime/helpers/typeof';
3
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
- import { Button } from '../button/button.mjs';
5
- import Input from '../input/input.mjs';
6
- import React, { forwardRef, useRef, useImperativeHandle, useCallback } from 'react';
7
- import IconSearch from '../icon/icons/action/search.mjs';
5
+ import React, { forwardRef, useRef, useId, useState, useEffect, useImperativeHandle, useCallback } from 'react';
8
6
  import { props } from '../../node_modules/.pnpm/@stylexjs_stylex@0.19.0/node_modules/@stylexjs/stylex/lib/es/stylex.mjs';
9
- import { OPACITY } from '../theme/tokens.stylex.mjs';
10
- import { useThemeColorVars } from '../../hooks/use-theme-color-vars.mjs';
11
7
  import { useClassNames } from '../../hooks/use-class-names.mjs';
12
- import { useControlledState, useEvent } from '@aiszlab/relax';
8
+ import { useControlledState, useEvent, isUndefined } from '@aiszlab/relax';
13
9
  import { stringify } from '@aiszlab/relax/class-name';
10
+ import SearchBar from './bar.mjs';
11
+ import SearchView from './view.mjs';
14
12
  import styles from './styles.mjs';
15
13
  import { CLASS_NAMES } from './context.mjs';
16
- import IconClose from '../icon/icons/navigation/close.mjs';
14
+ import { useResolvedSearchView, getAdjacentEnabledKey } from './hooks.mjs';
15
+ import SearchResultList from './result-list.mjs';
17
16
 
18
17
  /**
19
18
  * @zh Search 搜索组件,基于 Material 3 设计规范
@@ -32,27 +31,98 @@ var Search = /*#__PURE__*/forwardRef(function (_ref, ref) {
32
31
  clearable = _ref$clearable === void 0 ? true : _ref$clearable,
33
32
  searchButton = _ref.searchButton,
34
33
  onSearch = _ref.onSearch,
35
- onClear = _ref.onClear;
36
- var inputRef = useRef(null);
34
+ onClear = _ref.onClear,
35
+ leading = _ref.leading,
36
+ trailing = _ref.trailing,
37
+ _ref$view = _ref.view,
38
+ view = _ref$view === void 0 ? "auto" : _ref$view,
39
+ open = _ref.open,
40
+ defaultOpen = _ref.defaultOpen,
41
+ onOpenChange = _ref.onOpenChange,
42
+ _ref$items = _ref.items,
43
+ items = _ref$items === void 0 ? [] : _ref$items,
44
+ renderItem = _ref.renderItem,
45
+ onSelect = _ref.onSelect,
46
+ _ref$closeOnSelect = _ref.closeOnSelect,
47
+ closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect;
48
+ var barInputRef = useRef(null);
49
+ var viewInputRef = useRef(null);
50
+ var wasOpenRef = useRef(false);
51
+ var isRestoringBarFocusRef = useRef(false);
37
52
  var classNames = useClassNames(CLASS_NAMES);
38
- var themeColorVars = useThemeColorVars(["primary", "outline", "surface-container-high", "on-surface-variant", ["on-surface-variant", OPACITY.thin], ["on-surface", OPACITY.thickest], ["on-surface", OPACITY.thin]]);
53
+ var listId = "search-result-list-".concat(useId().replace(/[^a-zA-Z0-9_-]/g, ""));
54
+ var _useState = useState(),
55
+ _useState2 = _slicedToArray(_useState, 2),
56
+ activeKey = _useState2[0],
57
+ setActiveKey = _useState2[1];
39
58
  var _useControlledState = useControlledState(valueInProps, {
40
59
  defaultState: defaultValue !== null && defaultValue !== void 0 ? defaultValue : ""
41
60
  }),
42
61
  _useControlledState2 = _slicedToArray(_useControlledState, 2),
43
62
  _value = _useControlledState2[0],
44
63
  _setValue = _useControlledState2[1];
64
+ var _useControlledState3 = useControlledState(open, {
65
+ defaultState: defaultOpen !== null && defaultOpen !== void 0 ? defaultOpen : false
66
+ }),
67
+ _useControlledState4 = _slicedToArray(_useControlledState3, 2),
68
+ isOpen = _useControlledState4[0],
69
+ setOpen = _useControlledState4[1];
70
+ var resolvedView = useResolvedSearchView(view);
71
+ var requestOpen = useEvent(function (nextOpen) {
72
+ if (disabled && nextOpen) return;
73
+ if (nextOpen === isOpen) return;
74
+ setOpen(nextOpen);
75
+ onOpenChange === null || onOpenChange === void 0 || onOpenChange(nextOpen);
76
+ });
77
+ useEffect(function () {
78
+ if (isOpen) {
79
+ var _viewInputRef$current;
80
+ (_viewInputRef$current = viewInputRef.current) === null || _viewInputRef$current === void 0 || _viewInputRef$current.focus();
81
+ } else if (wasOpenRef.current) {
82
+ var _barInputRef$current;
83
+ isRestoringBarFocusRef.current = true;
84
+ (_barInputRef$current = barInputRef.current) === null || _barInputRef$current === void 0 || _barInputRef$current.focus();
85
+ isRestoringBarFocusRef.current = false;
86
+ }
87
+ wasOpenRef.current = isOpen;
88
+ }, [isOpen]);
89
+ useEffect(function () {
90
+ if (disabled && isUndefined(open) && isOpen) {
91
+ requestOpen(false);
92
+ }
93
+ }, [disabled, isOpen, open, requestOpen]);
94
+ useEffect(function () {
95
+ if (!isOpen) {
96
+ setActiveKey(undefined);
97
+ }
98
+ }, [isOpen]);
99
+ useEffect(function () {
100
+ setActiveKey(undefined);
101
+ }, [valueInProps]);
102
+ useEffect(function () {
103
+ if (disabled) {
104
+ setActiveKey(undefined);
105
+ }
106
+ }, [disabled]);
107
+ useEffect(function () {
108
+ if (!isUndefined(activeKey) && !items.some(function (item) {
109
+ return item.key === activeKey && !item.disabled;
110
+ })) {
111
+ setActiveKey(undefined);
112
+ }
113
+ }, [activeKey, items]);
45
114
  useImperativeHandle(ref, function () {
46
115
  return {
47
116
  focus: function focus() {
48
- var _inputRef$current, _inputRef$current$foc;
49
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || (_inputRef$current$foc = _inputRef$current.focus) === null || _inputRef$current$foc === void 0 || _inputRef$current$foc.call(_inputRef$current);
117
+ var _current;
118
+ (_current = (isOpen ? viewInputRef : barInputRef).current) === null || _current === void 0 || _current.focus();
50
119
  },
51
120
  blur: function blur() {
52
- var _inputRef$current2, _inputRef$current2$bl;
53
- (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || (_inputRef$current2$bl = _inputRef$current2.blur) === null || _inputRef$current2$bl === void 0 || _inputRef$current2$bl.call(_inputRef$current2);
121
+ var _current2;
122
+ (_current2 = (isOpen ? viewInputRef : barInputRef).current) === null || _current2 === void 0 || _current2.blur();
54
123
  },
55
124
  clear: function clear() {
125
+ setActiveKey(undefined);
56
126
  _setValue("");
57
127
  onChange === null || onChange === void 0 || onChange("");
58
128
  },
@@ -62,6 +132,7 @@ var Search = /*#__PURE__*/forwardRef(function (_ref, ref) {
62
132
  };
63
133
  });
64
134
  var handleChange = useEvent(function (value) {
135
+ setActiveKey(undefined);
65
136
  _setValue(value);
66
137
  onChange === null || onChange === void 0 || onChange(value);
67
138
  });
@@ -69,10 +140,26 @@ var Search = /*#__PURE__*/forwardRef(function (_ref, ref) {
69
140
  onSearch === null || onSearch === void 0 || onSearch(_value);
70
141
  });
71
142
  var handleClear = useEvent(function () {
143
+ setActiveKey(undefined);
72
144
  _setValue("");
73
145
  onChange === null || onChange === void 0 || onChange("");
74
146
  onClear === null || onClear === void 0 || onClear();
75
147
  });
148
+ var getOptionId = useEvent(function (key) {
149
+ var serializedKey = Array.from(String(key), function (character) {
150
+ return character.codePointAt(0).toString(16);
151
+ }).join("-");
152
+ return "".concat(listId, "-option-").concat(_typeof(key), "-").concat(serializedKey);
153
+ });
154
+ var selectItem = useEvent(function (item) {
155
+ if (item.disabled) return;
156
+ _setValue(item.value);
157
+ onChange === null || onChange === void 0 || onChange(item.value);
158
+ onSelect === null || onSelect === void 0 || onSelect(item);
159
+ if (closeOnSelect) {
160
+ requestOpen(false);
161
+ }
162
+ });
76
163
  var handleKeyDown = useCallback(function (e) {
77
164
  if (e.key === "Enter") {
78
165
  e.preventDefault();
@@ -82,45 +169,78 @@ var Search = /*#__PURE__*/forwardRef(function (_ref, ref) {
82
169
  handleClear();
83
170
  }
84
171
  }, [handleSearch, handleClear]);
85
- var hasValue = _value.length > 0;
172
+ var handleViewKeyDown = useEvent(function (event) {
173
+ if (event.key === "Escape") {
174
+ event.preventDefault();
175
+ event.stopPropagation();
176
+ requestOpen(false);
177
+ } else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
178
+ event.preventDefault();
179
+ setActiveKey(getAdjacentEnabledKey(items, activeKey, event.key === "ArrowDown" ? 1 : -1));
180
+ } else if (event.key === "Enter") {
181
+ event.preventDefault();
182
+ var activeItem = items.find(function (item) {
183
+ return !isUndefined(activeKey) && item.key === activeKey && !item.disabled;
184
+ });
185
+ if (activeItem) {
186
+ selectItem(activeItem);
187
+ } else {
188
+ handleSearch();
189
+ }
190
+ }
191
+ });
192
+ var activeDescendant = isUndefined(activeKey) ? undefined : items.some(function (item) {
193
+ return item.key === activeKey && !item.disabled;
194
+ }) ? getOptionId(activeKey) : undefined;
86
195
  var _styled = {
87
- container: props(styles.container["default"], disabled && styles.container.disabled, !!searchButton && styles.container.withSearchButton),
88
- leading: props(styles.leading["default"]),
89
- input: props(styles.input["default"]),
90
- clear: props(styles.clear["default"]),
91
- searchButton: props(styles.searchButton["default"])
196
+ container: props(styles.container.base)
92
197
  };
93
198
  return /*#__PURE__*/React.createElement("span", {
94
199
  className: stringify(classNames.search, _defineProperty({}, classNames.disabled, disabled), _styled.container.className, className),
95
- style: _objectSpread(_objectSpread(_objectSpread({}, _styled.container.style), style), themeColorVars)
96
- }, /*#__PURE__*/React.createElement("span", {
97
- className: stringify(classNames.searchLeading, _styled.leading.className),
98
- style: _styled.leading.style
99
- }, /*#__PURE__*/React.createElement(IconSearch, {
100
- size: 24
101
- })), /*#__PURE__*/React.createElement(Input, {
102
- className: stringify(classNames.searchInput, _styled.input.className),
103
- style: _styled.input.style,
104
- ref: inputRef,
200
+ style: _objectSpread(_objectSpread({}, _styled.container.style), style)
201
+ }, /*#__PURE__*/React.createElement(SearchBar, {
202
+ inputRef: barInputRef,
105
203
  value: _value,
106
204
  onChange: handleChange,
107
205
  placeholder: placeholder,
108
206
  disabled: disabled,
109
- onKeyDown: handleKeyDown
110
- }), hasValue && clearable && !disabled && (/*#__PURE__*/React.createElement("button", {
111
- type: "button",
112
- className: stringify(classNames.searchClear, _styled.clear.className),
113
- style: _styled.clear.style,
114
- onClick: handleClear,
115
- "aria-label": "Clear search"
116
- }, /*#__PURE__*/React.createElement(IconClose, {
117
- size: 24
118
- }))), searchButton && (/*#__PURE__*/React.createElement(Button, {
119
- className: stringify(classNames.searchButton, _styled.searchButton.className),
120
- style: _styled.searchButton.style,
121
- onClick: handleSearch,
122
- disabled: disabled
123
- }, searchButton)));
207
+ clearable: clearable,
208
+ leading: leading,
209
+ trailing: trailing,
210
+ searchButton: searchButton,
211
+ onClear: handleClear,
212
+ onFocus: function onFocus() {
213
+ if (!isRestoringBarFocusRef.current) {
214
+ requestOpen(true);
215
+ }
216
+ },
217
+ onKeyDown: handleKeyDown,
218
+ onSearch: handleSearch
219
+ }), /*#__PURE__*/React.createElement(SearchView, {
220
+ inputRef: viewInputRef,
221
+ mode: resolvedView,
222
+ open: isOpen,
223
+ value: _value,
224
+ listId: listId,
225
+ placeholder: placeholder,
226
+ disabled: disabled,
227
+ clearable: clearable,
228
+ onChange: handleChange,
229
+ onClear: handleClear,
230
+ onClose: function onClose() {
231
+ return requestOpen(false);
232
+ },
233
+ onKeyDown: handleViewKeyDown,
234
+ activeDescendant: activeDescendant
235
+ }, /*#__PURE__*/React.createElement(SearchResultList, {
236
+ id: listId,
237
+ items: items,
238
+ renderItem: renderItem,
239
+ activeKey: activeKey,
240
+ getOptionId: getOptionId,
241
+ onActiveKeyChange: setActiveKey,
242
+ onSelect: selectItem
243
+ })));
124
244
  });
125
245
  Search.displayName = "Search";
126
246