@cascivo/react 1.0.0 → 1.2.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 (646) hide show
  1. package/README.md +5 -4
  2. package/dist/accordion/accordion.js +1 -114
  3. package/dist/accordion/accordion.module.js +1 -10
  4. package/dist/action-sheet/action-sheet.css +1 -1
  5. package/dist/action-sheet/action-sheet.js +1 -91
  6. package/dist/action-sheet/action-sheet.module.js +1 -12
  7. package/dist/alert/alert.js +1 -55
  8. package/dist/alert/alert.module.js +1 -11
  9. package/dist/alert-dialog/alert-dialog.css +1 -1
  10. package/dist/alert-dialog/alert-dialog.js +1 -66
  11. package/dist/alert-dialog/alert-dialog.module.js +1 -11
  12. package/dist/app-shell/app-shell.css +1 -1
  13. package/dist/app-shell/app-shell.js +1 -85
  14. package/dist/app-shell/app-shell.module.js +1 -12
  15. package/dist/aspect-ratio/aspect-ratio.js +1 -20
  16. package/dist/aspect-ratio/aspect-ratio.module.js +1 -6
  17. package/dist/avatar/avatar.js +1 -57
  18. package/dist/avatar/avatar.module.js +1 -8
  19. package/dist/avatar-group/avatar-group.js +1 -24
  20. package/dist/avatar-group/avatar-group.module.js +1 -6
  21. package/dist/badge/badge.js +1 -22
  22. package/dist/badge/badge.module.js +1 -3
  23. package/dist/blockquote/blockquote.js +1 -16
  24. package/dist/blockquote/blockquote.module.js +1 -6
  25. package/dist/bottom-sheet/bottom-sheet.js +1 -111
  26. package/dist/bottom-sheet/bottom-sheet.module.js +1 -14
  27. package/dist/brand/logo/logo.css +1 -0
  28. package/dist/brand/logo/logo.js +1 -0
  29. package/dist/brand/logo/logo.module.js +2 -0
  30. package/dist/breadcrumb/breadcrumb.js +1 -28
  31. package/dist/breadcrumb/breadcrumb.module.js +1 -3
  32. package/dist/button/button.css +1 -1
  33. package/dist/button/button.js +1 -35
  34. package/dist/button/button.module.js +1 -6
  35. package/dist/button-group/button-group.js +1 -39
  36. package/dist/button-group/button-group.module.js +1 -3
  37. package/dist/calendar/calendar-date.js +1 -0
  38. package/dist/calendar/calendar.css +1 -1
  39. package/dist/calendar/calendar.js +1 -199
  40. package/dist/calendar/calendar.module.js +1 -14
  41. package/dist/card/card.js +1 -53
  42. package/dist/card/card.module.js +1 -12
  43. package/dist/carousel/carousel.css +1 -1
  44. package/dist/carousel/carousel.js +1 -138
  45. package/dist/carousel/carousel.module.js +1 -13
  46. package/dist/chat-bubble/chat-bubble.js +1 -31
  47. package/dist/chat-bubble/chat-bubble.module.js +1 -11
  48. package/dist/checkbox/checkbox.js +1 -39
  49. package/dist/checkbox/checkbox.module.js +1 -8
  50. package/dist/checkbox-card/checkbox-card.css +1 -1
  51. package/dist/checkbox-card/checkbox-card.js +1 -50
  52. package/dist/checkbox-card/checkbox-card.module.js +1 -11
  53. package/dist/code/code.js +1 -14
  54. package/dist/code/code.module.js +1 -3
  55. package/dist/code-snippet/code-snippet.js +2 -121
  56. package/dist/code-snippet/code-snippet.module.js +1 -17
  57. package/dist/code-snippet/highlight.js +1 -67
  58. package/dist/collapsible/collapsible.js +1 -47
  59. package/dist/collapsible/collapsible.module.js +1 -7
  60. package/dist/color-picker/color-picker.css +1 -1
  61. package/dist/color-picker/color-picker.js +1 -272
  62. package/dist/color-picker/color-picker.module.js +1 -18
  63. package/dist/color-picker/color.js +1 -0
  64. package/dist/combobox/combobox.css +1 -1
  65. package/dist/combobox/combobox.js +1 -170
  66. package/dist/combobox/combobox.module.js +1 -19
  67. package/dist/combobox/list-nav.js +1 -0
  68. package/dist/combobox/option-list.js +1 -0
  69. package/dist/command-menu/command-menu.js +1 -421
  70. package/dist/command-menu/command-menu.module.js +1 -34
  71. package/dist/comparison/comparison.js +1 -69
  72. package/dist/comparison/comparison.module.js +1 -9
  73. package/dist/contained-list/contained-list.js +1 -41
  74. package/dist/contained-list/contained-list.module.js +1 -11
  75. package/dist/context-menu/context-menu.js +1 -93
  76. package/dist/context-menu/context-menu.module.js +1 -7
  77. package/dist/copy-button/copy-button.js +1 -60
  78. package/dist/copy-button/copy-button.module.js +1 -6
  79. package/dist/data-list/data-list.js +1 -25
  80. package/dist/data-list/data-list.module.js +1 -8
  81. package/dist/data-table/column-filter.js +1 -0
  82. package/dist/data-table/column-layout.js +1 -0
  83. package/dist/data-table/data-table.css +1 -1
  84. package/dist/data-table/data-table.js +1 -398
  85. package/dist/data-table/data-table.module.js +1 -33
  86. package/dist/data-table/grid-keys.js +1 -0
  87. package/dist/data-table/row-group.js +1 -0
  88. package/dist/data-table/row-search.js +1 -0
  89. package/dist/data-table/row-sort.js +1 -0
  90. package/dist/data-table/to-csv.js +3 -0
  91. package/dist/data-table/virtual-window.js +1 -0
  92. package/dist/date-picker/date-picker.css +1 -1
  93. package/dist/date-picker/date-picker.js +1 -224
  94. package/dist/date-picker/date-picker.module.js +1 -23
  95. package/dist/date-picker/parse-date.js +1 -0
  96. package/dist/date-range-picker/date-range-picker.js +1 -196
  97. package/dist/date-range-picker/date-range-picker.module.js +1 -18
  98. package/dist/dock/dock.css +1 -1
  99. package/dist/dock/dock.js +1 -34
  100. package/dist/dock/dock.module.js +1 -8
  101. package/dist/drawer/drawer.js +1 -96
  102. package/dist/drawer/drawer.module.js +1 -13
  103. package/dist/dropdown/dropdown.css +1 -1
  104. package/dist/dropdown/dropdown.js +1 -110
  105. package/dist/dropdown/dropdown.module.js +1 -9
  106. package/dist/editable/editable.js +1 -76
  107. package/dist/editable/editable.module.js +1 -11
  108. package/dist/empty-state/empty-state.js +1 -32
  109. package/dist/empty-state/empty-state.module.js +1 -9
  110. package/dist/fab/fab.css +1 -1
  111. package/dist/fab/fab.js +1 -93
  112. package/dist/fab/fab.module.js +1 -12
  113. package/dist/field/field.css +1 -1
  114. package/dist/field/field.js +1 -53
  115. package/dist/field/field.module.js +1 -7
  116. package/dist/file-uploader/file-uploader.css +1 -1
  117. package/dist/file-uploader/file-uploader.js +1 -123
  118. package/dist/file-uploader/file-uploader.module.js +1 -18
  119. package/dist/filter/filter.css +1 -1
  120. package/dist/filter/filter.js +1 -35
  121. package/dist/filter/filter.module.js +1 -6
  122. package/dist/form/form.js +1 -95
  123. package/dist/form/form.module.js +1 -3
  124. package/dist/header/header.js +1 -44
  125. package/dist/header/header.module.js +1 -11
  126. package/dist/header-panel/header-panel.js +1 -72
  127. package/dist/header-panel/header-panel.module.js +1 -9
  128. package/dist/heading/heading.css +1 -1
  129. package/dist/heading/heading.js +1 -22
  130. package/dist/heading/heading.module.js +1 -3
  131. package/dist/hover-card/hover-card.css +1 -1
  132. package/dist/hover-card/hover-card.js +1 -84
  133. package/dist/hover-card/hover-card.module.js +1 -6
  134. package/dist/icon-button/icon-button.js +1 -19
  135. package/dist/icon-button/icon-button.module.js +1 -3
  136. package/dist/image/image.css +1 -1
  137. package/dist/image/image.js +1 -64
  138. package/dist/image/image.module.js +1 -9
  139. package/dist/index.d.ts +1521 -38
  140. package/dist/indicator/indicator.js +1 -16
  141. package/dist/indicator/indicator.module.js +1 -6
  142. package/dist/infinite-scroll/infinite-scroll.js +1 -49
  143. package/dist/infinite-scroll/infinite-scroll.module.js +1 -7
  144. package/dist/inline-loading/inline-loading.js +1 -74
  145. package/dist/inline-loading/inline-loading.module.js +1 -9
  146. package/dist/input/input.css +1 -1
  147. package/dist/input/input.js +1 -56
  148. package/dist/input/input.module.js +1 -9
  149. package/dist/input-group/input-group.css +1 -1
  150. package/dist/input-group/input-group.js +1 -39
  151. package/dist/input-group/input-group.module.js +1 -9
  152. package/dist/item/item.js +1 -50
  153. package/dist/item/item.module.js +1 -10
  154. package/dist/join/join.js +1 -12
  155. package/dist/join/join.module.js +1 -3
  156. package/dist/kbd/kbd.js +1 -14
  157. package/dist/kbd/kbd.module.js +1 -3
  158. package/dist/label/label.js +1 -23
  159. package/dist/label/label.module.js +1 -7
  160. package/dist/large-title-header/large-title-header.js +1 -38
  161. package/dist/large-title-header/large-title-header.module.js +1 -12
  162. package/dist/layouts/src/auto-grid/auto-grid.js +1 -17
  163. package/dist/layouts/src/auto-grid/auto-grid.module.js +1 -4
  164. package/dist/layouts/src/center/center.js +1 -16
  165. package/dist/layouts/src/center/center.module.js +1 -3
  166. package/dist/layouts/src/columns/columns.js +1 -21
  167. package/dist/layouts/src/columns/columns.module.js +1 -6
  168. package/dist/layouts/src/flex/flex.css +1 -1
  169. package/dist/layouts/src/flex/flex.js +1 -20
  170. package/dist/layouts/src/flex/flex.module.js +1 -3
  171. package/dist/layouts/src/grid/grid.css +1 -1
  172. package/dist/layouts/src/grid/grid.js +1 -55
  173. package/dist/layouts/src/grid/grid.module.js +1 -7
  174. package/dist/layouts/src/page-header/page-header.js +1 -31
  175. package/dist/layouts/src/page-header/page-header.module.js +1 -10
  176. package/dist/layouts/src/spacer/spacer.js +1 -17
  177. package/dist/layouts/src/spacer/spacer.module.js +1 -3
  178. package/dist/link/link.css +1 -1
  179. package/dist/link/link.js +1 -22
  180. package/dist/link/link.module.js +1 -3
  181. package/dist/list/list.js +1 -21
  182. package/dist/list/list.module.js +1 -6
  183. package/dist/log-viewer/log-viewer.css +1 -1
  184. package/dist/log-viewer/log-viewer.js +2 -184
  185. package/dist/log-viewer/log-viewer.module.js +1 -16
  186. package/dist/menu/menu.js +1 -126
  187. package/dist/menu/menu.module.js +1 -8
  188. package/dist/menu-button/menu-button.js +1 -92
  189. package/dist/menu-button/menu-button.module.js +1 -8
  190. package/dist/menubar/menubar.js +1 -103
  191. package/dist/menubar/menubar.module.js +1 -8
  192. package/dist/modal/modal.css +1 -1
  193. package/dist/modal/modal.js +1 -76
  194. package/dist/modal/modal.module.js +1 -12
  195. package/dist/multi-select/list-nav.js +1 -0
  196. package/dist/multi-select/multi-select.css +1 -1
  197. package/dist/multi-select/multi-select.js +1 -106
  198. package/dist/multi-select/multi-select.module.js +1 -15
  199. package/dist/multi-select/option-list.js +1 -0
  200. package/dist/native-select/native-select.css +1 -1
  201. package/dist/native-select/native-select.js +1 -37
  202. package/dist/native-select/native-select.module.js +1 -7
  203. package/dist/navigation-menu/navigation-menu.js +1 -99
  204. package/dist/navigation-menu/navigation-menu.module.js +1 -10
  205. package/dist/node/accordion/accordion.js +1 -114
  206. package/dist/node/accordion/accordion.module.js +1 -10
  207. package/dist/node/action-sheet/action-sheet.js +1 -91
  208. package/dist/node/action-sheet/action-sheet.module.js +1 -12
  209. package/dist/node/alert/alert.js +1 -55
  210. package/dist/node/alert/alert.module.js +1 -11
  211. package/dist/node/alert-dialog/alert-dialog.js +1 -66
  212. package/dist/node/alert-dialog/alert-dialog.module.js +1 -11
  213. package/dist/node/app-shell/app-shell.js +1 -85
  214. package/dist/node/app-shell/app-shell.module.js +1 -12
  215. package/dist/node/aspect-ratio/aspect-ratio.js +1 -20
  216. package/dist/node/aspect-ratio/aspect-ratio.module.js +1 -6
  217. package/dist/node/avatar/avatar.js +1 -57
  218. package/dist/node/avatar/avatar.module.js +1 -8
  219. package/dist/node/avatar-group/avatar-group.js +1 -24
  220. package/dist/node/avatar-group/avatar-group.module.js +1 -6
  221. package/dist/node/badge/badge.js +1 -22
  222. package/dist/node/badge/badge.module.js +1 -3
  223. package/dist/node/blockquote/blockquote.js +1 -16
  224. package/dist/node/blockquote/blockquote.module.js +1 -6
  225. package/dist/node/bottom-sheet/bottom-sheet.js +1 -111
  226. package/dist/node/bottom-sheet/bottom-sheet.module.js +1 -14
  227. package/dist/node/brand/logo/logo.js +1 -0
  228. package/dist/node/brand/logo/logo.module.js +1 -0
  229. package/dist/node/breadcrumb/breadcrumb.js +1 -28
  230. package/dist/node/breadcrumb/breadcrumb.module.js +1 -3
  231. package/dist/node/button/button.js +1 -35
  232. package/dist/node/button/button.module.js +1 -6
  233. package/dist/node/button-group/button-group.js +1 -39
  234. package/dist/node/button-group/button-group.module.js +1 -3
  235. package/dist/node/calendar/calendar-date.js +1 -0
  236. package/dist/node/calendar/calendar.js +1 -199
  237. package/dist/node/calendar/calendar.module.js +1 -14
  238. package/dist/node/card/card.js +1 -53
  239. package/dist/node/card/card.module.js +1 -12
  240. package/dist/node/carousel/carousel.js +1 -138
  241. package/dist/node/carousel/carousel.module.js +1 -13
  242. package/dist/node/chat-bubble/chat-bubble.js +1 -31
  243. package/dist/node/chat-bubble/chat-bubble.module.js +1 -11
  244. package/dist/node/checkbox/checkbox.js +1 -39
  245. package/dist/node/checkbox/checkbox.module.js +1 -8
  246. package/dist/node/checkbox-card/checkbox-card.js +1 -50
  247. package/dist/node/checkbox-card/checkbox-card.module.js +1 -11
  248. package/dist/node/code/code.js +1 -14
  249. package/dist/node/code/code.module.js +1 -3
  250. package/dist/node/code-snippet/code-snippet.js +2 -121
  251. package/dist/node/code-snippet/code-snippet.module.js +1 -17
  252. package/dist/node/code-snippet/highlight.js +1 -67
  253. package/dist/node/collapsible/collapsible.js +1 -47
  254. package/dist/node/collapsible/collapsible.module.js +1 -7
  255. package/dist/node/color-picker/color-picker.js +1 -272
  256. package/dist/node/color-picker/color-picker.module.js +1 -18
  257. package/dist/node/color-picker/color.js +1 -0
  258. package/dist/node/combobox/combobox.js +1 -170
  259. package/dist/node/combobox/combobox.module.js +1 -19
  260. package/dist/node/combobox/list-nav.js +1 -0
  261. package/dist/node/combobox/option-list.js +1 -0
  262. package/dist/node/command-menu/command-menu.js +1 -421
  263. package/dist/node/command-menu/command-menu.module.js +1 -34
  264. package/dist/node/comparison/comparison.js +1 -69
  265. package/dist/node/comparison/comparison.module.js +1 -9
  266. package/dist/node/contained-list/contained-list.js +1 -41
  267. package/dist/node/contained-list/contained-list.module.js +1 -11
  268. package/dist/node/context-menu/context-menu.js +1 -93
  269. package/dist/node/context-menu/context-menu.module.js +1 -7
  270. package/dist/node/copy-button/copy-button.js +1 -60
  271. package/dist/node/copy-button/copy-button.module.js +1 -6
  272. package/dist/node/data-list/data-list.js +1 -25
  273. package/dist/node/data-list/data-list.module.js +1 -8
  274. package/dist/node/data-table/column-filter.js +1 -0
  275. package/dist/node/data-table/column-layout.js +1 -0
  276. package/dist/node/data-table/data-table.js +1 -398
  277. package/dist/node/data-table/data-table.module.js +1 -33
  278. package/dist/node/data-table/grid-keys.js +1 -0
  279. package/dist/node/data-table/row-group.js +1 -0
  280. package/dist/node/data-table/row-search.js +1 -0
  281. package/dist/node/data-table/row-sort.js +1 -0
  282. package/dist/node/data-table/to-csv.js +3 -0
  283. package/dist/node/data-table/virtual-window.js +1 -0
  284. package/dist/node/date-picker/date-picker.js +1 -224
  285. package/dist/node/date-picker/date-picker.module.js +1 -23
  286. package/dist/node/date-picker/parse-date.js +1 -0
  287. package/dist/node/date-range-picker/date-range-picker.js +1 -196
  288. package/dist/node/date-range-picker/date-range-picker.module.js +1 -18
  289. package/dist/node/dock/dock.js +1 -34
  290. package/dist/node/dock/dock.module.js +1 -8
  291. package/dist/node/drawer/drawer.js +1 -96
  292. package/dist/node/drawer/drawer.module.js +1 -13
  293. package/dist/node/dropdown/dropdown.js +1 -110
  294. package/dist/node/dropdown/dropdown.module.js +1 -9
  295. package/dist/node/editable/editable.js +1 -76
  296. package/dist/node/editable/editable.module.js +1 -11
  297. package/dist/node/empty-state/empty-state.js +1 -32
  298. package/dist/node/empty-state/empty-state.module.js +1 -9
  299. package/dist/node/fab/fab.js +1 -93
  300. package/dist/node/fab/fab.module.js +1 -12
  301. package/dist/node/field/field.js +1 -53
  302. package/dist/node/field/field.module.js +1 -7
  303. package/dist/node/file-uploader/file-uploader.js +1 -123
  304. package/dist/node/file-uploader/file-uploader.module.js +1 -18
  305. package/dist/node/filter/filter.js +1 -35
  306. package/dist/node/filter/filter.module.js +1 -6
  307. package/dist/node/form/form.js +1 -95
  308. package/dist/node/form/form.module.js +1 -3
  309. package/dist/node/header/header.js +1 -44
  310. package/dist/node/header/header.module.js +1 -11
  311. package/dist/node/header-panel/header-panel.js +1 -72
  312. package/dist/node/header-panel/header-panel.module.js +1 -9
  313. package/dist/node/heading/heading.js +1 -22
  314. package/dist/node/heading/heading.module.js +1 -3
  315. package/dist/node/hover-card/hover-card.js +1 -84
  316. package/dist/node/hover-card/hover-card.module.js +1 -6
  317. package/dist/node/icon-button/icon-button.js +1 -19
  318. package/dist/node/icon-button/icon-button.module.js +1 -3
  319. package/dist/node/image/image.js +1 -64
  320. package/dist/node/image/image.module.js +1 -9
  321. package/dist/node/indicator/indicator.js +1 -16
  322. package/dist/node/indicator/indicator.module.js +1 -6
  323. package/dist/node/infinite-scroll/infinite-scroll.js +1 -49
  324. package/dist/node/infinite-scroll/infinite-scroll.module.js +1 -7
  325. package/dist/node/inline-loading/inline-loading.js +1 -74
  326. package/dist/node/inline-loading/inline-loading.module.js +1 -9
  327. package/dist/node/input/input.js +1 -56
  328. package/dist/node/input/input.module.js +1 -9
  329. package/dist/node/input-group/input-group.js +1 -39
  330. package/dist/node/input-group/input-group.module.js +1 -9
  331. package/dist/node/item/item.js +1 -50
  332. package/dist/node/item/item.module.js +1 -10
  333. package/dist/node/join/join.js +1 -12
  334. package/dist/node/join/join.module.js +1 -3
  335. package/dist/node/kbd/kbd.js +1 -14
  336. package/dist/node/kbd/kbd.module.js +1 -3
  337. package/dist/node/label/label.js +1 -23
  338. package/dist/node/label/label.module.js +1 -7
  339. package/dist/node/large-title-header/large-title-header.js +1 -38
  340. package/dist/node/large-title-header/large-title-header.module.js +1 -12
  341. package/dist/node/layouts/src/auto-grid/auto-grid.js +1 -17
  342. package/dist/node/layouts/src/auto-grid/auto-grid.module.js +1 -4
  343. package/dist/node/layouts/src/center/center.js +1 -16
  344. package/dist/node/layouts/src/center/center.module.js +1 -3
  345. package/dist/node/layouts/src/columns/columns.js +1 -21
  346. package/dist/node/layouts/src/columns/columns.module.js +1 -6
  347. package/dist/node/layouts/src/flex/flex.js +1 -20
  348. package/dist/node/layouts/src/flex/flex.module.js +1 -3
  349. package/dist/node/layouts/src/grid/grid.js +1 -55
  350. package/dist/node/layouts/src/grid/grid.module.js +1 -7
  351. package/dist/node/layouts/src/page-header/page-header.js +1 -31
  352. package/dist/node/layouts/src/page-header/page-header.module.js +1 -10
  353. package/dist/node/layouts/src/spacer/spacer.js +1 -17
  354. package/dist/node/layouts/src/spacer/spacer.module.js +1 -3
  355. package/dist/node/link/link.js +1 -22
  356. package/dist/node/link/link.module.js +1 -3
  357. package/dist/node/list/list.js +1 -21
  358. package/dist/node/list/list.module.js +1 -6
  359. package/dist/node/log-viewer/log-viewer.js +2 -184
  360. package/dist/node/log-viewer/log-viewer.module.js +1 -16
  361. package/dist/node/menu/menu.js +1 -126
  362. package/dist/node/menu/menu.module.js +1 -8
  363. package/dist/node/menu-button/menu-button.js +1 -92
  364. package/dist/node/menu-button/menu-button.module.js +1 -8
  365. package/dist/node/menubar/menubar.js +1 -103
  366. package/dist/node/menubar/menubar.module.js +1 -8
  367. package/dist/node/modal/modal.js +1 -76
  368. package/dist/node/modal/modal.module.js +1 -12
  369. package/dist/node/multi-select/list-nav.js +1 -0
  370. package/dist/node/multi-select/multi-select.js +1 -106
  371. package/dist/node/multi-select/multi-select.module.js +1 -15
  372. package/dist/node/multi-select/option-list.js +1 -0
  373. package/dist/node/native-select/native-select.js +1 -37
  374. package/dist/node/native-select/native-select.module.js +1 -7
  375. package/dist/node/navigation-menu/navigation-menu.js +1 -99
  376. package/dist/node/navigation-menu/navigation-menu.module.js +1 -10
  377. package/dist/node/notification/notification.js +1 -140
  378. package/dist/node/notification/notification.module.js +1 -11
  379. package/dist/node/number-input/number-input.js +1 -148
  380. package/dist/node/number-input/number-input.module.js +1 -12
  381. package/dist/node/otp-input/otp-input.js +1 -70
  382. package/dist/node/otp-input/otp-input.module.js +1 -6
  383. package/dist/node/overflow-menu/overflow-menu.js +1 -70
  384. package/dist/node/overflow-menu/overflow-menu.module.js +1 -7
  385. package/dist/node/pagination/pagination.js +1 -92
  386. package/dist/node/pagination/pagination.module.js +1 -11
  387. package/dist/node/password-input/password-input.js +1 -81
  388. package/dist/node/password-input/password-input.module.js +1 -11
  389. package/dist/node/popover/popover.js +1 -51
  390. package/dist/node/popover/popover.module.js +1 -6
  391. package/dist/node/popover/use-popover.js +1 -55
  392. package/dist/node/progress/progress.js +1 -16
  393. package/dist/node/progress/progress.module.js +1 -6
  394. package/dist/node/progress-bar/progress-bar.js +1 -42
  395. package/dist/node/progress-bar/progress-bar.module.js +1 -11
  396. package/dist/node/progress-circle/progress-circle.js +1 -46
  397. package/dist/node/progress-circle/progress-circle.module.js +1 -9
  398. package/dist/node/progress-indicator/progress-indicator.js +1 -34
  399. package/dist/node/progress-indicator/progress-indicator.module.js +1 -10
  400. package/dist/node/prose/prose.js +1 -13
  401. package/dist/node/prose/prose.module.js +1 -3
  402. package/dist/node/pull-to-refresh/pull-to-refresh.js +1 -82
  403. package/dist/node/pull-to-refresh/pull-to-refresh.module.js +1 -9
  404. package/dist/node/qr-code/encode.js +1 -583
  405. package/dist/node/qr-code/qr-code.js +1 -41
  406. package/dist/node/qr-code/qr-code.module.js +1 -6
  407. package/dist/node/radial-progress/radial-progress.js +1 -27
  408. package/dist/node/radial-progress/radial-progress.module.js +1 -6
  409. package/dist/node/radio/radio.js +1 -49
  410. package/dist/node/radio/radio.module.js +1 -9
  411. package/dist/node/radio-card/radio-card.js +1 -64
  412. package/dist/node/radio-card/radio-card.module.js +1 -11
  413. package/dist/node/rating-group/rating-group.js +1 -37
  414. package/dist/node/rating-group/rating-group.module.js +1 -6
  415. package/dist/node/react/src/index.js +1 -141
  416. package/dist/node/relative-time/relative-time.js +1 -66
  417. package/dist/node/relative-time/relative-time.module.js +1 -3
  418. package/dist/node/reorder-list/reorder-list.js +1 -143
  419. package/dist/node/reorder-list/reorder-list.module.js +1 -11
  420. package/dist/node/resizable/resizable.js +1 -80
  421. package/dist/node/resizable/resizable.module.js +1 -8
  422. package/dist/node/scroll-area/scroll-area.js +1 -38
  423. package/dist/node/scroll-area/scroll-area.module.js +1 -3
  424. package/dist/node/search/search.js +1 -96
  425. package/dist/node/search/search.module.js +1 -9
  426. package/dist/node/segmented-control/segmented-control.js +1 -43
  427. package/dist/node/segmented-control/segmented-control.module.js +1 -6
  428. package/dist/node/select/select.js +1 -73
  429. package/dist/node/select/select.module.js +1 -11
  430. package/dist/node/separator/separator.js +1 -19
  431. package/dist/node/separator/separator.module.js +1 -3
  432. package/dist/node/sheet/sheet.js +1 -49
  433. package/dist/node/sheet/sheet.module.js +1 -9
  434. package/dist/node/shell-header/shell-header.js +1 -169
  435. package/dist/node/shell-header/shell-header.module.js +1 -24
  436. package/dist/node/side-nav/side-nav.js +1 -334
  437. package/dist/node/side-nav/side-nav.module.js +1 -31
  438. package/dist/node/skeleton/skeleton.js +1 -23
  439. package/dist/node/skeleton/skeleton.module.js +1 -7
  440. package/dist/node/skip-nav/skip-nav.js +1 -28
  441. package/dist/node/skip-nav/skip-nav.module.js +1 -3
  442. package/dist/node/slider/slider.js +1 -30
  443. package/dist/node/slider/slider.module.js +1 -7
  444. package/dist/node/spinner/spinner.js +1 -18
  445. package/dist/node/spinner/spinner.module.js +1 -6
  446. package/dist/node/stack/stack.js +1 -17
  447. package/dist/node/stack/stack.module.js +1 -6
  448. package/dist/node/stat/stat.js +1 -41
  449. package/dist/node/stat/stat.module.js +1 -11
  450. package/dist/node/status/status.js +1 -25
  451. package/dist/node/status/status.module.js +1 -7
  452. package/dist/node/steps/steps.js +1 -35
  453. package/dist/node/steps/steps.module.js +1 -8
  454. package/dist/node/structured-list/structured-list.js +1 -102
  455. package/dist/node/structured-list/structured-list.module.js +1 -12
  456. package/dist/node/swap/swap.js +1 -36
  457. package/dist/node/swap/swap.module.js +1 -7
  458. package/dist/node/swipe-item/swipe-item.js +1 -62
  459. package/dist/node/swipe-item/swipe-item.module.js +1 -12
  460. package/dist/node/switcher/switcher.js +1 -32
  461. package/dist/node/switcher/switcher.module.js +1 -8
  462. package/dist/node/tabs/tabs.js +1 -98
  463. package/dist/node/tabs/tabs.module.js +1 -8
  464. package/dist/node/tag/tag.js +1 -33
  465. package/dist/node/tag/tag.module.js +1 -6
  466. package/dist/node/tags-input/tags-input.js +1 -68
  467. package/dist/node/tags-input/tags-input.module.js +1 -8
  468. package/dist/node/text/text.js +1 -16
  469. package/dist/node/text/text.module.js +1 -3
  470. package/dist/node/textarea/textarea.js +1 -58
  471. package/dist/node/textarea/textarea.module.js +1 -9
  472. package/dist/node/tile/tile.js +1 -39
  473. package/dist/node/tile/tile.module.js +1 -7
  474. package/dist/node/time-picker/time-picker.js +1 -64
  475. package/dist/node/time-picker/time-picker.module.js +1 -9
  476. package/dist/node/timeline/timeline.js +1 -55
  477. package/dist/node/timeline/timeline.module.js +1 -11
  478. package/dist/node/toast/toast.js +1 -85
  479. package/dist/node/toast/toast.module.js +1 -11
  480. package/dist/node/toc/toc.js +1 -43
  481. package/dist/node/toc/toc.module.js +1 -3
  482. package/dist/node/toc/use-toc-from-region.js +1 -18
  483. package/dist/node/toggle/toggle.js +1 -42
  484. package/dist/node/toggle/toggle.module.js +1 -8
  485. package/dist/node/toggle-group/toggle-group.js +1 -55
  486. package/dist/node/toggle-group/toggle-group.module.js +1 -6
  487. package/dist/node/toggletip/toggletip.js +1 -49
  488. package/dist/node/toggletip/toggletip.module.js +1 -7
  489. package/dist/node/tooltip/tooltip.js +1 -58
  490. package/dist/node/tooltip/tooltip.module.js +1 -6
  491. package/dist/node/tree-view/tree-view.js +1 -201
  492. package/dist/node/tree-view/tree-view.module.js +1 -13
  493. package/dist/node/user/user.js +1 -35
  494. package/dist/node/user/user.module.js +1 -9
  495. package/dist/node/virtual-list/virtual-list.js +1 -40
  496. package/dist/node/virtual-list/virtual-list.module.js +1 -7
  497. package/dist/node/visually-hidden/visually-hidden.js +1 -2
  498. package/dist/node/wheel-picker/wheel-picker.js +1 -84
  499. package/dist/node/wheel-picker/wheel-picker.module.js +1 -8
  500. package/dist/notification/notification.js +1 -140
  501. package/dist/notification/notification.module.js +1 -11
  502. package/dist/number-input/number-input.js +1 -148
  503. package/dist/number-input/number-input.module.js +1 -12
  504. package/dist/otp-input/otp-input.js +1 -70
  505. package/dist/otp-input/otp-input.module.js +1 -6
  506. package/dist/overflow-menu/overflow-menu.js +1 -70
  507. package/dist/overflow-menu/overflow-menu.module.js +1 -7
  508. package/dist/pagination/pagination.js +1 -92
  509. package/dist/pagination/pagination.module.js +1 -11
  510. package/dist/password-input/password-input.js +1 -81
  511. package/dist/password-input/password-input.module.js +1 -11
  512. package/dist/popover/popover.js +1 -51
  513. package/dist/popover/popover.module.js +1 -6
  514. package/dist/popover/use-popover.js +1 -55
  515. package/dist/progress/progress.css +1 -1
  516. package/dist/progress/progress.js +1 -16
  517. package/dist/progress/progress.module.js +1 -6
  518. package/dist/progress-bar/progress-bar.css +1 -1
  519. package/dist/progress-bar/progress-bar.js +1 -42
  520. package/dist/progress-bar/progress-bar.module.js +1 -11
  521. package/dist/progress-circle/progress-circle.js +1 -46
  522. package/dist/progress-circle/progress-circle.module.js +1 -9
  523. package/dist/progress-indicator/progress-indicator.css +1 -1
  524. package/dist/progress-indicator/progress-indicator.js +1 -34
  525. package/dist/progress-indicator/progress-indicator.module.js +1 -10
  526. package/dist/prose/prose.css +1 -1
  527. package/dist/prose/prose.js +1 -13
  528. package/dist/prose/prose.module.js +1 -3
  529. package/dist/pull-to-refresh/pull-to-refresh.js +1 -82
  530. package/dist/pull-to-refresh/pull-to-refresh.module.js +1 -9
  531. package/dist/qr-code/encode.js +1 -583
  532. package/dist/qr-code/qr-code.js +1 -41
  533. package/dist/qr-code/qr-code.module.js +1 -6
  534. package/dist/radial-progress/radial-progress.js +1 -27
  535. package/dist/radial-progress/radial-progress.module.js +1 -6
  536. package/dist/radio/radio.js +1 -49
  537. package/dist/radio/radio.module.js +1 -9
  538. package/dist/radio-card/radio-card.css +1 -1
  539. package/dist/radio-card/radio-card.js +1 -64
  540. package/dist/radio-card/radio-card.module.js +1 -11
  541. package/dist/rating-group/rating-group.js +1 -37
  542. package/dist/rating-group/rating-group.module.js +1 -6
  543. package/dist/react/src/index.js +1 -141
  544. package/dist/relative-time/relative-time.js +1 -66
  545. package/dist/relative-time/relative-time.module.js +1 -3
  546. package/dist/reorder-list/reorder-list.css +1 -1
  547. package/dist/reorder-list/reorder-list.js +1 -143
  548. package/dist/reorder-list/reorder-list.module.js +1 -11
  549. package/dist/resizable/resizable.js +1 -80
  550. package/dist/resizable/resizable.module.js +1 -8
  551. package/dist/scroll-area/scroll-area.css +1 -1
  552. package/dist/scroll-area/scroll-area.js +1 -38
  553. package/dist/scroll-area/scroll-area.module.js +1 -3
  554. package/dist/search/search.js +1 -96
  555. package/dist/search/search.module.js +1 -9
  556. package/dist/segmented-control/segmented-control.js +1 -43
  557. package/dist/segmented-control/segmented-control.module.js +1 -6
  558. package/dist/select/select.js +1 -73
  559. package/dist/select/select.module.js +1 -11
  560. package/dist/separator/separator.js +1 -19
  561. package/dist/separator/separator.module.js +1 -3
  562. package/dist/sheet/sheet.js +1 -49
  563. package/dist/sheet/sheet.module.js +1 -9
  564. package/dist/shell-header/shell-header.css +1 -1
  565. package/dist/shell-header/shell-header.js +1 -169
  566. package/dist/shell-header/shell-header.module.js +1 -24
  567. package/dist/side-nav/side-nav.css +1 -1
  568. package/dist/side-nav/side-nav.js +1 -334
  569. package/dist/side-nav/side-nav.module.js +1 -31
  570. package/dist/skeleton/skeleton.css +1 -1
  571. package/dist/skeleton/skeleton.js +1 -23
  572. package/dist/skeleton/skeleton.module.js +1 -7
  573. package/dist/skip-nav/skip-nav.js +1 -28
  574. package/dist/skip-nav/skip-nav.module.js +1 -3
  575. package/dist/slider/slider.js +1 -30
  576. package/dist/slider/slider.module.js +1 -7
  577. package/dist/spinner/spinner.css +1 -1
  578. package/dist/spinner/spinner.js +1 -18
  579. package/dist/spinner/spinner.module.js +1 -6
  580. package/dist/stack/stack.js +1 -17
  581. package/dist/stack/stack.module.js +1 -6
  582. package/dist/stat/stat.js +1 -41
  583. package/dist/stat/stat.module.js +1 -11
  584. package/dist/status/status.css +1 -1
  585. package/dist/status/status.js +1 -25
  586. package/dist/status/status.module.js +1 -7
  587. package/dist/steps/steps.css +1 -1
  588. package/dist/steps/steps.js +1 -35
  589. package/dist/steps/steps.module.js +1 -8
  590. package/dist/structured-list/structured-list.js +1 -102
  591. package/dist/structured-list/structured-list.module.js +1 -12
  592. package/dist/styles.css +401 -55
  593. package/dist/swap/swap.css +1 -1
  594. package/dist/swap/swap.js +1 -36
  595. package/dist/swap/swap.module.js +1 -7
  596. package/dist/swipe-item/swipe-item.js +1 -62
  597. package/dist/swipe-item/swipe-item.module.js +1 -12
  598. package/dist/switcher/switcher.js +1 -32
  599. package/dist/switcher/switcher.module.js +1 -8
  600. package/dist/tabs/tabs.js +1 -98
  601. package/dist/tabs/tabs.module.js +1 -8
  602. package/dist/tag/tag.js +1 -33
  603. package/dist/tag/tag.module.js +1 -6
  604. package/dist/tags-input/tags-input.js +1 -68
  605. package/dist/tags-input/tags-input.module.js +1 -8
  606. package/dist/text/text.css +1 -1
  607. package/dist/text/text.js +1 -16
  608. package/dist/text/text.module.js +1 -3
  609. package/dist/textarea/textarea.css +1 -1
  610. package/dist/textarea/textarea.js +1 -58
  611. package/dist/textarea/textarea.module.js +1 -9
  612. package/dist/tile/tile.css +1 -1
  613. package/dist/tile/tile.js +1 -39
  614. package/dist/tile/tile.module.js +1 -7
  615. package/dist/time-picker/time-picker.js +1 -64
  616. package/dist/time-picker/time-picker.module.js +1 -9
  617. package/dist/timeline/timeline.js +1 -55
  618. package/dist/timeline/timeline.module.js +1 -11
  619. package/dist/toast/toast.css +1 -1
  620. package/dist/toast/toast.js +1 -85
  621. package/dist/toast/toast.module.js +1 -11
  622. package/dist/toc/toc.css +1 -1
  623. package/dist/toc/toc.js +1 -43
  624. package/dist/toc/toc.module.js +1 -3
  625. package/dist/toc/use-toc-from-region.js +1 -18
  626. package/dist/toggle/toggle.js +1 -42
  627. package/dist/toggle/toggle.module.js +1 -8
  628. package/dist/toggle-group/toggle-group.js +1 -55
  629. package/dist/toggle-group/toggle-group.module.js +1 -6
  630. package/dist/toggletip/toggletip.js +1 -49
  631. package/dist/toggletip/toggletip.module.js +1 -7
  632. package/dist/tooltip/tooltip.css +1 -1
  633. package/dist/tooltip/tooltip.js +1 -58
  634. package/dist/tooltip/tooltip.module.js +1 -6
  635. package/dist/tree-view/tree-view.css +1 -1
  636. package/dist/tree-view/tree-view.js +1 -201
  637. package/dist/tree-view/tree-view.module.js +1 -13
  638. package/dist/user/user.js +1 -35
  639. package/dist/user/user.module.js +1 -9
  640. package/dist/virtual-list/virtual-list.js +1 -40
  641. package/dist/virtual-list/virtual-list.module.js +1 -7
  642. package/dist/visually-hidden/visually-hidden.js +1 -2
  643. package/dist/wheel-picker/wheel-picker.js +1 -84
  644. package/dist/wheel-picker/wheel-picker.module.js +1 -8
  645. package/package.json +4 -4
  646. package/readme.body.md +3 -2
