@smwb/ui-solid 0.11.2 → 0.12.1

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 (740) hide show
  1. package/README.md +63 -22
  2. package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -1
  3. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  4. package/dist/assets/styles/less/components/descriptionList/descriptionList.entry.css +1 -0
  5. package/dist/assets/styles/less/components/emptyState/emptyState.entry.css +1 -0
  6. package/dist/assets/styles/less/components/kanban/kanban.entry.css +1 -0
  7. package/dist/assets/styles/less/components/meter/meter.entry.css +1 -0
  8. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -0
  9. package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -1
  10. package/dist/assets/styles/less/components/sectionHeader/sectionHeader.entry.css +1 -0
  11. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  12. package/dist/assets/styles/less/components/stat/stat.entry.css +1 -0
  13. package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -1
  14. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  15. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  16. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  17. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  18. package/dist/assets/styles/less/components/timeline/timeline.entry.css +1 -0
  19. package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -1
  20. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  21. package/dist/assets/styles/less/tokens.entry.css +1 -0
  22. package/dist/components/base/icon/icon.js +4 -3
  23. package/dist/components/base/icon/icon.js.map +1 -1
  24. package/dist/components/base/ripple/ripple.js +4 -3
  25. package/dist/components/base/ripple/ripple.js.map +1 -1
  26. package/dist/components/dataDisplay/accordion/accordion.d.ts +18 -1
  27. package/dist/components/dataDisplay/accordion/accordion.js +91 -48
  28. package/dist/components/dataDisplay/accordion/accordion.js.map +1 -1
  29. package/dist/components/dataDisplay/assetGrid/assetGrid.js +14 -13
  30. package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -1
  31. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  32. package/dist/components/dataDisplay/avatar/avatar.js +56 -40
  33. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  34. package/dist/components/dataDisplay/badge/badge.js +24 -20
  35. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  36. package/dist/components/dataDisplay/card/card.js +24 -23
  37. package/dist/components/dataDisplay/card/card.js.map +1 -1
  38. package/dist/components/dataDisplay/carousel/carousel.js +4 -3
  39. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  40. package/dist/components/dataDisplay/chart/chart.d.ts +65 -0
  41. package/dist/components/dataDisplay/chart/chartTheme.d.ts +35 -0
  42. package/dist/components/dataDisplay/chart/index.d.ts +4 -0
  43. package/dist/components/dataDisplay/chat/chat.js +52 -51
  44. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  45. package/dist/components/dataDisplay/chat/chatHeader.js +29 -29
  46. package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -1
  47. package/dist/components/dataDisplay/chat/chatMessageBubble.js +28 -28
  48. package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
  49. package/dist/components/dataDisplay/chat/chatShell.js +54 -51
  50. package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
  51. package/dist/components/dataDisplay/chip/chip.js +79 -70
  52. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  53. package/dist/components/dataDisplay/chipGroup/chipGroup.js +9 -8
  54. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  55. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +32 -0
  56. package/dist/components/dataDisplay/descriptionList/descriptionList.js +60 -0
  57. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  58. package/dist/components/dataDisplay/descriptionList/index.d.ts +2 -0
  59. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +4 -3
  60. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  61. package/dist/components/dataDisplay/imagesList/imagesList.js +8 -7
  62. package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -1
  63. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +29 -24
  64. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  65. package/dist/components/dataDisplay/kanban/index.d.ts +2 -0
  66. package/dist/components/dataDisplay/kanban/kanban.d.ts +42 -0
  67. package/dist/components/dataDisplay/kanban/kanban.js +133 -0
  68. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -0
  69. package/dist/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  70. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  71. package/dist/components/dataDisplay/list/list.js +17 -16
  72. package/dist/components/dataDisplay/list/list.js.map +1 -1
  73. package/dist/components/dataDisplay/meter/index.d.ts +2 -0
  74. package/dist/components/dataDisplay/meter/meter.d.ts +34 -0
  75. package/dist/components/dataDisplay/meter/meter.js +84 -0
  76. package/dist/components/dataDisplay/meter/meter.js.map +1 -0
  77. package/dist/components/dataDisplay/personChip/index.d.ts +2 -0
  78. package/dist/components/dataDisplay/personChip/personChip.d.ts +32 -0
  79. package/dist/components/dataDisplay/personChip/personChip.js +104 -0
  80. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -0
  81. package/dist/components/dataDisplay/stat/index.d.ts +2 -0
  82. package/dist/components/dataDisplay/stat/stat.d.ts +33 -0
  83. package/dist/components/dataDisplay/stat/stat.js +101 -0
  84. package/dist/components/dataDisplay/stat/stat.js.map +1 -0
  85. package/dist/components/dataDisplay/table/table.d.ts +7 -0
  86. package/dist/components/dataDisplay/table/table.js +22 -21
  87. package/dist/components/dataDisplay/table/table.js.map +1 -1
  88. package/dist/components/dataDisplay/table/tableCell.d.ts +2 -0
  89. package/dist/components/dataDisplay/table/tableCell.js +9 -6
  90. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  91. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +11 -1
  92. package/dist/components/dataDisplay/table/tableHeadCell.js +26 -23
  93. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  94. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +4 -3
  95. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -1
  96. package/dist/components/dataDisplay/thumbCard/thumbCard.js +54 -53
  97. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  98. package/dist/components/dataDisplay/timeline/index.d.ts +2 -0
  99. package/dist/components/dataDisplay/timeline/timeline.d.ts +38 -0
  100. package/dist/components/dataDisplay/timeline/timeline.js +89 -0
  101. package/dist/components/dataDisplay/timeline/timeline.js.map +1 -0
  102. package/dist/components/dataDisplay/treeView/treeView.js +4 -3
  103. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  104. package/dist/components/dataDisplay/typography/typography.d.ts +4 -0
  105. package/dist/components/dataDisplay/typography/typography.js +36 -22
  106. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  107. package/dist/components/feedBack/confirmDialog/confirmDialog.js +9 -8
  108. package/dist/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
  109. package/dist/components/feedBack/emptyState/emptyState.d.ts +25 -0
  110. package/dist/components/feedBack/emptyState/emptyState.js +86 -0
  111. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -0
  112. package/dist/components/feedBack/emptyState/index.d.ts +2 -0
  113. package/dist/components/feedBack/message/message.js +4 -3
  114. package/dist/components/feedBack/message/message.js.map +1 -1
  115. package/dist/components/feedBack/modal/modal.js +4 -3
  116. package/dist/components/feedBack/modal/modal.js.map +1 -1
  117. package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +13 -0
  118. package/dist/components/feedBack/progressIndicator/progressIndicator.js +79 -46
  119. package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  120. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +18 -14
  121. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  122. package/dist/components/feedBack/skeleton/skeleton.js +4 -3
  123. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  124. package/dist/components/feedBack/snackbar/snackbar.js +18 -17
  125. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  126. package/dist/components/feedBack/tooltip/tooltip.js +41 -33
  127. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  128. package/dist/components/inputs/button/button.js +32 -30
  129. package/dist/components/inputs/button/button.js.map +1 -1
  130. package/dist/components/inputs/buttonGroups/buttonGroup.js +9 -8
  131. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  132. package/dist/components/inputs/checkbox/checkbox.js +4 -3
  133. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  134. package/dist/components/inputs/datePicker/dataPickerInput.js +23 -23
  135. package/dist/components/inputs/datePicker/dataPickerInput.js.map +1 -1
  136. package/dist/components/inputs/datePicker/datePicker.js +84 -83
  137. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  138. package/dist/components/inputs/fileDrop/fileDrop.js +4 -3
  139. package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -1
  140. package/dist/components/inputs/fileInput/fileInput.js +11 -10
  141. package/dist/components/inputs/fileInput/fileInput.js.map +1 -1
  142. package/dist/components/inputs/floatingButton/floatingButton.js +9 -8
  143. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  144. package/dist/components/inputs/radioButton/radioButton.js +9 -8
  145. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  146. package/dist/components/inputs/rating/rating.js +41 -40
  147. package/dist/components/inputs/rating/rating.js.map +1 -1
  148. package/dist/components/inputs/selectField/selectField.d.ts +2 -0
  149. package/dist/components/inputs/selectField/selectField.js +55 -51
  150. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  151. package/dist/components/inputs/slider/slider.js +4 -3
  152. package/dist/components/inputs/slider/slider.js.map +1 -1
  153. package/dist/components/inputs/textField/textField.js +38 -37
  154. package/dist/components/inputs/textField/textField.js.map +1 -1
  155. package/dist/components/inputs/textField/textFieldAdornment.js +9 -9
  156. package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -1
  157. package/dist/components/inputs/textField/textFieldWrapper.js +41 -41
  158. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  159. package/dist/components/inputs/timePicker/timePicker.js +12 -11
  160. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  161. package/dist/components/inputs/toggle/toggle.js +4 -3
  162. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  163. package/dist/components/inputs/valueSlider/valueSlider.js +26 -25
  164. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  165. package/dist/components/layout/appLayout/appLayout.js +39 -38
  166. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  167. package/dist/components/layout/divider/divider.js +26 -22
  168. package/dist/components/layout/divider/divider.js.map +1 -1
  169. package/dist/components/layout/floatingWindow/floatingWindow.js +74 -73
  170. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  171. package/dist/components/layout/grid/grid.js +10 -9
  172. package/dist/components/layout/grid/grid.js.map +1 -1
  173. package/dist/components/layout/page/page.js +4 -3
  174. package/dist/components/layout/page/page.js.map +1 -1
  175. package/dist/components/layout/pageHeader/pageHeader.js +36 -35
  176. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  177. package/dist/components/layout/screenDivider/screenDivider.js +9 -8
  178. package/dist/components/layout/screenDivider/screenDivider.js.map +1 -1
  179. package/dist/components/layout/sectionHeader/index.d.ts +2 -0
  180. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +30 -0
  181. package/dist/components/layout/sectionHeader/sectionHeader.js +100 -0
  182. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  183. package/dist/components/layout/sheet/sheet.js +4 -3
  184. package/dist/components/layout/sheet/sheet.js.map +1 -1
  185. package/dist/components/layout/stack/stack.js +31 -27
  186. package/dist/components/layout/stack/stack.js.map +1 -1
  187. package/dist/components/navigation/appBar/appBar.js +24 -23
  188. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  189. package/dist/components/navigation/bottomBar/bottomBar.js +57 -56
  190. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  191. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +4 -3
  192. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  193. package/dist/components/navigation/menu/menu.js +10 -9
  194. package/dist/components/navigation/menu/menu.js.map +1 -1
  195. package/dist/components/navigation/overflowMenu/overflowMenu.js +4 -3
  196. package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -1
  197. package/dist/components/navigation/pagination/pagination.js +14 -13
  198. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  199. package/dist/components/navigation/sidebar/sidebar.js +4 -3
  200. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  201. package/dist/components/navigation/stepper/stepper.d.ts +10 -2
  202. package/dist/components/navigation/stepper/stepper.js +63 -47
  203. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  204. package/dist/components/navigation/tabs/tab/tab.d.ts +2 -0
  205. package/dist/components/navigation/tabs/tab/tab.js +45 -44
  206. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  207. package/dist/components/navigation/tabs/tabs.d.ts +12 -0
  208. package/dist/components/navigation/tabs/tabs.js +142 -86
  209. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  210. package/dist/connects/rt/table/table.d.ts +2 -0
  211. package/dist/headless/components/dataDisplay/accordion/accordion.js +89 -47
  212. package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -1
  213. package/dist/headless/components/dataDisplay/avatar/avatar.js +54 -39
  214. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  215. package/dist/headless/components/dataDisplay/badge/badge.js +22 -19
  216. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  217. package/dist/headless/components/dataDisplay/card/card.js +22 -22
  218. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  219. package/dist/headless/components/dataDisplay/chat/chat.js +50 -50
  220. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  221. package/dist/headless/components/dataDisplay/chat/chatHeader.js +29 -29
  222. package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -1
  223. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +28 -28
  224. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
  225. package/dist/headless/components/dataDisplay/chat/chatShell.js +54 -51
  226. package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
  227. package/dist/headless/components/dataDisplay/chip/chip.js +77 -69
  228. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  229. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +58 -0
  230. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  231. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +28 -24
  232. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  233. package/dist/headless/components/dataDisplay/kanban/kanban.js +131 -0
  234. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -0
  235. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +28 -28
  236. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  237. package/dist/headless/components/dataDisplay/list/list.js +15 -15
  238. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  239. package/dist/headless/components/dataDisplay/meter/meter.js +82 -0
  240. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -0
  241. package/dist/headless/components/dataDisplay/personChip/personChip.js +102 -0
  242. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -0
  243. package/dist/headless/components/dataDisplay/stat/stat.js +99 -0
  244. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -0
  245. package/dist/headless/components/dataDisplay/table/table.js +20 -20
  246. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  247. package/dist/headless/components/dataDisplay/table/tableCell.js +9 -6
  248. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  249. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +26 -23
  250. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  251. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +53 -53
  252. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  253. package/dist/headless/components/dataDisplay/timeline/timeline.js +87 -0
  254. package/dist/headless/components/dataDisplay/timeline/timeline.js.map +1 -0
  255. package/dist/headless/components/dataDisplay/typography/typography.js +34 -21
  256. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  257. package/dist/headless/components/feedBack/emptyState/emptyState.js +84 -0
  258. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -0
  259. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +77 -45
  260. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  261. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +16 -13
  262. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  263. package/dist/headless/components/feedBack/tooltip/tooltip.js +33 -26
  264. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  265. package/dist/headless/components/inputs/button/button.js +33 -32
  266. package/dist/headless/components/inputs/button/button.js.map +1 -1
  267. package/dist/headless/components/inputs/datePicker/dataPickerInput.js +23 -23
  268. package/dist/headless/components/inputs/datePicker/dataPickerInput.js.map +1 -1
  269. package/dist/headless/components/inputs/datePicker/datePicker.js +79 -79
  270. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  271. package/dist/headless/components/inputs/rating/rating.js +39 -39
  272. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  273. package/dist/headless/components/inputs/selectField/selectField.js +61 -58
  274. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  275. package/dist/headless/components/inputs/textField/textField.js +36 -36
  276. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  277. package/dist/headless/components/inputs/textField/textFieldAdornment.js +9 -9
  278. package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -1
  279. package/dist/headless/components/inputs/textField/textFieldWrapper.js +41 -41
  280. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  281. package/dist/headless/components/inputs/valueSlider/valueSlider.js +24 -24
  282. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  283. package/dist/headless/components/layout/appLayout/appLayout.js +39 -39
  284. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  285. package/dist/headless/components/layout/divider/divider.js +24 -21
  286. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  287. package/dist/headless/components/layout/pageHeader/pageHeader.js +34 -34
  288. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  289. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +98 -0
  290. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  291. package/dist/headless/components/layout/stack/stack.js +29 -26
  292. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  293. package/dist/headless/components/navigation/appBar/appBar.js +22 -22
  294. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  295. package/dist/headless/components/navigation/bottomBar/bottomBar.js +51 -51
  296. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  297. package/dist/headless/components/navigation/stepper/stepper.js +61 -46
  298. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  299. package/dist/headless/components/navigation/tabs/tab/tab.js +44 -44
  300. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  301. package/dist/headless/components/navigation/tabs/tabs.js +140 -85
  302. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  303. package/dist/headless/icons/catalog.js +78 -1
  304. package/dist/headless/icons/catalog.js.map +1 -1
  305. package/dist/headless/icons/index.js +596 -574
  306. package/dist/headless/icons/index.js.map +1 -1
  307. package/dist/headless/icons/svg/accountTree.js +9 -0
  308. package/dist/headless/icons/svg/accountTree.js.map +1 -0
  309. package/dist/headless/icons/svg/callSplit.js +9 -0
  310. package/dist/headless/icons/svg/callSplit.js.map +1 -0
  311. package/dist/headless/icons/svg/deviceHub.js +8 -0
  312. package/dist/headless/icons/svg/deviceHub.js.map +1 -0
  313. package/dist/headless/icons/svg/editNote.js +9 -0
  314. package/dist/headless/icons/svg/editNote.js.map +1 -0
  315. package/dist/headless/icons/svg/filterList.js +9 -0
  316. package/dist/headless/icons/svg/filterList.js.map +1 -0
  317. package/dist/headless/icons/svg/forkRight.js +8 -0
  318. package/dist/headless/icons/svg/forkRight.js.map +1 -0
  319. package/dist/headless/icons/svg/groups.js +9 -0
  320. package/dist/headless/icons/svg/groups.js.map +1 -0
  321. package/dist/headless/icons/svg/hub.js +8 -0
  322. package/dist/headless/icons/svg/hub.js.map +1 -0
  323. package/dist/headless/icons/svg/index.js +598 -576
  324. package/dist/headless/icons/svg/index.js.map +1 -1
  325. package/dist/headless/icons/svg/lan.js +9 -0
  326. package/dist/headless/icons/svg/lan.js.map +1 -0
  327. package/dist/headless/icons/svg/personOff.js +9 -0
  328. package/dist/headless/icons/svg/personOff.js.map +1 -0
  329. package/dist/headless/icons/svg/schema.js +9 -0
  330. package/dist/headless/icons/svg/schema.js.map +1 -0
  331. package/dist/headless/index.js +281 -255
  332. package/dist/headless/index.js.map +1 -1
  333. package/dist/headless/primitives/createCssTransition.js +31 -28
  334. package/dist/headless/primitives/createCssTransition.js.map +1 -1
  335. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +60 -18
  336. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  337. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +28 -3
  338. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  339. package/dist/headless/source/components/dataDisplay/badge/badge.jsx +8 -4
  340. package/dist/headless/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  341. package/dist/headless/source/components/dataDisplay/card/card.jsx +4 -3
  342. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  343. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +168 -0
  344. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -0
  345. package/dist/headless/source/components/dataDisplay/chart/chartTheme.js +78 -0
  346. package/dist/headless/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
  347. package/dist/headless/source/components/dataDisplay/chart/index.js +9 -0
  348. package/dist/headless/source/components/dataDisplay/chart/index.js.map +7 -0
  349. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +4 -3
  350. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  351. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
  352. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
  353. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
  354. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
  355. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +30 -26
  356. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
  357. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +11 -6
  358. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  359. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +42 -0
  360. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
  361. package/dist/headless/source/components/dataDisplay/descriptionList/index.js +7 -0
  362. package/dist/headless/source/components/dataDisplay/descriptionList/index.js.map +7 -0
  363. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +10 -4
  364. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  365. package/dist/headless/source/components/dataDisplay/kanban/index.js +8 -0
  366. package/dist/headless/source/components/dataDisplay/kanban/index.js.map +7 -0
  367. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +99 -0
  368. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
  369. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +4 -3
  370. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  371. package/dist/headless/source/components/dataDisplay/list/list.jsx +4 -3
  372. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  373. package/dist/headless/source/components/dataDisplay/meter/index.js +8 -0
  374. package/dist/headless/source/components/dataDisplay/meter/index.js.map +7 -0
  375. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +80 -0
  376. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -0
  377. package/dist/headless/source/components/dataDisplay/personChip/index.js +8 -0
  378. package/dist/headless/source/components/dataDisplay/personChip/index.js.map +7 -0
  379. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +71 -0
  380. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
  381. package/dist/headless/source/components/dataDisplay/stat/index.js +7 -0
  382. package/dist/headless/source/components/dataDisplay/stat/index.js.map +7 -0
  383. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +72 -0
  384. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -0
  385. package/dist/headless/source/components/dataDisplay/table/table.jsx +11 -4
  386. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  387. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +8 -2
  388. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  389. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
  390. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  391. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +10 -7
  392. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  393. package/dist/headless/source/components/dataDisplay/timeline/index.js +8 -0
  394. package/dist/headless/source/components/dataDisplay/timeline/index.js.map +7 -0
  395. package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx +64 -0
  396. package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
  397. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +17 -3
  398. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  399. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +47 -0
  400. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
  401. package/dist/headless/source/components/feedBack/emptyState/index.js +6 -0
  402. package/dist/headless/source/components/feedBack/emptyState/index.js.map +7 -0
  403. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +52 -10
  404. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  405. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +3 -2
  406. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
  407. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +4 -2
  408. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  409. package/dist/headless/source/components/inputs/button/button.jsx +7 -3
  410. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  411. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
  412. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
  413. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +4 -6
  414. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  415. package/dist/headless/source/components/inputs/rating/rating.jsx +4 -3
  416. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  417. package/dist/headless/source/components/inputs/selectField/selectField.jsx +8 -2
  418. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  419. package/dist/headless/source/components/inputs/textField/textField.jsx +8 -6
  420. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  421. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
  422. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
  423. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
  424. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  425. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +4 -3
  426. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  427. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +3 -2
  428. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  429. package/dist/headless/source/components/layout/divider/divider.jsx +10 -6
  430. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  431. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +14 -10
  432. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  433. package/dist/headless/source/components/layout/sectionHeader/index.js +6 -0
  434. package/dist/headless/source/components/layout/sectionHeader/index.js.map +7 -0
  435. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +80 -0
  436. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
  437. package/dist/headless/source/components/layout/stack/stack.jsx +3 -2
  438. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  439. package/dist/headless/source/components/navigation/appBar/appBar.jsx +7 -5
  440. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  441. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +4 -3
  442. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  443. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -7
  444. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  445. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +7 -5
  446. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  447. package/dist/headless/source/components/navigation/tabs/tabs.jsx +84 -4
  448. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  449. package/dist/headless/source/connects/rt/table/table.jsx +9 -1
  450. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  451. package/dist/headless/source/icons/catalog.js +78 -1
  452. package/dist/headless/source/icons/catalog.js.map +2 -2
  453. package/dist/headless/source/icons/svg/accountTree.js +11 -0
  454. package/dist/headless/source/icons/svg/accountTree.js.map +7 -0
  455. package/dist/headless/source/icons/svg/callSplit.js +11 -0
  456. package/dist/headless/source/icons/svg/callSplit.js.map +7 -0
  457. package/dist/headless/source/icons/svg/deviceHub.js +10 -0
  458. package/dist/headless/source/icons/svg/deviceHub.js.map +7 -0
  459. package/dist/headless/source/icons/svg/editNote.js +11 -0
  460. package/dist/headless/source/icons/svg/editNote.js.map +7 -0
  461. package/dist/headless/source/icons/svg/filterList.js +11 -0
  462. package/dist/headless/source/icons/svg/filterList.js.map +7 -0
  463. package/dist/headless/source/icons/svg/forkRight.js +10 -0
  464. package/dist/headless/source/icons/svg/forkRight.js.map +7 -0
  465. package/dist/headless/source/icons/svg/groups.js +11 -0
  466. package/dist/headless/source/icons/svg/groups.js.map +7 -0
  467. package/dist/headless/source/icons/svg/hub.js +10 -0
  468. package/dist/headless/source/icons/svg/hub.js.map +7 -0
  469. package/dist/headless/source/icons/svg/index.js +22 -0
  470. package/dist/headless/source/icons/svg/index.js.map +2 -2
  471. package/dist/headless/source/icons/svg/lan.js +11 -0
  472. package/dist/headless/source/icons/svg/lan.js.map +7 -0
  473. package/dist/headless/source/icons/svg/personOff.js +11 -0
  474. package/dist/headless/source/icons/svg/personOff.js.map +7 -0
  475. package/dist/headless/source/icons/svg/schema.js +11 -0
  476. package/dist/headless/source/icons/svg/schema.js.map +7 -0
  477. package/dist/headless/source/index.js +33 -1
  478. package/dist/headless/source/index.js.map +2 -2
  479. package/dist/headless/source/primitives/createCssTransition.js +10 -1
  480. package/dist/headless/source/primitives/createCssTransition.js.map +2 -2
  481. package/dist/icons/catalog.d.ts +1 -1
  482. package/dist/icons/catalog.js +78 -1
  483. package/dist/icons/catalog.js.map +1 -1
  484. package/dist/icons/index.js +596 -574
  485. package/dist/icons/index.js.map +1 -1
  486. package/dist/icons/svg/accountTree.d.ts +4 -0
  487. package/dist/icons/svg/accountTree.js +9 -0
  488. package/dist/icons/svg/accountTree.js.map +1 -0
  489. package/dist/icons/svg/callSplit.d.ts +4 -0
  490. package/dist/icons/svg/callSplit.js +9 -0
  491. package/dist/icons/svg/callSplit.js.map +1 -0
  492. package/dist/icons/svg/deviceHub.d.ts +4 -0
  493. package/dist/icons/svg/deviceHub.js +8 -0
  494. package/dist/icons/svg/deviceHub.js.map +1 -0
  495. package/dist/icons/svg/editNote.d.ts +4 -0
  496. package/dist/icons/svg/editNote.js +9 -0
  497. package/dist/icons/svg/editNote.js.map +1 -0
  498. package/dist/icons/svg/filterList.d.ts +4 -0
  499. package/dist/icons/svg/filterList.js +9 -0
  500. package/dist/icons/svg/filterList.js.map +1 -0
  501. package/dist/icons/svg/forkRight.d.ts +4 -0
  502. package/dist/icons/svg/forkRight.js +8 -0
  503. package/dist/icons/svg/forkRight.js.map +1 -0
  504. package/dist/icons/svg/groups.d.ts +4 -0
  505. package/dist/icons/svg/groups.js +9 -0
  506. package/dist/icons/svg/groups.js.map +1 -0
  507. package/dist/icons/svg/hub.d.ts +4 -0
  508. package/dist/icons/svg/hub.js +8 -0
  509. package/dist/icons/svg/hub.js.map +1 -0
  510. package/dist/icons/svg/index.d.ts +11 -0
  511. package/dist/icons/svg/index.js +598 -576
  512. package/dist/icons/svg/index.js.map +1 -1
  513. package/dist/icons/svg/lan.d.ts +4 -0
  514. package/dist/icons/svg/lan.js +9 -0
  515. package/dist/icons/svg/lan.js.map +1 -0
  516. package/dist/icons/svg/personOff.d.ts +4 -0
  517. package/dist/icons/svg/personOff.js +9 -0
  518. package/dist/icons/svg/personOff.js.map +1 -0
  519. package/dist/icons/svg/schema.d.ts +4 -0
  520. package/dist/icons/svg/schema.js +9 -0
  521. package/dist/icons/svg/schema.js.map +1 -0
  522. package/dist/index.d.ts +21 -5
  523. package/dist/index.js +281 -255
  524. package/dist/index.js.map +1 -1
  525. package/dist/primitives/createCssTransition.d.ts +6 -0
  526. package/dist/primitives/createCssTransition.js +31 -28
  527. package/dist/primitives/createCssTransition.js.map +1 -1
  528. package/dist/source/components/base/icon/icon.jsx +1 -0
  529. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  530. package/dist/source/components/base/ripple/ripple.jsx +1 -0
  531. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  532. package/dist/source/components/dataDisplay/accordion/accordion.jsx +61 -18
  533. package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  534. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx +1 -0
  535. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -1
  536. package/dist/source/components/dataDisplay/avatar/avatar.jsx +29 -3
  537. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  538. package/dist/source/components/dataDisplay/badge/badge.jsx +9 -4
  539. package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  540. package/dist/source/components/dataDisplay/card/card.jsx +5 -3
  541. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  542. package/dist/source/components/dataDisplay/carousel/carousel.jsx +1 -0
  543. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  544. package/dist/source/components/dataDisplay/chart/chart.jsx +170 -0
  545. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -0
  546. package/dist/source/components/dataDisplay/chart/chartTheme.js +78 -0
  547. package/dist/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
  548. package/dist/source/components/dataDisplay/chart/index.js +9 -0
  549. package/dist/source/components/dataDisplay/chart/index.js.map +7 -0
  550. package/dist/source/components/dataDisplay/chat/chat.jsx +5 -3
  551. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  552. package/dist/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
  553. package/dist/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
  554. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
  555. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
  556. package/dist/source/components/dataDisplay/chat/chatShell.jsx +30 -26
  557. package/dist/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
  558. package/dist/source/components/dataDisplay/chip/chip.jsx +12 -6
  559. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  560. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +1 -0
  561. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  562. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +44 -0
  563. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
  564. package/dist/source/components/dataDisplay/descriptionList/index.js +7 -0
  565. package/dist/source/components/dataDisplay/descriptionList/index.js.map +7 -0
  566. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +1 -0
  567. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  568. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +1 -0
  569. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -1
  570. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +11 -4
  571. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  572. package/dist/source/components/dataDisplay/kanban/index.js +8 -0
  573. package/dist/source/components/dataDisplay/kanban/index.js.map +7 -0
  574. package/dist/source/components/dataDisplay/kanban/kanban.jsx +101 -0
  575. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
  576. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +5 -3
  577. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  578. package/dist/source/components/dataDisplay/list/list.jsx +5 -3
  579. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  580. package/dist/source/components/dataDisplay/meter/index.js +8 -0
  581. package/dist/source/components/dataDisplay/meter/index.js.map +7 -0
  582. package/dist/source/components/dataDisplay/meter/meter.jsx +82 -0
  583. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -0
  584. package/dist/source/components/dataDisplay/personChip/index.js +8 -0
  585. package/dist/source/components/dataDisplay/personChip/index.js.map +7 -0
  586. package/dist/source/components/dataDisplay/personChip/personChip.jsx +73 -0
  587. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
  588. package/dist/source/components/dataDisplay/stat/index.js +7 -0
  589. package/dist/source/components/dataDisplay/stat/index.js.map +7 -0
  590. package/dist/source/components/dataDisplay/stat/stat.jsx +74 -0
  591. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -0
  592. package/dist/source/components/dataDisplay/table/table.jsx +12 -4
  593. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  594. package/dist/source/components/dataDisplay/table/tableCell.jsx +8 -2
  595. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  596. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
  597. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  598. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +1 -0
  599. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -1
  600. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +11 -7
  601. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  602. package/dist/source/components/dataDisplay/timeline/index.js +8 -0
  603. package/dist/source/components/dataDisplay/timeline/index.js.map +7 -0
  604. package/dist/source/components/dataDisplay/timeline/timeline.jsx +66 -0
  605. package/dist/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
  606. package/dist/source/components/dataDisplay/treeView/treeView.jsx +1 -0
  607. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  608. package/dist/source/components/dataDisplay/typography/typography.jsx +18 -3
  609. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  610. package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx +1 -0
  611. package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx.map +1 -1
  612. package/dist/source/components/feedBack/emptyState/emptyState.jsx +49 -0
  613. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
  614. package/dist/source/components/feedBack/emptyState/index.js +6 -0
  615. package/dist/source/components/feedBack/emptyState/index.js.map +7 -0
  616. package/dist/source/components/feedBack/message/message.jsx +1 -0
  617. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  618. package/dist/source/components/feedBack/modal/modal.jsx +1 -0
  619. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  620. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +53 -10
  621. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  622. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +4 -2
  623. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
  624. package/dist/source/components/feedBack/skeleton/skeleton.jsx +1 -0
  625. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  626. package/dist/source/components/feedBack/snackbar/snackbar.jsx +1 -0
  627. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  628. package/dist/source/components/feedBack/tooltip/tooltip.jsx +5 -2
  629. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  630. package/dist/source/components/inputs/button/button.jsx +8 -3
  631. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  632. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +1 -0
  633. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  634. package/dist/source/components/inputs/checkbox/checkbox.jsx +1 -0
  635. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  636. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
  637. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
  638. package/dist/source/components/inputs/datePicker/datePicker.jsx +5 -6
  639. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  640. package/dist/source/components/inputs/fileDrop/fileDrop.jsx +1 -0
  641. package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -1
  642. package/dist/source/components/inputs/fileInput/fileInput.jsx +1 -0
  643. package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -1
  644. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +1 -0
  645. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  646. package/dist/source/components/inputs/radioButton/radioButton.jsx +1 -0
  647. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  648. package/dist/source/components/inputs/rating/rating.jsx +5 -3
  649. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  650. package/dist/source/components/inputs/selectField/selectField.jsx +9 -2
  651. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  652. package/dist/source/components/inputs/slider/slider.jsx +1 -0
  653. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  654. package/dist/source/components/inputs/textField/textField.jsx +9 -6
  655. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  656. package/dist/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
  657. package/dist/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
  658. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
  659. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  660. package/dist/source/components/inputs/timePicker/timePicker.jsx +1 -0
  661. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  662. package/dist/source/components/inputs/toggle/toggle.jsx +1 -0
  663. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  664. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +5 -3
  665. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  666. package/dist/source/components/layout/appLayout/appLayout.jsx +4 -2
  667. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  668. package/dist/source/components/layout/divider/divider.jsx +11 -6
  669. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  670. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +1 -0
  671. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  672. package/dist/source/components/layout/grid/grid.jsx +1 -0
  673. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  674. package/dist/source/components/layout/page/page.jsx +1 -0
  675. package/dist/source/components/layout/page/page.jsx.map +1 -1
  676. package/dist/source/components/layout/pageHeader/pageHeader.jsx +15 -10
  677. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  678. package/dist/source/components/layout/screenDivider/screenDivider.jsx +1 -0
  679. package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -1
  680. package/dist/source/components/layout/sectionHeader/index.js +6 -0
  681. package/dist/source/components/layout/sectionHeader/index.js.map +7 -0
  682. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +82 -0
  683. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
  684. package/dist/source/components/layout/sheet/sheet.jsx +1 -0
  685. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  686. package/dist/source/components/layout/stack/stack.jsx +4 -2
  687. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  688. package/dist/source/components/navigation/appBar/appBar.jsx +8 -5
  689. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  690. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +5 -3
  691. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  692. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +1 -0
  693. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  694. package/dist/source/components/navigation/menu/menu.jsx +1 -0
  695. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  696. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx +1 -0
  697. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -1
  698. package/dist/source/components/navigation/pagination/pagination.jsx +1 -0
  699. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  700. package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -0
  701. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  702. package/dist/source/components/navigation/stepper/stepper.jsx +15 -7
  703. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  704. package/dist/source/components/navigation/tabs/tab/tab.jsx +8 -5
  705. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  706. package/dist/source/components/navigation/tabs/tabs.jsx +85 -4
  707. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  708. package/dist/source/connects/rt/table/table.jsx +9 -1
  709. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  710. package/dist/source/icons/catalog.js +78 -1
  711. package/dist/source/icons/catalog.js.map +2 -2
  712. package/dist/source/icons/svg/accountTree.js +11 -0
  713. package/dist/source/icons/svg/accountTree.js.map +7 -0
  714. package/dist/source/icons/svg/callSplit.js +11 -0
  715. package/dist/source/icons/svg/callSplit.js.map +7 -0
  716. package/dist/source/icons/svg/deviceHub.js +10 -0
  717. package/dist/source/icons/svg/deviceHub.js.map +7 -0
  718. package/dist/source/icons/svg/editNote.js +11 -0
  719. package/dist/source/icons/svg/editNote.js.map +7 -0
  720. package/dist/source/icons/svg/filterList.js +11 -0
  721. package/dist/source/icons/svg/filterList.js.map +7 -0
  722. package/dist/source/icons/svg/forkRight.js +10 -0
  723. package/dist/source/icons/svg/forkRight.js.map +7 -0
  724. package/dist/source/icons/svg/groups.js +11 -0
  725. package/dist/source/icons/svg/groups.js.map +7 -0
  726. package/dist/source/icons/svg/hub.js +10 -0
  727. package/dist/source/icons/svg/hub.js.map +7 -0
  728. package/dist/source/icons/svg/index.js +22 -0
  729. package/dist/source/icons/svg/index.js.map +2 -2
  730. package/dist/source/icons/svg/lan.js +11 -0
  731. package/dist/source/icons/svg/lan.js.map +7 -0
  732. package/dist/source/icons/svg/personOff.js +11 -0
  733. package/dist/source/icons/svg/personOff.js.map +7 -0
  734. package/dist/source/icons/svg/schema.js +11 -0
  735. package/dist/source/icons/svg/schema.js.map +7 -0
  736. package/dist/source/index.js +33 -1
  737. package/dist/source/index.js.map +2 -2
  738. package/dist/source/primitives/createCssTransition.js +10 -1
  739. package/dist/source/primitives/createCssTransition.js.map +2 -2
  740. package/package.json +79 -8
