@ioca/react 1.5.9 → 1.5.11

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 (240) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +33 -31
  3. package/lib/cjs/components/affix/affix.js.map +1 -1
  4. package/lib/cjs/components/affix/totop.js.map +1 -1
  5. package/lib/cjs/components/badge/badge.js.map +1 -1
  6. package/lib/cjs/components/button/button.js.map +1 -1
  7. package/lib/cjs/components/button/confirm.js.map +1 -1
  8. package/lib/cjs/components/button/group.js.map +1 -1
  9. package/lib/cjs/components/button/toggle.js.map +1 -1
  10. package/lib/cjs/components/card/card.js.map +1 -1
  11. package/lib/cjs/components/checkbox/checkbox.js +1 -1
  12. package/lib/cjs/components/checkbox/checkbox.js.map +1 -1
  13. package/lib/cjs/components/checkbox/item.js.map +1 -1
  14. package/lib/cjs/components/collapse/collapse.js.map +1 -1
  15. package/lib/cjs/components/collapse/item.js.map +1 -1
  16. package/lib/cjs/components/datagrid/cell.js +5 -2
  17. package/lib/cjs/components/datagrid/cell.js.map +1 -1
  18. package/lib/cjs/components/datagrid/datagrid.js +148 -50
  19. package/lib/cjs/components/datagrid/datagrid.js.map +1 -1
  20. package/lib/cjs/components/datagrid/helper.js +83 -0
  21. package/lib/cjs/components/datagrid/helper.js.map +1 -0
  22. package/lib/cjs/components/datagrid/resize.js +35 -7
  23. package/lib/cjs/components/datagrid/resize.js.map +1 -1
  24. package/lib/cjs/components/datagrid/row.js +17 -3
  25. package/lib/cjs/components/datagrid/row.js.map +1 -1
  26. package/lib/cjs/components/datagrid/sorter.js.map +1 -1
  27. package/lib/cjs/components/datagrid/virtual.js +283 -0
  28. package/lib/cjs/components/datagrid/virtual.js.map +1 -0
  29. package/lib/cjs/components/description/description.js.map +1 -1
  30. package/lib/cjs/components/drawer/drawer.js.map +1 -1
  31. package/lib/cjs/components/dropdown/dropdown.js.map +1 -1
  32. package/lib/cjs/components/dropdown/item.js.map +1 -1
  33. package/lib/cjs/components/editor/controls.js.map +1 -1
  34. package/lib/cjs/components/editor/editor.js +5 -0
  35. package/lib/cjs/components/editor/editor.js.map +1 -1
  36. package/lib/cjs/components/editor/memtion.js.map +1 -1
  37. package/lib/cjs/components/flex/flex.js.map +1 -1
  38. package/lib/cjs/components/form/context.js.map +1 -1
  39. package/lib/cjs/components/form/field.js.map +1 -1
  40. package/lib/cjs/components/form/form.js.map +1 -1
  41. package/lib/cjs/components/form/useConfig.js.map +1 -1
  42. package/lib/cjs/components/form/useForm.js.map +1 -1
  43. package/lib/cjs/components/icon/icon.js.map +1 -1
  44. package/lib/cjs/components/image/image.js.map +1 -1
  45. package/lib/cjs/components/image/list.js.map +1 -1
  46. package/lib/cjs/components/input/container.js.map +1 -1
  47. package/lib/cjs/components/input/input.js.map +1 -1
  48. package/lib/cjs/components/input/number.js.map +1 -1
  49. package/lib/cjs/components/input/range.js.map +1 -1
  50. package/lib/cjs/components/input/textarea.js.map +1 -1
  51. package/lib/cjs/components/list/item.js.map +1 -1
  52. package/lib/cjs/components/list/list.js.map +1 -1
  53. package/lib/cjs/components/loading/loading.js.map +1 -1
  54. package/lib/cjs/components/message/message.js.map +1 -1
  55. package/lib/cjs/components/modal/content.js.map +1 -1
  56. package/lib/cjs/components/modal/context.js.map +1 -1
  57. package/lib/cjs/components/modal/hookModal.js.map +1 -1
  58. package/lib/cjs/components/modal/modal.js.map +1 -1
  59. package/lib/cjs/components/modal/useModal.js.map +1 -1
  60. package/lib/cjs/components/pagination/page.js.map +1 -1
  61. package/lib/cjs/components/pagination/pagination.js.map +1 -1
  62. package/lib/cjs/components/picker/colors/footer.js.map +1 -1
  63. package/lib/cjs/components/picker/colors/handle.js.map +1 -1
  64. package/lib/cjs/components/picker/colors/index.js.map +1 -1
  65. package/lib/cjs/components/picker/dates/dates.js.map +1 -1
  66. package/lib/cjs/components/picker/dates/index.js.map +1 -1
  67. package/lib/cjs/components/picker/dates/panel.js.map +1 -1
  68. package/lib/cjs/components/picker/time/index.js.map +1 -1
  69. package/lib/cjs/components/picker/time/item.js.map +1 -1
  70. package/lib/cjs/components/picker/time/panel.js.map +1 -1
  71. package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -1
  72. package/lib/cjs/components/popup/content.js.map +1 -1
  73. package/lib/cjs/components/popup/popup.js.map +1 -1
  74. package/lib/cjs/components/progress/circle.js.map +1 -1
  75. package/lib/cjs/components/progress/line.js.map +1 -1
  76. package/lib/cjs/components/progress/progress.js.map +1 -1
  77. package/lib/cjs/components/radio/item.js.map +1 -1
  78. package/lib/cjs/components/radio/radio.js +2 -2
  79. package/lib/cjs/components/radio/radio.js.map +1 -1
  80. package/lib/cjs/components/resizable/resizable.js.map +1 -1
  81. package/lib/cjs/components/river/river.js.map +1 -1
  82. package/lib/cjs/components/select/options.js.map +1 -1
  83. package/lib/cjs/components/select/select.js.map +1 -1
  84. package/lib/cjs/components/step/divider.js.map +1 -1
  85. package/lib/cjs/components/step/item.js.map +1 -1
  86. package/lib/cjs/components/step/step.js.map +1 -1
  87. package/lib/cjs/components/swiper/item.js.map +1 -1
  88. package/lib/cjs/components/swiper/swiper.js.map +1 -1
  89. package/lib/cjs/components/tabs/item.js.map +1 -1
  90. package/lib/cjs/components/tabs/tabs.js.map +1 -1
  91. package/lib/cjs/components/tag/tag.js.map +1 -1
  92. package/lib/cjs/components/text/highlight.js.map +1 -1
  93. package/lib/cjs/components/text/number.js.map +1 -1
  94. package/lib/cjs/components/text/text.js.map +1 -1
  95. package/lib/cjs/components/text/time.js.map +1 -1
  96. package/lib/cjs/components/tree/item.js.map +1 -1
  97. package/lib/cjs/components/tree/tree.js.map +1 -1
  98. package/lib/cjs/components/upload/dropbox.js +54 -0
  99. package/lib/cjs/components/upload/dropbox.js.map +1 -0
  100. package/lib/cjs/components/upload/renderFile.js +33 -36
  101. package/lib/cjs/components/upload/renderFile.js.map +1 -1
  102. package/lib/cjs/components/upload/upload.js +100 -69
  103. package/lib/cjs/components/upload/upload.js.map +1 -1
  104. package/lib/cjs/components/utils/empty/index.js.map +1 -1
  105. package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -1
  106. package/lib/cjs/components/video/video.js.map +1 -1
  107. package/lib/cjs/js/hooks.js +7 -0
  108. package/lib/cjs/js/hooks.js.map +1 -1
  109. package/lib/cjs/js/usePreview/content.js.map +1 -1
  110. package/lib/cjs/js/usePreview/index.js.map +1 -1
  111. package/lib/cjs/js/usePreview/renderFile.js +1 -1
  112. package/lib/cjs/js/usePreview/renderFile.js.map +1 -1
  113. package/lib/cjs/js/usePreview/type.js.map +1 -1
  114. package/lib/cjs/js/useRipple/index.js +6 -6
  115. package/lib/cjs/js/useRipple/index.js.map +1 -1
  116. package/lib/cjs/js/useTheme/index.js.map +1 -1
  117. package/lib/cjs/js/utils.js.map +1 -1
  118. package/lib/css/colors.css +784 -779
  119. package/lib/css/index.css +1 -2
  120. package/lib/css/index.css.map +1 -1
  121. package/lib/css/reset.css +59 -69
  122. package/lib/es/components/affix/affix.js.map +1 -1
  123. package/lib/es/components/affix/totop.js.map +1 -1
  124. package/lib/es/components/badge/badge.js.map +1 -1
  125. package/lib/es/components/button/button.js.map +1 -1
  126. package/lib/es/components/button/confirm.js.map +1 -1
  127. package/lib/es/components/button/group.js.map +1 -1
  128. package/lib/es/components/button/toggle.js.map +1 -1
  129. package/lib/es/components/card/card.js.map +1 -1
  130. package/lib/es/components/checkbox/checkbox.js +1 -1
  131. package/lib/es/components/checkbox/checkbox.js.map +1 -1
  132. package/lib/es/components/checkbox/item.js.map +1 -1
  133. package/lib/es/components/collapse/collapse.js.map +1 -1
  134. package/lib/es/components/collapse/item.js.map +1 -1
  135. package/lib/es/components/datagrid/cell.js +5 -2
  136. package/lib/es/components/datagrid/cell.js.map +1 -1
  137. package/lib/es/components/datagrid/datagrid.js +149 -51
  138. package/lib/es/components/datagrid/datagrid.js.map +1 -1
  139. package/lib/es/components/datagrid/helper.js +79 -0
  140. package/lib/es/components/datagrid/helper.js.map +1 -0
  141. package/lib/es/components/datagrid/resize.js +35 -7
  142. package/lib/es/components/datagrid/resize.js.map +1 -1
  143. package/lib/es/components/datagrid/row.js +17 -3
  144. package/lib/es/components/datagrid/row.js.map +1 -1
  145. package/lib/es/components/datagrid/sorter.js.map +1 -1
  146. package/lib/es/components/datagrid/virtual.js +275 -0
  147. package/lib/es/components/datagrid/virtual.js.map +1 -0
  148. package/lib/es/components/description/description.js.map +1 -1
  149. package/lib/es/components/drawer/drawer.js.map +1 -1
  150. package/lib/es/components/dropdown/dropdown.js.map +1 -1
  151. package/lib/es/components/dropdown/item.js.map +1 -1
  152. package/lib/es/components/editor/controls.js.map +1 -1
  153. package/lib/es/components/editor/editor.js +5 -0
  154. package/lib/es/components/editor/editor.js.map +1 -1
  155. package/lib/es/components/editor/memtion.js.map +1 -1
  156. package/lib/es/components/flex/flex.js.map +1 -1
  157. package/lib/es/components/form/context.js.map +1 -1
  158. package/lib/es/components/form/field.js.map +1 -1
  159. package/lib/es/components/form/form.js.map +1 -1
  160. package/lib/es/components/form/useConfig.js.map +1 -1
  161. package/lib/es/components/form/useForm.js.map +1 -1
  162. package/lib/es/components/icon/icon.js.map +1 -1
  163. package/lib/es/components/image/image.js.map +1 -1
  164. package/lib/es/components/image/list.js.map +1 -1
  165. package/lib/es/components/input/container.js.map +1 -1
  166. package/lib/es/components/input/input.js.map +1 -1
  167. package/lib/es/components/input/number.js.map +1 -1
  168. package/lib/es/components/input/range.js.map +1 -1
  169. package/lib/es/components/input/textarea.js.map +1 -1
  170. package/lib/es/components/list/item.js.map +1 -1
  171. package/lib/es/components/list/list.js.map +1 -1
  172. package/lib/es/components/loading/loading.js.map +1 -1
  173. package/lib/es/components/message/message.js.map +1 -1
  174. package/lib/es/components/modal/content.js.map +1 -1
  175. package/lib/es/components/modal/context.js.map +1 -1
  176. package/lib/es/components/modal/hookModal.js.map +1 -1
  177. package/lib/es/components/modal/modal.js.map +1 -1
  178. package/lib/es/components/modal/useModal.js.map +1 -1
  179. package/lib/es/components/pagination/page.js.map +1 -1
  180. package/lib/es/components/pagination/pagination.js.map +1 -1
  181. package/lib/es/components/picker/colors/footer.js.map +1 -1
  182. package/lib/es/components/picker/colors/handle.js.map +1 -1
  183. package/lib/es/components/picker/colors/index.js.map +1 -1
  184. package/lib/es/components/picker/dates/dates.js.map +1 -1
  185. package/lib/es/components/picker/dates/index.js.map +1 -1
  186. package/lib/es/components/picker/dates/panel.js.map +1 -1
  187. package/lib/es/components/picker/time/index.js.map +1 -1
  188. package/lib/es/components/picker/time/item.js.map +1 -1
  189. package/lib/es/components/picker/time/panel.js.map +1 -1
  190. package/lib/es/components/popconfirm/popconfirm.js.map +1 -1
  191. package/lib/es/components/popup/content.js.map +1 -1
  192. package/lib/es/components/popup/popup.js.map +1 -1
  193. package/lib/es/components/progress/circle.js.map +1 -1
  194. package/lib/es/components/progress/line.js.map +1 -1
  195. package/lib/es/components/progress/progress.js.map +1 -1
  196. package/lib/es/components/radio/item.js.map +1 -1
  197. package/lib/es/components/radio/radio.js +2 -2
  198. package/lib/es/components/radio/radio.js.map +1 -1
  199. package/lib/es/components/resizable/resizable.js.map +1 -1
  200. package/lib/es/components/river/river.js.map +1 -1
  201. package/lib/es/components/select/options.js.map +1 -1
  202. package/lib/es/components/select/select.js.map +1 -1
  203. package/lib/es/components/step/divider.js.map +1 -1
  204. package/lib/es/components/step/item.js.map +1 -1
  205. package/lib/es/components/step/step.js.map +1 -1
  206. package/lib/es/components/swiper/item.js.map +1 -1
  207. package/lib/es/components/swiper/swiper.js.map +1 -1
  208. package/lib/es/components/tabs/item.js.map +1 -1
  209. package/lib/es/components/tabs/tabs.js.map +1 -1
  210. package/lib/es/components/tag/tag.js.map +1 -1
  211. package/lib/es/components/text/highlight.js.map +1 -1
  212. package/lib/es/components/text/number.js.map +1 -1
  213. package/lib/es/components/text/text.js.map +1 -1
  214. package/lib/es/components/text/time.js.map +1 -1
  215. package/lib/es/components/tree/item.js.map +1 -1
  216. package/lib/es/components/tree/tree.js.map +1 -1
  217. package/lib/es/components/upload/dropbox.js +46 -0
  218. package/lib/es/components/upload/dropbox.js.map +1 -0
  219. package/lib/es/components/upload/renderFile.js +34 -37
  220. package/lib/es/components/upload/renderFile.js.map +1 -1
  221. package/lib/es/components/upload/upload.js +101 -70
  222. package/lib/es/components/upload/upload.js.map +1 -1
  223. package/lib/es/components/utils/empty/index.js.map +1 -1
  224. package/lib/es/components/utils/helpericon/helpericon.js.map +1 -1
  225. package/lib/es/components/video/video.js.map +1 -1
  226. package/lib/es/js/hooks.js +8 -1
  227. package/lib/es/js/hooks.js.map +1 -1
  228. package/lib/es/js/usePreview/content.js.map +1 -1
  229. package/lib/es/js/usePreview/index.js.map +1 -1
  230. package/lib/es/js/usePreview/renderFile.js +1 -1
  231. package/lib/es/js/usePreview/renderFile.js.map +1 -1
  232. package/lib/es/js/usePreview/type.js.map +1 -1
  233. package/lib/es/js/useRipple/index.js +6 -6
  234. package/lib/es/js/useRipple/index.js.map +1 -1
  235. package/lib/es/js/useTheme/index.js.map +1 -1
  236. package/lib/es/js/utils.js.map +1 -1
  237. package/lib/index.js +734 -177
  238. package/lib/types/components/datagrid/type.d.ts +10 -1
  239. package/lib/types/components/upload/type.d.ts +3 -8
  240. package/package.json +97 -98
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sources":["../../../../packages/components/select/options.tsx"],"sourcesContent":["import { CheckRound, SearchRound } from \"@ricons/material\";\r\nimport classNames from \"classnames\";\r\nimport { TOption } from \"../../type\";\r\nimport Icon from \"../icon\";\r\nimport List from \"../list\";\r\nimport Tag from \"../tag\";\r\nimport Empty from \"../utils/empty\";\r\nimport { ISelectOptions } from \"./type\";\r\nexport const Options = (props: ISelectOptions) => {\r\n\tconst {\r\n\t\tvalue: val,\r\n\t\toptions,\r\n\t\tfilter,\r\n\t\tfilterPlaceholder,\r\n\t\tmultiple,\r\n\t\tempty = <Empty />,\r\n\t\tonSelect,\r\n\t\tonFilter,\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\"i-select-options\", {\r\n\t\t\t\t\"i-select-options-multiple\": multiple,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t{filter && multiple && (\r\n\t\t\t\t<div className='i-select-filter'>\r\n\t\t\t\t\t<Icon\r\n\t\t\t\t\t\ticon={<SearchRound />}\r\n\t\t\t\t\t\tclassName='color-8 ml-8 my-auto'\r\n\t\t\t\t\t\tsize='1.2em'\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype='text'\r\n\t\t\t\t\t\tclassName='i-input'\r\n\t\t\t\t\t\tplaceholder={filterPlaceholder}\r\n\t\t\t\t\t\tonChange={onFilter}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\r\n\t\t\t{options.length === 0 && empty}\r\n\r\n\t\t\t{options.map((option, i) => {\r\n\t\t\t\tconst { label, value, disabled } = option;\r\n\t\t\t\tconst isActive = multiple\r\n\t\t\t\t\t? val?.includes(value)\r\n\t\t\t\t\t: val === value;\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<List.Item\r\n\t\t\t\t\t\tkey={(value as string) || i}\r\n\t\t\t\t\t\tactive={isActive}\r\n\t\t\t\t\t\ttype='option'\r\n\t\t\t\t\t\tonClick={() => onSelect?.(value, option)}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{multiple && (\r\n\t\t\t\t\t\t\t<Icon\r\n\t\t\t\t\t\t\t\ticon={<CheckRound />}\r\n\t\t\t\t\t\t\t\tclassName='i-select-option-check'\r\n\t\t\t\t\t\t\t\tsize='1em'\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{label}\r\n\t\t\t\t\t</List.Item>\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport const activeOptions = (\r\n\toptions: TOption[] = [],\r\n\tvalue: any[] = [],\r\n\tmax = 3\r\n) => {\r\n\tconst total = options.flatMap((opt) =>\r\n\t\tvalue.includes(opt.value) ? [opt] : []\r\n\t);\r\n\r\n\tif (max >= total.length) return total;\r\n\r\n\tconst rest = total.length - max;\r\n\tconst after = total.slice(0, max);\r\n\tafter.push(rest as any);\r\n\r\n\treturn after;\r\n};\r\n\r\nexport const displayValue = (config) => {\r\n\tconst { options, value, maxDisplay, multiple, onSelect } = config;\r\n\r\n\tif (multiple) {\r\n\t\treturn activeOptions(options, value, maxDisplay).map((opt, i) => {\r\n\t\t\tif (typeof opt === \"number\") return <Tag key={i}>+{opt}</Tag>;\r\n\r\n\t\t\tconst { label, value } = opt;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t<Tag\r\n\t\t\t\t\tkey={value as string}\r\n\t\t\t\t\thoverShowClose\r\n\t\t\t\t\tonClose={(e) => {\r\n\t\t\t\t\t\te?.stopPropagation();\r\n\t\t\t\t\t\tonSelect?.(value, opt);\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t{label}\r\n\t\t\t\t</Tag>\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\treturn options.find((opt: TOption) => opt.value === value)?.label;\r\n};\r\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sources":["../../../../packages/components/select/options.tsx"],"sourcesContent":["import { CheckRound, SearchRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { TOption } from \"../../type\";\nimport Icon from \"../icon\";\nimport List from \"../list\";\nimport Tag from \"../tag\";\nimport Empty from \"../utils/empty\";\nimport { ISelectOptions } from \"./type\";\nexport const Options = (props: ISelectOptions) => {\n\tconst {\n\t\tvalue: val,\n\t\toptions,\n\t\tfilter,\n\t\tfilterPlaceholder,\n\t\tmultiple,\n\t\tempty = <Empty />,\n\t\tonSelect,\n\t\tonFilter,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-select-options\", {\n\t\t\t\t\"i-select-options-multiple\": multiple,\n\t\t\t})}\n\t\t>\n\t\t\t{filter && multiple && (\n\t\t\t\t<div className='i-select-filter'>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={<SearchRound />}\n\t\t\t\t\t\tclassName='color-8 ml-8 my-auto'\n\t\t\t\t\t\tsize='1.2em'\n\t\t\t\t\t/>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype='text'\n\t\t\t\t\t\tclassName='i-input'\n\t\t\t\t\t\tplaceholder={filterPlaceholder}\n\t\t\t\t\t\tonChange={onFilter}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{options.length === 0 && empty}\n\n\t\t\t{options.map((option, i) => {\n\t\t\t\tconst { label, value, disabled } = option;\n\t\t\t\tconst isActive = multiple\n\t\t\t\t\t? val?.includes(value)\n\t\t\t\t\t: val === value;\n\n\t\t\t\treturn (\n\t\t\t\t\t<List.Item\n\t\t\t\t\t\tkey={(value as string) || i}\n\t\t\t\t\t\tactive={isActive}\n\t\t\t\t\t\ttype='option'\n\t\t\t\t\t\tonClick={() => onSelect?.(value, option)}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t{multiple && (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={<CheckRound />}\n\t\t\t\t\t\t\t\tclassName='i-select-option-check'\n\t\t\t\t\t\t\t\tsize='1em'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</List.Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nexport const activeOptions = (\n\toptions: TOption[] = [],\n\tvalue: any[] = [],\n\tmax = 3\n) => {\n\tconst total = options.flatMap((opt) =>\n\t\tvalue.includes(opt.value) ? [opt] : []\n\t);\n\n\tif (max >= total.length) return total;\n\n\tconst rest = total.length - max;\n\tconst after = total.slice(0, max);\n\tafter.push(rest as any);\n\n\treturn after;\n};\n\nexport const displayValue = (config) => {\n\tconst { options, value, maxDisplay, multiple, onSelect } = config;\n\n\tif (multiple) {\n\t\treturn activeOptions(options, value, maxDisplay).map((opt, i) => {\n\t\t\tif (typeof opt === \"number\") return <Tag key={i}>+{opt}</Tag>;\n\n\t\t\tconst { label, value } = opt;\n\n\t\t\treturn (\n\t\t\t\t<Tag\n\t\t\t\t\tkey={value as string}\n\t\t\t\t\thoverShowClose\n\t\t\t\t\tonClose={(e) => {\n\t\t\t\t\t\te?.stopPropagation();\n\t\t\t\t\t\tonSelect?.(value, opt);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t});\n\t}\n\n\treturn options.find((opt: TOption) => opt.value === value)?.label;\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../../packages/components/select/select.tsx"],"sourcesContent":["import { UnfoldMoreRound } from \"@ricons/material\";\r\nimport classNames from \"classnames\";\r\nimport { debounce } from \"radash\";\r\nimport { ChangeEvent, useEffect, useMemo, useState } from \"react\";\r\nimport \"../../css/input.css\";\r\nimport { formatOption } from \"../../js/utils\";\r\nimport { TOption } from \"../../type\";\r\nimport Popup from \"../popup\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport \"./index.css\";\r\nimport { Options, displayValue } from \"./options\";\r\nimport { ISelect } from \"./type\";\r\n\r\nconst Select = (props: ISelect) => {\r\n const {\r\n ref,\r\n type = \"text\",\r\n name,\r\n label,\r\n value = \"\",\r\n placeholder,\r\n required,\r\n options = [],\r\n multiple,\r\n prepend,\r\n append,\r\n labelInline,\r\n style,\r\n className,\r\n message,\r\n status = \"normal\",\r\n hideClear,\r\n hideArrow,\r\n maxDisplay,\r\n border,\r\n filter,\r\n tip,\r\n filterPlaceholder = \"...\",\r\n popupProps,\r\n onSelect,\r\n onChange,\r\n ...restProps\r\n } = props;\r\n\r\n const [filterValue, setFilterValue] = useState(\"\");\r\n const [selectedValue, setSelectedValue] = useState(value);\r\n\r\n const [active, setActive] = useState<boolean>(false);\r\n\r\n const formattedOptions = useMemo(() => formatOption(options), [options]);\r\n\r\n const filterOptions = useMemo(() => {\r\n const fv = filterValue;\r\n if (!fv || !filter) return formattedOptions;\r\n\r\n const filterFn =\r\n typeof filter === \"function\"\r\n ? filter\r\n : (opt) => opt.value.includes(fv) || opt.label.includes(fv);\r\n\r\n return formattedOptions.filter(filterFn);\r\n }, [formattedOptions, filter, filterValue]);\r\n\r\n const changeValue = (v: any) => {\r\n setSelectedValue(v);\r\n onChange?.(v);\r\n };\r\n\r\n const displayLabel = useMemo(() => {\r\n if (multiple) {\r\n return \"\";\r\n }\r\n\r\n const option = formattedOptions.find(\r\n (opt) => opt.value === selectedValue,\r\n );\r\n return option ? option.label : selectedValue;\r\n }, [selectedValue, formattedOptions]);\r\n\r\n const handleSelect = (value: any, option?: TOption) => {\r\n onSelect?.(value, option);\r\n\r\n if (multiple) {\r\n const values = [...(selectedValue as any[])];\r\n const i = values.findIndex((v) => v === value);\r\n\r\n i > -1 ? values.splice(i, 1) : values.push(value);\r\n changeValue(values as any);\r\n\r\n return;\r\n }\r\n\r\n setActive(false);\r\n changeValue(value);\r\n };\r\n\r\n const handleVisibleChange = (visible: boolean) => {\r\n setActive(visible);\r\n\r\n if (!filter) return;\r\n\r\n setFilterValue(\"\");\r\n };\r\n\r\n const handleHelperClick = (e) => {\r\n e.stopPropagation();\r\n setActive(true);\r\n if (!active) return;\r\n\r\n changeValue(multiple ? [] : \"\");\r\n };\r\n\r\n const handleFilterChange = debounce(\r\n { delay: 400 },\r\n (e: ChangeEvent<HTMLInputElement>) => {\r\n const v = e.target.value;\r\n setFilterValue(v);\r\n },\r\n );\r\n\r\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\r\n setFilterValue(e.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n setSelectedValue(value);\r\n }, [value]);\r\n\r\n const hasValue = multiple\r\n ? (selectedValue as any[]).length > 0\r\n : !!selectedValue;\r\n const clearable = !hideClear && active && hasValue;\r\n const text = message ?? tip;\r\n\r\n return (\r\n <label\r\n className={classNames(\"i-input-label\", className, {\r\n \"i-input-inline\": labelInline,\r\n })}\r\n style={style}\r\n >\r\n {label && (\r\n <span className=\"i-input-label-text\">\r\n {required && <span className=\"error\">*</span>}\r\n {label}\r\n </span>\r\n )}\r\n\r\n <Popup\r\n position=\"bottom\"\r\n arrow={false}\r\n fitSize\r\n offset={0}\r\n {...popupProps}\r\n visible={active}\r\n trigger=\"none\"\r\n onVisibleChange={handleVisibleChange}\r\n content={\r\n <Options\r\n options={filterOptions}\r\n value={selectedValue}\r\n multiple={multiple}\r\n filter={!!filter}\r\n filterPlaceholder={filterPlaceholder}\r\n onSelect={handleSelect}\r\n onFilter={handleFilterChange}\r\n />\r\n }\r\n >\r\n <div\r\n className={classNames(\"i-input-item\", {\r\n [`i-input-${status}`]: status !== \"normal\",\r\n \"i-input-borderless\": !border,\r\n \"i-input-focus\": active,\r\n })}\r\n onClick={() => setActive(true)}\r\n >\r\n {prepend}\r\n\r\n <input\r\n ref={ref}\r\n type=\"hidden\"\r\n value={selectedValue}\r\n {...restProps}\r\n />\r\n\r\n {multiple ? (\r\n hasValue ? (\r\n <div\r\n className={classNames(\"i-input i-select\", {\r\n \"i-select-multiple\": multiple,\r\n })}\r\n >\r\n {displayValue({\r\n options: formattedOptions,\r\n value: selectedValue,\r\n multiple,\r\n maxDisplay,\r\n onSelect: handleSelect,\r\n })}\r\n </div>\r\n ) : (\r\n <input\r\n className=\"i-input i-select\"\r\n placeholder={placeholder}\r\n readOnly\r\n />\r\n )\r\n ) : null}\r\n\r\n {!multiple && (\r\n <input\r\n value={active ? filterValue : displayLabel}\r\n className=\"i-input i-select\"\r\n placeholder={displayLabel || placeholder}\r\n onChange={handleInputChange}\r\n readOnly={!filter}\r\n />\r\n )}\r\n\r\n <Helpericon\r\n active={!hideArrow}\r\n icon={clearable ? undefined : <UnfoldMoreRound />}\r\n onClick={handleHelperClick}\r\n />\r\n\r\n {append}\r\n </div>\r\n </Popup>\r\n\r\n {text && <span className=\"i-input-message\">{text}</span>}\r\n </label>\r\n );\r\n};\r\n\r\nexport default Select;\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AAaA,MAAM,MAAM,GAAG,CAAC,KAAc,KAAI;AAC9B,IAAA,MAAM,EACF,GAAG,EACH,IAAI,GAAG,MAAM,EACb,IAAI,EACJ,KAAK,EACL,KAAK,GAAG,EAAE,EACV,WAAW,EACX,QAAQ,EACR,OAAO,GAAG,EAAE,EACZ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAM,GAAG,QAAQ,EACjB,SAAS,EACT,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,EACN,GAAG,EACH,iBAAiB,GAAG,KAAK,EACzB,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,SAAS,EACf,GAAG,KAAK;IAET,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAClD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEzD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;AAEpD,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAExE,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAK;QAC/B,MAAM,EAAE,GAAG,WAAW;AACtB,QAAA,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,gBAAgB;AAE3C,QAAA,MAAM,QAAQ,GACV,OAAO,MAAM,KAAK;AACd,cAAE;cACA,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AAEnE,QAAA,OAAO,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC5C,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAE3C,IAAA,MAAM,WAAW,GAAG,CAAC,CAAM,KAAI;QAC3B,gBAAgB,CAAC,CAAC,CAAC;AACnB,QAAA,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAA,CAAC;AAED,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAK;QAC9B,IAAI,QAAQ,EAAE;AACV,YAAA,OAAO,EAAE;QACb;AAEA,QAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAChC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,aAAa,CACvC;QACD,OAAO,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,aAAa;AAChD,IAAA,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAErC,IAAA,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,MAAgB,KAAI;AAClD,QAAA,QAAQ,GAAG,KAAK,EAAE,MAAM,CAAC;QAEzB,IAAI,QAAQ,EAAE;AACV,YAAA,MAAM,MAAM,GAAG,CAAC,GAAI,aAAuB,CAAC;AAC5C,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;YAE9C,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACjD,WAAW,CAAC,MAAa,CAAC;YAE1B;QACJ;QAEA,SAAS,CAAC,KAAK,CAAC;QAChB,WAAW,CAAC,KAAK,CAAC;AACtB,IAAA,CAAC;AAED,IAAA,MAAM,mBAAmB,GAAG,CAAC,OAAgB,KAAI;QAC7C,SAAS,CAAC,OAAO,CAAC;AAElB,QAAA,IAAI,CAAC,MAAM;YAAE;QAEb,cAAc,CAAC,EAAE,CAAC;AACtB,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAI;QAC5B,CAAC,CAAC,eAAe,EAAE;QACnB,SAAS,CAAC,IAAI,CAAC;AACf,QAAA,IAAI,CAAC,MAAM;YAAE;QAEb,WAAW,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;AACnC,IAAA,CAAC;AAED,IAAA,MAAM,kBAAkB,GAAG,QAAQ,CAC/B,EAAE,KAAK,EAAE,GAAG,EAAE,EACd,CAAC,CAAgC,KAAI;AACjC,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;QACxB,cAAc,CAAC,CAAC,CAAC;AACrB,IAAA,CAAC,CACJ;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,CAAgC,KAAI;AAC3D,QAAA,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAClC,IAAA,CAAC;IAED,SAAS,CAAC,MAAK;QACX,gBAAgB,CAAC,KAAK,CAAC;AAC3B,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEX,MAAM,QAAQ,GAAG;AACb,UAAG,aAAuB,CAAC,MAAM,GAAG;AACpC,UAAE,CAAC,CAAC,aAAa;IACrB,MAAM,SAAS,GAAG,CAAC,SAAS,IAAI,MAAM,IAAI,QAAQ;AAClD,IAAA,MAAM,IAAI,GAAG,OAAO,IAAI,GAAG;IAE3B,QACIA,gBACI,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AAC9C,YAAA,gBAAgB,EAAE,WAAW;SAChC,CAAC,EACF,KAAK,EAAE,KAAK,aAEX,KAAK,KACFA,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAC/B,QAAQ,IAAIC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,GAAA,EAAA,CAAS,EAC5C,KAAK,CAAA,EAAA,CACH,CACV,EAEDA,GAAA,CAAC,KAAK,EAAA,EACF,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAA,IAAA,EACP,MAAM,EAAE,CAAC,EAAA,GACL,UAAU,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAC,MAAM,EACd,eAAe,EAAE,mBAAmB,EACpC,OAAO,EACHA,IAAC,OAAO,EAAA,EACJ,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,kBAAkB,GAC9B,EAAA,QAAA,EAGND,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE;AAClC,wBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;wBAC1C,oBAAoB,EAAE,CAAC,MAAM;AAC7B,wBAAA,eAAe,EAAE,MAAM;qBAC1B,CAAC,EACF,OAAO,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,aAE7B,OAAO,EAERC,eACI,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,aAAa,KAChB,SAAS,EAAA,CACf,EAED,QAAQ,IACL,QAAQ,IACJA,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE;AACtC,gCAAA,mBAAmB,EAAE,QAAQ;6BAChC,CAAC,EAAA,QAAA,EAED,YAAY,CAAC;AACV,gCAAA,OAAO,EAAE,gBAAgB;AACzB,gCAAA,KAAK,EAAE,aAAa;gCACpB,QAAQ;gCACR,UAAU;AACV,gCAAA,QAAQ,EAAE,YAAY;6BACzB,CAAC,EAAA,CACA,KAENA,GAAA,CAAA,OAAA,EAAA,EACI,SAAS,EAAC,kBAAkB,EAC5B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAA,IAAA,EAAA,CACV,CACL,IACD,IAAI,EAEP,CAAC,QAAQ,KACNA,eACI,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,EAC1C,SAAS,EAAC,kBAAkB,EAC5B,WAAW,EAAE,YAAY,IAAI,WAAW,EACxC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,CAAC,MAAM,EAAA,CACnB,CACL,EAEDA,GAAA,CAAC,UAAU,EAAA,EACP,MAAM,EAAE,CAAC,SAAS,EAClB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAGA,GAAA,CAAC,eAAe,KAAG,EACjD,OAAO,EAAE,iBAAiB,EAAA,CAC5B,EAED,MAAM,CAAA,EAAA,CACL,EAAA,CACF,EAEP,IAAI,IAAIA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,iBAAiB,YAAE,IAAI,EAAA,CAAQ,CAAA,EAAA,CACpD;AAEhB;;;;"}
1
+ {"version":3,"file":"select.js","sources":["../../../../packages/components/select/select.tsx"],"sourcesContent":["import { UnfoldMoreRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { debounce } from \"radash\";\nimport { ChangeEvent, useEffect, useMemo, useState } from \"react\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport { TOption } from \"../../type\";\nimport Popup from \"../popup\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { Options, displayValue } from \"./options\";\nimport { ISelect } from \"./type\";\n\nconst Select = (props: ISelect) => {\n const {\n ref,\n type = \"text\",\n name,\n label,\n value = \"\",\n placeholder,\n required,\n options = [],\n multiple,\n prepend,\n append,\n labelInline,\n style,\n className,\n message,\n status = \"normal\",\n hideClear,\n hideArrow,\n maxDisplay,\n border,\n filter,\n tip,\n filterPlaceholder = \"...\",\n popupProps,\n onSelect,\n onChange,\n ...restProps\n } = props;\n\n const [filterValue, setFilterValue] = useState(\"\");\n const [selectedValue, setSelectedValue] = useState(value);\n\n const [active, setActive] = useState<boolean>(false);\n\n const formattedOptions = useMemo(() => formatOption(options), [options]);\n\n const filterOptions = useMemo(() => {\n const fv = filterValue;\n if (!fv || !filter) return formattedOptions;\n\n const filterFn =\n typeof filter === \"function\"\n ? filter\n : (opt) => opt.value.includes(fv) || opt.label.includes(fv);\n\n return formattedOptions.filter(filterFn);\n }, [formattedOptions, filter, filterValue]);\n\n const changeValue = (v: any) => {\n setSelectedValue(v);\n onChange?.(v);\n };\n\n const displayLabel = useMemo(() => {\n if (multiple) {\n return \"\";\n }\n\n const option = formattedOptions.find(\n (opt) => opt.value === selectedValue,\n );\n return option ? option.label : selectedValue;\n }, [selectedValue, formattedOptions]);\n\n const handleSelect = (value: any, option?: TOption) => {\n onSelect?.(value, option);\n\n if (multiple) {\n const values = [...(selectedValue as any[])];\n const i = values.findIndex((v) => v === value);\n\n i > -1 ? values.splice(i, 1) : values.push(value);\n changeValue(values as any);\n\n return;\n }\n\n setActive(false);\n changeValue(value);\n };\n\n const handleVisibleChange = (visible: boolean) => {\n setActive(visible);\n\n if (!filter) return;\n\n setFilterValue(\"\");\n };\n\n const handleHelperClick = (e) => {\n e.stopPropagation();\n setActive(true);\n if (!active) return;\n\n changeValue(multiple ? [] : \"\");\n };\n\n const handleFilterChange = debounce(\n { delay: 400 },\n (e: ChangeEvent<HTMLInputElement>) => {\n const v = e.target.value;\n setFilterValue(v);\n },\n );\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n };\n\n useEffect(() => {\n setSelectedValue(value);\n }, [value]);\n\n const hasValue = multiple\n ? (selectedValue as any[]).length > 0\n : !!selectedValue;\n const clearable = !hideClear && active && hasValue;\n const text = message ?? tip;\n\n return (\n <label\n className={classNames(\"i-input-label\", className, {\n \"i-input-inline\": labelInline,\n })}\n style={style}\n >\n {label && (\n <span className=\"i-input-label-text\">\n {required && <span className=\"error\">*</span>}\n {label}\n </span>\n )}\n\n <Popup\n position=\"bottom\"\n arrow={false}\n fitSize\n offset={0}\n {...popupProps}\n visible={active}\n trigger=\"none\"\n onVisibleChange={handleVisibleChange}\n content={\n <Options\n options={filterOptions}\n value={selectedValue}\n multiple={multiple}\n filter={!!filter}\n filterPlaceholder={filterPlaceholder}\n onSelect={handleSelect}\n onFilter={handleFilterChange}\n />\n }\n >\n <div\n className={classNames(\"i-input-item\", {\n [`i-input-${status}`]: status !== \"normal\",\n \"i-input-borderless\": !border,\n \"i-input-focus\": active,\n })}\n onClick={() => setActive(true)}\n >\n {prepend}\n\n <input\n ref={ref}\n type=\"hidden\"\n value={selectedValue}\n {...restProps}\n />\n\n {multiple ? (\n hasValue ? (\n <div\n className={classNames(\"i-input i-select\", {\n \"i-select-multiple\": multiple,\n })}\n >\n {displayValue({\n options: formattedOptions,\n value: selectedValue,\n multiple,\n maxDisplay,\n onSelect: handleSelect,\n })}\n </div>\n ) : (\n <input\n className=\"i-input i-select\"\n placeholder={placeholder}\n readOnly\n />\n )\n ) : null}\n\n {!multiple && (\n <input\n value={active ? filterValue : displayLabel}\n className=\"i-input i-select\"\n placeholder={displayLabel || placeholder}\n onChange={handleInputChange}\n readOnly={!filter}\n />\n )}\n\n <Helpericon\n active={!hideArrow}\n icon={clearable ? undefined : <UnfoldMoreRound />}\n onClick={handleHelperClick}\n />\n\n {append}\n </div>\n </Popup>\n\n {text && <span className=\"i-input-message\">{text}</span>}\n </label>\n );\n};\n\nexport default Select;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"divider.js","sources":["../../../../packages/components/step/divider.tsx"],"sourcesContent":["import \"./index.css\";\r\n\r\nexport default function Divider() {\r\n\treturn <i className='i-step-divider' />;\r\n}\r\n"],"names":["_jsx"],"mappings":";;AAEc,SAAU,OAAO,GAAA;AAC9B,IAAA,OAAOA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,gBAAgB,GAAG;AACxC;;;;"}
1
+ {"version":3,"file":"divider.js","sources":["../../../../packages/components/step/divider.tsx"],"sourcesContent":["import \"./index.css\";\n\nexport default function Divider() {\n\treturn <i className='i-step-divider' />;\n}\n"],"names":["_jsx"],"mappings":";;AAEc,SAAU,OAAO,GAAA;AAC9B,IAAA,OAAOA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,gBAAgB,GAAG;AACxC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../packages/components/step/item.tsx"],"sourcesContent":["import { CheckRound } from \"@ricons/material\";\r\nimport classNames from \"classnames\";\r\nimport Divider from \"./divider\";\r\nimport { IStepItem } from \"./type\";\r\n\r\nconst STATUS = [\"finished\", \"active\", \"pending\"];\r\n\r\nfunction defaultRenderIcon(i: number, status: string) {\r\n\treturn (\r\n\t\t<span className='i-step-item-index'>\r\n\t\t\t{status === \"finished\" ? (\r\n\t\t\t\t<CheckRound style={{ width: \"1em\", height: \"1.5em\" }} />\r\n\t\t\t) : (\r\n\t\t\t\ti + 1\r\n\t\t\t)}\r\n\t\t</span>\r\n\t);\r\n}\r\n\r\nfunction Item(props: IStepItem) {\r\n\tconst {\r\n\t\tindex = 0,\r\n\t\tactive = 0,\r\n\t\trenderIcon = defaultRenderIcon,\r\n\t\ttitle,\r\n\t\tvertical,\r\n\t\tline = <Divider />,\r\n\t\tasList,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\tonClick,\r\n\t} = props;\r\n\tconst status = STATUS[index === active ? 1 : index < active ? 0 : 2];\r\n\r\n\tconst handleClick = () => {\r\n\t\tonClick?.(index);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tstyle={style}\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-step-item\",\r\n\t\t\t\t{\r\n\t\t\t\t\t[`i-step-item-${status}`]: !asList,\r\n\t\t\t\t},\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t\tonClick={handleClick}\r\n\t\t>\r\n\t\t\t{vertical ? (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<div className='i-step-item-left'>\r\n\t\t\t\t\t\t{renderIcon?.(index, status)}\r\n\t\t\t\t\t\t{line}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div className='i-step-item-right'>\r\n\t\t\t\t\t\t<div className='i-step-item-title'>{title}</div>\r\n\t\t\t\t\t\t{children && (\r\n\t\t\t\t\t\t\t<div className='i-step-item-content'>\r\n\t\t\t\t\t\t\t\t{children}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</>\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<div className='i-step-item-title'>\r\n\t\t\t\t\t\t{renderIcon?.(index, status)}\r\n\r\n\t\t\t\t\t\t<span>{title}</span>\r\n\r\n\t\t\t\t\t\t{line}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{children && (\r\n\t\t\t\t\t\t<div className='i-step-item-content'>{children}</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nexport default Item;\r\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;AAKA,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;AAEhD,SAAS,iBAAiB,CAAC,CAAS,EAAE,MAAc,EAAA;AACnD,IAAA,QACCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,mBAAmB,YACjC,MAAM,KAAK,UAAU,IACrBA,IAAC,UAAU,EAAA,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAI,KAExD,CAAC,GAAG,CAAC,CACL,EAAA,CACK;AAET;AAEA,SAAS,IAAI,CAAC,KAAgB,EAAA;AAC7B,IAAA,MAAM,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,UAAU,GAAG,iBAAiB,EAC9B,KAAK,EACL,QAAQ,EACR,IAAI,GAAGA,IAAC,OAAO,EAAA,EAAA,CAAG,EAClB,MAAM,EACN,KAAK,EACL,SAAS,EACT,QAAQ,EACR,OAAO,GACP,GAAG,KAAK;IACT,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,MAAK;AACxB,QAAA,OAAO,GAAG,KAAK,CAAC;AACjB,IAAA,CAAC;IAED,QACCA,GAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,UAAU,CACpB,aAAa,EACb;AACC,YAAA,CAAC,eAAe,MAAM,CAAA,CAAE,GAAG,CAAC,MAAM;SAClC,EACD,SAAS,CACT,EACD,OAAO,EAAE,WAAW,EAAA,QAAA,EAEnB,QAAQ,IACRC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACCD,cAAK,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,CAC/B,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,EAC3B,IAAI,CAAA,EAAA,CACA,EACNA,cAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CACjCD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,YAAE,KAAK,EAAA,CAAO,EAC/C,QAAQ,KACRA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAClC,QAAQ,GACJ,CACN,CAAA,EAAA,CACI,IACJ,KAEHC,4BACCA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CAChC,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,EAE5BD,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,KAAK,GAAQ,EAEnB,IAAI,IACA,EACL,QAAQ,KACRA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,YAAE,QAAQ,EAAA,CAAO,CACrD,CAAA,EAAA,CACC,CACH,EAAA,CACI;AAER;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../packages/components/step/item.tsx"],"sourcesContent":["import { CheckRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport Divider from \"./divider\";\nimport { IStepItem } from \"./type\";\n\nconst STATUS = [\"finished\", \"active\", \"pending\"];\n\nfunction defaultRenderIcon(i: number, status: string) {\n\treturn (\n\t\t<span className='i-step-item-index'>\n\t\t\t{status === \"finished\" ? (\n\t\t\t\t<CheckRound style={{ width: \"1em\", height: \"1.5em\" }} />\n\t\t\t) : (\n\t\t\t\ti + 1\n\t\t\t)}\n\t\t</span>\n\t);\n}\n\nfunction Item(props: IStepItem) {\n\tconst {\n\t\tindex = 0,\n\t\tactive = 0,\n\t\trenderIcon = defaultRenderIcon,\n\t\ttitle,\n\t\tvertical,\n\t\tline = <Divider />,\n\t\tasList,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t\tonClick,\n\t} = props;\n\tconst status = STATUS[index === active ? 1 : index < active ? 0 : 2];\n\n\tconst handleClick = () => {\n\t\tonClick?.(index);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tstyle={style}\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-step-item\",\n\t\t\t\t{\n\t\t\t\t\t[`i-step-item-${status}`]: !asList,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tonClick={handleClick}\n\t\t>\n\t\t\t{vertical ? (\n\t\t\t\t<>\n\t\t\t\t\t<div className='i-step-item-left'>\n\t\t\t\t\t\t{renderIcon?.(index, status)}\n\t\t\t\t\t\t{line}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='i-step-item-right'>\n\t\t\t\t\t\t<div className='i-step-item-title'>{title}</div>\n\t\t\t\t\t\t{children && (\n\t\t\t\t\t\t\t<div className='i-step-item-content'>\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className='i-step-item-title'>\n\t\t\t\t\t\t{renderIcon?.(index, status)}\n\n\t\t\t\t\t\t<span>{title}</span>\n\n\t\t\t\t\t\t{line}\n\t\t\t\t\t</div>\n\t\t\t\t\t{children && (\n\t\t\t\t\t\t<div className='i-step-item-content'>{children}</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport default Item;\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;AAKA,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;AAEhD,SAAS,iBAAiB,CAAC,CAAS,EAAE,MAAc,EAAA;AACnD,IAAA,QACCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,mBAAmB,YACjC,MAAM,KAAK,UAAU,IACrBA,IAAC,UAAU,EAAA,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAI,KAExD,CAAC,GAAG,CAAC,CACL,EAAA,CACK;AAET;AAEA,SAAS,IAAI,CAAC,KAAgB,EAAA;AAC7B,IAAA,MAAM,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,UAAU,GAAG,iBAAiB,EAC9B,KAAK,EACL,QAAQ,EACR,IAAI,GAAGA,IAAC,OAAO,EAAA,EAAA,CAAG,EAClB,MAAM,EACN,KAAK,EACL,SAAS,EACT,QAAQ,EACR,OAAO,GACP,GAAG,KAAK;IACT,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,MAAK;AACxB,QAAA,OAAO,GAAG,KAAK,CAAC;AACjB,IAAA,CAAC;IAED,QACCA,GAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,UAAU,CACpB,aAAa,EACb;AACC,YAAA,CAAC,eAAe,MAAM,CAAA,CAAE,GAAG,CAAC,MAAM;SAClC,EACD,SAAS,CACT,EACD,OAAO,EAAE,WAAW,EAAA,QAAA,EAEnB,QAAQ,IACRC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACCD,cAAK,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,CAC/B,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,EAC3B,IAAI,CAAA,EAAA,CACA,EACNA,cAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CACjCD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,YAAE,KAAK,EAAA,CAAO,EAC/C,QAAQ,KACRA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAClC,QAAQ,GACJ,CACN,CAAA,EAAA,CACI,IACJ,KAEHC,4BACCA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CAChC,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,EAE5BD,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,KAAK,GAAQ,EAEnB,IAAI,IACA,EACL,QAAQ,KACRA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,YAAE,QAAQ,EAAA,CAAO,CACrD,CAAA,EAAA,CACC,CACH,EAAA,CACI;AAER;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sources":["../../../../packages/components/step/step.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { Children, ReactNode, useMemo } from \"react\";\r\nimport \"./index.css\";\r\nimport Item from \"./item\";\r\nimport { IStep } from \"./type\";\r\n\r\nconst Step = (props: IStep) => {\r\n\tconst {\r\n\t\tactive = 0,\r\n\t\tvertical,\r\n\t\trenderIcon,\r\n\t\tline,\r\n\t\tstyle,\r\n\t\tasList,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\tonClick,\r\n\t} = props;\r\n\r\n\tconst steps = useMemo(() => {\r\n\t\tconst nodes: ReactNode[] = [];\r\n\t\tlet index = 0;\r\n\r\n\t\tChildren.map(children, (el: any) => {\r\n\t\t\tif (!el || el.type !== Item) return;\r\n\r\n\t\t\tconst { props: elProps } = el;\r\n\r\n\t\t\tnodes.push({\r\n\t\t\t\t...el,\r\n\t\t\t\tprops: {\r\n\t\t\t\t\trenderIcon,\r\n\t\t\t\t\tline,\r\n\t\t\t\t\tonClick,\r\n\t\t\t\t\t...elProps,\r\n\t\t\t\t\tvertical,\r\n\t\t\t\t\tactive,\r\n\t\t\t\t\tasList,\r\n\t\t\t\t\tindex: index++,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\treturn nodes;\r\n\t}, [active, children]);\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-step\",\r\n\t\t\t\t{ \"i-step-vertical\": vertical },\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t\tstyle={style}\r\n\t\t>\r\n\t\t\t{steps}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nStep.Item = Item;\r\n\r\nexport default Step;\r\n"],"names":["_jsx"],"mappings":";;;;;AAMA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,MAAM,GAAG,CAAC,EACV,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,GACP,GAAG,KAAK;AAET,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAK;QAC1B,MAAM,KAAK,GAAgB,EAAE;QAC7B,IAAI,KAAK,GAAG,CAAC;QAEb,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAO,KAAI;AAClC,YAAA,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;gBAAE;AAE7B,YAAA,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;YAE7B,KAAK,CAAC,IAAI,CAAC;AACV,gBAAA,GAAG,EAAE;AACL,gBAAA,KAAK,EAAE;oBACN,UAAU;oBACV,IAAI;oBACJ,OAAO;AACP,oBAAA,GAAG,OAAO;oBACV,QAAQ;oBACR,MAAM;oBACN,MAAM;oBACN,KAAK,EAAE,KAAK,EAAE;AACd,iBAAA;AACD,aAAA,CAAC;AACH,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,KAAK;AACb,IAAA,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtB,QACCA,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,UAAU,CACpB,QAAQ,EACR,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAC/B,SAAS,CACT,EACD,KAAK,EAAE,KAAK,EAAA,QAAA,EAEX,KAAK,EAAA,CACD;AAER;AAEA,IAAI,CAAC,IAAI,GAAG,IAAI;;;;"}
1
+ {"version":3,"file":"step.js","sources":["../../../../packages/components/step/step.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Children, ReactNode, useMemo } from \"react\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { IStep } from \"./type\";\n\nconst Step = (props: IStep) => {\n\tconst {\n\t\tactive = 0,\n\t\tvertical,\n\t\trenderIcon,\n\t\tline,\n\t\tstyle,\n\t\tasList,\n\t\tclassName,\n\t\tchildren,\n\t\tonClick,\n\t} = props;\n\n\tconst steps = useMemo(() => {\n\t\tconst nodes: ReactNode[] = [];\n\t\tlet index = 0;\n\n\t\tChildren.map(children, (el: any) => {\n\t\t\tif (!el || el.type !== Item) return;\n\n\t\t\tconst { props: elProps } = el;\n\n\t\t\tnodes.push({\n\t\t\t\t...el,\n\t\t\t\tprops: {\n\t\t\t\t\trenderIcon,\n\t\t\t\t\tline,\n\t\t\t\t\tonClick,\n\t\t\t\t\t...elProps,\n\t\t\t\t\tvertical,\n\t\t\t\t\tactive,\n\t\t\t\t\tasList,\n\t\t\t\t\tindex: index++,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\treturn nodes;\n\t}, [active, children]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-step\",\n\t\t\t\t{ \"i-step-vertical\": vertical },\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{steps}\n\t\t</div>\n\t);\n};\n\nStep.Item = Item;\n\nexport default Step;\n"],"names":["_jsx"],"mappings":";;;;;AAMA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,MAAM,GAAG,CAAC,EACV,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,GACP,GAAG,KAAK;AAET,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAK;QAC1B,MAAM,KAAK,GAAgB,EAAE;QAC7B,IAAI,KAAK,GAAG,CAAC;QAEb,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAO,KAAI;AAClC,YAAA,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;gBAAE;AAE7B,YAAA,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;YAE7B,KAAK,CAAC,IAAI,CAAC;AACV,gBAAA,GAAG,EAAE;AACL,gBAAA,KAAK,EAAE;oBACN,UAAU;oBACV,IAAI;oBACJ,OAAO;AACP,oBAAA,GAAG,OAAO;oBACV,QAAQ;oBACR,MAAM;oBACN,MAAM;oBACN,KAAK,EAAE,KAAK,EAAE;AACd,iBAAA;AACD,aAAA,CAAC;AACH,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,KAAK;AACb,IAAA,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEtB,QACCA,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,UAAU,CACpB,QAAQ,EACR,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAC/B,SAAS,CACT,EACD,KAAK,EAAE,KAAK,EAAA,QAAA,EAEX,KAAK,EAAA,CACD;AAER;AAEA,IAAI,CAAC,IAAI,GAAG,IAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../packages/components/swiper/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { useMemo } from \"react\";\r\nimport { ISwiperItem } from \"./type\";\r\n\r\nfunction Item(props: ISwiperItem) {\r\n\tconst {\r\n\t\tindex = 0,\r\n\t\titemIndex = 0,\r\n\t\tactive,\r\n\t\ttype,\r\n\t\ttransition,\r\n\t\tgap = 0,\r\n\t\titemHeight,\r\n\t\tvertical,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\tonItemClick,\r\n\t} = props;\r\n\r\n\tconst selfStyle = useMemo(() => {\r\n\t\tif (type === \"normal\") {\r\n\t\t\treturn {\r\n\t\t\t\t[vertical ? \"paddingBlock\" : \"paddingInline\"]: gap / 2,\r\n\t\t\t\theight: itemHeight,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttransform: `translate(-${index * 100}%, 0)`,\r\n\t\t\ttransition,\r\n\t\t};\r\n\t}, [index, gap, itemHeight, vertical, type]);\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tstyle={{ ...style, ...selfStyle }}\r\n\t\t\tclassName={classNames(\"i-swiper-item\", className, {\r\n\t\t\t\t\"i-swiper-active\": active,\r\n\t\t\t})}\r\n\t\t\tdata-index={itemIndex}\r\n\t\t\tonClick={(e) => onItemClick?.(itemIndex, e)}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nexport default Item;\r\n"],"names":["_jsx"],"mappings":";;;;AAIA,SAAS,IAAI,CAAC,KAAkB,EAAA;AAC/B,IAAA,MAAM,EACL,KAAK,GAAG,CAAC,EACT,SAAS,GAAG,CAAC,EACb,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,GAAG,CAAC,EACP,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,WAAW,GACX,GAAG,KAAK;AAET,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAK;AAC9B,QAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;YACtB,OAAO;AACN,gBAAA,CAAC,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,GAAG,GAAG,CAAC;AACtD,gBAAA,MAAM,EAAE,UAAU;aAClB;QACF;QAEA,OAAO;AACN,YAAA,SAAS,EAAE,CAAA,WAAA,EAAc,KAAK,GAAG,GAAG,CAAA,KAAA,CAAO;YAC3C,UAAU;SACV;AACF,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAE5C,IAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,EACjC,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AACjD,YAAA,iBAAiB,EAAE,MAAM;SACzB,CAAC,EAAA,YAAA,EACU,SAAS,EACrB,OAAO,EAAE,CAAC,CAAC,KAAK,WAAW,GAAG,SAAS,EAAE,CAAC,CAAC,EAAA,QAAA,EAE1C,QAAQ,EAAA,CACJ;AAER;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../packages/components/swiper/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useMemo } from \"react\";\nimport { ISwiperItem } from \"./type\";\n\nfunction Item(props: ISwiperItem) {\n\tconst {\n\t\tindex = 0,\n\t\titemIndex = 0,\n\t\tactive,\n\t\ttype,\n\t\ttransition,\n\t\tgap = 0,\n\t\titemHeight,\n\t\tvertical,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t\tonItemClick,\n\t} = props;\n\n\tconst selfStyle = useMemo(() => {\n\t\tif (type === \"normal\") {\n\t\t\treturn {\n\t\t\t\t[vertical ? \"paddingBlock\" : \"paddingInline\"]: gap / 2,\n\t\t\t\theight: itemHeight,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\ttransform: `translate(-${index * 100}%, 0)`,\n\t\t\ttransition,\n\t\t};\n\t}, [index, gap, itemHeight, vertical, type]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{ ...style, ...selfStyle }}\n\t\t\tclassName={classNames(\"i-swiper-item\", className, {\n\t\t\t\t\"i-swiper-active\": active,\n\t\t\t})}\n\t\t\tdata-index={itemIndex}\n\t\t\tonClick={(e) => onItemClick?.(itemIndex, e)}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n\nexport default Item;\n"],"names":["_jsx"],"mappings":";;;;AAIA,SAAS,IAAI,CAAC,KAAkB,EAAA;AAC/B,IAAA,MAAM,EACL,KAAK,GAAG,CAAC,EACT,SAAS,GAAG,CAAC,EACb,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,GAAG,CAAC,EACP,UAAU,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,WAAW,GACX,GAAG,KAAK;AAET,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAK;AAC9B,QAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;YACtB,OAAO;AACN,gBAAA,CAAC,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,GAAG,GAAG,CAAC;AACtD,gBAAA,MAAM,EAAE,UAAU;aAClB;QACF;QAEA,OAAO;AACN,YAAA,SAAS,EAAE,CAAA,WAAA,EAAc,KAAK,GAAG,GAAG,CAAA,KAAA,CAAO;YAC3C,UAAU;SACV;AACF,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAE5C,IAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,EACjC,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AACjD,YAAA,iBAAiB,EAAE,MAAM;SACzB,CAAC,EAAA,YAAA,EACU,SAAS,EACrB,OAAO,EAAE,CAAC,CAAC,KAAK,WAAW,GAAG,SAAS,EAAE,CAAC,CAAC,EAAA,QAAA,EAE1C,QAAQ,EAAA,CACJ;AAER;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"swiper.js","sources":["../../../../packages/components/swiper/swiper.tsx"],"sourcesContent":["import {\r\n\tKeyboardArrowLeftRound,\r\n\tKeyboardArrowRightRound,\r\n} from \"@ricons/material\";\r\nimport classNames from \"classnames\";\r\nimport {\r\n\tChildren,\r\n\tuseEffect,\r\n\tuseImperativeHandle,\r\n\tuseMemo,\r\n\tuseRef,\r\n} from \"react\";\r\nimport { useMouseMove, useMouseUp, useReactive } from \"../../js/hooks\";\r\nimport { clamp } from \"../../js/utils\";\r\nimport Icon from \"../icon\";\r\nimport \"./index.css\";\r\nimport Item from \"./item\";\r\nimport { CompositionSwiper, ISwiper } from \"./type\";\r\n\r\nconst Swiper = ((props: ISwiper) => {\r\n\tconst {\r\n\t\tref,\r\n\t\ttype = \"normal\",\r\n\t\tinitial = 0,\r\n\t\tdisplay = 1,\r\n\t\tscroll = 1,\r\n\t\tloop = true,\r\n\t\tvertical,\r\n\t\tprev = <Icon icon={<KeyboardArrowLeftRound />} size='2em' />,\r\n\t\tnext = <Icon icon={<KeyboardArrowRightRound />} size='2em' />,\r\n\t\tduration = 600,\r\n\t\tinterval = 3000,\r\n\t\tautoplay,\r\n\t\tpauseOnHover,\r\n\t\tarrow = true,\r\n\t\treverse,\r\n\t\tdraggable,\r\n\t\tdragOffset = 40,\r\n\t\tgap = 0,\r\n\t\titemHeight,\r\n\t\tindicator,\r\n\t\tfixedIndicator,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\trenderIndicator,\r\n\t\tonBeforeSwipe,\r\n\t\tonAfterSwipe,\r\n\t\tonItemClick,\r\n\t} = props;\r\n\r\n\tconst listRef = useRef<HTMLDivElement>(null);\r\n\tconst timerRef = useRef<any>(null);\r\n\tconst transition = `all ${duration / 1000}s`;\r\n\tconst state = useReactive({\r\n\t\tcurrent: initial,\r\n\t\tswipable: true,\r\n\t\ttransition: type === \"fade\" ? \"none\" : transition,\r\n\t\tdragStart: 0,\r\n\t\tdragging: false,\r\n\t\tinitialized: false,\r\n\t});\r\n\r\n\tconst items = useMemo(() => {\r\n\t\treturn Children.map(children, (node: any) => {\r\n\t\t\tif (node.type !== Item) return;\r\n\r\n\t\t\treturn node;\r\n\t\t});\r\n\t}, [children]);\r\n\r\n\tconst [displayItems, extra, size, total, listSize] = useMemo(() => {\r\n\t\tconst extra =\r\n\t\t\ttype === \"normal\" && loop && items.length > display\r\n\t\t\t\t? display + 1\r\n\t\t\t\t: 0;\r\n\t\tlet list: any = [];\r\n\r\n\t\tif (extra <= 0) {\r\n\t\t\tlist = [...items];\r\n\t\t} else {\r\n\t\t\tconst head = items.slice(0, extra);\r\n\t\t\tconst tail = items.slice(-extra);\r\n\t\t\tlist = [...tail, ...items, ...head];\r\n\t\t}\r\n\r\n\t\tconst listSize = `${(list.length / display) * 100}%`;\r\n\r\n\t\treturn [list, extra, items.length, list.length, listSize];\r\n\t}, [display, loop, type, items]);\r\n\r\n\tconst offsetPercent = useMemo(\r\n\t\t() => (-100 * (state.current + extra)) / total,\r\n\t\t[state.current, total]\r\n\t);\r\n\r\n\tconst position = useMemo(() => {\r\n\t\tif (size <= display || type === \"fade\") return;\r\n\r\n\t\tconst offset = vertical\r\n\t\t\t? `0, ${offsetPercent}%`\r\n\t\t\t: `${offsetPercent}%, 0`;\r\n\t\treturn `translate3d(${offset}, 0)`;\r\n\t}, [offsetPercent, vertical, display, size, type]);\r\n\r\n\tconst trackStyle = useMemo(() => {\r\n\t\tif (!vertical || !itemHeight) return;\r\n\r\n\t\treturn {\r\n\t\t\theight: itemHeight * display,\r\n\t\t};\r\n\t}, [vertical, itemHeight, display]);\r\n\r\n\tconst indicatorsLoop = useMemo(() => {\r\n\t\treturn Array.from({\r\n\t\t\tlength: Math.ceil((size - display) / scroll) + 1,\r\n\t\t});\r\n\t}, [loop, indicator]);\r\n\r\n\tconst clearTimer = () => {\r\n\t\tclearTimeout(timerRef.current);\r\n\t\ttimerRef.current = null;\r\n\t};\r\n\r\n\tconst swipeTo = (i: number) => {\r\n\t\tif (!state.swipable || i === state.current) return;\r\n\t\tstate.swipable = false;\r\n\t\tonBeforeSwipe?.(state.current);\r\n\r\n\t\tlet reset = false;\r\n\t\tlet next = i;\r\n\t\tconst lastDisplay = size - display;\r\n\r\n\t\tif (loop) {\r\n\t\t\tif (i > lastDisplay) {\r\n\t\t\t\treset = true;\r\n\t\t\t\ti = size;\r\n\t\t\t\tnext = 0;\r\n\t\t\t} else if (i < 0) {\r\n\t\t\t\treset = true;\r\n\t\t\t\ti = -display;\r\n\t\t\t\tnext = lastDisplay;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tnext = clamp(next, 0, lastDisplay);\r\n\t\t\ti = next;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tstate.swipable = true;\r\n\t\t}, duration + 32);\r\n\r\n\t\tif (type === \"fade\") {\r\n\t\t\tstate.current = next;\r\n\t\t\tonAfterSwipe?.(next);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tstate.current = i;\r\n\r\n\t\tif (!reset) {\r\n\t\t\tif (autoplay) {\r\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\t\t\t}\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tonAfterSwipe?.(next);\r\n\t\t\t}, duration + 12);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tstate.transition = \"none\";\r\n\t\t\tstate.current = next;\r\n\t\t\tonAfterSwipe?.(next);\r\n\t\t\tif (autoplay) {\r\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\t\t\t}\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tstate.transition = transition;\r\n\t\t\t}, 60);\r\n\t\t}, duration + 20);\r\n\t};\r\n\tconst swipeNext = () => {\r\n\t\tswipeTo(reverse ? state.current - scroll : state.current + scroll);\r\n\t};\r\n\r\n\tconst swipePrev = () => {\r\n\t\tswipeTo(reverse ? state.current + scroll : state.current - scroll);\r\n\t};\r\n\r\n\tconst handleMouseDown = (e) => {\r\n\t\tif (!draggable || !state.swipable || type === \"fade\") return;\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\r\n\t\tif (e.touches) {\r\n\t\t\te = e.touches[0];\r\n\t\t}\r\n\r\n\t\tObject.assign(state, {\r\n\t\t\tdragStart: vertical ? e.clientY : e.clientX,\r\n\t\t\tdragging: true,\r\n\t\t\ttransition: \"none\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleMouseMove = (e) => {\r\n\t\tif (!state.dragging || !listRef.current) return;\r\n\t\te.preventDefault();\r\n\r\n\t\tif (e.touches) {\r\n\t\t\te = e.touches[0];\r\n\t\t}\r\n\r\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\r\n\t\tconst offset =\r\n\t\t\t((dragEnd - state.dragStart) * 61.8) /\r\n\t\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] +\r\n\t\t\toffsetPercent;\r\n\r\n\t\tlistRef.current.style.transform = `translate3d(${\r\n\t\t\tvertical ? `0, ${offset}%` : `${offset}%, 0`\r\n\t\t}, 0)`;\r\n\t};\r\n\r\n\tconst handleMouseUp = (e) => {\r\n\t\tif (!state.dragging || !listRef.current) return;\r\n\r\n\t\tif (e.changedTouches) {\r\n\t\t\te = e.changedTouches[0];\r\n\t\t}\r\n\r\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\r\n\t\tconst part =\r\n\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] / total;\r\n\t\tconst offset = (dragEnd - state.dragStart) * 0.618;\r\n\t\tconst absOffset = Math.abs(offset);\r\n\r\n\t\tif (absOffset > dragOffset) {\r\n\t\t\tconst base = Math.floor(absOffset / part);\r\n\t\t\tconst mod = (absOffset % part) - dragOffset > 0 ? 1 : 0;\r\n\t\t\tconst p = base + mod;\r\n\r\n\t\t\tlet to = state.current + (offset > 0 ? -p : p);\r\n\r\n\t\t\tswipeTo(to);\r\n\t\t}\r\n\r\n\t\tlistRef.current.style.transform = position || \"\";\r\n\r\n\t\tObject.assign(state, {\r\n\t\t\tdragging: false,\r\n\t\t\ttransition,\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleMouseOver = () => {\r\n\t\tif (!pauseOnHover) return;\r\n\t\tclearTimer();\r\n\t};\r\n\r\n\tconst handleMouseLeave = () => {\r\n\t\tif (!pauseOnHover) return;\r\n\t\tclearTimer();\r\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\t};\r\n\r\n\tuseMouseMove(handleMouseMove);\r\n\tuseMouseUp(handleMouseUp);\r\n\r\n\tuseImperativeHandle(ref, () => ({\r\n\t\tswipeTo,\r\n\t\tswipeNext,\r\n\t\tswipePrev,\r\n\t}));\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!autoplay) return;\r\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\r\n\t\treturn () => {\r\n\t\t\tclearTimeout(timerRef.current);\r\n\t\t\ttimerRef.current = null;\r\n\t\t};\r\n\t}, [autoplay, interval]);\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tstyle={style}\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-swiper\",\r\n\t\t\t\t{\r\n\t\t\t\t\t\"i-swiper-vertical\": vertical,\r\n\t\t\t\t\t\"i-swiper-initialized\": state.initialized,\r\n\t\t\t\t},\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName='i-swiper-track'\r\n\t\t\t\tstyle={trackStyle}\r\n\t\t\t\tonMouseOver={handleMouseOver}\r\n\t\t\t\tonMouseLeave={handleMouseLeave}\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tref={listRef}\r\n\t\t\t\t\tclassName={classNames(\"i-swiper-list\", {\r\n\t\t\t\t\t\t\"i-swiper-fade\": type === \"fade\",\r\n\t\t\t\t\t})}\r\n\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t[vertical ? \"height\" : \"width\"]: listSize,\r\n\t\t\t\t\t\ttransform: position,\r\n\t\t\t\t\t\ttransition: state.transition,\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonMouseDown={handleMouseDown}\r\n\t\t\t\t\tonTouchStart={handleMouseDown}\r\n\t\t\t\t>\r\n\t\t\t\t\t{displayItems.map((item, i) => {\r\n\t\t\t\t\t\tconst { props: itemProps } = item;\r\n\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<Item\r\n\t\t\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\t\t\tindex={i}\r\n\t\t\t\t\t\t\t\titemIndex={(i - extra + size) % size}\r\n\t\t\t\t\t\t\t\tactive={i - extra === state.current}\r\n\t\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\t\tgap={gap}\r\n\t\t\t\t\t\t\t\ttransition={transition}\r\n\t\t\t\t\t\t\t\titemHeight={itemHeight}\r\n\t\t\t\t\t\t\t\tvertical={vertical}\r\n\t\t\t\t\t\t\t\tonItemClick={onItemClick}\r\n\t\t\t\t\t\t\t\t{...itemProps}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t{arrow && size > 1 && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{(loop || state.current !== 0) && (\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-prev'\r\n\t\t\t\t\t\t\t\tonClick={swipePrev}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{prev}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{(loop || state.current < size - display) && (\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-next'\r\n\t\t\t\t\t\t\t\tonClick={swipeNext}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{next}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t\t{indicator && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={classNames(\"i-swiper-indicators\", {\r\n\t\t\t\t\t\t\"i-swiper-indicators-fixed\": fixedIndicator,\r\n\t\t\t\t\t})}\r\n\t\t\t\t>\r\n\t\t\t\t\t{indicatorsLoop.map((_, i) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-swiper-indicator\", {\r\n\t\t\t\t\t\t\t\t\t\"i-indicator-active\":\r\n\t\t\t\t\t\t\t\t\t\ti ===\r\n\t\t\t\t\t\t\t\t\t\tMath[loop ? \"floor\" : \"ceil\"](\r\n\t\t\t\t\t\t\t\t\t\t\t((state.current + size) % size) /\r\n\t\t\t\t\t\t\t\t\t\t\t\tscroll\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\tonClick={() => swipeTo(i * scroll)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{renderIndicator?.(i)}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}) as CompositionSwiper;\r\n\r\nSwiper.Item = Item;\r\n\r\nexport default Swiper;\r\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"swiper.js","sources":["../../../../packages/components/swiper/swiper.tsx"],"sourcesContent":["import {\n\tKeyboardArrowLeftRound,\n\tKeyboardArrowRightRound,\n} from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport {\n\tChildren,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useMouseMove, useMouseUp, useReactive } from \"../../js/hooks\";\nimport { clamp } from \"../../js/utils\";\nimport Icon from \"../icon\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { CompositionSwiper, ISwiper } from \"./type\";\n\nconst Swiper = ((props: ISwiper) => {\n\tconst {\n\t\tref,\n\t\ttype = \"normal\",\n\t\tinitial = 0,\n\t\tdisplay = 1,\n\t\tscroll = 1,\n\t\tloop = true,\n\t\tvertical,\n\t\tprev = <Icon icon={<KeyboardArrowLeftRound />} size='2em' />,\n\t\tnext = <Icon icon={<KeyboardArrowRightRound />} size='2em' />,\n\t\tduration = 600,\n\t\tinterval = 3000,\n\t\tautoplay,\n\t\tpauseOnHover,\n\t\tarrow = true,\n\t\treverse,\n\t\tdraggable,\n\t\tdragOffset = 40,\n\t\tgap = 0,\n\t\titemHeight,\n\t\tindicator,\n\t\tfixedIndicator,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t\trenderIndicator,\n\t\tonBeforeSwipe,\n\t\tonAfterSwipe,\n\t\tonItemClick,\n\t} = props;\n\n\tconst listRef = useRef<HTMLDivElement>(null);\n\tconst timerRef = useRef<any>(null);\n\tconst transition = `all ${duration / 1000}s`;\n\tconst state = useReactive({\n\t\tcurrent: initial,\n\t\tswipable: true,\n\t\ttransition: type === \"fade\" ? \"none\" : transition,\n\t\tdragStart: 0,\n\t\tdragging: false,\n\t\tinitialized: false,\n\t});\n\n\tconst items = useMemo(() => {\n\t\treturn Children.map(children, (node: any) => {\n\t\t\tif (node.type !== Item) return;\n\n\t\t\treturn node;\n\t\t});\n\t}, [children]);\n\n\tconst [displayItems, extra, size, total, listSize] = useMemo(() => {\n\t\tconst extra =\n\t\t\ttype === \"normal\" && loop && items.length > display\n\t\t\t\t? display + 1\n\t\t\t\t: 0;\n\t\tlet list: any = [];\n\n\t\tif (extra <= 0) {\n\t\t\tlist = [...items];\n\t\t} else {\n\t\t\tconst head = items.slice(0, extra);\n\t\t\tconst tail = items.slice(-extra);\n\t\t\tlist = [...tail, ...items, ...head];\n\t\t}\n\n\t\tconst listSize = `${(list.length / display) * 100}%`;\n\n\t\treturn [list, extra, items.length, list.length, listSize];\n\t}, [display, loop, type, items]);\n\n\tconst offsetPercent = useMemo(\n\t\t() => (-100 * (state.current + extra)) / total,\n\t\t[state.current, total]\n\t);\n\n\tconst position = useMemo(() => {\n\t\tif (size <= display || type === \"fade\") return;\n\n\t\tconst offset = vertical\n\t\t\t? `0, ${offsetPercent}%`\n\t\t\t: `${offsetPercent}%, 0`;\n\t\treturn `translate3d(${offset}, 0)`;\n\t}, [offsetPercent, vertical, display, size, type]);\n\n\tconst trackStyle = useMemo(() => {\n\t\tif (!vertical || !itemHeight) return;\n\n\t\treturn {\n\t\t\theight: itemHeight * display,\n\t\t};\n\t}, [vertical, itemHeight, display]);\n\n\tconst indicatorsLoop = useMemo(() => {\n\t\treturn Array.from({\n\t\t\tlength: Math.ceil((size - display) / scroll) + 1,\n\t\t});\n\t}, [loop, indicator]);\n\n\tconst clearTimer = () => {\n\t\tclearTimeout(timerRef.current);\n\t\ttimerRef.current = null;\n\t};\n\n\tconst swipeTo = (i: number) => {\n\t\tif (!state.swipable || i === state.current) return;\n\t\tstate.swipable = false;\n\t\tonBeforeSwipe?.(state.current);\n\n\t\tlet reset = false;\n\t\tlet next = i;\n\t\tconst lastDisplay = size - display;\n\n\t\tif (loop) {\n\t\t\tif (i > lastDisplay) {\n\t\t\t\treset = true;\n\t\t\t\ti = size;\n\t\t\t\tnext = 0;\n\t\t\t} else if (i < 0) {\n\t\t\t\treset = true;\n\t\t\t\ti = -display;\n\t\t\t\tnext = lastDisplay;\n\t\t\t}\n\t\t} else {\n\t\t\tnext = clamp(next, 0, lastDisplay);\n\t\t\ti = next;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tstate.swipable = true;\n\t\t}, duration + 32);\n\n\t\tif (type === \"fade\") {\n\t\t\tstate.current = next;\n\t\t\tonAfterSwipe?.(next);\n\t\t\treturn;\n\t\t}\n\n\t\tstate.current = i;\n\n\t\tif (!reset) {\n\t\t\tif (autoplay) {\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tonAfterSwipe?.(next);\n\t\t\t}, duration + 12);\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tstate.transition = \"none\";\n\t\t\tstate.current = next;\n\t\t\tonAfterSwipe?.(next);\n\t\t\tif (autoplay) {\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.transition = transition;\n\t\t\t}, 60);\n\t\t}, duration + 20);\n\t};\n\tconst swipeNext = () => {\n\t\tswipeTo(reverse ? state.current - scroll : state.current + scroll);\n\t};\n\n\tconst swipePrev = () => {\n\t\tswipeTo(reverse ? state.current + scroll : state.current - scroll);\n\t};\n\n\tconst handleMouseDown = (e) => {\n\t\tif (!draggable || !state.swipable || type === \"fade\") return;\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif (e.touches) {\n\t\t\te = e.touches[0];\n\t\t}\n\n\t\tObject.assign(state, {\n\t\t\tdragStart: vertical ? e.clientY : e.clientX,\n\t\t\tdragging: true,\n\t\t\ttransition: \"none\",\n\t\t});\n\t};\n\n\tconst handleMouseMove = (e) => {\n\t\tif (!state.dragging || !listRef.current) return;\n\t\te.preventDefault();\n\n\t\tif (e.touches) {\n\t\t\te = e.touches[0];\n\t\t}\n\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\n\t\tconst offset =\n\t\t\t((dragEnd - state.dragStart) * 61.8) /\n\t\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] +\n\t\t\toffsetPercent;\n\n\t\tlistRef.current.style.transform = `translate3d(${\n\t\t\tvertical ? `0, ${offset}%` : `${offset}%, 0`\n\t\t}, 0)`;\n\t};\n\n\tconst handleMouseUp = (e) => {\n\t\tif (!state.dragging || !listRef.current) return;\n\n\t\tif (e.changedTouches) {\n\t\t\te = e.changedTouches[0];\n\t\t}\n\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\n\t\tconst part =\n\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] / total;\n\t\tconst offset = (dragEnd - state.dragStart) * 0.618;\n\t\tconst absOffset = Math.abs(offset);\n\n\t\tif (absOffset > dragOffset) {\n\t\t\tconst base = Math.floor(absOffset / part);\n\t\t\tconst mod = (absOffset % part) - dragOffset > 0 ? 1 : 0;\n\t\t\tconst p = base + mod;\n\n\t\t\tlet to = state.current + (offset > 0 ? -p : p);\n\n\t\t\tswipeTo(to);\n\t\t}\n\n\t\tlistRef.current.style.transform = position || \"\";\n\n\t\tObject.assign(state, {\n\t\t\tdragging: false,\n\t\t\ttransition,\n\t\t});\n\t};\n\n\tconst handleMouseOver = () => {\n\t\tif (!pauseOnHover) return;\n\t\tclearTimer();\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tif (!pauseOnHover) return;\n\t\tclearTimer();\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\t};\n\n\tuseMouseMove(handleMouseMove);\n\tuseMouseUp(handleMouseUp);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tswipeTo,\n\t\tswipeNext,\n\t\tswipePrev,\n\t}));\n\n\tuseEffect(() => {\n\t\tif (!autoplay) return;\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\n\t\treturn () => {\n\t\t\tclearTimeout(timerRef.current);\n\t\t\ttimerRef.current = null;\n\t\t};\n\t}, [autoplay, interval]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={style}\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-swiper\",\n\t\t\t\t{\n\t\t\t\t\t\"i-swiper-vertical\": vertical,\n\t\t\t\t\t\"i-swiper-initialized\": state.initialized,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName='i-swiper-track'\n\t\t\t\tstyle={trackStyle}\n\t\t\t\tonMouseOver={handleMouseOver}\n\t\t\t\tonMouseLeave={handleMouseLeave}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={listRef}\n\t\t\t\t\tclassName={classNames(\"i-swiper-list\", {\n\t\t\t\t\t\t\"i-swiper-fade\": type === \"fade\",\n\t\t\t\t\t})}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t[vertical ? \"height\" : \"width\"]: listSize,\n\t\t\t\t\t\ttransform: position,\n\t\t\t\t\t\ttransition: state.transition,\n\t\t\t\t\t}}\n\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\tonTouchStart={handleMouseDown}\n\t\t\t\t>\n\t\t\t\t\t{displayItems.map((item, i) => {\n\t\t\t\t\t\tconst { props: itemProps } = item;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\t\t\titemIndex={(i - extra + size) % size}\n\t\t\t\t\t\t\t\tactive={i - extra === state.current}\n\t\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\t\tgap={gap}\n\t\t\t\t\t\t\t\ttransition={transition}\n\t\t\t\t\t\t\t\titemHeight={itemHeight}\n\t\t\t\t\t\t\t\tvertical={vertical}\n\t\t\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\t\t\t{...itemProps}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\n\t\t\t\t{arrow && size > 1 && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{(loop || state.current !== 0) && (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-prev'\n\t\t\t\t\t\t\t\tonClick={swipePrev}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{prev}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(loop || state.current < size - display) && (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-next'\n\t\t\t\t\t\t\t\tonClick={swipeNext}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{next}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{indicator && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-swiper-indicators\", {\n\t\t\t\t\t\t\"i-swiper-indicators-fixed\": fixedIndicator,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{indicatorsLoop.map((_, i) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-swiper-indicator\", {\n\t\t\t\t\t\t\t\t\t\"i-indicator-active\":\n\t\t\t\t\t\t\t\t\t\ti ===\n\t\t\t\t\t\t\t\t\t\tMath[loop ? \"floor\" : \"ceil\"](\n\t\t\t\t\t\t\t\t\t\t\t((state.current + size) % size) /\n\t\t\t\t\t\t\t\t\t\t\t\tscroll\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonClick={() => swipeTo(i * scroll)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderIndicator?.(i)}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}) as CompositionSwiper;\n\nSwiper.Item = Item;\n\nexport default Swiper;\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../packages/components/tabs/item.tsx"],"sourcesContent":["import { ITabItem } from \"./type\";\r\n\r\nconst Item = (props: ITabItem) => {\r\n\treturn <></>;\r\n};\r\n\r\nexport default Item;\r\n"],"names":["_jsx"],"mappings":";;AAEA,MAAM,IAAI,GAAG,CAAC,KAAe,KAAI;AAChC,IAAA,OAAOA,iBAAK;AACb;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../packages/components/tabs/item.tsx"],"sourcesContent":["import { ITabItem } from \"./type\";\n\nconst Item = (props: ITabItem) => {\n\treturn <></>;\n};\n\nexport default Item;\n"],"names":["_jsx"],"mappings":";;AAEA,MAAM,IAAI,GAAG,CAAC,KAAe,KAAI;AAChC,IAAA,OAAOA,iBAAK;AACb;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sources":["../../../../packages/components/tabs/tabs.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport {\r\n CSSProperties,\r\n KeyboardEvent,\r\n ReactNode,\r\n useEffect,\r\n useImperativeHandle,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { useIntersectionObserver, useSize } from \"../../js/hooks\";\r\nimport TabsContents from \"./contents\";\r\nimport {\r\n defaultRenderMore,\r\n emptyBarStyle,\r\n getParsedTabs,\r\n isSameTabs,\r\n} from \"./helper\";\r\nimport \"./index.css\";\r\nimport TabItem from \"./item\";\r\nimport TabsNavs from \"./navs\";\r\nimport { CompositionTabs, ITabItem, ITabs } from \"./type\";\r\nconst Tabs = ((props: ITabs) => {\r\n const {\r\n ref,\r\n active,\r\n tabs: items,\r\n type = \"default\",\r\n prepend,\r\n append,\r\n children,\r\n className,\r\n vertical,\r\n toggable,\r\n navsJustify = \"start\",\r\n navsClass,\r\n bar = true,\r\n hideMore,\r\n barClass,\r\n renderMore = defaultRenderMore,\r\n onTabChange,\r\n ...rest\r\n } = props;\r\n\r\n const navRefs = useRef<(HTMLAnchorElement | null)[]>([]);\r\n const navsRef = useRef<HTMLDivElement>(null);\r\n const contentsRef = useRef<Map<string, ReactNode>>(new Map());\r\n const [activeKey, setActiveKey] = useState<string | undefined>(active);\r\n const [prevActiveKey, setPrevActiveKey] = useState<string | undefined>(\r\n undefined,\r\n );\r\n const [barStyle, setBarStyle] = useState<CSSProperties>({});\r\n const [cachedTabs, setCachedTabs] = useState<string[]>([]);\r\n const [overflow, setOverflow] = useState(false);\r\n const [tabs, setTabs] = useState<ITabItem[]>([]);\r\n const { observe, unobserve } = useIntersectionObserver();\r\n const size = useSize(navsRef);\r\n\r\n const tabsRef = useRef<ITabItem[]>(tabs);\r\n tabsRef.current = tabs;\r\n const activeKeyRef = useRef<string | undefined>(activeKey);\r\n activeKeyRef.current = activeKey;\r\n const prevActiveKeyRef = useRef<string | undefined>(prevActiveKey);\r\n prevActiveKeyRef.current = prevActiveKey;\r\n const sourceKeysRef = useRef<Set<string>>(new Set());\r\n const hiddenSourceKeysRef = useRef<Set<string>>(new Set());\r\n const parsedTabs = useMemo(\r\n () => getParsedTabs(items, children),\r\n [children, items],\r\n );\r\n\r\n useEffect(() => {\r\n const prevContents = new Map(contentsRef.current);\r\n const nextContents = new Map(parsedTabs.contents);\r\n const sourceTabs = parsedTabs.tabs;\r\n const sourceKeys = parsedTabs.keys;\r\n\r\n hiddenSourceKeysRef.current.forEach((key) => {\r\n if (!sourceKeys.has(key)) {\r\n hiddenSourceKeysRef.current.delete(key);\r\n }\r\n });\r\n\r\n const dynamicTabs = tabsRef.current.filter((tab) => {\r\n const key = String(tab.key);\r\n return !sourceKeysRef.current.has(key) && !sourceKeys.has(key);\r\n });\r\n\r\n dynamicTabs.forEach((tab) => {\r\n const key = String(tab.key);\r\n nextContents.set(key, prevContents.get(key));\r\n });\r\n\r\n sourceKeysRef.current = sourceKeys;\r\n contentsRef.current = nextContents;\r\n const nextTabs = [\r\n ...sourceTabs.filter(\r\n (tab) => !hiddenSourceKeysRef.current.has(String(tab.key)),\r\n ),\r\n ...dynamicTabs,\r\n ];\r\n\r\n setTabs((currentTabs) =>\r\n isSameTabs(currentTabs, nextTabs) ? currentTabs : nextTabs,\r\n );\r\n }, [parsedTabs]);\r\n\r\n const add = (tab: ITabItem, position?: number) => {\r\n const currentTabs = tabsRef.current;\r\n const tkey = String(tab.key ?? currentTabs.length);\r\n const i = currentTabs.findIndex((t) => t.key === tkey);\r\n\r\n if (i > -1) {\r\n open(currentTabs[i].key ?? `${i}`);\r\n return;\r\n }\r\n\r\n contentsRef.current.set(tkey, tab.content);\r\n const { content, ...rest } = tab;\r\n setTabs((ts) => {\r\n const nextTabs = [...ts];\r\n const index =\r\n position === undefined\r\n ? nextTabs.length\r\n : Math.max(0, Math.min(position, nextTabs.length));\r\n nextTabs.splice(index, 0, { ...rest, key: tkey });\r\n return nextTabs;\r\n });\r\n open(tkey);\r\n };\r\n\r\n const close = (key: string) => {\r\n const currentTabs = tabsRef.current;\r\n const i = currentTabs.findIndex((t) => t.key === key);\r\n\r\n if (i < 0) return;\r\n\r\n if (sourceKeysRef.current.has(key)) {\r\n hiddenSourceKeysRef.current.add(key);\r\n } else {\r\n contentsRef.current.delete(key);\r\n }\r\n const nextTabs = [...currentTabs];\r\n nextTabs.splice(i, 1);\r\n setTabs(nextTabs);\r\n\r\n if (activeKeyRef.current !== key) return;\r\n\r\n const next = nextTabs[i] || nextTabs[i - 1];\r\n const prev = prevActiveKeyRef.current;\r\n const nextKey =\r\n prev && nextTabs.some((t) => t.key === prev) ? prev : next?.key;\r\n open(nextKey ?? \"\");\r\n };\r\n\r\n const open = (key: string) => {\r\n const nextKey = key || undefined;\r\n\r\n if (nextKey === undefined) {\r\n onTabChange?.(undefined, activeKey);\r\n setPrevActiveKey(activeKey);\r\n setActiveKey(undefined);\r\n setBarStyle(emptyBarStyle);\r\n return;\r\n }\r\n\r\n if (nextKey === activeKey) {\r\n if (!toggable) return;\r\n\r\n onTabChange?.(undefined, key);\r\n setActiveKey(undefined);\r\n setBarStyle(emptyBarStyle);\r\n return;\r\n }\r\n\r\n setPrevActiveKey(activeKey);\r\n onTabChange?.(nextKey, activeKey);\r\n setActiveKey(nextKey);\r\n };\r\n\r\n const handleKeyAction = (\r\n e: KeyboardEvent<HTMLElement>,\r\n action: () => void,\r\n ) => {\r\n if (![\"Enter\", \" \"].includes(e.key)) return;\r\n e.preventDefault();\r\n action();\r\n };\r\n\r\n const scrollToTab = (key: string) => {\r\n const index = tabsRef.current.findIndex((tab) => tab.key === key);\r\n const nav = navRefs.current[index];\r\n\r\n nav?.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"nearest\",\r\n inline: \"nearest\",\r\n });\r\n };\r\n\r\n const handleMoreTabClick = (key: string) => {\r\n open(key);\r\n scrollToTab(key);\r\n };\r\n\r\n const setNavRef = (index: number, node: HTMLAnchorElement | null) => {\r\n navRefs.current[index] = node;\r\n };\r\n\r\n const getContent = (key: string) => contentsRef.current.get(key);\r\n\r\n useEffect(() => {\r\n if (!size || hideMore || !observe || !unobserve) return;\r\n const { scrollHeight, scrollWidth } = navsRef.current as HTMLElement;\r\n const { width, height } = size;\r\n\r\n const nextOverflow = scrollHeight > height || scrollWidth > width;\r\n setOverflow((v) => (v === nextOverflow ? v : nextOverflow));\r\n\r\n if (!nextOverflow) {\r\n setTabs((ts) => {\r\n let changed = false;\r\n const next = ts.map((t) => {\r\n if (\r\n t.intersecting === undefined ||\r\n t.intersecting === true\r\n ) {\r\n return t;\r\n }\r\n changed = true;\r\n return { ...t, intersecting: true };\r\n });\r\n return changed ? next : ts;\r\n });\r\n return;\r\n }\r\n\r\n const observed: HTMLElement[] = [];\r\n\r\n navRefs.current.forEach((nav, i) => {\r\n if (!nav) return;\r\n observed.push(nav);\r\n observe(nav, (_tar: HTMLElement, visible: boolean) => {\r\n setTabs((ts) => {\r\n if (!ts[i]) return ts;\r\n if (ts[i]?.intersecting === visible) return ts;\r\n return ts.map((t, idx) =>\r\n idx === i ? { ...t, intersecting: visible } : t,\r\n );\r\n });\r\n });\r\n });\r\n\r\n return () => {\r\n observed.forEach((el) => unobserve(el));\r\n };\r\n }, [size, hideMore, tabs.length, observe, unobserve]);\r\n\r\n useEffect(() => {\r\n if (!bar || type === \"pane\" || activeKey === undefined) {\r\n return;\r\n }\r\n\r\n const index = tabs.findIndex((tab) => tab.key === activeKey);\r\n\r\n const timer = window.setTimeout(() => {\r\n const nav = navRefs.current[index];\r\n\r\n if (!nav) return;\r\n\r\n if (tabs[index]?.keepDOM && activeKey) {\r\n setCachedTabs((keys) => {\r\n if (keys.includes(activeKey)) return keys;\r\n return [activeKey, ...keys];\r\n });\r\n }\r\n\r\n const { offsetHeight, offsetLeft, offsetTop, offsetWidth } = nav;\r\n const isLine = type === \"line\";\r\n\r\n setBarStyle({\r\n height: !vertical && isLine ? \".25em\" : offsetHeight * 0.5,\r\n width: vertical && isLine ? \".25em\" : offsetWidth,\r\n transform: `translate(${offsetLeft}px, ${offsetTop}px)`,\r\n });\r\n }, 16);\r\n\r\n return () => {\r\n window.clearTimeout(timer);\r\n };\r\n }, [activeKey, bar, size, tabs, type, vertical]);\r\n\r\n useEffect(() => {\r\n if (active === undefined || activeKey === active) return;\r\n\r\n setPrevActiveKey(activeKey);\r\n setActiveKey(active);\r\n }, [active]);\r\n\r\n useEffect(() => {\r\n if (!navsRef.current || vertical) return;\r\n\r\n const handleMouseWheel = (e) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if (vertical) return;\r\n\r\n navsRef.current?.scrollBy({\r\n left: e.deltaY + e.deltaX,\r\n });\r\n };\r\n\r\n navsRef.current.addEventListener(\"wheel\", handleMouseWheel, {\r\n passive: false,\r\n });\r\n\r\n return () => {\r\n if (!navsRef.current) return;\r\n navsRef.current.removeEventListener(\"wheel\", handleMouseWheel);\r\n };\r\n }, [vertical]);\r\n\r\n useImperativeHandle(ref, () => ({\r\n open,\r\n close,\r\n add,\r\n navs: navsRef,\r\n }));\r\n\r\n const cachedTabKeySet = useMemo(() => new Set(cachedTabs), [cachedTabs]);\r\n const moreTabs = useMemo(\r\n () =>\r\n !hideMore && overflow\r\n ? tabs.filter((tab) => tab.intersecting === false)\r\n : [],\r\n [hideMore, overflow, tabs],\r\n );\r\n\r\n return (\r\n <div\r\n className={classNames(\r\n \"i-tabs\",\r\n { flex: vertical, [`i-tabs-${type}`]: type !== \"default\" },\r\n className,\r\n )}\r\n {...rest}\r\n >\r\n <div\r\n className={classNames(\"i-tab-navs-container\", navsClass, {\r\n \"i-tab-navs-vertical\": vertical,\r\n })}\r\n >\r\n {prepend}\r\n\r\n <TabsNavs\r\n tabs={tabs}\r\n moreTabs={moreTabs}\r\n activeKey={activeKey}\r\n vertical={vertical}\r\n overflow={overflow}\r\n hideMore={hideMore}\r\n navsJustify={navsJustify}\r\n bar={bar}\r\n barClass={barClass}\r\n barStyle={barStyle}\r\n navsRef={navsRef}\r\n renderMore={renderMore}\r\n setNavRef={setNavRef}\r\n onOpen={open}\r\n onClose={close}\r\n onMoreTabClick={handleMoreTabClick}\r\n onKeyAction={handleKeyAction}\r\n />\r\n\r\n {append}\r\n </div>\r\n\r\n <TabsContents\r\n tabs={tabs}\r\n activeKey={activeKey}\r\n cachedTabKeySet={cachedTabKeySet}\r\n getContent={getContent}\r\n />\r\n </div>\r\n );\r\n}) as CompositionTabs;\r\n\r\nTabs.Item = TabItem;\r\n\r\nexport default Tabs;\r\n"],"names":["_jsxs","_jsx","TabItem"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sources":["../../../../packages/components/tabs/tabs.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport {\n CSSProperties,\n KeyboardEvent,\n ReactNode,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useIntersectionObserver, useSize } from \"../../js/hooks\";\nimport TabsContents from \"./contents\";\nimport {\n defaultRenderMore,\n emptyBarStyle,\n getParsedTabs,\n isSameTabs,\n} from \"./helper\";\nimport \"./index.css\";\nimport TabItem from \"./item\";\nimport TabsNavs from \"./navs\";\nimport { CompositionTabs, ITabItem, ITabs } from \"./type\";\nconst Tabs = ((props: ITabs) => {\n const {\n ref,\n active,\n tabs: items,\n type = \"default\",\n prepend,\n append,\n children,\n className,\n vertical,\n toggable,\n navsJustify = \"start\",\n navsClass,\n bar = true,\n hideMore,\n barClass,\n renderMore = defaultRenderMore,\n onTabChange,\n ...rest\n } = props;\n\n const navRefs = useRef<(HTMLAnchorElement | null)[]>([]);\n const navsRef = useRef<HTMLDivElement>(null);\n const contentsRef = useRef<Map<string, ReactNode>>(new Map());\n const [activeKey, setActiveKey] = useState<string | undefined>(active);\n const [prevActiveKey, setPrevActiveKey] = useState<string | undefined>(\n undefined,\n );\n const [barStyle, setBarStyle] = useState<CSSProperties>({});\n const [cachedTabs, setCachedTabs] = useState<string[]>([]);\n const [overflow, setOverflow] = useState(false);\n const [tabs, setTabs] = useState<ITabItem[]>([]);\n const { observe, unobserve } = useIntersectionObserver();\n const size = useSize(navsRef);\n\n const tabsRef = useRef<ITabItem[]>(tabs);\n tabsRef.current = tabs;\n const activeKeyRef = useRef<string | undefined>(activeKey);\n activeKeyRef.current = activeKey;\n const prevActiveKeyRef = useRef<string | undefined>(prevActiveKey);\n prevActiveKeyRef.current = prevActiveKey;\n const sourceKeysRef = useRef<Set<string>>(new Set());\n const hiddenSourceKeysRef = useRef<Set<string>>(new Set());\n const parsedTabs = useMemo(\n () => getParsedTabs(items, children),\n [children, items],\n );\n\n useEffect(() => {\n const prevContents = new Map(contentsRef.current);\n const nextContents = new Map(parsedTabs.contents);\n const sourceTabs = parsedTabs.tabs;\n const sourceKeys = parsedTabs.keys;\n\n hiddenSourceKeysRef.current.forEach((key) => {\n if (!sourceKeys.has(key)) {\n hiddenSourceKeysRef.current.delete(key);\n }\n });\n\n const dynamicTabs = tabsRef.current.filter((tab) => {\n const key = String(tab.key);\n return !sourceKeysRef.current.has(key) && !sourceKeys.has(key);\n });\n\n dynamicTabs.forEach((tab) => {\n const key = String(tab.key);\n nextContents.set(key, prevContents.get(key));\n });\n\n sourceKeysRef.current = sourceKeys;\n contentsRef.current = nextContents;\n const nextTabs = [\n ...sourceTabs.filter(\n (tab) => !hiddenSourceKeysRef.current.has(String(tab.key)),\n ),\n ...dynamicTabs,\n ];\n\n setTabs((currentTabs) =>\n isSameTabs(currentTabs, nextTabs) ? currentTabs : nextTabs,\n );\n }, [parsedTabs]);\n\n const add = (tab: ITabItem, position?: number) => {\n const currentTabs = tabsRef.current;\n const tkey = String(tab.key ?? currentTabs.length);\n const i = currentTabs.findIndex((t) => t.key === tkey);\n\n if (i > -1) {\n open(currentTabs[i].key ?? `${i}`);\n return;\n }\n\n contentsRef.current.set(tkey, tab.content);\n const { content, ...rest } = tab;\n setTabs((ts) => {\n const nextTabs = [...ts];\n const index =\n position === undefined\n ? nextTabs.length\n : Math.max(0, Math.min(position, nextTabs.length));\n nextTabs.splice(index, 0, { ...rest, key: tkey });\n return nextTabs;\n });\n open(tkey);\n };\n\n const close = (key: string) => {\n const currentTabs = tabsRef.current;\n const i = currentTabs.findIndex((t) => t.key === key);\n\n if (i < 0) return;\n\n if (sourceKeysRef.current.has(key)) {\n hiddenSourceKeysRef.current.add(key);\n } else {\n contentsRef.current.delete(key);\n }\n const nextTabs = [...currentTabs];\n nextTabs.splice(i, 1);\n setTabs(nextTabs);\n\n if (activeKeyRef.current !== key) return;\n\n const next = nextTabs[i] || nextTabs[i - 1];\n const prev = prevActiveKeyRef.current;\n const nextKey =\n prev && nextTabs.some((t) => t.key === prev) ? prev : next?.key;\n open(nextKey ?? \"\");\n };\n\n const open = (key: string) => {\n const nextKey = key || undefined;\n\n if (nextKey === undefined) {\n onTabChange?.(undefined, activeKey);\n setPrevActiveKey(activeKey);\n setActiveKey(undefined);\n setBarStyle(emptyBarStyle);\n return;\n }\n\n if (nextKey === activeKey) {\n if (!toggable) return;\n\n onTabChange?.(undefined, key);\n setActiveKey(undefined);\n setBarStyle(emptyBarStyle);\n return;\n }\n\n setPrevActiveKey(activeKey);\n onTabChange?.(nextKey, activeKey);\n setActiveKey(nextKey);\n };\n\n const handleKeyAction = (\n e: KeyboardEvent<HTMLElement>,\n action: () => void,\n ) => {\n if (![\"Enter\", \" \"].includes(e.key)) return;\n e.preventDefault();\n action();\n };\n\n const scrollToTab = (key: string) => {\n const index = tabsRef.current.findIndex((tab) => tab.key === key);\n const nav = navRefs.current[index];\n\n nav?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n };\n\n const handleMoreTabClick = (key: string) => {\n open(key);\n scrollToTab(key);\n };\n\n const setNavRef = (index: number, node: HTMLAnchorElement | null) => {\n navRefs.current[index] = node;\n };\n\n const getContent = (key: string) => contentsRef.current.get(key);\n\n useEffect(() => {\n if (!size || hideMore || !observe || !unobserve) return;\n const { scrollHeight, scrollWidth } = navsRef.current as HTMLElement;\n const { width, height } = size;\n\n const nextOverflow = scrollHeight > height || scrollWidth > width;\n setOverflow((v) => (v === nextOverflow ? v : nextOverflow));\n\n if (!nextOverflow) {\n setTabs((ts) => {\n let changed = false;\n const next = ts.map((t) => {\n if (\n t.intersecting === undefined ||\n t.intersecting === true\n ) {\n return t;\n }\n changed = true;\n return { ...t, intersecting: true };\n });\n return changed ? next : ts;\n });\n return;\n }\n\n const observed: HTMLElement[] = [];\n\n navRefs.current.forEach((nav, i) => {\n if (!nav) return;\n observed.push(nav);\n observe(nav, (_tar: HTMLElement, visible: boolean) => {\n setTabs((ts) => {\n if (!ts[i]) return ts;\n if (ts[i]?.intersecting === visible) return ts;\n return ts.map((t, idx) =>\n idx === i ? { ...t, intersecting: visible } : t,\n );\n });\n });\n });\n\n return () => {\n observed.forEach((el) => unobserve(el));\n };\n }, [size, hideMore, tabs.length, observe, unobserve]);\n\n useEffect(() => {\n if (!bar || type === \"pane\" || activeKey === undefined) {\n return;\n }\n\n const index = tabs.findIndex((tab) => tab.key === activeKey);\n\n const timer = window.setTimeout(() => {\n const nav = navRefs.current[index];\n\n if (!nav) return;\n\n if (tabs[index]?.keepDOM && activeKey) {\n setCachedTabs((keys) => {\n if (keys.includes(activeKey)) return keys;\n return [activeKey, ...keys];\n });\n }\n\n const { offsetHeight, offsetLeft, offsetTop, offsetWidth } = nav;\n const isLine = type === \"line\";\n\n setBarStyle({\n height: !vertical && isLine ? \".25em\" : offsetHeight * 0.5,\n width: vertical && isLine ? \".25em\" : offsetWidth,\n transform: `translate(${offsetLeft}px, ${offsetTop}px)`,\n });\n }, 16);\n\n return () => {\n window.clearTimeout(timer);\n };\n }, [activeKey, bar, size, tabs, type, vertical]);\n\n useEffect(() => {\n if (active === undefined || activeKey === active) return;\n\n setPrevActiveKey(activeKey);\n setActiveKey(active);\n }, [active]);\n\n useEffect(() => {\n if (!navsRef.current || vertical) return;\n\n const handleMouseWheel = (e) => {\n e.stopPropagation();\n e.preventDefault();\n\n if (vertical) return;\n\n navsRef.current?.scrollBy({\n left: e.deltaY + e.deltaX,\n });\n };\n\n navsRef.current.addEventListener(\"wheel\", handleMouseWheel, {\n passive: false,\n });\n\n return () => {\n if (!navsRef.current) return;\n navsRef.current.removeEventListener(\"wheel\", handleMouseWheel);\n };\n }, [vertical]);\n\n useImperativeHandle(ref, () => ({\n open,\n close,\n add,\n navs: navsRef,\n }));\n\n const cachedTabKeySet = useMemo(() => new Set(cachedTabs), [cachedTabs]);\n const moreTabs = useMemo(\n () =>\n !hideMore && overflow\n ? tabs.filter((tab) => tab.intersecting === false)\n : [],\n [hideMore, overflow, tabs],\n );\n\n return (\n <div\n className={classNames(\n \"i-tabs\",\n { flex: vertical, [`i-tabs-${type}`]: type !== \"default\" },\n className,\n )}\n {...rest}\n >\n <div\n className={classNames(\"i-tab-navs-container\", navsClass, {\n \"i-tab-navs-vertical\": vertical,\n })}\n >\n {prepend}\n\n <TabsNavs\n tabs={tabs}\n moreTabs={moreTabs}\n activeKey={activeKey}\n vertical={vertical}\n overflow={overflow}\n hideMore={hideMore}\n navsJustify={navsJustify}\n bar={bar}\n barClass={barClass}\n barStyle={barStyle}\n navsRef={navsRef}\n renderMore={renderMore}\n setNavRef={setNavRef}\n onOpen={open}\n onClose={close}\n onMoreTabClick={handleMoreTabClick}\n onKeyAction={handleKeyAction}\n />\n\n {append}\n </div>\n\n <TabsContents\n tabs={tabs}\n activeKey={activeKey}\n cachedTabKeySet={cachedTabKeySet}\n getContent={getContent}\n />\n </div>\n );\n}) as CompositionTabs;\n\nTabs.Item = TabItem;\n\nexport default Tabs;\n"],"names":["_jsxs","_jsx","TabItem"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sources":["../../../../packages/components/tag/tag.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport \"./index.css\";\r\nimport { ITag } from \"./type\";\r\n\r\nconst Tag = (props: ITag) => {\r\n\tconst {\r\n\t\tdot,\r\n\t\tdotClass,\r\n\t\toutline,\r\n\t\tround,\r\n\t\tsize = \"normal\",\r\n\t\thoverShowClose,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\tonClose,\r\n\t\tonClick,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-tag\",\r\n\t\t\t\t{\r\n\t\t\t\t\t\"i-tag-outline\": outline,\r\n\t\t\t\t\t\"i-tag-clickable\": onClick,\r\n\t\t\t\t\t[`i-tag-${size}`]: size !== \"normal\",\r\n\t\t\t\t\tround,\r\n\t\t\t\t},\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t\tonClick={onClick}\r\n\t\t\t{...restProps}\r\n\t\t>\r\n\t\t\t{dot && <span className={classNames(\"i-tag-dot\", dotClass)}></span>}\r\n\r\n\t\t\t{children}\r\n\r\n\t\t\t{onClose && (\r\n\t\t\t\t<Helpericon\r\n\t\t\t\t\tactive\r\n\t\t\t\t\tclassName={classNames(\"i-tag-close\", {\r\n\t\t\t\t\t\t\"i-tag-hover-close\": hoverShowClose,\r\n\t\t\t\t\t})}\r\n\t\t\t\t\tonClick={onClose}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t</span>\r\n\t);\r\n};\r\n\r\nexport default Tag;\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAKA,MAAM,GAAG,GAAG,CAAC,KAAW,KAAI;AAC3B,IAAA,MAAM,EACL,GAAG,EACH,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,QACCA,IAAA,CAAA,MAAA,EAAA,EACC,SAAS,EAAE,UAAU,CACpB,OAAO,EACP;AACC,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,iBAAiB,EAAE,OAAO;AAC1B,YAAA,CAAC,SAAS,IAAI,CAAA,CAAE,GAAG,IAAI,KAAK,QAAQ;YACpC,KAAK;AACL,SAAA,EACD,SAAS,CACT,EACD,OAAO,EAAE,OAAO,EAAA,GACZ,SAAS,EAAA,QAAA,EAAA,CAEZ,GAAG,IAAIC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAS,EAElE,QAAQ,EAER,OAAO,KACPA,GAAA,CAAC,UAAU,EAAA,EACV,MAAM,EAAA,IAAA,EACN,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE;AACpC,oBAAA,mBAAmB,EAAE,cAAc;iBACnC,CAAC,EACF,OAAO,EAAE,OAAO,GACf,CACF,CAAA,EAAA,CACK;AAET;;;;"}
1
+ {"version":3,"file":"tag.js","sources":["../../../../packages/components/tag/tag.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { ITag } from \"./type\";\n\nconst Tag = (props: ITag) => {\n\tconst {\n\t\tdot,\n\t\tdotClass,\n\t\toutline,\n\t\tround,\n\t\tsize = \"normal\",\n\t\thoverShowClose,\n\t\tclassName,\n\t\tchildren,\n\t\tonClose,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-tag\",\n\t\t\t\t{\n\t\t\t\t\t\"i-tag-outline\": outline,\n\t\t\t\t\t\"i-tag-clickable\": onClick,\n\t\t\t\t\t[`i-tag-${size}`]: size !== \"normal\",\n\t\t\t\t\tround,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tonClick={onClick}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{dot && <span className={classNames(\"i-tag-dot\", dotClass)}></span>}\n\n\t\t\t{children}\n\n\t\t\t{onClose && (\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive\n\t\t\t\t\tclassName={classNames(\"i-tag-close\", {\n\t\t\t\t\t\t\"i-tag-hover-close\": hoverShowClose,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={onClose}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</span>\n\t);\n};\n\nexport default Tag;\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAKA,MAAM,GAAG,GAAG,CAAC,KAAW,KAAI;AAC3B,IAAA,MAAM,EACL,GAAG,EACH,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,QACCA,IAAA,CAAA,MAAA,EAAA,EACC,SAAS,EAAE,UAAU,CACpB,OAAO,EACP;AACC,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,iBAAiB,EAAE,OAAO;AAC1B,YAAA,CAAC,SAAS,IAAI,CAAA,CAAE,GAAG,IAAI,KAAK,QAAQ;YACpC,KAAK;AACL,SAAA,EACD,SAAS,CACT,EACD,OAAO,EAAE,OAAO,EAAA,GACZ,SAAS,EAAA,QAAA,EAAA,CAEZ,GAAG,IAAIC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAS,EAElE,QAAQ,EAER,OAAO,KACPA,GAAA,CAAC,UAAU,EAAA,EACV,MAAM,EAAA,IAAA,EACN,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE;AACpC,oBAAA,mBAAmB,EAAE,cAAc;iBACnC,CAAC,EACF,OAAO,EAAE,OAAO,GACf,CACF,CAAA,EAAA,CACK;AAET;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.js","sources":["../../../../packages/components/text/highlight.tsx"],"sourcesContent":["import { findAll } from \"highlight-words-core\";\r\nimport { Fragment, useMemo } from \"react\";\r\nimport Text from \"./text\";\r\nimport { ITextHighLight } from \"./type\";\r\n\r\nexport default function HighLight(props: ITextHighLight) {\r\n\tconst {\r\n\t\tkeyword,\r\n\t\ttext,\r\n\t\tescape,\r\n\t\tcaseSensitive,\r\n\t\trenderWord = (word) => <mark>{word}</mark>,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst content = useMemo(() => {\r\n\t\tconst source = text;\r\n\t\tconst searchWords = typeof keyword === \"string\" ? [keyword] : keyword;\r\n\r\n\t\tconst chunks = findAll({\r\n\t\t\tsearchWords,\r\n\t\t\ttextToHighlight: text,\r\n\t\t\tcaseSensitive,\r\n\t\t\tautoEscape: escape,\r\n\t\t});\r\n\r\n\t\tconst result = chunks.map((chunk, i) => {\r\n\t\t\tconst { end, highlight, start } = chunk;\r\n\t\t\tconst word = source.slice(start, end);\r\n\r\n\t\t\treturn highlight ? (\r\n\t\t\t\t<Fragment key={i}>{renderWord(word)}</Fragment>\r\n\t\t\t) : (\r\n\t\t\t\tword\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\treturn result;\r\n\t}, [keyword, text, escape, caseSensitive]);\r\n\r\n\treturn <Text {...restProps}>{content}</Text>;\r\n}\r\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,SAAS,CAAC,KAAqB,EAAA;IACtD,MAAM,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,aAAa,EACb,UAAU,GAAG,CAAC,IAAI,KAAKA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,EAAA,CAAQ,EAC1C,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAK;QAC5B,MAAM,MAAM,GAAG,IAAI;AACnB,QAAA,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO;QAErE,MAAM,MAAM,GAAG,OAAO,CAAC;YACtB,WAAW;AACX,YAAA,eAAe,EAAE,IAAI;YACrB,aAAa;AACb,YAAA,UAAU,EAAE,MAAM;AAClB,SAAA,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAI;YACtC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;YAErC,OAAO,SAAS,IACfA,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAU,UAAU,CAAC,IAAI,CAAC,EAAA,EAApB,CAAC,CAA+B,KAE/C,IAAI,CACJ;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,MAAM;IACd,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAE1C,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,OAAO,GAAQ;AAC7C;;;;"}
1
+ {"version":3,"file":"highlight.js","sources":["../../../../packages/components/text/highlight.tsx"],"sourcesContent":["import { findAll } from \"highlight-words-core\";\nimport { Fragment, useMemo } from \"react\";\nimport Text from \"./text\";\nimport { ITextHighLight } from \"./type\";\n\nexport default function HighLight(props: ITextHighLight) {\n\tconst {\n\t\tkeyword,\n\t\ttext,\n\t\tescape,\n\t\tcaseSensitive,\n\t\trenderWord = (word) => <mark>{word}</mark>,\n\t\t...restProps\n\t} = props;\n\n\tconst content = useMemo(() => {\n\t\tconst source = text;\n\t\tconst searchWords = typeof keyword === \"string\" ? [keyword] : keyword;\n\n\t\tconst chunks = findAll({\n\t\t\tsearchWords,\n\t\t\ttextToHighlight: text,\n\t\t\tcaseSensitive,\n\t\t\tautoEscape: escape,\n\t\t});\n\n\t\tconst result = chunks.map((chunk, i) => {\n\t\t\tconst { end, highlight, start } = chunk;\n\t\t\tconst word = source.slice(start, end);\n\n\t\t\treturn highlight ? (\n\t\t\t\t<Fragment key={i}>{renderWord(word)}</Fragment>\n\t\t\t) : (\n\t\t\t\tword\n\t\t\t);\n\t\t});\n\n\t\treturn result;\n\t}, [keyword, text, escape, caseSensitive]);\n\n\treturn <Text {...restProps}>{content}</Text>;\n}\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,SAAS,CAAC,KAAqB,EAAA;IACtD,MAAM,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,aAAa,EACb,UAAU,GAAG,CAAC,IAAI,KAAKA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,EAAA,CAAQ,EAC1C,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAK;QAC5B,MAAM,MAAM,GAAG,IAAI;AACnB,QAAA,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO;QAErE,MAAM,MAAM,GAAG,OAAO,CAAC;YACtB,WAAW;AACX,YAAA,eAAe,EAAE,IAAI;YACrB,aAAa;AACb,YAAA,UAAU,EAAE,MAAM;AAClB,SAAA,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAI;YACtC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;YAErC,OAAO,SAAS,IACfA,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAU,UAAU,CAAC,IAAI,CAAC,EAAA,EAApB,CAAC,CAA+B,KAE/C,IAAI,CACJ;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,MAAM;IACd,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAE1C,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,OAAO,GAAQ;AAC7C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sources":["../../../../packages/components/text/number.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\r\nimport { animate, formatNumber } from \"../../js/utils\";\r\nimport Text from \"./text\";\r\nimport { ITextNumber } from \"./type\";\r\n\r\nexport default function Number(props: ITextNumber) {\r\n\tconst {\r\n\t\tcount,\r\n\t\tto,\r\n\t\tdecimal,\r\n\t\tthousand = \",\",\r\n\t\tduration = 2400,\r\n\t\teasing,\r\n\t\t...restProps\r\n\t} = props;\r\n\tconst [n, setN] = useState(count);\r\n\r\n\tconst number = useMemo(() => {\r\n\t\tif (n === undefined) return;\r\n\r\n\t\tconst z = n.toFixed(decimal);\r\n\r\n\t\tif (!thousand) return z;\r\n\r\n\t\treturn formatNumber(n, { precision: decimal, thousand });\r\n\t}, [n, thousand]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (count === undefined || to === undefined) return;\r\n\r\n\t\tanimate(count, to, duration, (v) => setN(count + v), easing);\r\n\t}, [to]);\r\n\r\n\tuseEffect(() => setN(count), [count]);\r\n\r\n\treturn <Text {...restProps}>{number}</Text>;\r\n}\r\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,MAAM,CAAC,KAAkB,EAAA;IAChD,MAAM,EACL,KAAK,EACL,EAAE,EACF,OAAO,EACP,QAAQ,GAAG,GAAG,EACd,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,GAAG,SAAS,EACZ,GAAG,KAAK;IACT,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEjC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAK;QAC3B,IAAI,CAAC,KAAK,SAAS;YAAE;QAErB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAE5B,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,CAAC;AAEvB,QAAA,OAAO,YAAY,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACzD,IAAA,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEjB,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;YAAE;QAE7C,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;AAC7D,IAAA,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAER,IAAA,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAErC,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,MAAM,GAAQ;AAC5C;;;;"}
1
+ {"version":3,"file":"number.js","sources":["../../../../packages/components/text/number.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { animate, formatNumber } from \"../../js/utils\";\nimport Text from \"./text\";\nimport { ITextNumber } from \"./type\";\n\nexport default function Number(props: ITextNumber) {\n\tconst {\n\t\tcount,\n\t\tto,\n\t\tdecimal,\n\t\tthousand = \",\",\n\t\tduration = 2400,\n\t\teasing,\n\t\t...restProps\n\t} = props;\n\tconst [n, setN] = useState(count);\n\n\tconst number = useMemo(() => {\n\t\tif (n === undefined) return;\n\n\t\tconst z = n.toFixed(decimal);\n\n\t\tif (!thousand) return z;\n\n\t\treturn formatNumber(n, { precision: decimal, thousand });\n\t}, [n, thousand]);\n\n\tuseEffect(() => {\n\t\tif (count === undefined || to === undefined) return;\n\n\t\tanimate(count, to, duration, (v) => setN(count + v), easing);\n\t}, [to]);\n\n\tuseEffect(() => setN(count), [count]);\n\n\treturn <Text {...restProps}>{number}</Text>;\n}\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,MAAM,CAAC,KAAkB,EAAA;IAChD,MAAM,EACL,KAAK,EACL,EAAE,EACF,OAAO,EACP,QAAQ,GAAG,GAAG,EACd,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,GAAG,SAAS,EACZ,GAAG,KAAK;IACT,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEjC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAK;QAC3B,IAAI,CAAC,KAAK,SAAS;YAAE;QAErB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAE5B,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,CAAC;AAEvB,QAAA,OAAO,YAAY,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACzD,IAAA,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEjB,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;YAAE;QAE7C,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;AAC7D,IAAA,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAER,IAAA,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAErC,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,MAAM,GAAQ;AAC5C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sources":["../../../../packages/components/text/text.tsx"],"sourcesContent":["import classNames from \"classnames\";\r\nimport { useMemo } from \"react\";\r\nimport HighLight from \"./highlight\";\r\nimport \"./index.css\";\r\nimport Number from \"./number\";\r\nimport Time from \"./time\";\r\nimport { CompositionText, IText } from \"./type\";\r\n\r\nconst Text = (props: IText) => {\r\n\tconst {\r\n\t\tas: Tag = \"span\",\r\n\t\tsize,\r\n\t\tweight,\r\n\t\tdecoration,\r\n\t\tgradient,\r\n\t\twave,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t} = props;\r\n\r\n\tconst gradients = useMemo(() => {\r\n\t\tif (!gradient || !Array.isArray(gradient)) return {};\r\n\r\n\t\treturn {\r\n\t\t\tbackgroundImage: `-webkit-linear-gradient(${gradient.join(\",\")})`,\r\n\t\t\tbackgroundClip: \"text\",\r\n\t\t};\r\n\t}, [gradient]);\r\n\r\n\treturn (\r\n\t\t<Tag\r\n\t\t\tstyle={{\r\n\t\t\t\tfontSize: size,\r\n\t\t\t\tfontWeight: weight,\r\n\t\t\t\ttextDecoration: decoration,\r\n\t\t\t\t...gradients,\r\n\t\t\t\t...style,\r\n\t\t\t}}\r\n\t\t\tclassName={classNames(className, {\r\n\t\t\t\t\"i-text-gradient\": gradient,\r\n\t\t\t\t\"i-text-gradient-wave\": wave,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</Tag>\r\n\t);\r\n};\r\n\r\nText.Number = Number;\r\nText.Time = Time;\r\nText.HighLight = HighLight;\r\n\r\nexport default Text as CompositionText;\r\n"],"names":["_jsx","Time"],"mappings":";;;;;;;AAQA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,IAAI,EACJ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,GACR,GAAG,KAAK;AAET,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAK;QAC9B,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;AAAE,YAAA,OAAO,EAAE;QAEpD,OAAO;YACN,eAAe,EAAE,2BAA2B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG;AACjE,YAAA,cAAc,EAAE,MAAM;SACtB;AACF,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAEd,IAAA,QACCA,GAAA,CAAC,GAAG,EAAA,EACH,KAAK,EAAE;AACN,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,cAAc,EAAE,UAAU;AAC1B,YAAA,GAAG,SAAS;AACZ,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;AAChC,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,YAAA,sBAAsB,EAAE,IAAI;AAC5B,SAAA,CAAC,EAAA,QAAA,EAED,QAAQ,EAAA,CACJ;AAER;AAEA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,IAAI,CAAC,IAAI,GAAGC,QAAI;AAChB,IAAI,CAAC,SAAS,GAAG,SAAS;;;;"}
1
+ {"version":3,"file":"text.js","sources":["../../../../packages/components/text/text.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useMemo } from \"react\";\nimport HighLight from \"./highlight\";\nimport \"./index.css\";\nimport Number from \"./number\";\nimport Time from \"./time\";\nimport { CompositionText, IText } from \"./type\";\n\nconst Text = (props: IText) => {\n\tconst {\n\t\tas: Tag = \"span\",\n\t\tsize,\n\t\tweight,\n\t\tdecoration,\n\t\tgradient,\n\t\twave,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t} = props;\n\n\tconst gradients = useMemo(() => {\n\t\tif (!gradient || !Array.isArray(gradient)) return {};\n\n\t\treturn {\n\t\t\tbackgroundImage: `-webkit-linear-gradient(${gradient.join(\",\")})`,\n\t\t\tbackgroundClip: \"text\",\n\t\t};\n\t}, [gradient]);\n\n\treturn (\n\t\t<Tag\n\t\t\tstyle={{\n\t\t\t\tfontSize: size,\n\t\t\t\tfontWeight: weight,\n\t\t\t\ttextDecoration: decoration,\n\t\t\t\t...gradients,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(className, {\n\t\t\t\t\"i-text-gradient\": gradient,\n\t\t\t\t\"i-text-gradient-wave\": wave,\n\t\t\t})}\n\t\t>\n\t\t\t{children}\n\t\t</Tag>\n\t);\n};\n\nText.Number = Number;\nText.Time = Time;\nText.HighLight = HighLight;\n\nexport default Text as CompositionText;\n"],"names":["_jsx","Time"],"mappings":";;;;;;;AAQA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,IAAI,EACJ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,GACR,GAAG,KAAK;AAET,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAK;QAC9B,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;AAAE,YAAA,OAAO,EAAE;QAEpD,OAAO;YACN,eAAe,EAAE,2BAA2B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG;AACjE,YAAA,cAAc,EAAE,MAAM;SACtB;AACF,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAEd,IAAA,QACCA,GAAA,CAAC,GAAG,EAAA,EACH,KAAK,EAAE;AACN,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,cAAc,EAAE,UAAU;AAC1B,YAAA,GAAG,SAAS;AACZ,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;AAChC,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,YAAA,sBAAsB,EAAE,IAAI;AAC5B,SAAA,CAAC,EAAA,QAAA,EAED,QAAQ,EAAA,CACJ;AAER;AAEA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,IAAI,CAAC,IAAI,GAAGC,QAAI;AAChB,IAAI,CAAC,SAAS,GAAG,SAAS;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sources":["../../../../packages/components/text/time.tsx"],"sourcesContent":["import { useMemo } from \"react\";\r\nimport { formatTime } from \"../../js/utils\";\r\nimport Text from \"./text\";\r\nimport { ITextTime } from \"./type\";\r\n\r\nexport default function Number(props: ITextTime) {\r\n\tconst { seconds, zero, units, ...restProps } = props;\r\n\r\n\tconst text = useMemo(() => {\r\n\t\tif (seconds === undefined) return \"\";\r\n\r\n\t\treturn formatTime(seconds, {\r\n\t\t\tzero,\r\n\t\t\tunits,\r\n\t\t});\r\n\t}, [seconds]);\r\n\r\n\treturn <Text {...restProps}>{text}</Text>;\r\n}\r\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,MAAM,CAAC,KAAgB,EAAA;AAC9C,IAAA,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AAEpD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAK;QACzB,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,EAAE;QAEpC,OAAO,UAAU,CAAC,OAAO,EAAE;YAC1B,IAAI;YACJ,KAAK;AACL,SAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,IAAI,GAAQ;AAC1C;;;;"}
1
+ {"version":3,"file":"time.js","sources":["../../../../packages/components/text/time.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { formatTime } from \"../../js/utils\";\nimport Text from \"./text\";\nimport { ITextTime } from \"./type\";\n\nexport default function Number(props: ITextTime) {\n\tconst { seconds, zero, units, ...restProps } = props;\n\n\tconst text = useMemo(() => {\n\t\tif (seconds === undefined) return \"\";\n\n\t\treturn formatTime(seconds, {\n\t\t\tzero,\n\t\t\tunits,\n\t\t});\n\t}, [seconds]);\n\n\treturn <Text {...restProps}>{text}</Text>;\n}\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,MAAM,CAAC,KAAgB,EAAA;AAC9C,IAAA,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AAEpD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAK;QACzB,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,EAAE;QAEpC,OAAO,UAAU,CAAC,OAAO,EAAE;YAC1B,IAAI;YACJ,KAAK;AACL,SAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,IAAI,GAAQ;AAC1C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../packages/components/tree/item.tsx"],"sourcesContent":["import { KeyboardArrowDownRound } from \"@ricons/material\";\r\nimport classNames from \"classnames\";\r\nimport { MouseEvent, useState } from \"react\";\r\nimport Checkbox from \"../checkbox\";\r\nimport Icon from \"../icon\";\r\nimport { ITree, ITreeHeader, PropsTreeItem } from \"./type\";\r\n\r\ninterface ITreeList extends Omit<ITree, \"nodeProps\"> {\r\n\tnodeProps: {\r\n\t\tkey: string;\r\n\t\ttitle: string;\r\n\t\tchildren: string;\r\n\t};\r\n}\r\n\r\nexport function TreeList(props: ITreeList) {\r\n\tconst {\r\n\t\tdata = [],\r\n\t\tdepth = 0,\r\n\t\tround,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tparent,\r\n\t\tnodeProps,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst contents = data.map((item, i) => {\r\n\t\tconst { type } = item;\r\n\t\tconst title = item[nodeProps.title];\r\n\t\tconst itemKey =\r\n\t\t\titem[nodeProps.key] ||\r\n\t\t\t(parent?.key !== undefined ? `${parent.key}-${i}` : `${i}`);\r\n\r\n\t\titem.key = itemKey;\r\n\t\titem.parent = parent;\r\n\r\n\t\tif (type === \"title\") {\r\n\t\t\treturn (\r\n\t\t\t\t<div key={i} className='i-tree-group-title'>\r\n\t\t\t\t\t{title}\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (type && type !== \"item\") {\r\n\t\t\treturn (\r\n\t\t\t\t<div key={i} className={`i-tree-type-${type}`}>\r\n\t\t\t\t\t{title}\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t<TreeItem\r\n\t\t\t\tkey={itemKey}\r\n\t\t\t\tindex={i}\r\n\t\t\t\titem={item}\r\n\t\t\t\tdepth={depth}\r\n\t\t\t\tnodeProps={nodeProps}\r\n\t\t\t\t{...restProps}\r\n\t\t\t/>\r\n\t\t);\r\n\t});\r\n\r\n\tif (depth > 0) return <>{contents}</>;\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\"i-tree\", className, {\r\n\t\t\t\t\"i-tree-round\": round,\r\n\t\t\t})}\r\n\t\t\tstyle={style}\r\n\t\t>\r\n\t\t\t{contents}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nconst Header = (props: ITreeHeader) => {\r\n\tconst { as: Tag = \"a\", href, selected, children, ...restProps } = props;\r\n\r\n\tconst className = classNames(\"i-tree-item-header\", {\r\n\t\t\"i-tree-item-selected\": selected,\r\n\t});\r\n\r\n\tif (typeof Tag === \"string\") {\r\n\t\treturn (\r\n\t\t\t<Tag href={href} className={className} {...restProps}>\r\n\t\t\t\t{children}\r\n\t\t\t</Tag>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Tag to={href || \"\"} className={className} {...restProps}>\r\n\t\t\t{children}\r\n\t\t</Tag>\r\n\t);\r\n};\r\n\r\nexport const TreeItem = (props: PropsTreeItem) => {\r\n\tconst {\r\n\t\titem,\r\n\t\tdepth = 0,\r\n\t\tindex,\r\n\t\tselected,\r\n\t\tchecked = [],\r\n\t\tpartofs = {},\r\n\t\tcheckable,\r\n\t\tnodeProps,\r\n\t\trenderExtra,\r\n\t\tonItemClick,\r\n\t\tonItemSelect,\r\n\t\tonItemCheck,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst { as, key = \"\", href, icon, title, expanded, disabled } = item;\r\n\tconst children = item[nodeProps.children];\r\n\r\n\tconst [expand, setExpand] = useState(expanded);\r\n\r\n\tconst handleExpand = (e: MouseEvent<HTMLElement>, fromToggle?: boolean) => {\r\n\t\tif (fromToggle) {\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\t\t}\r\n\r\n\t\tif (disabled || !children?.length) return;\r\n\r\n\t\tsetExpand((v) => !v);\r\n\t};\r\n\r\n\tconst handleItemClick = (e: MouseEvent<HTMLElement>) => {\r\n\t\tif (disabled) {\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\thandleExpand(e);\r\n\t\tonItemClick?.(item, e);\r\n\t\tonItemSelect?.(key, item);\r\n\t};\r\n\r\n\tconst handleItemCheck = (checked) => onItemCheck?.(item, checked, []);\r\n\tconst itemChecked = checked.includes(key);\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\"i-tree-item\", {\r\n\t\t\t\t\"i-tree-expand\": expand,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t<Header\r\n\t\t\t\tas={as}\r\n\t\t\t\thref={href}\r\n\t\t\t\tstyle={{ paddingLeft: `${depth * 1.5 + 0.5}em` }}\r\n\t\t\t\tselected={selected === key}\r\n\t\t\t\tonClick={handleItemClick}\r\n\t\t\t>\r\n\t\t\t\t{checkable && (\r\n\t\t\t\t\t<Checkbox.Item\r\n\t\t\t\t\t\tvalue={itemChecked}\r\n\t\t\t\t\t\tpartof={!itemChecked && partofs[key]}\r\n\t\t\t\t\t\tclassName='i-tree-checkbox'\r\n\t\t\t\t\t\tonChange={handleItemCheck}\r\n\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{icon && <span className='i-tree-item-icon'>{icon}</span>}\r\n\r\n\t\t\t\t<span className='i-tree-item-title'>{title}</span>\r\n\r\n\t\t\t\t{renderExtra?.(item)}\r\n\r\n\t\t\t\t{children && (\r\n\t\t\t\t\t<Icon\r\n\t\t\t\t\t\ticon={<KeyboardArrowDownRound />}\r\n\t\t\t\t\t\tclassName='i-tree-toggle'\r\n\t\t\t\t\t\tonClick={(e) => handleExpand(e, true)}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t</Header>\r\n\r\n\t\t\t{children?.length && (\r\n\t\t\t\t<div className='i-tree-item-content'>\r\n\t\t\t\t\t<TreeList\r\n\t\t\t\t\t\tdata={children}\r\n\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\tselected={selected}\r\n\t\t\t\t\t\tcheckable={checkable}\r\n\t\t\t\t\t\tparent={item}\r\n\t\t\t\t\t\tpartofs={partofs}\r\n\t\t\t\t\t\tchecked={checked}\r\n\t\t\t\t\t\tnodeProps={nodeProps}\r\n\t\t\t\t\t\trenderExtra={renderExtra}\r\n\t\t\t\t\t\tonItemClick={onItemClick}\r\n\t\t\t\t\t\tonItemSelect={onItemSelect}\r\n\t\t\t\t\t\tonItemCheck={onItemCheck}\r\n\t\t\t\t\t\t{...restProps}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n};\r\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"item.js","sources":["../../../../packages/components/tree/item.tsx"],"sourcesContent":["import { KeyboardArrowDownRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { MouseEvent, useState } from \"react\";\nimport Checkbox from \"../checkbox\";\nimport Icon from \"../icon\";\nimport { ITree, ITreeHeader, PropsTreeItem } from \"./type\";\n\ninterface ITreeList extends Omit<ITree, \"nodeProps\"> {\n\tnodeProps: {\n\t\tkey: string;\n\t\ttitle: string;\n\t\tchildren: string;\n\t};\n}\n\nexport function TreeList(props: ITreeList) {\n\tconst {\n\t\tdata = [],\n\t\tdepth = 0,\n\t\tround,\n\t\tstyle,\n\t\tclassName,\n\t\tparent,\n\t\tnodeProps,\n\t\t...restProps\n\t} = props;\n\n\tconst contents = data.map((item, i) => {\n\t\tconst { type } = item;\n\t\tconst title = item[nodeProps.title];\n\t\tconst itemKey =\n\t\t\titem[nodeProps.key] ||\n\t\t\t(parent?.key !== undefined ? `${parent.key}-${i}` : `${i}`);\n\n\t\titem.key = itemKey;\n\t\titem.parent = parent;\n\n\t\tif (type === \"title\") {\n\t\t\treturn (\n\t\t\t\t<div key={i} className='i-tree-group-title'>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (type && type !== \"item\") {\n\t\t\treturn (\n\t\t\t\t<div key={i} className={`i-tree-type-${type}`}>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TreeItem\n\t\t\t\tkey={itemKey}\n\t\t\t\tindex={i}\n\t\t\t\titem={item}\n\t\t\t\tdepth={depth}\n\t\t\t\tnodeProps={nodeProps}\n\t\t\t\t{...restProps}\n\t\t\t/>\n\t\t);\n\t});\n\n\tif (depth > 0) return <>{contents}</>;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-tree\", className, {\n\t\t\t\t\"i-tree-round\": round,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{contents}\n\t\t</div>\n\t);\n}\n\nconst Header = (props: ITreeHeader) => {\n\tconst { as: Tag = \"a\", href, selected, children, ...restProps } = props;\n\n\tconst className = classNames(\"i-tree-item-header\", {\n\t\t\"i-tree-item-selected\": selected,\n\t});\n\n\tif (typeof Tag === \"string\") {\n\t\treturn (\n\t\t\t<Tag href={href} className={className} {...restProps}>\n\t\t\t\t{children}\n\t\t\t</Tag>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Tag to={href || \"\"} className={className} {...restProps}>\n\t\t\t{children}\n\t\t</Tag>\n\t);\n};\n\nexport const TreeItem = (props: PropsTreeItem) => {\n\tconst {\n\t\titem,\n\t\tdepth = 0,\n\t\tindex,\n\t\tselected,\n\t\tchecked = [],\n\t\tpartofs = {},\n\t\tcheckable,\n\t\tnodeProps,\n\t\trenderExtra,\n\t\tonItemClick,\n\t\tonItemSelect,\n\t\tonItemCheck,\n\t\t...restProps\n\t} = props;\n\n\tconst { as, key = \"\", href, icon, title, expanded, disabled } = item;\n\tconst children = item[nodeProps.children];\n\n\tconst [expand, setExpand] = useState(expanded);\n\n\tconst handleExpand = (e: MouseEvent<HTMLElement>, fromToggle?: boolean) => {\n\t\tif (fromToggle) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif (disabled || !children?.length) return;\n\n\t\tsetExpand((v) => !v);\n\t};\n\n\tconst handleItemClick = (e: MouseEvent<HTMLElement>) => {\n\t\tif (disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\thandleExpand(e);\n\t\tonItemClick?.(item, e);\n\t\tonItemSelect?.(key, item);\n\t};\n\n\tconst handleItemCheck = (checked) => onItemCheck?.(item, checked, []);\n\tconst itemChecked = checked.includes(key);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-tree-item\", {\n\t\t\t\t\"i-tree-expand\": expand,\n\t\t\t})}\n\t\t>\n\t\t\t<Header\n\t\t\t\tas={as}\n\t\t\t\thref={href}\n\t\t\t\tstyle={{ paddingLeft: `${depth * 1.5 + 0.5}em` }}\n\t\t\t\tselected={selected === key}\n\t\t\t\tonClick={handleItemClick}\n\t\t\t>\n\t\t\t\t{checkable && (\n\t\t\t\t\t<Checkbox.Item\n\t\t\t\t\t\tvalue={itemChecked}\n\t\t\t\t\t\tpartof={!itemChecked && partofs[key]}\n\t\t\t\t\t\tclassName='i-tree-checkbox'\n\t\t\t\t\t\tonChange={handleItemCheck}\n\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{icon && <span className='i-tree-item-icon'>{icon}</span>}\n\n\t\t\t\t<span className='i-tree-item-title'>{title}</span>\n\n\t\t\t\t{renderExtra?.(item)}\n\n\t\t\t\t{children && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={<KeyboardArrowDownRound />}\n\t\t\t\t\t\tclassName='i-tree-toggle'\n\t\t\t\t\t\tonClick={(e) => handleExpand(e, true)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Header>\n\n\t\t\t{children?.length && (\n\t\t\t\t<div className='i-tree-item-content'>\n\t\t\t\t\t<TreeList\n\t\t\t\t\t\tdata={children}\n\t\t\t\t\t\tdepth={depth + 1}\n\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\tcheckable={checkable}\n\t\t\t\t\t\tparent={item}\n\t\t\t\t\t\tpartofs={partofs}\n\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\tnodeProps={nodeProps}\n\t\t\t\t\t\trenderExtra={renderExtra}\n\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\tonItemSelect={onItemSelect}\n\t\t\t\t\t\tonItemCheck={onItemCheck}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sources":["../../../../packages/components/tree/tree.tsx"],"sourcesContent":["import { useEffect, useImperativeHandle, useRef, useState } from \"react\";\r\nimport \"./index.css\";\r\nimport { TreeList } from \"./item\";\r\nimport { ITree, ITreeItem } from \"./type\";\r\n\r\nconst defaultNodeProps = {\r\n\tkey: \"key\",\r\n\ttitle: \"title\",\r\n\tchildren: \"children\",\r\n};\r\n\r\nconst Tree = (props: ITree) => {\r\n\tconst {\r\n\t\tdata = [],\r\n\t\tref,\r\n\t\tselected,\r\n\t\tchecked = [],\r\n\t\tdisabledRelated,\r\n\t\tnodeProps,\r\n\t\tonItemSelect,\r\n\t\tonItemCheck,\r\n\t\t...restProps\r\n\t} = props;\r\n\tconst [selectedKey, setSelectedKey] = useState(selected);\r\n\tconst [checkedKeys, setCheckedKeys] = useState(checked);\r\n\tconst [partofs, setPartofs] = useState<Record<string, boolean>>({});\r\n\tconst nodeMapsRef = useRef<Map<any, any>>(new Map());\r\n\tconst oNodeProps = Object.assign({}, defaultNodeProps, nodeProps);\r\n\r\n\tconst isChecked = (key?: string) => checkedKeys.includes(key || \"\");\r\n\r\n\tconst checkItem = (\r\n\t\titem: ITreeItem,\r\n\t\tchecked: boolean,\r\n\t\tdirection?: \"root\" | \"leaf\"\r\n\t) => {\r\n\t\tconst { key = \"\", parent, children } = item;\r\n\t\tconst shouldChanged = { [key]: checked };\r\n\t\tconst partofs = { [key]: false };\r\n\r\n\t\tif (disabledRelated) return [shouldChanged];\r\n\r\n\t\tif (checked) {\r\n\t\t\tif (parent && direction !== \"leaf\") {\r\n\t\t\t\tconst hasUnchecked = parent.children?.some(\r\n\t\t\t\t\t(o) => o.key !== key && !isChecked(o.key)\r\n\t\t\t\t);\r\n\r\n\t\t\t\tconst [changes, parts] = checkItem(parent, true, \"root\");\r\n\r\n\t\t\t\tif (!hasUnchecked) {\r\n\t\t\t\t\tObject.assign(shouldChanged, changes);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tObject.assign(partofs, hasUnchecked ? parts : {}, {\r\n\t\t\t\t\t[parent.key as string]: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (children?.length && direction !== \"root\") {\r\n\t\t\t\tchildren.map((o) => {\r\n\t\t\t\t\tif (isChecked(o.key)) return;\r\n\r\n\t\t\t\t\tconst [changes] = checkItem(o, true, \"leaf\");\r\n\r\n\t\t\t\t\tObject.assign(shouldChanged, changes);\r\n\t\t\t\t\tpartofs[o.key as string] = false;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn [shouldChanged, partofs];\r\n\t\t}\r\n\r\n\t\tif (parent && direction !== \"leaf\") {\r\n\t\t\tconst [changes, parts] = checkItem(parent, false, \"root\");\r\n\r\n\t\t\tObject.assign(shouldChanged, changes);\r\n\r\n\t\t\tconst hasChecked = parent.children?.some(\r\n\t\t\t\t(o) => isChecked(o.key) && o.key !== key\r\n\t\t\t);\r\n\r\n\t\t\tObject.assign(partofs, hasChecked ? {} : parts, {\r\n\t\t\t\t[parent.key as string]: hasChecked,\r\n\t\t\t\t[key]: false,\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (children?.length && direction !== \"root\") {\r\n\t\t\tchildren.map((o) => {\r\n\t\t\t\tconst [changes] = checkItem(o, false, \"leaf\");\r\n\r\n\t\t\t\tif (!isChecked(o.key)) return;\r\n\r\n\t\t\t\tObject.assign(shouldChanged, changes);\r\n\t\t\t\tpartofs[o.key as string] = false;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn [shouldChanged, partofs];\r\n\t};\r\n\r\n\tconst handleCheck = (item: ITreeItem, checked: boolean) => {\r\n\t\tconst [shouldChanged, partofs] = checkItem(item, checked);\r\n\t\tconst changedKeys = Object.keys(shouldChanged);\r\n\r\n\t\tconst nextChecked = checked\r\n\t\t\t? Array.from(new Set([...checkedKeys, ...changedKeys]))\r\n\t\t\t: checkedKeys.filter((k) => !changedKeys.includes(k));\r\n\r\n\t\tsetCheckedKeys(nextChecked);\r\n\t\tsetPartofs((p) => ({ ...p, ...partofs }));\r\n\t\tonItemCheck?.(item, checked, nextChecked);\r\n\t};\r\n\r\n\tconst handleSelect = (key: string, item: ITreeItem) => {\r\n\t\tif (!props.selectable) return;\r\n\r\n\t\tsetSelectedKey(key);\r\n\t\tonItemSelect?.(key, item);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (selected === undefined) return;\r\n\r\n\t\tsetSelectedKey(selected);\r\n\t}, [selected]);\r\n\r\n\tuseEffect(() => {\r\n\t\tnodeMapsRef.current.clear();\r\n\r\n\t\tconst { key, children } = oNodeProps;\r\n\t\tconst recursive = (nodes) => {\r\n\t\t\tnodes.map((o) => {\r\n\t\t\t\tnodeMapsRef.current.set(o[key], o);\r\n\r\n\t\t\t\to[children]?.length > 0 && recursive(o[children]);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\trecursive(data);\r\n\t}, [data]);\r\n\r\n\tuseImperativeHandle(ref, () => {\r\n\t\treturn {\r\n\t\t\tgetChecked: () => {\r\n\t\t\t\tconst items: ITreeItem[] = [];\r\n\t\t\t\tcheckedKeys.map((k) => {\r\n\t\t\t\t\tconst item = nodeMapsRef.current.get(k);\r\n\t\t\t\t\titems.push(item);\r\n\t\t\t\t});\r\n\t\t\t\treturn [checkedKeys, items];\r\n\t\t\t},\r\n\t\t\tgetSelected: () => {\r\n\t\t\t\tconst item = nodeMapsRef.current.get(selectedKey);\r\n\t\t\t\treturn [selectedKey, item];\r\n\t\t\t},\r\n\t\t\tgetPartofs: () => {\r\n\t\t\t\tconst items: ITreeItem[] = [];\r\n\t\t\t\tconst keys = Object.keys(partofs).filter((k) => {\r\n\t\t\t\t\tconst indeterminate = partofs[k];\r\n\r\n\t\t\t\t\tif (indeterminate) {\r\n\t\t\t\t\t\tconst item = nodeMapsRef.current.get(k);\r\n\t\t\t\t\t\titems.push(item);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn indeterminate;\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn [keys, items];\r\n\t\t\t},\r\n\t\t};\r\n\t});\r\n\r\n\treturn (\r\n\t\t<TreeList\r\n\t\t\tdata={data}\r\n\t\t\tselected={selectedKey}\r\n\t\t\tchecked={checkedKeys}\r\n\t\t\tpartofs={partofs}\r\n\t\t\tnodeProps={oNodeProps}\r\n\t\t\tonItemCheck={handleCheck}\r\n\t\t\tonItemSelect={handleSelect}\r\n\t\t\t{...restProps}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default Tree;\r\n"],"names":["_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sources":["../../../../packages/components/tree/tree.tsx"],"sourcesContent":["import { useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport \"./index.css\";\nimport { TreeList } from \"./item\";\nimport { ITree, ITreeItem } from \"./type\";\n\nconst defaultNodeProps = {\n\tkey: \"key\",\n\ttitle: \"title\",\n\tchildren: \"children\",\n};\n\nconst Tree = (props: ITree) => {\n\tconst {\n\t\tdata = [],\n\t\tref,\n\t\tselected,\n\t\tchecked = [],\n\t\tdisabledRelated,\n\t\tnodeProps,\n\t\tonItemSelect,\n\t\tonItemCheck,\n\t\t...restProps\n\t} = props;\n\tconst [selectedKey, setSelectedKey] = useState(selected);\n\tconst [checkedKeys, setCheckedKeys] = useState(checked);\n\tconst [partofs, setPartofs] = useState<Record<string, boolean>>({});\n\tconst nodeMapsRef = useRef<Map<any, any>>(new Map());\n\tconst oNodeProps = Object.assign({}, defaultNodeProps, nodeProps);\n\n\tconst isChecked = (key?: string) => checkedKeys.includes(key || \"\");\n\n\tconst checkItem = (\n\t\titem: ITreeItem,\n\t\tchecked: boolean,\n\t\tdirection?: \"root\" | \"leaf\"\n\t) => {\n\t\tconst { key = \"\", parent, children } = item;\n\t\tconst shouldChanged = { [key]: checked };\n\t\tconst partofs = { [key]: false };\n\n\t\tif (disabledRelated) return [shouldChanged];\n\n\t\tif (checked) {\n\t\t\tif (parent && direction !== \"leaf\") {\n\t\t\t\tconst hasUnchecked = parent.children?.some(\n\t\t\t\t\t(o) => o.key !== key && !isChecked(o.key)\n\t\t\t\t);\n\n\t\t\t\tconst [changes, parts] = checkItem(parent, true, \"root\");\n\n\t\t\t\tif (!hasUnchecked) {\n\t\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\t}\n\n\t\t\t\tObject.assign(partofs, hasUnchecked ? parts : {}, {\n\t\t\t\t\t[parent.key as string]: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (children?.length && direction !== \"root\") {\n\t\t\t\tchildren.map((o) => {\n\t\t\t\t\tif (isChecked(o.key)) return;\n\n\t\t\t\t\tconst [changes] = checkItem(o, true, \"leaf\");\n\n\t\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\t\tpartofs[o.key as string] = false;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn [shouldChanged, partofs];\n\t\t}\n\n\t\tif (parent && direction !== \"leaf\") {\n\t\t\tconst [changes, parts] = checkItem(parent, false, \"root\");\n\n\t\t\tObject.assign(shouldChanged, changes);\n\n\t\t\tconst hasChecked = parent.children?.some(\n\t\t\t\t(o) => isChecked(o.key) && o.key !== key\n\t\t\t);\n\n\t\t\tObject.assign(partofs, hasChecked ? {} : parts, {\n\t\t\t\t[parent.key as string]: hasChecked,\n\t\t\t\t[key]: false,\n\t\t\t});\n\t\t}\n\t\tif (children?.length && direction !== \"root\") {\n\t\t\tchildren.map((o) => {\n\t\t\t\tconst [changes] = checkItem(o, false, \"leaf\");\n\n\t\t\t\tif (!isChecked(o.key)) return;\n\n\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\tpartofs[o.key as string] = false;\n\t\t\t});\n\t\t}\n\n\t\treturn [shouldChanged, partofs];\n\t};\n\n\tconst handleCheck = (item: ITreeItem, checked: boolean) => {\n\t\tconst [shouldChanged, partofs] = checkItem(item, checked);\n\t\tconst changedKeys = Object.keys(shouldChanged);\n\n\t\tconst nextChecked = checked\n\t\t\t? Array.from(new Set([...checkedKeys, ...changedKeys]))\n\t\t\t: checkedKeys.filter((k) => !changedKeys.includes(k));\n\n\t\tsetCheckedKeys(nextChecked);\n\t\tsetPartofs((p) => ({ ...p, ...partofs }));\n\t\tonItemCheck?.(item, checked, nextChecked);\n\t};\n\n\tconst handleSelect = (key: string, item: ITreeItem) => {\n\t\tif (!props.selectable) return;\n\n\t\tsetSelectedKey(key);\n\t\tonItemSelect?.(key, item);\n\t};\n\n\tuseEffect(() => {\n\t\tif (selected === undefined) return;\n\n\t\tsetSelectedKey(selected);\n\t}, [selected]);\n\n\tuseEffect(() => {\n\t\tnodeMapsRef.current.clear();\n\n\t\tconst { key, children } = oNodeProps;\n\t\tconst recursive = (nodes) => {\n\t\t\tnodes.map((o) => {\n\t\t\t\tnodeMapsRef.current.set(o[key], o);\n\n\t\t\t\to[children]?.length > 0 && recursive(o[children]);\n\t\t\t});\n\t\t};\n\n\t\trecursive(data);\n\t}, [data]);\n\n\tuseImperativeHandle(ref, () => {\n\t\treturn {\n\t\t\tgetChecked: () => {\n\t\t\t\tconst items: ITreeItem[] = [];\n\t\t\t\tcheckedKeys.map((k) => {\n\t\t\t\t\tconst item = nodeMapsRef.current.get(k);\n\t\t\t\t\titems.push(item);\n\t\t\t\t});\n\t\t\t\treturn [checkedKeys, items];\n\t\t\t},\n\t\t\tgetSelected: () => {\n\t\t\t\tconst item = nodeMapsRef.current.get(selectedKey);\n\t\t\t\treturn [selectedKey, item];\n\t\t\t},\n\t\t\tgetPartofs: () => {\n\t\t\t\tconst items: ITreeItem[] = [];\n\t\t\t\tconst keys = Object.keys(partofs).filter((k) => {\n\t\t\t\t\tconst indeterminate = partofs[k];\n\n\t\t\t\t\tif (indeterminate) {\n\t\t\t\t\t\tconst item = nodeMapsRef.current.get(k);\n\t\t\t\t\t\titems.push(item);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn indeterminate;\n\t\t\t\t});\n\n\t\t\t\treturn [keys, items];\n\t\t\t},\n\t\t};\n\t});\n\n\treturn (\n\t\t<TreeList\n\t\t\tdata={data}\n\t\t\tselected={selectedKey}\n\t\t\tchecked={checkedKeys}\n\t\t\tpartofs={partofs}\n\t\t\tnodeProps={oNodeProps}\n\t\t\tonItemCheck={handleCheck}\n\t\t\tonItemSelect={handleSelect}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n\nexport default Tree;\n"],"names":["_jsx"],"mappings":"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"}