@smwb/ui-solid 0.13.0 → 1.0.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 (411) hide show
  1. package/README.md +564 -0
  2. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/button/button.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/commandPalette/commandPalette.entry.css +1 -0
  7. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  8. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  9. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  10. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  11. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  12. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  13. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  14. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  15. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  16. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  17. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  18. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  19. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  20. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  21. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  22. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  23. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  24. package/dist/assets/styles/less/tokens.entry.css +1 -1
  25. package/dist/components/dataDisplay/chat/chat.d.ts +42 -0
  26. package/dist/components/dataDisplay/chat/chat.js +116 -57
  27. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  28. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  29. package/dist/components/dataDisplay/chat/chatComposer.js +21 -19
  30. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  31. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  32. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  33. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  34. package/dist/components/dataDisplay/dagView/dagView.js +238 -223
  35. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -1
  36. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +55 -0
  37. package/dist/components/dataDisplay/diffStat/diffStat.js +70 -0
  38. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  39. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  40. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  41. package/dist/components/dataDisplay/kbd/kbd.d.ts +41 -0
  42. package/dist/components/dataDisplay/kbd/kbd.js +47 -0
  43. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  44. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  45. package/dist/components/dataDisplay/kbd/kbdKeys.js +70 -0
  46. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  47. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  48. package/dist/components/dataDisplay/list/listItem.js +57 -20
  49. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  50. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  51. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +30 -0
  52. package/dist/components/dataDisplay/qrCode/qrCode.js +88 -0
  53. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  54. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  55. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  56. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  57. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  58. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  59. package/dist/components/dataDisplay/statusDot/statusDot.js +31 -0
  60. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  61. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  62. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +75 -0
  63. package/dist/components/dataDisplay/swimlanes/swimlanes.js +361 -0
  64. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  65. package/dist/components/dataDisplay/treeView/treeView.d.ts +20 -0
  66. package/dist/components/dataDisplay/treeView/treeView.js +161 -95
  67. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  68. package/dist/components/feedBack/modal/modal.d.ts +9 -0
  69. package/dist/components/feedBack/modal/modal.js +68 -54
  70. package/dist/components/feedBack/modal/modal.js.map +1 -1
  71. package/dist/components/inputs/button/button.d.ts +12 -0
  72. package/dist/components/inputs/button/button.js +44 -37
  73. package/dist/components/inputs/button/button.js.map +1 -1
  74. package/dist/components/inputs/composer/composer.d.ts +148 -0
  75. package/dist/components/inputs/composer/composer.js +276 -0
  76. package/dist/components/inputs/composer/composer.js.map +1 -0
  77. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  78. package/dist/components/inputs/composer/composerFiles.js +18 -0
  79. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  80. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  81. package/dist/components/inputs/composer/composerKeys.js +7 -0
  82. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  83. package/dist/components/inputs/composer/index.d.ts +3 -0
  84. package/dist/components/layout/sheet/sheet.d.ts +12 -0
  85. package/dist/components/layout/sheet/sheet.js +100 -86
  86. package/dist/components/layout/sheet/sheet.js.map +1 -1
  87. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  88. package/dist/components/layout/tabGroups/tabGroups.d.ts +102 -0
  89. package/dist/components/layout/tabGroups/tabGroups.js +895 -0
  90. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  91. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  92. package/dist/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  93. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  94. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  95. package/dist/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  96. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  97. package/dist/components/navigation/appBar/appBar.d.ts +22 -0
  98. package/dist/components/navigation/appBar/appBar.js +60 -22
  99. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  100. package/dist/components/navigation/commandPalette/commandPalette.d.ts +126 -0
  101. package/dist/components/navigation/commandPalette/commandPalette.js +457 -0
  102. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  103. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  104. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  105. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  106. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  107. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  108. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  109. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  110. package/dist/components/navigation/commandPalette/index.d.ts +6 -0
  111. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  112. package/dist/components/navigation/sidebar/sidebar.js +12 -10
  113. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  114. package/dist/components/navigation/tabs/index.d.ts +3 -1
  115. package/dist/components/navigation/tabs/tab/tab.d.ts +89 -2
  116. package/dist/components/navigation/tabs/tab/tab.js +164 -44
  117. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  118. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +20 -0
  119. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +34 -0
  120. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  121. package/dist/components/navigation/tabs/tabs.d.ts +73 -3
  122. package/dist/components/navigation/tabs/tabs.js +387 -160
  123. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  124. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  125. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  126. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  127. package/dist/components/navigation/tabs/tabsContext.d.ts +31 -1
  128. package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
  129. package/dist/headless/components/dataDisplay/chat/chat.js +116 -57
  130. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  131. package/dist/headless/components/dataDisplay/chat/chatComposer.js +21 -19
  132. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  133. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  134. package/dist/headless/components/dataDisplay/dagView/dagView.js +238 -223
  135. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -1
  136. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +68 -0
  137. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  138. package/dist/headless/components/dataDisplay/kbd/kbd.js +45 -0
  139. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  140. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +70 -0
  141. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  142. package/dist/headless/components/dataDisplay/list/listItem.js +57 -20
  143. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  144. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +86 -0
  145. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  146. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  147. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  148. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +29 -0
  149. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  150. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +359 -0
  151. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  152. package/dist/headless/components/dataDisplay/treeView/treeView.js +161 -95
  153. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  154. package/dist/headless/components/feedBack/modal/modal.js +68 -54
  155. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  156. package/dist/headless/components/inputs/button/button.js +42 -35
  157. package/dist/headless/components/inputs/button/button.js.map +1 -1
  158. package/dist/headless/components/inputs/composer/composer.js +274 -0
  159. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  160. package/dist/headless/components/inputs/composer/composerFiles.js +18 -0
  161. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  162. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  163. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  164. package/dist/headless/components/layout/sheet/sheet.js +100 -86
  165. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  166. package/dist/headless/components/layout/tabGroups/tabGroups.js +893 -0
  167. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  168. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +192 -0
  169. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  170. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +480 -0
  171. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  172. package/dist/headless/components/navigation/appBar/appBar.js +64 -26
  173. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  174. package/dist/headless/components/navigation/commandPalette/commandPalette.js +455 -0
  175. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  176. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
  177. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  178. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  179. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  180. package/dist/headless/components/navigation/sidebar/sidebar.js +28 -26
  181. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  182. package/dist/headless/components/navigation/tabs/tab/tab.js +164 -44
  183. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  184. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +32 -0
  185. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  186. package/dist/headless/components/navigation/tabs/tabs.js +387 -160
  187. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  188. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  189. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  190. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
  191. package/dist/headless/index.js +405 -367
  192. package/dist/headless/index.js.map +1 -1
  193. package/dist/headless/primitives/createFocusTrap.js +17 -17
  194. package/dist/headless/primitives/createFocusTrap.js.map +1 -1
  195. package/dist/headless/primitives/createKeyboardShortcut.js +16 -0
  196. package/dist/headless/primitives/createKeyboardShortcut.js.map +1 -0
  197. package/dist/headless/primitives/restoreFocus.js +10 -0
  198. package/dist/headless/primitives/restoreFocus.js.map +1 -0
  199. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +38 -4
  200. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  201. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  202. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  203. package/dist/headless/source/components/dataDisplay/chat/index.js.map +1 -1
  204. package/dist/headless/source/components/dataDisplay/chat/utils.js.map +2 -2
  205. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +30 -21
  206. package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -1
  207. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx +76 -0
  208. package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  209. package/dist/headless/source/components/dataDisplay/diffStat/index.js +19 -0
  210. package/dist/headless/source/components/dataDisplay/diffStat/index.js.map +7 -0
  211. package/dist/headless/source/components/dataDisplay/kbd/index.js +9 -0
  212. package/dist/headless/source/components/dataDisplay/kbd/index.js.map +7 -0
  213. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx +48 -0
  214. package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  215. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  216. package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  217. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +37 -7
  218. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  219. package/dist/headless/source/components/dataDisplay/qrCode/index.js +6 -0
  220. package/dist/headless/source/components/dataDisplay/qrCode/index.js.map +7 -0
  221. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx +94 -0
  222. package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  223. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  224. package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  225. package/dist/headless/source/components/dataDisplay/statusDot/index.js +6 -0
  226. package/dist/headless/source/components/dataDisplay/statusDot/index.js.map +7 -0
  227. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx +28 -0
  228. package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  229. package/dist/headless/source/components/dataDisplay/swimlanes/index.js +15 -0
  230. package/dist/headless/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  231. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx +450 -0
  232. package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  233. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +118 -37
  234. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  235. package/dist/headless/source/components/feedBack/modal/modal.jsx +34 -4
  236. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
  237. package/dist/headless/source/components/inputs/button/button.jsx +6 -2
  238. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  239. package/dist/headless/source/components/inputs/composer/composer.jsx +319 -0
  240. package/dist/headless/source/components/inputs/composer/composer.jsx.map +1 -0
  241. package/dist/headless/source/components/inputs/composer/composerFiles.js +27 -0
  242. package/dist/headless/source/components/inputs/composer/composerFiles.js.map +7 -0
  243. package/dist/headless/source/components/inputs/composer/composerKeys.js +11 -0
  244. package/dist/headless/source/components/inputs/composer/composerKeys.js.map +7 -0
  245. package/dist/headless/source/components/inputs/composer/index.js +5 -0
  246. package/dist/headless/source/components/inputs/composer/index.js.map +7 -0
  247. package/dist/headless/source/components/layout/sheet/sheet.jsx +33 -11
  248. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
  249. package/dist/headless/source/components/layout/tabGroups/index.js +8 -0
  250. package/dist/headless/source/components/layout/tabGroups/index.js.map +7 -0
  251. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx +1117 -0
  252. package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  253. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  254. package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  255. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  256. package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  257. package/dist/headless/source/components/navigation/appBar/appBar.jsx +27 -3
  258. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  259. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx +506 -0
  260. package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  261. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  262. package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  263. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  264. package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  265. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  266. package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  267. package/dist/headless/source/components/navigation/commandPalette/index.js +11 -0
  268. package/dist/headless/source/components/navigation/commandPalette/index.js.map +7 -0
  269. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +5 -2
  270. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  271. package/dist/headless/source/components/navigation/tabs/index.js +2 -0
  272. package/dist/headless/source/components/navigation/tabs/index.js.map +2 -2
  273. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +135 -8
  274. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  275. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx +28 -0
  276. package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  277. package/dist/headless/source/components/navigation/tabs/tabs.jsx +361 -13
  278. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  279. package/dist/headless/source/components/navigation/tabs/tabs.utils.js +18 -0
  280. package/dist/headless/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  281. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
  282. package/dist/headless/source/index.js +41 -1
  283. package/dist/headless/source/index.js.map +2 -2
  284. package/dist/headless/source/primitives/createFocusTrap.js +8 -3
  285. package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
  286. package/dist/headless/source/primitives/createKeyboardShortcut.js +23 -0
  287. package/dist/headless/source/primitives/createKeyboardShortcut.js.map +7 -0
  288. package/dist/headless/source/primitives/restoreFocus.js +14 -0
  289. package/dist/headless/source/primitives/restoreFocus.js.map +7 -0
  290. package/dist/headless/source/utils/keyboardShortcut.js +74 -0
  291. package/dist/headless/source/utils/keyboardShortcut.js.map +7 -0
  292. package/dist/headless/source/utils/linkAttrs.js +16 -0
  293. package/dist/headless/source/utils/linkAttrs.js.map +7 -0
  294. package/dist/headless/utils/keyboardShortcut.js +48 -0
  295. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  296. package/dist/headless/utils/linkAttrs.js +13 -0
  297. package/dist/headless/utils/linkAttrs.js.map +1 -0
  298. package/dist/index.d.ts +24 -3
  299. package/dist/index.js +405 -367
  300. package/dist/index.js.map +1 -1
  301. package/dist/primitives/createFocusTrap.d.ts +5 -0
  302. package/dist/primitives/createFocusTrap.js +17 -17
  303. package/dist/primitives/createFocusTrap.js.map +1 -1
  304. package/dist/primitives/createKeyboardShortcut.d.ts +23 -0
  305. package/dist/primitives/createKeyboardShortcut.js +16 -0
  306. package/dist/primitives/createKeyboardShortcut.js.map +1 -0
  307. package/dist/primitives/restoreFocus.d.ts +8 -0
  308. package/dist/primitives/restoreFocus.js +10 -0
  309. package/dist/primitives/restoreFocus.js.map +1 -0
  310. package/dist/source/components/dataDisplay/chat/chat.jsx +38 -4
  311. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  312. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
  313. package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
  314. package/dist/source/components/dataDisplay/chat/index.js.map +1 -1
  315. package/dist/source/components/dataDisplay/chat/utils.js.map +2 -2
  316. package/dist/source/components/dataDisplay/dagView/dagView.jsx +30 -21
  317. package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -1
  318. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx +78 -0
  319. package/dist/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
  320. package/dist/source/components/dataDisplay/diffStat/index.js +19 -0
  321. package/dist/source/components/dataDisplay/diffStat/index.js.map +7 -0
  322. package/dist/source/components/dataDisplay/kbd/index.js +9 -0
  323. package/dist/source/components/dataDisplay/kbd/index.js.map +7 -0
  324. package/dist/source/components/dataDisplay/kbd/kbd.jsx +50 -0
  325. package/dist/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
  326. package/dist/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
  327. package/dist/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
  328. package/dist/source/components/dataDisplay/list/listItem.jsx +37 -7
  329. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
  330. package/dist/source/components/dataDisplay/qrCode/index.js +6 -0
  331. package/dist/source/components/dataDisplay/qrCode/index.js.map +7 -0
  332. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx +96 -0
  333. package/dist/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
  334. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
  335. package/dist/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
  336. package/dist/source/components/dataDisplay/statusDot/index.js +6 -0
  337. package/dist/source/components/dataDisplay/statusDot/index.js.map +7 -0
  338. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx +30 -0
  339. package/dist/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
  340. package/dist/source/components/dataDisplay/swimlanes/index.js +15 -0
  341. package/dist/source/components/dataDisplay/swimlanes/index.js.map +7 -0
  342. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx +452 -0
  343. package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
  344. package/dist/source/components/dataDisplay/treeView/treeView.jsx +118 -37
  345. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  346. package/dist/source/components/feedBack/modal/modal.jsx +34 -4
  347. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  348. package/dist/source/components/inputs/button/button.jsx +6 -2
  349. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  350. package/dist/source/components/inputs/composer/composer.jsx +321 -0
  351. package/dist/source/components/inputs/composer/composer.jsx.map +1 -0
  352. package/dist/source/components/inputs/composer/composerFiles.js +27 -0
  353. package/dist/source/components/inputs/composer/composerFiles.js.map +7 -0
  354. package/dist/source/components/inputs/composer/composerKeys.js +11 -0
  355. package/dist/source/components/inputs/composer/composerKeys.js.map +7 -0
  356. package/dist/source/components/inputs/composer/index.js +5 -0
  357. package/dist/source/components/inputs/composer/index.js.map +7 -0
  358. package/dist/source/components/layout/sheet/sheet.jsx +33 -11
  359. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  360. package/dist/source/components/layout/tabGroups/index.js +8 -0
  361. package/dist/source/components/layout/tabGroups/index.js.map +7 -0
  362. package/dist/source/components/layout/tabGroups/tabGroups.jsx +1119 -0
  363. package/dist/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
  364. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
  365. package/dist/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
  366. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
  367. package/dist/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
  368. package/dist/source/components/navigation/appBar/appBar.jsx +27 -3
  369. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  370. package/dist/source/components/navigation/commandPalette/commandPalette.jsx +508 -0
  371. package/dist/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
  372. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  373. package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
  374. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
  375. package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
  376. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
  377. package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
  378. package/dist/source/components/navigation/commandPalette/index.js +11 -0
  379. package/dist/source/components/navigation/commandPalette/index.js.map +7 -0
  380. package/dist/source/components/navigation/sidebar/sidebar.jsx +5 -2
  381. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  382. package/dist/source/components/navigation/tabs/index.js +2 -0
  383. package/dist/source/components/navigation/tabs/index.js.map +2 -2
  384. package/dist/source/components/navigation/tabs/tab/tab.jsx +135 -8
  385. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  386. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx +30 -0
  387. package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
  388. package/dist/source/components/navigation/tabs/tabs.jsx +361 -13
  389. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  390. package/dist/source/components/navigation/tabs/tabs.utils.js +18 -0
  391. package/dist/source/components/navigation/tabs/tabs.utils.js.map +7 -0
  392. package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
  393. package/dist/source/index.js +41 -1
  394. package/dist/source/index.js.map +2 -2
  395. package/dist/source/primitives/createFocusTrap.js +8 -3
  396. package/dist/source/primitives/createFocusTrap.js.map +2 -2
  397. package/dist/source/primitives/createKeyboardShortcut.js +23 -0
  398. package/dist/source/primitives/createKeyboardShortcut.js.map +7 -0
  399. package/dist/source/primitives/restoreFocus.js +14 -0
  400. package/dist/source/primitives/restoreFocus.js.map +7 -0
  401. package/dist/source/utils/keyboardShortcut.js +74 -0
  402. package/dist/source/utils/keyboardShortcut.js.map +7 -0
  403. package/dist/source/utils/linkAttrs.js +16 -0
  404. package/dist/source/utils/linkAttrs.js.map +7 -0
  405. package/dist/utils/keyboardShortcut.d.ts +12 -0
  406. package/dist/utils/keyboardShortcut.js +48 -0
  407. package/dist/utils/keyboardShortcut.js.map +1 -0
  408. package/dist/utils/linkAttrs.d.ts +13 -0
  409. package/dist/utils/linkAttrs.js +13 -0
  410. package/dist/utils/linkAttrs.js.map +1 -0
  411. package/package.json +66 -3
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/primitives/createKeyboardShortcut.ts"],
4
+ "sourcesContent": ["import { type Accessor, createEffect, onCleanup } from \"solid-js\";\nimport { matchesKeyboardShortcut } from \"../utils/keyboardShortcut\";\n\nexport interface CreateKeyboardShortcutOptions {\n /** The shortcut in `Kbd` key names, e.g. `[\"Mod\", \"K\"]` (Command on macOS, Ctrl elsewhere). */\n keys: string[];\n /** Runs on a matching keydown anywhere in the document; the event's default action is prevented. */\n onTrigger: (event: KeyboardEvent) => void;\n /** Listen only while this returns true; listening is on by default. */\n enabled?: Accessor<boolean> | undefined;\n}\n\n/**\n * Binds a global keyboard shortcut while the calling component is alive, e.g. the Mod+K that opens a\n * `CommandPalette`. The component that reacts to the shortcut binds it, not the one it opens, so two\n * palettes never bind the same keys and any other opener can use them too. The same `keys` array draws\n * the hint: `<Kbd keys={[\"Mod\", \"K\"]} />`.\n *\n * One `keydown` listener sits on the document while `enabled` is on. A press an editor already handled\n * (`defaultPrevented`), a key repeat and an IME composition are ignored. On a match the default action is\n * prevented \u2014 Chrome and Firefox otherwise move the focus to their own search box on Ctrl+K \u2014 and\n * `onTrigger` runs. `keys` and `onTrigger` are read when the key is pressed, so a getter on the options\n * object stays live. Nothing runs on the server.\n */\nexport function createKeyboardShortcut(options: CreateKeyboardShortcutOptions): void {\n const enabled = options.enabled ?? ((): boolean => true);\n\n createEffect(() => {\n if (!enabled()) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.defaultPrevented || event.repeat) return;\n if (event.isComposing || event.keyCode === 229) return;\n if (!matchesKeyboardShortcut(event, options.keys)) return;\n event.preventDefault();\n options.onTrigger(event);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n}\n\nexport default createKeyboardShortcut;\n"],
5
+ "mappings": "AAAA,SAAwB,cAAc,iBAAiB;AACvD,SAAS,+BAA+B;AAuBjC,SAAS,uBAAuB,SAA8C;AACnF,QAAM,UAAU,QAAQ,YAAY,MAAe;AAEnD,eAAa,MAAM;AACjB,QAAI,CAAC,QAAQ,EAAG;AAChB,UAAM,YAAY,CAAC,UAA+B;AAChD,UAAI,MAAM,oBAAoB,MAAM,OAAQ;AAC5C,UAAI,MAAM,eAAe,MAAM,YAAY,IAAK;AAChD,UAAI,CAAC,wBAAwB,OAAO,QAAQ,IAAI,EAAG;AACnD,YAAM,eAAe;AACrB,cAAQ,UAAU,KAAK;AAAA,IACzB;AACA,aAAS,iBAAiB,WAAW,SAAS;AAC9C,cAAU,MAAM,SAAS,oBAAoB,WAAW,SAAS,CAAC;AAAA,EACpE,CAAC;AACH;AAEA,IAAO,iCAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,14 @@
1
+ function restoreFocus(opener, root) {
2
+ if (!(opener instanceof HTMLElement) || opener === document.body || !opener.isConnected) {
3
+ return;
4
+ }
5
+ const active = document.activeElement;
6
+ if (active && active !== document.body && !root?.contains(active)) {
7
+ return;
8
+ }
9
+ opener.focus({ preventScroll: true });
10
+ }
11
+ export {
12
+ restoreFocus
13
+ };
14
+ //# sourceMappingURL=restoreFocus.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/primitives/restoreFocus.ts"],
4
+ "sourcesContent": ["/**\n * Hands focus back to `opener`, the element that had it when an overlay opened, once the\n * overlay `root` closes. Focus the app moved elsewhere on purpose stays where it is: it\n * is restored only while it is still inside `root` or has been dropped on the body (the\n * root is gone, or the element that had it was removed). An opener that left the document\n * is skipped, and one that cannot take focus (disabled, hidden) simply ignores the call.\n */\nexport function restoreFocus(opener: Element | null, root: Element | null | undefined): void {\n if (!(opener instanceof HTMLElement) || opener === document.body || !opener.isConnected) {\n return;\n }\n const active = document.activeElement;\n if (active && active !== document.body && !root?.contains(active)) {\n return;\n }\n opener.focus({ preventScroll: true });\n}\n"],
5
+ "mappings": "AAOO,SAAS,aAAa,QAAwB,MAAwC;AAC3F,MAAI,EAAE,kBAAkB,gBAAgB,WAAW,SAAS,QAAQ,CAAC,OAAO,aAAa;AACvF;AAAA,EACF;AACA,QAAM,SAAS,SAAS;AACxB,MAAI,UAAU,WAAW,SAAS,QAAQ,CAAC,MAAM,SAAS,MAAM,GAAG;AACjE;AAAA,EACF;AACA,SAAO,MAAM,EAAE,eAAe,KAAK,CAAC;AACtC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,74 @@
1
+ import { detectKbdPlatform } from "../components/dataDisplay/kbd/kbdKeys";
2
+ const MODIFIERS = {
3
+ mod: "mod",
4
+ ctrl: "ctrl",
5
+ control: "ctrl",
6
+ alt: "alt",
7
+ option: "alt",
8
+ shift: "shift",
9
+ meta: "meta",
10
+ cmd: "meta",
11
+ command: "meta"
12
+ };
13
+ const KEY_ALIASES = {
14
+ esc: "escape",
15
+ space: " ",
16
+ spacebar: " ",
17
+ up: "arrowup",
18
+ down: "arrowdown",
19
+ left: "arrowleft",
20
+ right: "arrowright",
21
+ plus: "+",
22
+ return: "enter",
23
+ del: "delete"
24
+ };
25
+ function matchesKeyboardShortcut(event, keys, platform = detectKbdPlatform()) {
26
+ let ctrl = false;
27
+ let alt = false;
28
+ let shift = false;
29
+ let meta = false;
30
+ let main = null;
31
+ for (const key of keys) {
32
+ const lower = key.trim().toLowerCase() || key;
33
+ const modifier = MODIFIERS[lower];
34
+ if (modifier === "mod") {
35
+ if (platform === "mac") {
36
+ meta = true;
37
+ } else {
38
+ ctrl = true;
39
+ }
40
+ } else if (modifier === "ctrl") {
41
+ ctrl = true;
42
+ } else if (modifier === "alt") {
43
+ alt = true;
44
+ } else if (modifier === "shift") {
45
+ shift = true;
46
+ } else if (modifier === "meta") {
47
+ meta = true;
48
+ } else if (main === null) {
49
+ main = KEY_ALIASES[lower] ?? lower;
50
+ } else {
51
+ return false;
52
+ }
53
+ }
54
+ if (main === null) {
55
+ return false;
56
+ }
57
+ if (event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift || event.metaKey !== meta) {
58
+ return false;
59
+ }
60
+ if ((event.key ?? "").toLowerCase() === main) {
61
+ return true;
62
+ }
63
+ if (/^[a-z]$/.test(main)) {
64
+ return event.code === `Key${main.toUpperCase()}`;
65
+ }
66
+ if (/^[0-9]$/.test(main)) {
67
+ return event.code === `Digit${main}`;
68
+ }
69
+ return false;
70
+ }
71
+ export {
72
+ matchesKeyboardShortcut
73
+ };
74
+ //# sourceMappingURL=keyboardShortcut.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/utils/keyboardShortcut.ts"],
4
+ "sourcesContent": ["import { detectKbdPlatform, type KbdPlatform } from \"../components/dataDisplay/kbd/kbdKeys\";\n\ntype ShortcutEvent = Pick<KeyboardEvent, \"key\" | \"code\" | \"ctrlKey\" | \"metaKey\" | \"altKey\" | \"shiftKey\">;\n\n// Modifier names (lower case) and the flag each one asks for. `mod` is resolved per platform.\nconst MODIFIERS: Record<string, \"mod\" | \"ctrl\" | \"alt\" | \"shift\" | \"meta\"> = {\n mod: \"mod\",\n ctrl: \"ctrl\",\n control: \"ctrl\",\n alt: \"alt\",\n option: \"alt\",\n shift: \"shift\",\n meta: \"meta\",\n cmd: \"meta\",\n command: \"meta\",\n};\n\n// Names (lower case) that stand for another `KeyboardEvent.key`.\nconst KEY_ALIASES: Record<string, string> = {\n esc: \"escape\",\n space: \" \",\n spacebar: \" \",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\",\n plus: \"+\",\n return: \"enter\",\n del: \"delete\",\n};\n\n/**\n * Whether a keyboard event is the shortcut `keys` (in `Kbd` key names, e.g. `[\"Mod\", \"K\"]`).\n * `Mod` is Meta on `mac` and Ctrl elsewhere. The modifiers must match exactly, so Mod+K does not\n * match Mod+Shift+K. The list needs exactly one key that is not a modifier. It is compared with\n * `event.key` ignoring case; a single ASCII letter or digit also matches `event.code`\n * (`KeyK`, `Digit1`), so a shortcut keeps working on a layout that types other letters.\n * `platform` is the running browser's by default.\n */\nexport function matchesKeyboardShortcut(\n event: ShortcutEvent,\n keys: string[],\n platform: KbdPlatform = detectKbdPlatform()\n): boolean {\n let ctrl = false;\n let alt = false;\n let shift = false;\n let meta = false;\n let main: string | null = null;\n for (const key of keys) {\n const lower = key.trim().toLowerCase() || key; // a lone \" \" is the space bar\n const modifier = MODIFIERS[lower];\n if (modifier === \"mod\") {\n if (platform === \"mac\") {\n meta = true;\n } else {\n ctrl = true;\n }\n } else if (modifier === \"ctrl\") {\n ctrl = true;\n } else if (modifier === \"alt\") {\n alt = true;\n } else if (modifier === \"shift\") {\n shift = true;\n } else if (modifier === \"meta\") {\n meta = true;\n } else if (main === null) {\n main = KEY_ALIASES[lower] ?? lower;\n } else {\n return false;\n }\n }\n if (main === null) {\n return false;\n }\n if (event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift || event.metaKey !== meta) {\n return false;\n }\n if ((event.key ?? \"\").toLowerCase() === main) {\n return true;\n }\n if (/^[a-z]$/.test(main)) {\n return event.code === `Key${main.toUpperCase()}`;\n }\n if (/^[0-9]$/.test(main)) {\n return event.code === `Digit${main}`;\n }\n return false;\n}\n"],
5
+ "mappings": "AAAA,SAAS,yBAA2C;AAKpD,MAAM,YAAuE;AAAA,EAC3E,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,SAAS;AACX;AAGA,MAAM,cAAsC;AAAA,EAC1C,KAAK;AAAA,EACL,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AACP;AAUO,SAAS,wBACd,OACA,MACA,WAAwB,kBAAkB,GACjC;AACT,MAAI,OAAO;AACX,MAAI,MAAM;AACV,MAAI,QAAQ;AACZ,MAAI,OAAO;AACX,MAAI,OAAsB;AAC1B,aAAW,OAAO,MAAM;AACtB,UAAM,QAAQ,IAAI,KAAK,EAAE,YAAY,KAAK;AAC1C,UAAM,WAAW,UAAU,KAAK;AAChC,QAAI,aAAa,OAAO;AACtB,UAAI,aAAa,OAAO;AACtB,eAAO;AAAA,MACT,OAAO;AACL,eAAO;AAAA,MACT;AAAA,IACF,WAAW,aAAa,QAAQ;AAC9B,aAAO;AAAA,IACT,WAAW,aAAa,OAAO;AAC7B,YAAM;AAAA,IACR,WAAW,aAAa,SAAS;AAC/B,cAAQ;AAAA,IACV,WAAW,aAAa,QAAQ;AAC9B,aAAO;AAAA,IACT,WAAW,SAAS,MAAM;AACxB,aAAO,YAAY,KAAK,KAAK;AAAA,IAC/B,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AACA,MAAI,MAAM,YAAY,QAAQ,MAAM,WAAW,OAAO,MAAM,aAAa,SAAS,MAAM,YAAY,MAAM;AACxG,WAAO;AAAA,EACT;AACA,OAAK,MAAM,OAAO,IAAI,YAAY,MAAM,MAAM;AAC5C,WAAO;AAAA,EACT;AACA,MAAI,UAAU,KAAK,IAAI,GAAG;AACxB,WAAO,MAAM,SAAS,MAAM,KAAK,YAAY,CAAC;AAAA,EAChD;AACA,MAAI,UAAU,KAAK,IAAI,GAAG;AACxB,WAAO,MAAM,SAAS,QAAQ,IAAI;AAAA,EACpC;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ const DEFAULT_LINK_TARGET = "_blank";
2
+ function resolveLinkTarget(target) {
3
+ if (target === void 0) return DEFAULT_LINK_TARGET;
4
+ return target === null || target === "" ? void 0 : target;
5
+ }
6
+ function resolveLinkRel(rel, target) {
7
+ if (rel !== void 0) return rel || void 0;
8
+ const elsewhere = target !== void 0 && target !== "_self" && target !== "_parent" && target !== "_top";
9
+ return elsewhere ? "noreferrer" : void 0;
10
+ }
11
+ export {
12
+ DEFAULT_LINK_TARGET,
13
+ resolveLinkRel,
14
+ resolveLinkTarget
15
+ };
16
+ //# sourceMappingURL=linkAttrs.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/utils/linkAttrs.ts"],
4
+ "sourcesContent": ["/** Where a link opens unless its `target` says otherwise. */\nexport const DEFAULT_LINK_TARGET = \"_blank\";\n\n/**\n * The `target` attribute for a link: `undefined` (not given) keeps `\"_blank\"`, `null` (or an\n * empty string) leaves the attribute out so the link opens in place, any other string is used as is.\n */\nexport function resolveLinkTarget(target: string | null | undefined): string | undefined {\n if (target === undefined) return DEFAULT_LINK_TARGET;\n return target === null || target === \"\" ? undefined : target;\n}\n\n/**\n * The `rel` attribute for a link: the caller's wins (an empty string drops it), `undefined` keeps the\n * default. The default is `\"noreferrer\"` for a link that opens another browsing context (a new tab or\n * a named window), which also implies `noopener`, and none for a link that opens in place.\n */\nexport function resolveLinkRel(rel: string | undefined, target: string | undefined): string | undefined {\n if (rel !== undefined) return rel || undefined;\n const elsewhere = target !== undefined && target !== \"_self\" && target !== \"_parent\" && target !== \"_top\";\n return elsewhere ? \"noreferrer\" : undefined;\n}\n"],
5
+ "mappings": "AACO,MAAM,sBAAsB;AAM5B,SAAS,kBAAkB,QAAuD;AACvF,MAAI,WAAW,OAAW,QAAO;AACjC,SAAO,WAAW,QAAQ,WAAW,KAAK,SAAY;AACxD;AAOO,SAAS,eAAe,KAAyB,QAAgD;AACtG,MAAI,QAAQ,OAAW,QAAO,OAAO;AACrC,QAAM,YAAY,WAAW,UAAa,WAAW,WAAW,WAAW,aAAa,WAAW;AACnG,SAAO,YAAY,eAAe;AACpC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,48 @@
1
+ import { detectKbdPlatform as m } from "../components/dataDisplay/kbd/kbdKeys.js";
2
+ const n = {
3
+ mod: "mod",
4
+ ctrl: "ctrl",
5
+ control: "ctrl",
6
+ alt: "alt",
7
+ option: "alt",
8
+ shift: "shift",
9
+ meta: "meta",
10
+ cmd: "meta",
11
+ command: "meta"
12
+ }, d = {
13
+ esc: "escape",
14
+ space: " ",
15
+ spacebar: " ",
16
+ up: "arrowup",
17
+ down: "arrowdown",
18
+ left: "arrowleft",
19
+ right: "arrowright",
20
+ plus: "+",
21
+ return: "enter",
22
+ del: "delete"
23
+ };
24
+ function h(t, c, u = m()) {
25
+ let l = !1, s = !1, f = !1, a = !1, e = null;
26
+ for (const i of c) {
27
+ const o = i.trim().toLowerCase() || i, r = n[o];
28
+ if (r === "mod")
29
+ u === "mac" ? a = !0 : l = !0;
30
+ else if (r === "ctrl")
31
+ l = !0;
32
+ else if (r === "alt")
33
+ s = !0;
34
+ else if (r === "shift")
35
+ f = !0;
36
+ else if (r === "meta")
37
+ a = !0;
38
+ else if (e === null)
39
+ e = d[o] ?? o;
40
+ else
41
+ return !1;
42
+ }
43
+ return e === null || t.ctrlKey !== l || t.altKey !== s || t.shiftKey !== f || t.metaKey !== a ? !1 : (t.key ?? "").toLowerCase() === e ? !0 : /^[a-z]$/.test(e) ? t.code === `Key${e.toUpperCase()}` : /^[0-9]$/.test(e) ? t.code === `Digit${e}` : !1;
44
+ }
45
+ export {
46
+ h as matchesKeyboardShortcut
47
+ };
48
+ //# sourceMappingURL=keyboardShortcut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboardShortcut.js","sources":["../../../src/utils/keyboardShortcut.ts"],"sourcesContent":["import { detectKbdPlatform, type KbdPlatform } from \"../components/dataDisplay/kbd/kbdKeys\";\n\ntype ShortcutEvent = Pick<KeyboardEvent, \"key\" | \"code\" | \"ctrlKey\" | \"metaKey\" | \"altKey\" | \"shiftKey\">;\n\n// Modifier names (lower case) and the flag each one asks for. `mod` is resolved per platform.\nconst MODIFIERS: Record<string, \"mod\" | \"ctrl\" | \"alt\" | \"shift\" | \"meta\"> = {\n mod: \"mod\",\n ctrl: \"ctrl\",\n control: \"ctrl\",\n alt: \"alt\",\n option: \"alt\",\n shift: \"shift\",\n meta: \"meta\",\n cmd: \"meta\",\n command: \"meta\",\n};\n\n// Names (lower case) that stand for another `KeyboardEvent.key`.\nconst KEY_ALIASES: Record<string, string> = {\n esc: \"escape\",\n space: \" \",\n spacebar: \" \",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\",\n plus: \"+\",\n return: \"enter\",\n del: \"delete\",\n};\n\n/**\n * Whether a keyboard event is the shortcut `keys` (in `Kbd` key names, e.g. `[\"Mod\", \"K\"]`).\n * `Mod` is Meta on `mac` and Ctrl elsewhere. The modifiers must match exactly, so Mod+K does not\n * match Mod+Shift+K. The list needs exactly one key that is not a modifier. It is compared with\n * `event.key` ignoring case; a single ASCII letter or digit also matches `event.code`\n * (`KeyK`, `Digit1`), so a shortcut keeps working on a layout that types other letters.\n * `platform` is the running browser's by default.\n */\nexport function matchesKeyboardShortcut(\n event: ShortcutEvent,\n keys: string[],\n platform: KbdPlatform = detectKbdPlatform()\n): boolean {\n let ctrl = false;\n let alt = false;\n let shift = false;\n let meta = false;\n let main: string | null = null;\n for (const key of keys) {\n const lower = key.trim().toLowerCase() || key; // a lone \" \" is the space bar\n const modifier = MODIFIERS[lower];\n if (modifier === \"mod\") {\n if (platform === \"mac\") {\n meta = true;\n } else {\n ctrl = true;\n }\n } else if (modifier === \"ctrl\") {\n ctrl = true;\n } else if (modifier === \"alt\") {\n alt = true;\n } else if (modifier === \"shift\") {\n shift = true;\n } else if (modifier === \"meta\") {\n meta = true;\n } else if (main === null) {\n main = KEY_ALIASES[lower] ?? lower;\n } else {\n return false;\n }\n }\n if (main === null) {\n return false;\n }\n if (event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift || event.metaKey !== meta) {\n return false;\n }\n if ((event.key ?? \"\").toLowerCase() === main) {\n return true;\n }\n if (/^[a-z]$/.test(main)) {\n return event.code === `Key${main.toUpperCase()}`;\n }\n if (/^[0-9]$/.test(main)) {\n return event.code === `Digit${main}`;\n }\n return false;\n}\n"],"names":["MODIFIERS","KEY_ALIASES","matchesKeyboardShortcut","event","keys","platform","detectKbdPlatform","ctrl","alt","shift","meta","main","key","lower","modifier"],"mappings":";AAKA,MAAMA,IAAuE;AAAA,EAC3E,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,SAAS;AACX,GAGMC,IAAsC;AAAA,EAC1C,KAAK;AAAA,EACL,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AACP;AAUO,SAASC,EACdC,GACAC,GACAC,IAAwBC,KACf;AACT,MAAIC,IAAO,IACPC,IAAM,IACNC,IAAQ,IACRC,IAAO,IACPC,IAAsB;AAC1B,aAAWC,KAAOR,GAAM;AACtB,UAAMS,IAAQD,EAAI,KAAA,EAAO,iBAAiBA,GACpCE,IAAWd,EAAUa,CAAK;AAChC,QAAIC,MAAa;AACf,MAAIT,MAAa,QACfK,IAAO,KAEPH,IAAO;AAAA,aAEAO,MAAa;AACtB,MAAAP,IAAO;AAAA,aACEO,MAAa;AACtB,MAAAN,IAAM;AAAA,aACGM,MAAa;AACtB,MAAAL,IAAQ;AAAA,aACCK,MAAa;AACtB,MAAAJ,IAAO;AAAA,aACEC,MAAS;AAClB,MAAAA,IAAOV,EAAYY,CAAK,KAAKA;AAAA;AAE7B,aAAO;AAAA,EAEX;AAIA,SAHIF,MAAS,QAGTR,EAAM,YAAYI,KAAQJ,EAAM,WAAWK,KAAOL,EAAM,aAAaM,KAASN,EAAM,YAAYO,IAC3F,MAEJP,EAAM,OAAO,IAAI,YAAA,MAAkBQ,IAC/B,KAEL,UAAU,KAAKA,CAAI,IACdR,EAAM,SAAS,MAAMQ,EAAK,aAAa,KAE5C,UAAU,KAAKA,CAAI,IACdR,EAAM,SAAS,QAAQQ,CAAI,KAE7B;AACT;"}
@@ -0,0 +1,13 @@
1
+ const o = "_blank";
2
+ function r(e) {
3
+ return e === void 0 ? o : e === null || e === "" ? void 0 : e;
4
+ }
5
+ function l(e, n) {
6
+ return e !== void 0 ? e || void 0 : n !== void 0 && n !== "_self" && n !== "_parent" && n !== "_top" ? "noreferrer" : void 0;
7
+ }
8
+ export {
9
+ o as DEFAULT_LINK_TARGET,
10
+ l as resolveLinkRel,
11
+ r as resolveLinkTarget
12
+ };
13
+ //# sourceMappingURL=linkAttrs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkAttrs.js","sources":["../../../src/utils/linkAttrs.ts"],"sourcesContent":["/** Where a link opens unless its `target` says otherwise. */\nexport const DEFAULT_LINK_TARGET = \"_blank\";\n\n/**\n * The `target` attribute for a link: `undefined` (not given) keeps `\"_blank\"`, `null` (or an\n * empty string) leaves the attribute out so the link opens in place, any other string is used as is.\n */\nexport function resolveLinkTarget(target: string | null | undefined): string | undefined {\n if (target === undefined) return DEFAULT_LINK_TARGET;\n return target === null || target === \"\" ? undefined : target;\n}\n\n/**\n * The `rel` attribute for a link: the caller's wins (an empty string drops it), `undefined` keeps the\n * default. The default is `\"noreferrer\"` for a link that opens another browsing context (a new tab or\n * a named window), which also implies `noopener`, and none for a link that opens in place.\n */\nexport function resolveLinkRel(rel: string | undefined, target: string | undefined): string | undefined {\n if (rel !== undefined) return rel || undefined;\n const elsewhere = target !== undefined && target !== \"_self\" && target !== \"_parent\" && target !== \"_top\";\n return elsewhere ? \"noreferrer\" : undefined;\n}\n"],"names":["DEFAULT_LINK_TARGET","resolveLinkTarget","target","resolveLinkRel","rel"],"mappings":"AACO,MAAMA,IAAsB;AAM5B,SAASC,EAAkBC,GAAuD;AACvF,SAAIA,MAAW,SAAkBF,IAC1BE,MAAW,QAAQA,MAAW,KAAK,SAAYA;AACxD;AAOO,SAASC,EAAeC,GAAyBF,GAAgD;AACtG,SAAIE,MAAQ,SAAkBA,KAAO,SACnBF,MAAW,UAAaA,MAAW,WAAWA,MAAW,aAAaA,MAAW,SAChF,eAAe;AACpC;"}
package/dist/index.d.ts CHANGED
@@ -23,8 +23,11 @@ export { createRovingTabIndex } from "./primitives/createRovingTabIndex";
23
23
  export type { CreateRovingTabIndexOptions } from "./primitives/createRovingTabIndex";
