@mage-ui/components 1.0.68 → 1.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/components/controls/dropdown/Dropdown.d.mts +2 -0
  2. package/dist/components/controls/dropdown/Dropdown.d.mts.map +1 -1
  3. package/dist/components/controls/dropdown/Dropdown.mjs +1 -1
  4. package/dist/components/controls/dropdown/Dropdown.mjs.map +1 -1
  5. package/dist/components/controls/dropdown/DropdownContextProvider.d.mts +2 -0
  6. package/dist/components/controls/dropdown/DropdownContextProvider.d.mts.map +1 -1
  7. package/dist/components/controls/dropdown/DropdownContextProvider.mjs +1 -1
  8. package/dist/components/controls/dropdown/DropdownContextProvider.mjs.map +1 -1
  9. package/dist/components/controls/dropdown/combobox/ComboboxOptions.mjs +1 -1
  10. package/dist/components/controls/dropdown/combobox/ComboboxOptions.mjs.map +1 -1
  11. package/dist/components/data-display/icons/icon/Icon.mjs +1 -1
  12. package/dist/components/data-display/icons/icon/Icon.mjs.map +1 -1
  13. package/dist/components/data-display/icons/icon-raw/IconRaw.mjs +1 -1
  14. package/dist/components/data-display/icons/icon-raw/IconRaw.mjs.map +1 -1
  15. package/dist/components/data-display/icons/icon-svg/IconSvg.mjs +1 -1
  16. package/dist/components/data-display/icons/icon-svg/IconSvg.mjs.map +1 -1
  17. package/dist/components/data-display/kanban/Kanban.mjs +1 -1
  18. package/dist/components/data-display/kanban/KanbanCard.d.mts +4 -0
  19. package/dist/components/data-display/kanban/KanbanCard.d.mts.map +1 -1
  20. package/dist/components/data-display/kanban/KanbanCard.mjs +1 -1
  21. package/dist/components/data-display/kanban/KanbanCard.mjs.map +1 -1
  22. package/dist/components/data-display/kanban/KanbanCardAdder.mjs +1 -1
  23. package/dist/components/data-display/kanban/kanbanUtils.mjs +1 -1
  24. package/dist/components/data-display/kanban/kanbanUtils.mjs.map +1 -1
  25. package/package.json +3 -3
@@ -31,6 +31,8 @@ type DropdownProps = {
31
31
  dropdownHeight?: number | string;
32
32
  shouldFilter?: boolean;
33
33
  dropdownTopSlot?: ReactNode;
34
+ defaultValue?: DropdownValue;
35
+ onChange?: (value: DropdownValue) => void;
34
36
  } & DataAttributes;
35
37
  //#endregion