@@ -1,184 +1,2 @@
1
- "use client";
2
-
3
- import e from "./log-viewer.module.js";
4
- import { Fragment as t } from "react";
5
- import { VisuallyHidden as n, cn as r, useClipboard as i, useComputed as a, useControllableSignal as o, useResizeObserver as s, useSignal as c, useSignalEffect as l, useSignals as u } from "@cascivo/core";
6
- import { builtin as d, t as f } from "@cascivo/i18n";
7
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
8
- //#region ../components/src/log-viewer/log-viewer.tsx
9
- var h = {
10
- 30: "black",
11
- 31: "red",
12
- 32: "green",
13
- 33: "yellow",
14
- 34: "blue",
15
- 35: "magenta",
16
- 36: "cyan",
17
- 37: "white",
18
- 90: "bright-black",
19
- 91: "red",
20
- 92: "green",
21
- 93: "yellow",
22
- 94: "blue",
23
- 95: "magenta",
24
- 96: "cyan",
25
- 97: "white"
26
- };
27
- function g(e) {
28
- if (!e.includes("\x1B[")) return [{ text: e }];
29
- try {
30
- let t = [], n = /\[([0-9;]*)m/g, r = 0, i, a = !1, o;
31
- for (; (o = n.exec(e)) !== null;) {
32
- o.index > r && t.push({
33
- text: e.slice(r, o.index),
34
- color: i,
35
- bold: a
36
- });
37
- for (let e of o[1].split(";")) {
38
- let t = Number(e || "0");
39
- t === 0 ? (i = void 0, a = !1) : t === 1 ? a = !0 : t === 22 ? a = !1 : h[t] && (i = h[t]);
40
- }
41
- r = n.lastIndex;
42
- }
43
- return r < e.length && t.push({
44
- text: e.slice(r),
45
- color: i,
46
- bold: a
47
- }), t.length > 0 ? t : [{ text: e }];
48
- } catch {
49
- return [{ text: e }];
50
- }
51
- }
52
- function _(e, t, n) {
53
- if (!t) return e;
54
- let r = e.toLowerCase(), i = t.toLowerCase(), a = [], o = 0, s = r.indexOf(i, o), c = 0;
55
- for (; s !== -1;) s > o && a.push(e.slice(o, s)), a.push(/* @__PURE__ */ p("mark", { children: e.slice(s, s + i.length) }, `${n}-${c++}`)), o = s + i.length, s = r.indexOf(i, o);
56
- return o < e.length && a.push(e.slice(o)), a;
57
- }
58
- function v(t, n, r) {
59
- return (n ? g(t.text) : [{ text: t.text }]).map((n, i) => /* @__PURE__ */ p("span", {
60
- "data-ansi": n.color,
61
- style: n.bold ? { fontWeight: 700 } : void 0,
62
- className: n.color ? e.ansi : void 0,
63
- children: _(n.text, r, `${String(t.id)}-${i}`)
64
- }, i));
65
- }
66
- function y({ lines: h, rowHeight: g = 20, overscan: _ = 8, follow: y, onFollowChange: b, ansi: x = !1, search: S, maxHeight: C = "24rem", labels: w, className: T, ...E }) {
67
- u();
68
- let D = {
69
- searchPlaceholder: w?.searchPlaceholder ?? f(d.logViewer.search),
70
- follow: w?.follow ?? f(d.logViewer.follow),
71
- paused: w?.paused ?? f(d.logViewer.paused),
72
- copy: w?.copy ?? f(d.logViewer.copy),
73
- copied: w?.copied ?? f(d.logViewer.copied),
74
- empty: w?.empty ?? f(d.logViewer.empty),
75
- label: f(d.logViewer.label)
76
- }, O = c(Array.isArray(h) ? h : []);
77
- Array.isArray(h) && (O.value = h);
78
- let k = Array.isArray(h) ? O : h, { ref: A, size: j } = s(), M = c(0), [N, P] = o({
79
- value: y,
80
- defaultValue: !0,
81
- onChange: b
82
- }), F = c(S ?? ""), { copied: I, copy: L } = i(), R = a(() => {
83
- let e = k.value, t = e.length, n = j.value?.height ?? 320, r = Math.max(0, t * g - n), i = N.value ? r : M.value, a = Math.floor(i / g), o = Math.ceil(n / g) + _ * 2, s = Math.max(0, a - _), c = Math.min(t, s + o);
84
- return {
85
- total: t,
86
- start: s,
87
- end: c,
88
- rows: e.slice(s, c)
89
- };
90
- }), z = a(() => {
91
- let e = F.value.trim().toLowerCase();
92
- if (!e) return 0;
93
- let t = 0;
94
- for (let n of k.value) n.text.toLowerCase().includes(e) && t++;
95
- return t;
96
- });
97
- l(() => {
98
- if (k.value, !N.value) return;
99
- let e = A.current;
100
- e && (e.scrollTop = e.scrollHeight);
101
- });
102
- let B = (e) => {
103
- let t = e.currentTarget;
104
- M.value = t.scrollTop, P(t.scrollHeight - t.clientHeight - t.scrollTop <= g);
105
- }, V = R.value, H = F.value.trim();
106
- return /* @__PURE__ */ m("div", {
107
- className: r(e.root, T),
108
- ...E,
109
- children: [
110
- /* @__PURE__ */ m("div", {
111
- className: e.toolbar,
112
- children: [
113
- /* @__PURE__ */ p("input", {
114
- type: "search",
115
- className: e.search,
116
- placeholder: D.searchPlaceholder,
117
- "aria-label": D.searchPlaceholder,
118
- value: F.value,
119
- onInput: (e) => {
120
- F.value = e.currentTarget.value;
121
- }
122
- }),
123
- H ? /* @__PURE__ */ p("span", {
124
- className: e.count,
125
- "aria-live": "polite",
126
- children: f(d.logViewer.matches, { count: z.value })
127
- }) : null,
128
- /* @__PURE__ */ p("span", { className: e.spacer }),
129
- /* @__PURE__ */ p("button", {
130
- type: "button",
131
- className: e.toggle,
132
- "aria-pressed": N.value,
133
- onClick: () => {
134
- let e = !N.value;
135
- if (P(e), e) {
136
- let e = A.current;
137
- e && (e.scrollTop = e.scrollHeight);
138
- }
139
- },
140
- children: N.value ? D.follow : D.paused
141
- }),
142
- /* @__PURE__ */ p("button", {
143
- type: "button",
144
- className: e.copy,
145
- onClick: () => void L(k.value.map((e) => e.text).join("\n")),
146
- children: I.value ? D.copied : D.copy
147
- })
148
- ]
149
- }),
150
- /* @__PURE__ */ p("div", {
151
- ref: A,
152
- className: e.scroll,
153
- role: "log",
154
- "aria-live": "polite",
155
- "aria-label": D.label,
156
- tabIndex: 0,
157
- style: { maxBlockSize: C },
158
- onScroll: B,
159
- children: V.total === 0 ? /* @__PURE__ */ p("div", {
160
- className: e.empty,
161
- children: D.empty
162
- }) : /* @__PURE__ */ p("div", {
163
- className: e.sizer,
164
- style: { blockSize: V.total * g },
165
- children: V.rows.map((n, r) => /* @__PURE__ */ p(t, { children: /* @__PURE__ */ p("div", {
166
- className: e.line,
167
- "data-level": n.level,
168
- style: {
169
- insetBlockStart: (V.start + r) * g,
170
- blockSize: g
171
- },
172
- children: v(n, x, H)
173
- }) }, n.id))
174
- })
175
- }),
176
- /* @__PURE__ */ p(n, {
177
- "aria-live": "polite",
178
- children: f(d.logViewer.lines, { count: V.total })
179
- })
180
- ]
181
- });
182
- }
183
- //#endregion
184
- export { y as LogViewer };
1
+ "use client";import e from"./log-viewer.module.js";import{Fragment as t}from"react";import{VisuallyHidden as n,cn as r,useClipboard as i,useComputed as a,useControllableSignal as o,useResizeObserver as s,useSignal as c,useSignalEffect as l,useSignals as u}from"@cascivo/core";import{builtin as d,t as f}from"@cascivo/i18n";import{Fragment as p,jsx as m,jsxs as h}from"react/jsx-runtime";var g={30:`black`,31:`red`,32:`green`,33:`yellow`,34:`blue`,35:`magenta`,36:`cyan`,37:`white`,90:`bright-black`,91:`red`,92:`green`,93:`yellow`,94:`blue`,95:`magenta`,96:`cyan`,97:`white`};function parseAnsi(e){if(!e.includes(`\x1B[`))return[{text:e}];try{let t=[],n=/\[([0-9;]*)m/g,r=0,i,a=!1,o;for(;(o=n.exec(e))!==null;){o.index>r&&t.push({text:e.slice(r,o.index),color:i,bold:a});for(let e of o[1].split(`;`)){let t=Number(e||`0`);t===0?(i=void 0,a=!1):t===1?a=!0:t===22?a=!1:g[t]&&(i=g[t])}r=n.lastIndex}return r<e.length&&t.push({text:e.slice(r),color:i,bold:a}),t.length>0?t:[{text:e}]}catch{return[{text:e}]}}function highlight(e,t,n){if(!t)return e;let r=e.toLowerCase(),i=t.toLowerCase(),a=[],o=0,s=r.indexOf(i,o),c=0;for(;s!==-1;)s>o&&a.push(e.slice(o,s)),a.push(m(`mark`,{children:e.slice(s,s+i.length)},`${n}-${c++}`)),o=s+i.length,s=r.indexOf(i,o);return o<e.length&&a.push(e.slice(o)),a}function renderLine(t,n,r){let i=n?parseAnsi(t.text):[{text:t.text}];return h(p,{children:[t.timestamp!==void 0&&m(`span`,{className:e.timestamp,children:t.timestamp}),i.map((n,i)=>m(`span`,{"data-ansi":n.color,style:n.bold?{fontWeight:700}:void 0,className:n.color?e.ansi:void 0,children:highlight(n.text,r,`${String(t.id)}-${i}`)},i))]})}function LogViewer({lines:p,rowHeight:g=20,overscan:_=8,follow:v,onFollowChange:y,ansi:b=!1,search:x,maxHeight:S=`24rem`,timestampWidth:C=`6.5rem`,labels:w,className:T,...E}){u();let D={searchPlaceholder:w?.searchPlaceholder??f(d.logViewer.search),follow:w?.follow??f(d.logViewer.follow),paused:w?.paused??f(d.logViewer.paused),copy:w?.copy??f(d.logViewer.copy),copied:w?.copied??f(d.logViewer.copied),empty:w?.empty??f(d.logViewer.empty),label:f(d.logViewer.label)},O=c(Array.isArray(p)?p:[]);Array.isArray(p)&&(O.value=p);let k=Array.isArray(p)?O:p,{ref:A,size:j}=s(),M=c(0),[N,P]=o({value:v,defaultValue:!0,onChange:y}),F=c(x??``),{copied:I,copy:L}=i(),R=a(()=>{let e=k.value,t=e.length,n=j.value?.height??320,r=Math.max(0,t*g-n),i=N.value?r:M.value,a=Math.floor(i/g),o=Math.ceil(n/g)+_*2,s=Math.max(0,a-_),c=Math.min(t,s+o);return{total:t,start:s,end:c,rows:e.slice(s,c)}}),z=a(()=>{let e=F.value.trim().toLowerCase();if(!e)return 0;let t=0;for(let n of k.value)n.text.toLowerCase().includes(e)&&t++;return t});l(()=>{if(k.value,!N.value)return;let e=A.current;e&&(e.scrollTop=e.scrollHeight)});let onScroll=e=>{let t=e.currentTarget;M.value=t.scrollTop,P(t.scrollHeight-t.clientHeight-t.scrollTop<=g)},B=R.value,V=F.value.trim();return h(`div`,{className:r(e.root,T),style:{"--_timestamp-width":C},...E,children:[h(`div`,{className:e.toolbar,children:[m(`input`,{type:`search`,className:e.search,placeholder:D.searchPlaceholder,"aria-label":D.searchPlaceholder,value:F.value,onInput:e=>{F.value=e.currentTarget.value}}),V?m(`span`,{className:e.count,"aria-live":`polite`,children:f(d.logViewer.matches,{count:z.value})}):null,m(`span`,{className:e.spacer}),m(`button`,{type:`button`,className:e.toggle,"aria-pressed":N.value,onClick:()=>{let e=!N.value;if(P(e),e){let e=A.current;e&&(e.scrollTop=e.scrollHeight)}},children:N.value?D.follow:D.paused}),m(`button`,{type:`button`,className:e.copy,onClick:()=>void L(k.value.map(e=>e.text).join(`
2
+ `)),children:I.value?D.copied:D.copy})]}),m(`div`,{ref:A,className:e.scroll,role:`log`,"aria-live":`polite`,"aria-label":D.label,tabIndex:0,style:{maxBlockSize:S},onScroll,children:B.total===0?m(`div`,{className:e.empty,children:D.empty}):m(`div`,{className:e.sizer,style:{blockSize:B.total*g},children:B.rows.map((n,r)=>m(t,{children:m(`div`,{className:e.line,"data-level":n.level,style:{insetBlockStart:(B.start+r)*g,blockSize:g},children:renderLine(n,b,V)})},n.id))})}),m(n,{"aria-live":`polite`,children:f(d.logViewer.lines,{count:B.total})})]})}export{LogViewer};
@@ -1,16 +1 @@
1
- var e = {
2
- root: "_root_1mutf_2",
3
- toolbar: "_toolbar_1mutf_11",
4
- search: "_search_1mutf_20",
5
- count: "_count_1mutf_33",
6
- spacer: "_spacer_1mutf_38",
7
- toggle: "_toggle_1mutf_42",
8
- copy: "_copy_1mutf_43",
9
- scroll: "_scroll_1mutf_81",
10
- sizer: "_sizer_1mutf_96",
11
- line: "_line_1mutf_101",
12
- ansi: "_ansi_1mutf_128",
13
- empty: "_empty_1mutf_149"
14
- };
15
- //#endregion
16
- export { e as default };
1
+ var e={root:`_root_p7fwz_2`,toolbar:`_toolbar_p7fwz_11`,search:`_search_p7fwz_20`,count:`_count_p7fwz_33`,spacer:`_spacer_p7fwz_38`,toggle:`_toggle_p7fwz_42`,copy:`_copy_p7fwz_43`,scroll:`_scroll_p7fwz_81`,sizer:`_sizer_p7fwz_96`,line:`_line_p7fwz_101`,timestamp:`_timestamp_p7fwz_112`,ansi:`_ansi_p7fwz_137`,empty:`_empty_p7fwz_158`};export{e as default};
@@ -1,126 +1 @@
1
- "use client";
2
-
3
- import { usePopover as e } from "../popover/use-popover.js";
4
- import t from "./menu.module.js";
5
- import { Children as n, createContext as r, isValidElement as i } from "react";
6
- import { useSignalEffect as a, useSignals as o, useTypeahead as s } from "@cascivo/core";
7
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
- //#region ../components/src/menu/menu.tsx
9
- var u = r(null);
10
- function d({ ctx: e, children: n }) {
11
- o();
12
- let { popoverRef: r, anchorName: i, isOpen: l } = e, u = () => {
13
- let e = r.current;
14
- return e ? Array.from(e.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])")) : [];
15
- }, d = (e) => {
16
- let t = u();
17
- t.length !== 0 && t[e(t, t.indexOf(document.activeElement))]?.focus();
18
- }, f = s({ onMatch: (e) => {
19
- u().find((t) => (t.textContent ?? "").trim().toLowerCase().startsWith(e))?.focus();
20
- } });
21
- return a(() => {
22
- if (!l.value) return;
23
- let e = r.current;
24
- e && e.querySelector("[role=\"menuitem\"]:not([aria-disabled=\"true\"])")?.focus();
25
- }), /* @__PURE__ */ c("div", {
26
- ref: r,
27
- popover: "auto",
28
- role: "menu",
29
- "data-state": l.value ? "open" : "closed",
30
- style: { positionAnchor: i },
31
- className: t.panel,
32
- onKeyDown: (e) => {
33
- switch (e.key) {
34
- case "ArrowDown":
35
- e.preventDefault(), d((e, t) => t < 0 ? 0 : (t + 1) % e.length);
36
- break;
37
- case "ArrowUp":
38
- e.preventDefault(), d((e, t) => t < 0 ? e.length - 1 : (t - 1 + e.length) % e.length);
39
- break;
40
- case "Home":
41
- e.preventDefault(), d(() => 0);
42
- break;
43
- case "End":
44
- e.preventDefault(), d((e) => e.length - 1);
45
- break;
46
- default: f.onKeyDown(e);
47
- }
48
- },
49
- children: n
50
- });
51
- }
52
- function f({ children: e }) {
53
- return /* @__PURE__ */ c(u.Consumer, { children: (t) => {
54
- if (!t) throw Error("MenuPanel must be inside <Menu>");
55
- return /* @__PURE__ */ c(d, {
56
- ctx: t,
57
- children: e
58
- });
59
- } });
60
- }
61
- function p() {
62
- return globalThis.process?.env?.NODE_ENV !== "production";
63
- }
64
- function m({ children: t }) {
65
- let r = e(), a = n.toArray(t), o = a.find((e) => i(e) && e.type === g), s = a.filter((e) => e !== o);
66
- if (o === void 0 && p()) throw Error("<Menu> requires a <MenuTrigger> child. It is matched by component identity, so it may appear in any order — but it must be a direct child, not wrapped in a fragment or another component.");
67
- return /* @__PURE__ */ l(u.Provider, {
68
- value: r,
69
- children: [o, /* @__PURE__ */ c(f, { children: s })]
70
- });
71
- }
72
- function h({ ctx: e, children: n, ariaLabel: r, "aria-label": i }) {
73
- o();
74
- let { triggerRef: a, toggle: s, anchorName: l, isOpen: u } = e;
75
- return /* @__PURE__ */ c("button", {
76
- ref: a,
77
- type: "button",
78
- "aria-haspopup": "menu",
79
- "aria-expanded": u.value,
80
- "aria-label": r ?? i,
81
- style: { anchorName: l },
82
- onClick: s,
83
- className: t.trigger,
84
- children: n
85
- });
86
- }
87
- function g({ children: e, ariaLabel: t, "aria-label": n }) {
88
- let r = t ?? n;
89
- return /* @__PURE__ */ c(u.Consumer, { children: (t) => {
90
- if (!t) throw Error("MenuTrigger must be inside <Menu>");
91
- return /* @__PURE__ */ c(h, {
92
- ctx: t,
93
- ...r !== void 0 && { ariaLabel: r },
94
- children: e
95
- });
96
- } });
97
- }
98
- function _({ children: e, onSelect: n, disabled: r }) {
99
- return /* @__PURE__ */ c(u.Consumer, { children: (i) => {
100
- if (!i) throw Error("MenuItem must be inside <Menu>");
101
- let { close: a } = i;
102
- function o() {
103
- r || (n(), a());
104
- }
105
- function s(e) {
106
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), o());
107
- }
108
- return /* @__PURE__ */ c("div", {
109
- role: "menuitem",
110
- tabIndex: r ? -1 : 0,
111
- "aria-disabled": r,
112
- onClick: o,
113
- onKeyDown: s,
114
- className: t.item,
115
- children: e
116
- });
117
- } });
118
- }
119
- function v() {
120
- return /* @__PURE__ */ c("div", {
121
- role: "separator",
122
- className: t.separator
123
- });
124
- }
125
- //#endregion
126
- export { m as Menu, _ as MenuItem, v as MenuSeparator, g as MenuTrigger };
1
+ "use client";import{usePopover as e}from"../popover/use-popover.js";import t from"./menu.module.js";import{Children as n,createContext as r,isValidElement as i}from"react";import{useSignalEffect as a,useSignals as o,useTypeahead as s}from"@cascivo/core";import{jsx as c,jsxs as l}from"react/jsx-runtime";var u=r(null);function MenuPanelInner({ctx:e,children:n}){o();let{popoverRef:r,anchorName:i,isOpen:l}=e,enabledItems=()=>{let e=r.current;return e?Array.from(e.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)):[]},focusItem=e=>{let t=enabledItems();t.length!==0&&t[e(t,t.indexOf(document.activeElement))]?.focus()},u=s({onMatch:e=>{enabledItems().find(t=>(t.textContent??``).trim().toLowerCase().startsWith(e))?.focus()}});return a(()=>{if(!l.value)return;let e=r.current;e&&e.querySelector(`[role="menuitem"]:not([aria-disabled="true"])`)?.focus()}),c(`div`,{ref:r,popover:`auto`,role:`menu`,"data-state":l.value?`open`:`closed`,style:{positionAnchor:i},className:t.panel,onKeyDown:e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),focusItem((e,t)=>t<0?0:(t+1)%e.length);break;case`ArrowUp`:e.preventDefault(),focusItem((e,t)=>t<0?e.length-1:(t-1+e.length)%e.length);break;case`Home`:e.preventDefault(),focusItem(()=>0);break;case`End`:e.preventDefault(),focusItem(e=>e.length-1);break;default:u.onKeyDown(e)}},children:n})}function MenuPanel({children:e}){return c(u.Consumer,{children:t=>{if(!t)throw Error(`MenuPanel must be inside <Menu>`);return c(MenuPanelInner,{ctx:t,children:e})}})}function isDev(){return globalThis.process?.env?.NODE_ENV!==`production`}function Menu({children:t}){let r=e(),a=n.toArray(t),o=a.find(e=>i(e)&&e.type===MenuTrigger),s=a.filter(e=>e!==o);if(o===void 0&&isDev())throw Error(`<Menu> requires a <MenuTrigger> child. It is matched by component identity, so it may appear in any order — but it must be a direct child, not wrapped in a fragment or another component.`);return l(u.Provider,{value:r,children:[o,c(MenuPanel,{children:s})]})}function MenuTriggerInner({ctx:e,children:n,ariaLabel:r,"aria-label":i}){o();let{triggerRef:a,toggle:s,anchorName:l,isOpen:u}=e;return c(`button`,{ref:a,type:`button`,"aria-haspopup":`menu`,"aria-expanded":u.value,"aria-label":r??i,style:{anchorName:l},onClick:s,className:t.trigger,children:n})}function MenuTrigger({children:e,ariaLabel:t,"aria-label":n}){let r=t??n;return c(u.Consumer,{children:t=>{if(!t)throw Error(`MenuTrigger must be inside <Menu>`);return c(MenuTriggerInner,{ctx:t,...r!==void 0&&{ariaLabel:r},children:e})}})}function MenuItem({children:e,onSelect:n,disabled:r}){return c(u.Consumer,{children:i=>{if(!i)throw Error(`MenuItem must be inside <Menu>`);let{close:a}=i;function handleClick(){r||(n(),a())}function handleKeyDown(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),handleClick())}return c(`div`,{role:`menuitem`,tabIndex:r?-1:0,"aria-disabled":r,onClick:handleClick,onKeyDown:handleKeyDown,className:t.item,children:e})}})}function MenuSeparator(){return c(`div`,{role:`separator`,className:t.separator})}export{Menu,MenuItem,MenuSeparator,MenuTrigger};
@@ -1,8 +1 @@
1
- var e = {
2
- trigger: "_trigger_11vpw_2",
3
- panel: "_panel_11vpw_25",
4
- item: "_item_11vpw_69",
5
- separator: "_separator_11vpw_92"
6
- };
7
- //#endregion
8
- export { e as default };
1
+ var e={trigger:`_trigger_11vpw_2`,panel:`_panel_11vpw_25`,item:`_item_11vpw_69`,separator:`_separator_11vpw_92`};export{e as default};
@@ -1,92 +1 @@
1
- "use client";
2
-
3
- import e from "./menu-button.module.js";
4
- import { useId as t, useRef as n } from "react";
5
- import { DismissableLayer as r, cn as i, focusElement as a, useAnchorPosition as o, useSignal as s, useSignalEffect as c, useSignals as l } from "@cascivo/core";
6
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
7
- //#region ../components/src/menu-button/menu-button.tsx
8
- function f(e, t) {
9
- if (!e) return;
10
- let n = e.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])");
11
- n[t < 0 ? n.length - 1 : t % n.length]?.focus();
12
- }
13
- function p({ label: p, items: m, variant: h = "secondary", size: g = "md", disabled: _ = !1, align: v = "start", labels: y, className: b }) {
14
- l();
15
- let x = s(!1), S = n(null), C = n(null), w = t(), { anchorStyle: T, floatingStyle: E } = o({
16
- anchorRef: S,
17
- floatingRef: C,
18
- placement: v === "end" ? "bottom-end" : "bottom-start",
19
- enabled: x
20
- });
21
- c(() => {
22
- x.value && f(C.current, 0);
23
- });
24
- function D(e) {
25
- _ || (x.value = !0, queueMicrotask(() => f(C.current, e)));
26
- }
27
- function O(e) {
28
- x.value = !1, e && a(S.current);
29
- }
30
- function k(e) {
31
- e.key === "ArrowDown" || e.key === "Enter" || e.key === " " ? (e.preventDefault(), D(0)) : e.key === "ArrowUp" && (e.preventDefault(), D(-1));
32
- }
33
- function A(e) {
34
- if (e.key === "ArrowDown") {
35
- e.preventDefault();
36
- let t = e.currentTarget.nextElementSibling;
37
- t ? t.focus() : f(C.current, 0);
38
- } else if (e.key === "ArrowUp") {
39
- e.preventDefault();
40
- let t = e.currentTarget.previousElementSibling;
41
- t ? t.focus() : f(C.current, -1);
42
- } else e.key === "Escape" ? (e.preventDefault(), O(!0)) : e.key === "Tab" && O(!1);
43
- }
44
- function j(e) {
45
- e.disabled || (e.onSelect?.(), O(!0));
46
- }
47
- return /* @__PURE__ */ d("div", {
48
- className: i(e.root, b),
49
- children: [/* @__PURE__ */ u("button", {
50
- ref: S,
51
- type: "button",
52
- className: e.trigger,
53
- "data-variant": h,
54
- "data-size": g,
55
- disabled: _,
56
- "aria-haspopup": "menu",
57
- "aria-expanded": x.value,
58
- "aria-controls": w,
59
- ...y?.open !== void 0 && { "aria-label": y.open },
60
- style: T,
61
- onClick: () => {
62
- x.value ? O(!1) : D(0);
63
- },
64
- onKeyDown: k,
65
- children: p
66
- }), x.value ? /* @__PURE__ */ u(r, {
67
- onDismiss: () => O(!0),
68
- children: /* @__PURE__ */ u("div", {
69
- ref: C,
70
- id: w,
71
- role: "menu",
72
- "data-state": "open",
73
- "data-align": v,
74
- className: e.menu,
75
- style: E,
76
- children: m.map((t) => /* @__PURE__ */ u("div", {
77
- role: "menuitem",
78
- tabIndex: -1,
79
- "aria-disabled": t.disabled,
80
- className: e.item,
81
- onClick: () => j(t),
82
- onKeyDown: (e) => {
83
- e.key === "Enter" || e.key === " " ? (e.preventDefault(), j(t)) : A(e);
84
- },
85
- children: t.label
86
- }, t.id))
87
- })
88
- }) : null]
89
- });
90
- }
91
- //#endregion
92
- export { p as MenuButton };
1
+ "use client";import e from"./menu-button.module.js";import{useId as t,useRef as n}from"react";import{DismissableLayer as r,cn as i,focusElement as a,useAnchorPosition as o,useSignal as s,useSignalEffect as c,useSignals as l}from"@cascivo/core";import{jsx as u,jsxs as d}from"react/jsx-runtime";function focusItem(e,t){if(!e)return;let n=e.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`);n[t<0?n.length-1:t%n.length]?.focus()}function MenuButton({label:f,items:p,variant:m=`secondary`,size:h=`md`,disabled:g=!1,align:_=`start`,labels:v,className:y}){l();let b=s(!1),x=n(null),S=n(null),C=t(),{anchorStyle:w,floatingStyle:T}=o({anchorRef:x,floatingRef:S,placement:_===`end`?`bottom-end`:`bottom-start`,enabled:b});c(()=>{b.value&&focusItem(S.current,0)});function openMenu(e){g||(b.value=!0,queueMicrotask(()=>focusItem(S.current,e)))}function close(e){b.value=!1,e&&a(x.current)}function handleTriggerKeyDown(e){e.key===`ArrowDown`||e.key===`Enter`||e.key===` `?(e.preventDefault(),openMenu(0)):e.key===`ArrowUp`&&(e.preventDefault(),openMenu(-1))}function handleItemKeyDown(e){if(e.key===`ArrowDown`){e.preventDefault();let t=e.currentTarget.nextElementSibling;t?t.focus():focusItem(S.current,0)}else if(e.key===`ArrowUp`){e.preventDefault();let t=e.currentTarget.previousElementSibling;t?t.focus():focusItem(S.current,-1)}else e.key===`Escape`?(e.preventDefault(),close(!0)):e.key===`Tab`&&close(!1)}function select(e){e.disabled||(e.onSelect?.(),close(!0))}return d(`div`,{className:i(e.root,y),children:[u(`button`,{ref:x,type:`button`,className:e.trigger,"data-variant":m,"data-size":h,disabled:g,"aria-haspopup":`menu`,"aria-expanded":b.value,"aria-controls":C,...v?.open!==void 0&&{"aria-label":v.open},style:w,onClick:()=>{b.value?close(!1):openMenu(0)},onKeyDown:handleTriggerKeyDown,children:f}),b.value?u(r,{onDismiss:()=>close(!0),children:u(`div`,{ref:S,id:C,role:`menu`,"data-state":`open`,"data-align":_,className:e.menu,style:T,children:p.map(t=>u(`div`,{role:`menuitem`,tabIndex:-1,"aria-disabled":t.disabled,className:e.item,onClick:()=>select(t),onKeyDown:e=>{e.key===`Enter`||e.key===` `?(e.preventDefault(),select(t)):handleItemKeyDown(e)},children:t.label},t.id))})}):null]})}export{MenuButton};
@@ -1,8 +1 @@
1
- var e = {
2
- root: "_root_rzxsi_2",
3
- trigger: "_trigger_rzxsi_7",
4
- menu: "_menu_rzxsi_82",
5
- item: "_item_rzxsi_104"
6
- };
7
- //#endregion
8
- export { e as default };
1
+ var e={root:`_root_rzxsi_2`,trigger:`_trigger_rzxsi_7`,menu:`_menu_rzxsi_82`,item:`_item_rzxsi_104`};export{e as default};
@@ -1,103 +1 @@
1
- "use client";
2
-
3
- import e from "./menubar.module.js";
4
- import { useId as t, useRef as n } from "react";
5
- import { DismissableLayer as r, Presence as i, cn as a, focusElement as o, useAnchorPosition as s, useRovingFocus as c, useSignal as l, useSignals as u } from "@cascivo/core";
6
- import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
7
- //#region ../components/src/menubar/menubar.tsx
8
- function m({ menus: n, ariaLabel: r, "aria-label": i, className: o }) {
9
- u();
10
- let s = t(), d = l(null), p = c({
11
- orientation: "horizontal",
12
- loop: !0
13
- });
14
- return /* @__PURE__ */ f("div", {
15
- role: "menubar",
16
- "aria-label": r ?? i,
17
- className: a(e.menubar, o),
18
- children: n.map((e, t) => /* @__PURE__ */ f(h, {
19
- menu: e,
20
- index: t,
21
- baseId: s,
22
- openId: d,
23
- itemProps: p.getItemProps(t)
24
- }, e.id))
25
- });
26
- }
27
- function h({ menu: t, baseId: r, openId: a, itemProps: c }) {
28
- u();
29
- let l = n(null), m = n(null), h = a.value === t.id, _ = `${r}-menu-${t.id}`, { anchorStyle: v, floatingStyle: y } = s({
30
- anchorRef: l,
31
- floatingRef: m,
32
- placement: "bottom-start",
33
- enabled: h
34
- }), b = () => {
35
- (m.current?.querySelector("[role=\"menuitem\"]:not([aria-disabled=\"true\"])"))?.focus();
36
- }, x = (e) => {
37
- c.onKeyDown(e), !e.defaultPrevented && (e.key === "ArrowDown" || e.key === "Enter" || e.key === " " ? (e.preventDefault(), a.value = t.id, requestAnimationFrame(b)) : e.key === "Escape" && (a.value = null));
38
- }, { ref: S, onKeyDown: C, ...w } = c;
39
- return /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f("button", {
40
- ref: (e) => {
41
- l.current = e, S(e);
42
- },
43
- type: "button",
44
- role: "menuitem",
45
- "aria-haspopup": "menu",
46
- "aria-expanded": h,
47
- "aria-controls": _,
48
- "data-state": h ? "open" : "closed",
49
- className: e.trigger,
50
- style: v,
51
- onClick: () => {
52
- a.value = h ? null : t.id;
53
- },
54
- onKeyDown: x,
55
- ...w,
56
- children: t.label
57
- }), /* @__PURE__ */ f(i, {
58
- present: h,
59
- children: /* @__PURE__ */ f(g, {
60
- menu: t,
61
- menuId: _,
62
- floatingRef: m,
63
- floatingStyle: y,
64
- onClose: () => {
65
- a.value = null, o(l.current);
66
- }
67
- })
68
- })] });
69
- }
70
- function g({ menu: t, menuId: n, floatingRef: i, floatingStyle: a, onClose: o }) {
71
- let s = (e) => {
72
- let t = Array.from(i.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? []);
73
- if (t.length === 0) return;
74
- let n = t.indexOf(e.currentTarget);
75
- e.key === "ArrowDown" ? (e.preventDefault(), t[(n + 1) % t.length]?.focus()) : e.key === "ArrowUp" ? (e.preventDefault(), t[(n - 1 + t.length) % t.length]?.focus()) : e.key === "Home" ? (e.preventDefault(), t[0]?.focus()) : e.key === "End" && (e.preventDefault(), t[t.length - 1]?.focus());
76
- };
77
- return /* @__PURE__ */ f(r, {
78
- onDismiss: o,
79
- children: /* @__PURE__ */ f("div", {
80
- ref: i,
81
- id: n,
82
- role: "menu",
83
- "aria-label": typeof t.label == "string" ? t.label : void 0,
84
- className: e.panel,
85
- style: a,
86
- children: t.items.map((t) => /* @__PURE__ */ f("div", {
87
- role: "menuitem",
88
- tabIndex: -1,
89
- "aria-disabled": t.disabled,
90
- className: e.item,
91
- onClick: () => {
92
- t.disabled || (t.onSelect?.(), o());
93
- },
94
- onKeyDown: (e) => {
95
- t.disabled || (e.key === "Enter" || e.key === " " ? (e.preventDefault(), t.onSelect?.(), o()) : s(e));
96
- },
97
- children: t.label
98
- }, t.id))
99
- })
100
- });
101
- }
102
- //#endregion
103
- export { m as Menubar };
1
+ "use client";import e from"./menubar.module.js";import{useId as t,useRef as n}from"react";import{DismissableLayer as r,Presence as i,cn as a,focusElement as o,useAnchorPosition as s,useRovingFocus as c,useSignal as l,useSignals as u}from"@cascivo/core";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";function Menubar({menus:n,ariaLabel:r,"aria-label":i,className:o}){u();let s=t(),d=l(null),p=c({orientation:`horizontal`,loop:!0});return f(`div`,{role:`menubar`,"aria-label":r??i,className:a(e.menubar,o),children:n.map((e,t)=>f(MenubarTrigger,{menu:e,index:t,baseId:s,openId:d,itemProps:p.getItemProps(t)},e.id))})}function MenubarTrigger({menu:t,baseId:r,openId:a,itemProps:c}){u();let l=n(null),m=n(null),h=a.value===t.id,g=`${r}-menu-${t.id}`,{anchorStyle:_,floatingStyle:v}=s({anchorRef:l,floatingRef:m,placement:`bottom-start`,enabled:h}),focusFirstItem=()=>{(m.current?.querySelector(`[role="menuitem"]:not([aria-disabled="true"])`))?.focus()},handleKeyDown=e=>{c.onKeyDown(e),!e.defaultPrevented&&(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `?(e.preventDefault(),a.value=t.id,requestAnimationFrame(focusFirstItem)):e.key===`Escape`&&(a.value=null))},{ref:y,onKeyDown:b,...x}=c;return p(d,{children:[f(`button`,{ref:e=>{l.current=e,y(e)},type:`button`,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":h,"aria-controls":g,"data-state":h?`open`:`closed`,className:e.trigger,style:_,onClick:()=>{a.value=h?null:t.id},onKeyDown:handleKeyDown,...x,children:t.label}),f(i,{present:h,children:f(MenubarPanel,{menu:t,menuId:g,floatingRef:m,floatingStyle:v,onClose:()=>{a.value=null,o(l.current)}})})]})}function MenubarPanel({menu:t,menuId:n,floatingRef:i,floatingStyle:a,onClose:o}){let handleItemKeyDown=e=>{let t=Array.from(i.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[]);if(t.length===0)return;let n=t.indexOf(e.currentTarget);e.key===`ArrowDown`?(e.preventDefault(),t[(n+1)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Home`?(e.preventDefault(),t[0]?.focus()):e.key===`End`&&(e.preventDefault(),t[t.length-1]?.focus())};return f(r,{onDismiss:o,children:f(`div`,{ref:i,id:n,role:`menu`,"aria-label":typeof t.label==`string`?t.label:void 0,className:e.panel,style:a,children:t.items.map(t=>f(`div`,{role:`menuitem`,tabIndex:-1,"aria-disabled":t.disabled,className:e.item,onClick:()=>{t.disabled||(t.onSelect?.(),o())},onKeyDown:e=>{t.disabled||(e.key===`Enter`||e.key===` `?(e.preventDefault(),t.onSelect?.(),o()):handleItemKeyDown(e))},children:t.label},t.id))})})}export{Menubar};
@@ -1,8 +1 @@
1
- var e = {
2
- menubar: "_menubar_1fs00_2",
3
- trigger: "_trigger_1fs00_12",
4
- panel: "_panel_1fs00_35",
5
- item: "_item_1fs00_66"
6
- };
7
- //#endregion
8
- export { e as default };
1
+ var e={menubar:`_menubar_1fs00_2`,trigger:`_trigger_1fs00_12`,panel:`_panel_1fs00_35`,item:`_item_1fs00_66`};export{e as default};
@@ -1,76 +1 @@
1
- "use client";
2
-
3
- import e from "./modal.module.js";
4
- import { useRef as t } from "react";
5
- import { cn as n, useDraggable as r, useEffectPropSignal as i, useId as a, useSignalEffect as o, useSignals as s } from "@cascivo/core";
6
- import { builtin as c, t as l } from "@cascivo/i18n";
7
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
8
- //#region ../components/src/modal/modal.tsx
9
- function f({ open: f = !1, onClose: p, title: m, description: h, children: g, footer: _, className: v, size: y = "md", draggable: b = !1 }) {
10
- s();
11
- let x = t(null), S = t(p);
12
- S.current = p;
13
- let C = a("cascivo-modal-title"), w = a("cascivo-modal-desc"), { handleRef: T, offset: E } = r({ isDisabled: !b }), D = b ? {
14
- "--modal-x": `${E.value.x}px`,
15
- "--modal-y": `${E.value.y}px`
16
- } : void 0, O = i(f);
17
- return o(() => {
18
- let e = x.current;
19
- e && (O.value ? e.open || e.showModal() : e.open && e.close());
20
- }), o(() => {
21
- let e = x.current;
22
- if (!e) return;
23
- let t = () => S.current?.();
24
- return e.addEventListener("close", t), () => e.removeEventListener("close", t);
25
- }), /* @__PURE__ */ u("dialog", {
26
- ref: x,
27
- "data-size": y,
28
- "data-draggable": b || void 0,
29
- className: n(e.dialog, v),
30
- style: D,
31
- onClick: (e) => {
32
- e.target === x.current && x.current?.close();
33
- },
34
- "aria-labelledby": m ? C : void 0,
35
- "aria-describedby": h ? w : void 0,
36
- children: /* @__PURE__ */ d("div", {
37
- className: e.panel,
38
- children: [
39
- (m || p) && /* @__PURE__ */ d("div", {
40
- className: e.header,
41
- ref: b ? (e) => {
42
- T.current = e;
43
- } : void 0,
44
- children: [m && /* @__PURE__ */ u("h2", {
45
- id: C,
46
- className: e.title,
47
- children: m
48
- }), p && /* @__PURE__ */ u("button", {
49
- type: "button",
50
- className: e.close,
51
- onClick: () => x.current?.close(),
52
- "aria-label": l(c.modal.close),
53
- children: "✕"
54
- })]
55
- }),
56
- h && /* @__PURE__ */ u("p", {
57
- id: w,
58
- className: e.description,
59
- children: h
60
- }),
61
- /* @__PURE__ */ u("div", {
62
- className: e.body,
63
- "data-cascivo-modal-body": "",
64
- children: g
65
- }),
66
- _ && /* @__PURE__ */ u("div", {
67
- className: e.footer,
68
- "data-cascivo-modal-footer": "",
69
- children: _
70
- })
71
- ]
72
- })
73
- });
74
- }
75
- //#endregion
76
- export { f as Modal };
1
+ "use client";import e from"./modal.module.js";import{useRef as t}from"react";import{cn as n,useDraggable as r,useEffectPropSignal as i,useId as a,useSignalEffect as o,useSignals as s}from"@cascivo/core";import{builtin as c,t as l}from"@cascivo/i18n";import{jsx as u,jsxs as d}from"react/jsx-runtime";function Modal({open:f=!1,onClose:p,title:m,description:h,children:g,footer:_,className:v,size:y=`md`,draggable:b=!1}){s();let x=t(null),S=t(p);S.current=p;let C=a(`cascivo-modal-title`),w=a(`cascivo-modal-desc`),{handleRef:T,offset:E}=r({isDisabled:!b}),D=b?{"--modal-x":`${E.value.x}px`,"--modal-y":`${E.value.y}px`}:void 0,O=i(f);return o(()=>{let e=x.current;e&&(O.value?e.open||e.showModal():e.open&&e.close())}),o(()=>{let e=x.current;if(!e)return;let handler=()=>S.current?.();return e.addEventListener(`close`,handler),()=>e.removeEventListener(`close`,handler)}),u(`dialog`,{ref:x,"data-size":y,"data-draggable":b||void 0,className:n(e.dialog,v),style:D,onClick:e=>{e.target===x.current&&x.current?.close()},"aria-labelledby":m?C:void 0,"aria-describedby":h?w:void 0,children:d(`div`,{className:e.panel,children:[(m||p)&&d(`div`,{className:e.header,ref:b?e=>{T.current=e}:void 0,children:[m&&u(`h2`,{id:C,className:e.title,children:m}),p&&u(`button`,{type:`button`,className:e.close,onClick:()=>x.current?.close(),"aria-label":l(c.modal.close),children:`✕`})]}),h&&u(`p`,{id:w,className:e.description,children:h}),u(`div`,{className:e.body,"data-cascivo-modal-body":``,children:g}),_&&u(`div`,{className:e.footer,"data-cascivo-modal-footer":``,children:_})]})})}export{Modal};
@@ -1,12 +1 @@
1
- var e = {
2
- dialog: "_dialog_hywey_2",
3
- panel: "_panel_hywey_69",
4
- header: "_header_hywey_79",
5
- title: "_title_hywey_101",
6
- close: "_close_hywey_110",
7
- description: "_description_hywey_138",
8
- body: "_body_hywey_148",
9
- footer: "_footer_hywey_166"
10
- };
11
- //#endregion
12
- export { e as default };
1
+ var e={dialog:`_dialog_flqt0_2`,panel:`_panel_flqt0_69`,header:`_header_flqt0_79`,title:`_title_flqt0_101`,close:`_close_flqt0_110`,description:`_description_flqt0_138`,body:`_body_flqt0_148`,footer:`_footer_flqt0_166`};export{e as default};