@smwb/ui-solid 0.12.0 → 0.13.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 (850) hide show
  1. package/README.md +74 -0
  2. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  4. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  5. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  6. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  7. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  8. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  9. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  10. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  11. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  12. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  13. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  14. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  15. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  16. package/dist/components/base/animateHeight/animateHeight.js +41 -42
  17. package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
  18. package/dist/components/base/icon/icon.d.ts +6 -2
  19. package/dist/components/base/icon/icon.js +41 -41
  20. package/dist/components/base/icon/icon.js.map +1 -1
  21. package/dist/components/base/ripple/ripple.d.ts +3 -0
  22. package/dist/components/base/ripple/ripple.js +46 -34
  23. package/dist/components/base/ripple/ripple.js.map +1 -1
  24. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  25. package/dist/components/dataDisplay/avatar/avatar.js +37 -33
  26. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  27. package/dist/components/dataDisplay/card/card.d.ts +32 -1
  28. package/dist/components/dataDisplay/card/card.js +47 -34
  29. package/dist/components/dataDisplay/card/card.js.map +1 -1
  30. package/dist/components/dataDisplay/carousel/carousel.js +92 -88
  31. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  32. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  33. package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
  34. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  35. package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
  36. package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
  37. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  38. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
  39. package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  40. package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  41. package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
  42. package/dist/components/dataDisplay/chip/chip.js +104 -63
  43. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  44. package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  45. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  46. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  47. package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
  48. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  49. package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
  50. package/dist/components/dataDisplay/dagView/dagView.js +488 -0
  51. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  52. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  53. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  54. package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
  55. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  56. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  57. package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
  58. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  59. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  60. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  61. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  62. package/dist/components/dataDisplay/kanban/kanban.js +71 -61
  63. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  64. package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  65. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  66. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  67. package/dist/components/dataDisplay/list/list.js +16 -12
  68. package/dist/components/dataDisplay/list/list.js.map +1 -1
  69. package/dist/components/dataDisplay/list/listItem.js +20 -18
  70. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  71. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  72. package/dist/components/dataDisplay/meter/meter.js +15 -13
  73. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  74. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  75. package/dist/components/dataDisplay/personChip/personChip.js +12 -10
  76. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  77. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  78. package/dist/components/dataDisplay/stat/stat.js +41 -43
  79. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  80. package/dist/components/dataDisplay/table/table.d.ts +10 -1
  81. package/dist/components/dataDisplay/table/table.js +46 -22
  82. package/dist/components/dataDisplay/table/table.js.map +1 -1
  83. package/dist/components/dataDisplay/table/tableBody.js +25 -12
  84. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  85. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  86. package/dist/components/dataDisplay/table/tableCell.js +15 -14
  87. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  88. package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
  89. package/dist/components/dataDisplay/table/tableColumns.js +254 -0
  90. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  91. package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
  92. package/dist/components/dataDisplay/table/tableEntities.js +6 -0
  93. package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
  94. package/dist/components/dataDisplay/table/tableHead.js +29 -11
  95. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  96. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
  97. package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
  98. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  99. package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
  100. package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
  101. package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  102. package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
  103. package/dist/components/dataDisplay/table/tableRow.js +28 -13
  104. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  105. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  106. package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  107. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  108. package/dist/components/dataDisplay/treeView/treeView.d.ts +2 -0
  109. package/dist/components/dataDisplay/treeView/treeView.js +4 -2
  110. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  111. package/dist/components/dataDisplay/typography/typography.js +22 -26
  112. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  113. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  114. package/dist/components/feedBack/emptyState/emptyState.js +20 -16
  115. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  116. package/dist/components/feedBack/message/message.d.ts +2 -0
  117. package/dist/components/feedBack/message/message.js +17 -13
  118. package/dist/components/feedBack/message/message.js.map +1 -1
  119. package/dist/components/feedBack/modal/modal.js +20 -16
  120. package/dist/components/feedBack/modal/modal.js.map +1 -1
  121. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  122. package/dist/components/feedBack/skeleton/skeleton.js +43 -35
  123. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  124. package/dist/components/feedBack/snackbar/snackbar.js +24 -20
  125. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  126. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  127. package/dist/components/feedBack/tooltip/tooltip.js +65 -41
  128. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  129. package/dist/components/inputs/button/button.d.ts +2 -0
  130. package/dist/components/inputs/button/button.js +48 -20
  131. package/dist/components/inputs/button/button.js.map +1 -1
  132. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  133. package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
  134. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  135. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  136. package/dist/components/inputs/checkbox/checkbox.js +59 -36
  137. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  138. package/dist/components/inputs/datePicker/datePicker.js +108 -97
  139. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  140. package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  141. package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  142. package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
  143. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  144. package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
  145. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  146. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  147. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  148. package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
  149. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  150. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  151. package/dist/components/inputs/radioButton/radioButton.js +48 -34
  152. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  153. package/dist/components/inputs/rating/rating.d.ts +9 -0
  154. package/dist/components/inputs/rating/rating.js +74 -53
  155. package/dist/components/inputs/rating/rating.js.map +1 -1
  156. package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
  157. package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
  158. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  159. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  160. package/dist/components/inputs/selectField/optionNavigation.js +37 -0
  161. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  162. package/dist/components/inputs/selectField/selectField.d.ts +32 -1
  163. package/dist/components/inputs/selectField/selectField.js +297 -126
  164. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  165. package/dist/components/inputs/slider/slider.d.ts +25 -3
  166. package/dist/components/inputs/slider/slider.js +320 -197
  167. package/dist/components/inputs/slider/slider.js.map +1 -1
  168. package/dist/components/inputs/textField/textField.d.ts +9 -1
  169. package/dist/components/inputs/textField/textField.js +104 -51
  170. package/dist/components/inputs/textField/textField.js.map +1 -1
  171. package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
  172. package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
  173. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  174. package/dist/components/inputs/timePicker/timePicker.js +73 -62
  175. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  176. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  177. package/dist/components/inputs/toggle/toggle.js +43 -31
  178. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  179. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  180. package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
  181. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  182. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  183. package/dist/components/layout/appLayout/appLayout.js +32 -30
  184. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  185. package/dist/components/layout/divider/divider.d.ts +2 -0
  186. package/dist/components/layout/divider/divider.js +22 -20
  187. package/dist/components/layout/divider/divider.js.map +1 -1
  188. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  189. package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
  190. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  191. package/dist/components/layout/grid/grid.d.ts +8 -0
  192. package/dist/components/layout/grid/grid.js +52 -44
  193. package/dist/components/layout/grid/grid.js.map +1 -1
  194. package/dist/components/layout/page/page.d.ts +2 -0
  195. package/dist/components/layout/page/page.js +14 -12
  196. package/dist/components/layout/page/page.js.map +1 -1
  197. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  198. package/dist/components/layout/pageHeader/pageHeader.js +23 -21
  199. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  200. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  201. package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
  202. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  203. package/dist/components/layout/sheet/sheet.d.ts +2 -0
  204. package/dist/components/layout/sheet/sheet.js +50 -48
  205. package/dist/components/layout/sheet/sheet.js.map +1 -1
  206. package/dist/components/layout/stack/stack.d.ts +2 -0
  207. package/dist/components/layout/stack/stack.js +26 -24
  208. package/dist/components/layout/stack/stack.js.map +1 -1
  209. package/dist/components/navigation/appBar/appBar.d.ts +2 -0
  210. package/dist/components/navigation/appBar/appBar.js +18 -16
  211. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  212. package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
  213. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  214. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  215. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
  216. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  217. package/dist/components/navigation/menu/menu.d.ts +6 -0
  218. package/dist/components/navigation/menu/menu.js.map +1 -1
  219. package/dist/components/navigation/menu/menuComponent.js +12 -23
  220. package/dist/components/navigation/menu/menuComponent.js.map +1 -1
  221. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  222. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  223. package/dist/components/navigation/menu/menuFloating.js +54 -46
  224. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  225. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  226. package/dist/components/navigation/menu/menuItem.js +58 -33
  227. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  228. package/dist/components/navigation/menu/menuList.d.ts +4 -0
  229. package/dist/components/navigation/menu/menuList.js +34 -16
  230. package/dist/components/navigation/menu/menuList.js.map +1 -1
  231. package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
  232. package/dist/components/navigation/menu/menuSubmenu.js +58 -38
  233. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  234. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  235. package/dist/components/navigation/pagination/pagination.js +28 -24
  236. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  237. package/dist/components/navigation/sidebar/sidebar.js +27 -25
  238. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  239. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  240. package/dist/components/navigation/stepper/stepper.js +46 -42
  241. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  242. package/dist/components/navigation/tabs/tab/tab.js +46 -35
  243. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  244. package/dist/components/navigation/tabs/tabs.d.ts +7 -0
  245. package/dist/components/navigation/tabs/tabs.js +90 -75
  246. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  247. package/dist/components/navigation/tabs/tabsContext.d.ts +6 -4
  248. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  249. package/dist/connects/rt/table/table.d.ts +16 -1
  250. package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
  251. package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
  252. package/dist/headless/components/base/icon/icon.js +40 -40
  253. package/dist/headless/components/base/icon/icon.js.map +1 -1
  254. package/dist/headless/components/base/ripple/ripple.js +46 -34
  255. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  256. package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
  257. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  258. package/dist/headless/components/dataDisplay/card/card.js +44 -31
  259. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  260. package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
  261. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  262. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
  263. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  264. package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
  265. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  266. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
  267. package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
  268. package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
  269. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  270. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
  271. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  272. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
  273. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  274. package/dist/headless/components/dataDisplay/dagView/dagView.js +486 -0
  275. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  276. package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
  277. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  278. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
  279. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  280. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
  281. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  282. package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
  283. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  284. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
  285. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  286. package/dist/headless/components/dataDisplay/list/list.js +16 -12
  287. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  288. package/dist/headless/components/dataDisplay/list/listItem.js +20 -18
  289. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  290. package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
  291. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  292. package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
  293. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  294. package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
  295. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  296. package/dist/headless/components/dataDisplay/table/table.js +47 -23
  297. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  298. package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
  299. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  300. package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
  301. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  302. package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
  303. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  304. package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
  305. package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
  306. package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
  307. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  308. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
  309. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  310. package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
  311. package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
  312. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
  313. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  314. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
  315. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  316. package/dist/headless/components/dataDisplay/treeView/treeView.js +4 -2
  317. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  318. package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
  319. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  320. package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
  321. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  322. package/dist/headless/components/feedBack/message/message.js +17 -13
  323. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  324. package/dist/headless/components/feedBack/modal/modal.js +20 -16
  325. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  326. package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
  327. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  328. package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
  329. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  330. package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
  331. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  332. package/dist/headless/components/inputs/button/button.js +51 -23
  333. package/dist/headless/components/inputs/button/button.js.map +1 -1
  334. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
  335. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  336. package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
  337. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  338. package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
  339. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  340. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
  341. package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
  342. package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
  343. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  344. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
  345. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  346. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
  347. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  348. package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
  349. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  350. package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
  351. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  352. package/dist/headless/components/inputs/rating/rating.js +74 -53
  353. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  354. package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
  355. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  356. package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
  357. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  358. package/dist/headless/components/inputs/selectField/selectField.js +297 -126
  359. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  360. package/dist/headless/components/inputs/slider/slider.js +320 -197
  361. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  362. package/dist/headless/components/inputs/textField/textField.js +104 -51
  363. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  364. package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
  365. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  366. package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
  367. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  368. package/dist/headless/components/inputs/toggle/toggle.js +42 -30
  369. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  370. package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
  371. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  372. package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
  373. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  374. package/dist/headless/components/layout/divider/divider.js +19 -17
  375. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  376. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
  377. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  378. package/dist/headless/components/layout/grid/grid.js +54 -46
  379. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  380. package/dist/headless/components/layout/page/page.js +12 -10
  381. package/dist/headless/components/layout/page/page.js.map +1 -1
  382. package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
  383. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  384. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
  385. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  386. package/dist/headless/components/layout/sheet/sheet.js +50 -48
  387. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  388. package/dist/headless/components/layout/stack/stack.js +23 -21
  389. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  390. package/dist/headless/components/navigation/appBar/appBar.js +15 -13
  391. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  392. package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
  393. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  394. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
  395. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  396. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  397. package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
  398. package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
  399. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  400. package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
  401. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  402. package/dist/headless/components/navigation/menu/menuItem.js +58 -33
  403. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  404. package/dist/headless/components/navigation/menu/menuList.js +34 -16
  405. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  406. package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
  407. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  408. package/dist/headless/components/navigation/pagination/pagination.js +23 -19
  409. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  410. package/dist/headless/components/navigation/sidebar/sidebar.js +14 -12
  411. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  412. package/dist/headless/components/navigation/stepper/stepper.js +38 -34
  413. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  414. package/dist/headless/components/navigation/tabs/tab/tab.js +48 -37
  415. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  416. package/dist/headless/components/navigation/tabs/tabs.js +91 -76
  417. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  418. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  419. package/dist/headless/index.js +224 -220
  420. package/dist/headless/index.js.map +1 -1
  421. package/dist/headless/primitives/createCssTransition.js +31 -28
  422. package/dist/headless/primitives/createCssTransition.js.map +1 -1
  423. package/dist/headless/primitives/createDismissOnEscape.js +14 -0
  424. package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
  425. package/dist/headless/primitives/createFocusTrap.js +1 -0
  426. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  427. package/dist/headless/primitives/createHelperText.js +14 -0
  428. package/dist/headless/primitives/createHelperText.js.map +1 -0
  429. package/dist/headless/primitives/mergeStyle.js +9 -0
  430. package/dist/headless/primitives/mergeStyle.js.map +1 -0
  431. package/dist/headless/primitives/overlayLayer.js +14 -7
  432. package/dist/headless/primitives/overlayLayer.js.map +1 -1
  433. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
  434. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  435. package/dist/headless/source/components/base/icon/icon.jsx +10 -12
  436. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
  437. package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
  438. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
  439. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  440. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  441. package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
  442. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  443. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  444. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  445. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
  446. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  447. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  448. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  449. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  450. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  451. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  452. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  453. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
  454. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  455. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  456. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  457. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  458. package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  459. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +639 -0
  460. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  461. package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
  462. package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
  463. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
  464. package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  465. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  466. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  467. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  468. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  469. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  470. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  471. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  472. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  473. package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
  474. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  475. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +11 -10
  476. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  477. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
  478. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  479. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  480. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  481. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
  482. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  483. package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
  484. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  485. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
  486. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  487. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
  488. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  489. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  490. package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  491. package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
  492. package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  493. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
  494. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  495. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  496. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  497. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  498. package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  499. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
  500. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  501. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  502. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  503. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  504. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  505. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
  506. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  507. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  508. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  509. package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
  510. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
  511. package/dist/headless/source/components/feedBack/modal/modal.jsx +5 -2
  512. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  513. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  514. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  515. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  516. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  517. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  518. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  519. package/dist/headless/source/components/inputs/button/button.jsx +8 -3
  520. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  521. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  522. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  523. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
  524. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  525. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
  526. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  527. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  528. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  529. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  530. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  531. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  532. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  533. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  534. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  535. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  536. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  537. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
  538. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  539. package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
  540. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  541. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  542. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  543. package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
  544. package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  545. package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
  546. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  547. package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
  548. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
  549. package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
  550. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  551. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  552. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  553. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
  554. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  555. package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
  556. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
  557. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  558. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  559. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
  560. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  561. package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
  562. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  563. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  564. package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  565. package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
  566. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
  567. package/dist/headless/source/components/layout/page/page.jsx +10 -2
  568. package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
  569. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  570. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  571. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  572. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  573. package/dist/headless/source/components/layout/sheet/sheet.jsx +6 -8
  574. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  575. package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
  576. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  577. package/dist/headless/source/components/navigation/appBar/appBar.jsx +3 -2
  578. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  579. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  580. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  581. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  582. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  583. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
  584. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
  585. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  586. package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
  587. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
  588. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  589. package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
  590. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
  591. package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
  592. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
  593. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  594. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  595. package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
  596. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
  597. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +1 -1
  598. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  599. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
  600. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  601. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +12 -16
  602. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  603. package/dist/headless/source/components/navigation/tabs/tabs.jsx +34 -10
  604. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  605. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  606. package/dist/headless/source/connects/rt/table/table.jsx +7 -2
  607. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  608. package/dist/headless/source/index.js +3 -0
  609. package/dist/headless/source/index.js.map +2 -2
  610. package/dist/headless/source/primitives/createCssTransition.js +10 -1
  611. package/dist/headless/source/primitives/createCssTransition.js.map +2 -2
  612. package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
  613. package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
  614. package/dist/headless/source/primitives/createFocusTrap.js +1 -0
  615. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  616. package/dist/headless/source/primitives/createHelperText.js +16 -0
  617. package/dist/headless/source/primitives/createHelperText.js.map +7 -0
  618. package/dist/headless/source/primitives/mergeStyle.js +15 -0
  619. package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
  620. package/dist/headless/source/primitives/overlayLayer.js +10 -2
  621. package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
  622. package/dist/headless/source/utils/controlProps.js +22 -0
  623. package/dist/headless/source/utils/controlProps.js.map +7 -0
  624. package/dist/headless/source/utils/ownClick.js +41 -0
  625. package/dist/headless/source/utils/ownClick.js.map +7 -0
  626. package/dist/headless/utils/controlProps.js +20 -0
  627. package/dist/headless/utils/controlProps.js.map +1 -0
  628. package/dist/headless/utils/ownClick.js +39 -0
  629. package/dist/headless/utils/ownClick.js.map +1 -0
  630. package/dist/index.d.ts +2 -0
  631. package/dist/index.js +224 -220
  632. package/dist/index.js.map +1 -1
  633. package/dist/primitives/createCssTransition.d.ts +6 -0
  634. package/dist/primitives/createCssTransition.js +31 -28
  635. package/dist/primitives/createCssTransition.js.map +1 -1
  636. package/dist/primitives/createDismissOnEscape.d.ts +12 -0
  637. package/dist/primitives/createDismissOnEscape.js +14 -0
  638. package/dist/primitives/createDismissOnEscape.js.map +1 -0
  639. package/dist/primitives/createFocusTrap.d.ts +2 -0
  640. package/dist/primitives/createFocusTrap.js +1 -0
  641. package/dist/primitives/createFocusTrap.js.map +1 -1
  642. package/dist/primitives/createHelperText.d.ts +26 -0
  643. package/dist/primitives/createHelperText.js +14 -0
  644. package/dist/primitives/createHelperText.js.map +1 -0
  645. package/dist/primitives/mergeStyle.d.ts +19 -0
  646. package/dist/primitives/mergeStyle.js +9 -0
  647. package/dist/primitives/mergeStyle.js.map +1 -0
  648. package/dist/primitives/overlayLayer.d.ts +15 -3
  649. package/dist/primitives/overlayLayer.js +14 -7
  650. package/dist/primitives/overlayLayer.js.map +1 -1
  651. package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
  652. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
  653. package/dist/source/components/base/icon/icon.jsx +10 -12
  654. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  655. package/dist/source/components/base/ripple/ripple.jsx +16 -4
  656. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  657. package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
  658. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  659. package/dist/source/components/dataDisplay/card/card.jsx +31 -12
  660. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  661. package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
  662. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  663. package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
  664. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
  665. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
  666. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
  667. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
  668. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
  669. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
  670. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
  671. package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
  672. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  673. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
  674. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  675. package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
  676. package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
  677. package/dist/source/components/dataDisplay/dagView/dagView.jsx +641 -0
  678. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
  679. package/dist/source/components/dataDisplay/dagView/index.js +10 -0
  680. package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
  681. package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
  682. package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
  683. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
  684. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
  685. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
  686. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  687. package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
  688. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
  689. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
  690. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  691. package/dist/source/components/dataDisplay/list/list.jsx +3 -3
  692. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  693. package/dist/source/components/dataDisplay/list/listItem.jsx +11 -10
  694. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  695. package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
  696. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
  697. package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
  698. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
  699. package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
  700. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
  701. package/dist/source/components/dataDisplay/table/table.jsx +18 -1
  702. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  703. package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
  704. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
  705. package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
  706. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  707. package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
  708. package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
  709. package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
  710. package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
  711. package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
  712. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
  713. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
  714. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  715. package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
  716. package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
  717. package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
  718. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
  719. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
  720. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  721. package/dist/source/components/dataDisplay/treeView/treeView.jsx +9 -2
  722. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  723. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
  724. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  725. package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
  726. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
  727. package/dist/source/components/feedBack/message/message.jsx +5 -4
  728. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  729. package/dist/source/components/feedBack/modal/modal.jsx +5 -2
  730. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  731. package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
  732. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  733. package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
  734. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  735. package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
  736. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  737. package/dist/source/components/inputs/button/button.jsx +8 -3
  738. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  739. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
  740. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  741. package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
  742. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  743. package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
  744. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  745. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
  746. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
  747. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
  748. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
  749. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
  750. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
  751. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
  752. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
  753. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
  754. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  755. package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
  756. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  757. package/dist/source/components/inputs/rating/rating.jsx +49 -20
  758. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  759. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
  760. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
  761. package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
  762. package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
  763. package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
  764. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  765. package/dist/source/components/inputs/slider/slider.jsx +89 -18
  766. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  767. package/dist/source/components/inputs/textField/textField.jsx +47 -9
  768. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  769. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
  770. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  771. package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
  772. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  773. package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
  774. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  775. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
  776. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  777. package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
  778. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  779. package/dist/source/components/layout/divider/divider.jsx +6 -5
  780. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  781. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
  782. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  783. package/dist/source/components/layout/grid/grid.jsx +20 -8
  784. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  785. package/dist/source/components/layout/page/page.jsx +10 -2
  786. package/dist/source/components/layout/page/page.jsx.map +1 -1
  787. package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
  788. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  789. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
  790. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
  791. package/dist/source/components/layout/sheet/sheet.jsx +6 -8
  792. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  793. package/dist/source/components/layout/stack/stack.jsx +15 -11
  794. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  795. package/dist/source/components/navigation/appBar/appBar.jsx +3 -2
  796. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  797. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
  798. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  799. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
  800. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  801. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  802. package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
  803. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
  804. package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
  805. package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
  806. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
  807. package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
  808. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
  809. package/dist/source/components/navigation/menu/menuList.jsx +19 -7
  810. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
  811. package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
  812. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
  813. package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
  814. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  815. package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -1
  816. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  817. package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
  818. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  819. package/dist/source/components/navigation/tabs/tab/tab.jsx +12 -16
  820. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  821. package/dist/source/components/navigation/tabs/tabs.jsx +34 -10
  822. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  823. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  824. package/dist/source/connects/rt/table/table.jsx +7 -2
  825. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  826. package/dist/source/index.js +3 -0
  827. package/dist/source/index.js.map +2 -2
  828. package/dist/source/primitives/createCssTransition.js +10 -1
  829. package/dist/source/primitives/createCssTransition.js.map +2 -2
  830. package/dist/source/primitives/createDismissOnEscape.js +17 -0
  831. package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
  832. package/dist/source/primitives/createFocusTrap.js +1 -0
  833. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  834. package/dist/source/primitives/createHelperText.js +16 -0
  835. package/dist/source/primitives/createHelperText.js.map +7 -0
  836. package/dist/source/primitives/mergeStyle.js +15 -0
  837. package/dist/source/primitives/mergeStyle.js.map +7 -0
  838. package/dist/source/primitives/overlayLayer.js +10 -2
  839. package/dist/source/primitives/overlayLayer.js.map +2 -2
  840. package/dist/source/utils/controlProps.js +22 -0
  841. package/dist/source/utils/controlProps.js.map +7 -0
  842. package/dist/source/utils/ownClick.js +41 -0
  843. package/dist/source/utils/ownClick.js.map +7 -0
  844. package/dist/utils/controlProps.d.ts +17 -0
  845. package/dist/utils/controlProps.js +20 -0
  846. package/dist/utils/controlProps.js.map +1 -0
  847. package/dist/utils/ownClick.d.ts +16 -0
  848. package/dist/utils/ownClick.js +39 -0
  849. package/dist/utils/ownClick.js.map +1 -0
  850. package/package.json +9 -3