36
38
  export { DropdownProps };
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"mappings":";;;;;;;;KAoBK,cAAA;EAAA,CACF,GAAA;AAAA;AAAA,KAGS,aAAA;EACV,QAAA,EAAU,SAAA;EACV,YAAA;EACA,WAAA;EACA,UAAA;IACE,QAAA;IACA,IAAA;IACA,OAAA;IACA,MAAA;IACA,KAAA;IACA,MAAA;EAAA;EAEF,MAAA,EAAQ,SAAA;EACR,OAAA,EAAS,aAAA;EACT,eAAA,GAAkB,OAAA,CAChB,IAAA,CAAK,uBAAA;IAEL,UAAA,GAAa,IAAA,CACX,WAAA,CAAY,uBAAA;MAGZ,0BAAA;IAAA;EAAA;EAGJ,cAAA;EACA,YAAA;EACA,eAAA,GAAkB,SAAA;AAAA,IAChB,cAAA"}
1
+ {"version":3,"file":"Dropdown.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"mappings":";;;;;;;;KAoBK,cAAA;EAAA,CACF,GAAA;AAAA;AAAA,KAGS,aAAA;EACV,QAAA,EAAU,SAAA;EACV,YAAA;EACA,WAAA;EACA,UAAA;IACE,QAAA;IACA,IAAA;IACA,OAAA;IACA,MAAA;IACA,KAAA;IACA,MAAA;EAAA;EAEF,MAAA,EAAQ,SAAA;EACR,OAAA,EAAS,aAAA;EACT,eAAA,GAAkB,OAAA,CAChB,IAAA,CAAK,uBAAA;IAEL,UAAA,GAAa,IAAA,CACX,WAAA,CAAY,uBAAA;MAGZ,0BAAA;IAAA;EAAA;EAGJ,cAAA;EACA,YAAA;EACA,eAAA,GAAkB,SAAA;EAClB,YAAA,GAAe,aAAA;EACf,QAAA,IAAY,KAAA,EAAO,aAAA;AAAA,IACjB,cAAA"}
@@ -1,2 +1,2 @@
1
- import{ScrollAreaAutosize as e}from"../../misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{DropdownContextProvider as t,useDropdownContext as n}from"./DropdownContextProvider.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{dropdown as i,dropdownEmpty as a,dropdownOption as o,dropdownOptions as s,dropdownRoot as c,dropdownScrollAreaAutosize as l}from"@mage-ui/styled-system/recipes";import{Combobox as u}from"@mantine/core";import{jsx as d,jsxs as f}from"react/jsx-runtime";const p=({children:t,classNames:p,target:m,scrollAreaProps:h,dropdownHeight:g=192,dropdownTopSlot:_,...v})=>{let{store:y,setValue:b}=n(),x=Object.fromEntries(Object.entries(v).filter(([e])=>e.startsWith(`data-`))),S=Object.fromEntries(Object.entries(v).filter(([e])=>!e.startsWith(`data-`)));return f(u,{width:`target`,store:y,withinPortal:!0,keepMounted:!1,onOptionSubmit:e=>{b(e)},classNames:{dropdown:r(p?.dropdown??i(),p?.root??c()),options:p?.options??s(),option:p?.option??o(),empty:p?.empty??a(),search:p?.search},...S,children:[d(u.Target,{children:m}),f(u.Dropdown,{...x,children:[_&&_,d(e,{type:`scroll`,mah:g,classNames:{scrollArea:h?.classNames?.dropdownScrollAreaAutosize??l()},...h,children:t})]})]})};function m({options:e,shouldFilter:n=!0,...r}){return d(t,{options:e,shouldFilter:n,children:d(p,{...r})})}m.Options=u.Options,m.Options.displayName=`Dropdown.Options`,m.Option=u.Option,m.Option.displayName=`Dropdown.Option`,m.Empty=u.Empty,m.Empty.displayName=`Dropdown.Empty`,m.Search=u.Search,m.Search.displayName=`Dropdown.Search`,m.EventsTarget=u.EventsTarget,m.EventsTarget.displayName=`Dropdown.EventsTarget`;export{m as Dropdown};
1
+ import{ScrollAreaAutosize as e}from"../../misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{DropdownContextProvider as t,useDropdownContext as n}from"./DropdownContextProvider.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{dropdown as i,dropdownEmpty as a,dropdownOption as o,dropdownOptions as s,dropdownRoot as c,dropdownScrollAreaAutosize as l}from"@mage-ui/styled-system/recipes";import{Combobox as u}from"@mantine/core";import{jsx as d,jsxs as f}from"react/jsx-runtime";const p=({children:t,classNames:p,target:m,scrollAreaProps:h,dropdownHeight:g=192,dropdownTopSlot:_,...v})=>{let{store:y,setValue:b}=n(),x=Object.fromEntries(Object.entries(v).filter(([e])=>e.startsWith(`data-`))),S=Object.fromEntries(Object.entries(v).filter(([e])=>!e.startsWith(`data-`)));return f(u,{width:`target`,store:y,withinPortal:!0,keepMounted:!1,onOptionSubmit:e=>{b(e)},classNames:{dropdown:r(p?.dropdown??i(),p?.root??c()),options:p?.options??s(),option:p?.option??o(),empty:p?.empty??a(),search:p?.search},...S,children:[d(u.Target,{children:m}),f(u.Dropdown,{...x,children:[_&&_,d(e,{type:`scroll`,mah:g,classNames:{scrollArea:h?.classNames?.dropdownScrollAreaAutosize??l()},...h,children:t})]})]})};function m({options:e,shouldFilter:n=!0,defaultValue:r,onChange:i,...a}){return d(t,{options:e,shouldFilter:n,defaultValue:r,onChange:i,children:d(p,{...a})})}m.Options=u.Options,m.Options.displayName=`Dropdown.Options`,m.Option=u.Option,m.Option.displayName=`Dropdown.Option`,m.Empty=u.Empty,m.Empty.displayName=`Dropdown.Empty`,m.Search=u.Search,m.Search.displayName=`Dropdown.Search`,m.EventsTarget=u.EventsTarget,m.EventsTarget.displayName=`Dropdown.EventsTarget`;export{m as Dropdown};
2
2
  //# sourceMappingURL=Dropdown.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.mjs","names":["MantineCombobox"],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dropdown,\n dropdownEmpty,\n dropdownOption,\n dropdownOptions,\n dropdownRoot,\n dropdownScrollAreaAutosize,\n} from '@mage-ui/styled-system/recipes';\nimport { Combobox as MantineCombobox } from '@mantine/core';\n\nimport { ScrollAreaAutosize, type ScrollAreaAutosizeProps } from '../../misc';\nimport {\n DropdownContextProvider,\n type DropdownValue,\n useDropdownContext,\n} from './DropdownContextProvider';\n\ntype DataAttributes = {\n [key: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport type DropdownProps = {\n children: ReactNode;\n withinPortal?: boolean;\n keepMounted?: boolean;\n classNames?: {\n dropdown?: string;\n root?: string;\n options?: string;\n option?: string;\n empty?: string;\n search?: string;\n };\n target: ReactNode;\n options: DropdownValue[];\n scrollAreaProps?: Partial<\n Omit<ScrollAreaAutosizeProps, 'children' | 'classNames'>\n > & {\n classNames?: Omit<\n NonNullable<ScrollAreaAutosizeProps['classNames']>,\n 'scrollArea'\n > & {\n dropdownScrollAreaAutosize?: string;\n };\n };\n dropdownHeight?: number | string;\n shouldFilter?: boolean;\n dropdownTopSlot?: ReactNode;\n} & DataAttributes;\n\nconst DropdownContent = ({\n children,\n classNames,\n target,\n scrollAreaProps,\n dropdownHeight = 192,\n dropdownTopSlot,\n ...props\n}: Omit<DropdownProps, 'options'>) => {\n const { store, setValue } = useDropdownContext();\n const dataAttributes = Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith('data-')),\n ) as DataAttributes;\n const comboboxProps = Object.fromEntries(\n Object.entries(props).filter(([key]) => !key.startsWith('data-')),\n );\n\n return (\n <MantineCombobox\n width='target'\n store={store}\n withinPortal={true}\n keepMounted={false}\n onOptionSubmit={(option) => {\n setValue(option);\n }}\n classNames={{\n dropdown: cx(\n classNames?.dropdown ?? dropdown(),\n classNames?.root ?? dropdownRoot(),\n ),\n options: classNames?.options ?? dropdownOptions(),\n option: classNames?.option ?? dropdownOption(),\n empty: classNames?.empty ?? dropdownEmpty(),\n search: classNames?.search,\n }}\n {...comboboxProps}\n >\n <MantineCombobox.Target>{target}</MantineCombobox.Target>\n <MantineCombobox.Dropdown {...dataAttributes}>\n {dropdownTopSlot && dropdownTopSlot}\n <ScrollAreaAutosize\n type='scroll'\n mah={dropdownHeight}\n classNames={{\n scrollArea:\n scrollAreaProps?.classNames?.dropdownScrollAreaAutosize ??\n dropdownScrollAreaAutosize(),\n }}\n {...scrollAreaProps}\n >\n {children}\n </ScrollAreaAutosize>\n </MantineCombobox.Dropdown>\n </MantineCombobox>\n );\n};\n\nexport function Dropdown({\n options,\n shouldFilter = true,\n ...props\n}: DropdownProps) {\n return (\n <DropdownContextProvider options={options} shouldFilter={shouldFilter}>\n <DropdownContent {...props} />\n </DropdownContextProvider>\n );\n}\n\nDropdown.Options = MantineCombobox.Options;\nDropdown.Options.displayName = 'Dropdown.Options';\nDropdown.Option = MantineCombobox.Option;\nDropdown.Option.displayName = 'Dropdown.Option';\nDropdown.Empty = MantineCombobox.Empty;\nDropdown.Empty.displayName = 'Dropdown.Empty';\nDropdown.Search = MantineCombobox.Search;\nDropdown.Search.displayName = 'Dropdown.Search';\nDropdown.EventsTarget = MantineCombobox.EventsTarget;\nDropdown.EventsTarget.displayName = 'Dropdown.EventsTarget';\n"],"mappings":"+eAqDA,MAAM,GAAmB,CACvB,WACA,aACA,SACA,kBACA,iBAAiB,IACjB,kBACA,GAAG,KACiC,CACpC,GAAM,CAAE,QAAO,YAAa,GAAoB,CAC1C,EAAiB,OAAO,YAC5B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,EAAI,WAAW,QAAQ,CAAC,CACjE,CACK,EAAgB,OAAO,YAC3B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,CAAC,EAAI,WAAW,QAAQ,CAAC,CAClE,CAED,OACE,EAACA,EAAAA,CACC,MAAM,SACC,QACP,aAAc,GACd,YAAa,GACb,eAAiB,GAAW,CAC1B,EAAS,EAAO,EAElB,WAAY,CACV,SAAU,EACR,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,CACD,QAAS,GAAY,SAAW,GAAiB,CACjD,OAAQ,GAAY,QAAU,GAAgB,CAC9C,MAAO,GAAY,OAAS,GAAe,CAC3C,OAAQ,GAAY,OACrB,CACD,GAAI,YAEJ,EAACA,EAAgB,OAAA,CAAA,SAAQ,EAAA,CAAgC,CACzD,EAACA,EAAgB,SAAA,CAAS,GAAI,YAC3B,GAAmB,EACpB,EAAC,EAAA,CACC,KAAK,SACL,IAAK,EACL,WAAY,CACV,WACE,GAAiB,YAAY,4BAC7B,GAA4B,CAC/B,CACD,GAAI,EAEH,YACkB,CAAA,EACI,CAAA,EACX,EAItB,SAAgB,EAAS,CACvB,UACA,eAAe,GACf,GAAG,GACa,CAChB,OACE,EAAC,EAAA,CAAiC,UAAuB,wBACvD,EAAC,EAAA,CAAgB,GAAI,EAAA,CAAS,EACN,CAI9B,EAAS,QAAUA,EAAgB,QACnC,EAAS,QAAQ,YAAc,mBAC/B,EAAS,OAASA,EAAgB,OAClC,EAAS,OAAO,YAAc,kBAC9B,EAAS,MAAQA,EAAgB,MACjC,EAAS,MAAM,YAAc,iBAC7B,EAAS,OAASA,EAAgB,OAClC,EAAS,OAAO,YAAc,kBAC9B,EAAS,aAAeA,EAAgB,aACxC,EAAS,aAAa,YAAc"}
1
+ {"version":3,"file":"Dropdown.mjs","names":["MantineCombobox"],"sources":["../../../../src/components/controls/dropdown/Dropdown.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dropdown,\n dropdownEmpty,\n dropdownOption,\n dropdownOptions,\n dropdownRoot,\n dropdownScrollAreaAutosize,\n} from '@mage-ui/styled-system/recipes';\nimport { Combobox as MantineCombobox } from '@mantine/core';\n\nimport { ScrollAreaAutosize, type ScrollAreaAutosizeProps } from '../../misc';\nimport {\n DropdownContextProvider,\n type DropdownValue,\n useDropdownContext,\n} from './DropdownContextProvider';\n\ntype DataAttributes = {\n [key: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport type DropdownProps = {\n children: ReactNode;\n withinPortal?: boolean;\n keepMounted?: boolean;\n classNames?: {\n dropdown?: string;\n root?: string;\n options?: string;\n option?: string;\n empty?: string;\n search?: string;\n };\n target: ReactNode;\n options: DropdownValue[];\n scrollAreaProps?: Partial<\n Omit<ScrollAreaAutosizeProps, 'children' | 'classNames'>\n > & {\n classNames?: Omit<\n NonNullable<ScrollAreaAutosizeProps['classNames']>,\n 'scrollArea'\n > & {\n dropdownScrollAreaAutosize?: string;\n };\n };\n dropdownHeight?: number | string;\n shouldFilter?: boolean;\n dropdownTopSlot?: ReactNode;\n defaultValue?: DropdownValue;\n onChange?: (value: DropdownValue) => void;\n} & DataAttributes;\n\nconst DropdownContent = ({\n children,\n classNames,\n target,\n scrollAreaProps,\n dropdownHeight = 192,\n dropdownTopSlot,\n ...props\n}: Omit<DropdownProps, 'options' | 'defaultValue' | 'onChange'>) => {\n const { store, setValue } = useDropdownContext();\n const dataAttributes = Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith('data-')),\n ) as DataAttributes;\n const comboboxProps = Object.fromEntries(\n Object.entries(props).filter(([key]) => !key.startsWith('data-')),\n );\n\n return (\n <MantineCombobox\n width='target'\n store={store}\n withinPortal={true}\n keepMounted={false}\n onOptionSubmit={(option) => {\n setValue(option);\n }}\n classNames={{\n dropdown: cx(\n classNames?.dropdown ?? dropdown(),\n classNames?.root ?? dropdownRoot(),\n ),\n options: classNames?.options ?? dropdownOptions(),\n option: classNames?.option ?? dropdownOption(),\n empty: classNames?.empty ?? dropdownEmpty(),\n search: classNames?.search,\n }}\n {...comboboxProps}\n >\n <MantineCombobox.Target>{target}</MantineCombobox.Target>\n <MantineCombobox.Dropdown {...dataAttributes}>\n {dropdownTopSlot && dropdownTopSlot}\n <ScrollAreaAutosize\n type='scroll'\n mah={dropdownHeight}\n classNames={{\n scrollArea:\n scrollAreaProps?.classNames?.dropdownScrollAreaAutosize ??\n dropdownScrollAreaAutosize(),\n }}\n {...scrollAreaProps}\n >\n {children}\n </ScrollAreaAutosize>\n </MantineCombobox.Dropdown>\n </MantineCombobox>\n );\n};\n\nexport function Dropdown({\n options,\n shouldFilter = true,\n defaultValue,\n onChange,\n ...props\n}: DropdownProps) {\n return (\n <DropdownContextProvider\n options={options}\n shouldFilter={shouldFilter}\n defaultValue={defaultValue}\n onChange={onChange}\n >\n <DropdownContent {...props} />\n </DropdownContextProvider>\n );\n}\n\nDropdown.Options = MantineCombobox.Options;\nDropdown.Options.displayName = 'Dropdown.Options';\nDropdown.Option = MantineCombobox.Option;\nDropdown.Option.displayName = 'Dropdown.Option';\nDropdown.Empty = MantineCombobox.Empty;\nDropdown.Empty.displayName = 'Dropdown.Empty';\nDropdown.Search = MantineCombobox.Search;\nDropdown.Search.displayName = 'Dropdown.Search';\nDropdown.EventsTarget = MantineCombobox.EventsTarget;\nDropdown.EventsTarget.displayName = 'Dropdown.EventsTarget';\n"],"mappings":"+eAuDA,MAAM,GAAmB,CACvB,WACA,aACA,SACA,kBACA,iBAAiB,IACjB,kBACA,GAAG,KAC+D,CAClE,GAAM,CAAE,QAAO,YAAa,GAAoB,CAC1C,EAAiB,OAAO,YAC5B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,EAAI,WAAW,QAAQ,CAAC,CACjE,CACK,EAAgB,OAAO,YAC3B,OAAO,QAAQ,EAAM,CAAC,QAAQ,CAAC,KAAS,CAAC,EAAI,WAAW,QAAQ,CAAC,CAClE,CAED,OACE,EAACA,EAAAA,CACC,MAAM,SACC,QACP,aAAc,GACd,YAAa,GACb,eAAiB,GAAW,CAC1B,EAAS,EAAO,EAElB,WAAY,CACV,SAAU,EACR,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,CACD,QAAS,GAAY,SAAW,GAAiB,CACjD,OAAQ,GAAY,QAAU,GAAgB,CAC9C,MAAO,GAAY,OAAS,GAAe,CAC3C,OAAQ,GAAY,OACrB,CACD,GAAI,YAEJ,EAACA,EAAgB,OAAA,CAAA,SAAQ,EAAA,CAAgC,CACzD,EAACA,EAAgB,SAAA,CAAS,GAAI,YAC3B,GAAmB,EACpB,EAAC,EAAA,CACC,KAAK,SACL,IAAK,EACL,WAAY,CACV,WACE,GAAiB,YAAY,4BAC7B,GAA4B,CAC/B,CACD,GAAI,EAEH,YACkB,CAAA,EACI,CAAA,EACX,EAItB,SAAgB,EAAS,CACvB,UACA,eAAe,GACf,eACA,WACA,GAAG,GACa,CAChB,OACE,EAAC,EAAA,CACU,UACK,eACA,eACJ,oBAEV,EAAC,EAAA,CAAgB,GAAI,EAAA,CAAS,EACN,CAI9B,EAAS,QAAUA,EAAgB,QACnC,EAAS,QAAQ,YAAc,mBAC/B,EAAS,OAASA,EAAgB,OAClC,EAAS,OAAO,YAAc,kBAC9B,EAAS,MAAQA,EAAgB,MACjC,EAAS,MAAM,YAAc,iBAC7B,EAAS,OAASA,EAAgB,OAClC,EAAS,OAAO,YAAc,kBAC9B,EAAS,aAAeA,EAAgB,aACxC,EAAS,aAAa,YAAc"}
@@ -1,10 +1,12 @@
1
1
  import "@mantine/core";
2
2
  import "react/jsx-runtime";
3
+ import { ReactNode } from "react";
3
4
 
4
5
  //#region src/components/controls/dropdown/DropdownContextProvider.d.ts
5
6
  type DropdownValue = {
6
7
  id: string | number;
7
8
  value: string | number | undefined | null;
9
+ render?: ReactNode;
8
10
  };
9
11
  //#endregion
10
12
  export { DropdownValue };
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownContextProvider.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"mappings":";;;;KAIY,aAAA;EACV,EAAA;EACA,KAAA;AAAA"}
1
+ {"version":3,"file":"DropdownContextProvider.d.mts","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"mappings":";;;;;KAKY,aAAA;EACV,EAAA;EACA,KAAA;EACA,MAAA,GAAS,SAAA;AAAA"}
@@ -1,2 +1,2 @@
1
- import{useCombobox as e}from"@mantine/core";import{jsx as t}from"react/jsx-runtime";import{createContext as n,useContext as r,useState as i}from"react";const a=n({store:{},value:{id:``,value:``},query:void 0,setValue:()=>{},setQuery:()=>{},options:[]});function o(){let e=r(a);if(!e)throw Error(`useDropdownContext must be used within DropdownContextProvider`);return e}function s({children:n,options:r,shouldFilter:o=!0}){let[s,c]=i(void 0),[l,u]=i({id:``,value:``}),d=e({scrollBehavior:`smooth`,onDropdownClose:()=>d.resetSelectedOption()}),f=s&&o?r.filter(e=>e.value?.toString().toLowerCase().trim().includes(s?.toLowerCase().trim())):r;return t(a.Provider,{value:{store:d,value:l,setValue:e=>{let t=r.find(t=>t.value===e);u(e&&!t?{id:``,value:e}:t??{id:``,value:``}),c(void 0),d.closeDropdown()},query:s,setQuery:c,options:f},children:n})}export{s as DropdownContextProvider,o as useDropdownContext};
1
+ import{useCombobox as e}from"@mantine/core";import{jsx as t}from"react/jsx-runtime";import{createContext as n,useContext as r,useState as i}from"react";const a=n({store:{},value:{id:``,value:``},query:void 0,setValue:()=>{},setQuery:()=>{},options:[]});function o(){let e=r(a);if(!e)throw Error(`useDropdownContext must be used within DropdownContextProvider`);return e}function s({children:n,options:r,shouldFilter:o=!0,defaultValue:s,onChange:c}){let[l,u]=i(void 0),[d,f]=i(s??{id:``,value:``}),p=e({scrollBehavior:`smooth`,onDropdownClose:()=>p.resetSelectedOption()}),m=l&&o?r.filter(e=>e.value?.toString().toLowerCase().trim().includes(l?.toLowerCase().trim())):r;return t(a.Provider,{value:{store:p,value:d,setValue:e=>{let t=r.find(t=>t.value===e),n;n=e&&!t?{id:``,value:e}:t??{id:``,value:``},f(n),c?.(n),u(void 0),p.closeDropdown()},query:l,setQuery:u,options:m},children:n})}export{s as DropdownContextProvider,o as useDropdownContext};
2
2
  //# sourceMappingURL=DropdownContextProvider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownContextProvider.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"sourcesContent":["import { createContext, useContext, useState } from 'react';\n\nimport { type ComboboxStore, useCombobox } from '@mantine/core';\n\nexport type DropdownValue = {\n id: string | number;\n value: string | number | undefined | null;\n};\n\ntype DropdownContextType = {\n store: ComboboxStore;\n value: DropdownValue;\n setValue: (value: string | undefined) => void;\n query: string | undefined;\n setQuery: (query: string | undefined) => void;\n options: DropdownValue[];\n};\n\nconst DropdownContext = createContext<DropdownContextType>({\n store: {} as ComboboxStore,\n value: { id: '', value: '' },\n query: undefined,\n setValue: () => {},\n setQuery: () => {},\n options: [],\n});\n\nexport function useDropdownContext(): DropdownContextType {\n const ctx = useContext(DropdownContext);\n if (!ctx)\n throw new Error(\n 'useDropdownContext must be used within DropdownContextProvider',\n );\n return ctx;\n}\n\nexport function DropdownContextProvider({\n children,\n options,\n shouldFilter = true,\n}: {\n children: React.ReactNode;\n options: DropdownValue[];\n shouldFilter?: boolean;\n}) {\n const [query, setQuery] = useState<string | undefined>(undefined);\n const [value, setValue] = useState<DropdownValue>({\n id: '',\n value: '',\n });\n\n const store = useCombobox({\n scrollBehavior: 'smooth',\n onDropdownClose: () => store.resetSelectedOption(),\n });\n\n const filteredOptions =\n query && shouldFilter\n ? options.filter((item) =>\n item.value\n ?.toString()\n .toLowerCase()\n .trim()\n .includes(query?.toLowerCase().trim()),\n )\n : options;\n\n const handleValueChange = (value: string | undefined) => {\n const option = options.find((option) => option.value === value);\n\n if (value && !option) {\n setValue({ id: '', value: value });\n } else {\n setValue(option ?? { id: '', value: '' });\n }\n\n setQuery(undefined);\n store.closeDropdown();\n };\n\n return (\n <DropdownContext.Provider\n value={{\n store,\n value,\n setValue: handleValueChange,\n query,\n setQuery,\n options: filteredOptions,\n }}\n >\n {children}\n </DropdownContext.Provider>\n );\n}\n"],"mappings":"wJAkBA,MAAM,EAAkB,EAAmC,CACzD,MAAO,EAAE,CACT,MAAO,CAAE,GAAI,GAAI,MAAO,GAAI,CAC5B,MAAO,IAAA,GACP,aAAgB,GAChB,aAAgB,GAChB,QAAS,EAAE,CACZ,CAAC,CAEF,SAAgB,GAA0C,CACxD,IAAM,EAAM,EAAW,EAAgB,CACvC,GAAI,CAAC,EACH,MAAU,MACR,iEACD,CACH,OAAO,EAGT,SAAgB,EAAwB,CACtC,WACA,UACA,eAAe,IAKd,CACD,GAAM,CAAC,EAAO,GAAY,EAA6B,IAAA,GAAU,CAC3D,CAAC,EAAO,GAAY,EAAwB,CAChD,GAAI,GACJ,MAAO,GACR,CAAC,CAEI,EAAQ,EAAY,CACxB,eAAgB,SAChB,oBAAuB,EAAM,qBAAqB,CACnD,CAAC,CAEI,EACJ,GAAS,EACL,EAAQ,OAAQ,GACd,EAAK,OACD,UAAU,CACX,aAAa,CACb,MAAM,CACN,SAAS,GAAO,aAAa,CAAC,MAAM,CAAC,CACzC,CACD,EAeN,OACE,EAAC,EAAgB,SAAA,CACf,MAAO,CACL,QACA,QACA,SAlBqB,GAA8B,CACvD,IAAM,EAAS,EAAQ,KAAM,GAAW,EAAO,QAAU,EAAM,CAG7D,EADE,GAAS,CAAC,EACH,CAAE,GAAI,GAAW,QAAO,CAExB,GAAU,CAAE,GAAI,GAAI,MAAO,GAAI,CAAC,CAG3C,EAAS,IAAA,GAAU,CACnB,EAAM,eAAe,EASjB,QACA,WACA,QAAS,EACV,CAEA,YACwB"}
1
+ {"version":3,"file":"DropdownContextProvider.mjs","names":[],"sources":["../../../../src/components/controls/dropdown/DropdownContextProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext, useState } from 'react';\n\nimport { type ComboboxStore, useCombobox } from '@mantine/core';\n\nexport type DropdownValue = {\n id: string | number;\n value: string | number | undefined | null;\n render?: ReactNode;\n};\n\ntype DropdownContextType = {\n store: ComboboxStore;\n value: DropdownValue;\n setValue: (value: string | undefined) => void;\n query: string | undefined;\n setQuery: (query: string | undefined) => void;\n options: DropdownValue[];\n};\n\nconst DropdownContext = createContext<DropdownContextType>({\n store: {} as ComboboxStore,\n value: { id: '', value: '' },\n query: undefined,\n setValue: () => {},\n setQuery: () => {},\n options: [],\n});\n\nexport function useDropdownContext(): DropdownContextType {\n const ctx = useContext(DropdownContext);\n if (!ctx)\n throw new Error(\n 'useDropdownContext must be used within DropdownContextProvider',\n );\n return ctx;\n}\n\nexport function DropdownContextProvider({\n children,\n options,\n shouldFilter = true,\n defaultValue,\n onChange,\n}: {\n children: React.ReactNode;\n options: DropdownValue[];\n shouldFilter?: boolean;\n defaultValue?: DropdownValue;\n onChange?: (value: DropdownValue) => void;\n}) {\n const [query, setQuery] = useState<string | undefined>(undefined);\n\n const initialValue = defaultValue ?? { id: '', value: '' };\n\n const [value, setValue] = useState<DropdownValue>(initialValue);\n\n const store = useCombobox({\n scrollBehavior: 'smooth',\n onDropdownClose: () => store.resetSelectedOption(),\n });\n\n const filteredOptions =\n query && shouldFilter\n ? options.filter((item) =>\n item.value\n ?.toString()\n .toLowerCase()\n .trim()\n .includes(query?.toLowerCase().trim()),\n )\n : options;\n\n const handleValueChange = (value: string | undefined) => {\n const option = options.find((option) => option.value === value);\n\n let newValue: DropdownValue;\n if (value && !option) {\n newValue = { id: '', value: value };\n } else {\n newValue = option ?? { id: '', value: '' };\n }\n\n setValue(newValue);\n onChange?.(newValue);\n\n setQuery(undefined);\n store.closeDropdown();\n };\n\n return (\n <DropdownContext.Provider\n value={{\n store,\n value,\n setValue: handleValueChange,\n query,\n setQuery,\n options: filteredOptions,\n }}\n >\n {children}\n </DropdownContext.Provider>\n );\n}\n"],"mappings":"wJAoBA,MAAM,EAAkB,EAAmC,CACzD,MAAO,EAAE,CACT,MAAO,CAAE,GAAI,GAAI,MAAO,GAAI,CAC5B,MAAO,IAAA,GACP,aAAgB,GAChB,aAAgB,GAChB,QAAS,EAAE,CACZ,CAAC,CAEF,SAAgB,GAA0C,CACxD,IAAM,EAAM,EAAW,EAAgB,CACvC,GAAI,CAAC,EACH,MAAU,MACR,iEACD,CACH,OAAO,EAGT,SAAgB,EAAwB,CACtC,WACA,UACA,eAAe,GACf,eACA,YAOC,CACD,GAAM,CAAC,EAAO,GAAY,EAA6B,IAAA,GAAU,CAI3D,CAAC,EAAO,GAAY,EAFL,GAAgB,CAAE,GAAI,GAAI,MAAO,GAAI,CAEK,CAEzD,EAAQ,EAAY,CACxB,eAAgB,SAChB,oBAAuB,EAAM,qBAAqB,CACnD,CAAC,CAEI,EACJ,GAAS,EACL,EAAQ,OAAQ,GACd,EAAK,OACD,UAAU,CACX,aAAa,CACb,MAAM,CACN,SAAS,GAAO,aAAa,CAAC,MAAM,CAAC,CACzC,CACD,EAmBN,OACE,EAAC,EAAgB,SAAA,CACf,MAAO,CACL,QACA,QACA,SAtBqB,GAA8B,CACvD,IAAM,EAAS,EAAQ,KAAM,GAAW,EAAO,QAAU,EAAM,CAE3D,EACJ,AAGE,EAHE,GAAS,CAAC,EACD,CAAE,GAAI,GAAW,QAAO,CAExB,GAAU,CAAE,GAAI,GAAI,MAAO,GAAI,CAG5C,EAAS,EAAS,CAClB,IAAW,EAAS,CAEpB,EAAS,IAAA,GAAU,CACnB,EAAM,eAAe,EASjB,QACA,WACA,QAAS,EACV,CAEA,YACwB"}
@@ -1,2 +1,2 @@
1
- import{useDropdownContext as e}from"../DropdownContextProvider.mjs";import{Dropdown as t}from"../Dropdown.mjs";import{ComboboxCreatableOption as n}from"./ComboboxCreatableOption.mjs";import{ComboboxEmptyOption as r}from"./ComboboxEmptyOption.mjs";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=({creatableProps:o,emptyProps:s})=>{let{options:c}=e(),{creatable:l}=o,u=c.map(e=>i(t.Option,{id:e.id.toString(),value:e.value?.toString(),onMouseDown:e=>e.preventDefault(),children:e.value?.toString()},e.id));return a(t.Options,{children:[u,l&&i(n,{...o}),!l&&c.length===0&&i(r,{...s})]})};export{o as ComboboxOptions};
1
+ import{useDropdownContext as e}from"../DropdownContextProvider.mjs";import{Dropdown as t}from"../Dropdown.mjs";import{ComboboxCreatableOption as n}from"./ComboboxCreatableOption.mjs";import{ComboboxEmptyOption as r}from"./ComboboxEmptyOption.mjs";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=({creatableProps:o,emptyProps:s})=>{let{options:c}=e(),{creatable:l}=o,u=c.map(e=>i(t.Option,{id:e.id.toString(),value:e.value?.toString(),onMouseDown:e=>e.preventDefault(),children:e.render??e.value?.toString()},e.id));return a(t.Options,{children:[u,l&&i(n,{...o}),!l&&c.length===0&&i(r,{...s})]})};export{o as ComboboxOptions};
2
2
  //# sourceMappingURL=ComboboxOptions.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxOptions.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/ComboboxOptions.tsx"],"sourcesContent":["import { Dropdown } from '../Dropdown';\nimport type { DropdownValue } from '../DropdownContextProvider';\nimport { useDropdownContext } from '../DropdownContextProvider';\nimport {\n ComboboxCreatableOption,\n type ComboboxCreatableOptionProps,\n} from './ComboboxCreatableOption';\nimport {\n ComboboxEmptyOption,\n type ComboboxEmptyOptionProps,\n} from './ComboboxEmptyOption';\n\nexport const ComboboxOptions = ({\n creatableProps,\n emptyProps,\n}: {\n creatableProps: ComboboxCreatableOptionProps;\n emptyProps: ComboboxEmptyOptionProps;\n}) => {\n const { options } = useDropdownContext();\n const { creatable } = creatableProps;\n\n const optionsList = options.map((item: DropdownValue) => {\n return (\n <Dropdown.Option\n id={item.id.toString()}\n value={item.value?.toString() as string}\n key={item.id}\n onMouseDown={(e) => e.preventDefault()}\n >\n {item.value?.toString()}\n </Dropdown.Option>\n );\n });\n\n return (\n <Dropdown.Options>\n {optionsList}\n {creatable && <ComboboxCreatableOption {...creatableProps} />}\n {!creatable && options.length === 0 && (\n <ComboboxEmptyOption {...emptyProps} />\n )}\n </Dropdown.Options>\n );\n};\n"],"mappings":"ySAYA,MAAa,GAAmB,CAC9B,iBACA,gBAII,CACJ,GAAM,CAAE,WAAY,GAAoB,CAClC,CAAE,aAAc,EAEhB,EAAc,EAAQ,IAAK,GAE7B,EAAC,EAAS,OAAA,CACR,GAAI,EAAK,GAAG,UAAU,CACtB,MAAO,EAAK,OAAO,UAAU,CAE7B,YAAc,GAAM,EAAE,gBAAgB,UAErC,EAAK,OAAO,UAAU,EAHlB,EAAK,GAIM,CAEpB,CAEF,OACE,EAAC,EAAS,QAAA,CAAA,SAAA,CACP,EACA,GAAa,EAAC,EAAA,CAAwB,GAAI,EAAA,CAAkB,CAC5D,CAAC,GAAa,EAAQ,SAAW,GAChC,EAAC,EAAA,CAAoB,GAAI,EAAA,CAAc,GAExB"}
1
+ {"version":3,"file":"ComboboxOptions.mjs","names":[],"sources":["../../../../../src/components/controls/dropdown/combobox/ComboboxOptions.tsx"],"sourcesContent":["import { Dropdown } from '../Dropdown';\nimport type { DropdownValue } from '../DropdownContextProvider';\nimport { useDropdownContext } from '../DropdownContextProvider';\nimport {\n ComboboxCreatableOption,\n type ComboboxCreatableOptionProps,\n} from './ComboboxCreatableOption';\nimport {\n ComboboxEmptyOption,\n type ComboboxEmptyOptionProps,\n} from './ComboboxEmptyOption';\n\nexport const ComboboxOptions = ({\n creatableProps,\n emptyProps,\n}: {\n creatableProps: ComboboxCreatableOptionProps;\n emptyProps: ComboboxEmptyOptionProps;\n}) => {\n const { options } = useDropdownContext();\n const { creatable } = creatableProps;\n\n const optionsList = options.map((item: DropdownValue) => {\n return (\n <Dropdown.Option\n id={item.id.toString()}\n value={item.value?.toString() as string}\n key={item.id}\n onMouseDown={(e) => e.preventDefault()}\n >\n {item.render ?? item.value?.toString()}\n </Dropdown.Option>\n );\n });\n\n return (\n <Dropdown.Options>\n {optionsList}\n {creatable && <ComboboxCreatableOption {...creatableProps} />}\n {!creatable && options.length === 0 && (\n <ComboboxEmptyOption {...emptyProps} />\n )}\n </Dropdown.Options>\n );\n};\n"],"mappings":"ySAYA,MAAa,GAAmB,CAC9B,iBACA,gBAII,CACJ,GAAM,CAAE,WAAY,GAAoB,CAClC,CAAE,aAAc,EAEhB,EAAc,EAAQ,IAAK,GAE7B,EAAC,EAAS,OAAA,CACR,GAAI,EAAK,GAAG,UAAU,CACtB,MAAO,EAAK,OAAO,UAAU,CAE7B,YAAc,GAAM,EAAE,gBAAgB,UAErC,EAAK,QAAU,EAAK,OAAO,UAAU,EAHjC,EAAK,GAIM,CAEpB,CAEF,OACE,EAAC,EAAS,QAAA,CAAA,SAAA,CACP,EACA,GAAa,EAAC,EAAA,CAAwB,GAAI,EAAA,CAAkB,CAC5D,CAAC,GAAa,EAAQ,SAAW,GAChC,EAAC,EAAA,CAAoB,GAAI,EAAA,CAAc,GAExB"}
@@ -1,2 +1,2 @@
1
- import{IconRaw as e}from"../icon-raw/IconRaw.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{icon as n,iconIconRaw as r,iconIconRawRoot as i,iconRoot as a}from"@mage-ui/styled-system/recipes";import{jsx as o}from"react/jsx-runtime";const s=({path:s,name:c,classNames:l})=>o(`span`,{className:t(l?.icon??n(),l?.root??a()),"aria-hidden":`true`,children:o(e,{classNames:{iconRaw:l?.iconRaw?.iconRaw??r(),root:l?.iconRaw?.root??i()},path:s,name:c})});export{s as Icon};
1
+ import{IconRaw as e}from"../icon-raw/IconRaw.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{icon as n,iconIconRaw as r,iconIconRawRoot as i,iconRoot as a}from"@mage-ui/styled-system/recipes";import{jsx as o}from"react/jsx-runtime";const s=({path:s,name:c,classNames:l})=>o(`span`,{className:t(l?.icon??n(),l?.root??a()),children:o(e,{classNames:{iconRaw:l?.iconRaw?.iconRaw??r(),root:l?.iconRaw?.root??i()},path:s,name:c})});export{s as Icon};
2
2
  //# sourceMappingURL=Icon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon/Icon.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n type IconVariantProps,\n icon,\n iconIconRaw,\n iconIconRawRoot,\n iconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { IconRaw } from '@/components/data-display/icons/icon-raw/IconRaw';\n\nexport type IconProps = {\n name: string;\n path: string;\n classNames?: {\n icon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n} & IconVariantProps;\n\nexport const Icon = ({ path, name, classNames }: IconProps): ReactNode => {\n return (\n <span\n className={cx(classNames?.icon ?? icon(), classNames?.root ?? iconRoot())}\n aria-hidden='true'\n >\n <IconRaw\n classNames={{\n iconRaw: classNames?.iconRaw?.iconRaw ?? iconIconRaw(),\n root: classNames?.iconRaw?.root ?? iconIconRawRoot(),\n }}\n path={path}\n name={name}\n />\n </span>\n );\n};\n"],"mappings":"oPAyBA,MAAa,GAAQ,CAAE,OAAM,OAAM,gBAE/B,EAAC,OAAA,CACC,UAAW,EAAG,GAAY,MAAQ,GAAM,CAAE,GAAY,MAAQ,GAAU,CAAC,CACzE,cAAY,gBAEZ,EAAC,EAAA,CACC,WAAY,CACV,QAAS,GAAY,SAAS,SAAW,GAAa,CACtD,KAAM,GAAY,SAAS,MAAQ,GAAiB,CACrD,CACK,OACA,QACN,EACG"}
1
+ {"version":3,"file":"Icon.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon/Icon.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n type IconVariantProps,\n icon,\n iconIconRaw,\n iconIconRawRoot,\n iconRoot,\n} from '@mage-ui/styled-system/recipes';\nimport { IconRaw } from '@/components/data-display/icons/icon-raw/IconRaw';\n\nexport type IconProps = {\n name: string;\n path: string;\n classNames?: {\n icon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n} & IconVariantProps;\n\nexport const Icon = ({ path, name, classNames }: IconProps): ReactNode => {\n return (\n <span\n className={cx(classNames?.icon ?? icon(), classNames?.root ?? iconRoot())}\n >\n <IconRaw\n classNames={{\n iconRaw: classNames?.iconRaw?.iconRaw ?? iconIconRaw(),\n root: classNames?.iconRaw?.root ?? iconIconRawRoot(),\n }}\n path={path}\n name={name}\n />\n </span>\n );\n};\n"],"mappings":"oPAyBA,MAAa,GAAQ,CAAE,OAAM,OAAM,gBAE/B,EAAC,OAAA,CACC,UAAW,EAAG,GAAY,MAAQ,GAAM,CAAE,GAAY,MAAQ,GAAU,CAAC,UAEzE,EAAC,EAAA,CACC,WAAY,CACV,QAAS,GAAY,SAAS,SAAW,GAAa,CACtD,KAAM,GAAY,SAAS,MAAQ,GAAiB,CACrD,CACK,OACA,QACN,EACG"}
@@ -1,2 +1,2 @@
1
- import{cx as e}from"@mage-ui/styled-system/css";import{iconRaw as t,iconRawRoot as n}from"@mage-ui/styled-system/recipes";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({path:a,name:o,classNames:s,...c})=>i(`svg`,{...c,className:e(s?.iconRaw??t(),s?.root??n(),c.className),children:[r(`title`,{children:o}),r(`use`,{href:`${a}#${o}`})]});export{a as IconRaw};
1
+ import{cx as e}from"@mage-ui/styled-system/css";import{iconRaw as t,iconRawRoot as n}from"@mage-ui/styled-system/recipes";import{jsx as r}from"react/jsx-runtime";const i=({path:i,name:a,classNames:o,...s})=>r(`svg`,{...s,className:e(o?.iconRaw??t(),o?.root??n(),s.className),"aria-hidden":`true`,focusable:`false`,children:r(`use`,{href:`${i}#${a}`})});export{i as IconRaw};
2
2
  //# sourceMappingURL=IconRaw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconRaw.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon-raw/IconRaw.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { iconRaw, iconRawRoot } from '@mage-ui/styled-system/recipes';\n\nexport type IconRawProps = ComponentPropsWithoutRef<'svg'> & {\n path: string;\n name: string;\n classNames?: {\n iconRaw?: string;\n root?: string;\n };\n};\n\nexport const IconRaw = ({\n path,\n name,\n classNames,\n ...props\n}: IconRawProps): ReactNode => {\n return (\n <svg\n {...props}\n className={cx(\n classNames?.iconRaw ?? iconRaw(),\n classNames?.root ?? iconRawRoot(),\n props.className,\n )}\n >\n <title>{name}</title>\n <use href={`${path}#${name}`} />\n </svg>\n );\n};\n"],"mappings":"4KAcA,MAAa,GAAW,CACtB,OACA,OACA,aACA,GAAG,KAGD,EAAC,MAAA,CACC,GAAI,EACJ,UAAW,EACT,GAAY,SAAW,GAAS,CAChC,GAAY,MAAQ,GAAa,CACjC,EAAM,UACP,WAED,EAAC,QAAA,CAAA,SAAO,EAAA,CAAa,CACrB,EAAC,MAAA,CAAI,KAAM,GAAG,EAAK,GAAG,IAAA,CAAU,CAAA,EAC5B"}