24
24
  export { createHoverPopover } from "./primitives/createHoverPopover";
25
25
  export type { CreateHoverPopoverOptions, HoverPopoverState, HoverPopoverPoint, HoverPopoverReferenceProps, HoverPopoverFloatingProps, } from "./primitives/createHoverPopover";
26
+ export { createKeyboardShortcut } from "./primitives/createKeyboardShortcut";
27
+ export type { CreateKeyboardShortcutOptions } from "./primitives/createKeyboardShortcut";
26
28
  export { resolvePlacement, buildFloatingMiddleware, placements } from "./utils/floating";
27
29
  export type { Placement, ResolvedPlacement } from "./utils/floating";
30
+ export { matchesKeyboardShortcut } from "./utils/keyboardShortcut";
28
31
  export { Icon, IconProvider, IconContext, useIconSource, createIconVersion } from "./components/base/icon";
29
32
  export type { IconProps, IconColor, IconProviderProps, IconContextValue } from "./components/base/icon";
30
33
  export { registerIcons, unregisterIcons, clearIcons, getIcon, hasIcon, listIcons, normalizeIconName, } from "./icons/registry";
@@ -53,6 +56,14 @@ export { ChipGroup } from "./components/dataDisplay/chipGroup";
53
56
  export type { ChipGroupProps, ChipGroupOption } from "./components/dataDisplay/chipGroup";
