@atom-learning/components 3.7.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +5 -8
  2. package/dist/components/checkbox/Checkbox.js +1 -1
  3. package/dist/components/checkbox/Checkbox.js.map +1 -1
  4. package/dist/components/checkbox-group/CheckboxGroup.context.d.ts +2 -0
  5. package/dist/components/checkbox-group/CheckboxGroup.d.ts +1273 -0
  6. package/dist/components/checkbox-group/CheckboxGroup.js +2 -0
  7. package/dist/components/checkbox-group/CheckboxGroup.js.map +1 -0
  8. package/dist/components/checkbox-group/CheckboxGroup.types.d.ts +3 -0
  9. package/dist/components/checkbox-group/CheckboxGroupAllItem.d.ts +5 -0
  10. package/dist/components/checkbox-group/CheckboxGroupAllItem.js +2 -0
  11. package/dist/components/checkbox-group/CheckboxGroupAllItem.js.map +1 -0
  12. package/dist/components/checkbox-group/CheckboxGroupItem.d.ts +7 -0
  13. package/dist/components/checkbox-group/CheckboxGroupItem.js +2 -0
  14. package/dist/components/checkbox-group/CheckboxGroupItem.js.map +1 -0
  15. package/dist/components/checkbox-group/CheckboxGroupSub.d.ts +7 -0
  16. package/dist/components/checkbox-group/CheckboxGroupSub.js +2 -0
  17. package/dist/components/checkbox-group/CheckboxGroupSub.js.map +1 -0
  18. package/dist/components/checkbox-group/context/CheckboxGroupChecked.context.d.ts +14 -0
  19. package/dist/components/checkbox-group/context/CheckboxGroupChecked.context.js +2 -0
  20. package/dist/components/checkbox-group/context/CheckboxGroupChecked.context.js.map +1 -0
  21. package/dist/components/checkbox-group/context/CheckboxGroupMounted.context.d.ts +9 -0
  22. package/dist/components/checkbox-group/context/CheckboxGroupMounted.context.js +2 -0
  23. package/dist/components/checkbox-group/context/CheckboxGroupMounted.context.js.map +1 -0
  24. package/dist/components/checkbox-group/index.d.ts +1 -0
  25. package/dist/components/checkbox-tree/CheckboxTree.d.ts +2538 -0
  26. package/dist/components/checkbox-tree/CheckboxTree.js +2 -0
  27. package/dist/components/checkbox-tree/CheckboxTree.js.map +1 -0
  28. package/dist/components/checkbox-tree/CheckboxTreeCollapsible.d.ts +6 -0
  29. package/dist/components/checkbox-tree/CheckboxTreeCollapsible.js +2 -0
  30. package/dist/components/checkbox-tree/CheckboxTreeCollapsible.js.map +1 -0
  31. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.d.ts +5 -0
  32. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.js +2 -0
  33. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleContent.js.map +1 -0
  34. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleTrigger.d.ts +6 -0
  35. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleTrigger.js +2 -0
  36. package/dist/components/checkbox-tree/CheckboxTreeCollapsibleTrigger.js.map +1 -0
  37. package/dist/components/checkbox-tree/CheckboxTreeItem.d.ts +6 -0
  38. package/dist/components/checkbox-tree/CheckboxTreeItem.js +2 -0
  39. package/dist/components/checkbox-tree/CheckboxTreeItem.js.map +1 -0
  40. package/dist/components/checkbox-tree/CheckboxTreeItemContent.d.ts +5 -0
  41. package/dist/components/checkbox-tree/CheckboxTreeItemContent.js +2 -0
  42. package/dist/components/checkbox-tree/CheckboxTreeItemContent.js.map +1 -0
  43. package/dist/components/checkbox-tree/index.d.ts +1 -0
  44. package/dist/components/index.d.ts +2 -0
  45. package/dist/components/pagination/PaginationPopover.js +1 -1
  46. package/dist/components/pagination/PaginationPopover.js.map +1 -1
  47. package/dist/components/tree/TreeCollapsibleTrigger.js +1 -1
  48. package/dist/components/tree/TreeCollapsibleTrigger.js.map +1 -1
  49. package/dist/components/tree/TreeListItem.js +1 -1
  50. package/dist/components/tree/TreeListItem.js.map +1 -1
  51. package/dist/docgen.json +1 -1
  52. package/dist/index.cjs.js +1 -1
  53. package/dist/index.cjs.js.map +1 -1
  54. package/dist/index.js +1 -1
  55. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ import{Slot as h}from"@radix-ui/react-slot";import*as e from"react";import{styled as p}from"../../stitches.js";import{Box as l}from"../box/Box.js";import{CheckboxGroupMountedProvider as d}from"./context/CheckboxGroupMounted.context.js";import{CheckboxGroupCheckedProvider as C}from"./context/CheckboxGroupChecked.context.js";import{CheckboxGroupAllItem as i}from"./CheckboxGroupAllItem.js";import{CheckboxGroupItem as k}from"./CheckboxGroupItem.js";import{CheckboxGroupSub as n}from"./CheckboxGroupSub.js";const u=p(h),f=({checked:o,defaultChecked:r,onCheckedChange:t,asChild:m=!1,...c})=>e.createElement(C,{checked:o,defaultChecked:r,onCheckedChange:t},e.createElement(d,null,e.createElement(m?u:l,{...c}))),a=Object.assign(f,{Item:k,AllItem:i,Sub:n});export{a as CheckboxGroup};
