@cascivo/react 0.11.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +1 -1
  2. package/dist/alert-dialog/alert-dialog.js +2 -4
  3. package/dist/app-shell/app-shell.js +24 -23
  4. package/dist/badge/badge.js +17 -10
  5. package/dist/button/button.css +1 -1
  6. package/dist/button/button.module.js +1 -1
  7. package/dist/card/card.css +1 -1
  8. package/dist/card/card.js +21 -11
  9. package/dist/card/card.module.js +8 -5
  10. package/dist/checkbox/checkbox.js +2 -2
  11. package/dist/combobox/combobox.css +1 -1
  12. package/dist/combobox/combobox.module.js +15 -15
  13. package/dist/command-menu/command-menu.js +67 -71
  14. package/dist/data-table/data-table.css +1 -1
  15. package/dist/data-table/data-table.js +7 -1
  16. package/dist/data-table/data-table.module.js +29 -29
  17. package/dist/date-picker/date-picker.css +1 -1
  18. package/dist/date-picker/date-picker.module.js +19 -19
  19. package/dist/dropdown/dropdown.js +48 -50
  20. package/dist/file-uploader/file-uploader.css +1 -1
  21. package/dist/file-uploader/file-uploader.module.js +14 -14
  22. package/dist/filter/filter.js +10 -9
  23. package/dist/header-panel/header-panel.js +2 -4
  24. package/dist/icon-button/icon-button.css +1 -1
  25. package/dist/icon-button/icon-button.js +10 -10
  26. package/dist/icon-button/icon-button.module.js +1 -1
  27. package/dist/index.d.ts +1300 -69
  28. package/dist/input/input.css +1 -1
  29. package/dist/input/input.module.js +5 -5
  30. package/dist/item/item.css +1 -1
  31. package/dist/item/item.module.js +6 -6
  32. package/dist/layouts/src/page-header/page-header.css +1 -0
  33. package/dist/layouts/src/page-header/page-header.js +33 -0
  34. package/dist/layouts/src/page-header/page-header.module.js +13 -0
  35. package/dist/link/link.js +12 -12
  36. package/dist/modal/modal.js +4 -4
  37. package/dist/multi-select/multi-select.css +1 -1
  38. package/dist/multi-select/multi-select.module.js +11 -11
  39. package/dist/node/alert-dialog/alert-dialog.js +2 -4
  40. package/dist/node/app-shell/app-shell.js +24 -23
  41. package/dist/node/badge/badge.js +17 -10
  42. package/dist/node/button/button.module.js +1 -1
  43. package/dist/node/card/card.js +21 -11
  44. package/dist/node/card/card.module.js +8 -5
  45. package/dist/node/checkbox/checkbox.js +2 -2
  46. package/dist/node/combobox/combobox.module.js +15 -15
  47. package/dist/node/command-menu/command-menu.js +67 -71
  48. package/dist/node/data-table/data-table.js +7 -1
  49. package/dist/node/data-table/data-table.module.js +29 -29
  50. package/dist/node/date-picker/date-picker.module.js +19 -19
  51. package/dist/node/dropdown/dropdown.js +48 -50
  52. package/dist/node/file-uploader/file-uploader.module.js +14 -14
  53. package/dist/node/filter/filter.js +10 -9
  54. package/dist/node/header-panel/header-panel.js +2 -4
  55. package/dist/node/icon-button/icon-button.js +10 -10
  56. package/dist/node/icon-button/icon-button.module.js +1 -1
  57. package/dist/node/input/input.module.js +5 -5
  58. package/dist/node/item/item.module.js +6 -6
  59. package/dist/node/layouts/src/page-header/page-header.js +33 -0
  60. package/dist/node/layouts/src/page-header/page-header.module.js +12 -0
  61. package/dist/node/link/link.js +12 -12
  62. package/dist/node/modal/modal.js +4 -4
  63. package/dist/node/multi-select/multi-select.module.js +11 -11
  64. package/dist/node/notification/notification.js +50 -44
  65. package/dist/node/notification/notification.module.js +7 -7
  66. package/dist/node/number-input/number-input.module.js +8 -8
  67. package/dist/node/otp-input/otp-input.module.js +2 -2
  68. package/dist/node/overflow-menu/overflow-menu.js +18 -13
  69. package/dist/node/password-input/password-input.module.js +7 -7
  70. package/dist/node/popover/use-popover.js +9 -9
  71. package/dist/node/progress/progress.js +3 -2
  72. package/dist/node/react/src/index.js +63 -62
  73. package/dist/node/search/search.js +19 -22
  74. package/dist/node/search/search.module.js +5 -5
  75. package/dist/node/sheet/sheet.js +2 -4
  76. package/dist/node/stat/stat.js +6 -5
  77. package/dist/node/stat/stat.module.js +7 -7
  78. package/dist/node/status/status.js +18 -11
  79. package/dist/node/steps/steps.js +23 -23
  80. package/dist/node/structured-list/structured-list.js +14 -13
  81. package/dist/node/tag/tag.js +22 -15
  82. package/dist/node/tags-input/tags-input.module.js +4 -4
  83. package/dist/node/tile/tile.module.js +3 -3
  84. package/dist/node/time-picker/time-picker.module.js +5 -5
  85. package/dist/node/timeline/timeline.js +22 -16
  86. package/dist/node/visually-hidden/visually-hidden.js +2 -13
  87. package/dist/notification/notification.css +1 -1
  88. package/dist/notification/notification.js +50 -44
  89. package/dist/notification/notification.module.js +7 -7
  90. package/dist/number-input/number-input.css +1 -1
  91. package/dist/number-input/number-input.module.js +8 -8
  92. package/dist/otp-input/otp-input.css +1 -1
  93. package/dist/otp-input/otp-input.module.js +2 -2
  94. package/dist/overflow-menu/overflow-menu.js +18 -13
  95. package/dist/password-input/password-input.css +1 -1
  96. package/dist/password-input/password-input.module.js +7 -7
  97. package/dist/popover/use-popover.js +9 -9
  98. package/dist/progress/progress.js +3 -2
  99. package/dist/react/src/index.js +63 -62
  100. package/dist/search/search.css +1 -1
  101. package/dist/search/search.js +19 -22
  102. package/dist/search/search.module.js +5 -5
  103. package/dist/sheet/sheet.js +2 -4
  104. package/dist/stat/stat.css +1 -1
  105. package/dist/stat/stat.js +6 -5
  106. package/dist/stat/stat.module.js +7 -7
  107. package/dist/status/status.js +18 -11
  108. package/dist/steps/steps.js +23 -23
  109. package/dist/structured-list/structured-list.js +14 -13
  110. package/dist/styles.css +33 -21
  111. package/dist/tag/tag.js +22 -15
  112. package/dist/tags-input/tags-input.css +1 -1
  113. package/dist/tags-input/tags-input.module.js +4 -4
  114. package/dist/tile/tile.css +1 -1
  115. package/dist/tile/tile.module.js +3 -3
  116. package/dist/time-picker/time-picker.css +1 -1
  117. package/dist/time-picker/time-picker.module.js +5 -5
  118. package/dist/timeline/timeline.js +22 -16
  119. package/dist/visually-hidden/visually-hidden.js +2 -13
  120. package/package.json +4 -4
  121. package/readme.body.md +1 -1
  122. package/dist/node/visually-hidden/visually-hidden.module.js +0 -5
  123. package/dist/visually-hidden/visually-hidden.css +0 -1
  124. package/dist/visually-hidden/visually-hidden.module.js +0 -6