@@ -1,26 +1,27 @@
1
- import { createComponent as i, addEventListener as Y, use as S, insert as m, effect as k, memo as V, setAttribute as v, className as Z, template as M, delegateEvents as ee } from "solid-js/web";
2
- import '../../../assets/styles/less/components/selectField/selectField.entry.css';/* empty css */
3
- import { splitProps as te, createSignal as A, createMemo as re, createEffect as H, Show as x, For as ne } from "solid-js";
4
- import $ from "clsx";
1
+ import { createComponent as i, addEventListener as Y, use as A, insert as m, effect as L, memo as k, setAttribute as v, className as Z, template as M, delegateEvents as ee } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/selectField/selectField.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { splitProps as te, createSignal as $, createMemo as re, createEffect as V, Show as x, For as ne } from "solid-js";
5
+ import y from "clsx";
5
6
  import { DropdownMenu as le } from "./dropdownMenu.js";
6
- import { mergeRefs as ae } from "../../../primitives/mergeRefs.js";
7
- import { TextFieldWrapper as se } from "../textField/textFieldWrapper.js";
7
+ import { mergeRefs as se } from "../../../primitives/mergeRefs.js";
8
+ import { TextFieldWrapper as ae } from "../textField/textFieldWrapper.js";
8
9
  import { Chip as ie } from "../../dataDisplay/chip/chip.js";