1
+ {"version":3,"file":"IconRaw.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon-raw/IconRaw.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { iconRaw, iconRawRoot } from '@mage-ui/styled-system/recipes';\n\nexport type IconRawProps = ComponentPropsWithoutRef<'svg'> & {\n path: string;\n name: string;\n classNames?: {\n iconRaw?: string;\n root?: string;\n };\n};\n\nexport const IconRaw = ({\n path,\n name,\n classNames,\n ...props\n}: IconRawProps): ReactNode => {\n return (\n <svg\n {...props}\n className={cx(\n classNames?.iconRaw ?? iconRaw(),\n classNames?.root ?? iconRawRoot(),\n props.className,\n )}\n aria-hidden='true'\n focusable='false'\n >\n <use href={`${path}#${name}`} />\n </svg>\n );\n};\n"],"mappings":"kKAcA,MAAa,GAAW,CACtB,OACA,OACA,aACA,GAAG,KAGD,EAAC,MAAA,CACC,GAAI,EACJ,UAAW,EACT,GAAY,SAAW,GAAS,CAChC,GAAY,MAAQ,GAAa,CACjC,EAAM,UACP,CACD,cAAY,OACZ,UAAU,iBAEV,EAAC,MAAA,CAAI,KAAM,GAAG,EAAK,GAAG,IAAA,CAAU,EAC5B"}
@@ -1,2 +1,2 @@
1
- import{cx as e}from"@mage-ui/styled-system/css";import{iconSvg as t,iconSvgRoot as n,iconSvgSvg as r}from"@mage-ui/styled-system/recipes";import{jsx as i}from"react/jsx-runtime";const a=({classNames:a,children:o,width:s,height:c,viewBox:l})=>i(`span`,{className:e(a?.iconSvg??t(),a?.root??n()),"aria-hidden":`true`,children:i(`svg`,{className:a?.svg??r(),width:s,height:c,viewBox:l,"aria-hidden":`true`,focusable:`false`,xmlns:`http://www.w3.org/2000/svg`,children:o})});export{a as IconSvg};
1
+ import{cx as e}from"@mage-ui/styled-system/css";import{iconSvg as t,iconSvgRoot as n,iconSvgSvg as r}from"@mage-ui/styled-system/recipes";import{jsx as i}from"react/jsx-runtime";const a=({classNames:a,children:o,width:s,height:c,viewBox:l})=>i(`span`,{className:e(a?.iconSvg??t(),a?.root??n()),children:i(`svg`,{className:a?.svg??r(),width:s,height:c,viewBox:l,"aria-hidden":`true`,focusable:`false`,xmlns:`http://www.w3.org/2000/svg`,children:o})});export{a as IconSvg};
2
2
  //# sourceMappingURL=IconSvg.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconSvg.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon-svg/IconSvg.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n iconSvg,\n iconSvgRoot,\n iconSvgSvg,\n} from '@mage-ui/styled-system/recipes';\n\nexport type IconSvgProps = {\n classNames?: {\n iconSvg?: string;\n root?: string;\n svg?: string;\n };\n width?: number | string;\n height?: number | string;\n viewBox?: string;\n children: ReactNode;\n};\n\nexport const IconSvg = ({\n classNames,\n children,\n width,\n height,\n viewBox,\n}: IconSvgProps): ReactNode => {\n return (\n <span\n className={cx(\n classNames?.iconSvg ?? iconSvg(),\n classNames?.root ?? iconSvgRoot(),\n )}\n aria-hidden='true'\n >\n <svg\n className={classNames?.svg ?? iconSvgSvg()}\n width={width}\n height={height}\n viewBox={viewBox}\n aria-hidden='true'\n focusable='false'\n xmlns='http://www.w3.org/2000/svg'\n >\n {children}\n </svg>\n </span>\n );\n};\n"],"mappings":"kLAqBA,MAAa,GAAW,CACtB,aACA,WACA,QACA,SACA,aAGE,EAAC,OAAA,CACC,UAAW,EACT,GAAY,SAAW,GAAS,CAChC,GAAY,MAAQ,GAAa,CAClC,CACD,cAAY,gBAEZ,EAAC,MAAA,CACC,UAAW,GAAY,KAAO,GAAY,CACnC,QACC,SACC,UACT,cAAY,OACZ,UAAU,QACV,MAAM,6BAEL,YACG,EACD"}