2
+ //# sourceMappingURL=CheckboxGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroup.js","sources":["../../../src/components/checkbox-group/CheckboxGroup.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { Box } from '../box'\nimport {\n CheckboxGroupCheckedProvider,\n CheckboxGroupMountedProvider\n} from './CheckboxGroup.context'\nimport type { CheckboxGroupItemValue } from './CheckboxGroup.types'\nimport { CheckboxGroupAllItem } from './CheckboxGroupAllItem'\nimport { CheckboxGroupItem } from './CheckboxGroupItem'\nimport { CheckboxGroupSub } from './CheckboxGroupSub'\n\ntype CheckboxGroupRootProps = React.ComponentProps<typeof Box> & {\n checked?: CheckboxGroupItemValue[]\n onCheckedChange?: (checked: CheckboxGroupItemValue[]) => void\n defaultChecked?: CheckboxGroupItemValue[]\n asChild?: boolean\n}\n\nconst StyledSlot = styled(Slot)\n\nconst CheckboxGroupRoot = ({\n checked,\n defaultChecked,\n onCheckedChange,\n asChild = false,\n ...rest\n}: CheckboxGroupRootProps) => {\n const Component = asChild ? StyledSlot : Box\n\n return (\n <CheckboxGroupCheckedProvider\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n >\n <CheckboxGroupMountedProvider>\n <Component {...rest} />\n </CheckboxGroupMountedProvider>\n </CheckboxGroupCheckedProvider>\n )\n}\n\nexport const CheckboxGroup = Object.assign(CheckboxGroupRoot, {\n Item: CheckboxGroupItem,\n AllItem: CheckboxGroupAllItem,\n Sub: CheckboxGroupSub\n})\n"],"names":["StyledSlot","styled","Slot","CheckboxGroupRoot","checked","defaultChecked","onCheckedChange","asChild","rest","React","CheckboxGroupCheckedProvider","CheckboxGroupMountedProvider","Box","CheckboxGroup","CheckboxGroupItem","CheckboxGroupAllItem","CheckboxGroupSub"],"mappings":"0fAsBA,MAAMA,EAAaC,EAAOC,CAAI,EAExBC,EAAoB,CAAC,CACzB,QAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,QAAAC,EAAU,MACPC,CACL,IAIIC,EAAA,cAACC,EAAA,CACC,QAASN,EACT,eAAgBC,EAChB,gBAAiBC,CAAAA,EAEjBG,EAAA,cAACE,EAAA,KACCF,EAAA,cATYF,EAAUP,EAAaY,EASlC,CAAW,GAAGJ,EAAM,CACvB,CACF,EAISK,EAAgB,OAAO,OAAOV,EAAmB,CAC5D,KAAMW,EACN,QAASC,EACT,IAAKC,CACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { Checkbox } from '../checkbox';
3
+ export declare type CheckboxGroupItemValue = React.ComponentProps<typeof Checkbox>['value'];
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import { Checkbox } from '../checkbox';
3
+ declare type CheckboxGroupAllItemProps = Omit<React.ComponentProps<typeof Checkbox>, 'checked' | 'defaultChecked'>;
4
+ export declare const CheckboxGroupAllItem: ({ onCheckedChange, title, ...rest }: CheckboxGroupAllItemProps) => JSX.Element;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ import*as t from"react";import{Checkbox as u}from"../checkbox/Checkbox.js";import{CheckboxGroupMountedContext as i}from"./context/CheckboxGroupMounted.context.js";import{CheckboxGroupCheckedContext as k}from"./context/CheckboxGroupChecked.context.js";const a=({onCheckedChange:n,title:r="all",...h})=>{const{checked:c,handleItemCheckedChange:C}=t.useContext(k),{mounted:o}=t.useContext(i),m=e=>{o.forEach(d=>{C(e,d)}),n==null||n(e)},l=(()=>o.every(e=>c.includes(e))?!0:o.some(e=>c.includes(e))?"indeterminate":!1)();return t.createElement(u,{onCheckedChange:m,checked:l,title:r,...h})};export{a as CheckboxGroupAllItem};
2
+ //# sourceMappingURL=CheckboxGroupAllItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupAllItem.js","sources":["../../../src/components/checkbox-group/CheckboxGroupAllItem.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Checkbox } from '../checkbox'\nimport {\n CheckboxGroupCheckedContext,\n CheckboxGroupMountedContext\n} from './CheckboxGroup.context'\n\ntype CheckboxGroupAllItemProps = Omit<\n React.ComponentProps<typeof Checkbox>,\n 'checked' | 'defaultChecked'\n>\n\nexport const CheckboxGroupAllItem = ({\n onCheckedChange,\n title = 'all',\n ...rest\n}: CheckboxGroupAllItemProps): JSX.Element => {\n const {\n checked: checkedItems,\n handleItemCheckedChange: handleItemCheckedChangeContext\n } = React.useContext(CheckboxGroupCheckedContext)\n const { mounted: mountedItems } = React.useContext(\n CheckboxGroupMountedContext\n )\n\n const handleItemCheckedChange = (newChecked) => {\n mountedItems.forEach((value) => {\n handleItemCheckedChangeContext(newChecked, value)\n })\n onCheckedChange?.(newChecked)\n }\n\n const isAllChecked = (() => {\n if (mountedItems.every((mountedItem) => checkedItems.includes(mountedItem)))\n return true\n\n if (mountedItems.some((mountedItem) => checkedItems.includes(mountedItem)))\n return 'indeterminate'\n\n return false\n })()\n\n return (\n <Checkbox\n onCheckedChange={handleItemCheckedChange}\n checked={isAllChecked}\n title={title}\n {...rest}\n />\n )\n}\n"],"names":["CheckboxGroupAllItem","onCheckedChange","title","rest","checkedItems","handleItemCheckedChangeContext","React","CheckboxGroupCheckedContext","mountedItems","CheckboxGroupMountedContext","handleItemCheckedChange","newChecked","value","isAllChecked","mountedItem","Checkbox"],"mappings":"2PAaO,MAAMA,EAAuB,CAAC,CACnC,gBAAAC,EACA,MAAAC,EAAQ,SACLC,CACL,IAA8C,CAC5C,KAAM,CACJ,QAASC,EACT,wBAAyBC,CAC3B,EAAIC,EAAM,WAAWC,CAA2B,EAC1C,CAAE,QAASC,CAAa,EAAIF,EAAM,WACtCG,CACF,EAEMC,EAA2BC,GAAe,CAC9CH,EAAa,QAASI,GAAU,CAC9BP,EAA+BM,EAAYC,CAAK,CAClD,CAAC,EACDX,GAAA,MAAAA,EAAkBU,CAAAA,CACpB,EAEME,GAAgB,IAChBL,EAAa,MAAOM,GAAgBV,EAAa,SAASU,CAAW,CAAC,EACjE,GAELN,EAAa,KAAMM,GAAgBV,EAAa,SAASU,CAAW,CAAC,EAChE,gBAEF,MAGT,OACER,EAAA,cAACS,EAAA,CACC,gBAAiBL,EACjB,QAASG,EACT,MAAOX,EACN,GAAGC,CAAAA,CACN,CAEJ"}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { Checkbox } from '../checkbox';
3
+ declare type CheckboxGroupItemProps = Omit<React.ComponentProps<typeof Checkbox>, 'onCheckedChange' | 'checked' | 'defaultChecked'> & {
4
+ onCheckedChange?: (newChecked: boolean) => void;
5
+ };
6
+ export declare const CheckboxGroupItem: ({ value, title, onCheckedChange, ...rest }: CheckboxGroupItemProps) => JSX.Element;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import*as t from"react";import{Checkbox as d}from"../checkbox/Checkbox.js";import{CheckboxGroupMountedContext as l}from"./context/CheckboxGroupMounted.context.js";import{CheckboxGroupCheckedContext as k}from"./context/CheckboxGroupChecked.context.js";const a=({value:e,title:n,onCheckedChange:C,...r})=>{const{checked:h,handleItemCheckedChange:m}=t.useContext(k),{handleItemMountedChange:o}=t.useContext(l),u=c=>{m(c,e),C==null||C(c)};return t.useEffect(()=>(o(!0,e),()=>{o(!1,e)}),[o,e]),t.createElement(d,{onCheckedChange:u,checked:h.includes(e),title:n!=null?n:String(e),...r})};export{a as CheckboxGroupItem};
2
+ //# sourceMappingURL=CheckboxGroupItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupItem.js","sources":["../../../src/components/checkbox-group/CheckboxGroupItem.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Checkbox } from '../checkbox'\nimport {\n CheckboxGroupCheckedContext,\n CheckboxGroupMountedContext\n} from './CheckboxGroup.context'\n\ntype CheckboxGroupItemProps = Omit<\n React.ComponentProps<typeof Checkbox>,\n 'onCheckedChange' | 'checked' | 'defaultChecked'\n> & {\n onCheckedChange?: (newChecked: boolean) => void\n}\n\nexport const CheckboxGroupItem = ({\n value,\n title,\n onCheckedChange,\n ...rest\n}: CheckboxGroupItemProps): JSX.Element => {\n const {\n checked: checkedItems,\n handleItemCheckedChange: handleItemCheckedChangeContext\n } = React.useContext(CheckboxGroupCheckedContext)\n const { handleItemMountedChange } = React.useContext(\n CheckboxGroupMountedContext\n )\n\n const handleItemCheckedChange = (newChecked) => {\n handleItemCheckedChangeContext(newChecked, value)\n onCheckedChange?.(newChecked)\n }\n\n React.useEffect(() => {\n handleItemMountedChange(true, value)\n return () => {\n handleItemMountedChange(false, value)\n }\n }, [handleItemMountedChange, value])\n\n return (\n <Checkbox\n onCheckedChange={handleItemCheckedChange}\n checked={checkedItems.includes(value)}\n title={title ?? String(value)}\n {...rest}\n />\n )\n}\n"],"names":["CheckboxGroupItem","value","title","onCheckedChange","rest","checkedItems","handleItemCheckedChangeContext","React","CheckboxGroupCheckedContext","handleItemMountedChange","CheckboxGroupMountedContext","handleItemCheckedChange","newChecked","Checkbox"],"mappings":"2PAeO,MAAMA,EAAoB,CAAC,CAChC,MAAAC,EACA,MAAAC,EACA,gBAAAC,KACGC,CACL,IAA2C,CACzC,KAAM,CACJ,QAASC,EACT,wBAAyBC,CAC3B,EAAIC,EAAM,WAAWC,CAA2B,EAC1C,CAAE,wBAAAC,CAAwB,EAAIF,EAAM,WACxCG,CACF,EAEMC,EAA2BC,GAAe,CAC9CN,EAA+BM,EAAYX,CAAK,EAChDE,GAAA,MAAAA,EAAkBS,EACpB,EAEA,OAAAL,EAAM,UAAU,KACdE,EAAwB,GAAMR,CAAK,EAC5B,IAAM,CACXQ,EAAwB,GAAOR,CAAK,CACtC,GACC,CAACQ,EAAyBR,CAAK,CAAC,EAGjCM,EAAA,cAACM,EAAA,CACC,gBAAiBF,EACjB,QAASN,EAAa,SAASJ,CAAK,EACpC,MAAOC,GAAA,KAAAA,EAAS,OAAOD,CAAK,EAC3B,GAAGG,CAAAA,CACN,CAEJ"}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { Box } from '../box';
3
+ declare type CheckboxGroupSubProps = React.ComponentProps<typeof Box> & {
4
+ asChild?: boolean;
5
+ };
6
+ export declare const CheckboxGroupSub: ({ asChild, ...rest }: CheckboxGroupSubProps) => JSX.Element;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import{Slot as e}from"@radix-ui/react-slot";import*as o from"react";import{styled as m}from"../../stitches.js";import{Box as p}from"../box/Box.js";import{CheckboxGroupMountedProvider as i}from"./context/CheckboxGroupMounted.context.js";import"./context/CheckboxGroupChecked.context.js";const l=m(e),c=({asChild:r=!1,...t})=>o.createElement(i,null,o.createElement(r?l:p,{...t}));export{c as CheckboxGroupSub};
2
+ //# sourceMappingURL=CheckboxGroupSub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupSub.js","sources":["../../../src/components/checkbox-group/CheckboxGroupSub.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\nimport * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { Box } from '../box'\nimport { CheckboxGroupMountedProvider } from './CheckboxGroup.context'\n\ntype CheckboxGroupSubProps = React.ComponentProps<typeof Box> & {\n asChild?: boolean\n}\nconst StyledSlot = styled(Slot)\n\nexport const CheckboxGroupSub = ({\n asChild = false,\n ...rest\n}: CheckboxGroupSubProps): JSX.Element => {\n const Component = asChild ? StyledSlot : Box\n\n return (\n <CheckboxGroupMountedProvider>\n <Component {...rest} />\n </CheckboxGroupMountedProvider>\n )\n}\n"],"names":["StyledSlot","styled","Slot","CheckboxGroupSub","asChild","rest","React","CheckboxGroupMountedProvider","Box"],"mappings":"8RAWA,MAAMA,EAAaC,EAAOC,CAAI,EAEjBC,EAAmB,CAAC,CAC/B,QAAAC,EAAU,MACPC,CACL,IAIIC,EAAA,cAACC,EAAA,KACCD,EAAA,cAJcF,EAAUJ,EAAaQ,EAIpC,CAAW,GAAGH,EAAM,CACvB"}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import type { CheckboxGroupItemValue } from '../CheckboxGroup.types';
3
+ declare type CheckboxGroupCheckedContextValue = {
4
+ checked: CheckboxGroupItemValue[];
5
+ handleItemCheckedChange: (newItemChecked: boolean, itemValue: CheckboxGroupItemValue) => void;
6
+ };
7
+ declare type CheckboxGroupCheckedContextProps = {
8
+ checked?: CheckboxGroupCheckedContextValue['checked'];
9
+ defaultChecked?: CheckboxGroupCheckedContextValue['checked'];
10
+ onCheckedChange?: (checked: CheckboxGroupCheckedContextValue['checked']) => void;
11
+ };
12
+ export declare const CheckboxGroupCheckedContext: React.Context<CheckboxGroupCheckedContextValue>;
13
+ export declare const CheckboxGroupCheckedProvider: React.FC<CheckboxGroupCheckedContextProps>;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ import*as n from"react";const C=n.createContext({checked:[],handleItemCheckedChange:()=>null}),k=t=>(c,e)=>{const o=new Set(t);return c?o.add(e):o.delete(e),Array.from(o)},i=({checked:t,defaultChecked:c=[],onCheckedChange:e,...o})=>{const[u,m]=n.useState(c),d=n.useCallback((r,a)=>{if(!t)return()=>null;const l=k(t)(r,a);e==null||e(l)},[e,t]),h=n.useCallback((r,a)=>{m(l=>{const s=k(l)(r,a);return e==null||e(s),s})},[e]),x=n.useMemo(()=>{const r=Array.isArray(t);return{checked:r?t:u,handleItemCheckedChange:r?d:h}},[u,h,d,t]);return n.createElement(C.Provider,{value:x,...o})};export{C as CheckboxGroupCheckedContext,i as CheckboxGroupCheckedProvider};
2
+ //# sourceMappingURL=CheckboxGroupChecked.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupChecked.context.js","sources":["../../../../src/components/checkbox-group/context/CheckboxGroupChecked.context.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { CheckboxGroupItemValue } from '../CheckboxGroup.types'\n\ntype CheckboxGroupCheckedContextValue = {\n checked: CheckboxGroupItemValue[]\n handleItemCheckedChange: (\n newItemChecked: boolean,\n itemValue: CheckboxGroupItemValue\n ) => void\n}\n\ntype CheckboxGroupCheckedContextProps = {\n checked?: CheckboxGroupCheckedContextValue['checked']\n defaultChecked?: CheckboxGroupCheckedContextValue['checked']\n onCheckedChange?: (\n checked: CheckboxGroupCheckedContextValue['checked']\n ) => void\n}\n\nexport const CheckboxGroupCheckedContext =\n React.createContext<CheckboxGroupCheckedContextValue>({\n checked: [],\n handleItemCheckedChange: () => null\n })\n\nconst generateNewCheckedFn = (\n currentChecked: CheckboxGroupCheckedContextValue['checked']\n) => {\n return (newItemChecked, itemValue) => {\n const newCheckedSet = new Set(currentChecked)\n newItemChecked\n ? newCheckedSet.add(itemValue)\n : newCheckedSet.delete(itemValue)\n const newChecked = Array.from(newCheckedSet)\n return newChecked\n }\n}\n\nexport const CheckboxGroupCheckedProvider: React.FC<\n CheckboxGroupCheckedContextProps\n> = ({\n checked: controlledChecked,\n defaultChecked = [],\n onCheckedChange,\n ...rest\n}) => {\n const [checked, setChecked] = React.useState(defaultChecked)\n\n const handleItemControlledCheckedChange = React.useCallback(\n (newItemChecked, itemValue) => {\n if (!controlledChecked) return () => null\n const newCheckedFn = generateNewCheckedFn(controlledChecked)\n const newChecked = newCheckedFn(newItemChecked, itemValue)\n onCheckedChange?.(newChecked)\n },\n [onCheckedChange, controlledChecked]\n )\n\n const handleItemCheckedChange = React.useCallback(\n (newItemChecked, itemValue) => {\n setChecked((prevChecked) => {\n const newCheckedFn = generateNewCheckedFn(prevChecked)\n const newChecked = newCheckedFn(newItemChecked, itemValue)\n onCheckedChange?.(newChecked)\n return newChecked\n })\n },\n [onCheckedChange]\n )\n\n const value = React.useMemo<CheckboxGroupCheckedContextValue>(() => {\n const isControlled = Array.isArray(controlledChecked)\n return {\n checked: isControlled\n ? (controlledChecked as CheckboxGroupCheckedContextValue['checked']) // We're literally JUST checking it above but TS still flags it, wrongly, so casting\n : checked,\n handleItemCheckedChange: isControlled\n ? handleItemControlledCheckedChange\n : handleItemCheckedChange\n }\n }, [\n checked,\n handleItemCheckedChange,\n handleItemControlledCheckedChange,\n controlledChecked\n ])\n\n return <CheckboxGroupCheckedContext.Provider value={value} {...rest} />\n}\n"],"names":["CheckboxGroupCheckedContext","React","generateNewCheckedFn","currentChecked","newItemChecked","itemValue","newCheckedSet","CheckboxGroupCheckedProvider","controlledChecked","defaultChecked","onCheckedChange","rest","checked","setChecked","handleItemControlledCheckedChange","newChecked","handleItemCheckedChange","prevChecked","value","isControlled"],"mappings":"wBAoBO,MAAMA,EACXC,EAAM,cAAgD,CACpD,QAAS,CAAA,EACT,wBAAyB,IAAM,IACjC,CAAC,EAEGC,EACJC,GAEO,CAACC,EAAgBC,IAAc,CACpC,MAAMC,EAAgB,IAAI,IAAIH,CAAc,EAC5C,OAAAC,EACIE,EAAc,IAAID,CAAS,EAC3BC,EAAc,OAAOD,CAAS,EACf,MAAM,KAAKC,CAAa,CAE7C,EAGWC,EAET,CAAC,CACH,QAASC,EACT,eAAAC,EAAiB,CAAC,EAClB,gBAAAC,KACGC,CACL,IAAM,CACJ,KAAM,CAACC,EAASC,CAAU,EAAIZ,EAAM,SAASQ,CAAc,EAErDK,EAAoCb,EAAM,YAC9C,CAACG,EAAgBC,IAAc,CAC7B,GAAI,CAACG,EAAmB,MAAO,IAAM,KAErC,MAAMO,EADeb,EAAqBM,CAAiB,EAC3BJ,EAAgBC,CAAS,EACzDK,GAAA,MAAAA,EAAkBK,EACpB,EACA,CAACL,EAAiBF,CAAiB,CACrC,EAEMQ,EAA0Bf,EAAM,YACpC,CAACG,EAAgBC,IAAc,CAC7BQ,EAAYI,GAAgB,CAE1B,MAAMF,EADeb,EAAqBe,CAAW,EACrBb,EAAgBC,CAAS,EACzD,OAAAK,GAAA,MAAAA,EAAkBK,CAAAA,EACXA,CACT,CAAC,CACH,EACA,CAACL,CAAe,CAClB,EAEMQ,EAAQjB,EAAM,QAA0C,IAAM,CAClE,MAAMkB,EAAe,MAAM,QAAQX,CAAiB,EACpD,MAAO,CACL,QAASW,EACJX,EACDI,EACJ,wBAAyBO,EACrBL,EACAE,CACN,CACF,EAAG,CACDJ,EACAI,EACAF,EACAN,CACF,CAAC,EAED,OAAOP,EAAA,cAACD,EAA4B,SAA5B,CAAqC,MAAOkB,EAAQ,GAAGP,EAAM,CACvE"}
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import type { CheckboxGroupItemValue } from '../CheckboxGroup.types';
3
+ declare type CheckboxGroupMountedContextValue = {
4
+ mounted: CheckboxGroupItemValue[];
5
+ handleItemMountedChange: (newItemMounted: boolean, itemValue: CheckboxGroupItemValue) => void;
6
+ };
7
+ export declare const CheckboxGroupMountedContext: React.Context<CheckboxGroupMountedContextValue>;
8
+ export declare const CheckboxGroupMountedProvider: (props: any) => JSX.Element;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ import*as e from"react";const r=e.createContext({mounted:[],handleItemMountedChange:()=>null}),h=l=>{const{handleItemMountedChange:t}=e.useContext(r),[u,m]=e.useState([]),a=e.useCallback((d,n)=>{t==null||t(d,n),m(c=>{const o=new Set(c);return d?o.add(n):o.delete(n),Array.from(o)})},[t]),C=e.useMemo(()=>({mounted:u,handleItemMountedChange:a}),[u,a]);return e.createElement(r.Provider,{value:C,...l})};export{r as CheckboxGroupMountedContext,h as CheckboxGroupMountedProvider};
2
+ //# sourceMappingURL=CheckboxGroupMounted.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupMounted.context.js","sources":["../../../../src/components/checkbox-group/context/CheckboxGroupMounted.context.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { CheckboxGroupItemValue } from '../CheckboxGroup.types'\n\ntype CheckboxGroupMountedContextValue = {\n mounted: CheckboxGroupItemValue[]\n handleItemMountedChange: (\n newItemMounted: boolean,\n itemValue: CheckboxGroupItemValue\n ) => void\n}\n\nexport const CheckboxGroupMountedContext =\n React.createContext<CheckboxGroupMountedContextValue>({\n mounted: [],\n handleItemMountedChange: () => null\n })\n\nexport const CheckboxGroupMountedProvider = (props) => {\n const { handleItemMountedChange: handleItemMountedChangeFurtherUpContext } =\n React.useContext(CheckboxGroupMountedContext)\n\n const [mounted, setMounted] = React.useState<CheckboxGroupItemValue[]>([])\n const handleItemMountedChange = React.useCallback(\n (newItemMounted, itemValue) => {\n handleItemMountedChangeFurtherUpContext?.(newItemMounted, itemValue)\n setMounted((prevMounted) => {\n const newMountedSet = new Set(prevMounted)\n newItemMounted\n ? newMountedSet.add(itemValue)\n : newMountedSet.delete(itemValue)\n const newMounted = Array.from(newMountedSet)\n return newMounted\n })\n },\n [handleItemMountedChangeFurtherUpContext]\n )\n\n const value = React.useMemo<CheckboxGroupMountedContextValue>(\n () => ({ mounted, handleItemMountedChange }),\n [mounted, handleItemMountedChange]\n )\n\n return <CheckboxGroupMountedContext.Provider value={value} {...props} />\n}\n"],"names":["CheckboxGroupMountedContext","React","CheckboxGroupMountedProvider","props","handleItemMountedChangeFurtherUpContext","mounted","setMounted","handleItemMountedChange","newItemMounted","itemValue","prevMounted","newMountedSet","value"],"mappings":"wBAYa,MAAAA,EACXC,EAAM,cAAgD,CACpD,QAAS,CAAA,EACT,wBAAyB,IAAM,IACjC,CAAC,EAEUC,EAAgCC,GAAU,CACrD,KAAM,CAAE,wBAAyBC,CAAwC,EACvEH,EAAM,WAAWD,CAA2B,EAExC,CAACK,EAASC,CAAU,EAAIL,EAAM,SAAmC,CAAE,CAAA,EACnEM,EAA0BN,EAAM,YACpC,CAACO,EAAgBC,IAAc,CAC7BL,GAAA,MAAAA,EAA0CI,EAAgBC,CAC1DH,EAAAA,EAAYI,GAAgB,CAC1B,MAAMC,EAAgB,IAAI,IAAID,CAAW,EACzC,OAAAF,EACIG,EAAc,IAAIF,CAAS,EAC3BE,EAAc,OAAOF,CAAS,EACf,MAAM,KAAKE,CAAa,CAE7C,CAAC,CACH,EACA,CAACP,CAAuC,CAC1C,EAEMQ,EAAQX,EAAM,QAClB,KAAO,CAAE,QAAAI,EAAS,wBAAAE,CAAwB,GAC1C,CAACF,EAASE,CAAuB,CACnC,EAEA,OAAON,EAAA,cAACD,EAA4B,SAA5B,CAAqC,MAAOY,EAAQ,GAAGT,CAAAA,CAAO,CACxE"}
@@ -0,0 +1 @@
1
+ export { CheckboxGroup } from './CheckboxGroup';