54
57
  export { Meter, meterColor, DEFAULT_METER_THRESHOLDS } from "./components/dataDisplay/meter";
55
58
  export type { MeterProps, MeterColor, MeterThreshold } from "./components/dataDisplay/meter";
59
+ export { Kbd, detectKbdPlatform, kbdKeyLabel } from "./components/dataDisplay/kbd";
60
+ export type { KbdProps, KbdPlatform, KbdKeyLabel } from "./components/dataDisplay/kbd";
61
+ export { DiffStat, diffStatCells, diffStatCount, groupDiffStatCount, DEFAULT_DIFF_STAT_FORMAT, DIFF_STAT_CELLS } from "./components/dataDisplay/diffStat";
62
+ export type { DiffStatProps, DiffStatCell, DiffStatFormat } from "./components/dataDisplay/diffStat";
63
+ export { StatusDot } from "./components/dataDisplay/statusDot";
64
+ export type { StatusDotProps, StatusDotStatus, StatusDotColor, StatusDotSize, } from "./components/dataDisplay/statusDot";
65
+ export { QrCode } from "./components/dataDisplay/qrCode";
66
+ export type { QrCodeProps, QrCodeErrorCorrection } from "./components/dataDisplay/qrCode";
56
67
  export { ThumbCard } from "./components/dataDisplay/thumbCard";