9
- import { Icon as R } from "../../base/icon/icon.js";
10
- var W = /* @__PURE__ */ M("<span class=smwb-select-field__values>"), oe = /* @__PURE__ */ M("<span class=smwb-select-field__search><span class=smwb-select-field__search-text></span><input class=smwb-select-field__search-input type=text data-testid=search-input>"), ue = /* @__PURE__ */ M("<span role=button aria-haspopup=listbox data-testid=select-field><span class=smwb-select-field__search-wrapper></span><span class=smwb-select-field__actions>");
11
- function T(p) {
10
+ import { Icon as H } from "../../base/icon/icon.js";
11
+ var R = /* @__PURE__ */ M("<span class=smwb-select-field__values>"), oe = /* @__PURE__ */ M("<span class=smwb-select-field__search><span class=smwb-select-field__search-text></span><input class=smwb-select-field__search-input type=text data-testid=search-input>"), ue = /* @__PURE__ */ M("<span role=button aria-haspopup=listbox data-testid=select-field><span class=smwb-select-field__search-wrapper></span><span class=smwb-select-field__actions>");
12
+ function W(p) {
12
13
  p.preventDefault(), p.stopPropagation();
13
14
  }
14
- function we(p) {
15
- const [e] = te(p, ["class", "value", "defaultValue", "onChange", "disabled", "readOnly", "name", "multiple", "menuMaxHeight", "menuMiddleware", "menuNoItemsMessage", "menuContainer", "search", "chips", "isFocused", "error", "items", "label", "variant", "fullWidth", "helperText", "onSearch", "resetSearch", "isLoading", "inline", "endAdornment", "hideSelectArrowIcon", "optionRenderer", "clearable", "creatable", "onCreate", "virtualized", "itemHeight", "aria-label", "id", "ref"]), I = () => e.variant ?? "outlined", [o, f] = A(!1), [z, N] = A(e.defaultValue), [h, b] = A(""), P = e.value != null;
15
+ function _e(p) {
16
+ const [e] = te(p, ["class", "value", "defaultValue", "onChange", "disabled", "readOnly", "name", "multiple", "menuMaxHeight", "menuMiddleware", "menuNoItemsMessage", "menuContainer", "search", "chips", "isFocused", "error", "items", "label", "variant", "size", "fullWidth", "helperText", "onSearch", "resetSearch", "isLoading", "inline", "endAdornment", "hideSelectArrowIcon", "optionRenderer", "clearable", "creatable", "onCreate", "virtualized", "itemHeight", "aria-label", "id", "ref"]), I = () => e.variant ?? "outlined", [o, f] = $(!1), [T, N] = $(e.defaultValue), [h, b] = $(""), P = e.value != null;
16
17
  let g, w, D;
17
- const u = () => P ? e.value : z(), y = () => !!e.isFocused || o(), _ = re(() => {
18
+ const u = () => P ? e.value : T(), C = () => !!e.isFocused || o(), _ = re(() => {
18
19
  const t = u();
19
20
  if (Array.isArray(t)) return e.items.filter((l) => t.includes(l.value));
20
21
  if (t == null || t === "") return [];
21
22
  const n = e.items.find((l) => l.value === t);
22
23
  return n ? [n] : [];
23
- }), C = (t, n) => {
24
+ }), S = (t, n) => {
24
25
  e.onChange?.(t, {
25
26
  ...p,
26
27
  value: n,
@@ -35,9 +36,9 @@ function we(p) {
35
36
  }, U = (t) => {
36
37
  !e.readOnly && [" ", "ArrowUp", "ArrowDown", "Enter"].includes(t.key) && (t.preventDefault(), f(!o()));
37
38
  };
38
- H(() => {
39
- (!y() || e.search === "menu" && !o()) && (b(""), e.resetSearch?.());
40
- }), H(() => {
39
+ V(() => {
40
+ (!C() || e.search === "menu" && !o()) && (b(""), e.resetSearch?.());
41
+ }), V(() => {
41
42
  u(), w && (w.scrollLeft = w.scrollWidth);
42
43
  });
43
44
  const q = (t, n) => {
@@ -45,18 +46,18 @@ function we(p) {
45
46
  if (e.multiple) {
46
47
  const c = u();
47
48
  l = (Array.isArray(c) ? c : [c].filter(Boolean)).slice();
48
- const a = l.findIndex((s) => s === n.value);
49
- a === -1 ? l.push(n.value) : l.splice(a, 1);
49
+ const s = l.findIndex((a) => a === n.value);
50
+ s === -1 ? l.push(n.value) : l.splice(s, 1);
50
51
  } else
51
52
  l = u() === n.value ? "" : n.value;
52
- h() && b(""), e.multiple || (f(!1), g?.focus()), C(t, l);
53
- }, E = (t) => {
53
+ h() && b(""), e.multiple || (f(!1), g?.focus()), S(t, l);
54
+ }, z = (t) => {
54
55
  b(t.currentTarget.value), e.onSearch?.(t), o() || f(!0);
55
56
  }, G = (t) => (n) => {
56
57
  const l = u();
57
- Array.isArray(l) && C(n, l.filter((c) => t !== c));
58
+ Array.isArray(l) && S(n, l.filter((c) => t !== c));
58
59
  }, J = (t) => {
59
- C(t, []);
60
+ S(t, []);
60
61
  }, Q = () => {
61
62
  if (e.onSearch) return e.items;
62
63
  const t = h();
@@ -71,7 +72,7 @@ function we(p) {
71
72
  }
72
73
  };
73
74
  };
74
- return [i(se, {
75
+ return [i(ae, {
75
76
  get label() {
76
77
  return e.label;
77
78
  },
@@ -85,7 +86,7 @@ function we(p) {
85
86
  return e.disabled;
86
87
  },
87
88
  get class() {
88
- return e.class;
89
+ return y(e.class, e.size && e.size !== "medium" && `smwb-text-field_size-${e.size}`);
89
90
  },
90
91
  get error() {
91
92
  return e.error;
@@ -97,7 +98,7 @@ function we(p) {
97
98
  return !!_().length || !!h();
98
99
  },
99
100
  get isFocused() {
100
- return y();
101
+ return C();
101
102
  },
102
103
  get inline() {
103
104
  return e.inline;
@@ -105,56 +106,59 @@ function we(p) {
105
106
  get children() {
106
107
  var t = ue(), n = t.firstChild, l = n.nextSibling;
107
108
  t.$$keydown = U, t.addEventListener("focus", K), Y(t, "mousedown", e.disabled || e.readOnly ? void 0 : j, !0);
108
- var c = ae(e.ref, (r) => g = r);
109
- return typeof c == "function" && S(c, t), S((r) => w = r, n), m(n, i(x, {
109
+ var c = se(e.ref, (r) => g = r);
110
+ return typeof c == "function" && A(c, t), A((r) => w = r, n), m(n, i(x, {
110
111
  get when() {
111
112
  return e.chips;
112
113
  },
113
114
  get fallback() {
114
115
  return (() => {
115
- var r = W();
116
- return m(r, () => _().map((a) => a.text).join(", ")), r;
116
+ var r = R();
117
+ return m(r, () => _().map((s) => s.text).join(", ")), r;
117
118
  })();
118
119
  },
119
120
  get children() {
120
- var r = W();
121
+ var r = R();
121
122
  return m(r, i(ne, {
122
123
  get each() {
123
124
  return _();
124
125
  },
125
- children: (a) => i(ie, {
126
+ children: (s) => i(ie, {
126
127
  get label() {
127
- return a.text;
128
+ return s.text;
129
+ },
130
+ get size() {
131
+ return e.size === "small" ? "small" : "medium";
128
132
  },
129
133
  get onDelete() {
130
- return G(a.value);
134
+ return G(s.value);
131
135
  },
132
- onDeleteMouseDown: T
136
+ onDeleteMouseDown: W
133
137
  })
134
138
  })), r;
135
139
  }
136
140
  }), null), m(n, i(x, {
137
141
  get when() {
138
- return V(() => !!(e.search && typeof e.search == "boolean"))() && !e.readOnly;
142
+ return k(() => !!(e.search && typeof e.search == "boolean"))() && !e.readOnly;
139
143
  },
140
144
  get children() {
141
- var r = oe(), a = r.firstChild, s = a.nextSibling;
142
- return m(a, h), s.$$keydown = (d) => d.stopPropagation(), s.$$mousedown = (d) => {
145
+ var r = oe(), s = r.firstChild, a = s.nextSibling;
146
+ return m(s, h), a.$$keydown = (d) => d.stopPropagation(), a.$$mousedown = (d) => {
143
147
  d.stopPropagation(), f(!0);
144
- }, s.$$input = E, S((d) => D = d, s), k(() => s.value = h()), r;
148
+ }, a.$$input = z, A((d) => D = d, a), L(() => a.value = h()), r;
145
149
  }
146
150
  }), null), m(l, i(x, {
147
151
  get when() {
148
- return V(() => !!(Array.isArray(u()) && u().length > 0 || e.clearable && _().length > 0))() && !e.disabled;
152
+ return k(() => !!(Array.isArray(u()) && u().length > 0 || e.clearable && _().length > 0))() && !e.disabled;
149
153
  },
150
154
  get children() {
151
- return i(R, {
155
+ return i(H, {
152
156
  name: "close",
153
157
  size: 20,
154
158
  onClick: J,
155
- onMouseDown: T,
159
+ onMouseDown: W,
156
160
  get class() {
157
- return $("smwb-select-field__icon", "smwb-select-field__icon--close");
161
+ return y("smwb-select-field__icon", "smwb-select-field__icon--close");
158
162
  },
159
163
  "aria-label": "Clear selection",
160
164
  role: "button"
@@ -165,25 +169,25 @@ function we(p) {
165
169
  return !e.hideSelectArrowIcon;
166
170
  },
167
171
  get children() {
168
- return i(R, {
172
+ return i(H, {
169
173
  name: "arrow_drop_down",
170
174
  get class() {
171
- return $("smwb-select-field__icon", "smwb-select-field__icon--arrow", {
175
+ return y("smwb-select-field__icon", "smwb-select-field__icon--arrow", {
172
176
  "smwb-select-field__icon--opened": o(),
173
- "smwb-select-field__icon--focused": y(),
177
+ "smwb-select-field__icon--focused": C(),
174
178
  "smwb-select-field__icon--error": e.error
175
179
  });
176
180
  }
177
181
  });
178
182
  }
179
- }), null), k((r) => {
180
- var a = e.id, s = $("smwb-select-field", e.class, {
183
+ }), null), L((r) => {
184
+ var s = e.id, a = y("smwb-select-field", e.class, {
181
185
  "smwb-select-field--filled": I() === "filled" && e.label,
182
186
  "smwb-select-field--disabled": e.disabled,
183
187
  "smwb-select-field--search": e.search,
184
188
  "smwb-select-field--inline": e.inline
185
- }), d = e.disabled ? void 0 : 0, F = o(), O = e.disabled || void 0, L = e["aria-label"];
186
- return a !== r.e && v(t, "id", r.e = a), s !== r.t && Z(t, r.t = s), d !== r.a && v(t, "tabindex", r.a = d), F !== r.o && v(t, "aria-expanded", r.o = F), O !== r.i && v(t, "aria-disabled", r.i = O), L !== r.n && v(t, "aria-label", r.n = L), r;
189
+ }), d = e.disabled ? void 0 : 0, E = o(), F = e.disabled || void 0, O = e["aria-label"];
190
+ return s !== r.e && v(t, "id", r.e = s), a !== r.t && Z(t, r.t = a), d !== r.a && v(t, "tabindex", r.a = d), E !== r.o && v(t, "aria-expanded", r.o = E), F !== r.i && v(t, "aria-disabled", r.i = F), O !== r.n && v(t, "aria-label", r.n = O), r;
187
191
  }, {
188
192
  e: void 0,
189
193
  t: void 0,
@@ -204,7 +208,7 @@ function we(p) {
204
208
  get search() {
205
209
  return e.search === "menu";
206
210
  },
207
- onSearchInputChange: E,
211
+ onSearchInputChange: z,
208
212
  get optionRenderer() {
209
213
  return e.optionRenderer;
210
214
  },
@@ -244,6 +248,6 @@ function we(p) {
244
248
  }
245
249
  ee(["mousedown", "keydown", "input"]);
246
250
  export {
247
- we as SelectField
251
+ _e as SelectField
248
252
  };
249
253
  //# sourceMappingURL=selectField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectField.js","sources":["../../../../src/components/inputs/selectField/selectField.tsx"],"sourcesContent":["import { type JSX, For, Show, createEffect, createMemo, createSignal, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { DropdownMenu, type DropdownItem, type DropdownItemProps } from \"./dropdownMenu\";\nimport { Chip } from \"../../dataDisplay/chip\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { Icon } from \"../../base/icon\";\nimport type { MenuItemProps } from \"../../navigation/menu\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\ntype SelectEvent = Event & { currentTarget: Element; target: Element };\ntype SearchEvent = Event & { currentTarget: HTMLInputElement };\ntype SelectValue = null | string | number | (string | number | undefined | null)[];\n\nexport type OnSelectChange = (e: SelectEvent, data: SelectFieldProps) => void;\n\nexport interface SelectFieldProps {\n class?: string;\n value?: SelectValue | undefined;\n defaultValue?: null | string | number | (string | number)[];\n onChange?: OnSelectChange;\n disabled?: boolean;\n readOnly?: boolean;\n name?: string | undefined;\n multiple?: boolean;\n menuMaxHeight?: number;\n menuMiddleware?: DropdownItemProps[\"menuMiddleware\"];\n menuNoItemsMessage?: JSX.Element;\n menuContainer?: HTMLElement;\n search?: true | false | \"menu\";\n chips?: boolean;\n isFocused?: boolean;\n error?: boolean;\n items: DropdownItem[];\n label?: string;\n variant?: \"outlined\" | \"filled\";\n fullWidth?: boolean;\n helperText?: JSX.Element;\n onSearch?: (e: SearchEvent) => void;\n isLoading?: boolean;\n resetSearch?: () => void;\n inline?: boolean;\n endAdornment?: JSX.Element;\n hideSelectArrowIcon?: boolean;\n optionRenderer?: (args: MenuItemProps) => JSX.Element;\n clearable?: boolean;\n creatable?: boolean;\n onCreate?: (inputValue: string, event: SelectEvent) => void;\n virtualized?: boolean;\n itemHeight?: number;\n \"aria-label\"?: string;\n id?: string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nexport function SelectField(props: SelectFieldProps): JSX.Element {\n const [local] = splitProps(props, [\n \"class\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"disabled\",\n \"readOnly\",\n \"name\",\n \"multiple\",\n \"menuMaxHeight\",\n \"menuMiddleware\",\n \"menuNoItemsMessage\",\n \"menuContainer\",\n \"search\",\n \"chips\",\n \"isFocused\",\n \"error\",\n \"items\",\n \"label\",\n \"variant\",\n \"fullWidth\",\n \"helperText\",\n \"onSearch\",\n \"resetSearch\",\n \"isLoading\",\n \"inline\",\n \"endAdornment\",\n \"hideSelectArrowIcon\",\n \"optionRenderer\",\n \"clearable\",\n \"creatable\",\n \"onCreate\",\n \"virtualized\",\n \"itemHeight\",\n \"aria-label\",\n \"id\",\n \"ref\",\n ]);\n\n const variant = (): \"outlined\" | \"filled\" => local.variant ?? \"outlined\";\n const [isOpen, setIsOpen] = createSignal(false);\n const [valueState, setValueState] = createSignal<SelectValue | undefined>(local.defaultValue);\n const [searchValue, setSearchValue] = createSignal(\"\");\n\n const isControlled = local.value != null;\n let anchorEl: HTMLSpanElement | undefined;\n let searchWrapperEl: HTMLSpanElement | undefined;\n let searchInputEl: HTMLInputElement | undefined;\n\n const value = (): SelectValue | undefined => (isControlled ? local.value : valueState());\n const isFocused = (): boolean => !!local.isFocused || isOpen();\n\n // Selection is derived from the current value — no effect-driven sync.\n const selectedItems = createMemo<DropdownItem[]>(() => {\n const v = value();\n if (Array.isArray(v)) return local.items.filter((item) => v.includes(item.value));\n if (v === undefined || v === null || v === \"\") return [];\n const item = local.items.find((i) => i.value === v);\n return item ? [item] : [];\n });\n\n const updateValue = (event: SelectEvent, next: SelectValue | undefined): void => {\n local.onChange?.(event, { ...props, value: next, name: local.name || undefined });\n setValueState(next);\n };\n\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (event.button !== 0) return;\n event.preventDefault();\n anchorEl?.focus();\n setIsOpen(!isOpen());\n };\n\n const onClose = (): void => {\n setIsOpen(false);\n anchorEl?.focus();\n };\n\n const onFocus = (): void => {\n if (local.search === true) searchInputEl?.focus();\n };\n\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!local.readOnly && [\" \", \"ArrowUp\", \"ArrowDown\", \"Enter\"].includes(event.key)) {\n event.preventDefault();\n setIsOpen(!isOpen());\n }\n };\n\n // Reset search text when the field loses focus / menu closes.\n createEffect(() => {\n if (!isFocused() || (local.search === \"menu\" && !isOpen())) {\n setSearchValue(\"\");\n local.resetSearch?.();\n }\n });\n\n // Keep the multi-value scroller pinned to the end.\n createEffect(() => {\n value();\n if (searchWrapperEl) searchWrapperEl.scrollLeft = searchWrapperEl.scrollWidth;\n });\n\n const onItemClick = (event: SelectEvent, item: DropdownItem): void => {\n let next: SelectValue | undefined;\n if (local.multiple) {\n const current = value();\n const valueArray = (Array.isArray(current) ? current : [current].filter(Boolean)) as Array<string | number | undefined | null>;\n next = valueArray.slice();\n const idx = next.findIndex((el) => el === item.value);\n if (idx === -1) next.push(item.value);\n else next.splice(idx, 1);\n } else {\n next = value() === item.value ? \"\" : item.value;\n }\n if (searchValue()) setSearchValue(\"\");\n if (!local.multiple) {\n setIsOpen(false);\n anchorEl?.focus();\n }\n updateValue(event, next);\n };\n\n const onSearchInputChange = (event: SearchEvent): void => {\n setSearchValue(event.currentTarget.value);\n local.onSearch?.(event);\n if (!isOpen()) setIsOpen(true);\n };\n\n const onDeleteChip = (currentValue: string | number | undefined | null) => (event: SelectEvent): void => {\n const current = value();\n if (Array.isArray(current)) {\n updateValue(event, current.filter((v) => currentValue !== v));\n }\n };\n\n const onResetSelected: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n updateValue(event, []);\n };\n\n const filteredItems = (): DropdownItem[] => {\n if (local.onSearch) return local.items;\n const sv = searchValue();\n if (sv) return local.items.filter((el) => el.text.search(new RegExp(sv, \"i\")) !== -1);\n return local.items;\n };\n\n const createOption = (): DropdownItemProps[\"createOption\"] => {\n const sv = searchValue();\n if (local.creatable && sv && !local.items.some((i) => i.text.toLowerCase() === sv.toLowerCase())) {\n return {\n text: `Создать \"${sv}\"`,\n onCreate: (event) => {\n local.onCreate?.(sv, event);\n setSearchValue(\"\");\n setIsOpen(false);\n },\n };\n }\n return undefined;\n };\n\n return (\n <>\n <TextFieldWrapper\n label={local.label}\n helperText={local.helperText}\n variant={variant()}\n disabled={local.disabled}\n class={local.class}\n error={local.error}\n fullWidth={local.fullWidth}\n isFilledState={!!selectedItems().length || !!searchValue()}\n isFocused={isFocused()}\n inline={local.inline}\n >\n <span\n ref={mergeRefs(local.ref, (el) => (anchorEl = el as HTMLSpanElement))}\n id={local.id}\n class={cn(\"smwb-select-field\", local.class, {\n \"smwb-select-field--filled\": variant() === \"filled\" && local.label,\n \"smwb-select-field--disabled\": local.disabled,\n \"smwb-select-field--search\": local.search,\n \"smwb-select-field--inline\": local.inline,\n })}\n tabindex={local.disabled ? undefined : 0}\n role=\"button\"\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen()}\n aria-disabled={local.disabled || undefined}\n aria-label={local[\"aria-label\"]}\n onMouseDown={local.disabled || local.readOnly ? undefined : onMouseDown}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n data-testid=\"select-field\"\n >\n <span class=\"smwb-select-field__search-wrapper\" ref={(el) => (searchWrapperEl = el)}>\n <Show\n when={local.chips}\n fallback={<span class=\"smwb-select-field__values\">{selectedItems().map((el) => el.text).join(\", \")}</span>}\n >\n <span class=\"smwb-select-field__values\">\n <For each={selectedItems()}>\n {(item) => (\n <Chip label={item.text} onDelete={onDeleteChip(item.value)} onDeleteMouseDown={stopEvent} />\n )}\n </For>\n </span>\n </Show>\n <Show when={local.search && typeof local.search === \"boolean\" && !local.readOnly}>\n <span class=\"smwb-select-field__search\">\n <span class=\"smwb-select-field__search-text\">{searchValue()}</span>\n <input\n class=\"smwb-select-field__search-input\"\n ref={(el) => (searchInputEl = el)}\n type=\"text\"\n value={searchValue()}\n onInput={onSearchInputChange}\n onMouseDown={(event) => {\n event.stopPropagation();\n setIsOpen(true);\n }}\n onKeyDown={(event) => event.stopPropagation()}\n data-testid=\"search-input\"\n />\n </span>\n </Show>\n </span>\n <span class=\"smwb-select-field__actions\">\n <Show\n when={\n ((Array.isArray(value()) && (value() as unknown[]).length > 0) ||\n (local.clearable && selectedItems().length > 0)) &&\n !local.disabled\n }\n >\n <Icon\n name=\"close\"\n size={20}\n onClick={onResetSelected}\n onMouseDown={stopEvent}\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--close\")}\n aria-label=\"Clear selection\"\n role=\"button\"\n />\n </Show>\n {local.endAdornment}\n <Show when={!local.hideSelectArrowIcon}>\n <Icon\n name=\"arrow_drop_down\"\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--arrow\", {\n \"smwb-select-field__icon--opened\": isOpen(),\n \"smwb-select-field__icon--focused\": isFocused(),\n \"smwb-select-field__icon--error\": local.error,\n })}\n />\n </Show>\n </span>\n </span>\n </TextFieldWrapper>\n <DropdownMenu\n anchorElement={() => anchorEl ?? null}\n menuMaxHeight={local.menuMaxHeight}\n menuMiddleware={local.menuMiddleware}\n search={local.search === \"menu\"}\n onSearchInputChange={onSearchInputChange}\n optionRenderer={local.optionRenderer}\n items={filteredItems()}\n searchValue={searchValue()}\n isOpen={isOpen()}\n onClose={onClose}\n onItemClick={onItemClick}\n value={value()}\n isLoading={local.isLoading}\n menuNoItemsMessage={local.menuNoItemsMessage}\n container={local.menuContainer}\n virtualized={local.virtualized}\n itemHeight={local.itemHeight}\n createOption={createOption()}\n />\n </>\n );\n}\n\nexport default SelectField;\n"],"names":["stopEvent","event","preventDefault","stopPropagation","SelectField","props","local","splitProps","variant","isOpen","setIsOpen","createSignal","valueState","setValueState","defaultValue","searchValue","setSearchValue","isControlled","value","anchorEl","searchWrapperEl","searchInputEl","isFocused","selectedItems","createMemo","v","Array","isArray","items","filter","item","includes","find","i","updateValue","next","onChange","name","undefined","onMouseDown","button","focus","onClose","onFocus","search","onKeyDown","readOnly","key","createEffect","resetSearch","scrollLeft","scrollWidth","onItemClick","multiple","current","Boolean","slice","idx","findIndex","el","push","splice","onSearchInputChange","currentTarget","onSearch","onDeleteChip","currentValue","onResetSelected","filteredItems","sv","text","RegExp","createOption","creatable","some","toLowerCase","onCreate","_$createComponent","TextFieldWrapper","label","helperText","disabled","class","error","fullWidth","isFilledState","length","inline","children","_el$","_tmpl$3","_el$2","firstChild","_el$7","nextSibling","$$keydown","addEventListener","_$addEventListener","_ref$","mergeRefs","ref","_$use","_$insert","Show","when","chips","fallback","_el$8","_tmpl$","map","join","_el$3","For","each","Chip","onDelete","onDeleteMouseDown","_$memo","_el$4","_tmpl$2","_el$5","_el$6","$$mousedown","$$input","_$effect","clearable","Icon","size","onClick","cn","role","endAdornment","hideSelectArrowIcon","_p$","_v$","id","_v$2","_v$3","_v$4","_v$5","_v$6","e","_$setAttribute","t","_$className","a","o","n","DropdownMenu","anchorElement","menuMaxHeight","menuMiddleware","optionRenderer","isLoading","menuNoItemsMessage","container","menuContainer","virtualized","itemHeight","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"selectField.js","sources":["../../../../src/components/inputs/selectField/selectField.tsx"],"sourcesContent":["import { type JSX, For, Show, createEffect, createMemo, createSignal, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { DropdownMenu, type DropdownItem, type DropdownItemProps } from \"./dropdownMenu\";\nimport { Chip } from \"../../dataDisplay/chip\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { Icon } from \"../../base/icon\";\nimport type { MenuItemProps } from \"../../navigation/menu\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\ntype SelectEvent = Event & { currentTarget: Element; target: Element };\ntype SearchEvent = Event & { currentTarget: HTMLInputElement };\ntype SelectValue = null | string | number | (string | number | undefined | null)[];\n\nexport type OnSelectChange = (e: SelectEvent, data: SelectFieldProps) => void;\n\nexport interface SelectFieldProps {\n class?: string;\n value?: SelectValue | undefined;\n defaultValue?: null | string | number | (string | number)[];\n onChange?: OnSelectChange;\n disabled?: boolean;\n readOnly?: boolean;\n name?: string | undefined;\n multiple?: boolean;\n menuMaxHeight?: number;\n menuMiddleware?: DropdownItemProps[\"menuMiddleware\"];\n menuNoItemsMessage?: JSX.Element;\n menuContainer?: HTMLElement;\n search?: true | false | \"menu\";\n chips?: boolean;\n isFocused?: boolean;\n error?: boolean;\n items: DropdownItem[];\n label?: string;\n variant?: \"outlined\" | \"filled\";\n /** Height of the field, as for TextField: `small` (40px, for toolbars), `medium` (default) or `large`. */\n size?: \"small\" | \"medium\" | \"large\";\n fullWidth?: boolean;\n helperText?: JSX.Element;\n onSearch?: (e: SearchEvent) => void;\n isLoading?: boolean;\n resetSearch?: () => void;\n inline?: boolean;\n endAdornment?: JSX.Element;\n hideSelectArrowIcon?: boolean;\n optionRenderer?: (args: MenuItemProps) => JSX.Element;\n clearable?: boolean;\n creatable?: boolean;\n onCreate?: (inputValue: string, event: SelectEvent) => void;\n virtualized?: boolean;\n itemHeight?: number;\n \"aria-label\"?: string;\n id?: string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nexport function SelectField(props: SelectFieldProps): JSX.Element {\n const [local] = splitProps(props, [\n \"class\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"disabled\",\n \"readOnly\",\n \"name\",\n \"multiple\",\n \"menuMaxHeight\",\n \"menuMiddleware\",\n \"menuNoItemsMessage\",\n \"menuContainer\",\n \"search\",\n \"chips\",\n \"isFocused\",\n \"error\",\n \"items\",\n \"label\",\n \"variant\",\n \"size\",\n \"fullWidth\",\n \"helperText\",\n \"onSearch\",\n \"resetSearch\",\n \"isLoading\",\n \"inline\",\n \"endAdornment\",\n \"hideSelectArrowIcon\",\n \"optionRenderer\",\n \"clearable\",\n \"creatable\",\n \"onCreate\",\n \"virtualized\",\n \"itemHeight\",\n \"aria-label\",\n \"id\",\n \"ref\",\n ]);\n\n const variant = (): \"outlined\" | \"filled\" => local.variant ?? \"outlined\";\n const [isOpen, setIsOpen] = createSignal(false);\n const [valueState, setValueState] = createSignal<SelectValue | undefined>(local.defaultValue);\n const [searchValue, setSearchValue] = createSignal(\"\");\n\n const isControlled = local.value != null;\n let anchorEl: HTMLSpanElement | undefined;\n let searchWrapperEl: HTMLSpanElement | undefined;\n let searchInputEl: HTMLInputElement | undefined;\n\n const value = (): SelectValue | undefined => (isControlled ? local.value : valueState());\n const isFocused = (): boolean => !!local.isFocused || isOpen();\n\n // Selection is derived from the current value — no effect-driven sync.\n const selectedItems = createMemo<DropdownItem[]>(() => {\n const v = value();\n if (Array.isArray(v)) return local.items.filter((item) => v.includes(item.value));\n if (v === undefined || v === null || v === \"\") return [];\n const item = local.items.find((i) => i.value === v);\n return item ? [item] : [];\n });\n\n const updateValue = (event: SelectEvent, next: SelectValue | undefined): void => {\n local.onChange?.(event, { ...props, value: next, name: local.name || undefined });\n setValueState(next);\n };\n\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (event.button !== 0) return;\n event.preventDefault();\n anchorEl?.focus();\n setIsOpen(!isOpen());\n };\n\n const onClose = (): void => {\n setIsOpen(false);\n anchorEl?.focus();\n };\n\n const onFocus = (): void => {\n if (local.search === true) searchInputEl?.focus();\n };\n\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!local.readOnly && [\" \", \"ArrowUp\", \"ArrowDown\", \"Enter\"].includes(event.key)) {\n event.preventDefault();\n setIsOpen(!isOpen());\n }\n };\n\n // Reset search text when the field loses focus / menu closes.\n createEffect(() => {\n if (!isFocused() || (local.search === \"menu\" && !isOpen())) {\n setSearchValue(\"\");\n local.resetSearch?.();\n }\n });\n\n // Keep the multi-value scroller pinned to the end.\n createEffect(() => {\n value();\n if (searchWrapperEl) searchWrapperEl.scrollLeft = searchWrapperEl.scrollWidth;\n });\n\n const onItemClick = (event: SelectEvent, item: DropdownItem): void => {\n let next: SelectValue | undefined;\n if (local.multiple) {\n const current = value();\n const valueArray = (Array.isArray(current) ? current : [current].filter(Boolean)) as Array<string | number | undefined | null>;\n next = valueArray.slice();\n const idx = next.findIndex((el) => el === item.value);\n if (idx === -1) next.push(item.value);\n else next.splice(idx, 1);\n } else {\n next = value() === item.value ? \"\" : item.value;\n }\n if (searchValue()) setSearchValue(\"\");\n if (!local.multiple) {\n setIsOpen(false);\n anchorEl?.focus();\n }\n updateValue(event, next);\n };\n\n const onSearchInputChange = (event: SearchEvent): void => {\n setSearchValue(event.currentTarget.value);\n local.onSearch?.(event);\n if (!isOpen()) setIsOpen(true);\n };\n\n const onDeleteChip = (currentValue: string | number | undefined | null) => (event: SelectEvent): void => {\n const current = value();\n if (Array.isArray(current)) {\n updateValue(event, current.filter((v) => currentValue !== v));\n }\n };\n\n const onResetSelected: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n updateValue(event, []);\n };\n\n const filteredItems = (): DropdownItem[] => {\n if (local.onSearch) return local.items;\n const sv = searchValue();\n if (sv) return local.items.filter((el) => el.text.search(new RegExp(sv, \"i\")) !== -1);\n return local.items;\n };\n\n const createOption = (): DropdownItemProps[\"createOption\"] => {\n const sv = searchValue();\n if (local.creatable && sv && !local.items.some((i) => i.text.toLowerCase() === sv.toLowerCase())) {\n return {\n text: `Создать \"${sv}\"`,\n onCreate: (event) => {\n local.onCreate?.(sv, event);\n setSearchValue(\"\");\n setIsOpen(false);\n },\n };\n }\n return undefined;\n };\n\n return (\n <>\n <TextFieldWrapper\n label={local.label}\n helperText={local.helperText}\n variant={variant()}\n disabled={local.disabled}\n class={cn(local.class, local.size && local.size !== \"medium\" && `smwb-text-field_size-${local.size}`)}\n error={local.error}\n fullWidth={local.fullWidth}\n isFilledState={!!selectedItems().length || !!searchValue()}\n isFocused={isFocused()}\n inline={local.inline}\n >\n <span\n ref={mergeRefs(local.ref, (el) => (anchorEl = el as HTMLSpanElement))}\n id={local.id}\n class={cn(\"smwb-select-field\", local.class, {\n \"smwb-select-field--filled\": variant() === \"filled\" && local.label,\n \"smwb-select-field--disabled\": local.disabled,\n \"smwb-select-field--search\": local.search,\n \"smwb-select-field--inline\": local.inline,\n })}\n tabindex={local.disabled ? undefined : 0}\n role=\"button\"\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen()}\n aria-disabled={local.disabled || undefined}\n aria-label={local[\"aria-label\"]}\n onMouseDown={local.disabled || local.readOnly ? undefined : onMouseDown}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n data-testid=\"select-field\"\n >\n <span class=\"smwb-select-field__search-wrapper\" ref={(el) => (searchWrapperEl = el)}>\n <Show\n when={local.chips}\n fallback={<span class=\"smwb-select-field__values\">{selectedItems().map((el) => el.text).join(\", \")}</span>}\n >\n <span class=\"smwb-select-field__values\">\n <For each={selectedItems()}>\n {(item) => (\n <Chip\n label={item.text}\n size={local.size === \"small\" ? \"small\" : \"medium\"}\n onDelete={onDeleteChip(item.value)}\n onDeleteMouseDown={stopEvent}\n />\n )}\n </For>\n </span>\n </Show>\n <Show when={local.search && typeof local.search === \"boolean\" && !local.readOnly}>\n <span class=\"smwb-select-field__search\">\n <span class=\"smwb-select-field__search-text\">{searchValue()}</span>\n <input\n class=\"smwb-select-field__search-input\"\n ref={(el) => (searchInputEl = el)}\n type=\"text\"\n value={searchValue()}\n onInput={onSearchInputChange}\n onMouseDown={(event) => {\n event.stopPropagation();\n setIsOpen(true);\n }}\n onKeyDown={(event) => event.stopPropagation()}\n data-testid=\"search-input\"\n />\n </span>\n </Show>\n </span>\n <span class=\"smwb-select-field__actions\">\n <Show\n when={\n ((Array.isArray(value()) && (value() as unknown[]).length > 0) ||\n (local.clearable && selectedItems().length > 0)) &&\n !local.disabled\n }\n >\n <Icon\n name=\"close\"\n size={20}\n onClick={onResetSelected}\n onMouseDown={stopEvent}\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--close\")}\n aria-label=\"Clear selection\"\n role=\"button\"\n />\n </Show>\n {local.endAdornment}\n <Show when={!local.hideSelectArrowIcon}>\n <Icon\n name=\"arrow_drop_down\"\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--arrow\", {\n \"smwb-select-field__icon--opened\": isOpen(),\n \"smwb-select-field__icon--focused\": isFocused(),\n \"smwb-select-field__icon--error\": local.error,\n })}\n />\n </Show>\n </span>\n </span>\n </TextFieldWrapper>\n <DropdownMenu\n anchorElement={() => anchorEl ?? null}\n menuMaxHeight={local.menuMaxHeight}\n menuMiddleware={local.menuMiddleware}\n search={local.search === \"menu\"}\n onSearchInputChange={onSearchInputChange}\n optionRenderer={local.optionRenderer}\n items={filteredItems()}\n searchValue={searchValue()}\n isOpen={isOpen()}\n onClose={onClose}\n onItemClick={onItemClick}\n value={value()}\n isLoading={local.isLoading}\n menuNoItemsMessage={local.menuNoItemsMessage}\n container={local.menuContainer}\n virtualized={local.virtualized}\n itemHeight={local.itemHeight}\n createOption={createOption()}\n />\n </>\n );\n}\n\nexport default SelectField;\n"],"names":["stopEvent","event","preventDefault","stopPropagation","SelectField","props","local","splitProps","variant","isOpen","setIsOpen","createSignal","valueState","setValueState","defaultValue","searchValue","setSearchValue","isControlled","value","anchorEl","searchWrapperEl","searchInputEl","isFocused","selectedItems","createMemo","v","Array","isArray","items","filter","item","includes","find","i","updateValue","next","onChange","name","undefined","onMouseDown","button","focus","onClose","onFocus","search","onKeyDown","readOnly","key","createEffect","resetSearch","scrollLeft","scrollWidth","onItemClick","multiple","current","Boolean","slice","idx","findIndex","el","push","splice","onSearchInputChange","currentTarget","onSearch","onDeleteChip","currentValue","onResetSelected","filteredItems","sv","text","RegExp","createOption","creatable","some","toLowerCase","onCreate","_$createComponent","TextFieldWrapper","label","helperText","disabled","cn","class","size","error","fullWidth","isFilledState","length","inline","children","_el$","_tmpl$3","_el$2","firstChild","_el$7","nextSibling","$$keydown","addEventListener","_$addEventListener","_ref$","mergeRefs","ref","_$use","_$insert","Show","when","chips","fallback","_el$8","_tmpl$","map","join","_el$3","For","each","Chip","onDelete","onDeleteMouseDown","_$memo","_el$4","_tmpl$2","_el$5","_el$6","$$mousedown","$$input","_$effect","clearable","Icon","onClick","role","endAdornment","hideSelectArrowIcon","_p$","_v$","id","_v$2","_v$3","_v$4","_v$5","_v$6","e","_$setAttribute","t","_$className","a","o","n","DropdownMenu","anchorElement","menuMaxHeight","menuMiddleware","optionRenderer","isLoading","menuNoItemsMessage","container","menuContainer","virtualized","itemHeight","_$delegateEvents"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { createComponent as c, use as ce, spread as ve, mergeProps as he, insert as x, effect as R, style as K, addEventListener as Te, setAttribute as l, className as be, setStyleProperty as Me, memo as Ve, isServer as fe, template as V, delegateEvents as Ce } from "solid-js/web";
2
- import '../../../assets/styles/less/components/slider/slider.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/slider/slider.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import { Show as P, mergeProps as ge, splitProps as we, createSignal as Z, onMount as xe, onCleanup as re, For as ne } from "solid-js";
4
5
  import ie from "clsx";
5
6
  import { toPercent as M, coordY as _e, rescale as se, coordX as pe } from "./utils.js";
@@ -339,7 +340,7 @@ function Ye(v) {
339
340
  }
340
341
  });
341
342
  }
342
- function Ge(v) {
343
+ function Je(v) {
343
344
  const C = v.range === !0 || Array.isArray(v.value) || Array.isArray(v.defaultValue);
344
345
  return c(P, {
345
346
  when: C,
@@ -353,6 +354,6 @@ function Ge(v) {
353
354
  }
354
355
  Ce(["mousedown", "keydown"]);
355
356
  export {
356
- Ge as Slider
357
+ Je as Slider
357
358
  };
358
359
  //# sourceMappingURL=slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sources":["../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue;\n onChange?: (event: Event, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n valueField?: boolean;\n withTicks?: boolean;\n label?: string;\n helperText?: JSX.Element;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n marks?: boolean | SliderMark[];\n \"aria-label\"?: string;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction resolveMarks(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n ]);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n const isControlled = local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n ]);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const isControlled = typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n value={value()}\n onChange={(event) => updateValue(+event.currentTarget.value, event)}\n variant=\"filled\"\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","isVertical","normalize","arr","lo","hi","isControlled","undefined","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","isServer","document","removeEventListener","onMouseDown","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","idx","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","label","helperText","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$5","_el$9","_$addEventListener","_$setAttribute","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","getAriaValueText","_v$13","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","pct","ticks","fill","_el$0","_tmpl$8","_el$1","_el$12","_el$13","_el$14","_el$16","_ref$2","$$keydown","tabindex","withTicks","_el$10","_tmpl$6","_tmpl$9","_$setStyleProperty","_el$11","_el$18","_el$19","_el$15","_tmpl$7","_$memo","valueField","TextField","type","currentTarget","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"slider.js","sources":["../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue;\n onChange?: (event: Event, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n valueField?: boolean;\n withTicks?: boolean;\n label?: string;\n helperText?: JSX.Element;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n marks?: boolean | SliderMark[];\n \"aria-label\"?: string;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction resolveMarks(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n ]);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n const isControlled = local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n ]);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const isControlled = typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n value={value()}\n onChange={(event) => updateValue(+event.currentTarget.value, event)}\n variant=\"filled\"\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","isVertical","normalize","arr","lo","hi","isControlled","undefined","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","isServer","document","removeEventListener","onMouseDown","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","idx","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","label","helperText","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$5","_el$9","_$addEventListener","_$setAttribute","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","getAriaValueText","_v$13","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","pct","ticks","fill","_el$0","_tmpl$8","_el$1","_el$12","_el$13","_el$14","_el$16","_ref$2","$$keydown","tabindex","withTicks","_el$10","_tmpl$6","_tmpl$9","_$setStyleProperty","_el$11","_el$18","_el$19","_el$15","_tmpl$7","_$memo","valueField","TextField","type","currentTarget","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":";;;;;;;;;;AA0CA,SAASA,GAAaC,GAA2CC,GAAaC,GAAaC,GAA6B;AACtH,MAAI,CAACH,EAAO,QAAO,CAAA;AACnB,MAAII,MAAMC,QAAQL,CAAK,EAAG,QAAOA;AACjC,QAAMM,IAAIH,KAAQA,IAAO,IAAIA,KAAQD,IAAMD,KAAO,IAC5CM,IAAuB,CAAA;AAC7B,WAASC,IAAIP,GAAKO,KAAKN,IAAM,MAAMM,KAAKF;AACtCC,IAAAA,EAAOE,KAAK;AAAA,MAAEC,OAAOC,KAAKC,MAAMJ,IAAI,GAAG,IAAI;AAAA,IAAA,CAAK;AAElD,SAAOD;AACT;AAEA,SAASM,GAAYC,GAAiC;AACpD,QAAMC,IAASC,GACb;AAAA,IAAEf,KAAK;AAAA,IAAGC,KAAK;AAAA,IAAKe,UAAU;AAAA,IAAOC,MAAM;AAAA,IAAmBC,OAAO;AAAA,IAAoBC,aAAa;AAAA,EAAA,GACtGN,CACF,GACM,CAACO,GAAOC,CAAI,IAAIC,GAAWR,GAAQ,CACvC,gBACA,SACA,YACA,OACA,OACA,QACA,YACA,SACA,QACA,SACA,cACA,SACA,QACA,SACA,eACA,SACA,oBACA,cACA,SACA,WACA,cACA,aACA,KAAK,CACN,GAEKS,IAAaA,MAAeH,EAAMD,gBAAgB,YAClDK,IAAYA,CAACjB,MAAiD;AAClE,UAAMkB,IAAMtB,MAAMC,QAAQG,CAAC,IAAIA,IAAI,CAACa,EAAMpB,KAAKoB,EAAMnB,GAAG,GAClDyB,IAAKhB,KAAKV,IAAIyB,EAAI,CAAC,KAAKL,EAAMpB,KAAKyB,EAAI,CAAC,KAAKL,EAAMnB,GAAG,GACtD0B,IAAKjB,KAAKT,IAAIwB,EAAI,CAAC,KAAKL,EAAMpB,KAAKyB,EAAI,CAAC,KAAKL,EAAMnB,GAAG;AAC5D,WAAO,CAACyB,GAAIC,CAAE;AAAA,EAChB,GAEMC,IAAeR,EAAMX,UAAUoB,QAC/B,CAACC,IAAYC,CAAa,IAAIC,EAA+BR,EAAUJ,EAAMa,YAAY,CAAC,GAC1FxB,IAAQA,MAAyBmB,IAAeJ,EAAUJ,EAAMX,KAAK,IAAIqB,GAAAA;AAE/E,MAAII,GACAC,IAAqB,GACrBC,IAAY;AAEhB,QAAMC,IAAWA,MAAoBvC,GAAasB,EAAMrB,OAAOqB,EAAMpB,KAAKoB,EAAMnB,KAAKmB,EAAMlB,IAAI,GAEzFoC,IAAkBA,CAACC,MAA2C;AAClE,UAAMC,IAAON,GAAaO,sBAAAA;AAC1B,QAAI,CAACD,EAAM,QAAOpB,EAAMpB;AACxB,QAAIuB,KAAc;AAChB,YAAMmB,IAAIC,GAAOJ,CAAK,IAAIC,EAAKI;AAC/B,aAAOC,GAAQL,EAAKM,SAASJ,GAAG,CAAC,GAAGF,EAAKM,MAAM,GAAG,CAAC1B,EAAMpB,KAAKoB,EAAMnB,GAAG,GAAG;AAAA,QAAEC,MAAMkB,EAAMlB;AAAAA,MAAAA,CAAM;AAAA,IAChG;AACA,UAAM6C,IAAIC,GAAOT,CAAK,IAAIC,EAAKS;AAC/B,WAAOJ,GAAQE,GAAG,CAAC,GAAGP,EAAKU,KAAK,GAAG,CAAC9B,EAAMpB,KAAKoB,EAAMnB,GAAG,GAAG;AAAA,MAAEC,MAAMkB,EAAMlB;AAAAA,IAAAA,CAAM;AAAA,EACjF,GAEMiD,KAASA,CAACC,GAAwBb,MAAuB;AAC7D,UAAMb,IAAKhB,KAAKV,IAAIoD,EAAK,CAAC,GAAGA,EAAK,CAAC,CAAC,GAC9BzB,IAAKjB,KAAKT,IAAImD,EAAK,CAAC,GAAGA,EAAK,CAAC,CAAC,GAC9BC,IAA4B,CAAC3C,KAAKT,IAAImB,EAAMpB,KAAK0B,CAAE,GAAGhB,KAAKV,IAAIoB,EAAMnB,KAAK0B,CAAE,CAAC;AACnF,IAAKC,KAAcG,EAAcsB,CAAO,GACxCjC,EAAMkC,WAAWf,GAAOc,GAASxC,CAAK;AAAA,EACxC,GAEM0C,IAAYA,CAACC,GAAajB,MAAuB;AACrD,UAAMkB,IAAUhD,EAAAA,GACV2C,IAAyB,CAACK,EAAQ,CAAC,GAAGA,EAAQ,CAAC,CAAC;AACtDL,IAAAA,EAAKjB,CAAW,IAAIzB,KAAKT,IAAImB,EAAMpB,KAAKU,KAAKV,IAAIoB,EAAMnB,KAAKuD,CAAG,CAAC,GAChEL,GAAOC,GAAMb,CAAK;AAAA,EACpB,GAEMmB,IAAYA,CAACF,MAAsB;AACvC,UAAMC,IAAUhD,EAAAA;AAChB0B,IAAAA,IAAczB,KAAKiD,IAAIH,IAAMC,EAAQ,CAAC,CAAC,KAAK/C,KAAKiD,IAAIH,IAAMC,EAAQ,CAAC,CAAC,IAAI,IAAI;AAAA,EAC/E,GAEMG,IAAcA,CAACrB,MAAyC;AAC5D,IAAKH,MACLG,EAAMsB,eAAAA,GACNN,EAAUjB,EAAgBC,CAAK,GAAGA,CAAK;AAAA,EACzC,GACMuB,IAAaA,MAAY;AAI7B,IAHA1B,IAAY,IAGR2B,CAAAA,OACJC,SAASC,oBAAoB,aAAaL,CAAW,GACrDI,SAASC,oBAAoB,WAAWH,CAAU,GAClDE,SAASC,oBAAoB,aAAaL,CAAW,GACrDI,SAASC,oBAAoB,YAAYH,CAAU;AAAA,EACrD,GACMI,IAA8D3B,CAAAA,MAAU;AAC5E,QAAInB,EAAMJ,YAAYuB,EAAM4B,WAAW,EAAG;AAC1C,UAAMX,IAAMlB,EAAgBC,CAAK;AACjCmB,IAAAA,EAAUF,CAAG,GACbpB,IAAY,IACZmB,EAAUC,GAAKjB,CAAK,GACpByB,SAASI,iBAAiB,aAAaR,CAAW,GAClDI,SAASI,iBAAiB,WAAWN,CAAU;AAAA,EACjD,GACMO,IAAqBA,CAAC9B,MAA4B;AACtD,QAAInB,EAAMJ,SAAU;AACpB,UAAMwC,IAAMlB,EAAgBC,CAAK;AACjCmB,IAAAA,EAAUF,CAAG,GACbpB,IAAY,IACZmB,EAAUC,GAAKjB,CAAK,GACpByB,SAASI,iBAAiB,aAAaR,CAAW,GAClDI,SAASI,iBAAiB,YAAYN,CAAU;AAAA,EAClD;AAEAQ,EAAAA,GAAQ,MAAM;AACZ,IAAKpC,MACLA,EAAYkC,iBAAiB,cAAcC,CAAkB,GAC7DE,GAAU,MAAMrC,GAAa+B,oBAAoB,cAAcI,CAAkB,CAAC;AAAA,EACpF,CAAC,GACDE,GAAUT,CAAU;AAEpB,QAAMU,IAAiBA,CAACC,MAAmElC,CAAAA,MAAU;AACnG,QAAInB,EAAMJ,SAAU;AACpB,UAAM0D,IAAQtD,EAAMlB,QAAQkB,EAAMlB,OAAO,IAAIkB,EAAMlB,OAAO,GACpDuD,IAAUhD,EAAAA;AAChB,QAAI2C,IAAsB;AAC1B,IAAIb,EAAMoC,QAAQ,eAAepC,EAAMoC,QAAQ,cAAavB,IAAOK,EAAQgB,CAAG,IAAIC,IACzEnC,EAAMoC,QAAQ,gBAAgBpC,EAAMoC,QAAQ,YAAWvB,IAAOK,EAAQgB,CAAG,IAAIC,IAC7EnC,EAAMoC,QAAQ,SAAQvB,IAAOhC,EAAMpB,MACnCuC,EAAMoC,QAAQ,UAAOvB,IAAOhC,EAAMnB,MACvCmD,MAAS,SACXb,EAAMsB,eAAAA,GACN1B,IAAcsC,GACdlB,EAAUH,GAAMb,CAAK;AAAA,EAEzB,GAEMqC,KAAUA,MACdC,GAAG,eAAe,sBAAsBzD,EAAM0D,OAAO;AAAA,IACnD,yBAAyB1D,EAAMJ;AAAAA,IAC/B,yBAAyBO,EAAAA;AAAAA,EAAW,GACnCH,EAAMH,SAAS,YAAY,oBAAoBG,EAAMH,IAAI,IAAIG,EAAMF,UAAU,aAAa,qBAAqBE,EAAMF,KAAK,EAAE;AAEjI,SAAA6D,EACGC,IAAgB;AAAA,IAAA,IAACC,QAAK;AAAA,aAAE7D,EAAM6D;AAAAA,IAAK;AAAA,IAAA,IAAEC,aAAU;AAAA,aAAE9D,EAAM8D;AAAAA,IAAU;AAAA,IAAA,IAAElE,WAAQ;AAAA,aAAEI,EAAMJ;AAAAA,IAAQ;AAAA,IAAA,IAAEmE,QAAK;AAAA,aAAE/D,EAAM+D;AAAAA,IAAK;AAAA,IAAEC,WAAS;AAAA,IAACC,QAAM;AAAA,IAAA,IAAAC,WAAA;AAAA,UAAAC,IAAAC,MAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAAAD,EAAAE;AAAAJ,MAAAA,EAAAK,cAEjC5B;AAAW,UAAA6B,IAA7FC,GAAU5E,EAAM6E,KAAMC,CAAAA,MAAQhE,IAAcgE,CAAsB;AAAC,oBAAAH,KAAA,cAAAI,GAAAJ,GAAAN,CAAA,GAAAW,GAAAX,GAAAY,GAAA;AAAA,QAAA,IAAA,QAAA;AAAA,iBAAmCzB,GAAAA;AAAAA,QAAS;AAAA,MAAA,GAAMvD,CAAI,GAAA,IAAA,EAAA,GAAAiF,EAAAb,GAAAV,EACjIwB,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAEnE,EAAAA,EAAWoE,SAAS;AAAA,QAAC;AAAA,QAAA,IAAAnB,WAAA;AAAA,cAAAoB,IAAAC,GAAAA;AAAAL,iBAAAA,EAAAI,GAAA3B,EAE5B6B,IAAG;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAExE,EAAAA;AAAAA,YAAU;AAAA,YAAAiD,UACjBwB,QAAC,MAAA;AAAA,kBAAAC,IAAAC,GAAAA;AAAAV,qBAAAA,EAAAS,GAAAhC,EAEEwB,GAAI;AAAA,gBAAA,IAACC,OAAI;AAAA,yBAAEM,EAAE7B,SAAS;AAAA,gBAAI;AAAA,gBAAA,IAAAK,WAAA;AAAA,sBAAA2B,IAAAC,GAAAA;AAAAZ,yBAAAA,EAAAW,GAAA,MACcH,EAAE7B,KAAK,GAAAgC;AAAAA,gBAAA;AAAA,cAAA,CAAA,CAAA,GAAAE,EAAAC,CAAAA,MAAAC,EAAAN,GAFXxF,EAAAA,IAAe;AAAA,gBAAE+F,QAAQ,GAAGC,EAAUT,EAAErG,OAAOW,EAAMpB,KAAKoB,EAAMnB,GAAG,CAAC;AAAA,cAAA,IAAQ;AAAA,gBAAEgD,MAAM,GAAGsE,EAAUT,EAAErG,OAAOW,EAAMpB,KAAKoB,EAAMnB,GAAG,CAAC;AAAA,cAAA,GAAKmH,CAAA,CAAA,GAAAL;AAAAA,YAAA,GAAA;AAAA,UAAA,CAK5K,CAAA,GAAAL;AAAAA,QAAA;AAAA,MAAA,CAAA,GAAAf,CAAA,GAAAW,EAAAb,GAAAV,EAeN6B,IAAG;AAAA,QAACC,MAAM,CAAC,GAAG,CAAC;AAAA,QAAUvB,UACtBb,QAAG,MAAA;AAAA,cAAA+C,IAAAC,GAAAA,GAAAC,IAAAF,EAAA9B;AAAAiC,iBAAAA,GAAAD,GAAA,WAgBYlD,EAAeC,CAAG,GAAC,EAAA,GAAAiD,EAAAtD,iBAAA,UADpB,MAAA;AAAA,WAAe,GAAAwD,EAAAF,GAAA,eATZ,gBAAgBjD,CAAG,EAAE,GAAA0C,EAAAU,CAAAA,MAAA;AAAA,gBAAAC,IAJ7BjD,GAAG,sBAAsB,uBAAuBJ,MAAQ,IAAI,UAAU,KAAK,EAAE,GAACsD,IAC9ExG,EAAAA,IAAe;AAAA,cAAE+F,QAAQ,GAAGC,EAAU9G,IAAQgE,CAAG,GAAGrD,EAAMpB,KAAKoB,EAAMnB,GAAG,CAAC;AAAA,YAAA,IAAQ;AAAA,cAAEgD,MAAM,GAAGsE,EAAU9G,IAAQgE,CAAG,GAAGrD,EAAMpB,KAAKoB,EAAMnB,GAAG,CAAC;AAAA,YAAA,GAAK+H,IAM9I5G,EAAMpB,KAAGiI,IACT7G,EAAMnB,KAAGiI,IACR9G,EAAMlB,MAAIiI,IACV/G,EAAMgH,OAAO,GAAGhH,EAAMgH,IAAI,IAAI3D,CAAG,MAAM5C,QAASwG,IAE5CjH,EAAMJ,UAAQsH,IAGdlH,EAAMJ,WAAW,KAAK,GAACuH,IACrBnH,EAAM,YAAY,IAAI,GAAGA,EAAM,YAAY,CAAC,IAAIqD,MAAQ,IAAI,YAAY,SAAS,KAAK5C,QAAS2G,IACzFpH,EAAMD,aAAWsH,IACpBhI,EAAAA,EAAQgE,CAAG,GAACiE,IACZjE,MAAQ,IAAIrD,EAAMpB,MAAMS,IAAQ,CAAC,GAACkI,IAClClE,MAAQ,IAAIhE,EAAAA,EAAQ,CAAC,IAAIW,EAAMnB,KAAG2I,IACjCxH,EAAMyH,mBAAmBzH,EAAMyH,iBAAiBpI,EAAAA,EAAQgE,CAAG,CAAC,IAAI5C,QAASiH,IAC1E1H,EAAMJ,YAAYa;AAASiG,mBAAAA,MAAAD,EAAAkB,KAAAC,GAAAxB,GAAAK,EAAAkB,IAAAjB,CAAA,GAAAD,EAAAoB,IAAA5B,EAAAG,GAAAO,GAAAF,EAAAoB,CAAA,GAAAjB,MAAAH,EAAAqB,KAAAtB,EAAAF,GAAA,OAAAG,EAAAqB,IAAAlB,CAAA,GAAAC,MAAAJ,EAAAsB,KAAAvB,EAAAF,GAAA,OAAAG,EAAAsB,IAAAlB,CAAA,GAAAC,MAAAL,EAAAuB,KAAAxB,EAAAF,GAAA,QAAAG,EAAAuB,IAAAlB,CAAA,GAAAC,MAAAN,EAAAwB,KAAAzB,EAAAF,GAAA,QAAAG,EAAAwB,IAAAlB,CAAA,GAAAE,MAAAR,EAAAxH,MAAAqH,EAAA1G,WAAA6G,EAAAxH,IAAAgI,IAAAC,MAAAT,EAAAyB,KAAA1B,EAAAF,GAAA,YAAAG,EAAAyB,IAAAhB,CAAA,GAAAC,MAAAV,EAAA0B,KAAA3B,EAAAF,GAAA,cAAAG,EAAA0B,IAAAhB,CAAA,GAAAC,MAAAX,EAAA2B,KAAA5B,EAAAF,GAAA,oBAAAG,EAAA2B,IAAAhB,CAAA,GAAAC,MAAAZ,EAAA4B,KAAA7B,EAAAF,GAAA,iBAAAG,EAAA4B,IAAAhB,CAAA,GAAAC,MAAAb,EAAA6B,KAAA9B,EAAAF,GAAA,iBAAAG,EAAA6B,IAAAhB,CAAA,GAAAC,MAAAd,EAAA8B,KAAA/B,EAAAF,GAAA,iBAAAG,EAAA8B,IAAAhB,CAAA,GAAAC,MAAAf,EAAA+B,KAAAhC,EAAAF,GAAA,kBAAAG,EAAA+B,IAAAhB,CAAA,GAAAE,MAAAjB,EAAAf,KAAAc,EAAAF,GAAA,iBAAAG,EAAAf,IAAAgC,CAAA,GAAAjB;AAAAA,UAAA,GAAA;AAAA,YAAAkB,GAAAlH;AAAAA,YAAAoH,GAAApH;AAAAA,YAAAqH,GAAArH;AAAAA,YAAAsH,GAAAtH;AAAAA,YAAAuH,GAAAvH;AAAAA,YAAAwH,GAAAxH;AAAAA,YAAAxB,GAAAwB;AAAAA,YAAAyH,GAAAzH;AAAAA,YAAA0H,GAAA1H;AAAAA,YAAA2H,GAAA3H;AAAAA,YAAA4H,GAAA5H;AAAAA,YAAA6H,GAAA7H;AAAAA,YAAA8H,GAAA9H;AAAAA,YAAA+H,GAAA/H;AAAAA,YAAAiF,GAAAjF;AAAAA,UAAAA,CAAA,GAAAsF,EAAA,MAAAO,EAAAjH,QAXnCA,EAAAA,EAAQgE,CAAG,CAAC,GAAA+C;AAAAA,QAAA,GAAA;AAAA,MAAA,CAcxB,GAAA,IAAA,GAAAL,EAAAC,CAAAA,MAAAC,EAAAzB,IApCO,MAAM;AACZ,cAAMiE,IAAKtC,EAAU9G,IAAQ,CAAC,GAAGW,EAAMpB,KAAKoB,EAAMnB,GAAG,GAC/C6J,IAAKvC,EAAU9G,IAAQ,CAAC,GAAGW,EAAMpB,KAAKoB,EAAMnB,GAAG,GAC/C8J,IAAW,GAAGrJ,KAAKV,IAAI6J,GAAIC,CAAE,CAAC,KAC9BE,IAAU,GAAGtJ,KAAKiD,IAAImG,IAAKD,CAAE,CAAC;AACpC,eAAOtI,MAAe;AAAA,UAAE+F,QAAQyC;AAAAA,UAAUjH,QAAQkH;AAAAA,QAAAA,IAAY;AAAA,UAAE/G,MAAM8G;AAAAA,UAAU7G,OAAO8G;AAAAA,QAAAA;AAAAA,MACzF,GAAA,GAAI5C,CAAA,CAAA,GAAA7B;AAAAA,IAAA;AAAA,EAAA,CAAA;AAoChB;AAEA,SAAS0E,GAAapJ,GAAiC;AACrD,QAAMC,IAASC,GACb;AAAA,IACEf,KAAK;AAAA,IACLC,KAAK;AAAA,IACLe,UAAU;AAAA,IACVkJ,SAAS;AAAA,IACTjJ,MAAM;AAAA,IACNC,OAAO;AAAA,IACPC,aAAa;AAAA,EAAA,GAEfN,CACF,GACM,CAACO,GAAOC,CAAI,IAAIC,GAAWR,GAAQ,CACvC,gBACA,SACA,YACA,OACA,OACA,QACA,YACA,SACA,QACA,WACA,cACA,aACA,SACA,cACA,SACA,QACA,SACA,eACA,SACA,SACA,oBACA,cACA,KAAK,CACN,GAEKqJ,IAAgB,OAAO/I,EAAMa,gBAAiB,WAAWb,EAAMa,eAAeJ,QAC9EuI,IAAcA,MAA2B,OAAOhJ,EAAMX,SAAU,WAAWW,EAAMX,QAAQoB,QACzFN,IAAaA,MAAeH,EAAMD,gBAAgB,YAClDS,KAAe,OAAOR,EAAMX,SAAU,UACtC4J,IAAaA,MAAejJ,EAAM8I,YAAY,YAE9C,CAACpI,GAAYC,CAAa,IAAIC,EAAqBmI,KAAiB/I,EAAMpB,GAAG,GAC7E,CAACsK,GAAYC,CAAa,IAAIvI,EAAa,EAAK,GAChD,CAACwI,GAAUC,CAAW,IAAIzI,EAAa,EAAK,GAC5C,CAAC0I,IAAWC,CAAY,IAAI3I,EAAa,EAAK;AAEpD,MAAIE,GACAE,IAAY;AAChB,QAAM3B,IAAQA,MAAemB,KAAgBwI,EAAAA,IAA2BtI,EAAAA,GAElE8I,IAAcA,CAACxH,GAAcb,MAAuB;AACxD,IAAIa,IAAOhC,EAAMpB,OAAOoD,IAAOhC,EAAMnB,QAChC2B,MAAcG,EAAcqB,CAAI,GACrChC,EAAMkC,WAAWf,GAAOa,GAAMvC,CAAK;AAAA,EACrC,GAEMgK,IAAgBA,CAACC,GAAkBC,MACvClI,GAAQiI,GAAU,CAAC,GAAGC,CAAa,GAAG,CAAC3J,EAAMpB,KAAKoB,EAAMnB,GAAG,GAAG;AAAA,IAAEC,MAAMkB,EAAMlB;AAAAA,EAAAA,CAAM,GAE9E0D,IAAcA,CAACrB,MAAyC;AAC5D,QAAI,CAACH,KAAa,CAACF,EAAa;AAChC,UAAMM,IAAON,EAAYO,sBAAAA,GACnBuI,IAAUhI,GAAOT,CAAK,GACtB0I,IAAUtI,GAAOJ,CAAK,GACtBuI,IAAWvJ,MAAeiB,EAAKM,UAAUmI,IAAUzI,EAAKI,OAAOoI,IAAUxI,EAAKS,MAC9EG,IAAOyH,EAAcC,GAAUvJ,EAAAA,IAAeiB,EAAKM,SAASN,EAAKU,KAAK;AAE5E,IADKsH,EAAAA,KAAYC,EAAY,EAAI,GAC7BhK,EAAAA,MAAY2C,MACXkH,EAAAA,KAAcC,EAAc,EAAI,GACrCK,EAAYxH,GAAMb,CAAK;AAAA,EACzB,GACM2I,KAAkBA,MAAY;AAGlC,IAAInH,OACJC,SAASC,oBAAoB,aAAaL,CAAW,GACrDI,SAASC,oBAAoB,WAAWH,CAAU,GAClDE,SAASC,oBAAoB,aAAaL,CAAW,GACrDI,SAASC,oBAAoB,YAAYH,CAAU;AAAA,EACrD,GACMA,IAAaA,MAAY;AAC7B1B,IAAAA,IAAY,IACRkI,EAAAA,KAAcC,EAAc,EAAK,GACjCC,EAAAA,KAAYC,EAAY,EAAK,GACjCS,GAAAA;AAAAA,EACF,GACMhH,IAA8D3B,CAAAA,MAAU;AAC5E,QAAInB,EAAMJ,YAAYuB,EAAM4B,WAAW,KAAK,CAACjC,EAAa;AAC1DE,IAAAA,IAAY;AACZ,UAAMI,IAAON,EAAYO,sBAAAA,GACnBqI,IAAWvJ,EAAAA,IAAeiB,EAAKM,UAAUP,EAAM0I,UAAUzI,EAAKI,OAAOL,EAAMyI,UAAUxI,EAAKS,MAC1FG,IAAOyH,EAAcC,GAAUvJ,EAAAA,IAAeiB,EAAKM,SAASN,EAAKU,KAAK;AAC5E,IAAKsH,EAAAA,KAAYC,EAAY,EAAI,GACjCG,EAAYxH,GAAMb,CAAK,GACvByB,SAASI,iBAAiB,aAAaR,CAAW,GAClDI,SAASI,iBAAiB,WAAWN,CAAU;AAAA,EACjD,GACMO,IAAqBA,CAAC9B,MAA4B;AACtD,QAAInB,EAAMJ,YAAY,CAACkB,EAAa;AACpCE,IAAAA,IAAY;AACZ,UAAMI,IAAON,EAAYO,sBAAAA,GACnB0I,IAAQ5I,EAAM6I,iBAAiB,CAAC;AACtC,QAAI,CAACD,EAAO;AACZ,UAAML,IAAWvJ,EAAAA,IAAeiB,EAAKM,UAAUqI,EAAMF,UAAUzI,EAAKI,OAAOuI,EAAMH,UAAUxI,EAAKS,MAC1FG,IAAOyH,EAAcC,GAAUvJ,EAAAA,IAAeiB,EAAKM,SAASN,EAAKU,KAAK;AAC5E,IAAKsH,EAAAA,KAAYC,EAAY,EAAI,GACjCG,EAAYxH,GAAMb,CAAK,GACvByB,SAASI,iBAAiB,aAAaR,CAAW,GAClDI,SAASI,iBAAiB,YAAYN,CAAU;AAAA,EAClD;AAEAQ,EAAAA,GAAQ,MAAM;AACZ,IAAKpC,MACLA,EAAYkC,iBAAiB,cAAcC,CAAkB,GAC7DE,GAAU,MAAMrC,GAAa+B,oBAAoB,cAAcI,CAAkB,CAAC;AAAA,EACpF,CAAC,GACDE,GAAU2G,EAAe;AAEzB,QAAMG,IAAkE9I,CAAAA,MAAU;AAChF,IAAI,CAACmI,GAAAA,KAAetJ,EAAMJ,cACtBuB,EAAMoC,QAAQ,eAAepC,EAAMoC,QAAQ,gBAAaiG,EAAYnK,EAAAA,KAAWW,EAAMlB,QAAQ,IAAIqC,CAAK,IACtGA,EAAMoC,QAAQ,gBAAgBpC,EAAMoC,QAAQ,cAAWiG,EAAYnK,EAAAA,KAAWW,EAAMlB,QAAQ,IAAIqC,CAAK;AAAA,EAC3G,GAEMqC,IAAUA,MACdC,GAAG,eAAezD,EAAM0D,OAAO;AAAA,IAC7B,yBAAyB1D,EAAMJ;AAAAA,IAC/B,yBAAyBsJ,EAAAA;AAAAA,IACzB,yBAAyBD,EAAAA;AAAAA,IACzB,yBAAyB9I,EAAAA;AAAAA,EAAW,GACnCH,EAAMH,SAAS,YAAY,oBAAoBG,EAAMH,IAAI,IAAIG,EAAMF,UAAU,aAAa,qBAAqBE,EAAMF,KAAK,EAAE,GAE3HoK,IAAMA,MAAc,GAAG/D,EAAU9G,EAAAA,GAASW,EAAMpB,KAAKoB,EAAMnB,GAAG,CAAC,KAC/DoC,IAAWA,MAAoBvC,GAAasB,EAAMrB,OAAOqB,EAAMpB,KAAKoB,EAAMnB,KAAKmB,EAAMlB,IAAI,GACzFqL,IAAQA,MAAgBpL,MAAMO,KAAKC,MAAMS,EAAMnB,OAAOmB,EAAMlB,QAAQ,EAAE,IAAI,CAAC,EAAEsL,KAAK,CAAC;AAEzF,SAAAzG,EACGC,IAAgB;AAAA,IAAA,IAACC,QAAK;AAAA,aAAE7D,EAAM6D;AAAAA,IAAK;AAAA,IAAA,IAAEC,aAAU;AAAA,aAAE9D,EAAM8D;AAAAA,IAAU;AAAA,IAAA,IAAElE,WAAQ;AAAA,aAAEI,EAAMJ;AAAAA,IAAQ;AAAA,IAAA,IAAEmE,QAAK;AAAA,aAAE/D,EAAM+D;AAAAA,IAAK;AAAA,IAAEC,WAAS;AAAA,IAACC,QAAM;AAAA,IAAA,IAAAC,WAAA;AAAA,UAAAmG,IAAAC,MAAAC,IAAAF,EAAA/F,YAAAkG,IAAAD,EAAAjG,YAAAmG,IAAAD,EAAA/F,aAAAiG,IAAAD,EAAAhG,aAAAkG,IAAAD,EAAApG;AAAAiG,MAAAA,EAAAvH,iBAAA,QASpH,MAAMuG,EAAa,EAAK,CAAC,GAAAgB,EAAAvH,iBAAA,SADxB,MAAMuG,EAAa,EAAI,CAAC,GAAAgB,EAAA7F,cAHpB5B;AAAW,UAAA8H,IADnBhG,GAAU5E,EAAM6E,KAAMC,CAAAA,MAAQhE,IAAcgE,CAAsB;AAAC,oBAAA8F,KAAA,cAAA7F,GAAA6F,GAAAL,CAAA,GAAAA,EAAAM,YAD7DZ,GAAYjF,GAAAuF,GAAAtF,GAAA;AAAA,QAAA,IAAA,QAAA;AAAA,iBAGhBzB,EAAAA;AAAAA,QAAS;AAAA,QAAA,IAChBsH,WAAQ;AAAA,iBAAE9K,EAAMJ,WAAW,KAAK;AAAA,QAAC;AAAA,MAAA,GAG7BK,CAAI,GAAA,IAAA,EAAA,GAAAiF,EAAAqF,GAAA5G,EAEPwB,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAEpF,EAAM+K;AAAAA,QAAS;AAAA,QAAA,IAAA7G,WAAA;AAAA,cAAA8G,IAAAC,GAAAA;AAAA/F,iBAAAA,EAAA8F,GAAArH,EAEtB6B,IAAG;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE0E,EAAAA;AAAAA,YAAO;AAAA,YAAAjG,UAAGA,MAAAgH,GAAAA;AAAAA,UAAA,CAAwC,CAAA,GAAAnF,EAAAC,CAAAA,MAAAmF,GAAAH,GAAA,OADhB,GAAGhL,EAAMlB,IAAI,EAAE,CAAA,GAAAkM;AAAAA,QAAA;AAAA,MAAA,CAAA,GAAAR,CAAA,GAAAtF,EAAAqF,GAAA5G,EAI/DwB,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAEnE,EAAAA,EAAWoE,SAAS;AAAA,QAAC;AAAA,QAAA,IAAAnB,WAAA;AAAA,cAAAkH,IAAA7F,GAAAA;AAAAL,iBAAAA,EAAAkG,GAAAzH,EAE5B6B,IAAG;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAExE,EAAAA;AAAAA,YAAU;AAAA,YAAAiD,UACjBwB,QAAC,MAAA;AAAA,kBAAA2F,IAAAzF,GAAAA;AAAAV,qBAAAA,EAAAmG,GAAA1H,EAEEwB,GAAI;AAAA,gBAAA,IAACC,OAAI;AAAA,yBAAEM,EAAE7B,SAAS;AAAA,gBAAI;AAAA,gBAAA,IAAAK,WAAA;AAAA,sBAAAoH,IAAAxF,GAAAA;AAAAZ,yBAAAA,EAAAoG,GAAA,MACc5F,EAAE7B,KAAK,GAAAyH;AAAAA,gBAAA;AAAA,cAAA,CAAA,CAAA,GAAAvF,EAAAC,CAAAA,MAAAC,EAAAoF,GAFXlL,EAAAA,IAAe;AAAA,gBAAE+F,QAAQ,GAAGC,EAAUT,EAAErG,OAAOW,EAAMpB,KAAKoB,EAAMnB,GAAG,CAAC;AAAA,cAAA,IAAQ;AAAA,gBAAEgD,MAAM,GAAGsE,EAAUT,EAAErG,OAAOW,EAAMpB,KAAKoB,EAAMnB,GAAG,CAAC;AAAA,cAAA,GAAKmH,CAAA,CAAA,GAAAqF;AAAAA,YAAA,GAAA;AAAA,UAAA,CAK5K,CAAA,GAAAD;AAAAA,QAAA;AAAA,MAAA,CAAA,GAAAZ,CAAA,GAAAtF,EAAAwF,GAAA/G,EAUJwB,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAE6D,EAAAA;AAAAA,QAAY;AAAA,QAAA,IAAA/E,WAAA;AAAA,cAAAqH,IAAAC,GAAAA;AAAAtG,iBAAAA,EAAAqG,GAAA,MACoBjM,KAAKC,MAAMF,EAAAA,CAAO,CAAC,GAAAkM;AAAAA,QAAA;AAAA,MAAA,CAAA,GAAAZ,CAAA,GAAAzF,EAAAmF,GAAA1G,EAqBlEwB,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAEqG,WAAAzL,EAAM0L,UAAU,EAAA,KAAIzC,EAAAA;AAAAA,QAAY;AAAA,QAAA,IAAA/E,WAAA;AAAA,iBAAAP,EACzCgI,IAAS;AAAA,YACRC,MAAI;AAAA,YAAA,IACJvM,QAAK;AAAA,qBAAEA,EAAAA;AAAAA,YAAO;AAAA,YACd6C,UAAWf,CAAAA,MAAUqI,EAAY,CAACrI,EAAM0K,cAAcxM,OAAO8B,CAAK;AAAA,YAClE2H,SAAO;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA,GAAA,IAAA,GAAA/C,EAAAU,CAAAA,MAAA;AAAA,YAAAqF,IAhC+B3L,MAAe;AAAA,UAAEuB,QAAQwI,EAAAA;AAAAA,QAAI,IAAM;AAAA,UAAEpI,OAAOoI,EAAAA;AAAAA,QAAI,GAAG6B,IAElFtI,GAAG,sBAAsB;AAAA,UAAE,8BAA8B2F,EAAAA;AAAAA,UAAY,gCAAgCH,EAAAA;AAAAA,QAAW,CAAG,GAAC+C,IACpH7L,MAAe;AAAA,UAAE+F,QAAQgE,EAAAA;AAAAA,QAAI,IAAM;AAAA,UAAErI,MAAMqI,EAAAA;AAAAA,QAAI,GAAG+B,IASlDjM,EAAMpB,KAAGsN,IACTlM,EAAMnB,KAAGsN,IACRnM,EAAMgH,MAAIoF,IAGJpM,EAAM,YAAY,GAACqM,IACbrM,EAAMD,aAAWuM,KACpBjN,EAAAA,GAAOkN,KACPvM,EAAMpB,KAAG4N,KACTxM,EAAMnB,KAAG4N,KACRzM,EAAMyH,mBAAmBzH,EAAMyH,iBAAiBpI,GAAO,IAAIoB,QAASiM,KACrE1M,EAAMJ,YAAYa;AAASgG,eAAAA,EAAAkB,IAAA1B,EAAAwE,GAAAqB,GAAArF,EAAAkB,CAAA,GAAAoE,MAAAtF,EAAAoB,KAAAD,GAAA8C,GAAAjE,EAAAoB,IAAAkE,CAAA,GAAAtF,EAAAqB,IAAA7B,EAAAyE,GAAAsB,GAAAvF,EAAAqB,CAAA,GAAAmE,MAAAxF,EAAAsB,KAAAvB,EAAAmE,GAAA,OAAAlE,EAAAsB,IAAAkE,CAAA,GAAAC,MAAAzF,EAAAuB,KAAAxB,EAAAmE,GAAA,OAAAlE,EAAAuB,IAAAkE,CAAA,GAAAC,MAAA1F,EAAAwB,KAAAzB,EAAAmE,GAAA,QAAAlE,EAAAwB,IAAAkE,CAAA,GAAAC,MAAA3F,EAAAxH,KAAAuH,EAAAmE,GAAA,cAAAlE,EAAAxH,IAAAmN,CAAA,GAAAC,MAAA5F,EAAAyB,KAAA1B,EAAAmE,GAAA,oBAAAlE,EAAAyB,IAAAmE,CAAA,GAAAC,OAAA7F,EAAA0B,KAAA3B,EAAAmE,GAAA,iBAAAlE,EAAA0B,IAAAmE,EAAA,GAAAC,OAAA9F,EAAA2B,KAAA5B,EAAAmE,GAAA,iBAAAlE,EAAA2B,IAAAmE,EAAA,GAAAC,OAAA/F,EAAA4B,KAAA7B,EAAAmE,GAAA,iBAAAlE,EAAA4B,IAAAmE,EAAA,GAAAC,OAAAhG,EAAA6B,KAAA9B,EAAAmE,GAAA,kBAAAlE,EAAA6B,IAAAmE,EAAA,GAAAC,OAAAjG,EAAA8B,KAAA/B,EAAAmE,GAAA,iBAAAlE,EAAA8B,IAAAmE,EAAA,GAAAjG;AAAAA,MAAA,GAAA;AAAA,QAAAkB,GAAAlH;AAAAA,QAAAoH,GAAApH;AAAAA,QAAAqH,GAAArH;AAAAA,QAAAsH,GAAAtH;AAAAA,QAAAuH,GAAAvH;AAAAA,QAAAwH,GAAAxH;AAAAA,QAAAxB,GAAAwB;AAAAA,QAAAyH,GAAAzH;AAAAA,QAAA0H,GAAA1H;AAAAA,QAAA2H,GAAA3H;AAAAA,QAAA4H,GAAA5H;AAAAA,QAAA6H,GAAA7H;AAAAA,QAAA8H,GAAA9H;AAAAA,MAAAA,CAAA,GAAAsF,QAAA4E,EAAAtL,QARnCA,EAAAA,CAAO,GAAAgL;AAAAA,IAAA;AAAA,EAAA,CAAA;AAuB5B;AAEO,SAASsC,GAAOlN,GAAiC;AACtD,QAAMmN,IAAcnN,EAAMoN,UAAU,MAAQ9N,MAAMC,QAAQS,EAAMJ,KAAK,KAAKN,MAAMC,QAAQS,EAAMoB,YAAY;AAC1G,SAAA8C,EACGwB,GAAI;AAAA,IAACC,MAAMwH;AAAAA,IAAW,IAAEE,WAAQ;AAAA,aAAAnJ,EAAGkF,IAAiBpJ,CAAK;AAAA,IAAA;AAAA,IAAA,IAAAyE,WAAA;AAAA,aAAAP,EACvDnE,IAAgBC,CAAK;AAAA,IAAA;AAAA,EAAA,CAAA;AAG5B;AAEsBsN,GAAA,CAAA,aAAA,SAAA,CAAA;"}