@cascivo/react 1.1.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.
- package/dist/accordion/accordion.js +1 -1
- package/dist/action-sheet/action-sheet.js +1 -1
- package/dist/alert/alert.js +1 -1
- package/dist/alert-dialog/alert-dialog.js +1 -1
- package/dist/app-shell/app-shell.css +1 -1
- package/dist/app-shell/app-shell.js +1 -1
- package/dist/app-shell/app-shell.module.js +1 -1
- package/dist/aspect-ratio/aspect-ratio.js +1 -1
- package/dist/avatar/avatar.js +1 -1
- package/dist/avatar-group/avatar-group.js +1 -1
- package/dist/badge/badge.js +1 -1
- package/dist/blockquote/blockquote.js +1 -1
- package/dist/bottom-sheet/bottom-sheet.js +1 -1
- package/dist/brand/logo/logo.js +1 -1
- package/dist/breadcrumb/breadcrumb.js +1 -1
- package/dist/button/button.css +1 -1
- package/dist/button/button.module.js +1 -1
- package/dist/button-group/button-group.js +1 -1
- package/dist/calendar/calendar-date.js +1 -1
- package/dist/calendar/calendar.js +1 -1
- package/dist/card/card.js +1 -1
- package/dist/carousel/carousel.js +1 -1
- package/dist/chat-bubble/chat-bubble.js +1 -1
- package/dist/code/code.js +1 -1
- package/dist/code-snippet/code-snippet.js +2 -2
- package/dist/code-snippet/highlight.js +1 -1
- package/dist/collapsible/collapsible.js +1 -1
- package/dist/color-picker/color-picker.js +1 -1
- package/dist/color-picker/color.js +1 -1
- package/dist/combobox/combobox.js +1 -1
- package/dist/combobox/list-nav.js +1 -1
- package/dist/combobox/option-list.js +1 -1
- package/dist/command-menu/command-menu.js +1 -1
- package/dist/comparison/comparison.js +1 -1
- package/dist/contained-list/contained-list.js +1 -1
- package/dist/context-menu/context-menu.js +1 -1
- package/dist/data-list/data-list.js +1 -1
- package/dist/data-table/column-filter.js +1 -1
- package/dist/data-table/column-layout.js +1 -1
- package/dist/data-table/data-table.js +1 -1
- package/dist/data-table/grid-keys.js +1 -1
- package/dist/data-table/row-group.js +1 -1
- package/dist/data-table/row-search.js +1 -1
- package/dist/data-table/row-sort.js +1 -1
- package/dist/data-table/to-csv.js +2 -2
- package/dist/data-table/virtual-window.js +1 -1
- package/dist/date-picker/date-picker.js +1 -1
- package/dist/date-picker/parse-date.js +1 -1
- package/dist/date-range-picker/date-range-picker.js +1 -1
- package/dist/dock/dock.js +1 -1
- package/dist/drawer/drawer.js +1 -1
- package/dist/dropdown/dropdown.js +1 -1
- package/dist/editable/editable.js +1 -1
- package/dist/empty-state/empty-state.js +1 -1
- package/dist/fab/fab.js +1 -1
- package/dist/field/field.js +1 -1
- package/dist/file-uploader/file-uploader.js +1 -1
- package/dist/filter/filter.js +1 -1
- package/dist/form/form.js +1 -1
- package/dist/header/header.js +1 -1
- package/dist/header-panel/header-panel.js +1 -1
- package/dist/heading/heading.js +1 -1
- package/dist/hover-card/hover-card.js +1 -1
- package/dist/image/image.js +1 -1
- package/dist/index.d.ts +749 -13
- package/dist/indicator/indicator.js +1 -1
- package/dist/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/inline-loading/inline-loading.js +1 -1
- package/dist/input-group/input-group.js +1 -1
- package/dist/item/item.js +1 -1
- package/dist/join/join.js +1 -1
- package/dist/kbd/kbd.js +1 -1
- package/dist/label/label.js +1 -1
- package/dist/large-title-header/large-title-header.js +1 -1
- package/dist/layouts/src/auto-grid/auto-grid.js +1 -1
- package/dist/layouts/src/center/center.js +1 -1
- package/dist/layouts/src/columns/columns.js +1 -1
- package/dist/layouts/src/flex/flex.css +1 -1
- package/dist/layouts/src/flex/flex.js +1 -1
- package/dist/layouts/src/flex/flex.module.js +1 -1
- package/dist/layouts/src/grid/grid.js +1 -1
- package/dist/layouts/src/page-header/page-header.js +1 -1
- package/dist/layouts/src/spacer/spacer.js +1 -1
- package/dist/list/list.js +1 -1
- package/dist/log-viewer/log-viewer.css +1 -1
- package/dist/log-viewer/log-viewer.js +2 -2
- package/dist/log-viewer/log-viewer.module.js +1 -1
- package/dist/menu/menu.js +1 -1
- package/dist/menu-button/menu-button.js +1 -1
- package/dist/menubar/menubar.js +1 -1
- package/dist/modal/modal.js +1 -1
- package/dist/multi-select/list-nav.js +1 -1
- package/dist/multi-select/multi-select.js +1 -1
- package/dist/multi-select/option-list.js +1 -1
- package/dist/navigation-menu/navigation-menu.js +1 -1
- package/dist/node/accordion/accordion.js +1 -1
- package/dist/node/action-sheet/action-sheet.js +1 -1
- package/dist/node/alert/alert.js +1 -1
- package/dist/node/alert-dialog/alert-dialog.js +1 -1
- package/dist/node/app-shell/app-shell.js +1 -1
- package/dist/node/app-shell/app-shell.module.js +1 -1
- package/dist/node/aspect-ratio/aspect-ratio.js +1 -1
- package/dist/node/avatar/avatar.js +1 -1
- package/dist/node/avatar-group/avatar-group.js +1 -1
- package/dist/node/badge/badge.js +1 -1
- package/dist/node/blockquote/blockquote.js +1 -1
- package/dist/node/bottom-sheet/bottom-sheet.js +1 -1
- package/dist/node/brand/logo/logo.js +1 -1
- package/dist/node/breadcrumb/breadcrumb.js +1 -1
- package/dist/node/button/button.module.js +1 -1
- package/dist/node/button-group/button-group.js +1 -1
- package/dist/node/calendar/calendar-date.js +1 -1
- package/dist/node/calendar/calendar.js +1 -1
- package/dist/node/card/card.js +1 -1
- package/dist/node/carousel/carousel.js +1 -1
- package/dist/node/chat-bubble/chat-bubble.js +1 -1
- package/dist/node/code/code.js +1 -1
- package/dist/node/code-snippet/code-snippet.js +2 -2
- package/dist/node/code-snippet/highlight.js +1 -1
- package/dist/node/collapsible/collapsible.js +1 -1
- package/dist/node/color-picker/color-picker.js +1 -1
- package/dist/node/color-picker/color.js +1 -1
- package/dist/node/combobox/combobox.js +1 -1
- package/dist/node/combobox/list-nav.js +1 -1
- package/dist/node/combobox/option-list.js +1 -1
- package/dist/node/command-menu/command-menu.js +1 -1
- package/dist/node/comparison/comparison.js +1 -1
- package/dist/node/contained-list/contained-list.js +1 -1
- package/dist/node/context-menu/context-menu.js +1 -1
- package/dist/node/data-list/data-list.js +1 -1
- package/dist/node/data-table/column-filter.js +1 -1
- package/dist/node/data-table/column-layout.js +1 -1
- package/dist/node/data-table/data-table.js +1 -1
- package/dist/node/data-table/grid-keys.js +1 -1
- package/dist/node/data-table/row-group.js +1 -1
- package/dist/node/data-table/row-search.js +1 -1
- package/dist/node/data-table/row-sort.js +1 -1
- package/dist/node/data-table/to-csv.js +2 -2
- package/dist/node/data-table/virtual-window.js +1 -1
- package/dist/node/date-picker/date-picker.js +1 -1
- package/dist/node/date-picker/parse-date.js +1 -1
- package/dist/node/date-range-picker/date-range-picker.js +1 -1
- package/dist/node/dock/dock.js +1 -1
- package/dist/node/drawer/drawer.js +1 -1
- package/dist/node/dropdown/dropdown.js +1 -1
- package/dist/node/editable/editable.js +1 -1
- package/dist/node/empty-state/empty-state.js +1 -1
- package/dist/node/fab/fab.js +1 -1
- package/dist/node/field/field.js +1 -1
- package/dist/node/file-uploader/file-uploader.js +1 -1
- package/dist/node/filter/filter.js +1 -1
- package/dist/node/form/form.js +1 -1
- package/dist/node/header/header.js +1 -1
- package/dist/node/header-panel/header-panel.js +1 -1
- package/dist/node/heading/heading.js +1 -1
- package/dist/node/hover-card/hover-card.js +1 -1
- package/dist/node/image/image.js +1 -1
- package/dist/node/indicator/indicator.js +1 -1
- package/dist/node/infinite-scroll/infinite-scroll.js +1 -1
- package/dist/node/inline-loading/inline-loading.js +1 -1
- package/dist/node/input-group/input-group.js +1 -1
- package/dist/node/item/item.js +1 -1
- package/dist/node/join/join.js +1 -1
- package/dist/node/kbd/kbd.js +1 -1
- package/dist/node/label/label.js +1 -1
- package/dist/node/large-title-header/large-title-header.js +1 -1
- package/dist/node/layouts/src/auto-grid/auto-grid.js +1 -1
- package/dist/node/layouts/src/center/center.js +1 -1
- package/dist/node/layouts/src/columns/columns.js +1 -1
- package/dist/node/layouts/src/flex/flex.js +1 -1
- package/dist/node/layouts/src/flex/flex.module.js +1 -1
- package/dist/node/layouts/src/grid/grid.js +1 -1
- package/dist/node/layouts/src/page-header/page-header.js +1 -1
- package/dist/node/layouts/src/spacer/spacer.js +1 -1
- package/dist/node/list/list.js +1 -1
- package/dist/node/log-viewer/log-viewer.js +2 -2
- package/dist/node/log-viewer/log-viewer.module.js +1 -1
- package/dist/node/menu/menu.js +1 -1
- package/dist/node/menu-button/menu-button.js +1 -1
- package/dist/node/menubar/menubar.js +1 -1
- package/dist/node/modal/modal.js +1 -1
- package/dist/node/multi-select/list-nav.js +1 -1
- package/dist/node/multi-select/multi-select.js +1 -1
- package/dist/node/multi-select/option-list.js +1 -1
- package/dist/node/navigation-menu/navigation-menu.js +1 -1
- package/dist/node/notification/notification.js +1 -1
- package/dist/node/number-input/number-input.js +1 -1
- package/dist/node/otp-input/otp-input.js +1 -1
- package/dist/node/overflow-menu/overflow-menu.js +1 -1
- package/dist/node/pagination/pagination.js +1 -1
- package/dist/node/password-input/password-input.js +1 -1
- package/dist/node/popover/popover.js +1 -1
- package/dist/node/popover/use-popover.js +1 -1
- package/dist/node/progress/progress.js +1 -1
- package/dist/node/progress-bar/progress-bar.js +1 -1
- package/dist/node/progress-circle/progress-circle.js +1 -1
- package/dist/node/progress-indicator/progress-indicator.js +1 -1
- package/dist/node/prose/prose.js +1 -1
- package/dist/node/pull-to-refresh/pull-to-refresh.js +1 -1
- package/dist/node/qr-code/encode.js +1 -1
- package/dist/node/qr-code/qr-code.js +1 -1
- package/dist/node/radial-progress/radial-progress.js +1 -1
- package/dist/node/radio/radio.js +1 -1
- package/dist/node/radio-card/radio-card.js +1 -1
- package/dist/node/rating-group/rating-group.js +1 -1
- package/dist/node/react/src/index.js +1 -1
- package/dist/node/relative-time/relative-time.js +1 -1
- package/dist/node/reorder-list/reorder-list.js +1 -1
- package/dist/node/resizable/resizable.js +1 -1
- package/dist/node/scroll-area/scroll-area.js +1 -1
- package/dist/node/search/search.js +1 -1
- package/dist/node/segmented-control/segmented-control.js +1 -1
- package/dist/node/separator/separator.js +1 -1
- package/dist/node/sheet/sheet.js +1 -1
- package/dist/node/shell-header/shell-header.js +1 -1
- package/dist/node/side-nav/side-nav.js +1 -1
- package/dist/node/side-nav/side-nav.module.js +1 -1
- package/dist/node/skeleton/skeleton.js +1 -1
- package/dist/node/skip-nav/skip-nav.js +1 -1
- package/dist/node/spinner/spinner.js +1 -1
- package/dist/node/stack/stack.js +1 -1
- package/dist/node/stat/stat.js +1 -1
- package/dist/node/status/status.js +1 -1
- package/dist/node/steps/steps.js +1 -1
- package/dist/node/structured-list/structured-list.js +1 -1
- package/dist/node/swap/swap.js +1 -1
- package/dist/node/swipe-item/swipe-item.js +1 -1
- package/dist/node/switcher/switcher.js +1 -1
- package/dist/node/tabs/tabs.js +1 -1
- package/dist/node/tag/tag.js +1 -1
- package/dist/node/tags-input/tags-input.js +1 -1
- package/dist/node/text/text.js +1 -1
- package/dist/node/tile/tile.js +1 -1
- package/dist/node/timeline/timeline.js +1 -1
- package/dist/node/toast/toast.js +1 -1
- package/dist/node/toc/toc.js +1 -1
- package/dist/node/toc/use-toc-from-region.js +1 -1
- package/dist/node/toggle-group/toggle-group.js +1 -1
- package/dist/node/toggletip/toggletip.js +1 -1
- package/dist/node/tooltip/tooltip.js +1 -1
- package/dist/node/tree-view/tree-view.js +1 -1
- package/dist/node/user/user.js +1 -1
- package/dist/node/virtual-list/virtual-list.js +1 -1
- package/dist/node/wheel-picker/wheel-picker.js +1 -1
- package/dist/notification/notification.js +1 -1
- package/dist/number-input/number-input.js +1 -1
- package/dist/otp-input/otp-input.js +1 -1
- package/dist/overflow-menu/overflow-menu.js +1 -1
- package/dist/pagination/pagination.js +1 -1
- package/dist/password-input/password-input.js +1 -1
- package/dist/popover/popover.js +1 -1
- package/dist/popover/use-popover.js +1 -1
- package/dist/progress/progress.js +1 -1
- package/dist/progress-bar/progress-bar.js +1 -1
- package/dist/progress-circle/progress-circle.js +1 -1
- package/dist/progress-indicator/progress-indicator.js +1 -1
- package/dist/prose/prose.js +1 -1
- package/dist/pull-to-refresh/pull-to-refresh.js +1 -1
- package/dist/qr-code/encode.js +1 -1
- package/dist/qr-code/qr-code.js +1 -1
- package/dist/radial-progress/radial-progress.js +1 -1
- package/dist/radio/radio.js +1 -1
- package/dist/radio-card/radio-card.js +1 -1
- package/dist/rating-group/rating-group.js +1 -1
- package/dist/react/src/index.js +1 -1
- package/dist/relative-time/relative-time.js +1 -1
- package/dist/reorder-list/reorder-list.js +1 -1
- package/dist/resizable/resizable.js +1 -1
- package/dist/scroll-area/scroll-area.js +1 -1
- package/dist/search/search.js +1 -1
- package/dist/segmented-control/segmented-control.js +1 -1
- package/dist/separator/separator.js +1 -1
- package/dist/sheet/sheet.js +1 -1
- package/dist/shell-header/shell-header.js +1 -1
- package/dist/side-nav/side-nav.css +1 -1
- package/dist/side-nav/side-nav.js +1 -1
- package/dist/side-nav/side-nav.module.js +1 -1
- package/dist/skeleton/skeleton.js +1 -1
- package/dist/skip-nav/skip-nav.js +1 -1
- package/dist/spinner/spinner.js +1 -1
- package/dist/stack/stack.js +1 -1
- package/dist/stat/stat.js +1 -1
- package/dist/status/status.js +1 -1
- package/dist/steps/steps.js +1 -1
- package/dist/structured-list/structured-list.js +1 -1
- package/dist/styles.css +10 -6
- package/dist/swap/swap.js +1 -1
- package/dist/swipe-item/swipe-item.js +1 -1
- package/dist/switcher/switcher.js +1 -1
- package/dist/tabs/tabs.js +1 -1
- package/dist/tag/tag.js +1 -1
- package/dist/tags-input/tags-input.js +1 -1
- package/dist/text/text.js +1 -1
- package/dist/tile/tile.js +1 -1
- package/dist/timeline/timeline.js +1 -1
- package/dist/toast/toast.js +1 -1
- package/dist/toc/toc.js +1 -1
- package/dist/toc/use-toc-from-region.js +1 -1
- package/dist/toggle-group/toggle-group.js +1 -1
- package/dist/toggletip/toggletip.js +1 -1
- package/dist/tooltip/tooltip.js +1 -1
- package/dist/tree-view/tree-view.js +1 -1
- package/dist/user/user.js +1 -1
- package/dist/virtual-list/virtual-list.js +1 -1
- package/dist/wheel-picker/wheel-picker.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./structured-list.module.js";import{useId as t}from"react";import{cn as n,useControllableSignal as r,useRovingFocus as i,useSignals as a}from"@cascivo/core";import{jsx as o,jsxs as s}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./structured-list.module.js";import{useId as t}from"react";import{cn as n,useControllableSignal as r,useRovingFocus as i,useSignals as a}from"@cascivo/core";import{jsx as o,jsxs as s}from"react/jsx-runtime";function StructuredList(t){let{items:r,headers:i,selectable:a=!1,className:c,ariaLabel:l,label:u,"aria-label":d}=t;return a?o(SelectableStructuredList,{...t}):s(`div`,{role:`table`,"aria-label":d??l??u,className:n(e.list,c),children:[i&&o(`div`,{role:`row`,className:e.headerRow,children:i.map((t,n)=>o(`div`,{role:`columnheader`,className:e.headerCell,children:t},n))}),o(`div`,{role:`rowgroup`,className:e.body,children:r.map(t=>o(`div`,{role:`row`,className:e.row,children:t.cells.map((t,n)=>o(`div`,{role:`cell`,className:e.cell,children:t},n))},t.id))})]})}function SelectableStructuredList({items:c,headers:l,value:u,defaultValue:d,onSelect:f,className:p,ariaLabel:m,"aria-label":h,label:g}){let _=h??m??g;a();let v=t(),[y,b]=r({value:u,defaultValue:d??c.find(e=>e.selected)?.id??``,onChange:f}),x=i({orientation:`vertical`,loop:!1}),select=e=>{b(e)};return s(`div`,{role:`radiogroup`,"aria-label":_,className:n(e.list,e.selectable,p),children:[l&&s(`div`,{className:e.headerRow,children:[o(`div`,{className:e.headerCell,"aria-hidden":`true`}),l.map((t,n)=>o(`div`,{className:e.headerCell,children:t},n))]}),o(`div`,{className:e.body,children:c.map((t,n)=>{let r=y.value===t.id,{ref:i,...a}=x.getItemProps(n);return s(`div`,{role:`radio`,"aria-checked":r,"aria-labelledby":`${v}-${t.id}-label`,"data-selected":r||void 0,className:e.row,ref:i,...a,onClick:()=>select(t.id),onKeyDown:e=>{a.onKeyDown(e),(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),select(t.id))},children:[o(`div`,{className:e.cell,"aria-hidden":`true`,children:o(`span`,{className:e.indicator})}),o(`div`,{className:e.cell,id:`${v}-${t.id}-label`,children:t.cells[0]}),t.cells.slice(1).map((t,n)=>o(`div`,{role:`cell`,className:e.cell,children:t},n))]},t.id)})})]})}export{StructuredList};
|
package/dist/node/swap/swap.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./swap.module.js";import{useControllableSignal as t,useSignals as n}from"@cascivo/core";import{jsx as r,jsxs as i}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./swap.module.js";import{useControllableSignal as t,useSignals as n}from"@cascivo/core";import{jsx as r,jsxs as i}from"react/jsx-runtime";function Swap({on:a,off:o,checked:s=!1,onValueChange:c,mode:l=`rotate`,className:u,ariaLabel:d,label:f,...p}){n();let[m]=t({value:s});function handleClick(){let e=!m.value;c?.(e)}return i(`button`,{type:`button`,role:`switch`,"aria-checked":m.value,className:[e.swap,u].filter(Boolean).join(` `),"data-checked":m.value||void 0,"data-mode":l,onClick:handleClick,...p,...(d??f)===void 0?{}:{"aria-label":d??f},children:[r(`span`,{className:e.on,"aria-hidden":`true`,children:a}),r(`span`,{className:e.off,"aria-hidden":`true`,children:o})]})}export{Swap};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./swipe-item.module.js";import{cn as t,useDraggable as n,useSignal as r,useSignals as i}from"@cascivo/core";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s=72,c=100;function
|
|
1
|
+
"use client";import e from"./swipe-item.module.js";import{cn as t,useDraggable as n,useSignal as r,useSignals as i}from"@cascivo/core";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s=72,c=100;function SwipeItem({children:l,leadingActions:u=[],trailingActions:d=[],className:f}){i();let p=r(0),m=r(`closed`),h=u.length*s,g=d.length*s,{handleRef:_,offset:v,velocity:y,isDragging:b,reset:x}=n({axis:`x`,onDragEnd:e=>{let t=y.value.x,n=p.value+e.x;x();let r=n+t*c,i=0;h>0&&r>h/2?i=h:g>0&&r<-g/2&&(i=-g),p.value=i,m.value=i>0?`leading`:i<0?`trailing`:`closed`}}),reveal=e=>{p.value=e===`leading`?h:-g,m.value=e},close=()=>{p.value=0,m.value=`closed`,x()},select=e=>{e.onSelect(),close()},S=Math.max(-g,Math.min(h,p.value+v.value.x)),renderPanel=(n,r)=>a(`div`,{className:t(e.panel,e[n]),children:r.map((t,r)=>o(`button`,{type:`button`,"data-destructive":t.destructive?``:void 0,className:e.action,onFocus:()=>reveal(n),onClick:()=>select(t),children:[t.icon&&a(`span`,{className:e.actionIcon,"aria-hidden":`true`,children:t.icon}),a(`span`,{className:e.actionLabel,children:t.label})]},t.id??`${r}-${t.label}`))});return o(`div`,{className:t(e.root,f),"data-state":m.value,onKeyDown:e=>{e.key===`Escape`&&m.value!==`closed`&&close()},children:[u.length>0&&renderPanel(`leading`,u),d.length>0&&renderPanel(`trailing`,d),a(`div`,{ref:_,className:e.content,"data-dragging":b.value?``:void 0,style:{transform:`translateX(${S}px)`},children:l})]})}export{SwipeItem};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./switcher.module.js";import{cn as t,getLinkComponent as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./switcher.module.js";import{cn as t,getLinkComponent as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";function Switcher({items:c,label:l,ariaLabel:u,className:d}){r();let f=n();return o(`ul`,{"aria-label":u??l??a(i.switcher.label),className:t(e.switcher,d),children:c.map((t,n)=>`divider`in t?o(`li`,{children:o(`span`,{role:`separator`,"aria-orientation":`horizontal`,className:e.divider})},`divider-${n}`):o(`li`,{children:s(f,{href:t.href,"aria-current":t.active?`page`:void 0,"data-state":t.active?`active`:void 0,className:e.item,children:[t.icon&&o(`span`,{className:e.icon,"aria-hidden":`true`,children:t.icon}),t.label]})},t.id??t.href))})}export{Switcher};
|
package/dist/node/tabs/tabs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./tabs.module.js";import{createContext as t,forwardRef as n,useId as r,useRef as i}from"react";import{Slot as a,cn as o,useControllableSignal as s,useSignals as c}from"@cascivo/core";import{jsx as l}from"react/jsx-runtime";var u=t(null);function
|
|
1
|
+
"use client";import e from"./tabs.module.js";import{createContext as t,forwardRef as n,useId as r,useRef as i}from"react";import{Slot as a,cn as o,useControllableSignal as s,useSignals as c}from"@cascivo/core";import{jsx as l}from"react/jsx-runtime";var u=t(null);function Tabs({defaultValue:t,value:n,onValueChange:i,className:a,children:c}){let d=r(),[f]=s({value:n,defaultValue:t??``}),p={active:f,baseId:d,setValue:e=>{n===void 0&&(f.value=e),i?.(e)}};return l(u.Provider,{value:p,children:l(`div`,{className:o(e.tabs,a),children:c})})}function TabsList({className:t,children:n,...r}){let a=i(null);return l(u.Consumer,{children:i=>l(`div`,{ref:a,role:`tablist`,className:o(e.list,t),onKeyDown:e=>{if(!i||![`ArrowRight`,`ArrowLeft`,`Home`,`End`].includes(e.key))return;let t=Array.from(a.current?.querySelectorAll(`[role="tab"]:not([disabled])`)??[]);if(t.length===0)return;e.preventDefault();let n=t.findIndex(e=>e.dataset.value===i.active.value),r=n;e.key===`ArrowRight`?r=(n+1)%t.length:e.key===`ArrowLeft`?r=(n-1+t.length)%t.length:e.key===`Home`?r=0:e.key===`End`&&(r=t.length-1);let o=t[r];o?.focus(),o?.dataset.value&&i.setValue(o.dataset.value)},...r,children:n})})}var d=n(function(e,t){return l(u.Consumer,{children:n=>n?l(TabsTriggerInner,{store:n,buttonRef:t,...e}):null})});function TabsTriggerInner({store:t,value:n,className:r,children:i,disabled:s,buttonRef:u,asChild:d=!1,...f}){c();let p=t.active.value===n;return l(d?a:`button`,{type:d?void 0:`button`,role:`tab`,id:`${t.baseId}-trigger-${n}`,"aria-selected":p,"aria-controls":`${t.baseId}-content-${n}`,tabIndex:p?0:-1,"data-state":p?`active`:`inactive`,"data-value":n,...d?{"aria-disabled":s||void 0}:{disabled:s},className:o(e.trigger,r),onClick:()=>t.setValue(n),ref:u,...f,children:i})}function TabsContent(e){return l(u.Consumer,{children:t=>t?l(TabsContentInner,{store:t,...e}):null})}function TabsContentInner({store:t,value:n,className:r,children:i,...a}){return c(),t.active.value===n?l(`div`,{role:`tabpanel`,id:`${t.baseId}-content-${n}`,"aria-labelledby":`${t.baseId}-trigger-${n}`,tabIndex:0,className:o(e.content,r),...a,children:i}):null}export{Tabs,TabsContent,TabsList,d as TabsTrigger};
|
package/dist/node/tag/tag.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./tag.module.js";import{cn as t,normalizeTone as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c={neutral:`default`,info:`info`,success:`success`,warning:`warning`,danger:`error`};function
|
|
1
|
+
"use client";import e from"./tag.module.js";import{cn as t,normalizeTone as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c={neutral:`default`,info:`info`,success:`success`,warning:`warning`,danger:`error`};function Tag({variant:l=`default`,size:u=`md`,onDismiss:d,dismissLabel:f,className:p,children:m,...h}){r();let g=f??a(i.tag.dismiss);return s(`span`,{"data-variant":c[n(l)]??l,"data-size":u,className:t(e.tag,p),...h,children:[m,d&&o(`button`,{type:`button`,className:e.dismiss,"aria-label":g,onClick:d,children:`✕`})]})}export{Tag};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./tags-input.module.js";import{useRef as t}from"react";import{cn as n,focusElement as r,useSignal as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./tags-input.module.js";import{useRef as t}from"react";import{cn as n,focusElement as r,useSignal as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function TagsInput({value:u,onValueChange:d,placeholder:f,validate:p,max:m,disabled:h=!1,className:g,id:_,ariaLabel:v,label:y,"aria-labelledby":b,"aria-describedby":x,"aria-invalid":S,...C}){a();let w=i(``),T=t(null),E=v??y??(b===void 0?s(o.tagsInput.label):void 0);function addTag(e){let t=e.trim();t&&(m!==void 0&&u.length>=m||u.includes(t)||p&&!p(t)||(d([...u,t]),w.value=``))}function removeTag(e){d(u.filter((t,n)=>n!==e))}let D=f??s(o.tagsInput.placeholder);return l(`div`,{className:n(e.wrapper,g),"data-disabled":h?``:void 0,onClick:()=>r(T.current),...C,children:[u.map((t,n)=>{let r=p?!p(t):!1;return l(`span`,{className:e.tag,"data-state":r?`invalid`:void 0,children:[t,c(`button`,{type:`button`,className:e.dismiss,"aria-label":s(o.tagsInput.remove,{tag:t}),disabled:h,onClick:e=>{e.stopPropagation(),removeTag(n)},children:c(`span`,{"aria-hidden":`true`,children:`×`})})]},n)}),c(`input`,{ref:T,className:e.input,value:w.value,id:_,"aria-labelledby":b,"aria-describedby":x,"aria-invalid":S,"aria-label":E,placeholder:u.length===0?D:void 0,disabled:h,onChange:e=>{w.value=e.currentTarget.value},onKeyDown:e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),addTag(w.value)):e.key===`Backspace`&&!w.value&&removeTag(u.length-1)},onBlur:()=>{w.value&&addTag(w.value)}})]})}export{TagsInput};
|
package/dist/node/text/text.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./text.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function
|
|
1
|
+
import e from"./text.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function Text({as:r=`p`,size:i=`md`,weight:a=`normal`,muted:o=!1,className:s,children:c,...l}){return n(r,{"data-size":i,"data-weight":a,"data-muted":o?``:void 0,className:t(e.text,s),...l,children:c})}export{Text};
|
package/dist/node/tile/tile.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./tile.module.js";import{Slot as t,cn as n,useControllableSignal as r,useSignals as i}from"@cascivo/core";import{jsx as a,jsxs as o}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./tile.module.js";import{Slot as t,cn as n,useControllableSignal as r,useSignals as i}from"@cascivo/core";import{jsx as a,jsxs as o}from"react/jsx-runtime";function Tile({value:s,selected:c,defaultSelected:l,onSelect:u,selectable:d=`single`,disabled:f,icon:p,asChild:m,children:h,className:g}){i();let[_,v]=r({value:c,defaultValue:l??!1,onChange:()=>u?.(s)}),toggle=()=>{f||v(d===`multi`?!_.value:!0)};return o(m?t:`div`,{role:d===`multi`?`checkbox`:`radio`,"aria-checked":_.value,"aria-disabled":f||void 0,tabIndex:f?-1:0,"data-selected":_.value||void 0,"data-disabled":f||void 0,className:n(e.tile,g),onClick:toggle,onKeyDown:e=>{(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),toggle())},children:[p&&a(`span`,{className:e.icon,"aria-hidden":`true`,children:p}),a(`span`,{className:e.body,children:h})]})}export{Tile};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./timeline.module.js";import{cn as t,normalizeProgress as n,normalizeTone as r}from"@cascivo/core/pure";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o={pending:`upcoming`,active:`current`,complete:`complete`,error:`error`},s={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`danger`};function
|
|
1
|
+
import e from"./timeline.module.js";import{cn as t,normalizeProgress as n,normalizeTone as r}from"@cascivo/core/pure";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o={pending:`upcoming`,active:`current`,complete:`complete`,error:`error`},s={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`danger`};function Timeline({items:c,orientation:l=`vertical`,className:u,...d}){return i(`ol`,{"data-orientation":l,className:t(e.list,u),...d,children:c.map(t=>{let c=n(t.status??`pending`);return a(`li`,{"data-status":o[c]??`upcoming`,"data-tone":t.tone?s[r(t.tone)]??t.tone:void 0,"aria-current":c===`active`?`step`:void 0,className:e.item,children:[i(`span`,{className:e.marker,"aria-hidden":`true`,children:t.icon??(c===`error`?`✕`:null)}),a(`div`,{className:e.content,children:[i(`div`,{className:e.title,children:t.title}),t.time?i(`time`,{className:e.time,children:t.time}):null,t.description?i(`div`,{className:e.description,children:t.description}):null]})]},t.id)})})}export{Timeline};
|
package/dist/node/toast/toast.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./toast.module.js";import{useRef as t}from"react";import{createMachine as n,signal as r,useMachine as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{Fragment as l,jsx as u,jsxs as d}from"react/jsx-runtime";var f=5e3,p=160,m=0,h=r([]);function
|
|
1
|
+
"use client";import e from"./toast.module.js";import{useRef as t}from"react";import{createMachine as n,signal as r,useMachine as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{Fragment as l,jsx as u,jsxs as d}from"react/jsx-runtime";var f=5e3,p=160,m=0,h=r([]);function enqueue(e){h.value=[...h.value,{id:m++,...e}]}function dequeue(e){h.value=h.value.filter(t=>t.id!==e)}function ToastProvider({children:t}){o();let n=h.value.slice(-3);return d(l,{children:[t,u(`div`,{className:e.viewport,role:`region`,"aria-label":c(s.toast.region),children:n.map(e=>u(ToastItem,{toast:e,onDismiss:()=>dequeue(e.id)},e.id))})]})}var g=n({initial:`visible`,states:{visible:{on:{DISMISS:`dismissing`}},dismissing:{on:{END:`gone`}}}});function ToastItem({toast:n,onDismiss:r}){o();let[l,m]=i(g),h=t(r);h.current=r;let _=n.duration??f,v=n.variant===`destructive`;return a(()=>{let e=l.value;if(e===`visible`){let e=setTimeout(()=>m(`DISMISS`),_);return()=>clearTimeout(e)}if(e===`dismissing`){let e=setTimeout(()=>h.current(),p);return()=>clearTimeout(e)}}),d(`div`,{role:v?`alert`:`status`,"aria-live":v?`assertive`:`polite`,"data-variant":n.variant??`default`,"data-state":l.value,className:e.toast,children:[d(`div`,{className:e.body,children:[u(`div`,{className:e.title,children:n.title}),n.description&&u(`div`,{className:e.description,children:n.description})]}),u(`button`,{type:`button`,className:e.close,"aria-label":c(s.toast.dismiss),onClick:()=>m(`DISMISS`),children:`✕`})]})}function useToast(){return{toast:enqueue}}function dismissAllToasts(){h.value=[]}export{ToastProvider,dismissAllToasts,useToast};
|
package/dist/node/toc/toc.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./toc.module.js";import{useRef as t}from"react";import{cn as n,useControllableSignal as r,useSignalEffect as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./toc.module.js";import{useRef as t}from"react";import{cn as n,useControllableSignal as r,useSignalEffect as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c}from"react/jsx-runtime";function Toc({items:l,activeId:u,onActiveChange:d,labels:f,className:p}){a();let m=u!==void 0,[h]=r({value:u,defaultValue:l[0]?.id??``}),g=t(d);return g.current=d,i(()=>{if(m||typeof document>`u`||typeof IntersectionObserver>`u`)return;let e=l.map(e=>document.getElementById(e.id)).filter(e=>e!==null);if(e.length===0)return;let t=new Set,n=new IntersectionObserver(e=>{for(let n of e)n.isIntersecting?t.add(n.target.id):t.delete(n.target.id);let n=l.find(e=>t.has(e.id));n&&n.id!==h.value&&(h.value=n.id,g.current?.(n.id))},{rootMargin:`0px 0px -70% 0px`,threshold:0});for(let t of e)n.observe(t);return()=>n.disconnect()}),c(`nav`,{"aria-label":f?.nav??s(o.toc.nav),className:n(e.toc,p),children:c(`ol`,{children:l.map(e=>c(`li`,{style:{"--toc-level":e.level??2},children:c(`a`,{href:`#${e.id}`,"aria-current":e.id===h.value?`location`:void 0,children:e.label})},e.id))})})}export{Toc};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{useSignal as e,useSignalEffect as t,useSignals as n}from"@cascivo/core";function
|
|
1
|
+
"use client";import{useSignal as e,useSignalEffect as t,useSignals as n}from"@cascivo/core";function useTocFromRegion(r,i={}){n();let a=i.selector??`h2, h3, h4`,o=e([]);return t(()=>{let e=r.current;e&&(o.value=Array.from(e.querySelectorAll(a)).filter(e=>e.id!==``).map(e=>({id:e.id,label:e.textContent?.trim()??``,level:Number(e.tagName.slice(1))||2})))}),o}export{useTocFromRegion};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./toggle-group.module.js";import{forwardRef as t}from"react";import{cn as n,useControllableSignal as r,useRovingFocus as i,useSignals as a}from"@cascivo/core";import{jsx as o,jsxs as s}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./toggle-group.module.js";import{forwardRef as t}from"react";import{cn as n,useControllableSignal as r,useRovingFocus as i,useSignals as a}from"@cascivo/core";import{jsx as o,jsxs as s}from"react/jsx-runtime";function isSelected(e,t){return Array.isArray(e)?e.includes(t):e===t}var c=t(function({type:t,value:c,defaultValue:l,onValueChange:u,items:d,orientation:f=`horizontal`,size:p=`md`,disabled:m=!1,className:h,...g},_){a();let[v,y]=r({value:c,defaultValue:l??(t===`multiple`?[]:``),onChange:u}),b=i({orientation:f,loop:!0}),toggle=e=>{let n=v.value;if(t===`multiple`){let t=Array.isArray(n)?n:[];y(t.includes(e)?t.filter(t=>t!==e):[...t,e])}else y(n===e?``:e)};return o(`div`,{role:t===`single`?`radiogroup`:`group`,"data-orientation":f,"data-size":p,className:n(e.toggleGroup,h),ref:_,...g,children:d.map((n,r)=>{let i=isSelected(v.value,n.value),a=m||n.disabled,{ref:c,...l}=b.getItemProps(r);return s(`button`,{type:`button`,...t===`single`?{role:`radio`,"aria-checked":i}:{"aria-pressed":i},...l,ref:c,"data-state":i?`on`:`off`,disabled:a,"aria-label":n.icon&&!n.label?n.value:void 0,className:e.item,onClick:()=>toggle(n.value),children:[n.icon,n.label&&o(`span`,{children:n.label})]},n.value)})})});export{c as ToggleGroup};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./toggletip.module.js";import{useId as t,useRef as n}from"react";import{DismissableLayer as r,cn as i,useAnchorPosition as a,useControllableSignal 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
|
|
1
|
+
"use client";import e from"./toggletip.module.js";import{useId as t,useRef as n}from"react";import{DismissableLayer as r,cn as i,useAnchorPosition as a,useControllableSignal 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 Toggletip({trigger:f,children:p,placement:m=`top`,defaultOpen:h=!1,open:g,onOpenChange:_,labels:v,className:y}){s();let[b,x]=o({...g!==void 0&&{value:g},defaultValue:h,..._&&{onChange:_}}),S=n(null),C=n(null),w=t(),{anchorStyle:T,floatingStyle:E}=a({anchorRef:S,floatingRef:C,placement:m,enabled:b});return d(`span`,{className:i(e.root,y),children:[u(`button`,{ref:S,type:`button`,className:e.trigger,"aria-expanded":b.value,"aria-controls":w,"aria-label":v?.label??l(c.toggletip.label),style:T,onClick:()=>x(!b.value),children:f}),b.value?u(r,{onDismiss:()=>x(!1),children:u(`div`,{ref:C,id:w,role:`status`,"data-state":`open`,"data-placement":m,className:e.bubble,style:E,children:p})}):null]})}export{Toggletip};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./tooltip.module.js";import{cloneElement as t,useRef as n}from"react";import{createMachine as r,useId as i,useMachine as a,useSignalEffect as o,useSignals as s}from"@cascivo/core";import{jsx as c,jsxs as l}from"react/jsx-runtime";var u=r({initial:`hidden`,states:{hidden:{on:{SHOW:`visible`}},visible:{on:{HIDE:`hidden`}}}});function
|
|
1
|
+
"use client";import e from"./tooltip.module.js";import{cloneElement as t,useRef as n}from"react";import{createMachine as r,useId as i,useMachine as a,useSignalEffect as o,useSignals as s}from"@cascivo/core";import{jsx as c,jsxs as l}from"react/jsx-runtime";var u=r({initial:`hidden`,states:{hidden:{on:{SHOW:`visible`}},visible:{on:{HIDE:`hidden`}}}});function Tooltip({content:r,placement:d=`top`,children:f,delay:p=200}){s();let[m,h]=a(u),g=i(`cascivo-tooltip`),_=i(`cascivo-anchor`),v=n(void 0),y=n(null),b=m.value===`visible`,show=()=>{clearTimeout(v.current),v.current=setTimeout(()=>h(`SHOW`),p)},hide=()=>{clearTimeout(v.current),h(`HIDE`)};o(()=>()=>clearTimeout(v.current)),o(()=>{m.value===`visible`?y.current?.showPopover():y.current?.hidePopover()});let x=f,S=x.props,C={id:_,style:{anchorName:`--tooltip-${_}`},onMouseEnter:e=>{S.onMouseEnter?.(e),show()},onMouseLeave:e=>{S.onMouseLeave?.(e),hide()},onFocus:e=>{S.onFocus?.(e),show()},onBlur:e=>{S.onBlur?.(e),hide()},"aria-describedby":b?g:S[`aria-describedby`]};return l(`span`,{className:e.root,children:[t(x,C),c(`span`,{ref:y,popover:`manual`,role:`tooltip`,id:g,"data-placement":d,"data-state":b?`visible`:`hidden`,"data-anchor":`--tooltip-${_}`,className:e.tooltip,children:r})]})}export{Tooltip};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./tree-view.module.js";import{useRef as t}from"react";import{cn as n,useControllableSignal as r,useId as i,useSignal as a,useSignals as o,useTypeahead 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
|
|
1
|
+
"use client";import e from"./tree-view.module.js";import{useRef as t}from"react";import{cn as n,useControllableSignal as r,useId as i,useSignal as a,useSignals as o,useTypeahead 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 flattenVisible(e,t){let n=[],walk=(e,r,i)=>{for(let a of e){let e=!!a.children&&a.children.length>0,o=t.has(a.id);n.push({id:a.id,level:r,parentId:i,hasChildren:e,expanded:o}),e&&o&&walk(a.children,r+1,a.id)}};return walk(e,1,null),n}function toSelectionArray(e){return e===void 0?[]:Array.isArray(e)?e:e===``?[]:[e]}function TreeView({items:i,selectionMode:c=`single`,selected:l,defaultSelected:d,onSelectChange:f,onValueChange:p,expanded:m,defaultExpanded:h,onExpandedChange:g,className:_,"aria-label":v,ariaLabel:y,label:b}){o();let[x,S]=r({value:m,defaultValue:h??[],onChange:g}),[C,w]=r({value:l,defaultValue:d??(c===`multi`?[]:``),onChange:e=>{p?.(e),f?.(e)}}),T=a(null),E=t(new Map),D=new Set(x.value),O=flattenVisible(i,D),k=new Map(O.map((e,t)=>[e.id,t])),A=toSelectionArray(C.value),j=new Set(A),M=((...e)=>{for(let t of e)if(t&&k.has(t))return t;return O[0]?.id??null})(T.value,A[0]),commitExpanded=e=>S([...e]),expand=e=>{if(D.has(e))return;let t=new Set(D);t.add(e),commitExpanded(t)},collapse=e=>{if(!D.has(e))return;let t=new Set(D);t.delete(e),commitExpanded(t)},focusNode=e=>{T.value=e,E.current.get(e)?.focus()},step=(e,t)=>{let n=collectVisibleNodes(i,D);for(let r=e+t;r>=0&&r<O.length;r+=t){let e=O[r];if(e&&!n.get(e.id)?.disabled)return e}},edge=e=>e===`start`?step(-1,1):step(O.length,-1),select=e=>{if(!collectVisibleNodes(i,D).get(e)?.disabled)if(c===`multi`){let t=new Set(j);t.has(e)?t.delete(e):t.add(e),w([...t])}else w(e)},nodeText=e=>e.textValue===void 0?typeof e.label==`string`?e.label:null:e.textValue,N=s({onMatch:e=>{let t=T.peek(),n=t===null?-1:k.get(t)??-1,r=collectVisibleNodes(i,D),a=[...O.slice(n+1),...O.slice(0,n+1)].find(t=>{let n=r.get(t.id);if(!n||n.disabled)return!1;let i=nodeText(n);return i!==null&&i.toLowerCase().startsWith(e)});a&&focusNode(a.id)}}),handleKeyDown=(e,t)=>{let n=k.get(t.id);if(n===void 0)return;let{hasChildren:r,level:i,parentId:a,expanded:o}=O[n];switch(e.key){case`ArrowDown`:{e.preventDefault();let t=step(n,1);t&&focusNode(t.id);break}case`ArrowUp`:{e.preventDefault();let t=step(n,-1);t&&focusNode(t.id);break}case`ArrowRight`:if(e.preventDefault(),r&&!o)expand(t.id);else if(r&&o){let e=O[n+1];e&&e.level>i&&focusNode(e.id)}break;case`ArrowLeft`:e.preventDefault(),r&&o?collapse(t.id):a&&focusNode(a);break;case`Home`:{e.preventDefault();let t=edge(`start`);t&&focusNode(t.id);break}case`End`:{e.preventDefault();let t=edge(`end`);t&&focusNode(t.id);break}case`*`:{e.preventDefault();let t=new Set(D);for(let e of O)e.level===i&&e.parentId===a&&e.hasChildren&&t.add(e.id);commitExpanded(t);break}case`Enter`:case` `:if(e.preventDefault(),t.disabled)break;r&&(o?collapse:expand)(t.id),select(t.id);break;default:N.onKeyDown(e);break}},renderNode=(e,t,n,r)=>{let i=!!e.children&&e.children.length>0,a=D.has(e.id),o=j.has(e.id),s=M===e.id,c=e.disabled??!1,l=e.children?.length??0;return u(TreeItem,{node:e,level:t,posInSet:n,setSize:r,hasChildren:i,isExpanded:a,isSelected:o,isTabbable:s,isDisabled:c,itemRefs:E,onFocusNode:()=>T.value=e.id,onKeyDown:t=>handleKeyDown(t,e),onActivate:()=>{c||(focusNode(e.id),i&&(a?collapse:expand)(e.id),select(e.id))},children:i&&a&&e.children.map((e,n)=>renderNode(e,t+1,n+1,l))},e.id)};return u(`ul`,{role:`tree`,"aria-multiselectable":c===`multi`||void 0,"aria-label":y??v??b,className:n(e.tree,_),children:i.map((e,t)=>renderNode(e,1,t+1,i.length))})}function collectVisibleNodes(e,t){let n=new Map,walk=e=>{for(let r of e)n.set(r.id,r),r.children&&r.children.length>0&&t.has(r.id)&&walk(r.children)};return walk(e),n}function TreeItem({node:t,level:n,posInSet:r,setSize:a,hasChildren:o,isExpanded:s,isSelected:c,isTabbable:l,isDisabled:f,itemRefs:p,onFocusNode:m,onKeyDown:h,onActivate:g,children:_}){let v=i(`cascivo-tree-${t.id}`);return d(`li`,{role:`treeitem`,"aria-labelledby":v,"aria-level":n,"aria-posinset":r,"aria-setsize":a,"aria-selected":c,"aria-expanded":o?s:void 0,"aria-disabled":f||void 0,"data-disabled":f||void 0,tabIndex:l?0:-1,"data-selected":c||void 0,"data-state":o?s?`open`:`closed`:void 0,style:{"--cascivo-tree-level":n},className:e.item,ref:e=>{e?p.current.set(t.id,e):p.current.delete(t.id)},onFocus:e=>{e.target===e.currentTarget&&m()},onKeyDown:h,onClick:e=>{e.stopPropagation(),g()},children:[d(`span`,{className:e.row,children:[o?u(`span`,{className:e.twisty,"aria-hidden":`true`,"data-state":s?`open`:`closed`}):u(`span`,{className:e.twistySpacer,"aria-hidden":`true`}),t.icon&&u(`span`,{className:e.icon,"aria-hidden":`true`,children:t.icon}),u(`span`,{id:v,className:e.label,children:t.label})]}),o&&u(`div`,{role:`presentation`,className:e.groupWrap,"data-state":s?`open`:`closed`,children:u(`ul`,{role:`group`,className:e.group,children:_})})]})}var f={loading:()=>l(c.treeView.loading),expand:()=>l(c.treeView.expand),collapse:()=>l(c.treeView.collapse)};export{TreeView,f as treeViewMessages};
|
package/dist/node/user/user.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Avatar as e}from"../avatar/avatar.js";import t from"./user.module.js";import{cn as n}from"@cascivo/core/pure";import{jsx as r,jsxs as i}from"react/jsx-runtime";function
|
|
1
|
+
import{Avatar as e}from"../avatar/avatar.js";import t from"./user.module.js";import{cn as n}from"@cascivo/core/pure";import{jsx as r,jsxs as i}from"react/jsx-runtime";function User({name:a,description:o,avatarProps:s,className:c,children:l,...u}){let d=typeof a==`string`&&s?.name===void 0&&s?.fallback===void 0?{name:a}:{};return i(`div`,{role:`group`,className:n(t.user,c),...u,children:[r(e,{...d,...s}),i(`span`,{className:t.text,children:[r(`span`,{className:t.name,children:a}),o!=null&&r(`span`,{className:t.description,children:o})]}),l!=null&&r(`span`,{className:t.action,children:l})]})}export{User};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./virtual-list.module.js";import{cn as t,useSignal as n,useSignals as r}from"@cascivo/core";import{jsx as i}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./virtual-list.module.js";import{cn as t,useSignal as n,useSignals as r}from"@cascivo/core";import{jsx as i}from"react/jsx-runtime";function VirtualList({items:a,itemHeight:o,height:s,renderItem:c,overscan:l=3,ariaLabel:u,label:d,className:f}){r();let p=n(0),m=Math.ceil(s/o),h=Math.floor(p.value/o),g=Math.max(0,h-l),_=Math.min(a.length,h+m+l),v=a.slice(g,_),onScroll=e=>{p.value=e.currentTarget.scrollTop},y={blockSize:`${s}px`};return i(`div`,{className:t(e.viewport,f),style:y,onScroll,role:`list`,"aria-label":u??d,tabIndex:0,children:i(`div`,{className:e.canvas,style:{blockSize:`${a.length*o}px`},children:v.map((t,n)=>{let r=g+n;return i(`div`,{role:`listitem`,"aria-setsize":a.length,"aria-posinset":r+1,className:e.row,style:{blockSize:`${o}px`,transform:`translateY(${r*o}px)`},children:c(t,r)},r)})})})}export{VirtualList};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./wheel-picker.module.js";import{useRef as t}from"react";import{cn as n,useEffectPropSignal as r,useId as i,useSignalEffect as a}from"@cascivo/core";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=120;function
|
|
1
|
+
"use client";import e from"./wheel-picker.module.js";import{useRef as t}from"react";import{cn as n,useEffectPropSignal as r,useId as i,useSignalEffect as a}from"@cascivo/core";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=120;function WheelPicker({options:l,value:u,onValueChange:d,visibleCount:f=5,itemHeight:p=36,ariaLabel:m,label:h,className:g}){let _=t(null),v=i(),y=Math.max(0,l.findIndex(e=>e.value===u)),b=t(l);b.current=l;let x=t(d);x.current=d;let S=t(p);S.current=p;let C=t(u);C.current=u;let scrollToIndex=(e,t)=>{let n=_.current;n&&n.scrollTo({top:e*S.current,behavior:t?`smooth`:`instant`})},w=r(u);a(()=>{let e=w.value,t=b.current.findIndex(t=>t.value===e);t>=0&&scrollToIndex(t,!1)}),a(()=>{let e=_.current;if(!e)return;let t,onScroll=()=>{clearTimeout(t),t=setTimeout(()=>{let t=Math.round(e.scrollTop/S.current),n=b.current[t];n&&n.value!==C.current&&x.current(n.value)},c)};return e.addEventListener(`scroll`,onScroll,{passive:!0}),()=>{clearTimeout(t),e.removeEventListener(`scroll`,onScroll)}});let select=e=>{let t=Math.max(0,Math.min(l.length-1,e)),n=l[t];!n||n.value===u||(d(n.value),scrollToIndex(t,!0))},onKeyDown=e=>{let t={ArrowDown:y+1,ArrowUp:y-1,Home:0,End:l.length-1,PageDown:y+f,PageUp:y-f}[e.key];t!==void 0&&(e.preventDefault(),select(t))},T=(f-1)/2*p,E={"--_item-height":`${p}px`,"--_pad":`${T}px`,"--_column-height":`${f*p}px`};return s(`div`,{className:n(e.root,g),style:E,children:[o(`div`,{ref:_,role:`listbox`,tabIndex:0,"aria-label":m??h,"aria-activedescendant":`${v}-${y}`,className:e.column,onKeyDown,children:l.map((t,n)=>o(`div`,{id:`${v}-${n}`,role:`option`,"aria-selected":n===y,className:e.option,children:t.label},t.value))}),o(`div`,{"aria-hidden":`true`,className:e.band})]})}export{WheelPicker};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./notification.module.js";import{useRef as t}from"react";import{Presence as n,cn as r,normalizeTone as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`error`},f=new Set([`warning`,`error`]),p=160;function
|
|
1
|
+
"use client";import e from"./notification.module.js";import{useRef as t}from"react";import{Presence as n,cn as r,normalizeTone as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`error`},f=new Set([`warning`,`error`]),p=160;function VariantIcon({variant:e}){return e===`success`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M6.5 10.5l2.5 2.5 4.5-5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})]}):e===`warning`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`path`,{d:`M10 2.5L18.5 17H1.5L10 2.5z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinejoin:`round`}),l(`path`,{d:`M10 8v3.5M10 14h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}):e===`error`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M10 6v4.5M10 13.5h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}):u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M10 9v5M10 6.5h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]})}function Notification({title:m,description:h,variant:g=`info`,dismissible:_=!1,onDismiss:v,actions:y,icon:b,labels:x,className:S,...C}){o();let w=d[i(g)]??g,T=a(!0),E=t(v);E.current=v;let D=_||v!==void 0,dismiss=()=>{T.value=!1,setTimeout(()=>E.current?.(),p)};return l(n,{present:T,children:u(`div`,{role:f.has(w)?`alert`:`status`,"data-variant":w,className:r(e.notification,S),...C,children:[l(`span`,{className:e.icon,"aria-hidden":`true`,children:b??l(VariantIcon,{variant:w})}),u(`div`,{className:e.body,children:[l(`div`,{className:e.title,children:m}),h&&l(`div`,{className:e.description,children:h}),y&&l(`div`,{className:e.actions,children:y})]}),D&&l(`button`,{type:`button`,className:e.dismiss,"aria-label":x?.dismiss??c(s.notification.dismiss),onClick:dismiss,children:`✕`})]})})}export{Notification};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./number-input.module.js";import{forwardRef as t}from"react";import{cn as n,createMachine as r,useMachine as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=r({initial:`idle`,states:{idle:{on:{FOCUS:`focused`}},focused:{on:{BLUR:`idle`}}}});function
|
|
1
|
+
"use client";import e from"./number-input.module.js";import{forwardRef as t}from"react";import{cn as n,createMachine as r,useMachine as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=r({initial:`idle`,states:{idle:{on:{FOCUS:`focused`}},focused:{on:{BLUR:`idle`}}}});function clamp(e,t,n){let r=e;return t!==void 0&&(r=Math.max(r,t)),n!==void 0&&(r=Math.min(r,n)),r}function decimalsOf(e){let t=String(e),n=t.indexOf(`.`);return n===-1?0:t.length-n-1}function roundTo(e,t){let n=10**t;return Math.round(e*n)/n}function parseText(e){let t=e.trim();if(t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null}var f=t(function({value:t,defaultValue:r,onValueChange:f,min:p,max:m,step:h=1,precision:g,formatOptions:_,label:v,hint:y,error:b,size:x=`md`,disabled:S,incrementLabel:C,decrementLabel:w,className:T,id:E,onFocus:D,onBlur:O,onKeyDown:k,ariaLabel:A,...j},M){o();let N=C??c(s.numberInput.increment),P=w??c(s.numberInput.decrement),[F,I]=i(d),L=t!==void 0,R=a(r??null),z=a(``),B=L?t:R.value,V=E??(v?`cascade-number-input-${v.toLowerCase().replace(/\s+/g,`-`)}`:void 0),setValue=e=>{L||(R.value=e),z.value=e==null?``:String(e),e!==B&&f?.(e)},commitText=()=>{let e=parseText(z.value);e!=null&&(e=clamp(e,p,m),g!==void 0&&(e=roundTo(e,g))),setValue(e)},stepBy=e=>{let t=(F.value===`focused`?parseText(z.value):B)??0,n=g??Math.max(decimalsOf(h),decimalsOf(t));setValue(clamp(roundTo(t+e*h,n),p,m))},H=F.value===`focused`?z.value:(e=>e==null?``:_?new Intl.NumberFormat(void 0,_).format(e):String(e))(B),U=B!=null&&m!==void 0&&B>=m,W=B!=null&&p!==void 0&&B<=p;return u(`div`,{className:n(e.wrapper,T),"data-state":b?`error`:F.value,"data-size":x,children:[v&&l(`label`,{className:e.label,htmlFor:V,children:v}),u(`div`,{className:e.field,children:[l(`input`,{id:V,type:`text`,inputMode:`decimal`,autoComplete:`off`,role:`spinbutton`,className:e.input,value:H,disabled:S,"aria-valuenow":B??void 0,"aria-valuemin":p,"aria-valuemax":m,"aria-invalid":b?!0:void 0,"aria-describedby":b?`${V}-error`:y?`${V}-hint`:void 0,onChange:e=>{z.value=e.target.value},onFocus:e=>{z.value=B==null?``:String(B),I(`FOCUS`),D?.(e)},onBlur:e=>{commitText(),I(`BLUR`),O?.(e)},onKeyDown:e=>{e.key===`ArrowUp`?(e.preventDefault(),stepBy(1)):e.key===`ArrowDown`?(e.preventDefault(),stepBy(-1)):e.key===`Enter`&&commitText(),k?.(e)},ref:M,...j,"aria-label":j[`aria-label`]??A}),u(`div`,{className:e.steppers,children:[l(`button`,{type:`button`,className:e.stepper,"aria-label":N,tabIndex:-1,disabled:S||U,onMouseDown:e=>e.preventDefault(),onClick:()=>stepBy(1),children:l(`svg`,{viewBox:`0 0 10 10`,"aria-hidden":`true`,focusable:`false`,children:l(`path`,{d:`M2 6.5 5 3.5 8 6.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),l(`button`,{type:`button`,className:e.stepper,"aria-label":P,tabIndex:-1,disabled:S||W,onMouseDown:e=>e.preventDefault(),onClick:()=>stepBy(-1),children:l(`svg`,{viewBox:`0 0 10 10`,"aria-hidden":`true`,focusable:`false`,children:l(`path`,{d:`M2 3.5 5 6.5 8 3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]})]}),b&&l(`span`,{id:`${V}-error`,className:e.error,role:`alert`,children:b}),!b&&y&&l(`span`,{id:`${V}-hint`,className:e.hint,children:y})]})});export{f as NumberInput};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./otp-input.module.js";import{useRef as t}from"react";import{cn as n,useSignal as r,useSignals as i}from"@cascivo/core";import{builtin as a,t as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./otp-input.module.js";import{useRef as t}from"react";import{cn as n,useSignal as r,useSignals as i}from"@cascivo/core";import{builtin as a,t as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";function OtpInput({length:c=6,value:l,onValueChange:u,disabled:d=!1,type:f=`numeric`,className:p,...m}){i();let h=r(Array.from({length:c},(e,t)=>l[t]??``)),g=t([]),_=Array.from({length:c},(e,t)=>l[t]??``);JSON.stringify(h.value)!==JSON.stringify(_)&&(h.value=_);function notifyChange(e){u(e.join(``)),h.value=e}function focusSlot(e){let t=Math.max(0,Math.min(c-1,e));g.current[t]?.focus()}function handleInput(e,t){if(!(f===`numeric`?/^\d$/:/^[a-zA-Z0-9]$/).test(t))return;let n=[...h.value];n[e]=t,notifyChange(n),e<c-1&&focusSlot(e+1)}function handleKeyDown(e,t){if(t.key===`Backspace`){t.preventDefault();let n=[...h.value];n[e]?(n[e]=``,notifyChange(n)):e>0&&(n[e-1]=``,notifyChange(n),focusSlot(e-1))}else t.key===`ArrowLeft`?(t.preventDefault(),focusSlot(e-1)):t.key===`ArrowRight`&&(t.preventDefault(),focusSlot(e+1))}function handlePaste(e,t){let n=t.clipboardData.getData(`text`).replace(/\s/g,``).slice(0,c-e);if(!(f===`numeric`?/^\d+$/:/^[a-zA-Z0-9]+$/).test(n))return;t.preventDefault();let r=[...h.value];for(let t=0;t<n.length;t++)e+t<c&&(r[e+t]=n[t]??``);notifyChange(r),focusSlot(Math.min(e+n.length,c-1))}let v=o(a.otpInput.label);return s(`div`,{className:n(e.wrapper,p),role:`group`,"aria-label":v,...m,children:h.value.map((t,n)=>s(`input`,{ref:e=>{g.current[n]=e},type:f===`numeric`?`tel`:`text`,inputMode:f===`numeric`?`numeric`:`text`,className:e.slot,value:t,maxLength:1,"aria-label":o(a.otpInput.digit,{n:String(n+1)}),autoComplete:n===0?`one-time-code`:`off`,disabled:d,"data-filled":t?``:void 0,onChange:e=>{let t=e.currentTarget.value.slice(-1);t&&handleInput(n,t)},onKeyDown:e=>handleKeyDown(n,e),onPaste:e=>handlePaste(n,e),onFocus:e=>e.currentTarget.select()},n))})}export{OtpInput};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{Dropdown as e}from"../dropdown/dropdown.js";import t from"./overflow-menu.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{Fragment as o,jsx as s,jsxs as c}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import{Dropdown as e}from"../dropdown/dropdown.js";import t from"./overflow-menu.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{Fragment as o,jsx as s,jsxs as c}from"react/jsx-runtime";function identityOf(e){let t=e.value??e.id;if(t===void 0)throw Error(`OverflowMenu: item "${e.label}" has neither \`value\` nor \`id\`. One of them is required — it is what \`onSelect\` receives.`);return t}function KebabIcon(){return c(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`currentColor`,"aria-hidden":`true`,children:[s(`circle`,{cx:`8`,cy:`3`,r:`1.5`}),s(`circle`,{cx:`8`,cy:`8`,r:`1.5`}),s(`circle`,{cx:`8`,cy:`13`,r:`1.5`})]})}function OverflowMenu({items:l,onSelect:u,placement:d=`bottom-end`,ariaLabel:f,label:p,size:m=`md`,disabled:h=!1,tabIndex:g,className:_}){r();let v=f??p??a(i.overflowMenu.trigger),y=l.map(e=>{let n={label:e.label,value:identityOf(e)};return e.disabled!==void 0&&(n.disabled=e.disabled),e.destructive?n.icon=c(o,{children:[e.icon,s(`span`,{className:t[`destructive-flag`],"aria-hidden":`true`})]}):e.icon!==void 0&&(n.icon=e.icon),n});return s(`div`,{className:n(t.root,_),children:s(e,{items:y,onSelect:e=>u?.(e),placement:d,trigger:s(`button`,{type:`button`,className:t.trigger,"data-size":m,disabled:h,tabIndex:g,"aria-label":v,children:s(KebabIcon,{})})})})}export{OverflowMenu};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./pagination.module.js";import{cn as t,useSignals as n}from"@cascivo/core";import{builtin as r,t as i}from"@cascivo/i18n";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s=[10,25,50,100];function
|
|
1
|
+
"use client";import e from"./pagination.module.js";import{cn as t,useSignals as n}from"@cascivo/core";import{builtin as r,t as i}from"@cascivo/i18n";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s=[10,25,50,100];function Pagination({page:c,pageSize:l,totalItems:u,onPageChange:d,onPageSizeChange:f,pageSizeOptions:p=s,labels:m,className:h}){n();let g=Math.max(1,Math.ceil(u/l)),_=Math.min(Math.max(c,1),g),v=u===0?0:(_-1)*l+1,y=Math.min(_*l,u),b=m?.nav??i(r.pagination.nav),x=m?.itemsPerPage??i(r.pagination.itemsPerPage),S=m?.pageOf?.(_,g)??i(r.pagination.pageOf,{page:_,total:g}),C=m?.range?.(v,y,u)??i(r.pagination.range,{start:v,end:y,total:u}),w=m?.previous??i(r.pagination.previous),T=m?.next??i(r.pagination.next);return o(`nav`,{"aria-label":b,className:t(e.pagination,h),children:[f&&o(`label`,{className:e.group,children:[a(`span`,{className:e.label,children:x}),a(`select`,{className:e.select,value:l,onChange:e=>f(Number(e.target.value)),children:p.map(e=>a(`option`,{value:e,children:e},e))})]}),a(`span`,{className:e.range,children:C}),o(`div`,{className:e.group,children:[a(`select`,{className:e.select,"aria-label":S,value:_,onChange:e=>d(Number(e.target.value)),children:Array.from({length:g},(e,t)=>a(`option`,{value:t+1,children:t+1},t+1))}),a(`span`,{className:e.label,"aria-hidden":`true`,children:S})]}),o(`div`,{className:e.buttons,children:[a(`button`,{type:`button`,className:e.button,"aria-label":w,disabled:_<=1,onClick:()=>d(_-1),children:a(`span`,{"aria-hidden":`true`,children:`‹`})}),a(`button`,{type:`button`,className:e.button,"aria-label":T,disabled:_>=g,onClick:()=>d(_+1),children:a(`span`,{"aria-hidden":`true`,children:`›`})})]})]})}export{Pagination};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./password-input.module.js";import{forwardRef as t,useId as n}from"react";import{cn as r,useSignal as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./password-input.module.js";import{forwardRef as t,useId as n}from"react";import{cn as r,useSignal as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function getStrengthLevel(e){if(!e)return{score:0,label:`weak`};let t=0;return/[a-z]/.test(e)&&t++,/[A-Z]/.test(e)&&t++,/[0-9]/.test(e)&&t++,/[^a-zA-Z0-9]/.test(e)&&t++,e.length>=12&&(t=Math.min(4,t+1)),t=Math.min(4,t),{score:t,label:[`weak`,`weak`,`fair`,`good`,`strong`][t]}}var u=t(function({showStrengthMeter:t=!1,size:u=`md`,labels:d,className:f,id:p,value:m,defaultValue:h,onChange:g,..._},v){a();let y=i(!1),b=i(typeof m==`string`?m:typeof h==`string`?h:``);typeof m==`string`&&(b.value=m);let x=n(),S=p??`cascade-password-${x}`,C=t?getStrengthLevel(b.value):null,w=y.value?d?.hide??s(o.passwordInput.hide):d?.reveal??s(o.passwordInput.reveal),T=C?d?.strengthLabel?d.strengthLabel(C.label):s(o.passwordInput.strengthLabel,{level:C.label}):void 0;return l(`div`,{className:r(e.wrapper,f),"data-size":u,"data-revealed":y.value?``:void 0,children:[l(`div`,{className:e[`input-row`],children:[c(`input`,{ref:v,..._,id:S,type:y.value?`text`:`password`,className:e.input,value:m,defaultValue:h,onChange:e=>{typeof m!=`string`&&(b.value=e.currentTarget.value),g?.(e)}}),c(`button`,{type:`button`,className:e[`reveal-btn`],"aria-label":w,onClick:()=>{y.value=!y.value},children:c(`span`,{className:e[`reveal-icon`],"aria-hidden":`true`})})]}),t&&C&&c(`div`,{className:e[`strength-meter`],role:`meter`,"aria-label":T,"aria-valuenow":C.score,"aria-valuemin":0,"aria-valuemax":4,"data-strength":C.label,children:[0,1,2,3].map(t=>c(`div`,{className:e[`strength-segment`],"data-filled":t<C.score?``:void 0},t))})]})});export{u as PasswordInput};
|
package/dist/popover/popover.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{usePopover as e}from"./use-popover.js";import t from"./popover.module.js";import{createContext as n}from"react";import{Slot as r,useSignals as i}from"@cascivo/core";import{jsx as a}from"react/jsx-runtime";var o=n(null);function
|
|
1
|
+
"use client";import{usePopover as e}from"./use-popover.js";import t from"./popover.module.js";import{createContext as n}from"react";import{Slot as r,useSignals as i}from"@cascivo/core";import{jsx as a}from"react/jsx-runtime";var o=n(null);function Popover({children:t,...n}){let r=e(n);return a(o.Provider,{value:r,children:t})}function PopoverTrigger({children:e,asChild:n=!1}){i();let s=n?r:`button`;return a(o.Consumer,{children:r=>{if(!r)throw Error(`PopoverTrigger must be used inside <Popover>`);let{triggerRef:i,toggle:o,anchorName:c,isOpen:l}=r;return a(s,{ref:i,type:n?void 0:`button`,"aria-expanded":l.value,"aria-haspopup":`dialog`,style:{anchorName:c},onClick:o,className:t.trigger,children:e})}})}function PopoverContent({children:e,className:n}){return i(),a(o.Consumer,{children:r=>{if(!r)throw Error(`PopoverContent must be used inside <Popover>`);let{popoverRef:i,anchorName:o,isOpen:s}=r;return a(`div`,{ref:i,popover:`auto`,role:`dialog`,"data-state":s.value?`open`:`closed`,style:{positionAnchor:o},className:[t.content,n].filter(Boolean).join(` `),children:e})}})}export{Popover,PopoverContent,PopoverTrigger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRef as e}from"react";import{useId as t,useSignal as n,useSignalEffect as r}from"@cascivo/core";var i=typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`anchor-name: --cascivo-a`);function
|
|
1
|
+
import{useRef as e}from"react";import{useId as t,useSignal as n,useSignalEffect as r}from"@cascivo/core";var i=typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`anchor-name: --cascivo-a`);function usePopover(a={}){let o=`--${t(`cascivo-popover`)}`,s=e(null),c=e(null),l=n(a.open??!1);a.open!==void 0&&(l.value=a.open);let u=e(a.onOpenChange);u.current=a.onOpenChange;let d=e(a.placement);d.current=a.placement;let f=e(a.offset);return f.current=a.offset,r(()=>{let e=l.value;u.current?.(e);let t=c.current;if(t){if(e)try{t.showPopover()}catch{}else try{t.hidePopover()}catch{}if(!i&&e){let e=s.current;if(!e)return;let n=e.getBoundingClientRect(),r=d.current??`bottom`,i=f.current??4;r===`bottom`?(t.style.top=`${n.bottom+i+window.scrollY}px`,t.style.left=`${n.left+window.scrollX}px`):r===`top`?(t.style.top=`${n.top-i+window.scrollY}px`,t.style.left=`${n.left+window.scrollX}px`,t.style.transform=`translateY(-100%)`):r===`left`?(t.style.top=`${n.top+window.scrollY}px`,t.style.left=`${n.left-i+window.scrollX}px`,t.style.transform=`translateX(-100%)`):r===`right`&&(t.style.top=`${n.top+window.scrollY}px`,t.style.left=`${n.right+i+window.scrollX}px`)}}}),r(()=>{let e=c.current;if(!e)return;let handler=e=>{e.newState===`closed`&&(l.value=!1)};return e.addEventListener(`toggle`,handler),()=>e.removeEventListener(`toggle`,handler)}),{triggerRef:s,popoverRef:c,isOpen:l,anchorName:o,open:()=>{l.value=!0},close:()=>{l.value=!1},toggle:()=>{l.value=!l.value}}}export{usePopover};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./progress.module.js";import{jsx as t}from"react/jsx-runtime";function
|
|
1
|
+
import e from"./progress.module.js";import{jsx as t}from"react/jsx-runtime";function Progress({value:n,variant:r=`primary`,size:i=`md`,className:a,ariaLabel:o,label:s,...c}){return t(`progress`,{"aria-label":c[`aria-label`]??o??s,className:[e.progress,a].filter(Boolean).join(` `),"data-variant":r,"data-size":i,value:n,max:n===void 0?void 0:100,...c})}export{Progress};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./progress-bar.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function
|
|
1
|
+
import e from"./progress-bar.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function ProgressBar({value:i,max:a=100,label:o,helperText:s,size:c=`md`,status:l=`active`,className:u}){let d=i===void 0,f=d?0:Math.min(Math.max(i,0),a),p=a>0?f/a*100:0,m=o?`cascade-progress-${o.toLowerCase().replace(/\s+/g,`-`)}`:void 0,h=l===`success`?`✓`:l===`error`?`✕`:null;return r(`div`,{"data-status":l,"data-size":c,"data-state":d?`indeterminate`:void 0,className:t(e.progress,u),children:[o&&r(`span`,{id:m,className:e.label,children:[o,h&&n(`span`,{className:e.glyph,"aria-hidden":`true`,children:h})]}),n(`div`,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":a,"aria-valuenow":d?void 0:f,"aria-labelledby":m,className:e.track,children:n(`div`,{className:e.fill,style:d?void 0:{"--cascivo-progress-value":`${p}%`}})}),s&&n(`span`,{className:e.helper,children:s})]})}export{ProgressBar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./progress-circle.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";var i=20,a=2*Math.PI*i;function
|
|
1
|
+
import e from"./progress-circle.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";var i=20,a=2*Math.PI*i;function ProgressCircle({value:o,max:s=100,size:c=`md`,showValue:l=!1,label:u,ariaLabel:d,className:f,...p}){let m=Math.min(Math.max(o,0),s),h=s>0?m/s*100:0,g=a*(1-h/100);return r(`div`,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":m,"aria-label":d??u,"data-size":c,className:t(e.progressCircle,f),...p,children:[r(`svg`,{viewBox:`0 0 48 48`,"aria-hidden":`true`,className:e.svg,children:[n(`circle`,{className:e.track,cx:`24`,cy:`24`,r:i,fill:`none`,strokeWidth:`4`}),n(`circle`,{className:e.fill,cx:`24`,cy:`24`,r:i,fill:`none`,strokeWidth:`4`,strokeLinecap:`round`,strokeDasharray:a,strokeDashoffset:g})]}),l&&r(`span`,{className:e.value,children:[Math.round(h),`%`]})]})}export{ProgressCircle};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./progress-indicator.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function
|
|
1
|
+
import e from"./progress-indicator.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function ProgressIndicator({steps:i,currentIndex:a,vertical:o=!1,className:s}){return n(`ol`,{className:t(e.indicator,s),"data-orientation":o?`vertical`:`horizontal`,children:i.map((t,i)=>{let o=i<a?`complete`:i===a?`current`:`incomplete`;return r(`li`,{className:e.step,"data-status":o,"aria-current":o===`current`?`step`:void 0,children:[n(`span`,{className:e.marker,"aria-hidden":`true`,children:o===`complete`?`✓`:i+1}),r(`span`,{className:e.text,children:[n(`span`,{className:e.label,children:t.label}),t.description&&n(`span`,{className:e.description,children:t.description})]})]},t.id??i)})})}export{ProgressIndicator};
|
package/dist/prose/prose.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./prose.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function
|
|
1
|
+
import e from"./prose.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function Prose({className:r,children:i,...a}){return n(`div`,{className:t(e.prose,r),...a,children:i})}export{Prose};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{Spinner as e}from"../spinner/spinner.js";import t from"./pull-to-refresh.module.js";import{useRef as n}from"react";import{cn as r,useSignal as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=.5;function
|
|
1
|
+
"use client";import{Spinner as e}from"../spinner/spinner.js";import t from"./pull-to-refresh.module.js";import{useRef as n}from"react";import{cn as r,useSignal as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=.5;function PullToRefresh({onRefresh:f,children:p,threshold:m=64,disabled:h=!1,labels:g,className:_}){o();let v=n(null),y=i(0),b=i(!1),x=i(!1),S=n(f);S.current=f;let C=n(m);C.current=m;let w=n(h);w.current=h,a(()=>{let e=v.current;if(!e||typeof window>`u`)return;let t=0,n=!1,onDown=r=>{w.current||b.value||e.scrollTop>0||(t=r.clientY,n=!0)},onMove=r=>{if(!n||b.value)return;let i=r.clientY-t;if(i<=0||e.scrollTop>0){y.value=0,x.value=!1;return}r.preventDefault(),x.value=!0,y.value=Math.min(i*d,C.current*1.5)},onUp=()=>{n&&(n=!1,x.value=!1,!b.value&&(y.value>=C.current?(b.value=!0,y.value=C.current,Promise.resolve(S.current()).then(()=>{b.value=!1,y.value=0},()=>{b.value=!1,y.value=0})):y.value=0))};return e.addEventListener(`pointerdown`,onDown),window.addEventListener(`pointermove`,onMove,{passive:!1}),window.addEventListener(`pointerup`,onUp),window.addEventListener(`pointercancel`,onUp),()=>{e.removeEventListener(`pointerdown`,onDown),window.removeEventListener(`pointermove`,onMove),window.removeEventListener(`pointerup`,onUp),window.removeEventListener(`pointercancel`,onUp)}});let T=b.value?m:y.value,E=Math.min(T/m,1),D=E>=1,O=b.value?g?.refreshing??c(s.pullToRefresh.refreshing):D?g?.release??c(s.pullToRefresh.release):T>0?g?.pull??c(s.pullToRefresh.pull):``,k={"--_pull":`${T}px`};return u(`div`,{className:r(t.root,_),style:k,children:[l(`div`,{className:t.indicator,"data-dragging":x.value?``:void 0,children:b.value?l(e,{size:`sm`}):l(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,className:t.arrow,"data-ready":D?``:void 0,style:{opacity:E},children:l(`path`,{d:`M8 13V3M4 7l4-4 4 4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),l(`span`,{role:`status`,"aria-live":`polite`,className:t.srOnly,children:O}),l(`div`,{ref:v,className:t.viewport,"data-dragging":x.value?``:void 0,children:p})]})}export{PullToRefresh};
|
package/dist/qr-code/encode.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={L:{ordinal:0,formatBits:1},M:{ordinal:1,formatBits:0},Q:{ordinal:2,formatBits:3},H:{ordinal:3,formatBits:2}},t=1,n=40,r=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],i=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];function
|
|
1
|
+
var e={L:{ordinal:0,formatBits:1},M:{ordinal:1,formatBits:0},Q:{ordinal:2,formatBits:3},H:{ordinal:3,formatBits:2}},t=1,n=40,r=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],i=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];function getNumRawDataModules(e){let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function getNumDataCodewords(t,n){let a=e[n].ordinal;return Math.floor(getNumRawDataModules(t)/8)-r[a][t]*i[a][t]}function reedSolomonMultiply(e,t){let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n&255}function reedSolomonComputeDivisor(e){let t=Array.from({length:e}).fill(0);t[e-1]=1;let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=reedSolomonMultiply(t[e],n),e+1<t.length&&(t[e]=t[e]^t[e+1]);n=reedSolomonMultiply(n,2)}return t}function reedSolomonComputeRemainder(e,t){let n=Array.from({length:t.length}).fill(0);for(let r of e){let e=r^n.shift();n.push(0);for(let r=0;r<n.length;r++)n[r]=n[r]^reedSolomonMultiply(t[r],e)}return n}function appendBits(e,t,n){for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function encodeByteSegment(e,t){let n=[];appendBits(4,4,n);let r=t<=9?8:16;appendBits(e.length,r,n);for(let t of e)appendBits(t,8,n);return n}function fitsVersion(e,t,n){return 4+(t<=9?8:16)+e*8<=getNumDataCodewords(t,n)*8}function addEccAndInterleave(t,n,a){let o=e[a].ordinal,s=i[o][n],c=r[o][n],l=Math.floor(getNumRawDataModules(n)/8),u=s-l%s,d=Math.floor(l/s),f=[],p=reedSolomonComputeDivisor(c),m=0;for(let e=0;e<s;e++){let n=d-c+(e<u?0:1),r=t.slice(m,m+n);m+=n;let i=reedSolomonComputeRemainder(r,p);e<u&&r.push(0),f.push(r.concat(i))}let h=[];for(let e=0;e<f[0].length;e++)for(let t=0;t<f.length;t++)(e!==d-c||t>=u)&&h.push(f[t][e]);return h}function buildDataCodewords(e,t,n){let r=encodeByteSegment(utf8Bytes(e),t),i=getNumDataCodewords(t,n)*8;appendBits(0,Math.min(4,i-r.length),r),appendBits(0,(8-r.length%8)%8,r);let a=[];for(let e=0;e<r.length;e+=8){let t=0;for(let n=0;n<8;n++)t=t<<1|r[e+n];a.push(t)}for(let e=236;a.length<i/8;e^=253)a.push(e);return a}function utf8Bytes(e){return typeof TextEncoder<`u`?Array.from(new TextEncoder().encode(e)):Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}var QrMatrix=class{size;modules;isFunction;constructor(e){this.size=e*4+17,this.modules=Array.from({length:this.size},()=>Array.from({length:this.size}).fill(!1)),this.isFunction=Array.from({length:this.size},()=>Array.from({length:this.size}).fill(!1))}set(e,t,n,r){this.modules[t][e]=n,this.isFunction[t][e]=r}drawFinder(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=e+r,a=t+n;if(i<0||i>=this.size||a<0||a>=this.size)continue;let o=Math.max(Math.abs(r),Math.abs(n));this.set(i,a,o!==2&&o!==4,!0)}}drawAlignment(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.set(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,!0)}isFn(e,t){return this.isFunction[t][e]}};function alignmentPositions(e){if(e===1)return[];let t=Math.floor(e/7)+2,n=Math.floor((e*8+t*3+5)/(t*4-4))*2,r=[6];for(let i=e*4+10;r.length<t;i-=n)r.splice(1,0,i);return r}function drawFunctionPatterns(e,t,n){let r=e.size;for(let t=0;t<r;t++)e.set(6,t,t%2==0,!0),e.set(t,6,t%2==0,!0);e.drawFinder(3,3),e.drawFinder(r-4,3),e.drawFinder(3,r-4);let i=alignmentPositions(t);for(let t=0;t<i.length;t++)for(let n=0;n<i.length;n++)t===0&&n===0||t===0&&n===i.length-1||t===i.length-1&&n===0||e.drawAlignment(i[t],i[n]);drawFormatBits(e,n,0,!0),drawVersion(e,t)}function drawFormatBits(t,n,r,i){let a=t.size,o=e[n].formatBits<<3|r,s=o;for(let e=0;e<10;e++)s=s<<1^(s>>>9)*1335;let c=(o<<10|s)^21522,get=e=>i?!1:(c>>>e&1)!=0;for(let e=0;e<=5;e++)t.set(8,e,get(e),!0);t.set(8,7,get(6),!0),t.set(8,8,get(7),!0),t.set(7,8,get(8),!0);for(let e=9;e<15;e++)t.set(14-e,8,get(e),!0);for(let e=0;e<8;e++)t.set(a-1-e,8,get(e),!0);for(let e=8;e<15;e++)t.set(8,a-15+e,get(e),!0);t.set(8,a-8,!0,!0)}function drawVersion(e,t){if(t<7)return;let n=t;for(let e=0;e<12;e++)n=n<<1^(n>>>11)*7973;let r=t<<12|n;for(let t=0;t<18;t++){let n=(r>>>t&1)!=0,i=e.size-11+t%3,a=Math.floor(t/3);e.set(i,a,n,!0),e.set(a,i,n,!0)}}function drawCodewords(e,t){let n=e.size,r=0;for(let i=n-1;i>=1;i-=2){let a=i===6?5:i;for(let i=0;i<n;i++)for(let o=0;o<2;o++){let s=a-o,c=a+1&2?i:n-1-i;if(!e.isFn(s,c)&&r<t.length*8){let n=(t[r>>>3]>>>7-(r&7)&1)!=0;e.set(s,c,n,!1),r++}}}}function applyMask(e,t){for(let n=0;n<e.size;n++)for(let r=0;r<e.size;r++){if(e.isFn(r,n))continue;let i=!1;switch(t){case 0:i=(r+n)%2==0;break;case 1:i=n%2==0;break;case 2:i=r%3==0;break;case 3:i=(r+n)%3==0;break;case 4:i=(Math.floor(r/3)+Math.floor(n/2))%2==0;break;case 5:i=r*n%2+r*n%3==0;break;case 6:i=(r*n%2+r*n%3)%2==0;break;case 7:i=((r+n)%2+r*n%3)%2==0;break}i&&(e.modules[n][r]=!e.modules[n][r])}}function penaltyScore(e){let t=e.size,n=0,r=e.modules;for(let e=0;e<t;e++){let i=!1,a=0;for(let o=0;o<t;o++)r[e][o]===i?(a++,a===5?n+=3:a>5&&n++):(i=r[e][o],a=1)}for(let e=0;e<t;e++){let i=!1,a=0;for(let o=0;o<t;o++)r[o][e]===i?(a++,a===5?n+=3:a>5&&n++):(i=r[o][e],a=1)}for(let e=0;e<t-1;e++)for(let i=0;i<t-1;i++){let t=r[e][i];t===r[e][i+1]&&t===r[e+1][i]&&t===r[e+1][i+1]&&(n+=3)}let i=0;for(let e=0;e<t;e++)for(let n=0;n<t;n++)r[e][n]&&i++;let a=t*t,o=Math.ceil(Math.abs(i*20-a*10)/a)-1;return n+=o*10,n}function encode(e,r=`M`){let i=utf8Bytes(e).length,a=t;for(;a<=n&&!fitsVersion(i,a,r);)a++;if(a>n)throw Error(`Data too long for a QR code`);let o=addEccAndInterleave(buildDataCodewords(e,a,r),a,r),s=new QrMatrix(a);drawFunctionPatterns(s,a,r),drawCodewords(s,o);let c=0,l=1/0;for(let e=0;e<8;e++){applyMask(s,e),drawFormatBits(s,r,e,!1);let t=penaltyScore(s);t<l&&(l=t,c=e),applyMask(s,e)}return applyMask(s,c),drawFormatBits(s,r,c,!1),s.modules}export{encode};
|
package/dist/qr-code/qr-code.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{encode as e}from"./encode.js";import t from"./qr-code.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=4;function
|
|
1
|
+
"use client";import{encode as e}from"./encode.js";import t from"./qr-code.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=4;function QrCode({value:l,size:u=128,errorCorrection:d=`M`,radius:f,fill:p=`currentColor`,background:m=`transparent`,label:h,ariaLabel:g,className:_,style:v,...y}){if(r(),!l)return null;let b=e(l,d),x=b.length+c*2,S=``;for(let e=0;e<b.length;e++)for(let t=0;t<b.length;t++)b[e][t]&&(S+=`M${t+c},${e+c}h1v1h-1z`);return o(`div`,{className:n(t.qrCode,_),style:{inlineSize:u,blockSize:u,borderRadius:f,...v},...y,children:s(`svg`,{className:t.svg,role:`img`,"aria-label":g??h??a(i.qrCode.label),viewBox:`0 0 ${x} ${x}`,shapeRendering:`crispEdges`,children:[o(`rect`,{width:x,height:x,fill:m}),o(`path`,{d:S,fill:p})]})})}export{QrCode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./radial-progress.module.js";import{useId as t}from"react";import{jsx as n}from"react/jsx-runtime";function
|
|
1
|
+
import e from"./radial-progress.module.js";import{useId as t}from"react";import{jsx as n}from"react/jsx-runtime";function RadialProgress({value:r,size:i=`md`,variant:a=`primary`,children:o,className:s,ariaLabel:c,label:l,...u}){let d=Math.min(100,Math.max(0,r)),f=t(),p=c??l;return n(`div`,{role:`progressbar`,"aria-valuenow":d,"aria-valuemin":0,"aria-valuemax":100,"aria-labelledby":p??u[`aria-label`]?void 0:f,className:[e.radialProgress,s].filter(Boolean).join(` `),"data-size":i,"data-variant":a,style:{"--cascivo-radial-progress":d},...u,...p===void 0?{}:{"aria-label":p},children:n(`span`,{id:f,className:e.label,children:o??`${d}%`})})}export{RadialProgress};
|
package/dist/radio/radio.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"./radio.module.js";import{cn as t}from"@cascivo/core/pure";import{Children as n,cloneElement as r,forwardRef as i,isValidElement as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=i(function({label:n,ariaLabel:r,className:i,id:a,disabled:c,value:l,...u},d){let f=a??(n?`cascade-radio-${l}`:void 0);return s(`label`,{className:t(e.wrapper,i),"data-disabled":c||void 0,children:[o(`input`,{id:f,type:`radio`,value:l,className:e.input,disabled:c,ref:d,...u,"aria-label":u[`aria-label`]??r}),o(`span`,{className:e.control,"aria-hidden":`true`}),n&&o(`span`,{className:e.label,children:n})]})});function
|
|
1
|
+
import e from"./radio.module.js";import{cn as t}from"@cascivo/core/pure";import{Children as n,cloneElement as r,forwardRef as i,isValidElement as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=i(function({label:n,ariaLabel:r,className:i,id:a,disabled:c,value:l,...u},d){let f=a??(n?`cascade-radio-${l}`:void 0);return s(`label`,{className:t(e.wrapper,i),"data-disabled":c||void 0,children:[o(`input`,{id:f,type:`radio`,value:l,className:e.input,disabled:c,ref:d,...u,"aria-label":u[`aria-label`]??r}),o(`span`,{className:e.control,"aria-hidden":`true`}),n&&o(`span`,{className:e.label,children:n})]})});function RadioGroup({name:i,value:s,defaultValue:c,onChange:l,orientation:u=`vertical`,className:d,children:f}){let p=s!==void 0;return o(`div`,{role:`radiogroup`,"data-orientation":u,className:t(e.group,d),children:n.map(f,e=>{if(!a(e))return e;let t=e,n=t.props.value,o={name:i};return p?o.checked=n===s:c!==void 0&&(o.defaultChecked=n===c),l&&(o.onChange=e=>{e.target.checked&&l(n)}),r(t,o)})})}export{c as Radio,RadioGroup};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./radio-card.module.js";import{createContext as t,forwardRef as n}from"react";import{cn as r}from"@cascivo/core";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o=t({name:``});function
|
|
1
|
+
"use client";import e from"./radio-card.module.js";import{createContext as t,forwardRef as n}from"react";import{cn as r}from"@cascivo/core";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o=t({name:``});function RadioCardGroup({name:t,label:n,value:a,defaultValue:s,onValueChange:c,children:l,className:u}){return i(o.Provider,{value:{name:t,value:a,defaultValue:s,onValueChange:c},children:i(`div`,{role:`radiogroup`,"aria-label":n,className:r(e.group,u),children:l})})}var s=n(function({value:t,title:n,description:r,disabled:s,hideIndicator:c,...l},u){return i(o.Consumer,{children:o=>a(`label`,{className:e.card,"data-disabled":s||void 0,children:[i(`input`,{type:`radio`,className:e.input,name:o.name,value:t,disabled:s,...o.value===void 0?{defaultChecked:o.defaultValue===t,onChange:()=>o.onValueChange?.(t)}:{checked:o.value===t,onChange:()=>o.onValueChange?.(t)},ref:u,...l}),!c&&i(`span`,{className:e.glyph,"aria-hidden":`true`}),a(`span`,{className:e.body,children:[i(`span`,{className:e.title,children:n}),r&&i(`span`,{className:e.description,children:r})]})]})})});export{s as RadioCard,RadioCardGroup};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./rating-group.module.js";import{cn as t}from"@cascivo/core";import{jsx as n}from"react/jsx-runtime";function
|
|
1
|
+
"use client";import e from"./rating-group.module.js";import{cn as t}from"@cascivo/core";import{jsx as n}from"react/jsx-runtime";function defaultRatingLabel(e,t){return`${e} of ${t} stars`}function RatingGroup({value:r,onValueChange:i,max:a=5,size:o=`md`,disabled:s=!1,readOnly:c=!1,labels:l,className:u,...d}){let f=l?.rating??defaultRatingLabel,p=!s&&!c&&i!==void 0;return n(`div`,{className:t(e.wrapper,u),"data-size":o,role:`radiogroup`,...d,children:Array.from({length:a},(t,o)=>{let c=o+1,l=c<=r;return n(`button`,{type:`button`,role:`radio`,"aria-checked":c===r,"aria-label":f(c,a),className:e.star,"data-filled":l?``:void 0,"data-value":c,disabled:s,tabIndex:p?0:-1,onClick:()=>{p&&i(c)}},c)})})}export{RatingGroup};
|
package/dist/react/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Spinner as ee}from"../../spinner/spinner.js";import{Button as te}from"../../button/button.js";import{Input as e}from"../../input/input.js";import{Card as t,CardContent as n,CardFooter as r,CardHeader as i,CardTitle as a}from"../../card/card.js";import{Badge as o}from"../../badge/badge.js";import{Modal as s}from"../../modal/modal.js";import{Separator as c}from"../../separator/separator.js";import{Logo as l}from"../../brand/logo/logo.js";import{Alert as u}from"../../alert/alert.js";import{Avatar as d}from"../../avatar/avatar.js";import{AvatarGroup as f}from"../../avatar-group/avatar-group.js";import{User as p}from"../../user/user.js";import{Image as m}from"../../image/image.js";import{Textarea as h}from"../../textarea/textarea.js";import{Select as g}from"../../select/select.js";import{Checkbox as _}from"../../checkbox/checkbox.js";import{Radio as v,RadioGroup as y}from"../../radio/radio.js";import{Toggle as b}from"../../toggle/toggle.js";import{Slider as x}from"../../slider/slider.js";import{Tooltip as S}from"../../tooltip/tooltip.js";import{Dropdown as C}from"../../dropdown/dropdown.js";import{ToastProvider as w,dismissAllToasts as T,useToast as E}from"../../toast/toast.js";import{Tabs as D,TabsContent as O,TabsList as k,TabsTrigger as A}from"../../tabs/tabs.js";import{Accordion as j,AccordionContent as M,AccordionItem as N,AccordionTrigger as P}from"../../accordion/accordion.js";import{ActionSheet as F}from"../../action-sheet/action-sheet.js";import{Kbd as I}from"../../kbd/kbd.js";import{Link as L}from"../../link/link.js";import{Breadcrumb as R}from"../../breadcrumb/breadcrumb.js";import{Toc as z}from"../../toc/toc.js";import{useTocFromRegion as B}from"../../toc/use-toc-from-region.js";import{Header as V}from"../../header/header.js";import{usePopover as H}from"../../popover/use-popover.js";import{SideNav as U}from"../../side-nav/side-nav.js";import{Pagination as W}from"../../pagination/pagination.js";import{ProgressIndicator as G}from"../../progress-indicator/progress-indicator.js";import{Tag as K}from"../../tag/tag.js";import{Skeleton as q}from"../../skeleton/skeleton.js";import{ProgressBar as J}from"../../progress-bar/progress-bar.js";import{EmptyState as Y}from"../../empty-state/empty-state.js";import{Fab as X}from"../../fab/fab.js";import{OverflowMenu as Z}from"../../overflow-menu/overflow-menu.js";import{Search as Q}from"../../search/search.js";import{NumberInput as ne}from"../../number-input/number-input.js";import{Editable as re}from"../../editable/editable.js";import{Popover as ie,PopoverContent as ae,PopoverTrigger as oe}from"../../popover/popover.js";import{DataTable as se}from"../../data-table/data-table.js";import{CommandMenu as ce,fuzzyMatch as le,fuzzyScore as ue}from"../../command-menu/command-menu.js";import{Form as de,createForm as fe,useForm as pe}from"../../form/form.js";import{Combobox as me}from"../../combobox/combobox.js";import{Calendar as he}from"../../calendar/calendar.js";import{DatePicker as ge}from"../../date-picker/date-picker.js";import{FileUploader as _e}from"../../file-uploader/file-uploader.js";import{TimePicker as ve}from"../../time-picker/time-picker.js";import{Menu as ye,MenuItem as be,MenuSeparator as xe,MenuTrigger as Se}from"../../menu/menu.js";import{AlertDialog as Ce}from"../../alert-dialog/alert-dialog.js";import{Sheet as we}from"../../sheet/sheet.js";import{BottomSheet as Te}from"../../bottom-sheet/bottom-sheet.js";import{ContextMenu as Ee,ContextMenuItem as De}from"../../context-menu/context-menu.js";import{Comparison as Oe}from"../../comparison/comparison.js";import{HoverCard as ke,HoverCardContent as Ae,HoverCardTrigger as je}from"../../hover-card/hover-card.js";import{PasswordInput as Me}from"../../password-input/password-input.js";import{MultiSelect as Ne}from"../../multi-select/multi-select.js";import{TagsInput as Pe}from"../../tags-input/tags-input.js";import{OtpInput as Fe}from"../../otp-input/otp-input.js";import{SegmentedControl as Ie}from"../../segmented-control/segmented-control.js";import{InputGroup as Le,InputGroupAddon as Re}from"../../input-group/input-group.js";import{RatingGroup as ze}from"../../rating-group/rating-group.js";import{RadioCard as Be,RadioCardGroup as Ve}from"../../radio-card/radio-card.js";import{ShellHeader as He}from"../../shell-header/shell-header.js";import{HeaderPanel as Ue}from"../../header-panel/header-panel.js";import{Switcher as We}from"../../switcher/switcher.js";import{CheckboxCard as Ge}from"../../checkbox-card/checkbox-card.js";import{CopyButton as Ke}from"../../copy-button/copy-button.js";import{Stat as qe}from"../../stat/stat.js";import{Status as Je}from"../../status/status.js";import"../../visually-hidden/visually-hidden.js";import{SkipNavLink as Ye,SkipNavTarget as Xe}from"../../skip-nav/skip-nav.js";import{Progress as Ze}from"../../progress/progress.js";import{ProgressCircle as Qe}from"../../progress-circle/progress-circle.js";import{Heading as $e}from"../../heading/heading.js";import{Text as et}from"../../text/text.js";import{Code as tt}from"../../code/code.js";import{Blockquote as nt}from"../../blockquote/blockquote.js";import{List as rt,ListItem as it}from"../../list/list.js";import{LogViewer as at}from"../../log-viewer/log-viewer.js";import{Prose as ot}from"../../prose/prose.js";import{PullToRefresh as st}from"../../pull-to-refresh/pull-to-refresh.js";import{QrCode as ct}from"../../qr-code/qr-code.js";import{RelativeTime as lt}from"../../relative-time/relative-time.js";import{Label as ut}from"../../label/label.js";import{Field as dt}from"../../field/field.js";import{Filter as ft}from"../../filter/filter.js";import{IconButton as $}from"../../icon-button/icon-button.js";import{ButtonGroup as pt}from"../../button-group/button-group.js";import{ToggleGroup as mt}from"../../toggle-group/toggle-group.js";import{InlineLoading as ht}from"../../inline-loading/inline-loading.js";import{Notification as gt}from"../../notification/notification.js";import{ScrollArea as _t}from"../../scroll-area/scroll-area.js";import{Collapsible as vt}from"../../collapsible/collapsible.js";import{AspectRatio as yt}from"../../aspect-ratio/aspect-ratio.js";import{MenuButton as bt}from"../../menu-button/menu-button.js";import{Toggletip as xt}from"../../toggletip/toggletip.js";import{Menubar as St}from"../../menubar/menubar.js";import{NavigationMenu as Ct}from"../../navigation-menu/navigation-menu.js";import{TreeView as wt,treeViewMessages as Tt}from"../../tree-view/tree-view.js";import{StructuredList as Et}from"../../structured-list/structured-list.js";import{ContainedList as Dt,ContainedListItem as Ot}from"../../contained-list/contained-list.js";import{DataList as kt}from"../../data-list/data-list.js";import{Timeline as At}from"../../timeline/timeline.js";import{Item as jt,ItemActions as Mt,ItemContent as Nt,ItemDescription as Pt,ItemMedia as Ft,ItemTitle as It}from"../../item/item.js";import{DateRangePicker as Lt}from"../../date-range-picker/date-range-picker.js";import{ColorPicker as Rt}from"../../color-picker/color-picker.js";import{Carousel as zt}from"../../carousel/carousel.js";import{Resizable as Bt}from"../../resizable/resizable.js";import{Dock as Vt}from"../../dock/dock.js";import{LargeTitleHeader as Ht}from"../../large-title-header/large-title-header.js";import{InfiniteScroll as Ut}from"../../infinite-scroll/infinite-scroll.js";import{ReorderList as Wt}from"../../reorder-list/reorder-list.js";import{VirtualList as Gt}from"../../virtual-list/virtual-list.js";import{WheelPicker as Kt}from"../../wheel-picker/wheel-picker.js";import{Drawer as qt}from"../../drawer/drawer.js";import{NativeSelect as Jt}from"../../native-select/native-select.js";import{CodeSnippet as Yt}from"../../code-snippet/code-snippet.js";import{Steps as Xt}from"../../steps/steps.js";import{Tile as Zt}from"../../tile/tile.js";import{Indicator as Qt}from"../../indicator/indicator.js";import{Join as $t}from"../../join/join.js";import{Stack as en}from"../../stack/stack.js";import{AppShell as tn}from"../../app-shell/app-shell.js";import{ChatBubble as nn}from"../../chat-bubble/chat-bubble.js";import{RadialProgress as rn}from"../../radial-progress/radial-progress.js";import{Swap as an}from"../../swap/swap.js";import{SwipeItem as on}from"../../swipe-item/swipe-item.js";import{Grid as sn,GridItem as cn}from"../../layouts/src/grid/grid.js";import{Flex as ln}from"../../layouts/src/flex/flex.js";import{Columns as un}from"../../layouts/src/columns/columns.js";import{Center as dn}from"../../layouts/src/center/center.js";import{Spacer as fn}from"../../layouts/src/spacer/spacer.js";import{AutoGrid as pn}from"../../layouts/src/auto-grid/auto-grid.js";import{PageHeader as mn}from"../../layouts/src/page-header/page-header.js";import{DismissableLayer as hn,ErrorBoundary as gn,FocusScope as _n,Portal as vn,Presence as yn,Slot as bn,SuspenseBoundary as xn,ThemeProvider as Sn,VisuallyHidden as Cn,applyTheme as wn,batch as Tn,cn as En,composeRefs as Dn,computePosition as On,computed as kn,createMachine as An,createScope as jn,createStreamBuffer as Mn,effect as Nn,getLinkComponent as Pn,mergeProps as Fn,setLinkComponent as In,setTheme as Ln,signal as Rn,themePreloadScript as zn,themeSignal as Bn,useAnchorPosition as Vn,useClipboard as Hn,useComputed as Un,useControllableSignal as Wn,useDisclosure as Gn,useEffectPropSignal as Kn,useId as qn,useMachine as Jn,useMediaQuery as Yn,useRovingFocus as Xn,useScope as Zn,useScrollLock as Qn,useSignal as $n,useSignalEffect as er,useSignals as tr,useStreamBuffer as nr,useTheme as rr,useTypeahead as ir}from"@cascivo/core";export{j as Accordion,M as AccordionContent,N as AccordionItem,P as AccordionTrigger,F as ActionSheet,u as Alert,Ce as AlertDialog,tn as AppShell,yt as AspectRatio,pn as AutoGrid,d as Avatar,f as AvatarGroup,o as Badge,nt as Blockquote,Te as BottomSheet,R as Breadcrumb,te as Button,pt as ButtonGroup,he as Calendar,t as Card,n as CardContent,r as CardFooter,i as CardHeader,a as CardTitle,zt as Carousel,dn as Center,nn as ChatBubble,_ as Checkbox,Ge as CheckboxCard,tt as Code,Yt as CodeSnippet,vt as Collapsible,Rt as ColorPicker,un as Columns,me as Combobox,ce as CommandMenu,Oe as Comparison,Dt as ContainedList,Ot as ContainedListItem,Ee as ContextMenu,De as ContextMenuItem,Ke as CopyButton,kt as DataList,se as DataTable,ge as DatePicker,Lt as DateRangePicker,hn as DismissableLayer,Vt as Dock,qt as Drawer,C as Dropdown,re as Editable,Y as EmptyState,gn as ErrorBoundary,X as Fab,dt as Field,_e as FileUploader,ft as Filter,ln as Flex,_n as FocusScope,de as Form,sn as Grid,cn as GridItem,V as Header,Ue as HeaderPanel,$e as Heading,ke as HoverCard,Ae as HoverCardContent,je as HoverCardTrigger,$ as IconButton,m as Image,Qt as Indicator,Ut as InfiniteScroll,ht as InlineLoading,e as Input,Le as InputGroup,Re as InputGroupAddon,jt as Item,Mt as ItemActions,Nt as ItemContent,Pt as ItemDescription,Ft as ItemMedia,It as ItemTitle,$t as Join,I as Kbd,ut as Label,Ht as LargeTitleHeader,L as Link,rt as List,it as ListItem,at as LogViewer,l as Logo,ye as Menu,bt as MenuButton,be as MenuItem,xe as MenuSeparator,Se as MenuTrigger,St as Menubar,s as Modal,Ne as MultiSelect,Jt as NativeSelect,Ct as NavigationMenu,gt as Notification,ne as NumberInput,Fe as OtpInput,Z as OverflowMenu,mn as PageHeader,W as Pagination,Me as PasswordInput,ie as Popover,ae as PopoverContent,oe as PopoverTrigger,vn as Portal,yn as Presence,Ze as Progress,J as ProgressBar,Qe as ProgressCircle,G as ProgressIndicator,ot as Prose,st as PullToRefresh,ct as QrCode,rn as RadialProgress,v as Radio,Be as RadioCard,Ve as RadioCardGroup,y as RadioGroup,ze as RatingGroup,lt as RelativeTime,Wt as ReorderList,Bt as Resizable,_t as ScrollArea,Q as Search,Ie as SegmentedControl,g as Select,c as Separator,we as Sheet,He as ShellHeader,U as SideNav,q as Skeleton,Ye as SkipNavLink,Xe as SkipNavTarget,x as Slider,bn as Slot,fn as Spacer,ee as Spinner,en as Stack,qe as Stat,Je as Status,Xt as Steps,Et as StructuredList,xn as SuspenseBoundary,an as Swap,on as SwipeItem,b as Switch,We as Switcher,D as Tabs,O as TabsContent,k as TabsList,A as TabsTrigger,K as Tag,Pe as TagsInput,et as Text,h as Textarea,Sn as ThemeProvider,Zt as Tile,ve as TimePicker,At as Timeline,w as ToastProvider,z as Toc,b as Toggle,mt as ToggleGroup,xt as Toggletip,S as Tooltip,wt as TreeView,p as User,Gt as VirtualList,Cn as VisuallyHidden,Kt as WheelPicker,wn as applyTheme,Tn as batch,En as cn,Dn as composeRefs,On as computePosition,kn as computed,fe as createForm,An as createMachine,jn as createScope,Mn as createStreamBuffer,T as dismissAllToasts,Nn as effect,le as fuzzyMatch,ue as fuzzyScore,Pn as getLinkComponent,Fn as mergeProps,In as setLinkComponent,Ln as setTheme,Rn as signal,zn as themePreloadScript,Bn as themeSignal,Tt as treeViewMessages,Vn as useAnchorPosition,Hn as useClipboard,Un as useComputed,Wn as useControllableSignal,Gn as useDisclosure,Kn as useEffectPropSignal,pe as useForm,qn as useId,Jn as useMachine,Yn as useMediaQuery,H as usePopover,Xn as useRovingFocus,Zn as useScope,Qn as useScrollLock,$n as useSignal,er as useSignalEffect,tr as useSignals,nr as useStreamBuffer,rr as useTheme,E as useToast,B as useTocFromRegion,ir as useTypeahead};
|
|
1
|
+
import{Spinner as ee}from"../../spinner/spinner.js";import{Button as te}from"../../button/button.js";import{Input as e}from"../../input/input.js";import{Card as t,CardContent as n,CardFooter as r,CardHeader as i,CardTitle as a}from"../../card/card.js";import{Badge as o}from"../../badge/badge.js";import{Modal as s}from"../../modal/modal.js";import{Separator as c}from"../../separator/separator.js";import{Logo as l}from"../../brand/logo/logo.js";import{Alert as u}from"../../alert/alert.js";import{Avatar as d}from"../../avatar/avatar.js";import{AvatarGroup as f}from"../../avatar-group/avatar-group.js";import{User as p}from"../../user/user.js";import{Image as m}from"../../image/image.js";import{Textarea as h}from"../../textarea/textarea.js";import{Select as g}from"../../select/select.js";import{Checkbox as _}from"../../checkbox/checkbox.js";import{Radio as v,RadioGroup as y}from"../../radio/radio.js";import{Toggle as b}from"../../toggle/toggle.js";import{Slider as x}from"../../slider/slider.js";import{Tooltip as S}from"../../tooltip/tooltip.js";import{Dropdown as C}from"../../dropdown/dropdown.js";import{ToastProvider as w,dismissAllToasts as T,useToast as E}from"../../toast/toast.js";import{Tabs as D,TabsContent as O,TabsList as k,TabsTrigger as A}from"../../tabs/tabs.js";import{Accordion as j,AccordionContent as M,AccordionItem as N,AccordionTrigger as P}from"../../accordion/accordion.js";import{ActionSheet as F}from"../../action-sheet/action-sheet.js";import{Kbd as I}from"../../kbd/kbd.js";import{Link as L}from"../../link/link.js";import{Breadcrumb as R}from"../../breadcrumb/breadcrumb.js";import{Toc as z}from"../../toc/toc.js";import{useTocFromRegion as B}from"../../toc/use-toc-from-region.js";import{Header as V}from"../../header/header.js";import{usePopover as H}from"../../popover/use-popover.js";import{SideNav as U}from"../../side-nav/side-nav.js";import{Pagination as W}from"../../pagination/pagination.js";import{ProgressIndicator as G}from"../../progress-indicator/progress-indicator.js";import{Tag as K}from"../../tag/tag.js";import{Skeleton as q}from"../../skeleton/skeleton.js";import{ProgressBar as J}from"../../progress-bar/progress-bar.js";import{EmptyState as Y}from"../../empty-state/empty-state.js";import{Fab as X}from"../../fab/fab.js";import{OverflowMenu as Z}from"../../overflow-menu/overflow-menu.js";import{Search as Q}from"../../search/search.js";import{NumberInput as ne}from"../../number-input/number-input.js";import{Editable as re}from"../../editable/editable.js";import{Popover as ie,PopoverContent as ae,PopoverTrigger as oe}from"../../popover/popover.js";import{DataTable as se}from"../../data-table/data-table.js";import{CommandMenu as ce,fuzzyMatch as le,fuzzyScore as ue}from"../../command-menu/command-menu.js";import{Form as de,createForm as fe,useForm as pe}from"../../form/form.js";import{Combobox as me}from"../../combobox/combobox.js";import{Calendar as he}from"../../calendar/calendar.js";import{DatePicker as ge}from"../../date-picker/date-picker.js";import{FileUploader as _e}from"../../file-uploader/file-uploader.js";import{TimePicker as ve}from"../../time-picker/time-picker.js";import{Menu as ye,MenuItem as be,MenuSeparator as xe,MenuTrigger as Se}from"../../menu/menu.js";import{AlertDialog as Ce}from"../../alert-dialog/alert-dialog.js";import{Sheet as we}from"../../sheet/sheet.js";import{BottomSheet as Te}from"../../bottom-sheet/bottom-sheet.js";import{ContextMenu as Ee,ContextMenuItem as De}from"../../context-menu/context-menu.js";import{Comparison as Oe}from"../../comparison/comparison.js";import{HoverCard as ke,HoverCardContent as Ae,HoverCardTrigger as je}from"../../hover-card/hover-card.js";import{PasswordInput as Me}from"../../password-input/password-input.js";import{MultiSelect as Ne}from"../../multi-select/multi-select.js";import{TagsInput as Pe}from"../../tags-input/tags-input.js";import{OtpInput as Fe}from"../../otp-input/otp-input.js";import{SegmentedControl as Ie}from"../../segmented-control/segmented-control.js";import{InputGroup as Le,InputGroupAddon as Re}from"../../input-group/input-group.js";import{RatingGroup as ze}from"../../rating-group/rating-group.js";import{RadioCard as Be,RadioCardGroup as Ve}from"../../radio-card/radio-card.js";import{ShellHeader as He}from"../../shell-header/shell-header.js";import{HeaderPanel as Ue}from"../../header-panel/header-panel.js";import{Switcher as We}from"../../switcher/switcher.js";import{CheckboxCard as Ge}from"../../checkbox-card/checkbox-card.js";import{CopyButton as Ke}from"../../copy-button/copy-button.js";import{Stat as qe}from"../../stat/stat.js";import{Status as Je}from"../../status/status.js";import"../../visually-hidden/visually-hidden.js";import{SkipNavLink as Ye,SkipNavTarget as Xe}from"../../skip-nav/skip-nav.js";import{Progress as Ze}from"../../progress/progress.js";import{ProgressCircle as Qe}from"../../progress-circle/progress-circle.js";import{Heading as $e}from"../../heading/heading.js";import{Text as et}from"../../text/text.js";import{Code as tt}from"../../code/code.js";import{Blockquote as nt}from"../../blockquote/blockquote.js";import{List as rt,ListItem as it}from"../../list/list.js";import{LogViewer as at}from"../../log-viewer/log-viewer.js";import{Prose as ot}from"../../prose/prose.js";import{PullToRefresh as st}from"../../pull-to-refresh/pull-to-refresh.js";import{QrCode as ct}from"../../qr-code/qr-code.js";import{RelativeTime as lt}from"../../relative-time/relative-time.js";import{Label as ut}from"../../label/label.js";import{Field as dt}from"../../field/field.js";import{Filter as ft}from"../../filter/filter.js";import{IconButton as $}from"../../icon-button/icon-button.js";import{ButtonGroup as pt}from"../../button-group/button-group.js";import{ToggleGroup as mt}from"../../toggle-group/toggle-group.js";import{InlineLoading as ht}from"../../inline-loading/inline-loading.js";import{Notification as gt}from"../../notification/notification.js";import{ScrollArea as _t}from"../../scroll-area/scroll-area.js";import{Collapsible as vt}from"../../collapsible/collapsible.js";import{AspectRatio as yt}from"../../aspect-ratio/aspect-ratio.js";import{MenuButton as bt}from"../../menu-button/menu-button.js";import{Toggletip as xt}from"../../toggletip/toggletip.js";import{Menubar as St}from"../../menubar/menubar.js";import{NavigationMenu as Ct}from"../../navigation-menu/navigation-menu.js";import{TreeView as wt,treeViewMessages as Tt}from"../../tree-view/tree-view.js";import{StructuredList as Et}from"../../structured-list/structured-list.js";import{ContainedList as Dt,ContainedListItem as Ot}from"../../contained-list/contained-list.js";import{DataList as kt,DataListItem as At}from"../../data-list/data-list.js";import{Timeline as jt}from"../../timeline/timeline.js";import{Item as Mt,ItemActions as Nt,ItemContent as Pt,ItemDescription as Ft,ItemMedia as It,ItemTitle as Lt}from"../../item/item.js";import{DateRangePicker as Rt}from"../../date-range-picker/date-range-picker.js";import{ColorPicker as zt}from"../../color-picker/color-picker.js";import{Carousel as Bt}from"../../carousel/carousel.js";import{Resizable as Vt}from"../../resizable/resizable.js";import{Dock as Ht}from"../../dock/dock.js";import{LargeTitleHeader as Ut}from"../../large-title-header/large-title-header.js";import{InfiniteScroll as Wt}from"../../infinite-scroll/infinite-scroll.js";import{ReorderList as Gt}from"../../reorder-list/reorder-list.js";import{VirtualList as Kt}from"../../virtual-list/virtual-list.js";import{WheelPicker as qt}from"../../wheel-picker/wheel-picker.js";import{Drawer as Jt}from"../../drawer/drawer.js";import{NativeSelect as Yt}from"../../native-select/native-select.js";import{CodeSnippet as Xt}from"../../code-snippet/code-snippet.js";import{Steps as Zt}from"../../steps/steps.js";import{Tile as Qt}from"../../tile/tile.js";import{Indicator as $t}from"../../indicator/indicator.js";import{Join as en}from"../../join/join.js";import{Stack as tn}from"../../stack/stack.js";import{AppShell as nn}from"../../app-shell/app-shell.js";import{ChatBubble as rn}from"../../chat-bubble/chat-bubble.js";import{RadialProgress as an}from"../../radial-progress/radial-progress.js";import{Swap as on}from"../../swap/swap.js";import{SwipeItem as sn}from"../../swipe-item/swipe-item.js";import{Grid as cn,GridItem as ln}from"../../layouts/src/grid/grid.js";import{Flex as un,FlexItem as dn}from"../../layouts/src/flex/flex.js";import{Columns as fn}from"../../layouts/src/columns/columns.js";import{Center as pn}from"../../layouts/src/center/center.js";import{Spacer as mn}from"../../layouts/src/spacer/spacer.js";import{AutoGrid as hn}from"../../layouts/src/auto-grid/auto-grid.js";import{PageHeader as gn}from"../../layouts/src/page-header/page-header.js";import{DismissableLayer as _n,ErrorBoundary as vn,FocusScope as yn,Portal as bn,Presence as xn,Slot as Sn,SuspenseBoundary as Cn,ThemeProvider as wn,VisuallyHidden as Tn,applyTheme as En,batch as Dn,cn as On,composeRefs as kn,computePosition as An,computed as jn,createMachine as Mn,createScope as Nn,createStreamBuffer as Pn,effect as Fn,getLinkComponent as In,mergeProps as Ln,setLinkComponent as Rn,setTheme as zn,signal as Bn,themePreloadScript as Vn,themeSignal as Hn,useAnchorPosition as Un,useClipboard as Wn,useComputed as Gn,useControllableSignal as Kn,useDisclosure as qn,useEffectPropSignal as Jn,useId as Yn,useMachine as Xn,useMediaQuery as Zn,useRovingFocus as Qn,useScope as $n,useScrollLock as er,useSignal as tr,useSignalEffect as nr,useSignals as rr,useStreamBuffer as ir,useTheme as ar,useTypeahead as or}from"@cascivo/core";export{j as Accordion,M as AccordionContent,N as AccordionItem,P as AccordionTrigger,F as ActionSheet,u as Alert,Ce as AlertDialog,nn as AppShell,yt as AspectRatio,hn as AutoGrid,d as Avatar,f as AvatarGroup,o as Badge,nt as Blockquote,Te as BottomSheet,R as Breadcrumb,te as Button,pt as ButtonGroup,he as Calendar,t as Card,n as CardContent,r as CardFooter,i as CardHeader,a as CardTitle,Bt as Carousel,pn as Center,rn as ChatBubble,_ as Checkbox,Ge as CheckboxCard,tt as Code,Xt as CodeSnippet,vt as Collapsible,zt as ColorPicker,fn as Columns,me as Combobox,ce as CommandMenu,Oe as Comparison,Dt as ContainedList,Ot as ContainedListItem,Ee as ContextMenu,De as ContextMenuItem,Ke as CopyButton,kt as DataList,At as DataListItem,se as DataTable,ge as DatePicker,Rt as DateRangePicker,_n as DismissableLayer,Ht as Dock,Jt as Drawer,C as Dropdown,re as Editable,Y as EmptyState,vn as ErrorBoundary,X as Fab,dt as Field,_e as FileUploader,ft as Filter,un as Flex,dn as FlexItem,yn as FocusScope,de as Form,cn as Grid,ln as GridItem,V as Header,Ue as HeaderPanel,$e as Heading,ke as HoverCard,Ae as HoverCardContent,je as HoverCardTrigger,$ as IconButton,m as Image,$t as Indicator,Wt as InfiniteScroll,ht as InlineLoading,e as Input,Le as InputGroup,Re as InputGroupAddon,Mt as Item,Nt as ItemActions,Pt as ItemContent,Ft as ItemDescription,It as ItemMedia,Lt as ItemTitle,en as Join,I as Kbd,ut as Label,Ut as LargeTitleHeader,L as Link,rt as List,it as ListItem,at as LogViewer,l as Logo,ye as Menu,bt as MenuButton,be as MenuItem,xe as MenuSeparator,Se as MenuTrigger,St as Menubar,s as Modal,Ne as MultiSelect,Yt as NativeSelect,Ct as NavigationMenu,gt as Notification,ne as NumberInput,Fe as OtpInput,Z as OverflowMenu,gn as PageHeader,W as Pagination,Me as PasswordInput,ie as Popover,ae as PopoverContent,oe as PopoverTrigger,bn as Portal,xn as Presence,Ze as Progress,J as ProgressBar,Qe as ProgressCircle,G as ProgressIndicator,ot as Prose,st as PullToRefresh,ct as QrCode,an as RadialProgress,v as Radio,Be as RadioCard,Ve as RadioCardGroup,y as RadioGroup,ze as RatingGroup,lt as RelativeTime,Gt as ReorderList,Vt as Resizable,_t as ScrollArea,Q as Search,Ie as SegmentedControl,g as Select,c as Separator,we as Sheet,He as ShellHeader,U as SideNav,q as Skeleton,Ye as SkipNavLink,Xe as SkipNavTarget,x as Slider,Sn as Slot,mn as Spacer,ee as Spinner,tn as Stack,qe as Stat,Je as Status,Zt as Steps,Et as StructuredList,Cn as SuspenseBoundary,on as Swap,sn as SwipeItem,b as Switch,We as Switcher,D as Tabs,O as TabsContent,k as TabsList,A as TabsTrigger,K as Tag,Pe as TagsInput,et as Text,h as Textarea,wn as ThemeProvider,Qt as Tile,ve as TimePicker,jt as Timeline,w as ToastProvider,z as Toc,b as Toggle,mt as ToggleGroup,xt as Toggletip,S as Tooltip,wt as TreeView,p as User,Kt as VirtualList,Tn as VisuallyHidden,qt as WheelPicker,En as applyTheme,Dn as batch,On as cn,kn as composeRefs,An as computePosition,jn as computed,fe as createForm,Mn as createMachine,Nn as createScope,Pn as createStreamBuffer,T as dismissAllToasts,Fn as effect,le as fuzzyMatch,ue as fuzzyScore,In as getLinkComponent,Ln as mergeProps,Rn as setLinkComponent,zn as setTheme,Bn as signal,Vn as themePreloadScript,Hn as themeSignal,Tt as treeViewMessages,Un as useAnchorPosition,Wn as useClipboard,Gn as useComputed,Kn as useControllableSignal,qn as useDisclosure,Jn as useEffectPropSignal,pe as useForm,Yn as useId,Xn as useMachine,Zn as useMediaQuery,H as usePopover,Qn as useRovingFocus,$n as useScope,er as useScrollLock,tr as useSignal,nr as useSignalEffect,rr as useSignals,ir as useStreamBuffer,ar as useTheme,E as useToast,B as useTocFromRegion,or as useTypeahead};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import e from"./relative-time.module.js";import{cn as t,useSignal as n,useSignalEffect as r,useSignals as i}from"@cascivo/core";import{formatDate as a,formatRelativeTime as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";var c=1e3,l=60*c,u=60*l,d=24*u,f=7*d,p=30*d,m=365*d;function
|
|
1
|
+
"use client";import e from"./relative-time.module.js";import{cn as t,useSignal as n,useSignalEffect as r,useSignals as i}from"@cascivo/core";import{formatDate as a,formatRelativeTime as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";var c=1e3,l=60*c,u=60*l,d=24*u,f=7*d,p=30*d,m=365*d;function selectUnit(e){let t=Math.abs(e);return t<l?{value:Math.round(e/c),unit:`second`,nextUpdateMs:c}:t<u?{value:Math.round(e/l),unit:`minute`,nextUpdateMs:l}:t<d?{value:Math.round(e/u),unit:`hour`,nextUpdateMs:u}:t<f?{value:Math.round(e/d),unit:`day`,nextUpdateMs:d}:t<p?{value:Math.round(e/f),unit:`week`,nextUpdateMs:d}:t<m?{value:Math.round(e/p),unit:`month`,nextUpdateMs:d}:{value:Math.round(e/m),unit:`year`,nextUpdateMs:d}}var toTimestamp=e=>e instanceof Date?e.getTime():typeof e==`number`?e:Date.parse(e);function RelativeTime({date:c,sync:l=!0,now:u,format:d,className:f,...p}){i();let m=toTimestamp(c),h=u!==void 0,g=n(u??Date.now());h&&(g.value=u),r(()=>{if(h||typeof window>`u`||(g.value=Date.now(),!l))return;let{nextUpdateMs:e}=selectUnit(m-g.value),t=window.setInterval(()=>{g.value=Date.now()},e);return()=>window.clearInterval(t)});let{value:_,unit:v}=selectUnit(m-g.value),y=o(_,v,d);return s(`time`,{dateTime:new Date(m).toISOString(),title:a(m,{dateStyle:`long`,timeStyle:`short`}),className:t(e.relativeTime,f),suppressHydrationWarning:!0,...p,children:y})}export{RelativeTime};
|