57
68
  export type { ThumbCardProps } from "./components/dataDisplay/thumbCard";
58
69
  export { AssetGrid } from "./components/dataDisplay/assetGrid";
@@ -83,8 +94,10 @@ export { Kanban, KanbanColumn, KanbanCard } from "./components/dataDisplay/kanba
83
94
  export type { KanbanProps, KanbanColumnProps, KanbanCardProps } from "./components/dataDisplay/kanban";
84
95
  export { DagView, dagLayout } from "./components/dataDisplay/dagView";
85
96
  export type { DagViewProps, DagViewNode, DagViewEdge, DagViewStatus, DagViewViewport, DagViewApi, DagViewNodeState, DagViewLabels, DagLayoutInput, DagLayoutResult, } from "./components/dataDisplay/dagView";
97
+ export { Swimlanes, SWIMLANES_DEFAULT_ROW_HEIGHT, SWIMLANES_DEFAULT_HEIGHT, SWIMLANES_DEFAULT_OVERSCAN, } from "./components/dataDisplay/swimlanes";
98
+ export type { SwimlanesProps, SwimlanesLane } from "./components/dataDisplay/swimlanes";
86
99
  export { Chat, ChatLayout, ChatOverlayLayout, ChatShell, ChatHeader, ChatMessages, ChatMessageItem, ChatMessageIncoming, ChatMessageOutgoing, ChatMessageSystem, ChatMessageBubble, ChatMessageSkeleton, ChatMessageStatus, ChatMessageAvatar, ChatAttachments, ChatAttachmentImage, ChatIconButton, ChatComposer, createChatInfiniteScroll, createChatFileUpload, resolveChatFileUploadMaxFiles, createChatStickToBottom, isScrolledToBottom, scrollChatToBottom, CHAT_EXPAND_LAYOUTS, CHAT_DEFAULT_FILE_UPLOAD_MAX_FILES, CHAT_MESSAGE_DELIVERY_STATUSES, CHAT_MESSAGE_STATUS_ICONS, CHAT_MESSAGE_STATUS_LABELS, isImageAttachment, formatChatTimestamp, resolveAllowedLayouts, isChatMessageDeliveryStatus, resolveChatMessageStatusIcon, resolveChatMessageStatusLabel, shouldComposerNewlineOnEnter, getChatLayoutActions, shouldShowChatCloseButton, } from "./components/dataDisplay/chat";