@@ -1 +1 @@
1
- {"version":3,"file":"expansionPanel.js","sources":["../../../../../src/components/dataDisplay/expansionPanel/expansionPanel.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Button } from \"../../inputs/button\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type ExpansionMode = \"tile\" | \"row\" | \"fullscreen\";\n\nexport interface ExpansionPanelLabels {\n expandRow?: string;\n collapseRow?: string;\n expandFullscreen?: string;\n closeFullscreen?: string;\n placeholder?: string;\n placeholderClose?: string;\n}\n\nexport interface ExpansionPanelRenderContext {\n mode: ExpansionMode;\n isFullscreen: boolean;\n isFullRow: boolean;\n}\n\nexport interface ExpansionPanelControlsContext extends ExpansionPanelRenderContext {\n setMode: (next: ExpansionMode | ((current: ExpansionMode) => ExpansionMode)) => void;\n toggleRow: () => void;\n openFullscreen: () => void;\n closeFullscreen: () => void;\n labels: Required<ExpansionPanelLabels>;\n}\n\ntype ExpansionPanelChildren = JSX.Element | ((ctx: ExpansionPanelRenderContext) => JSX.Element);\ntype ExpansionPanelControls = JSX.Element | ((ctx: ExpansionPanelControlsContext) => JSX.Element);\n\nexport interface ExpansionPanelProps {\n class?: string;\n header?: JSX.Element;\n mode?: ExpansionMode;\n defaultMode?: ExpansionMode;\n onModeChange?: (mode: ExpansionMode) => void;\n disableExpand?: boolean;\n noControls?: boolean;\n renderControls?: ExpansionPanelControls;\n closeOnOutsideClick?: boolean;\n closeOnEsc?: boolean;\n labels?: ExpansionPanelLabels;\n children?: ExpansionPanelChildren;\n ref?: Ref<HTMLDivElement>;\n}\n\nconst DEFAULT_LABELS: Required<ExpansionPanelLabels> = {\n expandRow: \"Expand to full row\",\n collapseRow: \"Collapse to grid\",\n expandFullscreen: \"Expand to fullscreen\",\n closeFullscreen: \"Close fullscreen\",\n placeholder: \"Panel is open in fullscreen\",\n placeholderClose: \"Close\",\n};\n\nexport function ExpansionPanel(props: ExpansionPanelProps): JSX.Element {\n const merged = mergeProps(\n { defaultMode: \"tile\" as ExpansionMode, disableExpand: false, noControls: false, closeOnOutsideClick: true, closeOnEsc: true },\n props\n );\n const [local] = splitProps(merged, [\n \"class\",\n \"header\",\n \"mode\",\n \"defaultMode\",\n \"onModeChange\",\n \"disableExpand\",\n \"noControls\",\n \"renderControls\",\n \"closeOnOutsideClick\",\n \"closeOnEsc\",\n \"labels\",\n \"children\",\n \"ref\",\n ]);\n\n const [mode, setMode] = createControllableState<ExpansionMode>({\n value: () => local.mode,\n defaultValue: local.defaultMode,\n onChange: (next) => local.onModeChange?.(next),\n });\n\n const labels = (): Required<ExpansionPanelLabels> => ({ ...DEFAULT_LABELS, ...local.labels });\n const effectiveMode = (): ExpansionMode => (local.disableExpand ? \"tile\" : mode());\n const isFullRow = (): boolean => effectiveMode() === \"row\";\n const isFullscreen = (): boolean => effectiveMode() === \"fullscreen\";\n\n const toggleRow = (): void => setMode((current) => (current === \"row\" ? \"tile\" : \"row\"));\n const openFullscreen = (): void => setMode(\"fullscreen\");\n const closeFullscreen = (): void => setMode(\"tile\");\n\n const controlsContext = (overlay: boolean): ExpansionPanelControlsContext => ({\n mode: effectiveMode(),\n isFullscreen: overlay,\n isFullRow: overlay ? false : isFullRow(),\n setMode,\n toggleRow,\n openFullscreen,\n closeFullscreen,\n labels: labels(),\n });\n\n const renderChildren = (overlay: boolean): JSX.Element => {\n const ctx: ExpansionPanelRenderContext = { mode: effectiveMode(), isFullscreen: overlay, isFullRow: overlay ? false : isFullRow() };\n return typeof local.children === \"function\" ? local.children(ctx) : local.children;\n };\n\n const defaultControls = (overlay: boolean): JSX.Element => {\n if (overlay) {\n return (\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"small\"\n aria-label={labels().closeFullscreen}\n title={labels().closeFullscreen}\n onClick={closeFullscreen}\n data-testid=\"expansion-panel-close\"\n icon={<Icon name=\"close\" size={18} />}\n />\n );\n }\n return (\n <>\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"small\"\n aria-pressed={isFullRow()}\n aria-label={isFullRow() ? labels().collapseRow : labels().expandRow}\n title={isFullRow() ? labels().collapseRow : labels().expandRow}\n onClick={toggleRow}\n data-testid=\"expansion-panel-row\"\n icon={<Icon name={isFullRow() ? \"grid_view\" : \"table_rows\"} size={18} />}\n />\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"small\"\n aria-label={labels().expandFullscreen}\n title={labels().expandFullscreen}\n onClick={openFullscreen}\n data-testid=\"expansion-panel-fullscreen\"\n icon={<Icon name=\"open_in_full\" size={18} />}\n />\n </>\n );\n };\n\n const controlBar = (overlay: boolean): JSX.Element => {\n if (local.disableExpand || local.noControls) return null;\n const content = local.renderControls\n ? typeof local.renderControls === \"function\"\n ? local.renderControls(controlsContext(overlay))\n : local.renderControls\n : defaultControls(overlay);\n return <Show when={content}>{(c) => <div class=\"smwb-expansion-panel__controls\">{c() as JSX.Element}</div>}</Show>;\n };\n\n // Lock body scroll while fullscreen.\n createEffect(() => {\n if (!isFullscreen()) return;\n const prev = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n onCleanup(() => {\n document.body.style.overflow = prev;\n });\n });\n\n // Escape closes fullscreen.\n createEffect(() => {\n if (!isFullscreen() || !local.closeOnEsc) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"Escape\") setMode(\"tile\");\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const card = (): JSX.Element => (\n <div\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-expansion-panel\", { \"smwb-expansion-panel_row\": isFullRow() }, local.class)}\n data-testid=\"expansion-panel\"\n >\n <div class=\"smwb-expansion-panel__head\">\n <div class=\"smwb-expansion-panel__header\">{local.header}</div>\n {controlBar(false)}\n </div>\n <div class=\"smwb-expansion-panel__body\">{renderChildren(false)}</div>\n </div>\n );\n\n return (\n <Show when={isFullscreen()} fallback={card()}>\n <>\n <div class=\"smwb-expansion-panel__placeholder\" data-testid=\"expansion-panel-placeholder\">\n <span>{labels().placeholder}</span>\n <Button type=\"button\" variant=\"outlined\" size=\"small\" label={labels().placeholderClose} onClick={() => setMode(\"tile\")} />\n </div>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <div\n class=\"smwb-expansion-panel__overlay smwb-dark\"\n role=\"dialog\"\n aria-modal=\"true\"\n data-testid=\"expansion-panel-overlay\"\n onClick={\n local.closeOnOutsideClick\n ? (event) => {\n if (event.target === event.currentTarget) setMode(\"tile\");\n }\n : undefined\n }\n >\n <div class=\"smwb-expansion-panel__dialog\">\n <div class=\"smwb-expansion-panel__head\">\n <div class=\"smwb-expansion-panel__header\">{local.header}</div>\n {controlBar(true)}\n </div>\n <div class=\"smwb-expansion-panel__body smwb-expansion-panel__body_fullscreen\">{renderChildren(true)}</div>\n </div>\n </div>\n </Portal>\n </>\n </Show>\n );\n}\n\nexport default ExpansionPanel;\n"],"names":["DEFAULT_LABELS","expandRow","collapseRow","expandFullscreen","closeFullscreen","placeholder","placeholderClose","ExpansionPanel","props","merged","mergeProps","defaultMode","disableExpand","noControls","closeOnOutsideClick","closeOnEsc","local","splitProps","mode","setMode","createControllableState","value","defaultValue","onChange","next","onModeChange","labels","effectiveMode","isFullRow","isFullscreen","toggleRow","current","openFullscreen","controlsContext","overlay","renderChildren","ctx","children","defaultControls","_$createComponent","Button","type","variant","size","title","onClick","icon","Icon","name","_$memo","controlBar","content","renderControls","Show","when","c","_el$","_tmpl$","_$insert","createEffect","prev","document","body","style","overflow","onCleanup","onKeyDown","event","key","addEventListener","removeEventListener","card","_el$2","_tmpl$2","_el$3","firstChild","_el$4","_el$5","nextSibling","_ref$","mergeRefs","ref","_$use","header","_$effect","_$className","cn","class","fallback","_el$6","_tmpl$3","_el$7","label","Portal","mount","isServer","undefined","_el$8","_tmpl$4","_el$9","_el$0","_el$1","_el$10","_$addEventListener","target","currentTarget","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"expansionPanel.js","sources":["../../../../../src/components/dataDisplay/expansionPanel/expansionPanel.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, mergeProps, on, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Button } from \"../../inputs/button\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { FOCUSABLE } from \"../../../primitives/createFocusTrap\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { hasOverlayLayerAbove } from \"../../../primitives/overlayLayer\";\n\nexport type ExpansionMode = \"tile\" | \"row\" | \"fullscreen\";\n\nexport interface ExpansionPanelLabels {\n expandRow?: string;\n collapseRow?: string;\n expandFullscreen?: string;\n closeFullscreen?: string;\n placeholder?: string;\n placeholderClose?: string;\n}\n\nexport interface ExpansionPanelRenderContext {\n mode: ExpansionMode;\n isFullscreen: boolean;\n isFullRow: boolean;\n}\n\nexport interface ExpansionPanelControlsContext extends ExpansionPanelRenderContext {\n setMode: (next: ExpansionMode | ((current: ExpansionMode) => ExpansionMode)) => void;\n toggleRow: () => void;\n openFullscreen: () => void;\n closeFullscreen: () => void;\n labels: Required<ExpansionPanelLabels>;\n}\n\ntype ExpansionPanelChildren = JSX.Element | ((ctx: ExpansionPanelRenderContext) => JSX.Element);\ntype ExpansionPanelControls = JSX.Element | ((ctx: ExpansionPanelControlsContext) => JSX.Element);\n\nexport interface ExpansionPanelProps {\n class?: string;\n header?: JSX.Element;\n mode?: ExpansionMode;\n defaultMode?: ExpansionMode;\n onModeChange?: (mode: ExpansionMode) => void;\n disableExpand?: boolean;\n noControls?: boolean;\n renderControls?: ExpansionPanelControls;\n closeOnOutsideClick?: boolean;\n closeOnEsc?: boolean;\n labels?: ExpansionPanelLabels;\n children?: ExpansionPanelChildren;\n ref?: Ref<HTMLDivElement>;\n}\n\nconst DEFAULT_LABELS: Required<ExpansionPanelLabels> = {\n expandRow: \"Expand to full row\",\n collapseRow: \"Collapse to grid\",\n expandFullscreen: \"Expand to fullscreen\",\n closeFullscreen: \"Close fullscreen\",\n placeholder: \"Panel is open in fullscreen\",\n placeholderClose: \"Close\",\n};\n\n/** Focuses the first of `targets` that is in the document and takes focus. */\nconst focusFirst = (targets: Array<Element | null | undefined>): void => {\n for (const target of targets) {\n if (!(target instanceof HTMLElement) || !target.isConnected) continue;\n target.focus();\n if ((target.getRootNode() as Document | ShadowRoot).activeElement === target) return;\n }\n};\n\n/** The elements in `container` that Tab can reach, in document order. */\nconst tabbables = (container: HTMLElement): HTMLElement[] =>\n Array.from(container.querySelectorAll<HTMLElement>(FOCUSABLE)).filter(\n // Older browsers (and jsdom) lack checkVisibility: count every match there.\n (el) => typeof el.checkVisibility !== \"function\" || el.checkVisibility({ visibilityProperty: true })\n );\n\nexport function ExpansionPanel(props: ExpansionPanelProps): JSX.Element {\n const merged = mergeProps(\n { defaultMode: \"tile\" as ExpansionMode, disableExpand: false, noControls: false, closeOnOutsideClick: true, closeOnEsc: true },\n props\n );\n const [local] = splitProps(merged, [\n \"class\",\n \"header\",\n \"mode\",\n \"defaultMode\",\n \"onModeChange\",\n \"disableExpand\",\n \"noControls\",\n \"renderControls\",\n \"closeOnOutsideClick\",\n \"closeOnEsc\",\n \"labels\",\n \"children\",\n \"ref\",\n ]);\n\n const [mode, setMode] = createControllableState<ExpansionMode>({\n value: () => local.mode,\n defaultValue: local.defaultMode,\n onChange: (next) => local.onModeChange?.(next),\n });\n\n const labels = (): Required<ExpansionPanelLabels> => ({ ...DEFAULT_LABELS, ...local.labels });\n const effectiveMode = (): ExpansionMode => (local.disableExpand ? \"tile\" : mode());\n const isFullRow = (): boolean => effectiveMode() === \"row\";\n const isFullscreen = (): boolean => effectiveMode() === \"fullscreen\";\n\n const toggleRow = (): void => setMode((current) => (current === \"row\" ? \"tile\" : \"row\"));\n const openFullscreen = (): void => setMode(\"fullscreen\");\n const closeFullscreen = (): void => setMode(\"tile\");\n\n // Always attached and checks `closeOnOutsideClick` itself. Solid binds event\n // handlers once, and the portal builds the overlay in a tracked scope, so\n // choosing the handler by that prop there would rebuild the overlay, content\n // included, whenever it changes.\n const onOverlayClick: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n if (local.closeOnOutsideClick && event.target === event.currentTarget) closeFullscreen();\n };\n\n const controlsContext = (overlay: boolean): ExpansionPanelControlsContext => ({\n mode: effectiveMode(),\n isFullscreen: overlay,\n isFullRow: overlay ? false : isFullRow(),\n setMode,\n toggleRow,\n openFullscreen,\n closeFullscreen,\n labels: labels(),\n });\n\n // Static markup is created anew on every read of the prop, so read it once, and\n // read the mode only for a render prop: static children then stay as they are\n // when the row is toggled, as in React.\n const renderChildren = (overlay: boolean): JSX.Element => {\n const children = local.children;\n if (typeof children !== \"function\") return children;\n return children({ mode: effectiveMode(), isFullscreen: overlay, isFullRow: overlay ? false : isFullRow() });\n };\n\n const defaultControls = (overlay: boolean): JSX.Element => {\n if (overlay) {\n return (\n <Button\n ref={(el) => (closeButtonEl = el)}\n type=\"button\"\n variant=\"outlined\"\n size=\"small\"\n aria-label={labels().closeFullscreen}\n title={labels().closeFullscreen}\n onClick={closeFullscreen}\n data-testid=\"expansion-panel-close\"\n icon={<Icon name=\"close\" size={18} />}\n />\n );\n }\n return (\n <>\n <Button\n type=\"button\"\n variant=\"outlined\"\n size=\"small\"\n aria-pressed={isFullRow()}\n aria-label={isFullRow() ? labels().collapseRow : labels().expandRow}\n title={isFullRow() ? labels().collapseRow : labels().expandRow}\n onClick={toggleRow}\n data-testid=\"expansion-panel-row\"\n icon={<Icon name={isFullRow() ? \"grid_view\" : \"table_rows\"} size={18} />}\n />\n <Button\n ref={(el) => (fullscreenButtonEl = el)}\n type=\"button\"\n variant=\"outlined\"\n size=\"small\"\n aria-label={labels().expandFullscreen}\n title={labels().expandFullscreen}\n onClick={openFullscreen}\n data-testid=\"expansion-panel-fullscreen\"\n icon={<Icon name=\"open_in_full\" size={18} />}\n />\n </>\n );\n };\n\n const controlBar = (overlay: boolean): JSX.Element => {\n if (local.disableExpand || local.noControls) return null;\n const controls = local.renderControls;\n const content = controls\n ? typeof controls === \"function\"\n ? controls(controlsContext(overlay))\n : controls\n : defaultControls(overlay);\n return <Show when={content}>{(c) => <div class=\"smwb-expansion-panel__controls\">{c() as JSX.Element}</div>}</Show>;\n };\n\n // Lock body scroll while fullscreen.\n createEffect(() => {\n if (!isFullscreen()) return;\n const prev = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n onCleanup(() => {\n document.body.style.overflow = prev;\n });\n });\n\n let overlayEl: HTMLDivElement | undefined;\n\n // Escape closes fullscreen. An open layer above the overlay takes it first: a select\n // menu opened from the panel, even one rendered inside it (`menuContainer`).\n createEffect(() => {\n if (!isFullscreen() || !local.closeOnEsc) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n // An Escape handled inside the panel, e.g. by a menu closing on it, keeps fullscreen.\n if (event.key === \"Escape\" && !event.defaultPrevented && !hasOverlayLayerAbove(overlayEl)) {\n // Handled: a FloatingWindow, Modal or Sheet around the panel skips it. Focus goes\n // back into the tile, and their listener may come later in this dispatch.\n event.preventDefault();\n setMode(\"tile\");\n }\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n let cardEl: HTMLDivElement | undefined;\n let fullscreenButtonEl: HTMLButtonElement | HTMLAnchorElement | undefined;\n let closeButtonEl: HTMLButtonElement | HTMLAnchorElement | undefined;\n // Where focus goes back to when fullscreen ends; see the effect below.\n let opener: Element | null = null;\n let lastFocused: Element | null = null;\n\n // The overlay and the card replace each other, so focus in the one that goes falls to\n // <body>: focus in the overlay when fullscreen ends, on the tile's button when it\n // begins. A FloatingWindow around the panel then misses the next Escape, as it takes\n // Escape only while focus is inside it. So when fullscreen ends with focus on <body>,\n // focus goes to the element focused last in the overlay if it survived into the tile,\n // else to what had focus when fullscreen began, else to the tile's fullscreen button,\n // else to the tile's first focusable element. Focus anywhere else is left alone.\n createEffect(\n on(isFullscreen, (fullscreen, wasFullscreen) => {\n const active = document.activeElement;\n if (fullscreen) {\n opener = active === document.body ? null : active;\n lastFocused = null;\n } else if (wasFullscreen && (!active || active === document.body)) {\n focusFirst([lastFocused, opener, fullscreenButtonEl, ...Array.from(cardEl?.querySelectorAll(FOCUSABLE) ?? [])]);\n }\n })\n );\n\n // Entering fullscreen removes the tile, so focus in it falls to <body>, behind an\n // `aria-modal` overlay: Tab goes to the page under it and a screen reader is left on\n // nothing. So when the overlay appears with focus on <body>, focus moves into it: to\n // its close button, else to its first focusable element, else to the overlay itself.\n // Focus elsewhere is left alone: on a control outside the panel that set a controlled\n // `mode`, or on an element in the overlay that focused itself.\n createEffect(() => {\n const overlay = overlayEl;\n const active = document.activeElement;\n if (!isFullscreen() || !overlay?.isConnected || (active && active !== document.body)) return;\n focusFirst([closeButtonEl, ...tabbables(overlay), overlay]);\n });\n\n // Tab stays in the overlay: it wraps at either end, and focus on <body> or on the page\n // under the overlay comes back into it. Tab works as usual in what was opened from the\n // panel: a layer above the overlay, or anything portaled after it (a menu, a picker\n // panel). A Tab handled already is left alone too.\n createEffect(() => {\n if (!isFullscreen()) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n const overlay = overlayEl;\n if (event.key !== \"Tab\" || event.defaultPrevented || event.altKey || event.ctrlKey || event.metaKey) return;\n if (!overlay?.isConnected) return;\n const items = tabbables(overlay);\n const first = items[0] ?? overlay;\n const last = items[items.length - 1] ?? overlay;\n const active = document.activeElement;\n let target: HTMLElement | undefined;\n if (active && active !== document.body && overlay.contains(active)) {\n if (event.shiftKey ? active === first || active === overlay : active === last) {\n target = event.shiftKey ? last : first;\n }\n } else if (\n !hasOverlayLayerAbove(overlay) &&\n (!active ||\n active === document.body ||\n overlay.compareDocumentPosition(active) & Node.DOCUMENT_POSITION_PRECEDING)\n ) {\n target = event.shiftKey ? last : first;\n }\n if (target) {\n event.preventDefault();\n target.focus();\n }\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const card = (): JSX.Element => (\n <div\n ref={mergeRefs(local.ref, (el) => (cardEl = el))}\n class={cn(\"smwb-expansion-panel\", { \"smwb-expansion-panel_row\": isFullRow() }, local.class)}\n data-testid=\"expansion-panel\"\n >\n <div class=\"smwb-expansion-panel__head\">\n <div class=\"smwb-expansion-panel__header\">{local.header}</div>\n {controlBar(false)}\n </div>\n <div class=\"smwb-expansion-panel__body\">{renderChildren(false)}</div>\n </div>\n );\n\n return (\n <Show when={isFullscreen()} fallback={card()}>\n <>\n <div class=\"smwb-expansion-panel__placeholder\" data-testid=\"expansion-panel-placeholder\">\n <span>{labels().placeholder}</span>\n <Button type=\"button\" variant=\"outlined\" size=\"small\" label={labels().placeholderClose} onClick={() => setMode(\"tile\")} />\n </div>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <div\n ref={(el) => (overlayEl = el)}\n class=\"smwb-expansion-panel__overlay smwb-dark\"\n data-smwb-overlay-layer\n role=\"dialog\"\n aria-modal=\"true\"\n tabIndex={-1}\n data-testid=\"expansion-panel-overlay\"\n onFocusIn={(event) => (lastFocused = event.target)}\n onClick={onOverlayClick}\n >\n <div class=\"smwb-expansion-panel__dialog\">\n <div class=\"smwb-expansion-panel__head\">\n <div class=\"smwb-expansion-panel__header\">{local.header}</div>\n {controlBar(true)}\n </div>\n <div class=\"smwb-expansion-panel__body smwb-expansion-panel__body_fullscreen\">{renderChildren(true)}</div>\n </div>\n </div>\n </Portal>\n </>\n </Show>\n );\n}\n\nexport default ExpansionPanel;\n"],"names":["DEFAULT_LABELS","expandRow","collapseRow","expandFullscreen","closeFullscreen","placeholder","placeholderClose","focusFirst","targets","target","HTMLElement","isConnected","focus","getRootNode","activeElement","tabbables","container","Array","from","querySelectorAll","FOCUSABLE","filter","el","checkVisibility","visibilityProperty","ExpansionPanel","props","merged","mergeProps","defaultMode","disableExpand","noControls","closeOnOutsideClick","closeOnEsc","local","splitProps","mode","setMode","createControllableState","value","defaultValue","onChange","next","onModeChange","labels","effectiveMode","isFullRow","isFullscreen","toggleRow","current","openFullscreen","onOverlayClick","event","currentTarget","controlsContext","overlay","renderChildren","children","defaultControls","_$createComponent","Button","ref","closeButtonEl","type","variant","size","title","onClick","icon","Icon","name","_$memo","fullscreenButtonEl","controlBar","controls","renderControls","content","Show","when","c","_el$","_tmpl$","_$insert","createEffect","prev","document","body","style","overflow","onCleanup","overlayEl","onKeyDown","key","defaultPrevented","hasOverlayLayerAbove","preventDefault","addEventListener","removeEventListener","cardEl","opener","lastFocused","on","fullscreen","wasFullscreen","active","altKey","ctrlKey","metaKey","items","first","last","length","contains","shiftKey","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","card","_el$2","_tmpl$2","_el$3","firstChild","_el$4","_el$5","nextSibling","_ref$","mergeRefs","_$use","header","_$effect","_$className","cn","class","fallback","_el$6","_tmpl$3","_el$7","label","Portal","mount","isServer","undefined","_el$8","_tmpl$4","_el$9","_el$0","_el$1","_el$10","$$click","$$focusin","_$delegateEvents"],"mappings":"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"}
@@ -1,131 +1,141 @@
1
- import { use as g, spread as $, mergeProps as w, insert as r, createComponent as u, effect as K, setAttribute as h, memo as j, template as s } from "solid-js/web";
2
- import { splitProps as k, mergeProps as x, children as b, Show as m, createUniqueId as A } from "solid-js";
1
+ import { use as g, spread as $, mergeProps as w, insert as n, createComponent as d, effect as K, setAttribute as h, memo as S, template as s } from "solid-js/web";
2
+ import { splitProps as k, mergeProps as x, children as b, Show as u, createUniqueId as A } from "solid-js";
3
3
  import y from "clsx";
