@smwb/ui-solid 0.12.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1137) hide show
  1. package/README.md +638 -0
  2. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  4. package/dist/assets/styles/less/components/button/button.entry.css +1 -1
  5. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  6. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  7. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  8. package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
  9. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  10. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  11. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  12. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  13. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  14. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  15. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  16. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  17. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  18. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  19. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  20. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  21. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  22. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  23. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  24. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  25. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  26. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  27. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  28. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  29. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  30. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  31. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  32. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  33. package/dist/assets/styles/less/tokens.entry.css +1 -1
  34. package/dist/components/base/animateHeight/animateHeight.js +41 -42
  35. package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
  36. package/dist/components/base/icon/icon.d.ts +6 -2
  37. package/dist/components/base/icon/icon.js +41 -41
  38. package/dist/components/base/icon/icon.js.map +1 -1
  39. package/dist/components/base/ripple/ripple.d.ts +3 -0
  40. package/dist/components/base/ripple/ripple.js +46 -34
  41. package/dist/components/base/ripple/ripple.js.map +1 -1
  42. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  43. package/dist/components/dataDisplay/avatar/avatar.js +37 -33
  44. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  45. package/dist/components/dataDisplay/card/card.d.ts +32 -1
  46. package/dist/components/dataDisplay/card/card.js +47 -34
  47. package/dist/components/dataDisplay/card/card.js.map +1 -1
  48. package/dist/components/dataDisplay/carousel/carousel.js +92 -88
  49. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  50. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  51. package/dist/components/dataDisplay/chat/chat.d.ts +42 -0
  52. package/dist/components/dataDisplay/chat/chat.js +116 -57
  53. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  54. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  55. package/dist/components/dataDisplay/chat/chatComposer.js +21 -19
  56. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  57. package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
  58. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  59. package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
  60. package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
  61. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  62. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
  63. package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  64. package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  65. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  66. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  67. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  68. package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
  69. package/dist/components/dataDisplay/chip/chip.js +104 -63
  70. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  71. package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  72. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  73. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  74. package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
  75. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  76. package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
  77. package/dist/components/dataDisplay/dagView/dagView.js +503 -0
  78. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  79. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  80. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  81. package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
  82. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  83. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  84. package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
  85. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  86. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +55 -0
  87. package/dist/components/dataDisplay/diffStat/diffStat.js +70 -0
  88. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  89. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  90. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  91. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  92. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  93. package/dist/components/dataDisplay/kanban/kanban.js +71 -61
  94. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  95. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  96. package/dist/components/dataDisplay/kbd/kbd.d.ts +41 -0
  97. package/dist/components/dataDisplay/kbd/kbd.js +47 -0
  98. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  99. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  100. package/dist/components/dataDisplay/kbd/kbdKeys.js +70 -0
  101. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  102. package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  103. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  104. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  105. package/dist/components/dataDisplay/list/list.js +16 -12
  106. package/dist/components/dataDisplay/list/list.js.map +1 -1
  107. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  108. package/dist/components/dataDisplay/list/listItem.js +58 -19
  109. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  110. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  111. package/dist/components/dataDisplay/meter/meter.js +15 -13
  112. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  113. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  114. package/dist/components/dataDisplay/personChip/personChip.js +12 -10
  115. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  116. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  117. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +30 -0
  118. package/dist/components/dataDisplay/qrCode/qrCode.js +88 -0
  119. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  120. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  121. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  122. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  123. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  124. package/dist/components/dataDisplay/stat/stat.js +41 -43
  125. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  126. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  127. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  128. package/dist/components/dataDisplay/statusDot/statusDot.js +31 -0
  129. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  130. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  131. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +75 -0
  132. package/dist/components/dataDisplay/swimlanes/swimlanes.js +361 -0
  133. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  134. package/dist/components/dataDisplay/table/table.d.ts +10 -1
  135. package/dist/components/dataDisplay/table/table.js +46 -22
  136. package/dist/components/dataDisplay/table/table.js.map +1 -1
  137. package/dist/components/dataDisplay/table/tableBody.js +25 -12
  138. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  139. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  140. package/dist/components/dataDisplay/table/tableCell.js +15 -14
  141. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  142. package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
  143. package/dist/components/dataDisplay/table/tableColumns.js +254 -0
  144. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  145. package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
  146. package/dist/components/dataDisplay/table/tableEntities.js +6 -0
  147. package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
  148. package/dist/components/dataDisplay/table/tableHead.js +29 -11
  149. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  150. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
  151. package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
  152. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  153. package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
  154. package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
  155. package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  156. package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
  157. package/dist/components/dataDisplay/table/tableRow.js +28 -13
  158. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  159. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  160. package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  161. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  162. package/dist/components/dataDisplay/treeView/treeView.d.ts +22 -0
  163. package/dist/components/dataDisplay/treeView/treeView.js +164 -96
  164. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  165. package/dist/components/dataDisplay/typography/typography.js +22 -26
  166. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  167. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  168. package/dist/components/feedBack/emptyState/emptyState.js +20 -16
  169. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  170. package/dist/components/feedBack/message/message.d.ts +2 -0
  171. package/dist/components/feedBack/message/message.js +17 -13
  172. package/dist/components/feedBack/message/message.js.map +1 -1
  173. package/dist/components/feedBack/modal/modal.d.ts +9 -0
  174. package/dist/components/feedBack/modal/modal.js +71 -53
  175. package/dist/components/feedBack/modal/modal.js.map +1 -1
  176. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  177. package/dist/components/feedBack/skeleton/skeleton.js +43 -35
  178. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  179. package/dist/components/feedBack/snackbar/snackbar.js +24 -20
  180. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  181. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  182. package/dist/components/feedBack/tooltip/tooltip.js +65 -41
  183. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  184. package/dist/components/inputs/button/button.d.ts +14 -0
  185. package/dist/components/inputs/button/button.js +71 -36
  186. package/dist/components/inputs/button/button.js.map +1 -1
  187. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  188. package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
  189. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  190. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  191. package/dist/components/inputs/checkbox/checkbox.js +59 -36
  192. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  193. package/dist/components/inputs/composer/composer.d.ts +148 -0
  194. package/dist/components/inputs/composer/composer.js +276 -0
  195. package/dist/components/inputs/composer/composer.js.map +1 -0
  196. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  197. package/dist/components/inputs/composer/composerFiles.js +18 -0
  198. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  199. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  200. package/dist/components/inputs/composer/composerKeys.js +7 -0
  201. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  202. package/dist/components/inputs/composer/index.d.ts +3 -0
  203. package/dist/components/inputs/datePicker/datePicker.js +108 -97
  204. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  205. package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  206. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  207. package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
  208. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  209. package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
  210. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  211. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  212. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  213. package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
  214. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  215. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  216. package/dist/components/inputs/radioButton/radioButton.js +48 -34
  217. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  218. package/dist/components/inputs/rating/rating.d.ts +9 -0
  219. package/dist/components/inputs/rating/rating.js +74 -53
  220. package/dist/components/inputs/rating/rating.js.map +1 -1
  221. package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
  222. package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
  223. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  224. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  225. package/dist/components/inputs/selectField/optionNavigation.js +37 -0
  226. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  227. package/dist/components/inputs/selectField/selectField.d.ts +32 -1
  228. package/dist/components/inputs/selectField/selectField.js +297 -126
  229. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  230. package/dist/components/inputs/slider/slider.d.ts +25 -3
  231. package/dist/components/inputs/slider/slider.js +320 -197
  232. package/dist/components/inputs/slider/slider.js.map +1 -1
  233. package/dist/components/inputs/textField/textField.d.ts +9 -1
  234. package/dist/components/inputs/textField/textField.js +104 -51
  235. package/dist/components/inputs/textField/textField.js.map +1 -1
  236. package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
  237. package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
  238. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  239. package/dist/components/inputs/timePicker/timePicker.js +73 -62
  240. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  241. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  242. package/dist/components/inputs/toggle/toggle.js +43 -31
  243. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  244. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  245. package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
  246. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  247. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  248. package/dist/components/layout/appLayout/appLayout.js +32 -30
  249. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  250. package/dist/components/layout/divider/divider.d.ts +2 -0
  251. package/dist/components/layout/divider/divider.js +22 -20
  252. package/dist/components/layout/divider/divider.js.map +1 -1
  253. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  254. package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
  255. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  256. package/dist/components/layout/grid/grid.d.ts +8 -0
  257. package/dist/components/layout/grid/grid.js +52 -44
  258. package/dist/components/layout/grid/grid.js.map +1 -1
  259. package/dist/components/layout/page/page.d.ts +2 -0
  260. package/dist/components/layout/page/page.js +14 -12
  261. package/dist/components/layout/page/page.js.map +1 -1
  262. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  263. package/dist/components/layout/pageHeader/pageHeader.js +23 -21
  264. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  265. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  266. package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
  267. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  268. package/dist/components/layout/sheet/sheet.d.ts +14 -0
  269. package/dist/components/layout/sheet/sheet.js +92 -76
  270. package/dist/components/layout/sheet/sheet.js.map +1 -1
  271. package/dist/components/layout/stack/stack.d.ts +2 -0
  272. package/dist/components/layout/stack/stack.js +26 -24
  273. package/dist/components/layout/stack/stack.js.map +1 -1
  274. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  275. package/dist/components/layout/tabGroups/tabGroups.d.ts +102 -0
  276. package/dist/components/layout/tabGroups/tabGroups.js +895 -0
  277. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  278. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  279. package/dist/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  280. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  281. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  282. package/dist/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  283. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  284. package/dist/components/navigation/appBar/appBar.d.ts +24 -0
  285. package/dist/components/navigation/appBar/appBar.js +68 -28
  286. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  287. package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
  288. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  289. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  290. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
  291. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  292. package/dist/components/navigation/commandPalette/commandPalette.d.ts +126 -0
  293. package/dist/components/navigation/commandPalette/commandPalette.js +457 -0
  294. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  295. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  296. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  297. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  298. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  299. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  300. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  301. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  302. package/dist/components/navigation/commandPalette/index.d.ts +6 -0
  303. package/dist/components/navigation/menu/menu.d.ts +6 -0
  304. package/dist/components/navigation/menu/menu.js.map +1 -1
  305. package/dist/components/navigation/menu/menuComponent.js +12 -23
  306. package/dist/components/navigation/menu/menuComponent.js.map +1 -1
  307. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  308. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  309. package/dist/components/navigation/menu/menuFloating.js +54 -46
  310. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  311. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  312. package/dist/components/navigation/menu/menuItem.js +58 -33
  313. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  314. package/dist/components/navigation/menu/menuList.d.ts +4 -0
  315. package/dist/components/navigation/menu/menuList.js +34 -16
  316. package/dist/components/navigation/menu/menuList.js.map +1 -1
  317. package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
  318. package/dist/components/navigation/menu/menuSubmenu.js +58 -38
  319. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  320. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  321. package/dist/components/navigation/pagination/pagination.js +28 -24
  322. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  323. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  324. package/dist/components/navigation/sidebar/sidebar.js +37 -33
  325. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  326. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  327. package/dist/components/navigation/stepper/stepper.js +46 -42
  328. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  329. package/dist/components/navigation/tabs/index.d.ts +3 -1
  330. package/dist/components/navigation/tabs/tab/tab.d.ts +89 -2
  331. package/dist/components/navigation/tabs/tab/tab.js +174 -43
  332. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  333. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +20 -0
  334. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +34 -0
  335. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  336. package/dist/components/navigation/tabs/tabs.d.ts +79 -2
  337. package/dist/components/navigation/tabs/tabs.js +389 -147
  338. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  339. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  340. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  341. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  342. package/dist/components/navigation/tabs/tabsContext.d.ts +36 -4
  343. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  344. package/dist/connects/rt/table/table.d.ts +16 -1
  345. package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
  346. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
  347. package/dist/headless/components/base/icon/icon.js +40 -40
  348. package/dist/headless/components/base/icon/icon.js.map +1 -1
  349. package/dist/headless/components/base/ripple/ripple.js +46 -34
  350. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  351. package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
  352. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  353. package/dist/headless/components/dataDisplay/card/card.js +44 -31
  354. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  355. package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
  356. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  357. package/dist/headless/components/dataDisplay/chat/chat.js +116 -57
  358. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  359. package/dist/headless/components/dataDisplay/chat/chatComposer.js +21 -19
  360. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  361. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
  362. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
  364. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  366. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  367. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  368. package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
  369. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  370. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  371. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  372. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
  373. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  374. package/dist/headless/components/dataDisplay/dagView/dagView.js +501 -0
  375. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  376. package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
  377. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  378. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
  379. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  380. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +68 -0
  381. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  382. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  383. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  384. package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
  385. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  386. package/dist/headless/components/dataDisplay/kbd/kbd.js +45 -0
  387. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  388. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +70 -0
  389. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  390. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  391. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  392. package/dist/headless/components/dataDisplay/list/list.js +16 -12
  393. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  394. package/dist/headless/components/dataDisplay/list/listItem.js +58 -19
  395. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  396. package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
  397. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  398. package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
  399. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  400. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +86 -0
  401. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  402. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  403. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  404. package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
  405. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  406. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +29 -0
  407. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  408. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +359 -0
  409. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  410. package/dist/headless/components/dataDisplay/table/table.js +47 -23
  411. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  412. package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
  413. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  414. package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
  415. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  416. package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
  417. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  418. package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
  419. package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
  420. package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
  421. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  422. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
  423. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  424. package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
  425. package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  426. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
  427. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  428. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  429. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  430. package/dist/headless/components/dataDisplay/treeView/treeView.js +164 -96
  431. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  432. package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
  433. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  434. package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
  435. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  436. package/dist/headless/components/feedBack/message/message.js +17 -13
  437. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  438. package/dist/headless/components/feedBack/modal/modal.js +71 -53
  439. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  440. package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
  441. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  442. package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
  443. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  444. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
  445. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  446. package/dist/headless/components/inputs/button/button.js +71 -36
  447. package/dist/headless/components/inputs/button/button.js.map +1 -1
  448. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
  449. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  450. package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
  451. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  452. package/dist/headless/components/inputs/composer/composer.js +274 -0
  453. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  454. package/dist/headless/components/inputs/composer/composerFiles.js +18 -0
  455. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  456. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  457. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  458. package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
  459. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  460. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  461. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  462. package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
  463. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  464. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
  465. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  466. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  467. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  468. package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
  469. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  470. package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
  471. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  472. package/dist/headless/components/inputs/rating/rating.js +74 -53
  473. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  474. package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
  475. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  476. package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
  477. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  478. package/dist/headless/components/inputs/selectField/selectField.js +297 -126
  479. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  480. package/dist/headless/components/inputs/slider/slider.js +320 -197
  481. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  482. package/dist/headless/components/inputs/textField/textField.js +104 -51
  483. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  484. package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
  485. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  486. package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
  487. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  488. package/dist/headless/components/inputs/toggle/toggle.js +42 -30
  489. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  490. package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
  491. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  492. package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
  493. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  494. package/dist/headless/components/layout/divider/divider.js +19 -17
  495. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  496. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
  497. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  498. package/dist/headless/components/layout/grid/grid.js +54 -46
  499. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  500. package/dist/headless/components/layout/page/page.js +12 -10
  501. package/dist/headless/components/layout/page/page.js.map +1 -1
  502. package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
  503. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  504. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
  505. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  506. package/dist/headless/components/layout/sheet/sheet.js +101 -85
  507. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  508. package/dist/headless/components/layout/stack/stack.js +23 -21
  509. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  510. package/dist/headless/components/layout/tabGroups/tabGroups.js +893 -0
  511. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  512. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  513. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  514. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  515. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  516. package/dist/headless/components/navigation/appBar/appBar.js +68 -28
  517. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  518. package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
  519. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  520. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
  521. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  522. package/dist/headless/components/navigation/commandPalette/commandPalette.js +455 -0
  523. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  524. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  525. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  526. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  527. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  528. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  529. package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
  530. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
  531. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  532. package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
  533. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  534. package/dist/headless/components/navigation/menu/menuItem.js +58 -33
  535. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  536. package/dist/headless/components/navigation/menu/menuList.js +34 -16
  537. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  538. package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
  539. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  540. package/dist/headless/components/navigation/pagination/pagination.js +23 -19
  541. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  542. package/dist/headless/components/navigation/sidebar/sidebar.js +39 -35
  543. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  544. package/dist/headless/components/navigation/stepper/stepper.js +38 -34
  545. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  546. package/dist/headless/components/navigation/tabs/tab/tab.js +175 -44
  547. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  548. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +32 -0
  549. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  550. package/dist/headless/components/navigation/tabs/tabs.js +389 -147
  551. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  552. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  553. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  554. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  555. package/dist/headless/index.js +405 -363
  556. package/dist/headless/index.js.map +1 -1
  557. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  558. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  559. package/dist/headless/primitives/createFocusTrap.js +17 -16
  560. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  561. package/dist/headless/primitives/createHelperText.js +14 -0
  562. package/dist/headless/primitives/createHelperText.js.map +1 -0
  563. package/dist/headless/primitives/createKeyboardShortcut.js +16 -0
  564. package/dist/headless/primitives/createKeyboardShortcut.js.map +1 -0
  565. package/dist/headless/primitives/mergeStyle.js +9 -0
  566. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  567. package/dist/headless/primitives/overlayLayer.js +14 -7
  568. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  569. package/dist/headless/primitives/restoreFocus.js +10 -0
  570. package/dist/headless/primitives/restoreFocus.js.map +1 -0
  571. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  572. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  573. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  574. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  575. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  576. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  577. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  578. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  579. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  580. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  581. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  582. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  583. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  584. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  585. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +38 -4
  586. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  587. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  588. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  589. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  590. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  591. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  592. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  593. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  594. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  595. package/dist/headless/source/components/dataDisplay/chat/index.js.map +1 -1
  596. package/dist/headless/source/components/dataDisplay/chat/utils.js.map +2 -2
  597. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  598. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  599. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  600. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  601. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  602. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  603. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +648 -0
  604. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  605. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  606. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  607. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  608. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  609. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  610. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  611. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx +76 -0
  612. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  613. package/dist/headless/source/components/dataDisplay/diffStat/index.js +19 -0
  614. package/dist/headless/source/components/dataDisplay/diffStat/index.js.map +7 -0
  615. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  616. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  617. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  618. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  619. package/dist/headless/source/components/dataDisplay/kbd/index.js +9 -0
  620. package/dist/headless/source/components/dataDisplay/kbd/index.js.map +7 -0
  621. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx +48 -0
  622. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  623. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  624. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  625. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  626. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  627. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  628. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  629. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +47 -16
  630. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  631. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  632. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  633. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  634. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  635. package/dist/headless/source/components/dataDisplay/qrCode/index.js +6 -0
  636. package/dist/headless/source/components/dataDisplay/qrCode/index.js.map +7 -0
  637. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx +94 -0
  638. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  639. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  640. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  641. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  642. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  643. package/dist/headless/source/components/dataDisplay/statusDot/index.js +6 -0
  644. package/dist/headless/source/components/dataDisplay/statusDot/index.js.map +7 -0
  645. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx +28 -0
  646. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  647. package/dist/headless/source/components/dataDisplay/swimlanes/index.js +15 -0
  648. package/dist/headless/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  649. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx +450 -0
  650. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  651. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  652. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  653. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  654. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  655. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  656. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  657. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  658. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  659. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  660. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  661. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  662. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  663. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  664. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  665. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  666. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  667. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  668. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  669. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  670. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  671. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  672. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  673. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  674. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  675. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  676. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  677. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  678. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  679. package/dist/headless/source/components/feedBack/modal/modal.jsx +39 -6
  680. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  681. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  682. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  683. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  684. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  685. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  686. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  687. package/dist/headless/source/components/inputs/button/button.jsx +14 -5
  688. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  689. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  690. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  691. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  692. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  693. package/dist/headless/source/components/inputs/composer/composer.jsx +319 -0
  694. package/dist/headless/source/components/inputs/composer/composer.jsx.map +1 -0
  695. package/dist/headless/source/components/inputs/composer/composerFiles.js +27 -0
  696. package/dist/headless/source/components/inputs/composer/composerFiles.js.map +7 -0
  697. package/dist/headless/source/components/inputs/composer/composerKeys.js +11 -0
  698. package/dist/headless/source/components/inputs/composer/composerKeys.js.map +7 -0
  699. package/dist/headless/source/components/inputs/composer/index.js +5 -0
  700. package/dist/headless/source/components/inputs/composer/index.js.map +7 -0
  701. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  702. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  703. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  704. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  705. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  706. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  707. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  708. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  709. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  710. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  711. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  712. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  713. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  714. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  715. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  716. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  717. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  718. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  719. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  720. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  721. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  722. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  723. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  724. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  725. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  726. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  727. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  728. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  729. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  730. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  731. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  732. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  733. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  734. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  735. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  736. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  737. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  738. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  739. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  740. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  741. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  742. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  743. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  744. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  745. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  746. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  747. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  748. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  749. package/dist/headless/source/components/layout/sheet/sheet.jsx +39 -19
  750. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  751. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  752. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  753. package/dist/headless/source/components/layout/tabGroups/index.js +8 -0
  754. package/dist/headless/source/components/layout/tabGroups/index.js.map +7 -0
  755. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx +1117 -0
  756. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  757. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  758. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  759. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  760. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  761. package/dist/headless/source/components/navigation/appBar/appBar.jsx +30 -5
  762. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  763. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  764. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  765. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  766. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  767. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx +506 -0
  768. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  769. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  770. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  771. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  772. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  773. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  774. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  775. package/dist/headless/source/components/navigation/commandPalette/index.js +11 -0
  776. package/dist/headless/source/components/navigation/commandPalette/index.js.map +7 -0
  777. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  778. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  779. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  780. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  781. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  782. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  783. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  784. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  785. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  786. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  787. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  788. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  789. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  790. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  791. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +6 -3
  792. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  793. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  794. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  795. package/dist/headless/source/components/navigation/tabs/index.js +2 -0
  796. package/dist/headless/source/components/navigation/tabs/index.js.map +2 -2
  797. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +144 -21
  798. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  799. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx +28 -0
  800. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  801. package/dist/headless/source/components/navigation/tabs/tabs.jsx +392 -20
  802. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  803. package/dist/headless/source/components/navigation/tabs/tabs.utils.js +18 -0
  804. package/dist/headless/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  805. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  806. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  807. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  808. package/dist/headless/source/index.js +44 -1
  809. package/dist/headless/source/index.js.map +2 -2
  810. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  811. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  812. package/dist/headless/source/primitives/createFocusTrap.js +9 -3
  813. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  814. package/dist/headless/source/primitives/createHelperText.js +16 -0
  815. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  816. package/dist/headless/source/primitives/createKeyboardShortcut.js +23 -0
  817. package/dist/headless/source/primitives/createKeyboardShortcut.js.map +7 -0
  818. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  819. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  820. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  821. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  822. package/dist/headless/source/primitives/restoreFocus.js +14 -0
  823. package/dist/headless/source/primitives/restoreFocus.js.map +7 -0
  824. package/dist/headless/source/utils/controlProps.js +22 -0
  825. package/dist/headless/source/utils/controlProps.js.map +7 -0
  826. package/dist/headless/source/utils/keyboardShortcut.js +74 -0
  827. package/dist/headless/source/utils/keyboardShortcut.js.map +7 -0
  828. package/dist/headless/source/utils/linkAttrs.js +16 -0
  829. package/dist/headless/source/utils/linkAttrs.js.map +7 -0
  830. package/dist/headless/source/utils/ownClick.js +41 -0
  831. package/dist/headless/source/utils/ownClick.js.map +7 -0
  832. package/dist/headless/utils/controlProps.js +20 -0
  833. package/dist/headless/utils/controlProps.js.map +1 -0
  834. package/dist/headless/utils/keyboardShortcut.js +48 -0
  835. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  836. package/dist/headless/utils/linkAttrs.js +13 -0
  837. package/dist/headless/utils/linkAttrs.js.map +1 -0
  838. package/dist/headless/utils/ownClick.js +39 -0
  839. package/dist/headless/utils/ownClick.js.map +1 -0
  840. package/dist/index.d.ts +26 -3
  841. package/dist/index.js +405 -363
  842. package/dist/index.js.map +1 -1
  843. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  844. package/dist/primitives/createDismissOnEscape.js +14 -0
  845. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  846. package/dist/primitives/createFocusTrap.d.ts +7 -0
  847. package/dist/primitives/createFocusTrap.js +17 -16
  848. package/dist/primitives/createFocusTrap.js.map +1 -1
  849. package/dist/primitives/createHelperText.d.ts +26 -0
  850. package/dist/primitives/createHelperText.js +14 -0
  851. package/dist/primitives/createHelperText.js.map +1 -0
  852. package/dist/primitives/createKeyboardShortcut.d.ts +23 -0
  853. package/dist/primitives/createKeyboardShortcut.js +16 -0
  854. package/dist/primitives/createKeyboardShortcut.js.map +1 -0
  855. package/dist/primitives/mergeStyle.d.ts +19 -0
  856. package/dist/primitives/mergeStyle.js +9 -0
  857. package/dist/primitives/mergeStyle.js.map +1 -0
  858. package/dist/primitives/overlayLayer.d.ts +15 -3
  859. package/dist/primitives/overlayLayer.js +14 -7
  860. package/dist/primitives/overlayLayer.js.map +1 -1
  861. package/dist/primitives/restoreFocus.d.ts +8 -0
  862. package/dist/primitives/restoreFocus.js +10 -0
  863. package/dist/primitives/restoreFocus.js.map +1 -0
  864. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  865. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  866. package/dist/source/components/base/icon/icon.jsx +10 -12
  867. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  868. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  869. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  870. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  871. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  872. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  873. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  874. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  875. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  876. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  877. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  878. package/dist/source/components/dataDisplay/chat/chat.jsx +38 -4
  879. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  880. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  881. package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  882. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  883. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  884. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  885. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  886. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  887. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  888. package/dist/source/components/dataDisplay/chat/index.js.map +1 -1
  889. package/dist/source/components/dataDisplay/chat/utils.js.map +2 -2
  890. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  891. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  892. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  893. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  894. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  895. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  896. package/dist/source/components/dataDisplay/dagView/dagView.jsx +650 -0
  897. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  898. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  899. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  900. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  901. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  902. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  903. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  904. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx +78 -0
  905. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  906. package/dist/source/components/dataDisplay/diffStat/index.js +19 -0
  907. package/dist/source/components/dataDisplay/diffStat/index.js.map +7 -0
  908. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  909. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  910. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  911. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  912. package/dist/source/components/dataDisplay/kbd/index.js +9 -0
  913. package/dist/source/components/dataDisplay/kbd/index.js.map +7 -0
  914. package/dist/source/components/dataDisplay/kbd/kbd.jsx +50 -0
  915. package/dist/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  916. package/dist/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  917. package/dist/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  918. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  919. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  920. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  921. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  922. package/dist/source/components/dataDisplay/list/listItem.jsx +47 -16
  923. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  924. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  925. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  926. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  927. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  928. package/dist/source/components/dataDisplay/qrCode/index.js +6 -0
  929. package/dist/source/components/dataDisplay/qrCode/index.js.map +7 -0
  930. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx +96 -0
  931. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  932. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  933. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  934. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  935. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  936. package/dist/source/components/dataDisplay/statusDot/index.js +6 -0
  937. package/dist/source/components/dataDisplay/statusDot/index.js.map +7 -0
  938. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx +30 -0
  939. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  940. package/dist/source/components/dataDisplay/swimlanes/index.js +15 -0
  941. package/dist/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  942. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx +452 -0
  943. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  944. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  945. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  946. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  947. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  948. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  949. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  950. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  951. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  952. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  953. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  954. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  955. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  956. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  957. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  958. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  959. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  960. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  961. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  962. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  963. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  964. package/dist/source/components/dataDisplay/treeView/treeView.jsx +127 -39
  965. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  966. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  967. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  968. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  969. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  970. package/dist/source/components/feedBack/message/message.jsx +5 -4
  971. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  972. package/dist/source/components/feedBack/modal/modal.jsx +39 -6
  973. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  974. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  975. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  976. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  977. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  978. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  979. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  980. package/dist/source/components/inputs/button/button.jsx +14 -5
  981. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  982. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  983. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  984. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  985. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  986. package/dist/source/components/inputs/composer/composer.jsx +321 -0
  987. package/dist/source/components/inputs/composer/composer.jsx.map +1 -0
  988. package/dist/source/components/inputs/composer/composerFiles.js +27 -0
  989. package/dist/source/components/inputs/composer/composerFiles.js.map +7 -0
  990. package/dist/source/components/inputs/composer/composerKeys.js +11 -0
  991. package/dist/source/components/inputs/composer/composerKeys.js.map +7 -0
  992. package/dist/source/components/inputs/composer/index.js +5 -0
  993. package/dist/source/components/inputs/composer/index.js.map +7 -0
  994. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  995. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  996. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  997. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  998. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  999. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  1000. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  1001. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  1002. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  1003. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  1004. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  1005. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  1006. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  1007. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  1008. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  1009. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  1010. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  1011. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  1012. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  1013. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  1014. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  1015. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  1016. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  1017. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  1018. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  1019. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  1020. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  1021. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  1022. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  1023. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  1024. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  1025. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  1026. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  1027. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  1028. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  1029. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  1030. package/dist/source/components/layout/divider/divider.jsx +6 -5
  1031. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  1032. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  1033. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  1034. package/dist/source/components/layout/grid/grid.jsx +20 -8
  1035. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  1036. package/dist/source/components/layout/page/page.jsx +10 -2
  1037. package/dist/source/components/layout/page/page.jsx.map +1 -1
  1038. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  1039. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  1040. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  1041. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  1042. package/dist/source/components/layout/sheet/sheet.jsx +39 -19
  1043. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  1044. package/dist/source/components/layout/stack/stack.jsx +15 -11
  1045. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  1046. package/dist/source/components/layout/tabGroups/index.js +8 -0
  1047. package/dist/source/components/layout/tabGroups/index.js.map +7 -0
  1048. package/dist/source/components/layout/tabGroups/tabGroups.jsx +1119 -0
  1049. package/dist/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  1050. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  1051. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  1052. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  1053. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  1054. package/dist/source/components/navigation/appBar/appBar.jsx +30 -5
  1055. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  1056. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  1057. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  1058. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  1059. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  1060. package/dist/source/components/navigation/commandPalette/commandPalette.jsx +508 -0
  1061. package/dist/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  1062. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  1063. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  1064. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  1065. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  1066. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  1067. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  1068. package/dist/source/components/navigation/commandPalette/index.js +11 -0
  1069. package/dist/source/components/navigation/commandPalette/index.js.map +7 -0
  1070. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  1071. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  1072. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  1073. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  1074. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  1075. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  1076. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  1077. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  1078. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  1079. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  1080. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  1081. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  1082. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  1083. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  1084. package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -3
  1085. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  1086. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  1087. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  1088. package/dist/source/components/navigation/tabs/index.js +2 -0
  1089. package/dist/source/components/navigation/tabs/index.js.map +2 -2
  1090. package/dist/source/components/navigation/tabs/tab/tab.jsx +144 -21
  1091. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  1092. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx +30 -0
  1093. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  1094. package/dist/source/components/navigation/tabs/tabs.jsx +392 -20
  1095. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  1096. package/dist/source/components/navigation/tabs/tabs.utils.js +18 -0
  1097. package/dist/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  1098. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  1099. package/dist/source/connects/rt/table/table.jsx +7 -2
  1100. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  1101. package/dist/source/index.js +44 -1
  1102. package/dist/source/index.js.map +2 -2
  1103. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  1104. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  1105. package/dist/source/primitives/createFocusTrap.js +9 -3
  1106. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  1107. package/dist/source/primitives/createHelperText.js +16 -0
  1108. package/dist/source/primitives/createHelperText.js.map +7 -0
  1109. package/dist/source/primitives/createKeyboardShortcut.js +23 -0
  1110. package/dist/source/primitives/createKeyboardShortcut.js.map +7 -0
  1111. package/dist/source/primitives/mergeStyle.js +15 -0
  1112. package/dist/source/primitives/mergeStyle.js.map +7 -0
  1113. package/dist/source/primitives/overlayLayer.js +10 -2
  1114. package/dist/source/primitives/overlayLayer.js.map +2 -2
  1115. package/dist/source/primitives/restoreFocus.js +14 -0
  1116. package/dist/source/primitives/restoreFocus.js.map +7 -0
  1117. package/dist/source/utils/controlProps.js +22 -0
  1118. package/dist/source/utils/controlProps.js.map +7 -0
  1119. package/dist/source/utils/keyboardShortcut.js +74 -0
  1120. package/dist/source/utils/keyboardShortcut.js.map +7 -0
  1121. package/dist/source/utils/linkAttrs.js +16 -0
  1122. package/dist/source/utils/linkAttrs.js.map +7 -0
  1123. package/dist/source/utils/ownClick.js +41 -0
  1124. package/dist/source/utils/ownClick.js.map +7 -0
  1125. package/dist/utils/controlProps.d.ts +17 -0
  1126. package/dist/utils/controlProps.js +20 -0
  1127. package/dist/utils/controlProps.js.map +1 -0
  1128. package/dist/utils/keyboardShortcut.d.ts +12 -0
  1129. package/dist/utils/keyboardShortcut.js +48 -0
  1130. package/dist/utils/keyboardShortcut.js.map +1 -0
  1131. package/dist/utils/linkAttrs.d.ts +13 -0
  1132. package/dist/utils/linkAttrs.js +13 -0
  1133. package/dist/utils/linkAttrs.js.map +1 -0
  1134. package/dist/utils/ownClick.d.ts +16 -0
  1135. package/dist/utils/ownClick.js +39 -0
  1136. package/dist/utils/ownClick.js.map +1 -0
  1137. package/package.json +72 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer.js","sources":["../../../../../src/components/inputs/composer/composer.tsx"],"sourcesContent":["import {\n type JSX,\n Show,\n children,\n createEffect,\n createSignal,\n mergeProps,\n onMount,\n splitProps,\n untrack,\n} from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { callHandler } from \"../../../primitives/callHandler\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createDropzone } from \"../../../primitives/createDropzone\";\nimport { createId } from \"../../../primitives/createId\";\nimport { mergeRefs } from \"../../../primitives/mergeRefs\";\nimport { filterAttachedFiles, isFileDrag } from \"./composerFiles\";\nimport { resolveComposerKeyAction } from \"./composerKeys\";\nimport type { ComposerSendKey } from \"./composerKeys\";\n\n/** Where the toolbar and the action sit: under the field (`stacked`) or in one row with it (`inline`). */\nexport type ComposerLayout = \"stacked\" | \"inline\";\n\ntype TextareaKeyEvent = KeyboardEvent & { currentTarget: HTMLTextAreaElement; target: Element };\ntype TextareaFocusEvent = FocusEvent & { currentTarget: HTMLTextAreaElement; target: Element };\ntype RootDragEvent = DragEvent & { currentTarget: HTMLDivElement; target: Element };\n\nexport interface ComposerProps extends Omit<\n JSX.HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"defaultValue\" | \"onKeyDown\" | \"onFocus\" | \"onBlur\" | \"children\"\n> {\n /**\n * Controlled text. The composer is controlled while this is not `undefined` (checked reactively); a parent that\n * ignores `onValueChange` keeps the field showing this value.\n */\n value?: string | undefined;\n /** Initial text while uncontrolled. Defaults to an empty string. */\n defaultValue?: string | undefined;\n /** Called on every text change: typing, a newline, and the clear after a send. Called in both modes. */\n onValueChange?: ((value: string) => void) | undefined;\n /**\n * Called with the trimmed text when the user sends it: the send key (see `sendKey`) or a click on the action\n * button. Nothing is called while sending is not allowed: no `onSend`, an empty or whitespace-only text, `disabled`,\n * `readOnly`, `busy`, or a text over `maxLength`. Async work is shown with `busy`; the return value is ignored.\n */\n onSend?: ((text: string) => void) | undefined;\n /**\n * Which Enter sends. `\"modEnter\"` (default): Ctrl/⌘+Enter sends and Enter inserts a newline. `\"enter\"`: Enter sends,\n * Shift+Enter inserts a newline, Ctrl/⌘+Enter sends too. An Enter that commits an IME composition never sends.\n */\n sendKey?: ComposerSendKey | undefined;\n /**\n * Clear the text after `onSend`: the composer's own state while uncontrolled, `onValueChange(\"\")` while controlled.\n * Defaults to `true`.\n */\n clearOnSend?: boolean | undefined;\n /**\n * The agent is working: the action button turns into Stop and calls `onStop`, and the keys and the button do not\n * send. The text stays editable. The composer never changes `busy` itself, the parent owns it.\n */\n busy?: boolean | undefined;\n /**\n * Called when Stop is pressed (click, Enter or Space on the button) while `busy` and not `disabled`. Without it the\n * Stop button does nothing, so pass it whenever `busy` can be set.\n */\n onStop?: (() => void) | undefined;\n /** Placeholder of the textarea. It is not a name for the field, set `aria-label` or `aria-labelledby` as well. */\n placeholder?: string | undefined;\n /**\n * Hard limit on the text (the native `maxlength` of the textarea, counted in UTF-16 units, so an emoji is 2).\n * Turns the counter on.\n */\n maxLength?: number | undefined;\n /** Show the counter (`n / maxLength`, or `n` without `maxLength`). Defaults to `true` when `maxLength` is set. */\n counter?: boolean | undefined;\n /**\n * Text for the polite status region that announces how many characters are left. It is spoken only near the limit\n * (within the larger of 10 characters and 10% of `maxLength`) and when the text is over it, with a negative\n * `remaining`. Defaults to \"N characters left\" / \"N characters over the limit\".\n */\n counterAnnouncement?: ((remaining: number, maxLength: number) => string) | undefined;\n /** Height of the empty field in rows, and the `rows` of the textarea. Defaults to `1`. */\n minRows?: number | undefined;\n /** Rows the field grows to before it scrolls. Clamped to at least `minRows`. Defaults to `8`. */\n maxRows?: number | undefined;\n /**\n * `\"stacked\"` (default): the field on top, a bar under it with the attach button, the toolbar, the counter and the\n * action. `\"inline\"`: the attach button, the field, the counter and the action in one row, the toolbar (if any)\n * in a row under it.\n */\n layout?: ComposerLayout | undefined;\n /**\n * Slot under the field for chips and selectors (agent, model, mode, …). Drawn in every state. It is a plain `div`,\n * not `role=\"toolbar\"`: the content brings its own keyboard handling and disabled state.\n */\n toolbar?: JSX.Element;\n /**\n * Slot above the field for the app's file chips. The composer keeps no file state: the app lists what `onAttach`\n * gave it here.\n */\n attachments?: JSX.Element;\n /**\n * Turns on the attach button, the hidden file input and the drop target (the whole composer). Called with the files\n * of a pick or a drop that are left after `accept`, `multiple` and `maxFiles`, never with an empty list. Only a drag\n * of files is taken: dragged text or a link still goes into the field.\n */\n onAttach?: ((files: File[]) => void) | undefined;\n /**\n * Accepted file types, as a record of mime type to extensions or a raw `accept` string (`image/*`, `.pdf`, an exact\n * mime type). It sets the picker's filter, and the files of a pick or a drop that do not match are left out.\n */\n accept?: Record<string, string[]> | string | undefined;\n /** Allow several files per pick or drop. When `false` the picker takes one and a drop keeps the first. Defaults to `true`. */\n multiple?: boolean | undefined;\n /** Files beyond this number are dropped from a pick or a drop (counted after `accept`). */\n maxFiles?: number | undefined;\n /**\n * Whether `onAttach` also makes the composer a drop target for files. Set `false` when a parent already takes drops\n * (a chat panel): the attach button and the picker stay, and a drop on the composer bubbles to the parent untouched.\n * Defaults to `true`.\n */\n dropTarget?: boolean | undefined;\n /**\n * Disables the textarea, the attach button, the action button and the drop target. Toolbar content is the app's to\n * disable.\n */\n disabled?: boolean | undefined;\n /** The textarea is `readonly`: sending is unavailable, Stop still works. */\n readOnly?: boolean | undefined;\n /** Focus the textarea on mount. */\n autofocus?: boolean | undefined;\n /** Name of the textarea. */\n name?: string | undefined;\n /** Id of the textarea (the root keeps no id). Generated when not given. */\n id?: string | undefined;\n /** Accessible name of the textarea. Set this or `aria-labelledby`: a placeholder is not a name. */\n \"aria-label\"?: string | undefined;\n /** Id(s) of the element(s) that name the textarea. */\n \"aria-labelledby\"?: string | undefined;\n /** Id(s) that describe the textarea. They come first, the counter's id is appended. */\n \"aria-describedby\"?: string | undefined;\n /** Key handler of the textarea. It runs before the composer's own; if it calls `preventDefault()`, the composer does nothing for that key. */\n onKeyDown?: JSX.EventHandlerUnion<HTMLTextAreaElement, KeyboardEvent> | undefined;\n /** Focus handler of the textarea. */\n onFocus?: JSX.EventHandlerUnion<HTMLTextAreaElement, FocusEvent> | undefined;\n /** Blur handler of the textarea. */\n onBlur?: JSX.EventHandlerUnion<HTMLTextAreaElement, FocusEvent> | undefined;\n /** Ref of the textarea (the root takes the component's own `ref`). */\n inputRef?: ((el: HTMLTextAreaElement) => void) | undefined;\n /** Accessible name of the action button while it sends. Defaults to \"Send\". */\n sendLabel?: string | undefined;\n /** Accessible name of the action button while `busy`. Defaults to \"Stop\". */\n stopLabel?: string | undefined;\n /** Accessible name of the attach button. Defaults to \"Attach file\". */\n attachLabel?: string | undefined;\n /**\n * Class name(s) for the root `<div>`. `style`, `ref`, `data-*` attributes and every other HTML attribute or event\n * handler go to the root too; the root's drag handlers run after yours.\n */\n class?: string | undefined;\n /** Test id of the root `<div>`. Defaults to `composer`; the parts inside have their own (`composer-input`, `composer-action`, …). */\n \"data-testid\"?: string | undefined;\n}\n\nconst defaultCounterAnnouncement = (remaining: number): string =>\n remaining >= 0 ? `${remaining} characters left` : `${-remaining} characters over the limit`;\n\nfunction stopMouseDown(event: MouseEvent): void {\n // Keeps the focus in the textarea when the action button is clicked with a mouse.\n event.preventDefault();\n}\n\n// Whether a resolved slot draws anything.\nfunction isDrawn(resolved: unknown): boolean {\n if (Array.isArray(resolved)) return resolved.some(isDrawn);\n return resolved != null && typeof resolved !== \"boolean\" && resolved !== \"\";\n}\n\n/**\n * A task input: a multi-line field that grows from `minRows` to `maxRows`, a `toolbar` slot under it for chip\n * selectors, a send button that becomes Stop while `busy`, keyboard send (Ctrl/⌘+Enter by default), an optional\n * attach button and drop target, and a character counter.\n *\n * ```tsx\n * <Composer aria-label=\"Task for the agent\" onSend={(text) => run(text)} busy={running()} onStop={cancel} />\n * ```\n */\nexport function Composer(props: ComposerProps): JSX.Element {\n const merged = mergeProps(\n {\n sendKey: \"modEnter\" as ComposerSendKey,\n clearOnSend: true,\n busy: false,\n counterAnnouncement: defaultCounterAnnouncement as (remaining: number, maxLength: number) => string,\n minRows: 1,\n maxRows: 8,\n layout: \"stacked\" as ComposerLayout,\n multiple: true,\n disabled: false,\n readOnly: false,\n sendLabel: \"Send\",\n stopLabel: \"Stop\",\n attachLabel: \"Attach file\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"value\",\n \"defaultValue\",\n \"onValueChange\",\n \"onSend\",\n \"sendKey\",\n \"clearOnSend\",\n \"busy\",\n \"onStop\",\n \"placeholder\",\n \"maxLength\",\n \"counter\",\n \"counterAnnouncement\",\n \"minRows\",\n \"maxRows\",\n \"layout\",\n \"toolbar\",\n \"attachments\",\n \"onAttach\",\n \"accept\",\n \"multiple\",\n \"maxFiles\",\n \"dropTarget\",\n \"disabled\",\n \"readOnly\",\n \"autofocus\",\n \"name\",\n \"id\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-describedby\",\n \"onKeyDown\",\n \"onFocus\",\n \"onBlur\",\n \"inputRef\",\n \"sendLabel\",\n \"stopLabel\",\n \"attachLabel\",\n \"class\",\n \"data-testid\",\n \"ref\",\n // The root sets these too; its own handlers call the caller's first.\n \"onDragOver\",\n \"onDragLeave\",\n \"onDrop\",\n ]);\n\n const [text, setText] = createControllableState<string>({\n value: () => local.value,\n defaultValue: untrack(() => local.defaultValue) ?? \"\",\n onChange: (next) => local.onValueChange?.(next),\n });\n const [focused, setFocused] = createSignal(false);\n // Generated once; a caller's id, which may come and go, takes precedence.\n const generatedId = createId(undefined, \"smwb-composer\");\n const textareaId = (): string => local.id ?? generatedId;\n const counterId = (): string => `${textareaId()}-counter`;\n let textareaEl: HTMLTextAreaElement | undefined;\n\n const dropzone = createDropzone({\n get accept() {\n return local.accept;\n },\n get multiple() {\n return local.multiple;\n },\n get disabled() {\n return local.disabled;\n },\n // `maxFiles` is not passed on: the cut has to come after `accept`, see `filterAttachedFiles`.\n onDrop: (files) => {\n const attached = filterAttachedFiles(files, {\n accept: local.accept,\n multiple: local.multiple,\n maxFiles: local.maxFiles,\n });\n if (attached.length > 0) local.onAttach?.(attached);\n },\n });\n const attachable = (): boolean => local.onAttach !== undefined;\n // `dropTarget={false}` keeps the attach button and the picker but hands drops to a parent that owns the target.\n // Compared to `false` and not falsy-checked: an explicit `undefined` must keep the default `true`.\n const dropping = (): boolean => attachable() && local.dropTarget !== false;\n const inputProps = () => dropzone.getInputProps();\n\n const showCounter = (): boolean => local.counter ?? local.maxLength !== undefined;\n const overLimit = (): boolean => local.maxLength !== undefined && text().length > local.maxLength;\n const canSend = (): boolean =>\n !!local.onSend && text().trim() !== \"\" && !local.disabled && !local.readOnly && !local.busy && !overLimit();\n\n const status = (): string => {\n const max = local.maxLength;\n if (!showCounter() || max === undefined) return \"\";\n const remaining = max - text().length;\n return remaining <= Math.max(10, Math.ceil(max * 0.1)) ? local.counterAnnouncement(remaining, max) : \"\";\n };\n\n // The text is the textarea's child, not a `value` binding: on the server a\n // `value` prints as an attribute browsers ignore, and hydration skips the\n // property write, so the field would come up empty. Later changes are written\n // to the element directly (a property write is not gated by hydration).\n // The server parser drops the first line feed after `<textarea>`, so a text that starts with one gets a second.\n const initialText = untrack(text);\n const serverText = isServer && initialText.startsWith(\"\\n\") ? `\\n${initialText}` : initialText;\n createEffect(() => {\n const next = text();\n if (textareaEl && textareaEl.value !== next) textareaEl.value = next;\n });\n\n const send = (): void => {\n if (!canSend()) return;\n local.onSend?.(text().trim());\n if (local.clearOnSend) setText(\"\");\n };\n\n const onInput = (event: InputEvent & { currentTarget: HTMLTextAreaElement }): void => {\n const el = event.currentTarget;\n setText(el.value);\n // A controlled parent that ignores the edit keeps its text, as in React.\n if (el.value !== text()) el.value = text();\n };\n\n const onKeyDown = (event: TextareaKeyEvent): void => {\n callHandler(local.onKeyDown, event);\n if (event.defaultPrevented) return;\n const action = resolveComposerKeyAction(event, local.sendKey);\n if (action === \"native\") return;\n event.preventDefault();\n send();\n };\n\n const onFocus = (event: TextareaFocusEvent): void => {\n callHandler(local.onFocus, event);\n setFocused(true);\n };\n\n const onBlur = (event: TextareaFocusEvent): void => {\n callHandler(local.onBlur, event);\n setFocused(false);\n };\n\n // One button in both states: its handler reads `busy` when pressed.\n const onActionClick = (event: MouseEvent): void => {\n // The second click of a double-click lands on the node the first one turned into the other action (Send into\n // Stop once the parent sets `busy`). It is not a new press: keyboard activation has `detail` 0, a click 1.\n if (event.detail > 1) return;\n if (local.busy) {\n if (!local.disabled) local.onStop?.();\n return;\n }\n send();\n };\n\n // The drop target works only with `onAttach` unless `dropTarget` is off; the caller's handlers always run, first.\n const onDragOver = (event: RootDragEvent): void => {\n callHandler(local.onDragOver, event);\n // Only a drag of files is the dropzone's. Text or a link keeps its default: the textarea inserts it.\n if (dropping() && isFileDrag(event.dataTransfer)) dropzone.getRootProps().onDragOver(event);\n };\n const onDragLeave = (event: RootDragEvent): void => {\n callHandler(local.onDragLeave, event);\n if (!dropping()) return;\n // A leave onto a descendant is not a leave: it would flicker the drag-active state over the toolbar chips.\n if (event.relatedTarget instanceof Node && event.currentTarget.contains(event.relatedTarget)) return;\n dropzone.getRootProps().onDragLeave();\n };\n const onDrop = (event: RootDragEvent): void => {\n callHandler(local.onDrop, event);\n if (dropping() && isFileDrag(event.dataTransfer)) dropzone.getRootProps().onDrop(event);\n };\n\n const onFileChange = (event: Event & { currentTarget: HTMLInputElement; target: Element }): void => {\n inputProps().onChange(event);\n // Lets the same file be picked again.\n event.currentTarget.value = \"\";\n };\n\n // `autofocus` alone is not \"focus on mount\": Chromium ignores it on an element inserted after the page already has\n // a focused element (a composer opened in a panel, or after a route change). The attribute stays for the server HTML.\n onMount(() => {\n if (local.autofocus) textareaEl?.focus();\n });\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n const toolbar = children(() => local.toolbar);\n const attachments = children(() => local.attachments);\n\n const describedBy = (): string | undefined =>\n [local[\"aria-describedby\"], showCounter() ? counterId() : undefined].filter(Boolean).join(\" \") || undefined;\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\n \"smwb-composer\",\n `smwb-composer_${local.layout}`,\n focused() && \"smwb-composer_focused\",\n local.busy && \"smwb-composer_busy\",\n local.disabled && \"smwb-composer_disabled\",\n dropping() && dropzone.isDragActive() && \"smwb-composer_drag-active\",\n overLimit() && \"smwb-composer_over-limit\",\n local.class\n )}\n data-testid={local[\"data-testid\"] ?? \"composer\"}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDrop={onDrop}\n >\n <Show when={isDrawn(attachments())}>\n <div class=\"smwb-composer__attachments\" data-testid=\"composer-attachments\">\n {attachments()}\n </div>\n </Show>\n <div\n class=\"smwb-composer__field\"\n data-value={text()}\n style={{\n \"--smwb-composer-min-rows\": String(local.minRows),\n \"--smwb-composer-max-rows\": String(Math.max(local.maxRows, local.minRows)),\n }}\n >\n <textarea\n ref={mergeRefs(local.inputRef, (el) => (textareaEl = el))}\n class=\"smwb-composer__input\"\n id={textareaId()}\n name={local.name}\n rows={local.minRows}\n placeholder={local.placeholder}\n maxlength={local.maxLength}\n disabled={local.disabled}\n readonly={local.readOnly}\n autofocus={local.autofocus}\n aria-label={local[\"aria-label\"]}\n aria-labelledby={local[\"aria-labelledby\"]}\n aria-describedby={describedBy()}\n aria-invalid={overLimit() || undefined}\n data-testid=\"composer-input\"\n onInput={onInput}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {serverText}\n </textarea>\n </div>\n <Show when={attachable()}>\n <button\n type=\"button\"\n class=\"smwb-composer__icon-button smwb-composer__attach\"\n aria-label={local.attachLabel}\n disabled={local.disabled}\n data-testid=\"composer-attach\"\n onClick={() => dropzone.open()}\n >\n <Icon name=\"attach_file\" size={20} />\n </button>\n </Show>\n <Show when={isDrawn(toolbar())}>\n <div class=\"smwb-composer__toolbar\" data-testid=\"composer-toolbar\">\n {toolbar()}\n </div>\n </Show>\n <Show when={showCounter()}>\n <span\n id={counterId()}\n class={cn(\"smwb-composer__counter\", overLimit() && \"smwb-composer__counter_error\")}\n data-testid=\"composer-counter\"\n >\n {local.maxLength !== undefined ? `${text().length} / ${local.maxLength}` : text().length}\n </span>\n </Show>\n <button\n type=\"button\"\n class={cn(\"smwb-composer__icon-button\", \"smwb-composer__action\", local.busy && \"smwb-composer__action_stop\")}\n aria-label={local.busy ? local.stopLabel : local.sendLabel}\n aria-disabled={!local.busy && !canSend() ? \"true\" : undefined}\n disabled={local.disabled}\n data-action={local.busy ? \"stop\" : \"send\"}\n data-testid=\"composer-action\"\n onMouseDown={stopMouseDown}\n onClick={onActionClick}\n >\n <Icon name={local.busy ? \"stop\" : \"send\"} size={20} />\n </button>\n <Show when={showCounter()}>\n <span class=\"smwb-composer__status\" role=\"status\" data-testid=\"composer-status\">\n {status()}\n </span>\n </Show>\n <Show when={attachable()}>\n <input\n ref={dropzone.inputRef}\n type=\"file\"\n multiple={inputProps().multiple}\n accept={inputProps().accept}\n disabled={inputProps().disabled}\n style={{ display: \"none\" }}\n data-testid=\"composer-file-input\"\n onChange={onFileChange}\n />\n </Show>\n </div>\n );\n}\n\nexport default Composer;\n"],"names":["defaultCounterAnnouncement","remaining","stopMouseDown","event","preventDefault","isDrawn","resolved","Array","isArray","some","Composer","props","merged","mergeProps","sendKey","clearOnSend","busy","counterAnnouncement","minRows","maxRows","layout","multiple","disabled","readOnly","sendLabel","stopLabel","attachLabel","local","rest","splitProps","text","setText","createControllableState","value","defaultValue","untrack","onChange","next","onValueChange","focused","setFocused","createSignal","generatedId","createId","undefined","textareaId","id","counterId","textareaEl","dropzone","createDropzone","accept","onDrop","files","attached","filterAttachedFiles","maxFiles","length","onAttach","attachable","dropping","dropTarget","inputProps","getInputProps","showCounter","counter","maxLength","overLimit","canSend","onSend","trim","status","max","Math","ceil","initialText","serverText","isServer","startsWith","createEffect","send","onInput","el","currentTarget","onKeyDown","callHandler","defaultPrevented","resolveComposerKeyAction","onFocus","onBlur","onActionClick","detail","onStop","onDragOver","isFileDrag","dataTransfer","getRootProps","onDragLeave","relatedTarget","Node","contains","onFileChange","onMount","autofocus","focus","toolbar","children","attachments","describedBy","filter","Boolean","join","_el$","_tmpl$7","_el$3","firstChild","_el$4","_el$8","nextSibling","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","isDragActive","class","_$insert","_$createComponent","Show","when","_el$2","_tmpl$","addEventListener","$$keydown","$$input","_ref$2","inputRef","_el$5","_tmpl$2","$$click","open","Icon","name","size","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","_el$6","_tmpl$3","_el$7","_tmpl$4","_c$","_$memo","_v$3","_v$4","_$className","$$mousedown","_el$9","_tmpl$5","_el$0","_tmpl$6","_ref$3","_v$5","_v$6","_v$7","a","_v$8","_v$9","String","_v$0","_v$1","_v$10","_v$11","_v$12","placeholder","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_$setStyleProperty","o","i","n","s","h","r","d","l","u","c","w","m","f","y","g","p","b","_$delegateEvents"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ function f(e) {
2
+ return e ? Array.from(e.types ?? []).includes("Files") ? !0 : (e.files?.length ?? 0) > 0 : !1;
3
+ }
4
+ function u(e) {
5
+ return e ? (typeof e == "string" ? e.split(",") : Object.entries(e).flatMap(([r, s]) => [r, ...s])).map((r) => r.trim().toLowerCase()).filter(Boolean) : [];
6
+ }
7
+ function a(e, t) {
8
+ return t === "*/*" ? !0 : t.startsWith(".") ? e.name.toLowerCase().endsWith(t) : t.endsWith("/*") ? e.type.toLowerCase().startsWith(t.slice(0, -1)) : e.type.toLowerCase() === t;
9
+ }
10
+ function o(e, t) {
11
+ const r = u(t.accept), s = r.length === 0 ? e : e.filter((n) => r.some((l) => a(n, l))), i = t.multiple === !1 ? 1 : t.maxFiles && t.maxFiles > 0 ? t.maxFiles : void 0;
12
+ return i === void 0 ? s : s.slice(0, i);
13
+ }
14
+ export {
15
+ o as filterAttachedFiles,
16
+ f as isFileDrag
17
+ };
18
+ //# sourceMappingURL=composerFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composerFiles.js","sources":["../../../../../src/components/inputs/composer/composerFiles.ts"],"sourcesContent":["/** Accepted file types as `Composer` takes them: a record of mime type to extensions, or a raw `accept` string. */\nexport type ComposerAccept = Record<string, string[]> | string;\n\n/** The part of a `DataTransfer` the drag guard reads. */\nexport interface ComposerDragData {\n types?: ArrayLike<string> | null | undefined;\n files?: ArrayLike<unknown> | null | undefined;\n}\n\n/** The options that decide which of the picked or dropped files `Composer` passes on. */\nexport interface ComposerFileOptions {\n accept?: ComposerAccept | undefined;\n multiple?: boolean | undefined;\n maxFiles?: number | undefined;\n}\n\n/**\n * Whether a drag carries files. A text or link drag does not and stays with the browser (the textarea inserts it).\n * `dragover` exposes only `types`, and Firefox gives a `DOMStringList` there, hence `Array.from`; a `drop` has the\n * file list as well.\n */\nexport function isFileDrag(data: ComposerDragData | null | undefined): boolean {\n if (!data) return false;\n if (Array.from(data.types ?? []).includes(\"Files\")) return true;\n return (data.files?.length ?? 0) > 0;\n}\n\nfunction acceptTokens(accept: ComposerAccept | undefined): string[] {\n if (!accept) return [];\n const tokens =\n typeof accept === \"string\" ? accept.split(\",\") : Object.entries(accept).flatMap(([mime, exts]) => [mime, ...exts]);\n return tokens.map((token) => token.trim().toLowerCase()).filter(Boolean);\n}\n\n// The same three forms as the `accept` attribute: `.ext`, `type/*` and an exact mime type.\nfunction matchesToken(file: File, token: string): boolean {\n if (token === \"*/*\") return true;\n if (token.startsWith(\".\")) return file.name.toLowerCase().endsWith(token);\n if (token.endsWith(\"/*\")) return file.type.toLowerCase().startsWith(token.slice(0, -1));\n return file.type.toLowerCase() === token;\n}\n\n/**\n * The files of a pick or a drop that `Composer` passes to `onAttach`: those that match `accept` (a drop is not\n * filtered by the browser, and the picker's \"All files\" choice lifts its filter), cut to one file when `multiple` is\n * `false`, then to `maxFiles`. The cut comes last, so the files it drops are the ones past the limit, not the ones\n * `accept` would have refused anyway.\n */\nexport function filterAttachedFiles(files: File[], options: ComposerFileOptions): File[] {\n const tokens = acceptTokens(options.accept);\n const accepted =\n tokens.length === 0 ? files : files.filter((file) => tokens.some((token) => matchesToken(file, token)));\n const limit =\n options.multiple === false ? 1 : options.maxFiles && options.maxFiles > 0 ? options.maxFiles : undefined;\n return limit === undefined ? accepted : accepted.slice(0, limit);\n}\n"],"names":["isFileDrag","data","acceptTokens","accept","mime","exts","token","matchesToken","file","filterAttachedFiles","files","options","tokens","accepted","limit"],"mappings":"AAqBO,SAASA,EAAWC,GAAoD;AAC7E,SAAKA,IACD,MAAM,KAAKA,EAAK,SAAS,CAAA,CAAE,EAAE,SAAS,OAAO,IAAU,MACnDA,EAAK,OAAO,UAAU,KAAK,IAFjB;AAGpB;AAEA,SAASC,EAAaC,GAA8C;AAClE,SAAKA,KAEH,OAAOA,KAAW,WAAWA,EAAO,MAAM,GAAG,IAAI,OAAO,QAAQA,CAAM,EAAE,QAAQ,CAAC,CAACC,GAAMC,CAAI,MAAM,CAACD,GAAM,GAAGC,CAAI,CAAC,GACrG,IAAI,CAACC,MAAUA,EAAM,KAAA,EAAO,YAAA,CAAa,EAAE,OAAO,OAAO,IAHnD,CAAA;AAItB;AAGA,SAASC,EAAaC,GAAYF,GAAwB;AACxD,SAAIA,MAAU,QAAc,KACxBA,EAAM,WAAW,GAAG,IAAUE,EAAK,KAAK,YAAA,EAAc,SAASF,CAAK,IACpEA,EAAM,SAAS,IAAI,IAAUE,EAAK,KAAK,YAAA,EAAc,WAAWF,EAAM,MAAM,GAAG,EAAE,CAAC,IAC/EE,EAAK,KAAK,YAAA,MAAkBF;AACrC;AAQO,SAASG,EAAoBC,GAAeC,GAAsC;AACvF,QAAMC,IAASV,EAAaS,EAAQ,MAAM,GACpCE,IACJD,EAAO,WAAW,IAAIF,IAAQA,EAAM,OAAO,CAACF,MAASI,EAAO,KAAK,CAACN,MAAUC,EAAaC,GAAMF,CAAK,CAAC,CAAC,GAClGQ,IACJH,EAAQ,aAAa,KAAQ,IAAIA,EAAQ,YAAYA,EAAQ,WAAW,IAAIA,EAAQ,WAAW;AACjG,SAAOG,MAAU,SAAYD,IAAWA,EAAS,MAAM,GAAGC,CAAK;AACjE;"}
@@ -0,0 +1,7 @@
1
+ function i(r, e) {
2
+ return r.isComposing || r.keyCode === 229 || r.key !== "Enter" || r.altKey || r.shiftKey ? "native" : r.ctrlKey || r.metaKey || e === "enter" ? "send" : "native";
3
+ }
4
+ export {
5
+ i as resolveComposerKeyAction
6
+ };
7
+ //# sourceMappingURL=composerKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composerKeys.js","sources":["../../../../../src/components/inputs/composer/composerKeys.ts"],"sourcesContent":["/** Which Enter sends in a `Composer`: `\"modEnter\"` is Ctrl/⌘+Enter, `\"enter\"` is a plain Enter. */\nexport type ComposerSendKey = \"modEnter\" | \"enter\";\n\n/**\n * What the composer does with a key press in its textarea:\n * - `\"send\"`: prevent the default and send, if sending is allowed;\n * - `\"native\"`: leave the key to the browser (a newline, IME commit, …).\n */\nexport type ComposerKeyAction = \"send\" | \"native\";\n\n/** The part of a keyboard event the key map reads. */\nexport interface ComposerKeyEvent {\n key: string;\n shiftKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n altKey: boolean;\n /** Set by Chromium and Firefox while an IME composition is open. */\n isComposing?: boolean | undefined;\n /** Safari reports the commit Enter of a composition as keyCode 229 with `isComposing` false. */\n keyCode?: number | undefined;\n}\n\n/**\n * The composer's keyboard map (Escape and every other key stay native).\n *\n * - IME composition: always native, so an Enter that commits a CJK candidate is not a send.\n * - Ctrl/⌘+Enter (no Shift, no Alt): send in both modes.\n * - Enter alone: send with `sendKey=\"enter\"`, a native newline with `\"modEnter\"`.\n * - Shift+Enter and every other combination: native.\n */\nexport function resolveComposerKeyAction(event: ComposerKeyEvent, sendKey: ComposerSendKey): ComposerKeyAction {\n if (event.isComposing || event.keyCode === 229) return \"native\";\n if (event.key !== \"Enter\") return \"native\";\n if (event.altKey || event.shiftKey) return \"native\";\n\n if (event.ctrlKey || event.metaKey) return \"send\";\n return sendKey === \"enter\" ? \"send\" : \"native\";\n}\n"],"names":["resolveComposerKeyAction","event","sendKey"],"mappings":"AA+BO,SAASA,EAAyBC,GAAyBC,GAA6C;AAG7G,SAFID,EAAM,eAAeA,EAAM,YAAY,OACvCA,EAAM,QAAQ,WACdA,EAAM,UAAUA,EAAM,WAAiB,WAEvCA,EAAM,WAAWA,EAAM,WACpBC,MAAY,UADwB,SACL;AACxC;"}
@@ -1,95 +1,106 @@
1
- import { createComponent as a, mergeProps as x, Portal as oe, use as le, insert as B, effect as ie, style as se, setAttribute as de, isServer as ce, template as ue } from "solid-js/web";
2
- import { splitProps as ge, children as me, createSignal as d, createEffect as L, createMemo as fe, onCleanup as he, Show as b } from "solid-js";
3
- import { buildFloatingMiddleware as be, resolvePlacement as ve } from "../../../utils/floating.js";
4
- import { createFloating as pe } from "../../../primitives/createFloating.js";
5
- import { DataPickerHeader as we } from "./dataPickerHeader.js";
6
- import { DataPickerDays as Ce } from "./dataPickerDays.js";
1
+ import { createComponent as a, mergeProps as $, Portal as ie, use as le, insert as x, effect as se, style as ce, setAttribute as de, isServer as ue, template as ge } from "solid-js/web";
2
+ import { splitProps as me, children as fe, createSignal as d, createEffect as k, createMemo as he, onCleanup as B, Show as v } from "solid-js";
3
+ import { buildFloatingMiddleware as ve, resolvePlacement as pe } from "../../../utils/floating.js";
4
+ import { createFloating as be } from "../../../primitives/createFloating.js";
5
+ import { isTopOverlayLayer as we } from "../../../primitives/overlayLayer.js";
6
+ import { DataPickerHeader as ye } from "./dataPickerHeader.js";
7
+ import { DataPickerDays as De } from "./dataPickerDays.js";
7
8
  import { DatePickerList as Y } from "./datePickerList.js";
8
- import { DataPickerInput as De } from "./dataPickerInput.js";
9
- import { DatePickerIconButton as ye } from "./datePickerIconButton.js";
10
- import { OpenView as o } from "./openView.js";
11
- import { isValidDate as C, getMonths as ke, getYears as Ve, getDisplayDate as E, setYear as Oe, setMonth as Pe } from "./dateUtils.js";
12
- import { mergeRefs as q } from "../../../primitives/mergeRefs.js";
13
- import { TextField as Se } from "../textField/textField.js";
14
- import { Icon as Fe } from "../../base/icon/icon.js";
15
- import { ClickAwayListener as Me } from "../../clickAwayListener/clickAwayListener.js";
16
- var Ae = /* @__PURE__ */ ue('<div class=smwb-date-picker data-testid=date-picker data-smwb-overlay-layer role=dialog aria-modal=false style="transition:opacity 150ms ease-in-out"><div class=smwb-date-picker__inner><div class=smwb-date-picker__body>');
9
+ import { DataPickerInput as Ce } from "./dataPickerInput.js";
10
+ import { DatePickerIconButton as ke } from "./datePickerIconButton.js";
11
+ import { OpenView as i } from "./openView.js";
12
+ import { isValidDate as V, getMonths as Ve, getYears as Oe, getDisplayDate as q, setYear as Pe, setMonth as Se } from "./dateUtils.js";
13
+ import { mergeRefs as z } from "../../../primitives/mergeRefs.js";
14
+ import { TextField as Fe } from "../textField/textField.js";
15
+ import { Icon as Me } from "../../base/icon/icon.js";
16
+ import { ClickAwayListener as Ae } from "../../clickAwayListener/clickAwayListener.js";
17
+ var Ee = /* @__PURE__ */ ge('<div class=smwb-date-picker data-testid=date-picker data-smwb-overlay-layer role=dialog aria-modal=false style="transition:opacity 150ms ease-in-out"><div class=smwb-date-picker__inner><div class=smwb-date-picker__body>');
17
18
  const Ie = 150;
18
- function Ke(D) {
19
- const [e, y] = ge(D, ["value", "onChange", "showDaysOutsideMonth", "disablePast", "disableFuture", "weekStartsOn", "placement", "disabled", "disableCalendar", "calendarAriaLabel", "minDate", "maxDate", "isDateDisabled", "locale", "format", "range", "rangeValue", "onRangeChange", "calendarIcon", "onBlur", "ref"]), k = me(() => e.range && !e.disableCalendar ? e.calendarIcon : void 0), v = () => e.value === void 0 ? void 0 : new Date(e.value), V = () => e.rangeValue !== void 0, [z, H] = d([void 0, void 0]), i = () => V() && e.rangeValue ? e.rangeValue : z(), O = v(), [s, u] = d(C(O) ? O : /* @__PURE__ */ new Date()), [g, m] = d(o.days), [j, f] = d(!1);
20
- let P, S;
21
- const F = () => ve(e.placement ?? "bottom-start"), p = pe({
22
- placement: () => F().placement,
23
- middleware: () => be(F())
19
+ function Qe(O) {
20
+ const [e, P] = me(O, ["value", "onChange", "showDaysOutsideMonth", "disablePast", "disableFuture", "weekStartsOn", "placement", "disabled", "disableCalendar", "calendarAriaLabel", "minDate", "maxDate", "isDateDisabled", "locale", "format", "range", "rangeValue", "onRangeChange", "calendarIcon", "onBlur", "ref"]), S = fe(() => e.range && !e.disableCalendar ? e.calendarIcon : void 0), p = () => e.value === void 0 ? void 0 : new Date(e.value), F = () => e.rangeValue !== void 0, [H, K] = d([void 0, void 0]), s = () => F() && e.rangeValue ? e.rangeValue : H(), M = p(), [c, m] = d(V(M) ? M : /* @__PURE__ */ new Date()), [f, h] = d(i.days), [j, u] = d(!1);
21
+ let b, w;
22
+ const A = () => pe(e.placement ?? "bottom-start"), y = be({
23
+ placement: () => A().placement,
24
+ middleware: () => ve(A())
24
25
  });
25
- L(() => {
26
+ k(() => {
26
27
  if (e.disabled) return;
27
- const t = v();
28
- u(C(t) ? t : /* @__PURE__ */ new Date());
28
+ const t = p();
29
+ m(V(t) ? t : /* @__PURE__ */ new Date());
29
30
  });
30
31
  const G = () => e.weekStartsOn ?? 1, J = (t) => {
31
- u(t);
32
- }, K = () => {
33
- m(g() === o.months ? o.days : o.months);
32
+ m(t);
34
33
  }, N = () => {
35
- m(g() === o.years ? o.days : o.years);
36
- }, Q = (t) => {
37
- u(Pe(s(), t)), m(o.days);
34
+ h(f() === i.months ? i.days : i.months);
35
+ }, Q = () => {
36
+ h(f() === i.years ? i.days : i.years);
38
37
  }, U = (t) => {
39
- u(Oe(s(), t)), m(o.days);
40
- }, W = (t, n) => {
38
+ m(Se(c(), t)), h(i.days);
39
+ }, W = (t) => {
40
+ m(Pe(c(), t)), h(i.days);
41
+ }, X = (t, n) => {
41
42
  if (e.range) {
42
43
  if (!n) return;
43
- const [l, h] = i();
44
+ const [o, l] = s();
44
45
  let r;
45
- !l || l && h ? r = [n, void 0] : r = C(l) && n.getTime() < l.getTime() ? [n, l] : [l, n], V() || H(r), e.onRangeChange?.(r), r[0] && r[1] && f(!1);
46
+ !o || o && l ? r = [n, void 0] : r = V(o) && n.getTime() < o.getTime() ? [n, o] : [o, n], F() || K(r), e.onRangeChange?.(r), r[0] && r[1] && u(!1);
46
47
  return;
47
48
  }
48
- e.onChange?.(t, n, D), f(!1);
49
- }, M = () => {
50
- e.disabled || f((t) => !t);
51
- }, X = (t) => {
49
+ e.onChange?.(t, n, O), u(!1);
50
+ }, E = () => {
51
+ e.disabled || u((t) => !t);
52
+ }, Z = (t) => {
52
53
  const n = t.target;
53
- S?.contains(n) || P?.contains(n) || f(!1);
54
- }, Z = fe(() => ke(e.locale)), ee = Ve((/* @__PURE__ */ new Date()).getFullYear(), 100), A = () => j() && !e.disabled && !e.disableCalendar, [I, _] = d(A()), [te, R] = d(!1);
55
- let w, c;
56
- L(() => {
57
- A() ? (c !== void 0 && clearTimeout(c), _(!0), w = requestAnimationFrame(() => R(!0))) : (R(!1), I() && (c = setTimeout(() => _(!1), Ie)));
58
- }), he(() => {
59
- w !== void 0 && cancelAnimationFrame(w), c !== void 0 && clearTimeout(c);
54
+ w?.contains(n) || b?.contains(n) || u(!1);
55
+ }, ee = he(() => Ve(e.locale)), te = Oe((/* @__PURE__ */ new Date()).getFullYear(), 100), D = () => j() && !e.disabled && !e.disableCalendar, [I, L] = d(D()), [ne, _] = d(!1);
56
+ let C, g;
57
+ k(() => {
58
+ D() ? (g !== void 0 && clearTimeout(g), L(!0), C = requestAnimationFrame(() => _(!0))) : (_(!1), I() && (g = setTimeout(() => L(!1), Ie)));
59
+ }), B(() => {
60
+ C !== void 0 && cancelAnimationFrame(C), g !== void 0 && clearTimeout(g);
61
+ }), k(() => {
62
+ if (!D()) return;
63
+ const t = (n) => {
64
+ const o = w;
65
+ if (n.key !== "Escape" || !o || !we(o)) return;
66
+ u(!1);
67
+ const l = document.activeElement;
68
+ (!l || l === document.body || o.contains(l)) && b?.focus();
69
+ };
70
+ document.addEventListener("keydown", t), B(() => document.removeEventListener("keydown", t));
60
71
  });
61
72
  const re = () => {
62
- switch (g()) {
63
- case o.months:
73
+ switch (f()) {
74
+ case i.months:
64
75
  return a(Y, {
65
76
  get value() {
66
- return s().getMonth();
77
+ return c().getMonth();
67
78
  },
68
79
  get items() {
69
- return Z();
80
+ return ee();
70
81
  },
71
- onChange: Q
82
+ onChange: U
72
83
  });
73
- case o.years:
84
+ case i.years:
74
85
  return a(Y, {
75
86
  get value() {
76
- return s().getFullYear();
87
+ return c().getFullYear();
77
88
  },
78
- items: ee,
79
- onChange: U
89
+ items: te,
90
+ onChange: W
80
91
  });
81
92
  default:
82
- return a(Ce, {
93
+ return a(De, {
83
94
  get viewValue() {
84
- return s();
95
+ return c();
85
96
  },
86
97
  get value() {
87
- return v();
98
+ return p();
88
99
  },
89
100
  get showDaysOutsideMonth() {
90
101
  return e.showDaysOutsideMonth;
91
102
  },
92
- onChange: W,
103
+ onChange: X,
93
104
  get disablePast() {
94
105
  return e.disablePast;
95
106
  },
@@ -115,21 +126,21 @@ function Ke(D) {
115
126
  return e.range;
116
127
  },
117
128
  get rangeStart() {
118
- return i()[0];
129
+ return s()[0];
119
130
  },
120
131
  get rangeEnd() {
121
- return i()[1];
132
+ return s()[1];
122
133
  }
123
134
  });
124
135
  }
125
- }, ae = () => e.range && (i()[0] || i()[1]) ? `${E(i()[0], e.format)} – ${E(i()[1], e.format)}` : "", T = q(e.ref, p.setReference, (t) => P = t);
126
- return [a(b, {
136
+ }, ae = () => e.range && (s()[0] || s()[1]) ? `${q(s()[0], e.format)} – ${q(s()[1], e.format)}` : "", R = z(e.ref, y.setReference, (t) => b = t);
137
+ return [a(v, {
127
138
  get when() {
128
139
  return e.range;
129
140
  },
130
141
  get fallback() {
131
- return a(De, x({
132
- ref: T,
142
+ return a(Ce, $({
143
+ ref: R,
133
144
  get value() {
134
145
  return e.value;
135
146
  },
@@ -139,7 +150,7 @@ function Ke(D) {
139
150
  get onBlur() {
140
151
  return e.onBlur;
141
152
  },
142
- onToggle: M,
153
+ onToggle: E,
143
154
  get disabled() {
144
155
  return e.disabled;
145
156
  },
@@ -152,11 +163,11 @@ function Ke(D) {
152
163
  get calendarIcon() {
153
164
  return e.calendarIcon;
154
165
  }
155
- }, y));
166
+ }, P));
156
167
  },
157
168
  get children() {
158
- return a(Se, x({
159
- ref: T,
169
+ return a(Fe, $({
170
+ ref: R,
160
171
  get value() {
161
172
  return ae();
162
173
  },
@@ -170,25 +181,25 @@ function Ke(D) {
170
181
  placeholder: `${e.format} – ${e.format}`
171
182
  } : {}, {
172
183
  get endAdornment() {
173
- return a(b, {
184
+ return a(v, {
174
185
  get when() {
175
186
  return !e.disableCalendar;
176
187
  },
177
188
  get children() {
178
- return a(ye, {
189
+ return a(ke, {
179
190
  edge: "end",
180
- onClick: M,
191
+ onClick: E,
181
192
  get disabled() {
182
193
  return !!e.disabled;
183
194
  },
184
195
  "data-testid": "date-picker-icon-button",
185
196
  get children() {
186
- return a(b, {
197
+ return a(v, {
187
198
  get when() {
188
- return k();
199
+ return S();
189
200
  },
190
201
  get fallback() {
191
- return a(Fe, {
202
+ return a(Me, {
192
203
  name: "calendar_today",
193
204
  fill: 1,
194
205
  weight: 500,
@@ -196,7 +207,7 @@ function Ke(D) {
196
207
  });
197
208
  },
198
209
  get children() {
199
- return k();
210
+ return S();
200
211
  }
201
212
  });
202
213
  }
@@ -204,41 +215,41 @@ function Ke(D) {
204
215
  }
205
216
  });
206
217
  }
207
- }, y));
218
+ }, P));
208
219
  }
209
- }), a(b, {
220
+ }), a(v, {
210
221
  get when() {
211
222
  return I();
212
223
  },
213
224
  get children() {
214
- return a(oe, {
225
+ return a(ie, {
215
226
  get mount() {
216
- return ce ? void 0 : document.body;
227
+ return ue ? void 0 : document.body;
217
228
  },
218
229
  get children() {
219
- return a(Me, {
220
- onClickAway: X,
230
+ return a(Ae, {
231
+ onClickAway: Z,
221
232
  get children() {
222
- var t = Ae(), n = t.firstChild, l = n.firstChild, h = q(p.setFloating, (r) => S = r);
223
- return typeof h == "function" && le(h, t), B(n, a(we, {
233
+ var t = Ee(), n = t.firstChild, o = n.firstChild, l = z(y.setFloating, (r) => w = r);
234
+ return typeof l == "function" && le(l, t), x(n, a(ye, {
224
235
  get viewValue() {
225
- return s();
236
+ return c();
226
237
  },
227
238
  get locale() {
228
239
  return e.locale;
229
240
  },
230
241
  get openView() {
231
- return g();
242
+ return f();
232
243
  },
233
244
  onChange: J,
234
- onMonthLabelClick: K,
235
- onYearLabelClick: N
236
- }), l), B(l, re), ie((r) => {
237
- var ne = {
238
- ...p.floatingStyles(),
239
- opacity: te() ? 1 : 0
240
- }, $ = e.calendarAriaLabel ?? "Choose date";
241
- return r.e = se(t, ne, r.e), $ !== r.t && de(t, "aria-label", r.t = $), r;
245
+ onMonthLabelClick: N,
246
+ onYearLabelClick: Q
247
+ }), o), x(o, re), se((r) => {
248
+ var oe = {
249
+ ...y.floatingStyles(),
250
+ opacity: ne() ? 1 : 0
251
+ }, T = e.calendarAriaLabel ?? "Choose date";
252
+ return r.e = ce(t, oe, r.e), T !== r.t && de(t, "aria-label", r.t = T), r;
242
253
  }, {
243
254
  e: void 0,
244
255
  t: void 0
@@ -251,7 +262,7 @@ function Ke(D) {
251
262
  })];
252
263
  }
253
264
  export {
254
- Ke as DatePicker,
255
- o as OpenView
265
+ Qe as DatePicker,
266
+ i as OpenView
256
267
  };
257
268
  //# sourceMappingURL=datePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datePicker.js","sources":["../../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, children, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n // The range field draws the calendar icon itself, unless the calendar is off:\n // read it once, and only then (the single field hands it to its input).\n const rangeIcon = children(() => (local.range && !local.disableCalendar ? local.calendarIcon : undefined));\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show when={rangeIcon()} fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}>\n {rangeIcon()}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n data-smwb-overlay-layer\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","rangeIcon","children","range","disableCalendar","calendarIcon","undefined","value","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","isServer","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":"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"}
1
+ {"version":3,"file":"datePicker.js","sources":["../../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, children, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { isTopOverlayLayer } from \"../../../primitives/overlayLayer\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n // The range field draws the calendar icon itself, unless the calendar is off:\n // read it once, and only then (the single field hands it to its input).\n const rangeIcon = children(() => (local.range && !local.disableCalendar ? local.calendarIcon : undefined));\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n // Escape closes the panel while it is the topmost overlay layer, so the next one\n // reaches a Modal or Sheet around the picker. Focus left in the panel (or on\n // <body> after a click there) goes back to the input rather than being lost.\n createEffect(() => {\n if (!shouldOpen()) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n const panel = calendarEl;\n if (event.key !== \"Escape\" || !panel || !isTopOverlayLayer(panel)) return;\n setIsOpen(false);\n const active = document.activeElement;\n if (!active || active === document.body || panel.contains(active)) anchorEl?.focus();\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show when={rangeIcon()} fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}>\n {rangeIcon()}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n data-smwb-overlay-layer\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","rangeIcon","children","range","disableCalendar","calendarIcon","undefined","value","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","onKeyDown","panel","key","isTopOverlayLayer","active","document","activeElement","body","focus","addEventListener","removeEventListener","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","isServer","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":";;;;;;;;;;;;;;;;;AA6DA,MAAMA,KAAU;AAET,SAASC,GAAWC,GAAqC;AAC9D,QAAM,CAACC,GAAOC,CAAI,IAAIC,GAAWH,GAAO,CACtC,SACA,YACA,wBACA,eACA,iBACA,gBACA,aACA,YACA,mBACA,qBACA,WACA,WACA,kBACA,UACA,UACA,SACA,cACA,iBACA,gBACA,UACA,KAAK,CACN,GAIKI,IAAYC,GAAS,MAAOJ,EAAMK,SAAS,CAACL,EAAMM,kBAAkBN,EAAMO,eAAeC,MAAU,GAEnGC,IAAQA,MAAyBT,EAAMS,UAAUD,SAAYA,SAAY,IAAIE,KAAKV,EAAMS,KAAK,GAC7FE,IAAoBA,MAAeX,EAAMY,eAAeJ,QACxD,CAACK,GAAYC,CAAa,IAAIC,EAAmD,CAACP,QAAWA,MAAS,CAAC,GACvGQ,IAAeA,MACnBL,OAAuBX,EAAMY,aAAaZ,EAAMY,aAAaC,EAAAA,GAEzDI,IAAeR,EAAAA,GACf,CAACS,GAAWC,CAAY,IAAIJ,EAAmBK,EAAYH,CAAY,IAAIA,IAAe,oBAAIP,MAAM,GACpG,CAACW,GAAUC,CAAW,IAAIP,EAAuBQ,EAASC,IAAI,GAC9D,CAACC,GAAQC,CAAS,IAAIX,EAAa,EAAK;AAE9C,MAAIY,GACAC;AAEJ,QAAMC,IAAWA,MAA2CC,GAAiB9B,EAAM+B,aAAa,cAAc,GACxGC,IAAWC,GAAe;AAAA,IAC9BF,WAAWA,MAAMF,EAAAA,EAAWE;AAAAA,IAC5BG,YAAYA,MAAMC,GAAwBN,EAAAA,CAAU;AAAA,EAAA,CACrD;AAEDO,EAAAA,EAAa,MAAM;AACjB,QAAIpC,EAAMqC,SAAU;AACpB,UAAMC,IAAI7B,EAAAA;AACVU,IAAAA,EAAaC,EAAYkB,CAAC,IAAIA,IAAI,oBAAI5B,MAAM;AAAA,EAC9C,CAAC;AAED,QAAM6B,IAAeA,MAAiBvC,EAAMuC,gBAAgB,GAEtDC,IAAoBA,CAACF,MAAkB;AAC3CnB,IAAAA,EAAamB,CAAC;AAAA,EAChB,GAEMG,IAAoBA,MAAY;AACpCnB,IAAAA,EAAYD,QAAeE,EAASmB,SAASnB,EAASC,OAAOD,EAASmB,MAAM;AAAA,EAC9E,GAEMC,IAAmBA,MAAY;AACnCrB,IAAAA,EAAYD,QAAeE,EAASqB,QAAQrB,EAASC,OAAOD,EAASqB,KAAK;AAAA,EAC5E,GAEMC,IAAgBA,CAACC,MAAwB;AAC7C3B,IAAAA,EAAa4B,GAAS7B,EAAAA,GAAa4B,CAAK,CAAC,GACzCxB,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEMwB,IAAeA,CAACC,MAAuB;AAC3C9B,IAAAA,EAAa+B,GAAQhC,EAAAA,GAAa+B,CAAI,CAAC,GACvC3B,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEM2B,IAAWA,CAACC,GAAeC,MAAsB;AACrD,QAAIrD,EAAMK,OAAO;AACf,UAAI,CAACgD,EAAM;AACX,YAAM,CAACC,GAAOC,CAAG,IAAIvC,EAAAA;AACrB,UAAIwC;AACJ,MAAI,CAACF,KAAUA,KAASC,IACtBC,IAAO,CAACH,GAAM7C,MAAS,IAEvBgD,IAAOpC,EAAYkC,CAAK,KAAKD,EAAKI,YAAYH,EAAMG,QAAAA,IAAY,CAACJ,GAAMC,CAAK,IAAI,CAACA,GAAOD,CAAI,GAEzF1C,EAAAA,KAAqBG,EAAc0C,CAAI,GAC5CxD,EAAM0D,gBAAgBF,CAAI,GACtBA,EAAK,CAAC,KAAKA,EAAK,CAAC,OAAa,EAAK;AACvC;AAAA,IACF;AACAxD,IAAAA,EAAMmD,WAAWC,GAAOC,GAAMtD,CAAK,GACnC2B,EAAU,EAAK;AAAA,EACjB,GAEMiC,IAAWA,MAAY;AAC3B,IAAK3D,EAAMqC,YAAUX,EAAWkC,CAAAA,MAAS,CAACA,CAAI;AAAA,EAChD,GAEMC,IAAcA,CAACT,MAAyC;AAC5D,UAAMU,IAASV,EAAMU;AACrB,IAAIlC,GAAYmC,SAASD,CAAM,KAAKnC,GAAUoC,SAASD,CAAM,KAC7DpC,EAAU,EAAK;AAAA,EACjB,GAEMgB,KAASsB,GAAW,MAAMC,GAAUjE,EAAMkE,MAAM,CAAC,GACjDtB,KAAQuB,IAAS,oBAAIzD,QAAO0D,YAAAA,GAAe,GAAG,GAE9CC,IAAaA,MAAe5C,EAAAA,KAAY,CAACzB,EAAMqC,YAAY,CAACrC,EAAMM,iBAClE,CAACgE,GAASC,CAAU,IAAIxD,EAAasD,GAAY,GACjD,CAACG,IAAOC,CAAQ,IAAI1D,EAAa,EAAK;AAC5C,MAAI2D,GACAC;AAEJvC,EAAAA,EAAa,MAAM;AACjB,IAAIiC,OACEM,MAAUnE,UAAWoE,aAAaD,CAAK,GAC3CJ,EAAW,EAAI,GACfG,IAAMG,sBAAsB,MAAMJ,EAAS,EAAI,CAAC,MAEhDA,EAAS,EAAK,GACVH,EAAAA,MAAWK,IAAQG,WAAW,MAAMP,EAAW,EAAK,GAAG1E,EAAO;AAAA,EAEtE,CAAC,GACDkF,EAAU,MAAM;AACd,IAAIL,MAAQlE,UAAWwE,qBAAqBN,CAAG,GAC3CC,MAAUnE,UAAWoE,aAAaD,CAAK;AAAA,EAC7C,CAAC,GAKDvC,EAAa,MAAM;AACjB,QAAI,CAACiC,IAAc;AACnB,UAAMY,IAAYA,CAAC7B,MAA+B;AAChD,YAAM8B,IAAQtD;AACd,UAAIwB,EAAM+B,QAAQ,YAAY,CAACD,KAAS,CAACE,GAAkBF,CAAK,EAAG;AACnExD,MAAAA,EAAU,EAAK;AACf,YAAM2D,IAASC,SAASC;AACxB,OAAI,CAACF,KAAUA,MAAWC,SAASE,QAAQN,EAAMnB,SAASsB,CAAM,MAAG1D,GAAU8D,MAAAA;AAAAA,IAC/E;AACAH,aAASI,iBAAiB,WAAWT,CAAS,GAC9CF,EAAU,MAAMO,SAASK,oBAAoB,WAAWV,CAAS,CAAC;AAAA,EACpE,CAAC;AAED,QAAMW,KAAOA,MAAmB;AAC9B,YAAQvE,KAAS;AAAA,MACf,KAAKE,EAASmB;AACZ,eAAAmD,EAAQC,GAAc;AAAA,UAAA,IAACrF,QAAK;AAAA,mBAAES,EAAAA,EAAY6E,SAAAA;AAAAA,UAAU;AAAA,UAAA,IAAEC,QAAK;AAAA,mBAAEtD,GAAAA;AAAAA,UAAQ;AAAA,UAAES,UAAUN;AAAAA,QAAAA,CAAa;AAAA,MAChG,KAAKtB,EAASqB;AACZ,eAAAiD,EAAQC,GAAc;AAAA,UAAA,IAACrF,QAAK;AAAA,mBAAES,EAAAA,EAAYkD,YAAAA;AAAAA,UAAa;AAAA,UAAE4B,OAAOpD;AAAAA,UAAOO,UAAUH;AAAAA,QAAAA,CAAY;AAAA,MAC/F;AACE,eAAA6C,EACGI,IAAc;AAAA,UAAA,IACb/E,YAAS;AAAA,mBAAEA,EAAAA;AAAAA,UAAW;AAAA,UAAA,IACtBT,QAAK;AAAA,mBAAEA,EAAAA;AAAAA,UAAO;AAAA,UAAA,IACdyF,uBAAoB;AAAA,mBAAElG,EAAMkG;AAAAA,UAAoB;AAAA,UAChD/C,UAAAA;AAAAA,UAAkB,IAClBgD,cAAW;AAAA,mBAAEnG,EAAMmG;AAAAA,UAAW;AAAA,UAAA,IAC9BC,gBAAa;AAAA,mBAAEpG,EAAMoG;AAAAA,UAAa;AAAA,UAAA,IAClC7D,eAAY;AAAA,mBAAEA,EAAAA;AAAAA,UAAc;AAAA,UAAA,IAC5B8D,UAAO;AAAA,mBAAErG,EAAMqG;AAAAA,UAAO;AAAA,UAAA,IACtBC,UAAO;AAAA,mBAAEtG,EAAMsG;AAAAA,UAAO;AAAA,UAAA,IACtBC,iBAAc;AAAA,mBAAEvG,EAAMuG;AAAAA,UAAc;AAAA,UAAA,IACpCrC,SAAM;AAAA,mBAAElE,EAAMkE;AAAAA,UAAM;AAAA,UAAA,IACpB7D,QAAK;AAAA,mBAAEL,EAAMK;AAAAA,UAAK;AAAA,UAAA,IAClBmG,aAAU;AAAA,mBAAExF,EAAAA,EAAe,CAAC;AAAA,UAAC;AAAA,UAAA,IAC7ByF,WAAQ;AAAA,mBAAEzF,EAAAA,EAAe,CAAC;AAAA,UAAC;AAAA,QAAA,CAAA;AAAA,IAAA;AAAA,EAIrC,GAEM0F,KAAeA,MACnB1G,EAAMK,UAAUW,EAAAA,EAAe,CAAC,KAAKA,EAAAA,EAAe,CAAC,KACjD,GAAG2F,EAAe3F,IAAe,CAAC,GAAGhB,EAAM4G,MAAM,CAAC,MAAMD,EAAe3F,EAAAA,EAAe,CAAC,GAAGhB,EAAM4G,MAAM,CAAC,KACvG,IAEAC,IAAYC,EAAU9G,EAAM+G,KAAK/E,EAASgF,cAAeC,CAAAA,MAAQtF,IAAWsF,CAAkB;AAEpG,SAAA,CAAApB,EAEKqB,GAAI;AAAA,IAAA,IACHC,OAAI;AAAA,aAAEnH,EAAMK;AAAAA,IAAK;AAAA,IAAA,IACjB+G,WAAQ;AAAA,aAAAvB,EACLwB,IAAeC,EAAA;AAAA,QAAAP,KACTF;AAAAA,QAAS,IACdpG,QAAK;AAAA,iBAAET,EAAMS;AAAAA,QAAK;AAAA,QAAA,IAClB0C,WAAQ;AAAA,iBAAEnD,EAAMmD;AAAAA,QAAQ;AAAA,QAAA,IACxBoE,SAAM;AAAA,iBAAEvH,EAAMuH;AAAAA,QAAM;AAAA,QACpB5D,UAAAA;AAAAA,QAAkB,IAClBtB,WAAQ;AAAA,iBAAErC,EAAMqC;AAAAA,QAAQ;AAAA,QAAA,IACxB/B,kBAAe;AAAA,iBAAEN,EAAMM;AAAAA,QAAe;AAAA,QAAA,IACtCsG,SAAM;AAAA,iBAAE5G,EAAM4G;AAAAA,QAAM;AAAA,QAAA,IACpBrG,eAAY;AAAA,iBAAEP,EAAMO;AAAAA,QAAY;AAAA,MAAA,GAC5BN,CAAI,CAAA;AAAA,IAAA;AAAA,IAAA,IAAAG,WAAA;AAAA,aAAAyF,EAIX2B,IAASF,EAAA;AAAA,QAAAP,KACHF;AAAAA,QAAS,IACdpG,QAAK;AAAA,iBAAEiG,GAAAA;AAAAA,QAAc;AAAA,QACrBe,UAAQ;AAAA,QACRtE,UAAUA,MAAAA;AAAAA;AAAAA,QAAe,IACzBd,WAAQ;AAAA,iBAAEqF,EAAQ1H,EAAMqC;AAAAA,QAAS;AAAA,MAAA,GAAA,MAC5BrC,EAAM4G,SAAS;AAAA,QAAEe,aAAa,GAAG3H,EAAM4G,MAAM,MAAM5G,EAAM4G,MAAM;AAAA,MAAA,IAAO,IAAE;AAAA,QAAA,IAC7EgB,eAAY;AAAA,iBAAA/B,EACTqB,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE,CAACnH,EAAMM;AAAAA,YAAe;AAAA,YAAA,IAAAF,WAAA;AAAA,qBAAAyF,EAC/BgC,IAAoB;AAAA,gBACnBC,MAAI;AAAA,gBACJC,SAASpE;AAAAA,gBAAQ,IACjBtB,WAAQ;AAAA,yBAAEqF,EAAQ1H,EAAMqC;AAAAA,gBAAS;AAAA,gBAAA,eAAA;AAAA,gBAAA,IAAAjC,WAAA;AAAA,yBAAAyF,EAGhCqB,GAAI;AAAA,oBAAA,IAACC,OAAI;AAAA,6BAAEhH,EAAAA;AAAAA,oBAAW;AAAA,oBAAA,IAAEiH,WAAQ;AAAA,6BAAAvB,EAAGmC,IAAI;AAAA,wBAACC,MAAI;AAAA,wBAAkBC,MAAM;AAAA,wBAAGC,QAAQ;AAAA,wBAAKC,MAAM;AAAA,sBAAA,CAAE;AAAA,oBAAA;AAAA,oBAAA,IAAAhI,WAAA;AAAA,6BAC1FD,EAAAA;AAAAA,oBAAW;AAAA,kBAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,GAKhBF,CAAI,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,GAAA4F,EAGXqB,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAE7C,EAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAlE,WAAA;AAAA,aAAAyF,EAClBwC,IAAM;AAAA,QAAA,IAACC,QAAK;AAAA,iBAAGC,KAAW/H,SAAY8E,SAASE;AAAAA,QAAa;AAAA,QAAA,IAAApF,WAAA;AAAA,iBAAAyF,EAC1D2C,IAAiB;AAAA,YAAC3E,aAAAA;AAAAA,YAAwB,IAAAzD,WAAA;AAAA,kBAAAqI,IAAAC,GAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAElChC,EAAU9E,EAAS+G,aAAc9B,CAAAA,MAAQrF,IAAaqF,CAAkB;AAAC,4BAAA6B,KAAA,cAAAE,GAAAF,GAAAL,CAAA,GAAAQ,EAAAN,GAAA9C,EAc3EqD,IAAgB;AAAA,gBAAA,IACfhI,YAAS;AAAA,yBAAEA,EAAAA;AAAAA,gBAAW;AAAA,gBAAA,IACtBgD,SAAM;AAAA,yBAAElE,EAAMkE;AAAAA,gBAAM;AAAA,gBAAA,IACpB7C,WAAQ;AAAA,yBAAEA,EAAAA;AAAAA,gBAAU;AAAA,gBACpB8B,UAAUX;AAAAA,gBACVC,mBAAAA;AAAAA,gBACAE,kBAAAA;AAAAA,cAAAA,CAAkC,GAAAkG,CAAA,GAAAI,EAAAJ,GAECjD,EAAI,GAAAuD,GAAAC,CAAAA,MAAA;AAAA,oBAAAC,KApBpC;AAAA,kBACL,GAAGrH,EAASsH,eAAAA;AAAAA,kBAEZC,SAAS/E,GAAAA,IAAU,IAAI;AAAA,gBAAA,GACxBgF,IAKWxJ,EAAMyJ,qBAAqB;AAAaL,uBAAAA,EAAAM,IAAAC,GAAAlB,GAAAY,IAAAD,EAAAM,CAAA,GAAAF,MAAAJ,EAAAQ,KAAAC,GAAApB,GAAA,cAAAW,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,cAAA,GAAA;AAAA,gBAAAM,GAAAlJ;AAAAA,gBAAAoJ,GAAApJ;AAAAA,cAAAA,CAAA,GAAAiI;AAAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAmBlE;"}