87
- export type { ChatProps, ChatLayoutProps, ChatLayoutChatProps, ChatOverlayLayoutProps, ChatOverlayLayoutChatProps, ChatShellProps, ChatHeaderProps, ChatMessagesProps, ChatMessageItemProps, ChatMessageIncomingProps, ChatMessageOutgoingProps, ChatMessageSystemProps, ChatMessageBubbleProps, ChatMessageSkeletonProps, ChatMessageStatusProps, ChatMessageAvatarProps, ChatAttachmentsProps, ChatAttachmentImageProps, ChatIconButtonProps, ChatComposerProps, CreateChatInfiniteScrollParams, CreateChatFileUploadOptions, ChatFileUploadState, CreateChatStickToBottomParams, ChatMessage, ChatAttachment, ChatAuthor, ChatMessageVariant, ChatLayoutMode, ChatAnchor, ChatThemeMode, ChatMessageRenderContext, ChatLayoutSide, ChatMessageDeliveryStatus, ChatMessageStatusValue, ChatMessageStatusIcons, ChatMessageStatusRenderContext, ChatComposerNewlineOptions, } from "./components/dataDisplay/chat";
100
+ export type { ChatProps, ChatFooterComposerProps, ChatLayoutProps, ChatLayoutChatProps, ChatOverlayLayoutProps, ChatOverlayLayoutChatProps, ChatShellProps, ChatHeaderProps, ChatMessagesProps, ChatMessageItemProps, ChatMessageIncomingProps, ChatMessageOutgoingProps, ChatMessageSystemProps, ChatMessageBubbleProps, ChatMessageSkeletonProps, ChatMessageStatusProps, ChatMessageAvatarProps, ChatAttachmentsProps, ChatAttachmentImageProps, ChatIconButtonProps, ChatComposerProps, CreateChatInfiniteScrollParams, CreateChatFileUploadOptions, ChatFileUploadState, CreateChatStickToBottomParams, ChatMessage, ChatAttachment, ChatAuthor, ChatMessageVariant, ChatLayoutMode, ChatAnchor, ChatThemeMode, ChatMessageRenderContext, ChatLayoutSide, ChatMessageDeliveryStatus, ChatMessageStatusValue, ChatMessageStatusIcons, ChatMessageStatusRenderContext, ChatComposerNewlineOptions, } from "./components/dataDisplay/chat";
88
101
  export { Skeleton } from "./components/feedBack/skeleton";