1
+ {"version":3,"file":"IconSvg.mjs","names":[],"sources":["../../../../../src/components/data-display/icons/icon-svg/IconSvg.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n iconSvg,\n iconSvgRoot,\n iconSvgSvg,\n} from '@mage-ui/styled-system/recipes';\n\nexport type IconSvgProps = {\n classNames?: {\n iconSvg?: string;\n root?: string;\n svg?: string;\n };\n width?: number | string;\n height?: number | string;\n viewBox?: string;\n children: ReactNode;\n};\n\nexport const IconSvg = ({\n classNames,\n children,\n width,\n height,\n viewBox,\n}: IconSvgProps): ReactNode => {\n return (\n <span\n className={cx(\n classNames?.iconSvg ?? iconSvg(),\n classNames?.root ?? iconSvgRoot(),\n )}\n >\n <svg\n className={classNames?.svg ?? iconSvgSvg()}\n width={width}\n height={height}\n viewBox={viewBox}\n aria-hidden='true'\n focusable='false'\n xmlns='http://www.w3.org/2000/svg'\n >\n {children}\n </svg>\n </span>\n );\n};\n"],"mappings":"kLAqBA,MAAa,GAAW,CACtB,aACA,WACA,QACA,SACA,aAGE,EAAC,OAAA,CACC,UAAW,EACT,GAAY,SAAW,GAAS,CAChC,GAAY,MAAQ,GAAa,CAClC,UAED,EAAC,MAAA,CACC,UAAW,GAAY,KAAO,GAAY,CACnC,QACC,SACC,UACT,cAAY,OACZ,UAAU,QACV,MAAM,6BAEL,YACG,EACD"}
@@ -1,2 +1,2 @@
1
- import{KanbanCard as e}from"./KanbanCard.mjs";import{addCardPlaceholder as t,getAddCardPlaceholderKey as n}from"./kanbanUtils.mjs";import{KanbanCardAdder as r}from"./KanbanCardAdder.mjs";import{KanbanCardDragIndicator as i}from"./KanbanCardDragIndicator.mjs";import{KanbanColumnHeader as a}from"./KanbanColumnHeader.mjs";import{KanbanListFooter as o}from"./KanbanListFooter.mjs";import{cx as s}from"@mage-ui/styled-system/css";import{kanban as c,kanbanColumn as l,kanbanRoot as u,kanbanWrapperColumn as d}from"@mage-ui/styled-system/recipes";import{jsx as f}from"react/jsx-runtime";import{useState as p}from"react";import{Kanban as m,dropHandler as h}from"react-kanban-kit";const g=({dataSource:g,configMap:_,onCardMove:v,classNames:y})=>{let[b,x]=p(g);return f(m,{dataSource:b,configMap:_??{card:{render:({data:t})=>f(e,{data:t}),isDraggable:!0},"new-card":{render:({column:e,data:t})=>f(r,{columnId:e.id,dataSource:b,setDataSource:x,inTop:t?.content?.inTop??!0}),isDraggable:!1}},renderColumnHeader:e=>f(a,{column:e}),renderCardDragIndicator:()=>f(i,{}),rootClassName:s(y?.kanban??c(),y?.root??u(),`group`),columnWrapperClassName:()=>y?.columnWrapper??d(),columnClassName:()=>y?.column??l(),renderListFooter:e=>f(o,{onAddTask:()=>x(t(e.id,b,!1))}),allowListFooter:e=>!e.children.includes(n(e.id)),onCardMove:e=>{x(t=>h(e,structuredClone(t),()=>{},e=>({...e,totalChildrenCount:(e.totalChildrenCount||0)+1}),e=>({...e,totalChildrenCount:(e.totalChildrenCount||0)-1}))),v?.(e)}})};export{g as Kanban};
1
+ import{addCardPlaceholder as e,getAddCardPlaceholderKey as t}from"./kanbanUtils.mjs";import{KanbanCard as n}from"./KanbanCard.mjs";import{KanbanCardAdder as r}from"./KanbanCardAdder.mjs";import{KanbanCardDragIndicator as i}from"./KanbanCardDragIndicator.mjs";import{KanbanColumnHeader as a}from"./KanbanColumnHeader.mjs";import{KanbanListFooter as o}from"./KanbanListFooter.mjs";import{cx as s}from"@mage-ui/styled-system/css";import{kanban as c,kanbanColumn as l,kanbanRoot as u,kanbanWrapperColumn as d}from"@mage-ui/styled-system/recipes";import{jsx as f}from"react/jsx-runtime";import{useState as p}from"react";import{Kanban as m,dropHandler as h}from"react-kanban-kit";const g=({dataSource:g,configMap:_,onCardMove:v,classNames:y})=>{let[b,x]=p(g);return f(m,{dataSource:b,configMap:_??{card:{render:({data:e})=>f(n,{data:e}),isDraggable:!0},"new-card":{render:({column:e,data:t})=>f(r,{columnId:e.id,dataSource:b,setDataSource:x,inTop:t?.content?.inTop??!0}),isDraggable:!1}},renderColumnHeader:e=>f(a,{column:e}),renderCardDragIndicator:()=>f(i,{}),rootClassName:s(y?.kanban??c(),y?.root??u(),`group`),columnWrapperClassName:()=>y?.columnWrapper??d(),columnClassName:()=>y?.column??l(),renderListFooter:t=>f(o,{onAddTask:()=>x(e(t.id,b,!1))}),allowListFooter:e=>!e.children.includes(t(e.id)),onCardMove:e=>{x(t=>h(e,structuredClone(t),()=>{},e=>({...e,totalChildrenCount:(e.totalChildrenCount||0)+1}),e=>({...e,totalChildrenCount:(e.totalChildrenCount||0)-1}))),v?.(e)}})};export{g as Kanban};
2
2
  //# sourceMappingURL=Kanban.mjs.map
