@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":"tableHeadCell.js","sources":["../../../../../src/components/dataDisplay/table/tableHeadCell.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SortDirection = \"asc\" | \"desc\" | false;\n\nexport interface TableHeadCellProps extends JSX.ThHTMLAttributes<HTMLTableCellElement> {\n cellAlign?: \"left\" | \"right\" | \"center\";\n /** @deprecated use `sortDirection=\"desc\"`. */\n isSortedByDesc?: boolean;\n /** @deprecated use `sortDirection=\"asc\"`. */\n isSortedByAsc?: boolean;\n /**\n * Enables the interactive sort affordance with keyboard/aria support.\n *\n * The children sit inside the sort control, and controls among them keep\n * their own input: Enter and Space sort only while the sort control itself\n * has focus, and a click sorts unless it lands in a nested control (input,\n * button, link, label, anything focusable) or in a portal. Content that is not\n * a control, such as click-to-edit text, keeps its click from sorting by\n * calling `preventDefault()` on it. A nested control's name, or its value,\n * becomes part of the sort control's accessible name.\n */\n sortable?: boolean;\n /** Current sort direction for this column. */\n sortDirection?: SortDirection;\n /** Invoked when the user activates the sort control. */\n onSort?: () => void;\n ref?: Ref<HTMLTableCellElement>;\n}\n\n/**\n * Whatever takes a click of its own inside the sort control. The control\n * matches too (`role=\"button\"`), so it is the nearest match for a click on the\n * header's text or marker, and only then does the click sort.\n */\nconst INTERACTIVE = [\n \"a[href]\",\n \"button\",\n \"input\",\n \"select\",\n \"textarea\",\n \"label\",\n \"summary\",\n \"[tabindex]\",\n \"[contenteditable]:not([contenteditable='false'])\",\n ...[\n \"button\",\n \"link\",\n \"checkbox\",\n \"radio\",\n \"switch\",\n \"textbox\",\n \"searchbox\",\n \"combobox\",\n \"spinbutton\",\n \"slider\",\n \"menuitem\",\n \"menuitemcheckbox\",\n \"menuitemradio\",\n \"option\",\n \"tab\",\n ].map((role) => `[role='${role}']`),\n].join(\",\");\n\nexport function TableHeadCell(props: ParentProps<TableHeadCellProps>): JSX.Element {\n const merged = mergeProps({ cellAlign: \"left\" as const }, props);\n const [local, rest] = splitProps(merged, [\n \"children\",\n \"class\",\n \"cellAlign\",\n \"isSortedByAsc\",\n \"isSortedByDesc\",\n \"sortable\",\n \"sortDirection\",\n \"onSort\",\n \"ref\",\n ]);\n\n const direction = (): SortDirection =>\n local.sortDirection !== undefined ? local.sortDirection : local.isSortedByAsc ? \"asc\" : local.isSortedByDesc ? \"desc\" : false;\n\n const ariaSort = (): \"ascending\" | \"descending\" | \"none\" | undefined =>\n local.sortable ? (direction() === \"asc\" ? \"ascending\" : direction() === \"desc\" ? \"descending\" : \"none\") : undefined;\n\n /**\n * A sortable column always shows a marker: the current direction once sorted,\n * and `unfold_more` before that — otherwise nothing tells the reader the column\n * can be sorted at all. A cell that is not sortable shows nothing; it used to\n * render an `<Icon name=\"\">`, which reserved a gap and warned about a missing\n * icon under `source: \"smwb\"`.\n */\n const iconName = (): string =>\n direction() === \"asc\" ? \"expand_more\" : direction() === \"desc\" ? \"expand_less\" : \"unfold_more\";\n\n // Solid binds event handlers once, so both are always attached and check\n // `sortable` themselves: a cell can turn sortable, or stop, after it renders.\n\n // Keys typed into an input or pressed on a button inside bubble up here too;\n // only the control's own keys sort.\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!local.sortable || event.target !== event.currentTarget) return;\n if (local.onSort && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n local.onSort();\n }\n };\n\n // A click sorts only when the control is the nearest thing that takes it. A\n // click in a Portal rendered inside fails that too: Solid delivers it here,\n // though it landed outside the control.\n const onClick: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (!local.sortable || event.defaultPrevented) return;\n if ((event.target as Element | null)?.closest(INTERACTIVE) !== event.currentTarget) return;\n local.onSort?.();\n };\n\n return (\n <th\n {...rest}\n ref={mergeRefs(local.ref)}\n aria-sort={ariaSort()}\n class={cn(\"smwb-table__cell\", \"smwb-head-cell\", local.class, {\n [`smwb-align_${local.cellAlign}`]: !!local.cellAlign,\n \"smwb-head-cell_sortable\": local.sortable,\n \"smwb-head-cell_sorted\": !!local.sortable && direction() !== false,\n })}\n >\n <span\n class=\"smwb-head-cell__content\"\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={local.sortable ? \"button\" : undefined}\n tabindex={local.sortable ? 0 : undefined}\n >\n {local.children}\n <Show when={local.sortable}>\n <Icon class=\"smwb-head-cell__icon\" name={iconName()} size={18} weight={800} />\n </Show>\n </span>\n </th>\n );\n}\n\nexport default TableHeadCell;\n"],"names":["INTERACTIVE","map","role","join","TableHeadCell","props","merged","mergeProps","cellAlign","local","rest","splitProps","direction","sortDirection","undefined","isSortedByAsc","isSortedByDesc","ariaSort","sortable","iconName","onKeyDown","event","target","currentTarget","onSort","key","preventDefault","onClick","defaultPrevented","closest","_el$","_tmpl$","_el$2","firstChild","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","$$keydown","$$click","_$insert","children","_$createComponent","Show","when","Icon","name","size","weight","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"tableHeadCell.js","sources":["../../../../../src/components/dataDisplay/table/tableHeadCell.tsx"],"sourcesContent":["import {\n type Accessor,\n type JSX,\n type ParentProps,\n Show,\n children,\n createComputed,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { isOwnClick } from \"../../../utils/ownClick\";\nimport { cellRowSpan, cellSpan, textOf, useInTableHead, useTableLabels, useTableRow } from \"./tableColumns\";\n\nexport type SortDirection = \"asc\" | \"desc\" | false;\n\nexport interface TableHeadCellProps extends JSX.ThHTMLAttributes<HTMLTableCellElement> {\n cellAlign?: \"left\" | \"right\" | \"center\";\n /** @deprecated use `sortDirection=\"desc\"`. */\n isSortedByDesc?: boolean;\n /** @deprecated use `sortDirection=\"asc\"`. */\n isSortedByAsc?: boolean;\n /**\n * Enables the interactive sort affordance with keyboard/aria support.\n *\n * The children sit inside the sort control, and controls among them keep\n * their own input: Enter and Space sort only while the sort control itself\n * has focus, and a click sorts unless it lands in a nested control (input,\n * button, link, label, anything focusable) or in a portal. Content that is not\n * a control, such as click-to-edit text, keeps its click from sorting by\n * calling `preventDefault()` on it. A nested control's name, or its value,\n * becomes part of the sort control's accessible name: put controls in\n * `actions` instead.\n */\n sortable?: boolean;\n /** Current sort direction for this column. */\n sortDirection?: SortDirection;\n /** Invoked when the user activates the sort control. */\n onSort?: () => void;\n /**\n * The column's controls — a filter field, a menu button, a column resizer —\n * drawn after the sort control, outside it. Their names and values stay out\n * of the sort control's accessible name, and their keys and clicks never\n * reach it. Rendered whether or not the cell is sortable.\n *\n * The column header is then named after the children alone: the cell's\n * `aria-labelledby` points at the sort control, unless the cell is given\n * `aria-label` or `aria-labelledby`. Named from its content, the header would\n * take in the controls' names and values too.\n */\n actions?: JSX.Element;\n /**\n * The column's name for its body cells while the table stacks rows as cards\n * (`Table stackBelow`). Without it, the text of the children is the name; give\n * `label` where they hold no text of their own (an icon) or more than the\n * name, or where their text changes inside markup: the text of markup is read\n * when it is created. An empty `label` leaves the column's cells unlabelled, so\n * they fill the card's width.\n */\n label?: string;\n ref?: Ref<HTMLTableCellElement>;\n}\n\n/**\n * A head cell of a stacked table labels its column, for its own head row: the\n * lowest row's label wins. It labels as soon as it is created: the body cells,\n * created after it, read the label at once. In a body row (a row header) it\n * labels nothing, but still takes its column, as the cells after it count it.\n */\nfunction useColumnLabel(\n element: Accessor<Element | undefined>,\n span: Accessor<number>,\n rowSpan: Accessor<number>,\n text: Accessor<string>\n): void {\n const table = useTableLabels();\n const row = useTableRow();\n const inHead = useInTableHead();\n const place = row?.registerCell(element, span, rowSpan);\n if (!table || !place || !inHead) return;\n const owner = Symbol();\n const label = createMemo(() => text() || undefined);\n createComputed(() => {\n if (!table.stacked() || span() !== 1) return;\n const column = place.column();\n const at = place.row();\n if (column < 0) return;\n table.labels.set(column, at, owner, label());\n onCleanup(() => table.labels.remove(column, at, owner));\n });\n}\n\nexport function TableHeadCell(props: ParentProps<TableHeadCellProps>): JSX.Element {\n const merged = mergeProps({ cellAlign: \"left\" as const }, props);\n const [local, rest] = splitProps(merged, [\n \"children\",\n \"class\",\n \"cellAlign\",\n \"isSortedByAsc\",\n \"isSortedByDesc\",\n \"sortable\",\n \"sortDirection\",\n \"onSort\",\n \"actions\",\n \"label\",\n \"ref\",\n ]);\n\n // Read once: the content is drawn, and its text names the column.\n const content = children(() => local.children);\n const [element, setElement] = createSignal<HTMLTableCellElement>();\n useColumnLabel(\n element,\n () => cellSpan(rest.colSpan ?? rest.colspan),\n () => cellRowSpan(rest.rowSpan ?? rest.rowspan),\n () => local.label ?? textOf(content())\n );\n\n // Read once: markup passed as a prop is created anew on every read, and\n // during hydration a copy the server never rendered has no DOM node.\n const actions = children(() => local.actions);\n\n const direction = (): SortDirection =>\n local.sortDirection !== undefined ? local.sortDirection : local.isSortedByAsc ? \"asc\" : local.isSortedByDesc ? \"desc\" : false;\n\n const ariaSort = (): \"ascending\" | \"descending\" | \"none\" | undefined =>\n local.sortable ? (direction() === \"asc\" ? \"ascending\" : direction() === \"desc\" ? \"descending\" : \"none\") : undefined;\n\n /**\n * A sortable column always shows a marker: the current direction once sorted,\n * and `unfold_more` before that — otherwise nothing tells the reader the column\n * can be sorted at all. A cell that is not sortable shows nothing; it used to\n * render an `<Icon name=\"\">`, which reserved a gap and warned about a missing\n * icon under `source: \"smwb\"`.\n */\n const iconName = (): string =>\n direction() === \"asc\" ? \"expand_more\" : direction() === \"desc\" ? \"expand_less\" : \"unfold_more\";\n\n // Solid binds event handlers once, so both are always attached and check\n // `sortable` themselves: a cell can turn sortable, or stop, after it renders.\n\n // Keys typed into an input or pressed on a button inside bubble up here too;\n // only the control's own keys sort.\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!local.sortable || event.target !== event.currentTarget) return;\n if (local.onSort && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n local.onSort();\n }\n };\n\n // A click sorts only when the control is the nearest thing that takes it. A\n // click in a Portal rendered inside fails that too: Solid delivers it here,\n // though it landed outside the control.\n const onClick: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (!local.sortable || !isOwnClick(event)) return;\n local.onSort?.();\n };\n\n // With actions drawn, the column header is named after the content of its\n // sort control, not after the whole cell: the controls' names and the text\n // typed into them would join the header's name.\n const labelId = `${createUniqueId()}-label`;\n const labelled = (): boolean => !!actions() && rest[\"aria-label\"] == null && rest[\"aria-labelledby\"] == null;\n\n return (\n <th\n {...rest}\n ref={mergeRefs(local.ref, setElement)}\n aria-labelledby={labelled() ? labelId : rest[\"aria-labelledby\"]}\n aria-sort={ariaSort()}\n class={cn(\"smwb-table__cell\", \"smwb-head-cell\", local.class, {\n [`smwb-align_${local.cellAlign}`]: !!local.cellAlign,\n \"smwb-head-cell_sortable\": local.sortable,\n \"smwb-head-cell_sorted\": !!local.sortable && direction() !== false,\n })}\n >\n <span\n id={labelled() ? labelId : undefined}\n class=\"smwb-head-cell__content\"\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={local.sortable ? \"button\" : undefined}\n tabindex={local.sortable ? 0 : undefined}\n >\n {content()}\n <Show when={local.sortable}>\n <Icon class=\"smwb-head-cell__icon\" name={iconName()} size={18} weight={800} />\n </Show>\n </span>\n <Show when={actions()}>\n <div class=\"smwb-head-cell__actions\">{actions()}</div>\n </Show>\n </th>\n );\n}\n\nexport default TableHeadCell;\n"],"names":["useColumnLabel","element","span","rowSpan","text","table","useTableLabels","row","useTableRow","inHead","useInTableHead","place","registerCell","owner","Symbol","label","createMemo","undefined","createComputed","stacked","column","at","labels","set","onCleanup","remove","TableHeadCell","props","merged","mergeProps","cellAlign","local","rest","splitProps","content","children","setElement","createSignal","cellSpan","colSpan","colspan","cellRowSpan","rowspan","textOf","actions","direction","sortDirection","isSortedByAsc","isSortedByDesc","ariaSort","sortable","iconName","onKeyDown","event","target","currentTarget","onSort","key","preventDefault","onClick","isOwnClick","labelId","createUniqueId","labelled","_el$","_tmpl$2","_el$2","firstChild","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","_$memo","cn","class","$$keydown","$$click","_$insert","_$createComponent","Show","when","Icon","name","size","weight","_el$3","_tmpl$","_$effect","_p$","_v$","_v$2","_v$3","e","_$setAttribute","t","a","_$delegateEvents"],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { NAMED_REFERENCES as x, LEGACY_REFERENCES as A } from "./tableEntities.js";
2
+ let u, d;
3
+ function S() {
4
+ return (!u || !d) && (u = new Map(
5
+ x.split(",").map((e) => {
6
+ const [i, n] = e.split(":");
7
+ return [i, String.fromCodePoint(...n.split(".").map((s) => parseInt(s, 36)))];
8
+ })
9
+ ), d = new Set(A.split(","))), { named: u, legacy: d };
10
+ }
11
+ const w = {
12
+ 128: 8364,
13
+ 130: 8218,
14
+ 131: 402,
15
+ 132: 8222,
16
+ 133: 8230,
17
+ 134: 8224,
18
+ 135: 8225,
19
+ 136: 710,
20
+ 137: 8240,
21
+ 138: 352,
22
+ 139: 8249,
23
+ 140: 338,
24
+ 142: 381,
25
+ 145: 8216,
26
+ 146: 8217,
27
+ 147: 8220,
28
+ 148: 8221,
29
+ 149: 8226,
30
+ 150: 8211,
31
+ 151: 8212,
32
+ 152: 732,
33
+ 153: 8482,
34
+ 154: 353,
35
+ 155: 8250,
36
+ 156: 339,
37
+ 158: 382,
38
+ 159: 376
39
+ };
40
+ function E(e) {
41
+ return e === 0 || e > 1114111 || e >= 55296 && e <= 57343 ? "�" : String.fromCodePoint(w[e] ?? e);
42
+ }
43
+ function l(e) {
44
+ return e.replace(/&(?:#([0-9]+);?|#[xX]([0-9a-fA-F]+);?|([A-Za-z0-9]+)(;?))/g, (i, n, s, t, c) => {
45
+ if (n !== void 0) return E(Number.parseInt(n, 10));
46
+ if (s !== void 0) return E(Number.parseInt(s, 16));
47
+ const r = S(), o = t;
48
+ if (c) {
49
+ const f = r.named.get(o);
50
+ if (f !== void 0) return f;
51
+ }
52
+ for (let f = Math.min(o.length, 6); f > 1; f--) {
53
+ const a = o.slice(0, f);
54
+ if (r.legacy.has(a)) return r.named.get(a) + i.slice(1 + f);
55
+ }
56
+ return i;
57
+ });
58
+ }
59
+ const C = /* @__PURE__ */ new Set(["script", "style", "xmp", "iframe", "noembed", "noframes"]), N = /* @__PURE__ */ new Set(["textarea", "title"]);
60
+ function R(e) {
61
+ let i = "", n = 0, s;
62
+ for (; n < e.length; ) {
63
+ const t = e.indexOf("<", n);
64
+ if (t < 0) break;
65
+ const c = e[t + 1] ?? "";
66
+ let r;
67
+ if (e.startsWith("<!--", t))
68
+ if (e.startsWith(">", t + 4)) r = t + 5;
69
+ else if (e.startsWith("->", t + 4)) r = t + 6;
70
+ else {
71
+ const o = e.indexOf("-->", t + 4);
72
+ r = o < 0 ? e.length : o + 3;
73
+ }
74
+ else if (/[A-Za-z]/.test(c)) {
75
+ r = g(e, t + 1);
76
+ const o = /^[A-Za-z][^\s/>]*/.exec(e.slice(t + 1, t + 10))?.[0].toLowerCase() ?? "", f = C.has(o);
77
+ if (f || N.has(o)) {
78
+ s ?? (s = e.toLowerCase());
79
+ const a = O(s, o, r), p = e.slice(r, a);
80
+ i += l(e.slice(n, t)) + (f ? p : l(p)), n = a < e.length ? g(e, a + 1) : a;
81
+ continue;
82
+ }
83
+ } else if (c === "/")
84
+ r = g(e, t + 1);
85
+ else if (c === "!" || c === "?") {
86
+ const o = e.indexOf(">", t);
87
+ r = o < 0 ? e.length : o + 1;
88
+ } else {
89
+ i += l(e.slice(n, t + 1)), n = t + 1;
90
+ continue;
91
+ }
92
+ i += l(e.slice(n, t)), n = r;
93
+ }
94
+ return i + l(e.slice(n));
95
+ }
96
+ function O(e, i, n) {
97
+ for (let s = e.indexOf(`</${i}`, n); s >= 0; s = e.indexOf(`</${i}`, s + 1)) {
98
+ const t = e[s + 2 + i.length];
99
+ if (t === void 0 || /[\s/>]/.test(t)) return s;
100
+ }
101
+ return e.length;
102
+ }
103
+ function g(e, i) {
104
+ let n = i, s = !1;
105
+ for (; n < e.length; ) {
106
+ const t = e[n];
107
+ if (t === ">") return n + 1;
108
+ if (s && (t === '"' || t === "'")) {
109
+ const c = e.indexOf(t, n + 1);
110
+ if (c < 0) return e.length;
111
+ n = c + 1, s = !1;
112
+ continue;
113
+ }
114
+ t === "=" ? s = !0 : /\s/.test(t) || (s = !1), n++;
115
+ }
116
+ return e.length;
117
+ }
118
+ export {
119
+ R as htmlText
120
+ };
121
+ //# sourceMappingURL=tableHtmlText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableHtmlText.js","sources":["../../../../../src/components/dataDisplay/table/tableHtmlText.ts"],"sourcesContent":["import { LEGACY_REFERENCES, NAMED_REFERENCES } from \"./tableEntities\";\n\nlet named: Map<string, string> | undefined;\nlet legacy: Set<string> | undefined;\n\nfunction references(): { named: Map<string, string>; legacy: Set<string> } {\n if (!named || !legacy) {\n named = new Map(\n NAMED_REFERENCES.split(\",\").map((entry) => {\n const [name, points] = entry.split(\":\") as [string, string];\n return [name, String.fromCodePoint(...points.split(\".\").map((point) => parseInt(point, 36)))];\n })\n );\n legacy = new Set(LEGACY_REFERENCES.split(\",\"));\n }\n return { named, legacy };\n}\n\n// Numeric references to C1 controls that browsers read as windows-1252.\nconst WINDOWS_1252: Record<number, number> = {\n 0x80: 0x20ac,\n 0x82: 0x201a,\n 0x83: 0x0192,\n 0x84: 0x201e,\n 0x85: 0x2026,\n 0x86: 0x2020,\n 0x87: 0x2021,\n 0x88: 0x02c6,\n 0x89: 0x2030,\n 0x8a: 0x0160,\n 0x8b: 0x2039,\n 0x8c: 0x0152,\n 0x8e: 0x017d,\n 0x91: 0x2018,\n 0x92: 0x2019,\n 0x93: 0x201c,\n 0x94: 0x201d,\n 0x95: 0x2022,\n 0x96: 0x2013,\n 0x97: 0x2014,\n 0x98: 0x02dc,\n 0x99: 0x2122,\n 0x9a: 0x0161,\n 0x9b: 0x203a,\n 0x9c: 0x0153,\n 0x9e: 0x017e,\n 0x9f: 0x0178,\n};\n\nfunction fromNumber(value: number): string {\n if (value === 0 || value > 0x10ffff || (value >= 0xd800 && value <= 0xdfff)) return \"�\";\n return String.fromCodePoint(WINDOWS_1252[value] ?? value);\n}\n\n/** Reads the character references of HTML text as a browser does. */\nfunction decode(text: string): string {\n return text.replace(/&(?:#([0-9]+);?|#[xX]([0-9a-fA-F]+);?|([A-Za-z0-9]+)(;?))/g, (match, dec, hex, name, semi) => {\n if (dec !== undefined) return fromNumber(Number.parseInt(dec as string, 10));\n if (hex !== undefined) return fromNumber(Number.parseInt(hex as string, 16));\n const refs = references();\n const word = name as string;\n if (semi) {\n const char = refs.named.get(word);\n if (char !== undefined) return char;\n }\n // Without a \";\" (or with an unknown name before it), the longest name that\n // counts without one is read, and the rest stays as written.\n for (let length = Math.min(word.length, 6); length > 1; length--) {\n const prefix = word.slice(0, length);\n if (refs.legacy.has(prefix)) return refs.named.get(prefix)! + match.slice(1 + length);\n }\n return match;\n });\n}\n\n// Elements whose content is text up to their end tag: kept as written (raw\n// text), or with its character references decoded (escapable raw text).\nconst RAW_TEXT = new Set([\"script\", \"style\", \"xmp\", \"iframe\", \"noembed\", \"noframes\"]);\nconst ESCAPABLE_RAW_TEXT = new Set([\"textarea\", \"title\"]);\n\n/**\n * The text of a piece of HTML, as `textContent` reads it once a browser has\n * parsed it: tags and comments dropped (`>` inside a quoted attribute value\n * included), and character references, named or numeric, decoded. The content\n * of `<script>`, `<style>`, `<textarea>`, `<title>` and the like is text up to\n * the end tag, as the browser reads it.\n */\nexport function htmlText(html: string): string {\n let text = \"\";\n let at = 0;\n let lower: string | undefined;\n while (at < html.length) {\n const open = html.indexOf(\"<\", at);\n if (open < 0) break;\n const next = html[open + 1] ?? \"\";\n let end: number;\n if (html.startsWith(\"<!--\", open)) {\n if (html.startsWith(\">\", open + 4)) end = open + 5;\n else if (html.startsWith(\"->\", open + 4)) end = open + 6;\n else {\n const close = html.indexOf(\"-->\", open + 4);\n end = close < 0 ? html.length : close + 3;\n }\n } else if (/[A-Za-z]/.test(next)) {\n end = tagEnd(html, open + 1);\n const name = /^[A-Za-z][^\\s/>]*/.exec(html.slice(open + 1, open + 10))?.[0].toLowerCase() ?? \"\";\n const raw = RAW_TEXT.has(name);\n if (raw || ESCAPABLE_RAW_TEXT.has(name)) {\n lower ??= html.toLowerCase();\n const close = endTag(lower, name, end);\n const content = html.slice(end, close);\n text += decode(html.slice(at, open)) + (raw ? content : decode(content));\n at = close < html.length ? tagEnd(html, close + 1) : close;\n continue;\n }\n } else if (next === \"/\") {\n end = tagEnd(html, open + 1);\n } else if (next === \"!\" || next === \"?\") {\n const close = html.indexOf(\">\", open);\n end = close < 0 ? html.length : close + 1;\n } else {\n // A \"<\" that starts no tag is text.\n text += decode(html.slice(at, open + 1));\n at = open + 1;\n continue;\n }\n text += decode(html.slice(at, open));\n at = end;\n }\n return text + decode(html.slice(at));\n}\n\n/** Where the end tag of a raw-text element starts, in the lower-cased markup; its length if there is none. */\nfunction endTag(lower: string, name: string, from: number): number {\n for (let at = lower.indexOf(`</${name}`, from); at >= 0; at = lower.indexOf(`</${name}`, at + 1)) {\n const after = lower[at + 2 + name.length];\n if (after === undefined || /[\\s/>]/.test(after)) return at;\n }\n return lower.length;\n}\n\n/** Where a tag that starts at `from` ends: after its \">\", skipping quoted attribute values. */\nfunction tagEnd(html: string, from: number): number {\n let at = from;\n let afterEquals = false;\n while (at < html.length) {\n const char = html[at]!;\n if (char === \">\") return at + 1;\n if (afterEquals && (char === '\"' || char === \"'\")) {\n const close = html.indexOf(char, at + 1);\n if (close < 0) return html.length;\n at = close + 1;\n afterEquals = false;\n continue;\n }\n if (char === \"=\") afterEquals = true;\n else if (!/\\s/.test(char)) afterEquals = false;\n at++;\n }\n return html.length;\n}\n"],"names":["named","legacy","references","NAMED_REFERENCES","entry","name","points","point","LEGACY_REFERENCES","WINDOWS_1252","fromNumber","value","decode","text","match","dec","hex","semi","refs","word","char","length","prefix","RAW_TEXT","ESCAPABLE_RAW_TEXT","htmlText","html","at","lower","open","next","end","close","tagEnd","raw","endTag","content","from","after","afterEquals"],"mappings":"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"}
@@ -1,16 +1,19 @@
1
- import { use as o, spread as d, mergeProps as l, insert as n, template as p } from "solid-js/web";
2
- import { splitProps as c } from "solid-js";
3
- import i from "clsx";
4
- import { mergeRefs as m } from "../../../primitives/mergeRefs.js";
5
- var f = /* @__PURE__ */ p("<tr>");
6
- function x(a) {
7
- const [e, s] = c(a, ["children", "class", "selected", "expanded", "ref"]);
1
+ import { use as m, spread as i, mergeProps as p, insert as u, createComponent as s, template as b } from "solid-js/web";
2
+ import { splitProps as f, createSignal as _ } from "solid-js";
3
+ import g from "clsx";
4
+ import { mergeRefs as w } from "../../../primitives/mergeRefs.js";
5
+ import { useTableLabels as v, createRowColumns as x, useTableSection as h, TableRowContext as C, ChildElements as R } from "./tableColumns.js";
6
+ var T = /* @__PURE__ */ b("<tr>");
7
+ function k(n) {
8
+ const [e, o] = f(n, ["children", "class", "selected", "expanded", "ref", "data-testid"]), l = v(), [d, c] = _(), r = x(() => !!l?.stacked(), h(), d);
8
9
  return (() => {
9
- var r = f(), t = m(e.ref);
10
- return typeof t == "function" && o(t, r), d(r, l(s, {
11
- "data-testid": "table-row",
10
+ var t = T(), a = w(e.ref, c);
11
+ return typeof a == "function" && m(a, t), i(t, p(o, {
12
+ get "data-testid"() {
13
+ return e["data-testid"] ?? "table-row";
14
+ },
12
15
  get class() {
13
- return i("smwb-table__row", e.class, {
16
+ return g("smwb-table__row", e.class, {
14
17
  "smwb-table__row_selected": e.selected,
15
18
  "smwb-table__row_expanded": e.expanded
16
19
  });
@@ -21,10 +24,22 @@ function x(a) {
21
24
  get "aria-expanded"() {
22
25
  return e.expanded ?? void 0;
23
26
  }
24
- }), !1, !0), n(r, () => e.children), r;
27
+ }), !1, !0), u(t, s(C.Provider, {
28
+ value: r,
29
+ get children() {
30
+ return s(R, {
31
+ get onItems() {
32
+ return r.setItems;
33
+ },
34
+ get children() {
35
+ return e.children;
36
+ }
37
+ });
38
+ }
39
+ })), t;
25
40
  })();
26
41
  }
27
42
  export {
28
- x as TableRow
43
+ k as TableRow
29
44
  };
30
45
  //# sourceMappingURL=tableRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tableRow.js","sources":["../../../../../src/components/dataDisplay/table/tableRow.tsx"],"sourcesContent":["import { type JSX, type ParentProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface TableRowProps extends JSX.HTMLAttributes<HTMLTableRowElement> {\n /** Marks the row as selected (adds aria-selected + styling). */\n selected?: boolean;\n /** Reflects expandable-row state (adds aria-expanded + styling). */\n expanded?: boolean;\n ref?: Ref<HTMLTableRowElement>;\n}\n\nexport function TableRow(props: ParentProps<TableRowProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"children\", \"class\", \"selected\", \"expanded\", \"ref\"]);\n return (\n <tr\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"table-row\"\n class={cn(\"smwb-table__row\", local.class, {\n \"smwb-table__row_selected\": local.selected,\n \"smwb-table__row_expanded\": local.expanded,\n })}\n aria-selected={local.selected ?? undefined}\n aria-expanded={local.expanded ?? undefined}\n >\n {local.children}\n </tr>\n );\n}\n\nexport default TableRow;\n"],"names":["TableRow","props","local","rest","splitProps","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","selected","expanded","undefined","_$insert","children"],"mappings":";;;;;AAYO,SAASA,EAASC,GAAgD;AACvE,QAAM,CAACC,GAAOC,CAAI,IAAIC,EAAWH,GAAO,CAAC,YAAY,SAAS,YAAY,YAAY,KAAK,CAAC;AAC5F,UAAA,MAAA;AAAA,QAAAI,IAAAC,EAAAA,GAAAC,IAGSC,EAAUN,EAAMO,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBT,GAAI;AAAA,MAAA,eAEI;AAAA,MAAW,IAAA,QAAA;AAAA,eAChBU,EAAG,mBAAmBX,EAAMY,OAAO;AAAA,UACxC,4BAA4BZ,EAAMa;AAAAA,UAClC,4BAA4Bb,EAAMc;AAAAA,QAAAA,CACnC;AAAA,MAAC;AAAA,MAAA,IAAA,kBAAA;AAAA,eACad,EAAMa,YAAYE;AAAAA,MAAS;AAAA,MAAA,IAAA,kBAAA;AAAA,eAC3Bf,EAAMc,YAAYC;AAAAA,MAAS;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAAb,GAAA,MAEzCH,EAAMiB,QAAQ,GAAAd;AAAAA,EAAA,GAAA;AAGrB;"}
1
+ {"version":3,"file":"tableRow.js","sources":["../../../../../src/components/dataDisplay/table/tableRow.tsx"],"sourcesContent":["import { type JSX, type ParentProps, createSignal, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { ChildElements, TableRowContext, createRowColumns, useTableLabels, useTableSection } from \"./tableColumns\";\n\nexport interface TableRowProps extends JSX.HTMLAttributes<HTMLTableRowElement> {\n /** Marks the row as selected (adds aria-selected + styling). */\n selected?: boolean;\n /** Reflects expandable-row state (adds aria-expanded + styling). */\n expanded?: boolean;\n /** Test id of the `<tr>`; `table-row` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLTableRowElement>;\n}\n\nexport function TableRow(props: ParentProps<TableRowProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"children\", \"class\", \"selected\", \"expanded\", \"ref\", \"data-testid\"]);\n // Each cell learns its column, by which a body cell of a stacked table finds\n // its label in the head.\n const table = useTableLabels();\n const [element, setElement] = createSignal<HTMLTableRowElement>();\n const columns = createRowColumns(() => !!table?.stacked(), useTableSection(), element);\n return (\n <tr\n {...rest}\n ref={mergeRefs(local.ref, setElement)}\n data-testid={local[\"data-testid\"] ?? \"table-row\"}\n class={cn(\"smwb-table__row\", local.class, {\n \"smwb-table__row_selected\": local.selected,\n \"smwb-table__row_expanded\": local.expanded,\n })}\n // `selected` and `expanded` win over the caller's aria-selected and\n // aria-expanded; without them (undefined), the caller's stay.\n aria-selected={local.selected ?? undefined}\n aria-expanded={local.expanded ?? undefined}\n >\n <TableRowContext.Provider value={columns}>\n <ChildElements onItems={columns.setItems}>{local.children}</ChildElements>\n </TableRowContext.Provider>\n </tr>\n );\n}\n\nexport default TableRow;\n"],"names":["TableRow","props","local","rest","splitProps","table","useTableLabels","element","setElement","createSignal","columns","createRowColumns","stacked","useTableSection","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","selected","expanded","undefined","_$insert","_$createComponent","TableRowContext","Provider","value","children","ChildElements","onItems","setItems"],"mappings":";;;;;;AAeO,SAASA,EAASC,GAAgD;AACvE,QAAM,CAACC,GAAOC,CAAI,IAAIC,EAAWH,GAAO,CAAC,YAAY,SAAS,YAAY,YAAY,OAAO,aAAa,CAAC,GAGrGI,IAAQC,EAAAA,GACR,CAACC,GAASC,CAAU,IAAIC,EAAAA,GACxBC,IAAUC,EAAiB,MAAM,CAAC,CAACN,GAAOO,QAAAA,GAAWC,EAAAA,GAAmBN,CAAO;AACrF,UAAA,MAAA;AAAA,QAAAO,IAAAC,EAAAA,GAAAC,IAGSC,EAAUf,EAAMgB,KAAKV,CAAU;AAAC,kBAAAQ,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADjClB,GAAI;AAAA,MAAA,IAAA,gBAAA;AAAA,eAEKD,EAAM,aAAa,KAAK;AAAA,MAAW;AAAA,MAAA,IAAA,QAAA;AAAA,eACzCoB,EAAG,mBAAmBpB,EAAMqB,OAAO;AAAA,UACxC,4BAA4BrB,EAAMsB;AAAAA,UAClC,4BAA4BtB,EAAMuB;AAAAA,QAAAA,CACnC;AAAA,MAAC;AAAA,MAAA,IAAA,kBAAA;AAAA,eAGavB,EAAMsB,YAAYE;AAAAA,MAAS;AAAA,MAAA,IAAA,kBAAA;AAAA,eAC3BxB,EAAMuB,YAAYC;AAAAA,MAAS;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAAb,GAAAc,EAEzCC,EAAgBC,UAAQ;AAAA,MAACC,OAAOrB;AAAAA,MAAO,IAAAsB,WAAA;AAAA,eAAAJ,EACrCK,GAAa;AAAA,UAAA,IAACC,UAAO;AAAA,mBAAExB,EAAQyB;AAAAA,UAAQ;AAAA,UAAA,IAAAH,WAAA;AAAA,mBAAG9B,EAAM8B;AAAAA,UAAQ;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA,CAAA,GAAAlB;AAAAA,EAAA,GAAA;AAIjE;"}
@@ -1,58 +1,86 @@
1
- import { use as w, spread as T, mergeProps as L, memo as y, insert as n, createComponent as l, Portal as x, effect as $, setAttribute as F, style as K, isServer as M, template as o } from "solid-js/web";
2
- import { mergeProps as O, splitProps as R, children as v, createSignal as A, onCleanup as I, Show as c } from "solid-js";
3
- import j from "clsx";
4
- import { createFloating as q } from "../../../primitives/createFloating.js";
5
- import { mergeRefs as B } from "../../../primitives/mergeRefs.js";
6
- import { LazyImage as G } from "../lazyImage/lazyImage.js";
7
- var H = /* @__PURE__ */ o('<div class="smwb-thumb-card__slot smwb-thumb-card__slot--start">'), J = /* @__PURE__ */ o('<div class="smwb-thumb-card__slot smwb-thumb-card__slot--end">'), N = /* @__PURE__ */ o("<div class=smwb-thumb-card__caption>"), Q = /* @__PURE__ */ o("<div class=smwb-thumb-card__preview>"), U = /* @__PURE__ */ o("<div><div class=smwb-thumb-card__media>"), V = /* @__PURE__ */ o("<img alt>");
8
- function re(S) {
9
- const P = O({
1
+ import { use as v, spread as P, mergeProps as C, memo as k, insert as o, createComponent as l, Portal as A, effect as D, setAttribute as H, style as I, isServer as j, template as s } from "solid-js/web";
2
+ import { mergeProps as q, splitProps as B, children as f, createSignal as G, onCleanup as J, Show as c } from "solid-js";
3
+ import N from "clsx";
4
+ import { createFloating as Q } from "../../../primitives/createFloating.js";
5
+ import { mergeRefs as U } from "../../../primitives/mergeRefs.js";
6
+ import { callHandler as m } from "../../../primitives/callHandler.js";
7
+ import { isOwnClick as V } from "../../../utils/ownClick.js";
8
+ import { splitControlProps as W } from "../../../utils/controlProps.js";
9
+ import { LazyImage as X } from "../lazyImage/lazyImage.js";
10
+ var Y = /* @__PURE__ */ s("<div class=smwb-thumb-card__caption>"), Z = /* @__PURE__ */ s('<div class="smwb-thumb-card__slot smwb-thumb-card__slot--start">'), ee = /* @__PURE__ */ s('<div class="smwb-thumb-card__slot smwb-thumb-card__slot--end">'), te = /* @__PURE__ */ s("<div class=smwb-thumb-card__preview>"), re = /* @__PURE__ */ s("<div><div><div class=smwb-thumb-card__media>"), oe = /* @__PURE__ */ s("<img alt>");
11
+ function pe(E) {
12
+ const M = q({
10
13
  lazy: !0,
11
14
  hoverDelay: 350
12
- }, S), [e, k] = R(P, ["src", "caption", "selected", "onSelect", "fallback", "hoverPreview", "topStart", "topEnd", "lazy", "disabled", "hoverDelay", "class", "ref"]), p = v(() => e.topStart), b = v(() => e.topEnd), h = v(() => e.caption), d = q({
15
+ }, E), [e, z] = B(M, [
16
+ "src",
17
+ "caption",
18
+ "selected",
19
+ "onSelect",
20
+ "fallback",
21
+ "hoverPreview",
22
+ "topStart",
23
+ "topEnd",
24
+ "lazy",
25
+ "disabled",
26
+ "hoverDelay",
27
+ "class",
28
+ "ref",
29
+ // The card sets these on its root too; its own handlers call the caller's.
30
+ "onClick",
31
+ "onKeyDown",
32
+ "onMouseEnter",
33
+ "onMouseLeave"
34
+ ]), [h, L] = W(z);
35
+ let d;
36
+ const g = f(() => e.topStart), _ = f(() => e.topEnd), w = f(() => e.caption), u = Q({
13
37
  placement: () => "right"
14
- }), [D, g] = A(!1);
38
+ }), [T, y] = G(!1);
15
39
  let i;
16
- const m = () => {
40
+ const p = () => {
17
41
  i && (clearTimeout(i), i = void 0);
18
- }, E = () => {
19
- e.hoverPreview == null || e.disabled || (m(), i = setTimeout(() => g(!0), e.hoverDelay));
20
- }, z = () => {
21
- m(), g(!1);
42
+ }, x = (t) => {
43
+ m(e.onMouseEnter, t), !(e.hoverPreview == null || e.disabled) && (p(), i = setTimeout(() => y(!0), e.hoverDelay));
44
+ }, K = (t) => {
45
+ m(e.onMouseLeave, t), p(), y(!1);
22
46
  };
23
- I(m);
24
- const a = () => !!e.onSelect && !e.disabled, C = (r) => {
25
- a() && (r.key === "Enter" || r.key === " ") && (r.preventDefault(), e.onSelect?.());
47
+ J(p);
48
+ const b = () => !!e.onSelect && !e.disabled, O = (t) => {
49
+ if (e.disabled) return;
50
+ const n = V(t, d ?? null);
51
+ m(e.onClick, t), n && e.onSelect?.();
52
+ }, F = (t) => {
53
+ m(e.onKeyDown, t), !(!b() || t.target !== d) && (t.key === "Enter" || t.key === " ") && (t.preventDefault(), e.onSelect?.());
26
54
  };
27
55
  return (() => {
28
- var r = U(), u = r.firstChild, f = B(e.ref, (t) => d.setReference(t));
29
- return typeof f == "function" && w(f, r), T(r, L(k, {
56
+ var t = re(), n = t.firstChild, R = n.firstChild, $ = U(e.ref, (r) => u.setReference(r));
57
+ return typeof $ == "function" && v($, t), P(t, C(L, {
30
58
  get class() {
31
- return j("smwb-thumb-card", e.class, {
59
+ return N("smwb-thumb-card", e.class, {
32
60
  "smwb-thumb-card--selected": e.selected,
33
61
  "smwb-thumb-card--disabled": e.disabled,
34
- "smwb-thumb-card--interactive": a()
62
+ "smwb-thumb-card--interactive": b()
35
63
  });
36
64
  },
65
+ onClick: O,
66
+ onKeyDown: F,
67
+ onMouseEnter: x,
68
+ onMouseLeave: K
69
+ }), !1, !0), v((r) => d = r, n), P(n, C(h, {
70
+ class: "smwb-thumb-card__content",
37
71
  get role() {
38
- return a() ? "button" : void 0;
72
+ return e.onSelect ? "button" : void 0;
39
73
  },
40
74
  get tabindex() {
41
- return a() ? 0 : void 0;
75
+ return h.tabindex ?? (b() ? 0 : void 0);
42
76
  },
43
77
  get "aria-pressed"() {
44
- return y(() => !!e.onSelect)() ? e.selected ?? !1 : void 0;
78
+ return k(() => !!e.onSelect)() ? e.selected ?? !1 : void 0;
45
79
  },
46
80
  get "aria-disabled"() {
47
81
  return e.disabled || void 0;
48
- },
49
- get onClick() {
50
- return a() ? () => e.onSelect?.() : void 0;
51
- },
52
- onKeyDown: C,
53
- onMouseEnter: E,
54
- onMouseLeave: z
55
- }), !1, !0), n(u, l(G, {
82
+ }
83
+ }), !1, !0), o(R, l(X, {
56
84
  get src() {
57
85
  return e.src;
58
86
  },
@@ -62,52 +90,52 @@ function re(S) {
62
90
  get fallback() {
63
91
  return e.fallback;
64
92
  }
65
- }), null), n(u, l(c, {
93
+ })), o(n, l(c, {
66
94
  get when() {
67
- return p();
95
+ return w();
68
96
  },
69
97
  get children() {
70
- var t = H();
71
- return n(t, p), t;
98
+ var r = Y();
99
+ return o(r, w), r;
72
100
  }
73
- }), null), n(u, l(c, {
101
+ }), null), o(t, l(c, {
74
102
  get when() {
75
- return b();
103
+ return g();
76
104
  },
77
105
  get children() {
78
- var t = J();
79
- return n(t, b), t;
106
+ var r = Z();
107
+ return o(r, g), r;
80
108
  }
81
- }), null), n(r, l(c, {
109
+ }), null), o(t, l(c, {
82
110
  get when() {
83
- return h();
111
+ return _();
84
112
  },
85
113
  get children() {
86
- var t = N();
87
- return n(t, h), t;
114
+ var r = ee();
115
+ return o(r, _), r;
88
116
  }
89
- }), null), n(r, l(c, {
117
+ }), null), o(t, l(c, {
90
118
  get when() {
91
- return D() && !M;
119
+ return T() && !j;
92
120
  },
93
121
  get children() {
94
- return l(x, {
122
+ return l(A, {
95
123
  get children() {
96
- var t = Q();
97
- return w((s) => d.setFloating(s), t), n(t, (() => {
98
- var s = y(() => typeof e.hoverPreview == "string");
99
- return () => s() ? (() => {
100
- var _ = V();
101
- return $(() => F(_, "src", e.hoverPreview)), _;
124
+ var r = te();
125
+ return v((a) => u.setFloating(a), r), o(r, (() => {
126
+ var a = k(() => typeof e.hoverPreview == "string");
127
+ return () => a() ? (() => {
128
+ var S = oe();
129
+ return D(() => H(S, "src", e.hoverPreview)), S;
102
130
  })() : e.hoverPreview;
103
- })()), $((s) => K(t, d.floatingStyles(), s)), t;
131
+ })()), D((a) => I(r, u.floatingStyles(), a)), r;
104
132
  }
105
133
  });
106
134
  }
107
- }), null), r;
135
+ }), null), t;
108
136
  })();
109
137
  }
110
138
  export {
111
- re as ThumbCard
139
+ pe as ThumbCard
112
140
  };
113
141
  //# sourceMappingURL=thumbCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thumbCard.js","sources":["../../../../../src/components/dataDisplay/thumbCard/thumbCard.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { LazyImage } from \"../lazyImage\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ThumbCardProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Thumbnail URL; falls back to `fallback` when missing / failed. */\n src?: string;\n caption?: JSX.Element;\n selected?: boolean;\n /** Makes the card a selectable button (keyboard + `aria-pressed`). */\n onSelect?: () => void;\n /** Shown in place of the image when `src` is missing / fails. */\n fallback?: JSX.Element;\n /** A larger preview shown in a floating popup after a hover delay. */\n hoverPreview?: JSX.Element | string;\n /** Top-left overlay slot (e.g. a favourite star). */\n topStart?: JSX.Element;\n /** Top-right overlay slot (e.g. a kebab menu). */\n topEnd?: JSX.Element;\n lazy?: boolean;\n disabled?: boolean;\n /** Delay (ms) before the hover preview appears. Default 350. */\n hoverDelay?: number;\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * A selectable gallery card: image with an `onError` fallback + optional lazy\n * load, keyboard/`aria-pressed` selection, corner action slots, and a delayed\n * floating hover-preview. The generic gallery-card behaviour every app rebuilds\n * on top of the primitives. SSR-safe — the hover preview is client-only.\n */\nexport function ThumbCard(props: ThumbCardProps): JSX.Element {\n const merged = mergeProps({ lazy: true, hoverDelay: 350 }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"caption\",\n \"selected\",\n \"onSelect\",\n \"fallback\",\n \"hoverPreview\",\n \"topStart\",\n \"topEnd\",\n \"lazy\",\n \"disabled\",\n \"hoverDelay\",\n \"class\",\n \"ref\",\n ]);\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n // (The hover preview is read on hover only, after hydration.)\n const topStart = children(() => local.topStart);\n const topEnd = children(() => local.topEnd);\n const caption = children(() => local.caption);\n\n const floating = createFloating({ placement: () => \"right\" });\n const [previewOpen, setPreviewOpen] = createSignal(false);\n let hoverTimer: ReturnType<typeof setTimeout> | undefined;\n\n const clearTimer = (): void => {\n if (hoverTimer) {\n clearTimeout(hoverTimer);\n hoverTimer = undefined;\n }\n };\n const onEnter = (): void => {\n if (local.hoverPreview == null || local.disabled) return;\n clearTimer();\n hoverTimer = setTimeout(() => setPreviewOpen(true), local.hoverDelay);\n };\n const onLeave = (): void => {\n clearTimer();\n setPreviewOpen(false);\n };\n onCleanup(clearTimer);\n\n const interactive = (): boolean => !!local.onSelect && !local.disabled;\n const onKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (event) => {\n if (interactive() && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n local.onSelect?.();\n }\n };\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref, (el) => floating.setReference(el))}\n class={cn(\"smwb-thumb-card\", local.class, {\n \"smwb-thumb-card--selected\": local.selected,\n \"smwb-thumb-card--disabled\": local.disabled,\n \"smwb-thumb-card--interactive\": interactive(),\n })}\n role={interactive() ? \"button\" : undefined}\n tabindex={interactive() ? 0 : undefined}\n aria-pressed={local.onSelect ? (local.selected ?? false) : undefined}\n aria-disabled={local.disabled || undefined}\n onClick={interactive() ? () => local.onSelect?.() : undefined}\n onKeyDown={onKeyDown}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n >\n <div class=\"smwb-thumb-card__media\">\n <LazyImage src={local.src} lazy={local.lazy} fallback={local.fallback} />\n <Show when={topStart()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--start\">{topStart()}</div>\n </Show>\n <Show when={topEnd()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--end\">{topEnd()}</div>\n </Show>\n </div>\n <Show when={caption()}>\n <div class=\"smwb-thumb-card__caption\">{caption()}</div>\n </Show>\n <Show when={previewOpen() && !isServer}>\n <Portal>\n <div class=\"smwb-thumb-card__preview\" ref={(el) => floating.setFloating(el)} style={floating.floatingStyles()}>\n {typeof local.hoverPreview === \"string\" ? (\n <img src={local.hoverPreview} alt=\"\" />\n ) : (\n (local.hoverPreview as JSX.Element)\n )}\n </div>\n </Portal>\n </Show>\n </div>\n );\n}\n\nexport default ThumbCard;\n"],"names":["ThumbCard","props","merged","mergeProps","lazy","hoverDelay","local","rest","splitProps","topStart","children","topEnd","caption","floating","createFloating","placement","previewOpen","setPreviewOpen","createSignal","hoverTimer","clearTimer","clearTimeout","undefined","onEnter","hoverPreview","disabled","setTimeout","onLeave","onCleanup","interactive","onSelect","onKeyDown","event","key","preventDefault","_el$","_tmpl$5","_el$2","firstChild","_ref$","mergeRefs","ref","el","setReference","_$use","_$spread","_$mergeProps","cn","class","selected","role","tabindex","_$memo","onClick","_$insert","_$createComponent","LazyImage","src","fallback","Show","when","_el$3","_tmpl$","_el$4","_tmpl$2","_el$5","_tmpl$3","isServer","Portal","_el$6","_tmpl$4","setFloating","_c$","_el$7","_tmpl$6","_$effect","_$setAttribute","_$p","_$style","floatingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"thumbCard.js","sources":["../../../../../src/components/dataDisplay/thumbCard/thumbCard.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { LazyImage } from \"../lazyImage\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\nimport { isOwnClick } from \"../../../utils/ownClick\";\nimport { splitControlProps } from \"../../../utils/controlProps\";\n\nexport interface ThumbCardProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /**\n * Class name(s) for the root `<div>`, the card's box. `style`, `id`, `data-*`, `aria-hidden`, `ref` and event\n * handlers go to the root too, but `role`, `tabindex`, `onFocus`, `onBlur` and the other `aria-*` attributes go to\n * the card's content, `.smwb-thumb-card__content` (the image and the caption): that is the card's button when it has\n * `onSelect`, and the element to focus.\n */\n class?: string | undefined;\n /** Thumbnail URL; falls back to `fallback` when missing / failed. */\n src?: string;\n /**\n * Text under the image. With `onSelect` it is part of the card's button and names it, so keep controls out of it:\n * they go in `topStart` / `topEnd`.\n */\n caption?: JSX.Element;\n /** Outlines the image; with `onSelect`, the card's button is also `aria-pressed=\"true\"`. */\n selected?: boolean;\n /**\n * Makes the card selectable: its content (the image and the caption) becomes a toggle button with `aria-pressed`,\n * selected by a click and by Enter / Space. The corner slots are not part of that button but its siblings, laid over\n * the image, so their controls keep their own names, clicks and keys.\n *\n * A click selects the card unless it lands in a control in a slot (button, link, input, anything focusable) or in a\n * portal opened from the card. Slot content that is not a control keeps its click from selecting the card by calling\n * `preventDefault()` on it.\n */\n onSelect?: () => void;\n /**\n * Runs on each click on the card, before `onSelect`, but not while the card is `disabled`.\n * A click on a control in a slot runs it too, without selecting the card.\n * Enter / Space select the card without a click, so they call only `onSelect`.\n */\n onClick?: JSX.EventHandlerUnion<HTMLDivElement, MouseEvent> | undefined;\n /** Shown in place of the image when `src` is missing / fails. */\n fallback?: JSX.Element;\n /** A larger preview shown in a floating popup after a hover delay. */\n hoverPreview?: JSX.Element | string;\n /**\n * Top-left overlay slot (e.g. a favourite star). It sits over the image, outside the card's button, so controls here\n * keep their own names, clicks and keys; see `onSelect`.\n */\n topStart?: JSX.Element;\n /**\n * Top-right overlay slot (e.g. a kebab menu). It sits over the image, outside the card's button, so controls here\n * keep their own names, clicks and keys; see `onSelect`.\n */\n topEnd?: JSX.Element;\n lazy?: boolean;\n /**\n * Dims the card and ignores clicks on it: neither `onClick` nor `onSelect` runs.\n * Keys do not select it either, and there is no hover preview. With `onSelect`\n * the card is still a button, `aria-disabled` and out of the tab order.\n */\n disabled?: boolean;\n /** Delay (ms) before the hover preview appears. Default 350. */\n hoverDelay?: number;\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * A selectable gallery card: image with an `onError` fallback + optional lazy\n * load, keyboard/`aria-pressed` selection, corner action slots, and a delayed\n * floating hover-preview. The generic gallery-card behaviour every app rebuilds\n * on top of the primitives. SSR-safe — the hover preview is client-only.\n *\n * The root is a box around the card's content (the image and the caption, the\n * card's button when it is selectable) and the corner slots, which are laid\n * over the image beside that button rather than inside it.\n */\nexport function ThumbCard(props: ThumbCardProps): JSX.Element {\n const merged = mergeProps({ lazy: true, hoverDelay: 350 }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"caption\",\n \"selected\",\n \"onSelect\",\n \"fallback\",\n \"hoverPreview\",\n \"topStart\",\n \"topEnd\",\n \"lazy\",\n \"disabled\",\n \"hoverDelay\",\n \"class\",\n \"ref\",\n // The card sets these on its root too; its own handlers call the caller's.\n \"onClick\",\n \"onKeyDown\",\n \"onMouseEnter\",\n \"onMouseLeave\",\n ]);\n // What the card is to the keyboard and to assistive tech goes to its\n // content, the element that is its button; the rest stays on the root.\n const [control, box] = splitControlProps(rest);\n let content: HTMLDivElement | undefined;\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n // (The hover preview is read on hover only, after hydration.)\n const topStart = children(() => local.topStart);\n const topEnd = children(() => local.topEnd);\n const caption = children(() => local.caption);\n\n const floating = createFloating({ placement: () => \"right\" });\n const [previewOpen, setPreviewOpen] = createSignal(false);\n let hoverTimer: ReturnType<typeof setTimeout> | undefined;\n\n const clearTimer = (): void => {\n if (hoverTimer) {\n clearTimeout(hoverTimer);\n hoverTimer = undefined;\n }\n };\n const onEnter: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n callHandler(local.onMouseEnter, event);\n if (local.hoverPreview == null || local.disabled) return;\n clearTimer();\n hoverTimer = setTimeout(() => setPreviewOpen(true), local.hoverDelay);\n };\n const onLeave: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n callHandler(local.onMouseLeave, event);\n clearTimer();\n setPreviewOpen(false);\n };\n onCleanup(clearTimer);\n\n const interactive = (): boolean => !!local.onSelect && !local.disabled;\n // A disabled card ignores clicks, the caller's onClick included: it says\n // aria-disabled, and its styles turn pointer events off. The caller's onClick\n // sees every other click, those in the slots too, but only clicks on the\n // card's content and on what is not a control in a slot select it: not one\n // on a control in a slot, nor one in a Portal opened from the card. That is\n // settled before onClick runs, so what onClick does to the event or the DOM\n // does not change it.\n const onClick: JSX.EventHandler<HTMLDivElement, MouseEvent> = (event) => {\n if (local.disabled) return;\n const selects = isOwnClick(event, content ?? null);\n callHandler(local.onClick, event);\n if (selects) local.onSelect?.();\n };\n // Keys pressed on a control in a slot bubble up here too; only the keys of\n // the card's button select it.\n const onKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (event) => {\n callHandler(local.onKeyDown, event);\n if (!interactive() || event.target !== content) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n local.onSelect?.();\n }\n };\n\n return (\n <div\n {...box}\n ref={mergeRefs(local.ref, (el) => floating.setReference(el))}\n class={cn(\"smwb-thumb-card\", local.class, {\n \"smwb-thumb-card--selected\": local.selected,\n \"smwb-thumb-card--disabled\": local.disabled,\n \"smwb-thumb-card--interactive\": interactive(),\n })}\n onClick={onClick}\n onKeyDown={onKeyDown}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n >\n <div\n {...control}\n ref={(el) => (content = el)}\n class=\"smwb-thumb-card__content\"\n // With onSelect the content is the card's button and says whether it is\n // pressed, and a disabled card says so: these win over the caller's, and\n // where the card sets none (undefined), the caller's stay. Its tabindex\n // is a default: the caller's wins, e.g. for roving focus.\n role={local.onSelect ? \"button\" : undefined}\n tabindex={control.tabindex ?? (interactive() ? 0 : undefined)}\n aria-pressed={local.onSelect ? (local.selected ?? false) : undefined}\n aria-disabled={local.disabled || undefined}\n >\n <div class=\"smwb-thumb-card__media\">\n <LazyImage src={local.src} lazy={local.lazy} fallback={local.fallback} />\n </div>\n <Show when={caption()}>\n <div class=\"smwb-thumb-card__caption\">{caption()}</div>\n </Show>\n </div>\n {/* Beside the button, not in it: controls here keep their names and input. */}\n <Show when={topStart()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--start\">{topStart()}</div>\n </Show>\n <Show when={topEnd()}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--end\">{topEnd()}</div>\n </Show>\n <Show when={previewOpen() && !isServer}>\n <Portal>\n <div class=\"smwb-thumb-card__preview\" ref={(el) => floating.setFloating(el)} style={floating.floatingStyles()}>\n {typeof local.hoverPreview === \"string\" ? (\n <img src={local.hoverPreview} alt=\"\" />\n ) : (\n (local.hoverPreview as JSX.Element)\n )}\n </div>\n </Portal>\n </Show>\n </div>\n );\n}\n\nexport default ThumbCard;\n"],"names":["ThumbCard","props","merged","mergeProps","lazy","hoverDelay","local","rest","splitProps","control","box","splitControlProps","content","topStart","children","topEnd","caption","floating","createFloating","placement","previewOpen","setPreviewOpen","createSignal","hoverTimer","clearTimer","clearTimeout","undefined","onEnter","event","callHandler","onMouseEnter","hoverPreview","disabled","setTimeout","onLeave","onMouseLeave","onCleanup","interactive","onSelect","onClick","selects","isOwnClick","onKeyDown","target","key","preventDefault","_el$","_tmpl$5","_el$2","firstChild","_el$3","_ref$","mergeRefs","ref","el","setReference","_$use","_$spread","_$mergeProps","cn","class","selected","role","tabindex","_$memo","_$insert","_$createComponent","LazyImage","src","fallback","Show","when","_el$4","_tmpl$","_el$5","_tmpl$2","_el$6","_tmpl$3","isServer","Portal","_el$7","_tmpl$4","setFloating","_c$","_el$8","_tmpl$6","_$effect","_$setAttribute","_$p","_$style","floatingStyles"],"mappings":"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"}
@@ -98,7 +98,7 @@ function de(o) {
98
98
  defaultSelected: [],
99
99
  selectable: !1,
100
100
  checkboxes: !1
101
- }, o), [e, h] = B(n, ["class", "listIcon", "nodeIcon", "data", "expanded", "defaultExpanded", "onExpandedChange", "selected", "defaultSelected", "onSelectedChange", "selectable", "checkboxes", "renderLabel", "loadChildren", "ref"]), [$, c] = P({}), [f, m] = P([]), [I, x] = O({
101
+ }, o), [e, h] = B(n, ["class", "listIcon", "nodeIcon", "data", "expanded", "defaultExpanded", "onExpandedChange", "selected", "defaultSelected", "onSelectedChange", "selectable", "checkboxes", "renderLabel", "loadChildren", "ref", "data-testid"]), [$, c] = P({}), [f, m] = P([]), [I, x] = O({
102
102
  value: () => e.expanded,
103
103
  defaultValue: e.defaultExpanded,
104
104
  onChange: (t) => e.onExpandedChange?.(t)
@@ -157,7 +157,9 @@ function de(o) {
157
157
  get children() {
158
158
  var t = X(), l = J(e.ref);
159
159
  return typeof l == "function" && D(l, t), R(t, F(h, {
160
- "data-testid": "tree-view",
160
+ get "data-testid"() {
161
+ return e["data-testid"] ?? "tree-view";
162
+ },
161
163
  role: "tree",
162
164
  get class() {
163
165
  return z("smwb-tree", e.class);