89
102
  export type { SkeletonProps } from "./components/feedBack/skeleton";
90
103
  export { Message, MessageContainer } from "./components/feedBack/message";
@@ -125,18 +138,24 @@ export { Sheet } from "./components/layout/sheet";
125
138
  export type { SheetProps } from "./components/layout/sheet";
126
139
  export { FloatingWindow } from "./components/layout/floatingWindow";
127
140
  export type { FloatingWindowProps, FloatingWindowPosition, FloatingWindowSize, FloatingWindowResizeDir, } from "./components/layout/floatingWindow";
141
+ export { TabGroups, tabGroupsLayout } from "./components/layout/tabGroups";
142
+ export type { TabGroupsProps, TabGroupsTab, TabGroupsLabels, TabGroupsLayout, TabGroupsNode, TabGroupsGroup, TabGroupsSplit, TabGroupsChange, TabGroupsEdge, TabGroupsDropZone, TabGroupsMoveTarget, } from "./components/layout/tabGroups";
128
143
  export { AppBar } from "./components/navigation/appBar";
129
144
  export type { AppBarProps, AppBarColor } from "./components/navigation/appBar";
130
145
  export { Breadcrumbs } from "./components/navigation/breadcrumbs";
131
146
  export type { BreadcrumbsProps } from "./components/navigation/breadcrumbs";