@@ -1,3 +1,5 @@
1
+ import { AvatarProps } from "../avatar/Avatar.mjs";
2
+ import { BadgeProps } from "../badge/Badge.mjs";
1
3
  import { BoardItem } from "./Kanban.mjs";
2
4
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
5
 
@@ -10,6 +12,8 @@ interface KanbanCardProps {
10
12
  cardTitle?: string;
11
13
  cardDescription?: string;
12
14
  cardSection?: string;
15
+ avatar?: AvatarProps['classNames'];
16
+ badge?: BadgeProps['classNames'];
13
17
  };
14
18
  }
15
19
  declare const KanbanCard: ({
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanCard.d.mts","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCard.tsx"],"mappings":";;;;UAaiB,eAAA;EACf,IAAA,EAAM,SAAA;EACN,UAAA;IACE,IAAA;IACA,QAAA;IACA,SAAA;IACA,eAAA;IACA,WAAA;EAAA;AAAA;AAAA,cAIS,UAAA;EAAc,IAAA;EAAA;AAAA,GAAsB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"KanbanCard.d.mts","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCard.tsx"],"mappings":";;;;;;UAsBiB,eAAA;EACf,IAAA,EAAM,SAAA;EACN,UAAA;IACE,IAAA;IACA,QAAA;IACA,SAAA;IACA,eAAA;IACA,WAAA;IACA,MAAA,GAAS,WAAA;IACT,KAAA,GAAQ,UAAA;EAAA;AAAA;AAAA,cAIC,UAAA;EAAc,IAAA;EAAA;AAAA,GAAsB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +1,2 @@
1
- import{Avatar as e}from"../avatar/Avatar.mjs";import{Badge as t}from"../badge/Badge.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{kanbanCard as r,kanbanCardDescription as i,kanbanCardRoot as a,kanbanCardSection as o,kanbanCardTitle as s}from"@mage-ui/styled-system/recipes";import{jsx as c,jsxs as l}from"react/jsx-runtime";const u=({data:u,classNames:d})=>l(`div`,{className:n(d?.card??r(),d?.cardRoot??a()),children:[c(`p`,{className:n(d?.cardTitle??s()),children:u.title}),u.content?.description&&c(`p`,{className:n(d?.cardDescription??i()),children:u.content.description}),l(`div`,{className:d?.cardSection??o(),children:[u.content?.assignee&&c(e,{name:u.content?.assignee}),u.content?.priority&&c(t,{children:u.content?.priority})]})]});export{u as KanbanCard};
1
+ import{Avatar as e}from"../avatar/Avatar.mjs";import{Badge as t}from"../badge/Badge.mjs";import{getPriorityColor as n}from"./kanbanUtils.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{kanbanCard as i,kanbanCardAvatar as a,kanbanCardAvatarImage as o,kanbanCardAvatarPlaceholder as s,kanbanCardAvatarRoot as c,kanbanCardBadge as l,kanbanCardBadgeLabel as u,kanbanCardBadgeRoot as d,kanbanCardBadgeSection as f,kanbanCardDescription as p,kanbanCardRoot as m,kanbanCardSection as h,kanbanCardTitle as g}from"@mage-ui/styled-system/recipes";import{jsx as _,jsxs as v}from"react/jsx-runtime";const y=({data:y,classNames:b})=>v(`div`,{className:r(b?.card??i(),b?.cardRoot??m()),children:[_(`p`,{className:r(b?.cardTitle??g()),children:y.title}),y.content?.description&&_(`p`,{className:r(b?.cardDescription??p()),children:y.content.description}),v(`div`,{className:b?.cardSection??h(),children:[y.content?.assignee&&_(e,{name:y.content?.assignee,classNames:{avatar:b?.avatar?.avatar??a(),root:b?.avatar?.root??c(),image:b?.avatar?.image??o(),placeholder:b?.avatar?.placeholder??s()}}),y.content?.priority&&_(t,{classNames:{badge:b?.badge?.badge??l(),root:b?.badge?.root??d({priority:n(y.content?.priority)}),section:b?.badge?.section??f(),label:b?.badge?.label??u()},children:y.content?.priority})]})]});export{y as KanbanCard};
2
2
  //# sourceMappingURL=KanbanCard.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanCard.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCard.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n kanbanCard,\n kanbanCardDescription,\n kanbanCardRoot,\n kanbanCardSection,\n kanbanCardTitle,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Avatar } from '../avatar/Avatar';\nimport { Badge } from '../badge/Badge';\nimport type { BoardItem } from './Kanban';\n\nexport interface KanbanCardProps {\n data: BoardItem;\n classNames?: {\n card?: string;\n cardRoot?: string;\n cardTitle?: string;\n cardDescription?: string;\n cardSection?: string;\n };\n}\n\nexport const KanbanCard = ({ data, classNames }: KanbanCardProps) => {\n return (\n <div\n className={cx(\n classNames?.card ?? kanbanCard(),\n classNames?.cardRoot ?? kanbanCardRoot(),\n )}\n >\n <p className={cx(classNames?.cardTitle ?? kanbanCardTitle())}>\n {data.title}\n </p>\n {data.content?.description && (\n <p\n className={cx(classNames?.cardDescription ?? kanbanCardDescription())}\n >\n {data.content.description}\n </p>\n )}\n <div className={classNames?.cardSection ?? kanbanCardSection()}>\n {data.content?.assignee && <Avatar name={data.content?.assignee} />}\n {data.content?.priority && <Badge>{data.content?.priority}</Badge>}\n </div>\n </div>\n );\n};\n"],"mappings":"kVAwBA,MAAa,GAAc,CAAE,OAAM,gBAE/B,EAAC,MAAA,CACC,UAAW,EACT,GAAY,MAAQ,GAAY,CAChC,GAAY,UAAY,GAAgB,CACzC,WAED,EAAC,IAAA,CAAE,UAAW,EAAG,GAAY,WAAa,GAAiB,CAAC,UACzD,EAAK,OACJ,CACH,EAAK,SAAS,aACb,EAAC,IAAA,CACC,UAAW,EAAG,GAAY,iBAAmB,GAAuB,CAAC,UAEpE,EAAK,QAAQ,aACZ,CAEN,EAAC,MAAA,CAAI,UAAW,GAAY,aAAe,GAAmB,WAC3D,EAAK,SAAS,UAAY,EAAC,EAAA,CAAO,KAAM,EAAK,SAAS,SAAA,CAAY,CAClE,EAAK,SAAS,UAAY,EAAC,EAAA,CAAA,SAAO,EAAK,SAAS,SAAA,CAAiB,CAAA,EAC9D,GACF"}
1
+ {"version":3,"file":"KanbanCard.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/KanbanCard.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport {\n kanbanCard,\n kanbanCardAvatar,\n kanbanCardAvatarImage,\n kanbanCardAvatarPlaceholder,\n kanbanCardAvatarRoot,\n kanbanCardBadge,\n kanbanCardBadgeLabel,\n kanbanCardBadgeRoot,\n kanbanCardBadgeSection,\n kanbanCardDescription,\n kanbanCardRoot,\n kanbanCardSection,\n kanbanCardTitle,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Avatar, type AvatarProps } from '../avatar/Avatar';\nimport { Badge, type BadgeProps } from '../badge/Badge';\nimport type { BoardItem } from './Kanban';\nimport { getPriorityColor } from './kanbanUtils';\n\nexport interface KanbanCardProps {\n data: BoardItem;\n classNames?: {\n card?: string;\n cardRoot?: string;\n cardTitle?: string;\n cardDescription?: string;\n cardSection?: string;\n avatar?: AvatarProps['classNames'];\n badge?: BadgeProps['classNames'];\n };\n}\n\nexport const KanbanCard = ({ data, classNames }: KanbanCardProps) => {\n return (\n <div\n className={cx(\n classNames?.card ?? kanbanCard(),\n classNames?.cardRoot ?? kanbanCardRoot(),\n )}\n >\n <p className={cx(classNames?.cardTitle ?? kanbanCardTitle())}>\n {data.title}\n </p>\n {data.content?.description && (\n <p\n className={cx(classNames?.cardDescription ?? kanbanCardDescription())}\n >\n {data.content.description}\n </p>\n )}\n <div className={classNames?.cardSection ?? kanbanCardSection()}>\n {data.content?.assignee && (\n <Avatar\n name={data.content?.assignee}\n classNames={{\n avatar: classNames?.avatar?.avatar ?? kanbanCardAvatar(),\n root: classNames?.avatar?.root ?? kanbanCardAvatarRoot(),\n image: classNames?.avatar?.image ?? kanbanCardAvatarImage(),\n placeholder:\n classNames?.avatar?.placeholder ??\n kanbanCardAvatarPlaceholder(),\n }}\n />\n )}\n {data.content?.priority && (\n <Badge\n classNames={{\n badge: classNames?.badge?.badge ?? kanbanCardBadge(),\n root:\n classNames?.badge?.root ??\n kanbanCardBadgeRoot({\n priority: getPriorityColor(data.content?.priority),\n }),\n section: classNames?.badge?.section ?? kanbanCardBadgeSection(),\n label: classNames?.badge?.label ?? kanbanCardBadgeLabel(),\n }}\n >\n {data.content?.priority}\n </Badge>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"ulBAmCA,MAAa,GAAc,CAAE,OAAM,gBAE/B,EAAC,MAAA,CACC,UAAW,EACT,GAAY,MAAQ,GAAY,CAChC,GAAY,UAAY,GAAgB,CACzC,WAED,EAAC,IAAA,CAAE,UAAW,EAAG,GAAY,WAAa,GAAiB,CAAC,UACzD,EAAK,OACJ,CACH,EAAK,SAAS,aACb,EAAC,IAAA,CACC,UAAW,EAAG,GAAY,iBAAmB,GAAuB,CAAC,UAEpE,EAAK,QAAQ,aACZ,CAEN,EAAC,MAAA,CAAI,UAAW,GAAY,aAAe,GAAmB,WAC3D,EAAK,SAAS,UACb,EAAC,EAAA,CACC,KAAM,EAAK,SAAS,SACpB,WAAY,CACV,OAAQ,GAAY,QAAQ,QAAU,GAAkB,CACxD,KAAM,GAAY,QAAQ,MAAQ,GAAsB,CACxD,MAAO,GAAY,QAAQ,OAAS,GAAuB,CAC3D,YACE,GAAY,QAAQ,aACpB,GAA6B,CAChC,EACD,CAEH,EAAK,SAAS,UACb,EAAC,EAAA,CACC,WAAY,CACV,MAAO,GAAY,OAAO,OAAS,GAAiB,CACpD,KACE,GAAY,OAAO,MACnB,EAAoB,CAClB,SAAU,EAAiB,EAAK,SAAS,SAAS,CACnD,CAAC,CACJ,QAAS,GAAY,OAAO,SAAW,GAAwB,CAC/D,MAAO,GAAY,OAAO,OAAS,GAAsB,CAC1D,UAEA,EAAK,SAAS,UACT,CAAA,EAEN,GACF"}
@@ -1,2 +1,2 @@
1
- import{Button as e}from"../../buttons/button/Button.mjs";import{TextInput as t}from"../../controls/text-input/TextInput.mjs";import{addCard as n,removeCardPlaceholder as r}from"./kanbanUtils.mjs";import{cx as i}from"@mage-ui/styled-system/css";import{kanbanCardAdder as a,kanbanCardAdderButtonAdd as o,kanbanCardAdderButtonAddInner as s,kanbanCardAdderButtonAddLabel as c,kanbanCardAdderButtonAddRoot as l,kanbanCardAdderButtonAddSection as u,kanbanCardAdderButtonCancel as d,kanbanCardAdderButtonCancelInner as f,kanbanCardAdderButtonCancelLabel as p,kanbanCardAdderButtonCancelRoot as m,kanbanCardAdderButtonCancelSection as h,kanbanCardAdderButtonWrapper as g,kanbanCardAdderRoot as _,kanbanCardAdderTextInput as v,kanbanCardAdderTextInputDescription as y,kanbanCardAdderTextInputError as b,kanbanCardAdderTextInputInput as x,kanbanCardAdderTextInputLabel as S,kanbanCardAdderTextInputRequired as C,kanbanCardAdderTextInputRoot as w,kanbanCardAdderTextInputSection as T,kanbanCardAdderTextInputWrapper as E}from"@mage-ui/styled-system/recipes";import{jsx as D,jsxs as O}from"react/jsx-runtime";import{useState as k}from"react";import{visuallyHidden as A}from"@mage-ui/styled-system/patterns";const j=({columnId:j,dataSource:M,setDataSource:N,inTop:P,inputLabel:F=`Task Title`,inputPlaceholder:I=`Enter task title`,addLabel:L=`Add Task`,cancelLabel:R=`Cancel`,classNames:z})=>{let[B,V]=k(``),H=e=>{N(r(e,M))},U=(e,t)=>{t.trim()&&N(n(e,M,t,P))};return O(`div`,{className:i(z?.cardAdder??a(),z?.root??_()),children:[D(t,{label:F,value:B,onChange:e=>V(e.currentTarget.value),placeholder:I,onKeyDown:e=>{e.key===`Enter`?U(j,B):e.key===`Escape`&&H(j)},classNames:{textInput:z?.textInput??v(),root:z?.root??w(),label:z?.label??i(S(),A()),description:z?.description??y(),error:z?.error??b(),wrapper:z?.wrapper??E(),input:z?.input??x(),section:z?.section??T(),required:z?.required??C()}}),O(`div`,{className:z?.buttonWrapper??g(),children:[D(e,{type:`button`,onClick:()=>H(j),classNames:{button:z?.cancelButton?.button??d(),root:z?.cancelButton?.root??m(),inner:z?.cancelButton?.inner??f(),label:z?.cancelButton?.label??p(),section:z?.cancelButton?.section??h()},children:R}),D(e,{type:`button`,onClick:()=>U(j,B),classNames:{button:z?.addButton?.button??o(),root:z?.addButton?.root??l(),inner:z?.addButton?.inner??s(),label:z?.addButton?.label??c(),section:z?.addButton?.section??u()},children:L})]})]})};export{j as KanbanCardAdder};
1
+ import{Button as e}from"../../buttons/button/Button.mjs";import{addCard as t,removeCardPlaceholder as n}from"./kanbanUtils.mjs";import{TextInput as r}from"../../controls/text-input/TextInput.mjs";import{cx as i}from"@mage-ui/styled-system/css";import{kanbanCardAdder as a,kanbanCardAdderButtonAdd as o,kanbanCardAdderButtonAddInner as s,kanbanCardAdderButtonAddLabel as c,kanbanCardAdderButtonAddRoot as l,kanbanCardAdderButtonAddSection as u,kanbanCardAdderButtonCancel as d,kanbanCardAdderButtonCancelInner as f,kanbanCardAdderButtonCancelLabel as p,kanbanCardAdderButtonCancelRoot as m,kanbanCardAdderButtonCancelSection as h,kanbanCardAdderButtonWrapper as g,kanbanCardAdderRoot as _,kanbanCardAdderTextInput as v,kanbanCardAdderTextInputDescription as y,kanbanCardAdderTextInputError as b,kanbanCardAdderTextInputInput as x,kanbanCardAdderTextInputLabel as S,kanbanCardAdderTextInputRequired as C,kanbanCardAdderTextInputRoot as w,kanbanCardAdderTextInputSection as T,kanbanCardAdderTextInputWrapper as E}from"@mage-ui/styled-system/recipes";import{jsx as D,jsxs as O}from"react/jsx-runtime";import{useState as k}from"react";import{visuallyHidden as A}from"@mage-ui/styled-system/patterns";const j=({columnId:j,dataSource:M,setDataSource:N,inTop:P,inputLabel:F=`Task Title`,inputPlaceholder:I=`Enter task title`,addLabel:L=`Add Task`,cancelLabel:R=`Cancel`,classNames:z})=>{let[B,V]=k(``),H=e=>{N(n(e,M))},U=(e,n)=>{n.trim()&&N(t(e,M,n,P))};return O(`div`,{className:i(z?.cardAdder??a(),z?.root??_()),children:[D(r,{label:F,value:B,onChange:e=>V(e.currentTarget.value),placeholder:I,onKeyDown:e=>{e.key===`Enter`?U(j,B):e.key===`Escape`&&H(j)},classNames:{textInput:z?.textInput??v(),root:z?.root??w(),label:z?.label??i(S(),A()),description:z?.description??y(),error:z?.error??b(),wrapper:z?.wrapper??E(),input:z?.input??x(),section:z?.section??T(),required:z?.required??C()}}),O(`div`,{className:z?.buttonWrapper??g(),children:[D(e,{type:`button`,onClick:()=>H(j),classNames:{button:z?.cancelButton?.button??d(),root:z?.cancelButton?.root??m(),inner:z?.cancelButton?.inner??f(),label:z?.cancelButton?.label??p(),section:z?.cancelButton?.section??h()},children:R}),D(e,{type:`button`,onClick:()=>U(j,B),classNames:{button:z?.addButton?.button??o(),root:z?.addButton?.root??l(),inner:z?.addButton?.inner??s(),label:z?.addButton?.label??c(),section:z?.addButton?.section??u()},children:L})]})]})};export{j as KanbanCardAdder};
2
2
  //# sourceMappingURL=KanbanCardAdder.mjs.map
@@ -1,2 +1,2 @@
1
- const e=e=>`add-card-${e}`,t=(t,n,r=!0)=>{let i=e(t);return n[t].children.includes(i)?n:{...n,[t]:{...n[t],totalChildrenCount:n[t].totalChildrenCount+1,children:r?[i,...n[t].children]:[...n[t].children,i]},[i]:{id:i,title:`Add card`,parentId:t,children:[],totalChildrenCount:0,type:`new-card`,isDraggable:!1,content:{inTop:r,id:i}}}},n=(t,n)=>{let r=e(t),i={...n};return delete i[r],{...i,[t]:{...n[t],totalChildrenCount:n[t].totalChildrenCount-1,children:n[t].children.filter(e=>e!==r)}}},r=(e,t,r,i=!0)=>{let a=`card-${crypto.randomUUID()}`,o=n(e,t);return{...o,[e]:{...o[e],totalChildrenCount:o[e].totalChildrenCount+1,children:i?[a,...o[e].children]:[...o[e].children,a]},[a]:{id:a,title:r,parentId:e,children:[],totalChildrenCount:0,type:`card`}}};export{r as addCard,t as addCardPlaceholder,e as getAddCardPlaceholderKey,n as removeCardPlaceholder};
1
+ const e=e=>`add-card-${e}`,t=(t,n,r=!0)=>{let i=e(t);return n[t].children.includes(i)?n:{...n,[t]:{...n[t],totalChildrenCount:n[t].totalChildrenCount+1,children:r?[i,...n[t].children]:[...n[t].children,i]},[i]:{id:i,title:`Add card`,parentId:t,children:[],totalChildrenCount:0,type:`new-card`,isDraggable:!1,content:{inTop:r,id:i}}}},n=(t,n)=>{let r=e(t),i={...n};return delete i[r],{...i,[t]:{...n[t],totalChildrenCount:n[t].totalChildrenCount-1,children:n[t].children.filter(e=>e!==r)}}},r=(e,t,r,i=!0)=>{let a=`card-${crypto.randomUUID()}`,o=n(e,t);return{...o,[e]:{...o[e],totalChildrenCount:o[e].totalChildrenCount+1,children:i?[a,...o[e].children]:[...o[e].children,a]},[a]:{id:a,title:r,parentId:e,children:[],totalChildrenCount:0,type:`card`}}},i=e=>e;export{r as addCard,t as addCardPlaceholder,e as getAddCardPlaceholderKey,i as getPriorityColor,n as removeCardPlaceholder};
2
2
  //# sourceMappingURL=kanbanUtils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"kanbanUtils.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/kanbanUtils.ts"],"sourcesContent":["import type { BoardData } from './Kanban';\n\nexport const getAddCardPlaceholderKey = (columnId: string) =>\n `add-card-${columnId}`;\n\nexport const addCardPlaceholder = (\n columnId: string,\n dataSource: BoardData,\n inTop = true,\n): BoardData => {\n const placeholderKey = getAddCardPlaceholderKey(columnId);\n const alreadyExists = dataSource[columnId].children.includes(placeholderKey);\n\n if (alreadyExists) return dataSource;\n\n return {\n ...dataSource,\n [columnId]: {\n ...dataSource[columnId],\n totalChildrenCount: dataSource[columnId].totalChildrenCount + 1,\n children: inTop\n ? [placeholderKey, ...dataSource[columnId].children]\n : [...dataSource[columnId].children, placeholderKey],\n },\n [placeholderKey]: {\n id: placeholderKey,\n title: 'Add card',\n parentId: columnId,\n children: [],\n totalChildrenCount: 0,\n type: 'new-card',\n isDraggable: false,\n content: {\n inTop,\n id: placeholderKey,\n },\n },\n } as BoardData;\n};\n\nexport const removeCardPlaceholder = (\n columnId: string,\n dataSource: BoardData,\n): BoardData => {\n const placeholderKey = getAddCardPlaceholderKey(columnId);\n const updated = { ...dataSource };\n delete updated[placeholderKey];\n return {\n ...updated,\n [columnId]: {\n ...dataSource[columnId],\n totalChildrenCount: dataSource[columnId].totalChildrenCount - 1,\n children: dataSource[columnId].children.filter(\n (id) => id !== placeholderKey,\n ),\n },\n };\n};\n\nexport const addCard = (\n columnId: string,\n dataSource: BoardData,\n title: string,\n inTop = true,\n): BoardData => {\n const newCardId = `card-${crypto.randomUUID()}`;\n const withoutPlaceholder = removeCardPlaceholder(columnId, dataSource);\n\n return {\n ...withoutPlaceholder,\n [columnId]: {\n ...withoutPlaceholder[columnId],\n totalChildrenCount: withoutPlaceholder[columnId].totalChildrenCount + 1,\n children: inTop\n ? [newCardId, ...withoutPlaceholder[columnId].children]\n : [...withoutPlaceholder[columnId].children, newCardId],\n },\n [newCardId]: {\n id: newCardId,\n title,\n parentId: columnId,\n children: [],\n totalChildrenCount: 0,\n type: 'card',\n },\n } as BoardData;\n};\n"],"mappings":"AAEA,MAAa,EAA4B,GACvC,YAAY,IAED,GACX,EACA,EACA,EAAQ,KACM,CACd,IAAM,EAAiB,EAAyB,EAAS,CAKzD,OAJsB,EAAW,GAAU,SAAS,SAAS,EAAe,CAElD,EAEnB,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAW,GACd,mBAAoB,EAAW,GAAU,mBAAqB,EAC9D,SAAU,EACN,CAAC,EAAgB,GAAG,EAAW,GAAU,SAAS,CAClD,CAAC,GAAG,EAAW,GAAU,SAAU,EAAe,CACvD,EACA,GAAiB,CAChB,GAAI,EACJ,MAAO,WACP,SAAU,EACV,SAAU,EAAE,CACZ,mBAAoB,EACpB,KAAM,WACN,YAAa,GACb,QAAS,CACP,QACA,GAAI,EACL,CACF,CACF,EAGU,GACX,EACA,IACc,CACd,IAAM,EAAiB,EAAyB,EAAS,CACnD,EAAU,CAAE,GAAG,EAAY,CAEjC,OADA,OAAO,EAAQ,GACR,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAW,GACd,mBAAoB,EAAW,GAAU,mBAAqB,EAC9D,SAAU,EAAW,GAAU,SAAS,OACrC,GAAO,IAAO,EAChB,CACF,CACF,EAGU,GACX,EACA,EACA,EACA,EAAQ,KACM,CACd,IAAM,EAAY,QAAQ,OAAO,YAAY,GACvC,EAAqB,EAAsB,EAAU,EAAW,CAEtE,MAAO,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAmB,GACtB,mBAAoB,EAAmB,GAAU,mBAAqB,EACtE,SAAU,EACN,CAAC,EAAW,GAAG,EAAmB,GAAU,SAAS,CACrD,CAAC,GAAG,EAAmB,GAAU,SAAU,EAAU,CAC1D,EACA,GAAY,CACX,GAAI,EACJ,QACA,SAAU,EACV,SAAU,EAAE,CACZ,mBAAoB,EACpB,KAAM,OACP,CACF"}
1
+ {"version":3,"file":"kanbanUtils.mjs","names":[],"sources":["../../../../src/components/data-display/kanban/kanbanUtils.ts"],"sourcesContent":["import type { KanbanCardBadgeRootVariantProps } from '@mage-ui/styled-system/recipes';\n\nimport type { BoardData } from './Kanban';\n\nexport type KanbanPriorityColor = NonNullable<\n KanbanCardBadgeRootVariantProps['priority']\n>;\n\nexport const getAddCardPlaceholderKey = (columnId: string) =>\n `add-card-${columnId}`;\n\nexport const addCardPlaceholder = (\n columnId: string,\n dataSource: BoardData,\n inTop = true,\n): BoardData => {\n const placeholderKey = getAddCardPlaceholderKey(columnId);\n const alreadyExists = dataSource[columnId].children.includes(placeholderKey);\n\n if (alreadyExists) return dataSource;\n\n return {\n ...dataSource,\n [columnId]: {\n ...dataSource[columnId],\n totalChildrenCount: dataSource[columnId].totalChildrenCount + 1,\n children: inTop\n ? [placeholderKey, ...dataSource[columnId].children]\n : [...dataSource[columnId].children, placeholderKey],\n },\n [placeholderKey]: {\n id: placeholderKey,\n title: 'Add card',\n parentId: columnId,\n children: [],\n totalChildrenCount: 0,\n type: 'new-card',\n isDraggable: false,\n content: {\n inTop,\n id: placeholderKey,\n },\n },\n } as BoardData;\n};\n\nexport const removeCardPlaceholder = (\n columnId: string,\n dataSource: BoardData,\n): BoardData => {\n const placeholderKey = getAddCardPlaceholderKey(columnId);\n const updated = { ...dataSource };\n delete updated[placeholderKey];\n return {\n ...updated,\n [columnId]: {\n ...dataSource[columnId],\n totalChildrenCount: dataSource[columnId].totalChildrenCount - 1,\n children: dataSource[columnId].children.filter(\n (id) => id !== placeholderKey,\n ),\n },\n };\n};\n\nexport const addCard = (\n columnId: string,\n dataSource: BoardData,\n title: string,\n inTop = true,\n): BoardData => {\n const newCardId = `card-${crypto.randomUUID()}`;\n const withoutPlaceholder = removeCardPlaceholder(columnId, dataSource);\n\n return {\n ...withoutPlaceholder,\n [columnId]: {\n ...withoutPlaceholder[columnId],\n totalChildrenCount: withoutPlaceholder[columnId].totalChildrenCount + 1,\n children: inTop\n ? [newCardId, ...withoutPlaceholder[columnId].children]\n : [...withoutPlaceholder[columnId].children, newCardId],\n },\n [newCardId]: {\n id: newCardId,\n title,\n parentId: columnId,\n children: [],\n totalChildrenCount: 0,\n type: 'card',\n },\n } as BoardData;\n};\n\nexport const getPriorityColor = (priority?: string) =>\n priority as KanbanPriorityColor;\n"],"mappings":"AAQA,MAAa,EAA4B,GACvC,YAAY,IAED,GACX,EACA,EACA,EAAQ,KACM,CACd,IAAM,EAAiB,EAAyB,EAAS,CAKzD,OAJsB,EAAW,GAAU,SAAS,SAAS,EAAe,CAElD,EAEnB,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAW,GACd,mBAAoB,EAAW,GAAU,mBAAqB,EAC9D,SAAU,EACN,CAAC,EAAgB,GAAG,EAAW,GAAU,SAAS,CAClD,CAAC,GAAG,EAAW,GAAU,SAAU,EAAe,CACvD,EACA,GAAiB,CAChB,GAAI,EACJ,MAAO,WACP,SAAU,EACV,SAAU,EAAE,CACZ,mBAAoB,EACpB,KAAM,WACN,YAAa,GACb,QAAS,CACP,QACA,GAAI,EACL,CACF,CACF,EAGU,GACX,EACA,IACc,CACd,IAAM,EAAiB,EAAyB,EAAS,CACnD,EAAU,CAAE,GAAG,EAAY,CAEjC,OADA,OAAO,EAAQ,GACR,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAW,GACd,mBAAoB,EAAW,GAAU,mBAAqB,EAC9D,SAAU,EAAW,GAAU,SAAS,OACrC,GAAO,IAAO,EAChB,CACF,CACF,EAGU,GACX,EACA,EACA,EACA,EAAQ,KACM,CACd,IAAM,EAAY,QAAQ,OAAO,YAAY,GACvC,EAAqB,EAAsB,EAAU,EAAW,CAEtE,MAAO,CACL,GAAG,GACF,GAAW,CACV,GAAG,EAAmB,GACtB,mBAAoB,EAAmB,GAAU,mBAAqB,EACtE,SAAU,EACN,CAAC,EAAW,GAAG,EAAmB,GAAU,SAAS,CACrD,CAAC,GAAG,EAAmB,GAAU,SAAU,EAAU,CAC1D,EACA,GAAY,CACX,GAAI,EACJ,QACA,SAAU,EACV,SAAU,EAAE,CACZ,mBAAoB,EACpB,KAAM,OACP,CACF,EAGU,EAAoB,GAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mage-ui/components",
3
- "version": "1.0.68",
3
+ "version": "1.0.69",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [],
@@ -25,8 +25,8 @@
25
25
  "rimraf": "^6.1.3",
26
26
  "tsdown": "^0.20.3",
27
27
  "typescript": "^5.9.3",
28
- "@mage-ui/styled-system": "1.0.8",
29
- "@mage-ui/preset": "1.0.68"
28
+ "@mage-ui/preset": "1.0.69",
29
+ "@mage-ui/styled-system": "1.0.8"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@ebay/nice-modal-react": "^1.2.13",