4
4
  import { mergeRefs as v } from "../../../primitives/mergeRefs.js";
5
- var I = /* @__PURE__ */ s("<div data-testid=kanban>"), S = /* @__PURE__ */ s("<span class=smwb-kanban__count>"), W = /* @__PURE__ */ s("<ul class=smwb-kanban__cards role=list>"), q = /* @__PURE__ */ s("<div class=smwb-kanban__column-footer>"), B = /* @__PURE__ */ s("<div data-testid=kanban-column role=group><div class=smwb-kanban__column-header><div class=smwb-kanban__column-title>"), O = /* @__PURE__ */ s("<div class=smwb-kanban__empty>"), R = /* @__PURE__ */ s("<div class=smwb-kanban__card-body>"), U = /* @__PURE__ */ s("<li data-testid=kanban-card>"), z = /* @__PURE__ */ s("<div class=smwb-kanban__card-title>"), D = /* @__PURE__ */ s("<a class=smwb-kanban__card-title>");
6
- const C = (e) => typeof e == "object" && e ? e : {}, E = (e) => typeof e == "number" ? `${e}px` : e, f = (e) => e != null && e !== !1 && e !== !0 && e !== "";
7
- function M(e) {
8
- const [t, l] = k(e, ["class", "style", "columnWidth", "children", "ref"]);
5
+ import { mergeStyle as C } from "../../../primitives/mergeStyle.js";
6
+ var I = /* @__PURE__ */ s("<div>"), W = /* @__PURE__ */ s("<span class=smwb-kanban__count>"), q = /* @__PURE__ */ s("<ul class=smwb-kanban__cards role=list>"), B = /* @__PURE__ */ s("<div class=smwb-kanban__column-footer>"), R = /* @__PURE__ */ s("<div role=group><div class=smwb-kanban__column-header><div class=smwb-kanban__column-title>"), U = /* @__PURE__ */ s("<div class=smwb-kanban__empty>"), j = /* @__PURE__ */ s("<div class=smwb-kanban__card-body>"), z = /* @__PURE__ */ s("<li>"), D = /* @__PURE__ */ s("<div class=smwb-kanban__card-title>"), E = /* @__PURE__ */ s("<a class=smwb-kanban__card-title>");
7
+ const F = (e) => typeof e == "number" ? `${e}px` : e, f = (e) => e != null && e !== !1 && e !== !0 && e !== "";
8
+ function O(e) {
9
+ const [t, a] = k(e, ["class", "style", "columnWidth", "children", "ref", "data-testid"]);
9
10
  return (() => {
10
- var c = I(), o = v(t.ref);
11
- return typeof o == "function" && g(o, c), $(c, w(l, {
11
+ var c = I(), i = v(t.ref);
12
+ return typeof i == "function" && g(i, c), $(c, w({
13
+ get "data-testid"() {
14
+ return t["data-testid"] ?? "kanban";
15
+ }
16
+ }, a, {
12
17
  get class() {
13
18
  return y("smwb-kanban", t.class);
14
19
  },
15
20
  get style() {
16
- return {
17
- ...C(t.style),
18
- "--smwb-kanban-column-width": E(t.columnWidth)
19
- };
21
+ return C(t.style, {
22
+ "--smwb-kanban-column-width": F(t.columnWidth)
23
+ });
20
24
  }
21
- }), !1, !0), r(c, () => t.children), c;
25
+ }), !1, !0), n(c, () => t.children), c;
22
26
  })();
23
27
  }
24
- function N(e) {
25
- const [t, l] = k(e, ["class", "style", "title", "count", "accent", "empty", "footer", "children", "ref"]), c = `${A()}-title`, o = b(() => t.children), _ = b(() => t.empty), i = b(() => t.footer), p = () => o.toArray().some(f);
28
+ function Q(e) {
29
+ const [t, a] = k(e, ["class", "style", "title", "count", "accent", "empty", "footer", "children", "ref", "data-testid"]), c = `${A()}-title`, i = b(() => t.children), _ = b(() => t.empty), o = b(() => t.footer), p = () => i.toArray().some(f);
26
30
  return (() => {
27
- var n = B(), d = n.firstChild, L = d.firstChild, P = v(t.ref);
28
- return typeof P == "function" && g(P, n), h(n, "aria-labelledby", c), $(n, w(l, {
31
+ var r = R(), m = r.firstChild, L = m.firstChild, P = v(t.ref);
32
+ return typeof P == "function" && g(P, r), h(r, "aria-labelledby", c), $(r, w({
33
+ get "data-testid"() {
34
+ return t["data-testid"] ?? "kanban-column";
35
+ }
36
+ }, a, {
29
37
  get class() {
30
38
  return y("smwb-kanban__column", t.class);
31
39
  },
32
40
  get style() {
33
- return {
34
- ...C(t.style),
41
+ return C(t.style, {
35
42
  "--smwb-kanban-accent": t.accent
36
- };
43
+ });
37
44
  }
38
- }), !1, !0), h(L, "id", c), r(L, () => t.title), r(d, u(m, {
45
+ }), !1, !0), h(L, "id", c), n(L, () => t.title), n(m, d(u, {
39
46
  get when() {
40
- return j(() => t.count !== void 0)() && t.count !== null;
47
+ return S(() => t.count !== void 0)() && t.count !== null;
41
48
  },
42
49
  get children() {
43
- var a = S();
44
- return r(a, () => t.count), a;
50
+ var l = W();
51
+ return n(l, () => t.count), l;
45
52
  }
46
- }), null), r(n, u(m, {
53
+ }), null), n(r, d(u, {
47
54
  get when() {
48
55
  return p();
49
56
  },
50
57
  get fallback() {
51
- return u(m, {
58
+ return d(u, {
52
59
  get when() {
53
60
  return f(_());
54
61
  },
55
62
  get children() {
56
- var a = O();
57
- return r(a, _), a;
63
+ var l = U();
64
+ return n(l, _), l;
58
65
  }
59
66
  });
60
67
  },
61
68
  get children() {
62
- var a = W();
63
- return r(a, o), a;
69
+ var l = q();
70
+ return n(l, i), l;
64
71
  }
65
- }), null), r(n, u(m, {
72
+ }), null), n(r, d(u, {
66
73
  get when() {
67
- return f(i());
74
+ return f(o());
68
75
  },
69
76
  get children() {
70
- var a = q();
71
- return r(a, i), a;
77
+ var l = B();
78
+ return n(l, o), l;
72
79
  }
73
- }), null), n;
80
+ }), null), r;
74
81
  })();
75
82
  }
76
- function Q(e) {
83
+ function T(e) {
77
84
  const t = x({
78
85
  titleLines: 3
79
- }, e), [l, c] = k(t, ["class", "style", "title", "href", "titleLines", "children", "ref"]), o = b(() => l.title), _ = b(() => l.children);
86
+ }, e), [a, c] = k(t, ["class", "style", "title", "href", "titleLines", "children", "ref", "data-testid"]), i = b(() => a.title), _ = b(() => a.children);
80
87
  return (() => {
81
- var i = U(), p = v(l.ref);
82
- return typeof p == "function" && g(p, i), $(i, w(c, {
88
+ var o = z(), p = v(a.ref);
89
+ return typeof p == "function" && g(p, o), $(o, w({
90
+ get "data-testid"() {
91
+ return a["data-testid"] ?? "kanban-card";
92
+ }
93
+ }, c, {
83
94
  get class() {
84
95
  return y("smwb-kanban__card", {
85
- "smwb-kanban__card_link": !!l.href
86
- }, l.class);
96
+ "smwb-kanban__card_link": !!a.href
97
+ }, a.class);
87
98
  },
88
99
  get style() {
89
- return {
90
- ...C(l.style),
91
- "--smwb-kanban-title-lines": String(l.titleLines)
92
- };
100
+ return C(a.style, {
101
+ "--smwb-kanban-title-lines": String(a.titleLines)
102
+ });
93
103
  }
94
- }), !1, !0), r(i, u(m, {
104
+ }), !1, !0), n(o, d(u, {
95
105
  get when() {
96
- return f(o());
106
+ return f(i());
97
107
  },
98
108
  get children() {
99
- return u(m, {
109
+ return d(u, {
100
110
  get when() {
101
- return l.href;
111
+ return a.href;
102
112
  },
103
113
  get fallback() {
104
114
  return (() => {
105
- var n = z();
106
- return r(n, o), n;
115
+ var r = D();
116
+ return n(r, i), r;
107
117
  })();
108
118
  },
109
- children: (n) => (() => {
110
- var d = D();
111
- return r(d, o), K(() => h(d, "href", n())), d;
119
+ children: (r) => (() => {
120
+ var m = E();
121
+ return n(m, i), K(() => h(m, "href", r())), m;
112
122
  })()
113
123
  });
114
124
  }
115
- }), null), r(i, u(m, {
125
+ }), null), n(o, d(u, {
116
126
  get when() {
117
127
  return f(_());
118
128
  },
119
129
  get children() {
120
- var n = R();
121
- return r(n, _), n;
130
+ var r = j();
131
+ return n(r, _), r;
122
132
  }
123
- }), null), i;
133
+ }), null), o;
124
134
  })();
125
135
  }
126
136
  export {
127
- M as Kanban,
128
- Q as KanbanCard,
129
- N as KanbanColumn
137
+ O as Kanban,
138
+ T as KanbanCard,
139
+ Q as KanbanColumn
130
140
  };
131
141
  //# sourceMappingURL=kanban.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kanban.js","sources":["../../../../../src/components/dataDisplay/kanban/kanban.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, createUniqueId, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface KanbanProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * The narrowest a column gets before the board scrolls sideways: a number of\n * pixels or any CSS length. 15.5rem by default.\n */\n columnWidth?: number | string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanColumnProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n /** The column's name: text or a badge. It names the column for assistive technology. */\n title: JSX.Element;\n /** How many cards the column holds (it may show fewer), beside the title. Nothing is shown for null. */\n count?: number | string | null;\n /** The column's colour, a stripe along its top: any CSS colour. */\n accent?: string;\n /** Shown in place of the cards when there are none, e.g. \"Empty\". */\n empty?: JSX.Element;\n /** Under the cards, e.g. a link to the rest as a list. */\n footer?: JSX.Element;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanCardProps extends Omit<JSX.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** The card's title, clamped to `titleLines` lines. */\n title?: JSX.Element;\n /** Makes the title a link, and the whole card open it. */\n href?: string;\n /** Lines the title is clamped to: 3 by default. */\n titleLines?: number;\n ref?: Ref<HTMLLIElement>;\n}\n\ntype Style = JSX.CSSProperties | string | undefined;\n\nconst styleObject = (style: Style): JSX.CSSProperties => (typeof style === \"object\" && style ? style : {});\n\nconst cssLength = (value: number | string | undefined): string | undefined =>\n typeof value === \"number\" ? `${value}px` : value;\n\nconst present = (value: unknown): boolean =>\n value !== undefined && value !== null && value !== false && value !== true && value !== \"\";\n\n/** A board: KanbanColumn children side by side, scrolling sideways when they do not fit. */\nexport function Kanban(props: ParentProps<KanbanProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"style\", \"columnWidth\", \"children\", \"ref\"]);\n return (\n <div\n data-testid=\"kanban\"\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban\", local.class)}\n style={{ ...styleObject(local.style), \"--smwb-kanban-column-width\": cssLength(local.columnWidth) }}\n >\n {local.children}\n </div>\n );\n}\n\n/** A column of the board: its title and count, then its KanbanCard children, or `empty` when it has none. */\nexport function KanbanColumn(props: ParentProps<KanbanColumnProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"class\",\n \"style\",\n \"title\",\n \"count\",\n \"accent\",\n \"empty\",\n \"footer\",\n \"children\",\n \"ref\",\n ]);\n const titleId = `${createUniqueId()}-title`;\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration the copy made for a <Show> test has no server DOM node.\n const cards = children(() => local.children);\n const empty = children(() => local.empty);\n const footer = children(() => local.footer);\n const hasCards = (): boolean => cards.toArray().some(present);\n\n return (\n <div\n data-testid=\"kanban-column\"\n role=\"group\"\n aria-labelledby={titleId}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__column\", local.class)}\n style={{ ...styleObject(local.style), \"--smwb-kanban-accent\": local.accent }}\n >\n <div class=\"smwb-kanban__column-header\">\n <div class=\"smwb-kanban__column-title\" id={titleId}>\n {local.title}\n </div>\n <Show when={local.count !== undefined && local.count !== null}>\n <span class=\"smwb-kanban__count\">{local.count}</span>\n </Show>\n </div>\n <Show\n when={hasCards()}\n fallback={\n <Show when={present(empty())}>\n <div class=\"smwb-kanban__empty\">{empty()}</div>\n </Show>\n }\n >\n <ul class=\"smwb-kanban__cards\" role=\"list\">\n {cards()}\n </ul>\n </Show>\n <Show when={present(footer())}>\n <div class=\"smwb-kanban__column-footer\">{footer()}</div>\n </Show>\n </div>\n );\n}\n\n/**\n * A card on the board: its title (a link with `href`, and then the whole card\n * opens it) and the children under it.\n */\nexport function KanbanCard(props: ParentProps<KanbanCardProps>): JSX.Element {\n const merged = mergeProps({ titleLines: 3 }, props);\n const [local, rest] = splitProps(merged, [\"class\", \"style\", \"title\", \"href\", \"titleLines\", \"children\", \"ref\"]);\n\n const title = children(() => local.title);\n const body = children(() => local.children);\n\n return (\n <li\n data-testid=\"kanban-card\"\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__card\", { \"smwb-kanban__card_link\": Boolean(local.href) }, local.class)}\n style={{ ...styleObject(local.style), \"--smwb-kanban-title-lines\": String(local.titleLines) }}\n >\n <Show when={present(title())}>\n <Show when={local.href} fallback={<div class=\"smwb-kanban__card-title\">{title()}</div>}>\n {(href) => (\n <a class=\"smwb-kanban__card-title\" href={href()}>\n {title()}\n </a>\n )}\n </Show>\n </Show>\n <Show when={present(body())}>\n <div class=\"smwb-kanban__card-body\">{body()}</div>\n </Show>\n </li>\n );\n}\n\nexport default Kanban;\n"],"names":["styleObject","style","cssLength","value","present","Kanban","props","local","rest","splitProps","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","columnWidth","_$insert","children","KanbanColumn","titleId","createUniqueId","cards","empty","footer","hasCards","toArray","some","_el$2","_tmpl$5","_el$3","firstChild","_el$4","_ref$2","_$setAttribute","accent","title","_$createComponent","Show","when","_$memo","count","undefined","_el$5","_tmpl$2","fallback","_el$8","_tmpl$6","_el$6","_tmpl$3","_el$7","_tmpl$4","KanbanCard","merged","mergeProps","titleLines","body","_el$9","_tmpl$8","_ref$3","Boolean","href","String","_el$1","_tmpl$9","_el$10","_tmpl$0","_$effect","_el$0","_tmpl$7"],"mappings":"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"}
1
+ {"version":3,"file":"kanban.js","sources":["../../../../../src/components/dataDisplay/kanban/kanban.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, createUniqueId, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { mergeStyle } from \"../../../primitives/mergeStyle\";\n\nexport interface KanbanProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * The narrowest a column gets before the board scrolls sideways: a number of\n * pixels or any CSS length. 15.5rem by default.\n */\n columnWidth?: number | string;\n /** Test id of the root `<div>`; `kanban` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanColumnProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n /** The column's name: text or a badge. It names the column for assistive technology. */\n title: JSX.Element;\n /** How many cards the column holds (it may show fewer), beside the title. Nothing is shown for null. */\n count?: number | string | null;\n /** The column's colour, a stripe along its top: any CSS colour. */\n accent?: string;\n /** Shown in place of the cards when there are none, e.g. \"Empty\". */\n empty?: JSX.Element;\n /** Under the cards, e.g. a link to the rest as a list. */\n footer?: JSX.Element;\n /** Test id of the column's `<div>`; `kanban-column` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanCardProps extends Omit<JSX.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** The card's title, clamped to `titleLines` lines. */\n title?: JSX.Element;\n /** Makes the title a link, and the whole card open it. */\n href?: string;\n /** Lines the title is clamped to: 3 by default. */\n titleLines?: number;\n /** Test id of the card's `<li>`; `kanban-card` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLLIElement>;\n}\n\nconst cssLength = (value: number | string | undefined): string | undefined =>\n typeof value === \"number\" ? `${value}px` : value;\n\nconst present = (value: unknown): boolean =>\n value !== undefined && value !== null && value !== false && value !== true && value !== \"\";\n\n/** A board: KanbanColumn children side by side, scrolling sideways when they do not fit. */\nexport function Kanban(props: ParentProps<KanbanProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"style\", \"columnWidth\", \"children\", \"ref\", \"data-testid\"]);\n return (\n <div\n data-testid={local[\"data-testid\"] ?? \"kanban\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban\", local.class)}\n style={mergeStyle(local.style, { \"--smwb-kanban-column-width\": cssLength(local.columnWidth) })}\n >\n {local.children}\n </div>\n );\n}\n\n/** A column of the board: its title and count, then its KanbanCard children, or `empty` when it has none. */\nexport function KanbanColumn(props: ParentProps<KanbanColumnProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"class\",\n \"style\",\n \"title\",\n \"count\",\n \"accent\",\n \"empty\",\n \"footer\",\n \"children\",\n \"ref\",\n \"data-testid\",\n ]);\n const titleId = `${createUniqueId()}-title`;\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration the copy made for a <Show> test has no server DOM node.\n const cards = children(() => local.children);\n const empty = children(() => local.empty);\n const footer = children(() => local.footer);\n const hasCards = (): boolean => cards.toArray().some(present);\n\n return (\n <div\n data-testid={local[\"data-testid\"] ?? \"kanban-column\"}\n role=\"group\"\n aria-labelledby={titleId}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__column\", local.class)}\n style={mergeStyle(local.style, { \"--smwb-kanban-accent\": local.accent })}\n >\n <div class=\"smwb-kanban__column-header\">\n <div class=\"smwb-kanban__column-title\" id={titleId}>\n {local.title}\n </div>\n <Show when={local.count !== undefined && local.count !== null}>\n <span class=\"smwb-kanban__count\">{local.count}</span>\n </Show>\n </div>\n <Show\n when={hasCards()}\n fallback={\n <Show when={present(empty())}>\n <div class=\"smwb-kanban__empty\">{empty()}</div>\n </Show>\n }\n >\n <ul class=\"smwb-kanban__cards\" role=\"list\">\n {cards()}\n </ul>\n </Show>\n <Show when={present(footer())}>\n <div class=\"smwb-kanban__column-footer\">{footer()}</div>\n </Show>\n </div>\n );\n}\n\n/**\n * A card on the board: its title (a link with `href`, and then the whole card\n * opens it) and the children under it.\n */\nexport function KanbanCard(props: ParentProps<KanbanCardProps>): JSX.Element {\n const merged = mergeProps({ titleLines: 3 }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"style\",\n \"title\",\n \"href\",\n \"titleLines\",\n \"children\",\n \"ref\",\n \"data-testid\",\n ]);\n\n const title = children(() => local.title);\n const body = children(() => local.children);\n\n return (\n <li\n data-testid={local[\"data-testid\"] ?? \"kanban-card\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__card\", { \"smwb-kanban__card_link\": Boolean(local.href) }, local.class)}\n style={mergeStyle(local.style, { \"--smwb-kanban-title-lines\": String(local.titleLines) })}\n >\n <Show when={present(title())}>\n <Show when={local.href} fallback={<div class=\"smwb-kanban__card-title\">{title()}</div>}>\n {(href) => (\n <a class=\"smwb-kanban__card-title\" href={href()}>\n {title()}\n </a>\n )}\n </Show>\n </Show>\n <Show when={present(body())}>\n <div class=\"smwb-kanban__card-body\">{body()}</div>\n </Show>\n </li>\n );\n}\n\nexport default Kanban;\n"],"names":["cssLength","value","present","Kanban","props","local","rest","splitProps","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","style","mergeStyle","columnWidth","_$insert","children","KanbanColumn","titleId","createUniqueId","cards","empty","footer","hasCards","toArray","some","_el$2","_tmpl$5","_el$3","firstChild","_el$4","_ref$2","_$setAttribute","accent","title","_$createComponent","Show","when","_$memo","count","undefined","_el$5","_tmpl$2","fallback","_el$8","_tmpl$6","_el$6","_tmpl$3","_el$7","_tmpl$4","KanbanCard","merged","mergeProps","titleLines","body","_el$9","_tmpl$8","_ref$3","Boolean","href","String","_el$1","_tmpl$9","_el$10","_tmpl$0","_$effect","_el$0","_tmpl$7"],"mappings":"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"}
@@ -1,32 +1,32 @@
1
- import { insert as o, createComponent as g, use as $, spread as k, mergeProps as E, effect as I, className as P, style as R, template as i } from "solid-js/web";
2
- import { mergeProps as S, splitProps as C, createSignal as p, onMount as F, children as O, Show as d, onCleanup as x } from "solid-js";
1
+ import { insert as o, createComponent as d, use as $, spread as k, mergeProps as E, effect as I, className as P, style as R, template as i } from "solid-js/web";
2
+ import { mergeProps as S, splitProps as C, createSignal as p, onMount as F, children as O, Show as v, onCleanup as x } from "solid-js";
3
3
  import L from "clsx";
4
4
  import { mergeRefs as M } from "../../../primitives/mergeRefs.js";
5
5
  var N = /* @__PURE__ */ i("<span class=smwb-lazy-image__fallback>"), V = /* @__PURE__ */ i("<img>", !0, !1, !1), j = /* @__PURE__ */ i("<span>");
6
- function G(v) {
6
+ function G(y) {
7
7
  const c = S({
8
8
  lazy: !0
9
- }, v), [r, y] = C(c, ["src", "alt", "fallback", "lazy", "aspectRatio", "class", "onError", "ref"]), [b, z] = p(!1), [m, f] = p(!c.lazy);
9
+ }, y), [r, m] = C(c, ["src", "alt", "fallback", "lazy", "aspectRatio", "class", "onError", "ref"]), [b, z] = p(!1), [f, g] = p(!c.lazy);
10
10
  let a;
11
11
  F(() => {
12
- if (!r.lazy || m() || !a) return;
12
+ if (!r.lazy || f() || !a) return;
13
13
  if (typeof IntersectionObserver > "u") {
14
- f(!0);
14
+ g(!0);
15
15
  return;
16
16
  }
17
17
  const t = new IntersectionObserver((e) => {
18
- e.some((s) => s.isIntersecting) && (f(!0), t.disconnect());
18
+ e.some((s) => s.isIntersecting) && (g(!0), t.disconnect());
19
19
  });
20
20
  t.observe(a), x(() => t.disconnect());
21
21
  });
22
22
  const w = (t) => {
23
23
  z(!0), r.onError?.(t);
24
- }, n = () => b() || !r.src, _ = () => m() ? r.src : void 0, u = O(() => n() ? r.fallback : void 0), h = () => r.aspectRatio != null ? {
24
+ }, n = () => b() || !r.src, _ = () => f() ? r.src : void 0, u = O(() => n() ? r.fallback : void 0), h = () => r.aspectRatio != null ? {
25
25
  "aspect-ratio": String(r.aspectRatio)
26
26
  } : void 0;
27
27
  return (() => {
28
28
  var t = j();
29
- return o(t, g(d, {
29
+ return o(t, d(v, {
30
30
  get when() {
31
31
  return u();
32
32
  },
@@ -34,13 +34,13 @@ function G(v) {
34
34
  var e = N();
35
35
  return o(e, u), e;
36
36
  }
37
- }), null), o(t, g(d, {
37
+ }), null), o(t, d(v, {
38
38
  get when() {
39
39
  return !n();
40
40
  },
41
41
  get children() {
42
42
  var e = V(), s = M(r.ref, (l) => a = l);
43
- return typeof s == "function" && $(s, e), k(e, E(y, {
43
+ return typeof s == "function" && $(s, e), k(e, E(m, {
44
44
  class: "smwb-lazy-image__img",
45
45
  get src() {
46
46
  return _();
@@ -51,7 +51,9 @@ function G(v) {
51
51
  get loading() {
52
52
  return r.lazy ? "lazy" : void 0;
53
53
  },
54
- decoding: "async",
54
+ get decoding() {
55
+ return m.decoding ?? "async";
56
+ },
55
57
  onError: w
56
58
  }), !1, !1), e;
57
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lazyImage.js","sources":["../../../../../src/components/dataDisplay/lazyImage/lazyImage.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface LazyImageProps extends Omit<JSX.ImgHTMLAttributes<HTMLImageElement>, \"onError\"> {\n /** Image URL. When absent (or after a load error) the `fallback` is shown. */\n src?: string | undefined;\n alt?: string | undefined;\n /** Rendered in place of the image when it is missing or fails to load. */\n fallback?: JSX.Element | undefined;\n /** Defer loading until the image scrolls into view (IntersectionObserver). Default true. */\n lazy?: boolean;\n /** CSS `aspect-ratio` for the wrapper (e.g. `1`, `\"4 / 3\"`) to reserve space before load. */\n aspectRatio?: string | number;\n /** Fires on a load error (after the fallback is swapped in). */\n onError?: (event: Event) => void;\n ref?: Ref<HTMLImageElement>;\n}\n\n/**\n * An `<img>` with a built-in `onError` fallback and optional in-viewport lazy\n * loading — the `<img decoding=async onError=…>` + `<Show>` dance hand-rolled in\n * every gallery, in one primitive. SSR-safe: renders the image markup on the\n * server; the IntersectionObserver only runs after mount on the client.\n */\nexport function LazyImage(props: LazyImageProps): JSX.Element {\n const merged = mergeProps({ lazy: true }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"alt\",\n \"fallback\",\n \"lazy\",\n \"aspectRatio\",\n \"class\",\n \"onError\",\n \"ref\",\n ]);\n\n const [failed, setFailed] = createSignal(false);\n // When lazy, hold the real src back until the element scrolls into view.\n const [visible, setVisible] = createSignal(!merged.lazy);\n let imgEl: HTMLImageElement | undefined;\n\n onMount(() => {\n if (!local.lazy || visible() || !imgEl) return;\n if (typeof IntersectionObserver === \"undefined\") {\n setVisible(true);\n return;\n }\n const io = new IntersectionObserver((entries) => {\n if (entries.some((entry) => entry.isIntersecting)) {\n setVisible(true);\n io.disconnect();\n }\n });\n io.observe(imgEl);\n onCleanup(() => io.disconnect());\n });\n\n const onError = (event: Event): void => {\n setFailed(true);\n local.onError?.(event);\n };\n\n const showFallback = (): boolean => failed() || !local.src;\n const resolvedSrc = (): string | undefined => (visible() ? local.src : undefined);\n // Read the fallback once, and only while it is drawn: markup passed as a prop\n // is created anew on every read, and during hydration a copy the server never\n // rendered has no DOM node.\n const fallback = children(() => (showFallback() ? local.fallback : undefined));\n const style = (): JSX.CSSProperties | undefined =>\n local.aspectRatio != null ? { \"aspect-ratio\": String(local.aspectRatio) } : undefined;\n\n return (\n <span class={cn(\"smwb-lazy-image\", local.class, { \"smwb-lazy-image--empty\": showFallback() })} style={style()}>\n <Show when={fallback()}>\n <span class=\"smwb-lazy-image__fallback\">{fallback()}</span>\n </Show>\n <Show when={!showFallback()}>\n <img\n {...rest}\n ref={mergeRefs(local.ref, (el) => (imgEl = el as HTMLImageElement))}\n class=\"smwb-lazy-image__img\"\n src={resolvedSrc()}\n alt={local.alt ?? \"\"}\n loading={local.lazy ? \"lazy\" : undefined}\n decoding=\"async\"\n onError={onError}\n />\n </Show>\n </span>\n );\n}\n\nexport default LazyImage;\n"],"names":["LazyImage","props","merged","mergeProps","lazy","local","rest","splitProps","failed","setFailed","createSignal","visible","setVisible","imgEl","onMount","IntersectionObserver","io","entries","some","entry","isIntersecting","disconnect","observe","onCleanup","onError","event","showFallback","src","resolvedSrc","undefined","fallback","children","style","aspectRatio","String","_el$","_tmpl$3","_$insert","_$createComponent","Show","when","_el$2","_tmpl$","_el$3","_tmpl$2","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","alt","loading","_$effect","_p$","_v$","cn","class","_v$2","e","_$className","t","_$style"],"mappings":"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"}
1
+ {"version":3,"file":"lazyImage.js","sources":["../../../../../src/components/dataDisplay/lazyImage/lazyImage.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface LazyImageProps extends Omit<JSX.ImgHTMLAttributes<HTMLImageElement>, \"onError\"> {\n /** Image URL. When absent (or after a load error) the `fallback` is shown. */\n src?: string | undefined;\n alt?: string | undefined;\n /** Rendered in place of the image when it is missing or fails to load. */\n fallback?: JSX.Element | undefined;\n /** Defer loading until the image scrolls into view (IntersectionObserver). Default true. */\n lazy?: boolean;\n /** CSS `aspect-ratio` for the wrapper (e.g. `1`, `\"4 / 3\"`) to reserve space before load. */\n aspectRatio?: string | number;\n /** Fires on a load error (after the fallback is swapped in). */\n onError?: (event: Event) => void;\n ref?: Ref<HTMLImageElement>;\n}\n\n/**\n * An `<img>` with a built-in `onError` fallback and optional in-viewport lazy\n * loading — the `<img decoding=async onError=…>` + `<Show>` dance hand-rolled in\n * every gallery, in one primitive. SSR-safe: renders the image markup on the\n * server; the IntersectionObserver only runs after mount on the client.\n */\nexport function LazyImage(props: LazyImageProps): JSX.Element {\n const merged = mergeProps({ lazy: true }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"alt\",\n \"fallback\",\n \"lazy\",\n \"aspectRatio\",\n \"class\",\n \"onError\",\n \"ref\",\n ]);\n\n const [failed, setFailed] = createSignal(false);\n // When lazy, hold the real src back until the element scrolls into view.\n const [visible, setVisible] = createSignal(!merged.lazy);\n let imgEl: HTMLImageElement | undefined;\n\n onMount(() => {\n if (!local.lazy || visible() || !imgEl) return;\n if (typeof IntersectionObserver === \"undefined\") {\n setVisible(true);\n return;\n }\n const io = new IntersectionObserver((entries) => {\n if (entries.some((entry) => entry.isIntersecting)) {\n setVisible(true);\n io.disconnect();\n }\n });\n io.observe(imgEl);\n onCleanup(() => io.disconnect());\n });\n\n const onError = (event: Event): void => {\n setFailed(true);\n local.onError?.(event);\n };\n\n const showFallback = (): boolean => failed() || !local.src;\n const resolvedSrc = (): string | undefined => (visible() ? local.src : undefined);\n // Read the fallback once, and only while it is drawn: markup passed as a prop\n // is created anew on every read, and during hydration a copy the server never\n // rendered has no DOM node.\n const fallback = children(() => (showFallback() ? local.fallback : undefined));\n const style = (): JSX.CSSProperties | undefined =>\n local.aspectRatio != null ? { \"aspect-ratio\": String(local.aspectRatio) } : undefined;\n\n return (\n <span class={cn(\"smwb-lazy-image\", local.class, { \"smwb-lazy-image--empty\": showFallback() })} style={style()}>\n <Show when={fallback()}>\n <span class=\"smwb-lazy-image__fallback\">{fallback()}</span>\n </Show>\n <Show when={!showFallback()}>\n <img\n {...rest}\n ref={mergeRefs(local.ref, (el) => (imgEl = el as HTMLImageElement))}\n class=\"smwb-lazy-image__img\"\n src={resolvedSrc()}\n alt={local.alt ?? \"\"}\n // `lazy` wins over the caller's loading; without it (undefined), the\n // caller's stays. decoding=\"async\" is a default: the caller's wins,\n // and an explicit undefined keeps it.\n loading={local.lazy ? \"lazy\" : undefined}\n decoding={rest.decoding ?? \"async\"}\n onError={onError}\n />\n </Show>\n </span>\n );\n}\n\nexport default LazyImage;\n"],"names":["LazyImage","props","merged","mergeProps","lazy","local","rest","splitProps","failed","setFailed","createSignal","visible","setVisible","imgEl","onMount","IntersectionObserver","io","entries","some","entry","isIntersecting","disconnect","observe","onCleanup","onError","event","showFallback","src","resolvedSrc","undefined","fallback","children","style","aspectRatio","String","_el$","_tmpl$3","_$insert","_$createComponent","Show","when","_el$2","_tmpl$","_el$3","_tmpl$2","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","alt","loading","decoding","_$effect","_p$","_v$","cn","class","_v$2","e","_$className","t","_$style"],"mappings":"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"}
@@ -1,27 +1,31 @@
1
- import { use as m, spread as u, mergeProps as c, insert as t, createComponent as d, template as o } from "solid-js/web";
1
+ import { use as d, spread as u, mergeProps as m, insert as t, createComponent as c, template as i } from "solid-js/web";
2
2
  import { splitProps as p, children as f, Show as h } from "solid-js";
3
3
  import _ from "clsx";
4
4
  import { mergeRefs as b } from "../../../primitives/mergeRefs.js";
5
- var g = /* @__PURE__ */ o("<li class=smwb-list__subheader>"), w = /* @__PURE__ */ o("<ul>");
6
- function y(i) {
7
- const [e, a] = p(i, ["class", "dense", "subheader", "children", "ref"]), s = f(() => e.subheader);
5
+ var g = /* @__PURE__ */ i("<li class=smwb-list__subheader>"), w = /* @__PURE__ */ i("<ul>");
6
+ function y(o) {
7
+ const [e, s] = p(o, ["class", "dense", "subheader", "children", "ref", "data-testid"]), l = f(() => e.subheader);
8
8
  return (() => {
9
- var r = w(), l = b(e.ref);
10
- return typeof l == "function" && m(l, r), u(r, c(a, {
11
- "data-testid": "list",
12
- role: "list",
9
+ var r = w(), n = b(e.ref);
10
+ return typeof n == "function" && d(n, r), u(r, m(s, {
11
+ get "data-testid"() {
12
+ return e["data-testid"] ?? "list";
13
+ },
14
+ get role() {
15
+ return s.role ?? "list";
16
+ },
13
17
  get class() {
14
18
  return _("smwb-list", {
15
19
  "smwb-list_dense": e.dense
16
20
  }, e.class);
17
21
  }
18
- }), !1, !0), t(r, d(h, {
22
+ }), !1, !0), t(r, c(h, {
19
23
  get when() {
20
- return s();
24
+ return l();
21
25
  },
22
26
  get children() {
23
- var n = g();
24
- return t(n, s), n;
27
+ var a = g();
28
+ return t(a, l), a;
25
29
  }
26
30
  }), null), t(r, () => e.children, null), r;
27
31
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../../src/components/dataDisplay/list/list.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ListProps extends JSX.HTMLAttributes<HTMLUListElement> {\n /** Compact vertical rhythm. */\n dense?: boolean;\n /** Section subheader rendered before the items. */\n subheader?: JSX.Element;\n ref?: Ref<HTMLUListElement>;\n}\n\nexport function List(props: ParentProps<ListProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"dense\", \"subheader\", \"children\", \"ref\"]);\n // Read the subheader once: markup passed as a prop is created anew on every\n // read, and during hydration a copy the server never rendered has no DOM node.\n const subheader = children(() => local.subheader);\n return (\n <ul\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"list\"\n role=\"list\"\n class={cn(\"smwb-list\", { \"smwb-list_dense\": local.dense }, local.class)}\n >\n <Show when={subheader()}>\n <li class=\"smwb-list__subheader\">{subheader()}</li>\n </Show>\n {local.children}\n </ul>\n );\n}\n\nexport default List;\n"],"names":["List","props","local","rest","splitProps","subheader","children","_el$","_tmpl$2","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","dense","class","_$insert","_$createComponent","Show","when","_el$2","_tmpl$"],"mappings":";;;;;AAYO,SAASA,EAAKC,GAA4C;AAC/D,QAAM,CAACC,GAAOC,CAAI,IAAIC,EAAWH,GAAO,CAAC,SAAS,SAAS,aAAa,YAAY,KAAK,CAAC,GAGpFI,IAAYC,EAAS,MAAMJ,EAAMG,SAAS;AAChD,UAAA,MAAA;AAAA,QAAAE,IAAAC,EAAAA,GAAAC,IAGSC,EAAUR,EAAMS,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBX,GAAI;AAAA,MAAA,eAEI;AAAA,MAAM,MACb;AAAA,MAAM,IAAA,QAAA;AAAA,eACJY,EAAG,aAAa;AAAA,UAAE,mBAAmBb,EAAMc;AAAAA,QAAAA,GAASd,EAAMe,KAAK;AAAA,MAAC;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAAX,GAAAY,EAEtEC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEhB,EAAAA;AAAAA,MAAW;AAAA,MAAA,IAAAC,WAAA;AAAA,YAAAgB,IAAAC,EAAAA;AAAAL,eAAAA,EAAAI,GACajB,CAAS,GAAAiB;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAJ,EAAAX,GAAA,MAE5CL,EAAMI,UAAQ,IAAA,GAAAC;AAAAA,EAAA,GAAA;AAGrB;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../../src/components/dataDisplay/list/list.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ListProps extends JSX.HTMLAttributes<HTMLUListElement> {\n /** Compact vertical rhythm. */\n dense?: boolean;\n /** Section subheader rendered before the items. */\n subheader?: JSX.Element;\n /** Test id of the root `<ul>`; `list` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLUListElement>;\n}\n\nexport function List(props: ParentProps<ListProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"dense\", \"subheader\", \"children\", \"ref\", \"data-testid\"]);\n // Read the subheader once: markup passed as a prop is created anew on every\n // read, and during hydration a copy the server never rendered has no DOM node.\n const subheader = children(() => local.subheader);\n return (\n <ul\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid={local[\"data-testid\"] ?? \"list\"}\n // A default: the caller's own wins, and an explicit undefined keeps it.\n role={rest.role ?? \"list\"}\n class={cn(\"smwb-list\", { \"smwb-list_dense\": local.dense }, local.class)}\n >\n <Show when={subheader()}>\n <li class=\"smwb-list__subheader\">{subheader()}</li>\n </Show>\n {local.children}\n </ul>\n );\n}\n\nexport default List;\n"],"names":["List","props","local","rest","splitProps","subheader","children","_el$","_tmpl$2","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","role","cn","dense","class","_$insert","_$createComponent","Show","when","_el$2","_tmpl$"],"mappings":";;;;;AAcO,SAASA,EAAKC,GAA4C;AAC/D,QAAM,CAACC,GAAOC,CAAI,IAAIC,EAAWH,GAAO,CAAC,SAAS,SAAS,aAAa,YAAY,OAAO,aAAa,CAAC,GAGnGI,IAAYC,EAAS,MAAMJ,EAAMG,SAAS;AAChD,UAAA,MAAA;AAAA,QAAAE,IAAAC,EAAAA,GAAAC,IAGSC,EAAUR,EAAMS,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBX,GAAI;AAAA,MAAA,IAAA,gBAAA;AAAA,eAEKD,EAAM,aAAa,KAAK;AAAA,MAAM;AAAA,MAAA,IAE3Ca,OAAI;AAAA,eAAEZ,EAAKY,QAAQ;AAAA,MAAM;AAAA,MAAA,IAAA,QAAA;AAAA,eAClBC,EAAG,aAAa;AAAA,UAAE,mBAAmBd,EAAMe;AAAAA,QAAAA,GAASf,EAAMgB,KAAK;AAAA,MAAC;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAAZ,GAAAa,EAEtEC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEjB,EAAAA;AAAAA,MAAW;AAAA,MAAA,IAAAC,WAAA;AAAA,YAAAiB,IAAAC,EAAAA;AAAAL,eAAAA,EAAAI,GACalB,CAAS,GAAAkB;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAJ,EAAAZ,GAAA,MAE5CL,EAAMI,UAAQ,IAAA,GAAAC;AAAAA,EAAA,GAAA;AAGrB;"}
@@ -1,35 +1,37 @@
1
- import { addEventListener as v, use as k, insert as s, effect as u, setAttribute as d, className as w, template as p, delegateEvents as y } from "solid-js/web";
1
+ import { use as p, insert as s, effect as u, setAttribute as l, className as y, template as C, delegateEvents as $ } from "solid-js/web";
2
2
  import { splitProps as A } from "solid-js";
3
- import C from "clsx";
4
- import { mergeRefs as g } from "../../../primitives/mergeRefs.js";
5
- import { callHandler as x } from "../../../primitives/callHandler.js";
6
- var h = /* @__PURE__ */ p("<li role=listitem data-testid=list-item><span class=smwb-list__item__start></span><span class=smwb-list__item__main></span><span class=smwb-list__item__end>");
7
- function H(b) {
8
- const [e] = A(b, ["class", "children", "disabled", "selected", "dense", "divider", "startAdornment", "endAdornment", "onClick", "ref"]), l = () => !!e.onClick && !e.disabled;
3
+ import g from "clsx";
4
+ import { mergeRefs as x } from "../../../primitives/mergeRefs.js";
5
+ import { callHandler as b } from "../../../primitives/callHandler.js";
6
+ var h = /* @__PURE__ */ C("<li role=listitem data-testid=list-item><span class=smwb-list__item__start></span><span class=smwb-list__item__main></span><span class=smwb-list__item__end>");
7
+ function K(f) {
8
+ const [e] = A(f, ["class", "children", "disabled", "selected", "dense", "divider", "startAdornment", "endAdornment", "onClick", "ref"]), d = () => !!e.onClick && !e.disabled, v = (t) => {
9
+ e.disabled || b(e.onClick, t);
10
+ }, k = (t) => {
11
+ d() && (t.key === "Enter" || t.key === " ") && (t.preventDefault(), b(e.onClick, t));
12
+ };
9
13
  return (() => {
10
- var i = h(), r = i.firstChild, n = r.nextSibling, f = n.nextSibling;
11
- v(i, "keydown", l() ? (t) => {
12
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), x(e.onClick, t));
13
- } : void 0, !0), v(i, "click", e.disabled ? void 0 : e.onClick, !0);
14
- var a = g(e.ref);
15
- return typeof a == "function" && k(a, i), s(r, () => e.startAdornment), s(n, () => e.children), s(f, () => e.endAdornment), u((t) => {
16
- var o = l() ? 0 : void 0, m = e.disabled || void 0, c = e.selected || void 0, _ = C("smwb-list__item", e.class, {
14
+ var t = h(), n = t.firstChild, r = n.nextSibling, w = r.nextSibling;
15
+ t.$$keydown = k, t.$$click = v;
16
+ var a = x(e.ref);
17
+ return typeof a == "function" && p(a, t), s(n, () => e.startAdornment), s(r, () => e.children), s(w, () => e.endAdornment), u((i) => {
18
+ var o = d() ? 0 : void 0, m = e.disabled || void 0, c = e.selected || void 0, _ = g("smwb-list__item", e.class, {
17
19
  "smwb-disabled": e.disabled,
18
20
  "smwb-selected": e.selected,
19
21
  "smwb-list__item_dense": e.dense,
20
22
  "smwb-list__item_divider": e.divider
21
23
  });
22
- return o !== t.e && d(i, "tabindex", t.e = o), m !== t.t && d(i, "aria-disabled", t.t = m), c !== t.a && d(i, "aria-selected", t.a = c), _ !== t.o && w(i, t.o = _), t;
24
+ return o !== i.e && l(t, "tabindex", i.e = o), m !== i.t && l(t, "aria-disabled", i.t = m), c !== i.a && l(t, "aria-selected", i.a = c), _ !== i.o && y(t, i.o = _), i;
23
25
  }, {
24
26
  e: void 0,
25
27
  t: void 0,
26
28
  a: void 0,
27
29
  o: void 0
28
- }), i;
30
+ }), t;
29
31
  })();
30
32
  }
31
- y(["click", "keydown"]);
33
+ $(["click", "keydown"]);
32
34
  export {
33
- H as ListItem
35
+ K as ListItem
34
36
  };
35
37
  //# sourceMappingURL=listItem.js.map