147
+ export { CommandPalette } from "./components/navigation/commandPalette";
148
+ export { commandPaletteFilter, normalizeSearchText } from "./components/navigation/commandPalette";
149
+ export type { CommandPaletteProps } from "./components/navigation/commandPalette";
150
+ export type { CommandPaletteFilter, CommandPaletteGroup, CommandPaletteItem, CommandPaletteSource, } from "./components/navigation/commandPalette";
132
151
  export { Pagination } from "./components/navigation/pagination";
133
152
  export type { PaginationProps, PaginationColor } from "./components/navigation/pagination";
134
153
  export { Stepper } from "./components/navigation/stepper";
135
154
  export type { StepperProps, StepItem } from "./components/navigation/stepper";
136
155
  export { Sidebar } from "./components/navigation/sidebar";
137
156
  export type { SidebarProps, SidebarMenuItemProps, SidebarVariant } from "./components/navigation/sidebar";
138
- export { Tabs, Tab, TabsContext, useTabsContext } from "./components/navigation/tabs";
139
- export type { TabsProps, TabProps, TabsContextValue } from "./components/navigation/tabs";
157
+ export { Tabs, Tab, TabPanel, TabsContext, useTabsContext } from "./components/navigation/tabs";
158
+ export type { TabsProps, TabProps, TabActionsApi, TabCloseReason, TabPanelProps, TabsContextValue, } from "./components/navigation/tabs";
140
159
  export { BottomBar } from "./components/navigation/bottomBar";
141
160
  export type { BottomBarProps, BottomBarMenuItemProps } from "./components/navigation/bottomBar";
142
161
  export { Menu, MenuFloating, MenuList, MenuItem, MenuItemIcon, MenuItemText, MenuDivider, MenuSubmenu, MenuContext, useMenuContext, buildMenuFloatingMiddleware, } from "./components/navigation/menu";
@@ -149,6 +168,8 @@ export { ButtonGroup } from "./components/inputs/buttonGroups";
149
168
  export type { ButtonGroupProps } from "./components/inputs/buttonGroups";
150
169
  export { Checkbox } from "./components/inputs/checkbox";
151
170
  export type { CheckboxProps, SelectionControlSize, SelectionControlColor, SelectionChangeEvent, } from "./components/inputs/checkbox";
171
+ export { Composer } from "./components/inputs/composer";
172
+ export type { ComposerProps, ComposerSendKey, ComposerLayout } from "./components/inputs/composer";
152
173
  export { RadioButton } from "./components/inputs/radioButton";
153
174
  export type { RadioButtonProps } from "./components/inputs/radioButton";
154
175
  export { Toggle } from "./components/inputs/toggle";