zaravand-ui 6.0.0 → 7.0.1
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/README.md +45 -45
- package/dist/components/Accordion/Accordion.cjs +1 -1
- package/dist/components/Accordion/Accordion.interface.d.cts +8 -0
- package/dist/components/Accordion/Accordion.interface.d.ts +8 -0
- package/dist/components/Accordion/Accordion.js +226 -148
- package/dist/components/Accordion/Accordion.variant.cjs +1 -1
- package/dist/components/Accordion/Accordion.variant.js +2 -2
- package/dist/components/Avatar/Avatar.cjs +1 -1
- package/dist/components/Avatar/Avatar.js +32 -32
- package/dist/components/Button/Button.cjs +1 -1
- package/dist/components/Button/Button.interface.d.cts +0 -1
- package/dist/components/Button/Button.interface.d.ts +0 -1
- package/dist/components/Button/Button.js +41 -42
- package/dist/components/Button/Button.variant.cjs +1 -1
- package/dist/components/Button/Button.variant.d.cts +0 -1
- package/dist/components/Button/Button.variant.d.ts +0 -1
- package/dist/components/Button/Button.variant.js +2 -4
- package/dist/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.interface.d.cts +11 -0
- package/dist/components/Checkbox/Checkbox.interface.d.ts +11 -0
- package/dist/components/Checkbox/Checkbox.js +66 -43
- package/dist/components/Checkbox/Checkbox.variant.cjs +1 -1
- package/dist/components/Checkbox/Checkbox.variant.d.cts +9 -4
- package/dist/components/Checkbox/Checkbox.variant.d.ts +9 -4
- package/dist/components/Checkbox/Checkbox.variant.js +20 -16
- package/dist/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.interface.d.cts +0 -1
- package/dist/components/DatePicker/DatePicker.interface.d.ts +0 -1
- package/dist/components/DatePicker/DatePicker.js +511 -407
- package/dist/components/DatePicker/DatePicker.utils.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.utils.js +101 -82
- package/dist/components/DatePicker/DatePicker.variant.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.variant.d.cts +1 -3
- package/dist/components/DatePicker/DatePicker.variant.d.ts +1 -3
- package/dist/components/DatePicker/DatePicker.variant.js +14 -16
- package/dist/components/DatePicker/DatePickerMonthSlider.cjs +1 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.d.cts +25 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.d.ts +25 -0
- package/dist/components/DatePicker/DatePickerMonthSlider.js +98 -0
- package/dist/components/DatePicker/DatePickerWheel.cjs +1 -0
- package/dist/components/DatePicker/DatePickerWheel.d.cts +30 -0
- package/dist/components/DatePicker/DatePickerWheel.d.ts +30 -0
- package/dist/components/DatePicker/DatePickerWheel.js +156 -0
- package/dist/components/Dialog/Dialog.cjs +1 -1
- package/dist/components/Dialog/Dialog.interface.d.cts +5 -0
- package/dist/components/Dialog/Dialog.interface.d.ts +5 -0
- package/dist/components/Dialog/Dialog.js +57 -49
- package/dist/components/Dialog/Dialog.variant.cjs +1 -1
- package/dist/components/Dialog/Dialog.variant.js +1 -1
- package/dist/components/Dialog/DialogDragHandle.cjs +1 -0
- package/dist/components/Dialog/DialogDragHandle.d.cts +11 -0
- package/dist/components/Dialog/DialogDragHandle.d.ts +11 -0
- package/dist/components/Dialog/DialogDragHandle.js +55 -0
- package/dist/components/Input/Input.cjs +1 -1
- package/dist/components/Input/Input.js +38 -37
- package/dist/components/Input/Input.variant.cjs +1 -1
- package/dist/components/Input/Input.variant.d.cts +1 -3
- package/dist/components/Input/Input.variant.d.ts +1 -3
- package/dist/components/Input/Input.variant.js +9 -8
- package/dist/components/Pagination/Pagination.cjs +1 -1
- package/dist/components/Pagination/Pagination.js +90 -73
- package/dist/components/Pagination/Pagination.variant.cjs +1 -1
- package/dist/components/Pagination/Pagination.variant.d.cts +3 -1
- package/dist/components/Pagination/Pagination.variant.d.ts +3 -1
- package/dist/components/Pagination/Pagination.variant.js +12 -6
- package/dist/components/RadioGroup/RadioGroup.cjs +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +44 -41
- package/dist/components/RadioGroup/RadioGroup.variant.cjs +1 -1
- package/dist/components/RadioGroup/RadioGroup.variant.d.cts +3 -2
- package/dist/components/RadioGroup/RadioGroup.variant.d.ts +3 -2
- package/dist/components/RadioGroup/RadioGroup.variant.js +11 -21
- package/dist/components/Select/Select.cjs +1 -1
- package/dist/components/Select/Select.d.cts +1 -3
- package/dist/components/Select/Select.d.ts +1 -3
- package/dist/components/Select/Select.interface.d.cts +0 -1
- package/dist/components/Select/Select.interface.d.ts +0 -1
- package/dist/components/Select/Select.js +620 -401
- package/dist/components/Select/Select.variant.cjs +1 -1
- package/dist/components/Select/Select.variant.d.cts +5 -5
- package/dist/components/Select/Select.variant.d.ts +5 -5
- package/dist/components/Select/Select.variant.js +10 -12
- package/dist/components/Sheet/Sheet.variant.cjs +1 -1
- package/dist/components/Sheet/Sheet.variant.js +6 -6
- package/dist/components/Switch/Switch.cjs +1 -1
- package/dist/components/Switch/Switch.interface.d.cts +12 -3
- package/dist/components/Switch/Switch.interface.d.ts +12 -3
- package/dist/components/Switch/Switch.js +57 -37
- package/dist/components/Switch/Switch.variant.cjs +1 -1
- package/dist/components/Switch/Switch.variant.d.cts +9 -5
- package/dist/components/Switch/Switch.variant.d.ts +9 -5
- package/dist/components/Switch/Switch.variant.js +22 -15
- package/dist/components/Table/Table.cjs +1 -1
- package/dist/components/Table/Table.interface.d.cts +9 -0
- package/dist/components/Table/Table.interface.d.ts +9 -0
- package/dist/components/Table/Table.js +462 -271
- package/dist/components/Table/TableSkeletonRows.cjs +1 -1
- package/dist/components/Table/TableSkeletonRows.js +26 -21
- package/dist/components/Table/TableSortToggle.cjs +1 -1
- package/dist/components/Table/TableSortToggle.d.cts +1 -1
- package/dist/components/Table/TableSortToggle.d.ts +1 -1
- package/dist/components/Table/TableSortToggle.js +23 -22
- package/dist/components/Table/hooks/useTableCardLabels.cjs +1 -0
- package/dist/components/Table/hooks/useTableCardLabels.d.cts +9 -0
- package/dist/components/Table/hooks/useTableCardLabels.d.ts +9 -0
- package/dist/components/Table/hooks/useTableCardLabels.js +34 -0
- package/dist/components/Table/hooks/useTableSort.cjs +1 -1
- package/dist/components/Table/hooks/useTableSort.d.cts +2 -0
- package/dist/components/Table/hooks/useTableSort.d.ts +2 -0
- package/dist/components/Table/hooks/useTableSort.js +8 -1
- package/dist/components/Tabs/Tabs.cjs +1 -1
- package/dist/components/Tabs/Tabs.js +90 -63
- package/dist/components/Tabs/Tabs.variant.cjs +1 -1
- package/dist/components/Tabs/Tabs.variant.d.cts +2 -2
- package/dist/components/Tabs/Tabs.variant.d.ts +2 -2
- package/dist/components/Tabs/Tabs.variant.js +52 -29
- package/dist/components/Textarea/Textarea.cjs +1 -1
- package/dist/components/Textarea/Textarea.js +19 -18
- package/dist/components/Textarea/Textarea.variant.cjs +1 -1
- package/dist/components/Textarea/Textarea.variant.js +5 -5
- package/dist/components/TimePicker/TimePicker.cjs +1 -1
- package/dist/components/TimePicker/TimePicker.interface.d.cts +0 -1
- package/dist/components/TimePicker/TimePicker.interface.d.ts +0 -1
- package/dist/components/TimePicker/TimePicker.js +121 -83
- package/dist/components/TimePicker/TimePicker.variant.cjs +1 -1
- package/dist/components/TimePicker/TimePicker.variant.d.cts +1 -3
- package/dist/components/TimePicker/TimePicker.variant.d.ts +1 -3
- package/dist/components/TimePicker/TimePicker.variant.js +9 -11
- package/dist/components/TimePicker/TimePickerPanel.cjs +1 -1
- package/dist/components/TimePicker/TimePickerPanel.js +3 -4
- package/dist/components/TimePicker/TimePickerWheel.cjs +1 -0
- package/dist/components/TimePicker/TimePickerWheel.d.cts +27 -0
- package/dist/components/TimePicker/TimePickerWheel.d.ts +27 -0
- package/dist/components/TimePicker/TimePickerWheel.js +205 -0
- package/dist/components/Toast/Toast.cjs +1 -1
- package/dist/components/Toast/Toast.d.cts +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/Toast.js +56 -34
- package/dist/components/Toast/Toast.variant.cjs +1 -1
- package/dist/components/Toast/Toast.variant.d.cts +1 -1
- package/dist/components/Toast/Toast.variant.d.ts +1 -1
- package/dist/components/Toast/Toast.variant.js +1 -1
- package/dist/components/Toast/ToastHost.cjs +1 -1
- package/dist/components/Toast/ToastHost.js +42 -41
- package/dist/components/Toast/function/toastHaptics.cjs +1 -0
- package/dist/components/Toast/function/toastHaptics.d.cts +11 -0
- package/dist/components/Toast/function/toastHaptics.d.ts +11 -0
- package/dist/components/Toast/function/toastHaptics.js +6 -0
- package/dist/components/Uploader/Uploader.cjs +2 -2
- package/dist/components/Uploader/Uploader.js +328 -158
- package/dist/components/Uploader/Uploader.variant.cjs +1 -1
- package/dist/components/Uploader/Uploader.variant.d.cts +1 -3
- package/dist/components/Uploader/Uploader.variant.d.ts +1 -3
- package/dist/components/Uploader/Uploader.variant.js +2 -5
- package/dist/components/shared/ActionSheet.cjs +1 -0
- package/dist/components/shared/ActionSheet.d.cts +26 -0
- package/dist/components/shared/ActionSheet.d.ts +26 -0
- package/dist/components/shared/ActionSheet.js +51 -0
- package/dist/components/shared/FieldClearButton.cjs +1 -1
- package/dist/components/shared/FieldClearButton.d.cts +2 -1
- package/dist/components/shared/FieldClearButton.d.ts +2 -1
- package/dist/components/shared/FieldClearButton.js +11 -10
- package/dist/components/shared/FieldLabel.cjs +1 -1
- package/dist/components/shared/FieldLabel.js +6 -6
- package/dist/components/shared/IconActionButton.cjs +1 -1
- package/dist/components/shared/IconActionButton.d.cts +6 -1
- package/dist/components/shared/IconActionButton.d.ts +6 -1
- package/dist/components/shared/IconActionButton.js +9 -11
- package/dist/components/shared/WheelColumn.cjs +1 -0
- package/dist/components/shared/WheelColumn.d.cts +29 -0
- package/dist/components/shared/WheelColumn.d.ts +29 -0
- package/dist/components/shared/WheelColumn.js +116 -0
- package/dist/components/shared/haptics.cjs +1 -0
- package/dist/components/shared/haptics.d.cts +6 -0
- package/dist/components/shared/haptics.d.ts +6 -0
- package/dist/components/shared/haptics.js +8 -0
- package/dist/components/shared/responsiveScale.cjs +1 -1
- package/dist/components/shared/responsiveScale.d.cts +7 -1
- package/dist/components/shared/responsiveScale.d.ts +7 -1
- package/dist/components/shared/responsiveScale.js +2 -6
- package/dist/components/shared/useStickyToolbar.cjs +1 -0
- package/dist/components/shared/useStickyToolbar.d.cts +17 -0
- package/dist/components/shared/useStickyToolbar.d.ts +17 -0
- package/dist/components/shared/useStickyToolbar.js +39 -0
- package/dist/components/shared/useWheelSize.cjs +1 -0
- package/dist/components/shared/useWheelSize.d.cts +10 -0
- package/dist/components/shared/useWheelSize.d.ts +10 -0
- package/dist/components/shared/useWheelSize.js +14 -0
- package/dist/components/shared/viewport.cjs +1 -0
- package/dist/components/shared/viewport.d.cts +17 -0
- package/dist/components/shared/viewport.d.ts +17 -0
- package/dist/components/shared/viewport.js +32 -0
- package/dist/config/messages.cjs +1 -1
- package/dist/config/messages.d.cts +14 -0
- package/dist/config/messages.d.ts +14 -0
- package/dist/config/messages.js +26 -8
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +16 -16
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# zaravand-ui
|
|
2
|
-
|
|
3
|
-
Reusable React UI library with centralized theme tokens.
|
|
4
|
-
|
|
5
|
-
## Install
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm i zaravand-ui
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```tsx
|
|
14
|
-
import "zaravand-ui/styles.css"
|
|
15
|
-
import { Button, applyTheme } from "zaravand-ui"
|
|
16
|
-
|
|
17
|
-
applyTheme({
|
|
18
|
-
primary: "#2563EB",
|
|
19
|
-
secondary: "#0891B2",
|
|
20
|
-
text: "#F8FAFC",
|
|
21
|
-
success: "#16A34A",
|
|
22
|
-
warning: "#EAB308",
|
|
23
|
-
danger: "#DC2626",
|
|
24
|
-
border: "#334155",
|
|
25
|
-
surface: "#0F172A",
|
|
26
|
-
mutedSurface: "#1E293B",
|
|
27
|
-
tooltipSurface: "#0B1120",
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
export function Example() {
|
|
31
|
-
return <Button label="Save" />
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Scripts
|
|
36
|
-
|
|
37
|
-
- `npm run build`
|
|
38
|
-
- `npm run docs:dev`
|
|
39
|
-
- `npm run docs:build`
|
|
40
|
-
- `npm run docs:preview`
|
|
41
|
-
|
|
42
|
-
## Documentation
|
|
43
|
-
|
|
44
|
-
- Developer docs (VitePress): `docs/`
|
|
45
|
-
- Full integration guide: `ZARAVAND_UI_INTEGRATION_GUIDE.md`
|
|
1
|
+
# zaravand-ui
|
|
2
|
+
|
|
3
|
+
Reusable React UI library with centralized theme tokens.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm i zaravand-ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import "zaravand-ui/styles.css"
|
|
15
|
+
import { Button, applyTheme } from "zaravand-ui"
|
|
16
|
+
|
|
17
|
+
applyTheme({
|
|
18
|
+
primary: "#2563EB",
|
|
19
|
+
secondary: "#0891B2",
|
|
20
|
+
text: "#F8FAFC",
|
|
21
|
+
success: "#16A34A",
|
|
22
|
+
warning: "#EAB308",
|
|
23
|
+
danger: "#DC2626",
|
|
24
|
+
border: "#334155",
|
|
25
|
+
surface: "#0F172A",
|
|
26
|
+
mutedSurface: "#1E293B",
|
|
27
|
+
tooltipSurface: "#0B1120",
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
export function Example() {
|
|
31
|
+
return <Button label="Save" />
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Scripts
|
|
36
|
+
|
|
37
|
+
- `npm run build`
|
|
38
|
+
- `npm run docs:dev`
|
|
39
|
+
- `npm run docs:build`
|
|
40
|
+
- `npm run docs:preview`
|
|
41
|
+
|
|
42
|
+
## Documentation
|
|
43
|
+
|
|
44
|
+
- Developer docs (VitePress): `docs/`
|
|
45
|
+
- Full integration guide: `ZARAVAND_UI_INTEGRATION_GUIDE.md`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../lib/utils.cjs`),r=require(`../shared/
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../config/useZuiConfig.cjs`),n=require(`../../lib/utils.cjs`),r=require(`../shared/ActionSheet.cjs`),i=require(`../shared/FieldClearButton.cjs`),a=require(`../shared/IconActionButton.cjs`),o=require(`../shared/useControllableState.cjs`),s=require(`../shared/useExclusiveAction.cjs`),c=require(`../shared/useStickyToolbar.cjs`),l=require(`../shared/viewport.cjs`),u=require(`./Accordion.variant.cjs`);let d=require(`react`);d=e.__toESM(d,1);let f=require(`react/jsx-runtime`),p=require(`lucide-react`);var m=`zui:size-4`,h=d.createContext(null);function g(e){let t=d.useContext(h);if(!t)throw Error(`${e} must be used within an <Accordion> component`);return t}var _=d.createContext(null);function v(e){let t=d.useContext(_);if(!t)throw Error(`${e} must be used within an <AccordionItem> component`);return t}function y(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function b(e){return typeof e==`string`||typeof e==`number`?String(e):``}function ee(e){return`${b(e.title)} ${Array.isArray(e.content)?e.content.map(e=>b(e.label)).join(` `):b(e.content)}`.toLocaleLowerCase()}var x=d.forwardRef(function({type:e=`single`,value:g,defaultValue:_,onValueChange:v,collapsible:b=!1,dir:x,items:T,searchable:te=!1,onAdd:E,onEdit:D,onDelete:O,onContentItemEdit:k,onContentItemDelete:A,stickyToolbar:j=!0,className:ne,children:re},ie){let{messages:M,dir:ae}=t.useZuiConfig(),N=x??ae,[P,F]=o.useControllableState({value:d.useMemo(()=>g===void 0?void 0:y(g),[g]),defaultValue:()=>y(_)}),[I,L]=s.useExclusiveAction(),R=l.useIsMobileViewport(),[z,B]=d.useState({open:!1,actions:[]}),V=e=>B({open:!0,actions:e}),[H,oe]=d.useState(``),U=te&&Array.isArray(T),W=typeof E==`function`,G=U||W,K=d.useRef(null),q=d.useRef(null);c.useStickyToolbar(K,q,R&&j&&G);let J=H.trim().toLocaleLowerCase(),Y=d.useMemo(()=>{if(!T)return;let e=T.map((e,t)=>({item:e,originalIndex:t}));return!U||J.length===0?e:e.filter(({item:e})=>ee(e).includes(J))},[T,J,U]),X=d.useCallback(t=>{F(t),e===`multiple`?v?.(t):v?.(t[0]??``)},[v,F,e]),Z=d.useCallback(t=>{let n=P.includes(t);if(e===`multiple`){X(n?P.filter(e=>e!==t):[...P,t]);return}if(n){X(b?[]:P);return}X([t])},[b,X,P,e]),se=d.useCallback(async()=>{E&&await L(E)},[E,L]),Q=d.useCallback(async(e,t)=>{D&&await L(()=>D({item:e,index:t}))},[D,L]),$=d.useCallback(async(e,t)=>{O&&await L(()=>O({item:e,index:t}))},[O,L]),ce=d.useCallback(async(e,t,n,r)=>{k&&await L(()=>k({item:e,itemIndex:t,contentItem:n,contentIndex:r}))},[k,L]),le=d.useCallback(async(e,t,n,r)=>{A&&await L(()=>A({item:e,itemIndex:t,contentItem:n,contentIndex:r}))},[A,L]),ue=d.useMemo(()=>({openValues:P,toggleValue:Z,dir:N,type:e}),[P,Z,N,e]);return(0,f.jsx)(h.Provider,{value:ue,children:(0,f.jsxs)(`div`,{ref:ie,dir:N,"data-slot":`accordion`,className:n.cn(u.accordionVariants(),ne),children:[G?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{ref:q,"aria-hidden":`true`,"data-slot":`accordion-sticky-sentinel`,className:`zui:-mb-2`}),(0,f.jsx)(`div`,{ref:K,"data-slot":`accordion-sticky-toolbar`,"data-sticky-toolbar":R&&j?`true`:void 0,className:`zui:mb-2`,children:(0,f.jsx)(a.ListToolbar,{"data-slot":`accordion-controls`,searchSlot:`accordion-search-input`,actionsSlot:`accordion-actions`,inlineActionsOnMobile:W,search:U?{value:H,onChange:e=>oe(e.target.value),placeholder:M.common.searchPlaceholder,ariaLabel:M.accordion.searchAriaLabel}:void 0,actions:W?(0,f.jsx)(a.ToolbarIconButton,{"data-slot":`accordion-action-add-button`,label:M.common.add,disabled:I,onClick:()=>void se(),icon:(0,f.jsx)(p.Plus,{})}):void 0})})]}):null,Y&&U&&Y.length===0?(0,f.jsx)(`div`,{"data-slot":`accordion-empty-state`,className:u.accordionEmptyStateVariants(),children:M.accordion.noSearchResults}):null,Y?Y.map(({item:e,originalIndex:t})=>{let n=e.isEdit&&typeof D==`function`,r=e.isDelete&&typeof O==`function`,o=n||r,s=e=>(0,f.jsx)(e,{className:i.CLEAR_ICON_CLASS,"aria-hidden":`true`}),c=[...n?[{key:`edit`,label:M.common.edit,icon:s(p.Pencil),onSelect:()=>void Q(e,t)}]:[],...r?[{key:`delete`,label:M.common.delete,icon:s(p.Trash2),danger:!0,onSelect:()=>void $(e,t)}]:[]],l=R&&c.length>1?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-menu-button`,label:M.accordion.actions,icon:(0,f.jsx)(p.EllipsisVertical,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`edit`}),onClick:()=>V(c)}):o?(0,f.jsxs)(f.Fragment,{children:[n?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-edit-button`,label:M.common.edit,icon:(0,f.jsx)(p.Pencil,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`edit`}),onClick:()=>void Q(e,t)}):null,r?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-action-delete-button`,label:M.common.delete,icon:(0,f.jsx)(p.Trash2,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionActionButtonVariants({tone:`delete`}),onClick:()=>void $(e,t)}):null]}):void 0,d=Array.isArray(e.content)?(0,f.jsx)(`div`,{"data-slot":`accordion-content-list`,className:u.accordionContentListVariants(),children:e.content.map((n,r)=>{let i=n.isEdit&&typeof k==`function`,o=n.isDelete&&typeof A==`function`,c=[...i?[{key:`edit`,label:M.common.edit,icon:s(p.Pencil),onSelect:()=>void ce(e,t,n,r)}]:[],...o?[{key:`delete`,label:M.common.delete,icon:s(p.Trash2),danger:!0,onSelect:()=>void le(e,t,n,r)}]:[]],l=R&&c.length>1;return(0,f.jsxs)(`div`,{"data-slot":`accordion-content-list-row`,className:u.accordionContentListRowVariants(),children:[(0,f.jsx)(`span`,{className:`zui:min-w-0 zui:flex-1 zui:text-start`,children:n.label}),l?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-menu-button`,label:M.accordion.actions,icon:(0,f.jsx)(p.EllipsisVertical,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`edit`}),onClick:()=>V(c)}):null,!l&&i?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-edit-button`,label:M.common.edit,icon:(0,f.jsx)(p.Pencil,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`edit`}),onClick:()=>void ce(e,t,n,r)}):null,!l&&o?(0,f.jsx)(a.IconActionButton,{"data-slot":`accordion-content-item-delete-button`,label:M.common.delete,icon:(0,f.jsx)(p.Trash2,{className:m,"aria-hidden":`true`}),disabled:I,className:u.accordionContentActionButtonVariants({tone:`delete`}),onClick:()=>void le(e,t,n,r)}):null]},n.value)})}):e.content;return(0,f.jsxs)(S,{value:e.value,disabled:e.disabled,children:[(0,f.jsx)(C,{icon:e.icon,actions:l,children:e.title}),(0,f.jsx)(w,{children:d})]},e.value)}):re,R?(0,f.jsx)(r.default,{open:z.open,onOpenChange:e=>B(t=>({...t,open:e})),actions:z.actions,label:M.accordion.actions}):null]})})}),S=d.forwardRef(function({value:e,disabled:t=!1,className:r,children:i},a){let{openValues:o}=g(`AccordionItem`),s=o.includes(e),c=d.useId(),l=`accordion-trigger-${c}`,p=`accordion-content-${c}`,m=d.useMemo(()=>({value:e,isOpen:s,disabled:t,triggerId:l,contentId:p}),[e,s,t,l,p]);return(0,f.jsx)(_.Provider,{value:m,children:(0,f.jsx)(`div`,{ref:a,"data-slot":`accordion-item`,"data-state":s?`open`:`closed`,"data-disabled":t?``:void 0,className:n.cn(u.accordionItemVariants(),r),children:i})})}),C=d.forwardRef(function({icon:e,actions:t,className:r,children:i},a){let{toggleValue:o}=g(`AccordionTrigger`),{value:s,isOpen:c,disabled:l,triggerId:d,contentId:m}=v(`AccordionTrigger`);return(0,f.jsxs)(`div`,{"data-slot":`accordion-trigger-row`,className:u.accordionTriggerRowVariants(),children:[(0,f.jsxs)(`button`,{ref:a,type:`button`,id:d,"aria-expanded":c,"aria-controls":m,disabled:l,"data-slot":`accordion-trigger`,"data-state":c?`open`:`closed`,onClick:()=>{l||o(s)},className:n.cn(u.accordionTriggerVariants(),r),children:[(0,f.jsx)(`span`,{className:`zui:flex-1 zui:text-start`,children:i}),e??(0,f.jsx)(p.ChevronDown,{"aria-hidden":`true`,className:n.cn(`zui:size-4 zui:shrink-0 zui:text-[var(--zui-color-text)] zui:transition-transform zui:duration-200 zui:ease-out`,c?`zui:rotate-180`:`zui:rotate-0`)})]}),t?(0,f.jsx)(`div`,{"data-slot":`accordion-trigger-actions`,className:u.accordionTriggerActionsVariants(),children:t}):null]})}),w=d.forwardRef(function({forceMount:e,className:t,children:r},i){let{isOpen:a,triggerId:o,contentId:s}=v(`AccordionContent`);return!e&&!a?null:(0,f.jsx)(`div`,{ref:i,role:`region`,id:s,"aria-labelledby":o,"data-slot":`accordion-content`,"data-state":a?`open`:`closed`,hidden:e?!a:void 0,className:n.cn(u.accordionContentVariants(),t),children:r})});exports.AccordionContent=w,exports.AccordionItem=S,exports.AccordionTrigger=C,exports.default=x;
|
|
@@ -72,6 +72,14 @@ export interface AccordionProps {
|
|
|
72
72
|
onContentItemEdit?: AccordionContentItemEditHandler;
|
|
73
73
|
/** Called when a content-list row's delete icon (`AccordionContentItem.isDelete`) is clicked. */
|
|
74
74
|
onContentItemDelete?: AccordionContentItemDeleteHandler;
|
|
75
|
+
/**
|
|
76
|
+
* On phones the search and "+" button stay pinned to the top while the items scroll: they slide
|
|
77
|
+
* away when the user scrolls down and come back as soon as they scroll up. Set to `false` to let
|
|
78
|
+
* them scroll away with the page. Pin them below a fixed header of your own with the CSS variable
|
|
79
|
+
* `--zui-table-sticky-top` (e.g. `56px`). No effect on larger screens.
|
|
80
|
+
* @default true
|
|
81
|
+
*/
|
|
82
|
+
stickyToolbar?: boolean;
|
|
75
83
|
className?: string;
|
|
76
84
|
children?: React.ReactNode;
|
|
77
85
|
}
|
|
@@ -72,6 +72,14 @@ export interface AccordionProps {
|
|
|
72
72
|
onContentItemEdit?: AccordionContentItemEditHandler;
|
|
73
73
|
/** Called when a content-list row's delete icon (`AccordionContentItem.isDelete`) is clicked. */
|
|
74
74
|
onContentItemDelete?: AccordionContentItemDeleteHandler;
|
|
75
|
+
/**
|
|
76
|
+
* On phones the search and "+" button stay pinned to the top while the items scroll: they slide
|
|
77
|
+
* away when the user scrolls down and come back as soon as they scroll up. Set to `false` to let
|
|
78
|
+
* them scroll away with the page. Pin them below a fixed header of your own with the CSS variable
|
|
79
|
+
* `--zui-table-sticky-top` (e.g. `56px`). No effect on larger screens.
|
|
80
|
+
* @default true
|
|
81
|
+
*/
|
|
82
|
+
stickyToolbar?: boolean;
|
|
75
83
|
className?: string;
|
|
76
84
|
children?: React.ReactNode;
|
|
77
85
|
}
|