@@ -1 +1 @@
1
- @layer cascivo.component{._root_jwjfs_2{--_row-height:3rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background-color:var(--cascivo-color-surface);flex-direction:column;display:flex;overflow:hidden}._root_jwjfs_2[data-density=compact]{--_row-height:2.25rem}._root_jwjfs_2[data-density=normal]{--_row-height:3rem}._root_jwjfs_2[data-density=relaxed]{--_row-height:3.75rem}._toolbar_jwjfs_26{justify-content:space-between;align-items:flex-end;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-end:1px solid var(--cascivo-color-border);display:flex}._heading_jwjfs_35{gap:var(--cascivo-space-1);flex-direction:column;display:flex}._title_jwjfs_41{font-size:var(--cascivo-text-base);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._description_jwjfs_47{font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle)}._search_jwjfs_52{appearance:none;height:2rem;min-inline-size:14rem;padding-inline:var(--cascivo-space-3);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none}._search_jwjfs_52:hover:not(:focus){border-color:var(--cascivo-color-border-strong)}._search_jwjfs_52:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._batchBar_jwjfs_79{justify-content:space-between;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-2) var(--cascivo-space-4);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);display:flex}._batchCount_jwjfs_89{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text)}._batchActions_jwjfs_95{gap:var(--cascivo-space-2);display:flex}._scroller_jwjfs_101{max-block-size:var(--cascivo-data-table-max-height,none);overflow:auto}._scrollerVirtualized_jwjfs_106{block-size:var(--cascivo-data-table-height,400px);max-block-size:none;overflow:auto}._table_jwjfs_112{border-collapse:collapse;table-layout:auto;inline-size:100%}._root_jwjfs_2[data-paginated=true] ._table_jwjfs_112{table-layout:fixed}._table_jwjfs_112 thead th{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));text-align:start;font-weight:var(--cascivo-font-semibold);font-size:var(--cascivo-text-xs);text-transform:uppercase;letter-spacing:var(--cascivo-tracking-wide);color:var(--cascivo-color-text-subtle);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);white-space:nowrap}._table_jwjfs_112 thead th[data-align=end]{text-align:end}._table_jwjfs_112 td{padding-block:0;padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));block-size:var(--_row-height);vertical-align:middle;border-block-end:1px solid var(--cascivo-color-border);color:var(--cascivo-color-text);overflow-wrap:anywhere}._table_jwjfs_112 td[data-align=end]{text-align:end}._table_jwjfs_112 tbody tr[data-filler-row] td{border-block-end:none}._root_jwjfs_2[data-sticky-header=true] ._table_jwjfs_112 thead th{z-index:var(--cascivo-z-raised,10);background-color:var(--cascivo-color-surface);position:sticky;inset-block-start:0}._root_jwjfs_2[data-zebra=true] ._table_jwjfs_112 tbody tr:nth-child(2n of ._row_jwjfs_172){background-color:var(--cascivo-color-bg-subtle)}._controlCol_jwjfs_178{inline-size:3rem}._controlCell_jwjfs_182{text-align:center;padding-inline:var(--cascivo-space-2)}._sortButton_jwjfs_188{align-items:center;gap:var(--cascivo-space-1);font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;outline:none;padding:0;display:inline-flex}._sortButton_jwjfs_188:focus-visible{text-decoration:underline}._sortButton_jwjfs_188:after{content:"↕";opacity:.4;font-size:.75em}._sortButton_jwjfs_188[data-state=ascending]:after{content:"↑";opacity:.9}._sortButton_jwjfs_188[data-state=descending]:after{content:"↓";opacity:.9}._row_jwjfs_172{content-visibility:auto;contain-intrinsic-size:auto var(--_row-height,3rem)}._row_jwjfs_172[data-state=selected] td{background-color:color-mix(in srgb, var(--cascivo-color-accent) 8%, transparent)}._emptyCell_jwjfs_236{padding:var(--cascivo-space-8) var(--cascivo-space-4);text-align:center;color:var(--cascivo-color-text-muted)}._expansionRow_jwjfs_243[data-state=closed]{display:none}._expansionGrid_jwjfs_249{overflow:hidden}._expansionInner_jwjfs_253{padding:var(--cascivo-space-4)}._expandButton_jwjfs_258{cursor:pointer;block-size:1.5rem;inline-size:1.5rem;color:var(--cascivo-color-text-muted);border-radius:var(--cascivo-radius-control);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}._expandButton_jwjfs_258:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._expandButton_jwjfs_258:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._chevron_jwjfs_281{block-size:.75rem;inline-size:.75rem;transition:transform var(--cascivo-duration-150) var(--cascivo-ease-out);border-block-end:2px solid;border-inline-end:2px solid;display:block;transform:rotate(45deg)}._expandButton_jwjfs_258[data-state=open] ._chevron_jwjfs_281{transform:rotate(-135deg)}._shimmer_jwjfs_296{background-color:var(--cascivo-color-bg-subtle);border-radius:var(--cascivo-radius-indicator);block-size:.875rem;inline-size:80%;display:block;position:relative;overflow:hidden}._shimmer_jwjfs_296:after{content:"";background:linear-gradient(90deg, transparent, var(--cascivo-color-surface), transparent);animation:_shimmer_jwjfs_296 var(--cascivo-duration-500,.5s) var(--cascivo-ease-in-out,ease-in-out) infinite;position:absolute;inset:0;translate:-100%}@keyframes _shimmer_jwjfs_296{to{translate:100%}}._footer_jwjfs_323{justify-content:flex-end;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-start:1px solid var(--cascivo-color-border);font-size:var(--cascivo-text-sm);display:flex}._pageSize_jwjfs_333{align-items:center;gap:var(--cascivo-space-2);color:var(--cascivo-color-text-muted);display:flex}._pageSize_jwjfs_333 select{appearance:none;height:2rem;padding-inline:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:pointer;outline:none}._pageSize_jwjfs_333 select:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._range_jwjfs_359{color:var(--cascivo-color-text-muted);white-space:nowrap}._pageButtons_jwjfs_364{gap:var(--cascivo-space-1);display:flex}._pageButton_jwjfs_364{border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text);font-size:var(--cascivo-text-base);transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), border-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;outline:none;justify-content:center;align-items:center;display:inline-flex}._pageButton_jwjfs_364:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle);border-color:var(--cascivo-color-border-strong)}._pageButton_jwjfs_364:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._pageButton_jwjfs_364:disabled{color:var(--cascivo-color-text-muted);cursor:not-allowed}._srOnly_jwjfs_405{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}
1
+ @layer cascivo.component{._root_ulang_2{--_row-height:3rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background-color:var(--cascivo-color-surface);flex-direction:column;display:flex;overflow:hidden}._root_ulang_2[data-density=compact]{--_row-height:2.25rem}._root_ulang_2[data-density=normal]{--_row-height:3rem}._root_ulang_2[data-density=relaxed]{--_row-height:3.75rem}._toolbar_ulang_26{justify-content:space-between;align-items:flex-end;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-end:1px solid var(--cascivo-color-border);display:flex}._heading_ulang_35{gap:var(--cascivo-space-1);flex-direction:column;display:flex}._title_ulang_41{font-size:var(--cascivo-text-base);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._description_ulang_47{font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle)}._search_ulang_52{appearance:none;height:2rem;min-inline-size:14rem;padding-inline:var(--cascivo-space-3);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none}._search_ulang_52:hover:not(:focus){border-color:var(--cascivo-color-border-strong)}._search_ulang_52:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._batchBar_ulang_79{justify-content:space-between;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-2) var(--cascivo-space-4);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);display:flex}._batchCount_ulang_89{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text)}._batchActions_ulang_95{gap:var(--cascivo-space-2);display:flex}._scroller_ulang_101{max-block-size:var(--cascivo-data-table-max-height,none);overflow:auto}._scrollerVirtualized_ulang_106{block-size:var(--cascivo-data-table-height,400px);max-block-size:none;overflow:auto}._table_ulang_112{border-collapse:collapse;table-layout:auto;inline-size:100%}._root_ulang_2[data-paginated=true][data-fixed-layout=true] ._table_ulang_112{table-layout:fixed}._table_ulang_112 thead th{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));text-align:start;font-weight:var(--cascivo-font-semibold);font-size:var(--cascivo-text-xs);text-transform:uppercase;letter-spacing:var(--cascivo-tracking-wide);color:var(--cascivo-color-text-subtle);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);white-space:nowrap}._table_ulang_112 thead th[data-align=end]{text-align:end}._table_ulang_112 td{padding-block:0;padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));block-size:var(--_row-height);vertical-align:middle;border-block-end:1px solid var(--cascivo-color-border);color:var(--cascivo-color-text)}._table_ulang_112 td[data-sized],._table_ulang_112 th[data-sized]{overflow-wrap:anywhere}._table_ulang_112 td[data-align=end]{text-align:end}._table_ulang_112 tbody tr[data-filler-row] td{border-block-end:none}._root_ulang_2[data-sticky-header=true] ._table_ulang_112 thead th{z-index:var(--cascivo-z-raised,10);background-color:var(--cascivo-color-surface);position:sticky;inset-block-start:0}._root_ulang_2[data-zebra=true] ._table_ulang_112 tbody tr:nth-child(2n of ._row_ulang_182){background-color:var(--cascivo-color-bg-subtle)}._controlCol_ulang_188{inline-size:3rem}._controlCell_ulang_192{text-align:center;padding-inline:var(--cascivo-space-2)}._sortButton_ulang_198{align-items:center;gap:var(--cascivo-space-1);font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;outline:none;padding:0;display:inline-flex}._sortButton_ulang_198:focus-visible{text-decoration:underline}._sortButton_ulang_198:after{content:"↕";opacity:.4;font-size:.75em}._sortButton_ulang_198[data-state=ascending]:after{content:"↑";opacity:.9}._sortButton_ulang_198[data-state=descending]:after{content:"↓";opacity:.9}._row_ulang_182{content-visibility:auto;contain-intrinsic-size:auto var(--_row-height,3rem)}._row_ulang_182[data-state=selected] td{background-color:color-mix(in srgb, var(--cascivo-color-accent) 8%, transparent)}._emptyCell_ulang_246{padding:var(--cascivo-space-8) var(--cascivo-space-4);text-align:center;color:var(--cascivo-color-text-muted)}._expansionRow_ulang_253[data-state=closed]{display:none}._expansionGrid_ulang_259{overflow:hidden}._expansionInner_ulang_263{padding:var(--cascivo-space-4)}._expandButton_ulang_268{cursor:pointer;block-size:1.5rem;inline-size:1.5rem;color:var(--cascivo-color-text-muted);border-radius:var(--cascivo-radius-control);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}._expandButton_ulang_268:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._expandButton_ulang_268:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._chevron_ulang_291{block-size:.75rem;inline-size:.75rem;transition:transform var(--cascivo-duration-150) var(--cascivo-ease-out);border-block-end:2px solid;border-inline-end:2px solid;display:block;transform:rotate(45deg)}._expandButton_ulang_268[data-state=open] ._chevron_ulang_291{transform:rotate(-135deg)}._shimmer_ulang_306{background-color:var(--cascivo-color-bg-subtle);border-radius:var(--cascivo-radius-indicator);block-size:.875rem;inline-size:80%;display:block;position:relative;overflow:hidden}._shimmer_ulang_306:after{content:"";background:linear-gradient(90deg, transparent, var(--cascivo-color-surface), transparent);animation:_shimmer_ulang_306 var(--cascivo-duration-500,.5s) var(--cascivo-ease-in-out,ease-in-out) infinite;position:absolute;inset:0;translate:-100%}@keyframes _shimmer_ulang_306{to{translate:100%}}._footer_ulang_333{justify-content:flex-end;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-start:1px solid var(--cascivo-color-border);font-size:var(--cascivo-text-sm);display:flex}._pageSize_ulang_343{align-items:center;gap:var(--cascivo-space-2);color:var(--cascivo-color-text-muted);display:flex}._pageSize_ulang_343 select{appearance:none;height:2rem;padding-inline:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:pointer;outline:none}._pageSize_ulang_343 select:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._range_ulang_369{color:var(--cascivo-color-text-muted);white-space:nowrap}._pageButtons_ulang_374{gap:var(--cascivo-space-1);display:flex}._pageButton_ulang_374{border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text);font-size:var(--cascivo-text-base);transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), border-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;outline:none;justify-content:center;align-items:center;display:inline-flex}._pageButton_ulang_374:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle);border-color:var(--cascivo-color-border-strong)}._pageButton_ulang_374:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._pageButton_ulang_374:disabled{color:var(--cascivo-color-text-muted);cursor:not-allowed}._srOnly_ulang_415{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}
@@ -117,6 +117,7 @@ function f({ columns: f, rows: se, getRowId: ce, sort: p, defaultSort: le, sortM
117
117
  "data-zebra": pe || void 0,
118
118
  "data-sticky-header": me || void 0,
119
119
  "data-paginated": h ? !0 : void 0,
120
+ "data-fixed-layout": f.every((e) => e.width !== void 0) || void 0,
120
121
  children: [
121
122
  /* @__PURE__ */ l("span", {
122
123
  "aria-live": "polite",
@@ -176,7 +177,10 @@ function f({ columns: f, rows: se, getRowId: ce, sort: p, defaultSort: le, sortM
176
177
  /* @__PURE__ */ u("colgroup", { children: [
177
178
  v && /* @__PURE__ */ l("col", { className: n.controlCol }),
178
179
  g && /* @__PURE__ */ l("col", { className: n.controlCol }),
179
- f.map((e) => /* @__PURE__ */ l("col", { style: e.width === void 0 ? void 0 : { width: e.width } }, e.key))
180
+ f.map((e) => /* @__PURE__ */ l("col", { style: e.width !== void 0 || e.minWidth !== void 0 ? {
181
+ ...e.width === void 0 ? {} : { width: e.width },
182
+ ...e.minWidth === void 0 ? {} : { minWidth: e.minWidth }
183
+ } : void 0 }, e.key))
180
184
  ] }),
181
185
  /* @__PURE__ */ l("thead", { children: /* @__PURE__ */ u("tr", { children: [
182
186
  v && /* @__PURE__ */ l("th", {
@@ -205,6 +209,7 @@ function f({ columns: f, rows: se, getRowId: ce, sort: p, defaultSort: le, sortM
205
209
  return /* @__PURE__ */ l("th", {
206
210
  scope: "col",
207
211
  "data-align": e.align ?? "start",
212
+ "data-sized": e.width !== void 0 || void 0,
208
213
  "aria-sort": e.sortable ? r : void 0,
209
214
  children: e.sortable ? /* @__PURE__ */ l("button", {
210
215
  type: "button",
@@ -269,6 +274,7 @@ function f({ columns: f, rows: se, getRowId: ce, sort: p, defaultSort: le, sortM
269
274
  }),
270
275
  f.map((t) => /* @__PURE__ */ l("td", {
271
276
  "data-align": t.align ?? "start",
277
+ "data-sized": t.width !== void 0 || void 0,
272
278
  children: t.render ? t.render(e.row) : String(d(e.row, t.key) ?? "")
273
279
  }, t.key))
274
280
  ]
@@ -2,35 +2,35 @@
2
2
 
3
3
  import './data-table.css';
4
4
  var e = {
5
- root: "_root_jwjfs_2",
6
- toolbar: "_toolbar_jwjfs_26",
7
- heading: "_heading_jwjfs_35",
8
- title: "_title_jwjfs_41",
9
- description: "_description_jwjfs_47",
10
- search: "_search_jwjfs_52",
11
- batchBar: "_batchBar_jwjfs_79",
12
- batchCount: "_batchCount_jwjfs_89",
13
- batchActions: "_batchActions_jwjfs_95",
14
- scroller: "_scroller_jwjfs_101",
15
- scrollerVirtualized: "_scrollerVirtualized_jwjfs_106",
16
- table: "_table_jwjfs_112",
17
- row: "_row_jwjfs_172",
18
- controlCol: "_controlCol_jwjfs_178",
19
- controlCell: "_controlCell_jwjfs_182",
20
- sortButton: "_sortButton_jwjfs_188",
21
- emptyCell: "_emptyCell_jwjfs_236",
22
- expansionRow: "_expansionRow_jwjfs_243",
23
- expansionGrid: "_expansionGrid_jwjfs_249",
24
- expansionInner: "_expansionInner_jwjfs_253",
25
- expandButton: "_expandButton_jwjfs_258",
26
- chevron: "_chevron_jwjfs_281",
27
- shimmer: "_shimmer_jwjfs_296",
28
- footer: "_footer_jwjfs_323",
29
- pageSize: "_pageSize_jwjfs_333",
30
- range: "_range_jwjfs_359",
31
- pageButtons: "_pageButtons_jwjfs_364",
32
- pageButton: "_pageButton_jwjfs_364",
33
- srOnly: "_srOnly_jwjfs_405"
5
+ root: "_root_ulang_2",
6
+ toolbar: "_toolbar_ulang_26",
7
+ heading: "_heading_ulang_35",
8
+ title: "_title_ulang_41",
9
+ description: "_description_ulang_47",
10
+ search: "_search_ulang_52",
11
+ batchBar: "_batchBar_ulang_79",
12
+ batchCount: "_batchCount_ulang_89",
13
+ batchActions: "_batchActions_ulang_95",
14
+ scroller: "_scroller_ulang_101",
15
+ scrollerVirtualized: "_scrollerVirtualized_ulang_106",
16
+ table: "_table_ulang_112",
17
+ row: "_row_ulang_182",
18
+ controlCol: "_controlCol_ulang_188",
19
+ controlCell: "_controlCell_ulang_192",
20
+ sortButton: "_sortButton_ulang_198",
21
+ emptyCell: "_emptyCell_ulang_246",
22
+ expansionRow: "_expansionRow_ulang_253",
23
+ expansionGrid: "_expansionGrid_ulang_259",
24
+ expansionInner: "_expansionInner_ulang_263",
25
+ expandButton: "_expandButton_ulang_268",
26
+ chevron: "_chevron_ulang_291",
27
+ shimmer: "_shimmer_ulang_306",
28
+ footer: "_footer_ulang_333",
29
+ pageSize: "_pageSize_ulang_343",
30
+ range: "_range_ulang_369",
31
+ pageButtons: "_pageButtons_ulang_374",
32
+ pageButton: "_pageButton_ulang_374",
33
+ srOnly: "_srOnly_ulang_415"
34
34
  };
35
35
  //#endregion
36
36
  export { e as default };
@@ -1 +1 @@
1
- @layer cascivo.component{._wrapper_6chzy_2{gap:var(--cascivo-space-1);font-family:var(--cascivo-font-sans);flex-direction:column;display:inline-flex;position:relative}._wrapper_6chzy_2[data-size=sm]{--_height:2rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-3)}._wrapper_6chzy_2[data-size=md]{--_height:2.5rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-4)}._wrapper_6chzy_2[data-size=lg]{--_height:3rem;--_font:var(--cascivo-text-base);--_px:var(--cascivo-space-4)}._label_6chzy_27{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-snug)}._field_6chzy_34{align-items:center;display:flex;position:relative}._trigger_6chzy_40{justify-content:space-between;align-items:center;gap:var(--cascivo-space-2);block-size:var(--_height,2.5rem);min-inline-size:12rem;padding-inline:var(--_px,var(--cascivo-space-4));font-family:var(--cascivo-font-sans);font-size:var(--_font,var(--cascivo-text-sm));color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:pointer;text-align:start;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none;display:flex}._trigger_6chzy_40:hover:not(:disabled){border-color:var(--cascivo-color-border-strong)}._trigger_6chzy_40:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._trigger_6chzy_40:disabled{opacity:.5;cursor:not-allowed}._wrapper_6chzy_2[data-state=error] ._trigger_6chzy_40{border-color:var(--cascivo-color-danger)}._value_6chzy_78{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._placeholder_6chzy_84{color:var(--cascivo-color-text-subtle)}._icon_6chzy_87{color:var(--cascivo-color-text-muted);font-style:normal}._clear_6chzy_92{cursor:pointer;min-block-size:1.5rem;min-inline-size:1.5rem;color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-xs);padding:var(--cascivo-space-1);border-radius:var(--cascivo-radius-control);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-inline-end:var(--cascivo-space-8)}._clear_6chzy_92:hover{color:var(--cascivo-color-text)}._clear_6chzy_92:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._calendar_6chzy_117{z-index:var(--cascivo-z-dropdown);padding:var(--cascivo-space-3);background-color:var(--cascivo-color-surface-overlay);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-overlay);box-shadow:var(--cascivo-shadow-overlay);opacity:0;visibility:hidden;transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter);position:absolute;inset-block-start:calc(100% + var(--cascivo-space-1));inset-inline-start:0;translate:0 -.25rem}._calendar_6chzy_117[data-state=open]{opacity:1;visibility:visible;translate:0}@starting-style{._calendar_6chzy_117[data-state=open]{opacity:0;translate:0 -.25rem}}._header_6chzy_149{justify-content:space-between;align-items:center;margin-block-end:var(--cascivo-space-2);display:flex}._monthLabel_6chzy_156{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._navButton_6chzy_162{border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-base);background:0 0;border:1px solid #0000;outline:none;justify-content:center;align-items:center;display:inline-flex}._navButton_6chzy_162:hover{background-color:var(--cascivo-color-bg-subtle);color:var(--cascivo-color-text)}._navButton_6chzy_162:focus-visible{border-color:var(--cascivo-color-accent)}._grid_6chzy_184{border-collapse:collapse;inline-size:100%}._weekday_6chzy_189{padding-block:var(--cascivo-space-1);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text-muted);text-align:center;inline-size:2.25rem}._cell_6chzy_198{text-align:center;padding:2px}._empty_6chzy_202{inline-size:2.25rem}._day_6chzy_206{block-size:2.25rem;inline-size:2.25rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border-radius:var(--cascivo-radius-control);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:flex}._day_6chzy_206:hover:not([aria-disabled]){background-color:var(--cascivo-color-bg-subtle)}._day_6chzy_206:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._day_6chzy_206[data-today]{font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-accent)}._day_6chzy_206[data-selected]{background-color:var(--cascivo-color-accent);color:var(--cascivo-color-accent-foreground,var(--cascivo-color-text-on-accent))}._day_6chzy_206[aria-disabled]{opacity:.35;cursor:not-allowed}._error_6chzy_241{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-danger)}._hint_6chzy_245{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-muted)}}
1
+ @layer cascivo.component{._wrapper_1hgll_2{gap:var(--cascivo-space-1);min-inline-size:0;font-family:var(--cascivo-font-sans);flex-direction:column;display:inline-flex;position:relative}._wrapper_1hgll_2[data-size=sm]{--_height:2rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-3)}._wrapper_1hgll_2[data-size=md]{--_height:2.5rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-4)}._wrapper_1hgll_2[data-size=lg]{--_height:3rem;--_font:var(--cascivo-text-base);--_px:var(--cascivo-space-4)}._label_1hgll_31{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-snug)}._field_1hgll_38{align-items:center;display:flex;position:relative}._trigger_1hgll_44{justify-content:space-between;align-items:center;gap:var(--cascivo-space-2);block-size:var(--_height,2.5rem);min-inline-size:12rem;padding-inline:var(--_px,var(--cascivo-space-4));font-family:var(--cascivo-font-sans);font-size:var(--_font,var(--cascivo-text-sm));color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:pointer;text-align:start;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none;display:flex}._trigger_1hgll_44:hover:not(:disabled){border-color:var(--cascivo-color-border-strong)}._trigger_1hgll_44:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._trigger_1hgll_44:disabled{opacity:.5;cursor:not-allowed}._wrapper_1hgll_2[data-state=error] ._trigger_1hgll_44{border-color:var(--cascivo-color-danger)}._value_1hgll_82{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._placeholder_1hgll_88{color:var(--cascivo-color-text-subtle)}._icon_1hgll_91{color:var(--cascivo-color-text-muted);font-style:normal}._clear_1hgll_96{cursor:pointer;min-block-size:1.5rem;min-inline-size:1.5rem;color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-xs);padding:var(--cascivo-space-1);border-radius:var(--cascivo-radius-control);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-inline-end:var(--cascivo-space-8)}._clear_1hgll_96:hover{color:var(--cascivo-color-text)}._clear_1hgll_96:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._calendar_1hgll_121{z-index:var(--cascivo-z-dropdown);padding:var(--cascivo-space-3);background-color:var(--cascivo-color-surface-overlay);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-overlay);box-shadow:var(--cascivo-shadow-overlay);opacity:0;visibility:hidden;transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter);position:absolute;inset-block-start:calc(100% + var(--cascivo-space-1));inset-inline-start:0;translate:0 -.25rem}._calendar_1hgll_121[data-state=open]{opacity:1;visibility:visible;translate:0}@starting-style{._calendar_1hgll_121[data-state=open]{opacity:0;translate:0 -.25rem}}._header_1hgll_153{justify-content:space-between;align-items:center;margin-block-end:var(--cascivo-space-2);display:flex}._monthLabel_1hgll_160{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._navButton_1hgll_166{border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-base);background:0 0;border:1px solid #0000;outline:none;justify-content:center;align-items:center;display:inline-flex}._navButton_1hgll_166:hover{background-color:var(--cascivo-color-bg-subtle);color:var(--cascivo-color-text)}._navButton_1hgll_166:focus-visible{border-color:var(--cascivo-color-accent)}._grid_1hgll_188{border-collapse:collapse;inline-size:100%}._weekday_1hgll_193{padding-block:var(--cascivo-space-1);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text-muted);text-align:center;inline-size:2.25rem}._cell_1hgll_202{text-align:center;padding:2px}._empty_1hgll_206{inline-size:2.25rem}._day_1hgll_210{block-size:2.25rem;inline-size:2.25rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border-radius:var(--cascivo-radius-control);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:flex}._day_1hgll_210:hover:not([aria-disabled]){background-color:var(--cascivo-color-bg-subtle)}._day_1hgll_210:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._day_1hgll_210[data-today]{font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-accent)}._day_1hgll_210[data-selected]{background-color:var(--cascivo-color-accent);color:var(--cascivo-color-accent-foreground,var(--cascivo-color-text-on-accent))}._day_1hgll_210[aria-disabled]{opacity:.35;cursor:not-allowed}._error_1hgll_245{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-danger)}._hint_1hgll_249{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-muted)}}
@@ -2,25 +2,25 @@
2
2
 
3
3
  import './date-picker.css';
4
4
  var e = {
5
- wrapper: "_wrapper_6chzy_2",
6
- label: "_label_6chzy_27",
7
- field: "_field_6chzy_34",
8
- trigger: "_trigger_6chzy_40",
9
- value: "_value_6chzy_78",
10
- placeholder: "_placeholder_6chzy_84",
11
- icon: "_icon_6chzy_87",
12
- clear: "_clear_6chzy_92",
13
- calendar: "_calendar_6chzy_117",
14
- header: "_header_6chzy_149",
15
- monthLabel: "_monthLabel_6chzy_156",
16
- navButton: "_navButton_6chzy_162",
17
- grid: "_grid_6chzy_184",
18
- weekday: "_weekday_6chzy_189",
19
- cell: "_cell_6chzy_198",
20
- empty: "_empty_6chzy_202",
21
- day: "_day_6chzy_206",
22
- error: "_error_6chzy_241",
23
- hint: "_hint_6chzy_245"
5
+ wrapper: "_wrapper_1hgll_2",
6
+ label: "_label_1hgll_31",
7
+ field: "_field_1hgll_38",
8
+ trigger: "_trigger_1hgll_44",
9
+ value: "_value_1hgll_82",
10
+ placeholder: "_placeholder_1hgll_88",
11
+ icon: "_icon_1hgll_91",
12
+ clear: "_clear_1hgll_96",
13
+ calendar: "_calendar_1hgll_121",
14
+ header: "_header_1hgll_153",
15
+ monthLabel: "_monthLabel_1hgll_160",
16
+ navButton: "_navButton_1hgll_166",
17
+ grid: "_grid_1hgll_188",
18
+ weekday: "_weekday_1hgll_193",
19
+ cell: "_cell_1hgll_202",
20
+ empty: "_empty_1hgll_206",
21
+ day: "_day_1hgll_210",
22
+ error: "_error_1hgll_245",
23
+ hint: "_hint_1hgll_249"
24
24
  };
25
25
  //#endregion
26
26
  export { e as default };
@@ -1,102 +1,100 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./dropdown.module.js";
4
- import { composeRefs as t, createMachine as n, useMachine as r, useSignal as i, useSignalEffect as a, useSignals as o } from "@cascivo/core";
5
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
- import { cloneElement as l, useRef as u } from "react";
4
+ import { composeRefs as t, createMachine as n, useEffectPropSignal as r, useMachine as i, useSignal as a, useSignalEffect as o, useSignals as s } from "@cascivo/core";
5
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ import { cloneElement as u, useRef as d } from "react";
7
7
  //#region ../components/src/dropdown/dropdown.tsx
8
- var d = n({
8
+ var f = n({
9
9
  initial: "closed",
10
10
  states: {
11
11
  closed: { on: { OPEN: "open" } },
12
12
  open: { on: { CLOSE: "closed" } }
13
13
  }
14
14
  });
15
- function f({ trigger: n, items: f, onSelect: p, placement: m = "bottom-start", open: h, onOpenChange: g }) {
16
- o();
17
- let [_, v] = r(d), y = u(null), b = u(null), x = u(null), S = u([]), C = i(-1), w = h !== void 0, T = w ? h : _.value === "open", E = i(T);
18
- E.value = T;
19
- let D = f.map((e, t) => ({
15
+ function p({ trigger: n, items: p, onSelect: m, placement: h = "bottom-start", open: g, onOpenChange: _ }) {
16
+ s();
17
+ let [v, y] = i(f), b = d(null), x = d(null), S = d(null), C = d([]), w = a(-1), T = g !== void 0, E = T ? g : v.value === "open", D = r(E), O = p.map((e, t) => ({
20
18
  item: e,
21
19
  index: t
22
- })).filter(({ item: e }) => !e.separator && !e.disabled).map(({ index: e }) => e), O = (e) => {
23
- w || v(e ? "OPEN" : "CLOSE"), g?.(e);
20
+ })).filter(({ item: e }) => !e.separator && !e.disabled).map(({ index: e }) => e), k = (e) => {
21
+ T || y(e ? "OPEN" : "CLOSE"), _?.(e);
24
22
  };
25
- a(() => {
26
- let e = C.value;
27
- E.value && e >= 0 && S.current[e]?.focus();
28
- }), a(() => {
29
- E.value ? C.value = D[0] ?? -1 : C.value = -1;
30
- }), a(() => {
31
- E.value ? x.current?.showPopover() : x.current?.hidePopover();
32
- }), a(() => {
33
- let e = x.current;
23
+ o(() => {
24
+ let e = w.value;
25
+ D.value && e >= 0 && C.current[e]?.focus();
26
+ }), o(() => {
27
+ D.value ? w.value = O[0] ?? -1 : w.value = -1;
28
+ }), o(() => {
29
+ D.value ? S.current?.showPopover() : S.current?.hidePopover();
30
+ }), o(() => {
31
+ let e = S.current;
34
32
  if (!e) return;
35
33
  let t = (e) => {
36
- e.newState === "closed" && O(!1);
34
+ e.newState === "closed" && k(!1);
37
35
  };
38
36
  return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
39
37
  });
40
- let k = (e) => {
41
- let t = f[e];
42
- !t || t.separator || t.disabled || (p?.(t.value), O(!1), b.current?.focus());
43
- }, A = (e) => {
44
- D.length !== 0 && (C.value = D[(D.indexOf(C.value) + e + D.length) % D.length] ?? -1);
38
+ let A = (e) => {
39
+ let t = p[e];
40
+ !t || t.separator || t.disabled || (m?.(t.value), k(!1), x.current?.focus());
45
41
  }, j = (e) => {
42
+ O.length !== 0 && (w.value = O[(O.indexOf(w.value) + e + O.length) % O.length] ?? -1);
43
+ }, M = (e) => {
46
44
  switch (e.key) {
47
45
  case "ArrowDown":
48
- e.preventDefault(), A(1);
46
+ e.preventDefault(), j(1);
49
47
  break;
50
48
  case "ArrowUp":
51
- e.preventDefault(), A(-1);
49
+ e.preventDefault(), j(-1);
52
50
  break;
53
51
  case "Home":
54
- e.preventDefault(), C.value = D[0] ?? -1;
52
+ e.preventDefault(), w.value = O[0] ?? -1;
55
53
  break;
56
54
  case "End":
57
- e.preventDefault(), C.value = D[D.length - 1] ?? -1;
55
+ e.preventDefault(), w.value = O[O.length - 1] ?? -1;
58
56
  break;
59
57
  case "Escape":
60
- e.preventDefault(), O(!1), b.current?.focus();
58
+ e.preventDefault(), k(!1), x.current?.focus();
61
59
  break;
62
60
  case "Enter":
63
61
  case " ":
64
- e.preventDefault(), k(C.value);
62
+ e.preventDefault(), A(w.value);
65
63
  break;
66
64
  }
67
- }, M = n, N = l(M, {
68
- ref: t(b, M.props.ref),
65
+ }, N = n, P = u(N, {
66
+ ref: t(x, N.props.ref),
69
67
  onClick: (e) => {
70
- M.props.onClick?.(e), O(!T);
68
+ N.props.onClick?.(e), k(!E);
71
69
  },
72
70
  "aria-haspopup": "menu",
73
- "aria-expanded": T
71
+ "aria-expanded": E
74
72
  });
75
- return /* @__PURE__ */ c("div", {
76
- ref: y,
73
+ return /* @__PURE__ */ l("div", {
74
+ ref: b,
77
75
  className: e.root,
78
- children: [N, /* @__PURE__ */ s("div", {
79
- ref: x,
76
+ children: [P, /* @__PURE__ */ c("div", {
77
+ ref: S,
80
78
  popover: "auto",
81
79
  role: "menu",
82
- "data-placement": m,
83
- "data-state": T ? "open" : "closed",
80
+ "data-placement": h,
81
+ "data-state": E ? "open" : "closed",
84
82
  className: e.menu,
85
- onKeyDown: j,
86
- children: f.map((t, n) => t.separator ? /* @__PURE__ */ s("div", {
83
+ onKeyDown: M,
84
+ children: p.map((t, n) => t.separator ? /* @__PURE__ */ c("div", {
87
85
  role: "separator",
88
86
  className: e.separator
89
- }, `sep-${n}`) : /* @__PURE__ */ c("button", {
87
+ }, `sep-${n}`) : /* @__PURE__ */ l("button", {
90
88
  type: "button",
91
89
  role: "menuitem",
92
90
  ref: (e) => {
93
- S.current[n] = e;
91
+ C.current[n] = e;
94
92
  },
95
- tabIndex: C.value === n ? 0 : -1,
93
+ tabIndex: w.value === n ? 0 : -1,
96
94
  disabled: t.disabled,
97
95
  className: e.item,
98
- onClick: () => k(n),
99
- children: [t.icon && /* @__PURE__ */ s("span", {
96
+ onClick: () => A(n),
97
+ children: [t.icon && /* @__PURE__ */ c("span", {
100
98
  className: e.icon,
101
99
  "aria-hidden": "true",
102
100
  children: t.icon
@@ -106,4 +104,4 @@ function f({ trigger: n, items: f, onSelect: p, placement: m = "bottom-start", o
106
104
  });
107
105
  }
108
106
  //#endregion
109
- export { f as Dropdown };
107
+ export { p as Dropdown };
@@ -1 +1 @@
1
- @layer cascivo.component{._uploader_bw6tn_2{gap:var(--cascivo-space-2);flex-direction:column;inline-size:100%;display:flex}._label_bw6tn_9{font-size:var(--cascivo-font-size-sm);font-weight:var(--cascivo-font-weight-medium);color:var(--cascivo-color-text)}._input_bw6tn_15{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}._zone_bw6tn_24{padding:var(--cascivo-space-8) var(--cascivo-space-4);border:2px dashed var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);color:var(--cascivo-color-text-muted);font-size:var(--cascivo-font-size-sm);cursor:pointer;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), background var(--cascivo-duration-150) var(--cascivo-ease-out);text-align:center;justify-content:center;align-items:center;inline-size:100%;display:flex}._zone_bw6tn_24:hover:not(:disabled),._zone_bw6tn_24[data-state=dragover]{border-color:var(--cascivo-color-accent);background:var(--cascivo-color-accent-subtle)}._zone_bw6tn_24:disabled{opacity:.5;cursor:not-allowed}._hint_bw6tn_57{font-size:var(--cascivo-font-size-xs);color:var(--cascivo-color-text-muted)}._list_bw6tn_62{gap:var(--cascivo-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._file_bw6tn_71{align-items:center;gap:var(--cascivo-space-2);padding:var(--cascivo-space-2) var(--cascivo-space-3);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);font-size:var(--cascivo-font-size-sm);grid-template-columns:auto 1fr auto auto;grid-template-areas:"status name size remove""status error error error";display:grid}._file_bw6tn_71[data-state=error]{border-color:var(--cascivo-color-danger)}._status_bw6tn_88{grid-area:status;align-items:center;display:flex}._glyph-complete_bw6tn_94{color:var(--cascivo-color-success-foreground)}._glyph-error_bw6tn_98{color:var(--cascivo-color-danger)}._name_bw6tn_102{text-overflow:ellipsis;white-space:nowrap;grid-area:name;overflow:hidden}._size_bw6tn_109{color:var(--cascivo-color-text-muted);font-size:var(--cascivo-font-size-xs);grid-area:size}._remove_bw6tn_115{padding:var(--cascivo-space-1);border-radius:var(--cascivo-radius-control);color:var(--cascivo-color-text-muted);cursor:pointer;font-size:var(--cascivo-font-size-xs);background:0 0;border:none;grid-area:remove;justify-content:center;align-items:center;line-height:1;display:flex}._remove_bw6tn_115:hover{color:var(--cascivo-color-danger);background:var(--cascivo-color-danger-subtle)}._error-message_bw6tn_135{font-size:var(--cascivo-font-size-xs);color:var(--cascivo-color-danger);grid-area:error}}
1
+ @layer cascivo.component{._uploader_nfhc5_2{gap:var(--cascivo-space-2);flex-direction:column;inline-size:100%;min-inline-size:0;display:flex}._label_nfhc5_13{font-size:var(--cascivo-font-size-sm);font-weight:var(--cascivo-font-weight-medium);color:var(--cascivo-color-text)}._input_nfhc5_19{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}._zone_nfhc5_28{padding:var(--cascivo-space-8) var(--cascivo-space-4);border:2px dashed var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);color:var(--cascivo-color-text-muted);font-size:var(--cascivo-font-size-sm);cursor:pointer;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), background var(--cascivo-duration-150) var(--cascivo-ease-out);text-align:center;justify-content:center;align-items:center;inline-size:100%;display:flex}._zone_nfhc5_28:hover:not(:disabled),._zone_nfhc5_28[data-state=dragover]{border-color:var(--cascivo-color-accent);background:var(--cascivo-color-accent-subtle)}._zone_nfhc5_28:disabled{opacity:.5;cursor:not-allowed}._hint_nfhc5_61{font-size:var(--cascivo-font-size-xs);color:var(--cascivo-color-text-muted)}._list_nfhc5_66{gap:var(--cascivo-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._file_nfhc5_75{align-items:center;gap:var(--cascivo-space-2);padding:var(--cascivo-space-2) var(--cascivo-space-3);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);font-size:var(--cascivo-font-size-sm);grid-template-columns:auto 1fr auto auto;grid-template-areas:"status name size remove""status error error error";display:grid}._file_nfhc5_75[data-state=error]{border-color:var(--cascivo-color-danger)}._status_nfhc5_92{grid-area:status;align-items:center;display:flex}._glyph-complete_nfhc5_98{color:var(--cascivo-color-success-foreground)}._glyph-error_nfhc5_102{color:var(--cascivo-color-danger)}._name_nfhc5_106{text-overflow:ellipsis;white-space:nowrap;grid-area:name;overflow:hidden}._size_nfhc5_113{color:var(--cascivo-color-text-muted);font-size:var(--cascivo-font-size-xs);grid-area:size}._remove_nfhc5_119{padding:var(--cascivo-space-1);border-radius:var(--cascivo-radius-control);color:var(--cascivo-color-text-muted);cursor:pointer;font-size:var(--cascivo-font-size-xs);background:0 0;border:none;grid-area:remove;justify-content:center;align-items:center;line-height:1;display:flex}._remove_nfhc5_119:hover{color:var(--cascivo-color-danger);background:var(--cascivo-color-danger-subtle)}._error-message_nfhc5_139{font-size:var(--cascivo-font-size-xs);color:var(--cascivo-color-danger);grid-area:error}}
@@ -2,20 +2,20 @@
2
2
 
3
3
  import './file-uploader.css';
4
4
  var e = {
5
- uploader: "_uploader_bw6tn_2",
6
- label: "_label_bw6tn_9",
7
- input: "_input_bw6tn_15",
8
- zone: "_zone_bw6tn_24",
9
- hint: "_hint_bw6tn_57",
10
- list: "_list_bw6tn_62",
11
- file: "_file_bw6tn_71",
12
- status: "_status_bw6tn_88",
13
- "glyph-complete": "_glyph-complete_bw6tn_94",
14
- "glyph-error": "_glyph-error_bw6tn_98",
15
- name: "_name_bw6tn_102",
16
- size: "_size_bw6tn_109",
17
- remove: "_remove_bw6tn_115",
18
- "error-message": "_error-message_bw6tn_135"
5
+ uploader: "_uploader_nfhc5_2",
6
+ label: "_label_nfhc5_13",
7
+ input: "_input_nfhc5_19",
8
+ zone: "_zone_nfhc5_28",
9
+ hint: "_hint_nfhc5_61",
10
+ list: "_list_nfhc5_66",
11
+ file: "_file_nfhc5_75",
12
+ status: "_status_nfhc5_92",
13
+ "glyph-complete": "_glyph-complete_nfhc5_98",
14
+ "glyph-error": "_glyph-error_nfhc5_102",
15
+ name: "_name_nfhc5_106",
16
+ size: "_size_nfhc5_113",
17
+ remove: "_remove_nfhc5_119",
18
+ "error-message": "_error-message_nfhc5_139"
19
19
  };
20
20
  //#endregion
21
21
  export { e as default };
@@ -4,28 +4,29 @@ import e from "./filter.module.js";
4
4
  import { useControllableSignal as t, useSignals as n } from "@cascivo/core";
5
5
  import { jsx as r } from "react/jsx-runtime";
6
6
  //#region ../components/src/filter/filter.tsx
7
- function i({ options: i, value: a, defaultValue: o = [], onValueChange: s, onChange: c, multi: l = !1, variant: u = "pill", className: d, ...f }) {
7
+ function i({ options: i, value: a, defaultValue: o = [], onValueChange: s, onChange: c, multi: l = !1, variant: u = "pill", className: d, ariaLabel: f, ...p }) {
8
8
  n();
9
- let [p, m] = t({
9
+ let [m, h] = t({
10
10
  value: a,
11
11
  defaultValue: o,
12
12
  onChange: s ?? c
13
13
  });
14
- function h(e) {
15
- let t = p.value, n;
16
- n = l ? t.includes(e) ? t.filter((t) => t !== e) : [...t, e] : t.includes(e) ? [] : [e], m(n);
14
+ function g(e) {
15
+ let t = m.value, n;
16
+ n = l ? t.includes(e) ? t.filter((t) => t !== e) : [...t, e] : t.includes(e) ? [] : [e], h(n);
17
17
  }
18
18
  return /* @__PURE__ */ r("div", {
19
19
  role: "group",
20
20
  className: [e.filter, d].filter(Boolean).join(" "),
21
21
  "data-variant": u,
22
- ...f,
22
+ "aria-label": p["aria-label"] ?? f,
23
+ ...p,
23
24
  children: i.map((t) => /* @__PURE__ */ r("button", {
24
25
  type: "button",
25
26
  className: e.item,
26
- "data-selected": p.value.includes(t.value) || void 0,
27
- onClick: () => h(t.value),
28
- "aria-pressed": p.value.includes(t.value),
27
+ "data-selected": m.value.includes(t.value) || void 0,
28
+ onClick: () => g(t.value),
29
+ "aria-pressed": m.value.includes(t.value),
29
30
  children: t.label
30
31
  }, t.value))
31
32
  });
@@ -1,16 +1,14 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./header-panel.module.js";
4
- import { cn as t, useSignal as n, useSignalEffect as r, useSignals as i } from "@cascivo/core";
4
+ import { cn as t, useEffectPropSignal as n, useSignalEffect as r, useSignals as i } from "@cascivo/core";
5
5
  import { builtin as a, t as o } from "@cascivo/i18n";
6
6
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
7
  import { useRef as l } from "react";
8
8
  //#region ../components/src/header-panel/header-panel.tsx
9
9
  function u({ open: u, onClose: d, label: f, children: p, labels: m, className: h }) {
10
10
  i();
11
- let g = l(null), _ = l(null), v = n(u);
12
- v.value = u;
13
- let y = l(d);
11
+ let g = l(null), _ = l(null), v = n(u), y = l(d);
14
12
  return y.current = d, r(() => {
15
13
  let e = g.current;
16
14
  if (e) if (v.value) {
@@ -1 +1 @@
1
- @layer cascivo.component{._iconButton_13zh2_2{aspect-ratio:1;font-family:var(--cascivo-font-sans);line-height:var(--cascivo-leading-none);cursor:pointer;border-radius:var(--cascivo-button-radius,var(--cascivo-radius-control));color:var(--cascivo-color-text);transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);background-color:#0000;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}._iconButton_13zh2_2:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._iconButton_13zh2_2:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}._iconButton_13zh2_2[data-size=sm]{block-size:var(--cascivo-control-height-sm);inline-size:var(--cascivo-control-height-sm);font-size:var(--cascivo-text-sm)}._iconButton_13zh2_2[data-size=md]{block-size:var(--cascivo-control-height-md);inline-size:var(--cascivo-control-height-md);font-size:var(--cascivo-text-base)}._iconButton_13zh2_2[data-size=lg]{block-size:var(--cascivo-control-height-lg);inline-size:var(--cascivo-control-height-lg);font-size:var(--cascivo-text-lg)}._iconButton_13zh2_2[data-variant=ghost]:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle)}._iconButton_13zh2_2[data-variant=outline]{border-color:var(--cascivo-color-border);background-color:var(--cascivo-color-surface)}._iconButton_13zh2_2[data-variant=outline]:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle)}._iconButton_13zh2_2[data-variant=filled]{background-color:var(--cascivo-color-primary);color:var(--cascivo-color-primary-fg)}._iconButton_13zh2_2[data-variant=filled]:hover:not(:disabled){background-color:var(--cascivo-color-primary-hover)}._iconButton_13zh2_2[data-variant=filled]:active:not(:disabled){background-color:var(--cascivo-color-primary-active)}}@media (forced-colors:active){._iconButton_13zh2_2{border:1px solid buttontext}._iconButton_13zh2_2:focus-visible{outline-offset:2px;outline:2px solid highlight}._iconButton_13zh2_2:disabled{color:graytext;border-color:graytext}}
1
+ @layer cascivo.component{._iconButton_1f9hf_2{aspect-ratio:1;font-family:var(--cascivo-font-sans);line-height:var(--cascivo-leading-none);cursor:pointer;border-radius:var(--cascivo-button-radius,var(--cascivo-radius-control));color:var(--cascivo-color-text);transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);background-color:#0000;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}._iconButton_1f9hf_2:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._iconButton_1f9hf_2:disabled,._iconButton_1f9hf_2[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}._iconButton_1f9hf_2[data-size=sm]{block-size:var(--cascivo-control-height-sm);inline-size:var(--cascivo-control-height-sm);font-size:var(--cascivo-text-sm)}._iconButton_1f9hf_2[data-size=md]{block-size:var(--cascivo-control-height-md);inline-size:var(--cascivo-control-height-md);font-size:var(--cascivo-text-base)}._iconButton_1f9hf_2[data-size=lg]{block-size:var(--cascivo-control-height-lg);inline-size:var(--cascivo-control-height-lg);font-size:var(--cascivo-text-lg)}._iconButton_1f9hf_2[data-variant=ghost]:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle)}._iconButton_1f9hf_2[data-variant=outline]{border-color:var(--cascivo-color-border);background-color:var(--cascivo-color-surface)}._iconButton_1f9hf_2[data-variant=outline]:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle)}._iconButton_1f9hf_2[data-variant=filled]{background-color:var(--cascivo-color-primary);color:var(--cascivo-color-primary-fg)}._iconButton_1f9hf_2[data-variant=filled]:hover:not(:disabled){background-color:var(--cascivo-color-primary-hover)}._iconButton_1f9hf_2[data-variant=filled]:active:not(:disabled){background-color:var(--cascivo-color-primary-active)}}@media (forced-colors:active){._iconButton_1f9hf_2{border:1px solid buttontext}._iconButton_1f9hf_2:focus-visible{outline-offset:2px;outline:2px solid highlight}._iconButton_1f9hf_2:disabled{color:graytext;border-color:graytext}}
@@ -5,16 +5,16 @@ import { Slot as t, cn as n } from "@cascivo/core";
5
5
  import { jsx as r } from "react/jsx-runtime";
6
6
  import { forwardRef as i } from "react";
7
7
  //#region ../components/src/icon-button/icon-button.tsx
8
- var a = i(function({ label: i, icon: a, size: o = "md", variant: s = "ghost", asChild: c = !1, className: l, children: u, ...d }, f) {
9
- return /* @__PURE__ */ r(c ? t : "button", {
10
- type: c ? void 0 : "button",
11
- "aria-label": i,
12
- "data-size": o,
13
- "data-variant": s,
14
- className: n(e.iconButton, l),
15
- ref: f,
16
- ...d,
17
- children: u ?? a
8
+ var a = i(function({ label: i, ariaLabel: a, icon: o, size: s = "md", variant: c = "ghost", asChild: l = !1, className: u, children: d, ...f }, p) {
9
+ return /* @__PURE__ */ r(l ? t : "button", {
10
+ type: l ? void 0 : "button",
11
+ "aria-label": i ?? a,
12
+ "data-size": s,
13
+ "data-variant": c,
14
+ className: n(e.iconButton, u),
15
+ ref: p,
16
+ ...f,
17
+ children: d ?? o
18
18
  });
19
19
  });
20
20
  //#endregion
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
3
  import './icon-button.css';
4
- var e = { iconButton: "_iconButton_13zh2_2" };
4
+ var e = { iconButton: "_iconButton_1f9hf_2" };
5
5
  //#endregion
6
6
  export { e as default };