@incognia/cosmik 0.35.0-beta.8 → 0.35.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.
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  type FilterPropsBase<T> = {
3
3
  i18n: {
4
- apply: string;
5
- clear: string;
4
+ apply?: string;
5
+ clear?: string;
6
6
  };
7
7
  value?: T;
8
8
  onOpenChange?: (open: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Filter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;QACzC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAA;KACtB,KAAK,KAAK,CAAC,SAAS,CAAA;CACtB,CAAA;AAED,KAAK,oBAAoB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAC7C,OAAO,CAAC,EAAE,KAAK,CAAA;CAChB,CAAA;AAED,KAAK,sBAAsB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACpD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;AAEzE,iBAAS,MAAM,CAAC,CAAC,EAAE,EACjB,QAAQ,EACR,KAAK,EACL,aAAa,EACb,OAAO,EACP,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,WAAW,CAAC,CAAC,CAAC,2CAqEhB;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Filter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;QACzC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAA;KACtB,KAAK,KAAK,CAAC,SAAS,CAAA;CACtB,CAAA;AAED,KAAK,oBAAoB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAC7C,OAAO,CAAC,EAAE,KAAK,CAAA;CAChB,CAAA;AAED,KAAK,sBAAsB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACpD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;AAEzE,iBAAS,MAAM,CAAC,CAAC,EAAE,EACjB,QAAQ,EACR,KAAK,EACL,aAAa,EACb,OAAO,EACP,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,WAAW,CAAC,CAAC,CAAC,2CA4EhB;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,WAAW,EAAE,CAAA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index.cjs42.js"),E=require("lucide-react"),x=require("react"),o=require("./index.cjs8.js"),l=require("./index.cjs22.js");function v({children:d,label:m,selectedLabel:c,trigger:j,i18n:a,value:t,onOpenChange:p,onApply:n,...f}){const[h,u]=x.useState(!1),[s,i]=x.useState(t||null),g=t?c?c(t):t.toString():m,R=e.jsxRuntimeExports.jsxs(o.Button,{variant:t?"filled":"outline",intent:t?"filter":"secondary",size:"sm",className:"font-normal flex items-center whitespace-nowrap gap-x-4 pr-12",children:[g,t&&e.jsxRuntimeExports.jsx(E.LucideX,{className:"w-16 h-16 rounded hover:bg-purple-100 shrink-0",onClick:()=>{i(null),n?.(void 0)}})]});return e.jsxRuntimeExports.jsxs(l.Popover,{open:h,onOpenChange:r=>{p?.(r),r||n?.(s||void 0),u(r)},...f,children:[e.jsxRuntimeExports.jsx(l.PopoverTrigger,{asChild:!0,children:j||R}),e.jsxRuntimeExports.jsxs(l.PopoverContent,{align:"start",className:"w-full",children:[e.jsxRuntimeExports.jsx("div",{className:"p-8",children:d({onFilterChange:i,filterValue:s})}),e.jsxRuntimeExports.jsxs("div",{className:"w-full flex justify-between mt-16",children:[s&&e.jsxRuntimeExports.jsx(o.Button,{variant:"link",intent:"secondary",size:"fit-content",onClick:()=>{i(null)},children:a.clear}),e.jsxRuntimeExports.jsx(o.Button,{className:"ml-auto bg-op",variant:"link",size:"fit-content",onClick:()=>{n?.(s||void 0),u(!1)},children:a.apply})]})]})]})}exports.Filter=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index.cjs42.js"),E=require("lucide-react"),x=require("react"),o=require("./index.cjs8.js"),a=require("./index.cjs22.js");function v({children:d,label:p,selectedLabel:c,trigger:m,i18n:n,value:t,onOpenChange:j,onApply:r,...f}){const[h,u]=x.useState(!1),[i,l]=x.useState(t||null),g=t?c?c(t):t.toString():p,R=e.jsxRuntimeExports.jsxs(o.Button,{variant:t?"filled":"outline",intent:t?"filter":"secondary",size:"sm",className:"font-normal flex items-center whitespace-nowrap gap-x-4 pr-12",children:[g,t&&e.jsxRuntimeExports.jsx(E.LucideX,{className:"w-16 h-16 rounded hover:bg-purple-100 shrink-0",onClick:s=>{s.preventDefault(),l(null),r?.(void 0)}})]});return e.jsxRuntimeExports.jsxs(a.Popover,{open:h,onOpenChange:s=>{j?.(s),s||r?.(i||void 0),u(s)},...f,children:[e.jsxRuntimeExports.jsx(a.PopoverTrigger,{asChild:!0,children:m||R}),e.jsxRuntimeExports.jsxs(a.PopoverContent,{align:"start",className:"w-full",children:[e.jsxRuntimeExports.jsx("div",{className:"p-8",children:d({onFilterChange:l,filterValue:i})}),e.jsxRuntimeExports.jsxs("div",{className:"w-full flex justify-between mt-16",children:[i&&n.clear&&e.jsxRuntimeExports.jsx(o.Button,{variant:"link",intent:"secondary",size:"fit-content",onClick:()=>{l(null)},children:n.clear}),n.apply&&e.jsxRuntimeExports.jsx(o.Button,{className:"ml-auto",variant:"link",size:"fit-content",onClick:()=>{r?.(i||void 0),u(!1)},children:n.apply})]})]})]})}exports.Filter=v;
2
2
  //# sourceMappingURL=index.cjs15.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs15.js","sources":["../src/Filter/index.tsx"],"sourcesContent":["import { LucideX } from 'lucide-react'\nimport React from 'react'\nimport { Button } from '../Button'\nimport { Popover, PopoverContent, PopoverTrigger } from '../Popover'\n\ntype FilterPropsBase<T> = {\n i18n: {\n apply: string\n clear: string\n }\n value?: T\n onOpenChange?: (open: boolean) => void\n onApply: (value?: T) => void\n children: (props: {\n onFilterChange: (value: T | null) => void\n filterValue: T | null\n }) => React.ReactNode\n}\n\ntype FilterPropsWithLabel<T> = FilterPropsBase<T> & {\n label: string\n selectedLabel?: (value: T) => React.ReactNode\n trigger?: never\n}\n\ntype FilterPropsWithTrigger<T> = FilterPropsBase<T> & {\n trigger: React.ReactNode\n label?: never\n selectedLabel?: never\n}\n\ntype FilterProps<T> = FilterPropsWithLabel<T> | FilterPropsWithTrigger<T>\n\nfunction Filter<T>({\n children,\n label,\n selectedLabel,\n trigger,\n i18n,\n value,\n onOpenChange,\n onApply,\n ...props\n}: FilterProps<T>) {\n const [isOpen, setIsOpen] = React.useState(false)\n const [localValue, setLocalValue] = React.useState<T | null>(value || null)\n\n const filterLabel = value\n ? selectedLabel\n ? selectedLabel(value)\n : value.toString()\n : label\n\n const defaultTrigger = (\n <Button\n variant={value ? 'filled' : 'outline'}\n intent={value ? 'filter' : 'secondary'}\n size=\"sm\"\n className=\"font-normal flex items-center whitespace-nowrap gap-x-4 pr-12\">\n {filterLabel}\n {value && (\n <LucideX\n className=\"w-16 h-16 rounded hover:bg-purple-100 shrink-0\"\n onClick={() => {\n setLocalValue(null)\n onApply?.(undefined)\n }}\n />\n )}\n </Button>\n )\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={open => {\n onOpenChange?.(open)\n if (!open) onApply?.(localValue || undefined)\n setIsOpen(open)\n }}\n {...props}>\n <PopoverTrigger asChild>{trigger || defaultTrigger}</PopoverTrigger>\n <PopoverContent align=\"start\" className=\"w-full\">\n <div className=\"p-8\">\n {children({ onFilterChange: setLocalValue, filterValue: localValue })}\n </div>\n <div className=\"w-full flex justify-between mt-16\">\n {localValue && (\n <Button\n variant=\"link\"\n intent=\"secondary\"\n size=\"fit-content\"\n onClick={() => {\n setLocalValue(null)\n }}>\n {i18n.clear}\n </Button>\n )}\n <Button\n className=\"ml-auto bg-op\"\n variant=\"link\"\n size=\"fit-content\"\n onClick={() => {\n onApply?.(localValue || undefined)\n setIsOpen(false)\n }}>\n {i18n.apply}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport { Filter }\nexport type { FilterProps }\n"],"names":["Filter","children","label","selectedLabel","trigger","i18n","value","onOpenChange","onApply","props","isOpen","setIsOpen","React","localValue","setLocalValue","filterLabel","defaultTrigger","jsxs","Button","jsx","LucideX","Popover","open","PopoverTrigger","PopoverContent"],"mappings":"4NAiCA,SAASA,EAAU,CACjB,SAAAC,EACA,MAAAC,EACA,cAAAC,EACA,QAAAC,EACA,KAAAC,EACA,MAAAC,EACA,aAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAmB,CACjB,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAM,SAAS,EAAK,EAC1C,CAACC,EAAYC,CAAa,EAAIF,EAAM,SAAmBN,GAAS,IAAI,EAEpES,EAAcT,EAChBH,EACEA,EAAcG,CAAK,EACnBA,EAAM,SACR,EAAAJ,EAEEc,EACJC,EAAA,kBAAA,KAACC,EAAA,OAAA,CACC,QAASZ,EAAQ,SAAW,UAC5B,OAAQA,EAAQ,SAAW,YAC3B,KAAK,KACL,UAAU,gEACT,SAAA,CAAAS,EACAT,GACCa,EAAA,kBAAA,IAACC,EAAA,QAAA,CACC,UAAU,iDACV,QAAS,IAAM,CACbN,EAAc,IAAI,EAClBN,IAAU,MAAS,CACrB,CAAA,CACF,CAAA,CAAA,CAAA,EAMJ,OAAAS,EAAA,kBAAA,KAACI,EAAA,QAAA,CACC,KAAMX,EACN,aAAsBY,GAAA,CACpBf,IAAee,CAAI,EACdA,GAAMd,IAAUK,GAAc,MAAS,EAC5CF,EAAUW,CAAI,CAChB,EACC,GAAGb,EACJ,SAAA,CAAAU,EAAA,kBAAA,IAACI,EAAe,eAAA,CAAA,QAAO,GAAE,SAAAnB,GAAWY,EAAe,EAClDC,EAAA,kBAAA,KAAAO,EAAA,eAAA,CAAe,MAAM,QAAQ,UAAU,SACtC,SAAA,CAACL,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,MACZ,SAASlB,EAAA,CAAE,eAAgBa,EAAe,YAAaD,CAAW,CAAC,CACtE,CAAA,EACAI,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAU,oCACZ,SAAA,CACCJ,GAAAM,EAAA,kBAAA,IAACD,EAAA,OAAA,CACC,QAAQ,OACR,OAAO,YACP,KAAK,cACL,QAAS,IAAM,CACbJ,EAAc,IAAI,CACpB,EACC,SAAKT,EAAA,KAAA,CACR,EAEFc,EAAA,kBAAA,IAACD,EAAA,OAAA,CACC,UAAU,gBACV,QAAQ,OACR,KAAK,cACL,QAAS,IAAM,CACbV,IAAUK,GAAc,MAAS,EACjCF,EAAU,EAAK,CACjB,EACC,SAAKN,EAAA,KAAA,CACR,CAAA,EACF,CAAA,EACF,CAAA,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"index.cjs15.js","sources":["../src/Filter/index.tsx"],"sourcesContent":["import { LucideX } from 'lucide-react'\nimport React from 'react'\nimport { Button } from '../Button'\nimport { Popover, PopoverContent, PopoverTrigger } from '../Popover'\n\ntype FilterPropsBase<T> = {\n i18n: {\n apply?: string\n clear?: string\n }\n value?: T\n onOpenChange?: (open: boolean) => void\n onApply: (value?: T) => void\n children: (props: {\n onFilterChange: (value: T | null) => void\n filterValue: T | null\n }) => React.ReactNode\n}\n\ntype FilterPropsWithLabel<T> = FilterPropsBase<T> & {\n label: string\n selectedLabel?: (value: T) => React.ReactNode\n trigger?: never\n}\n\ntype FilterPropsWithTrigger<T> = FilterPropsBase<T> & {\n trigger: React.ReactNode\n label?: never\n selectedLabel?: never\n}\n\ntype FilterProps<T> = FilterPropsWithLabel<T> | FilterPropsWithTrigger<T>\n\nfunction Filter<T>({\n children,\n label,\n selectedLabel,\n trigger,\n i18n,\n value,\n onOpenChange,\n onApply,\n ...props\n}: FilterProps<T>) {\n const [isOpen, setIsOpen] = React.useState(false)\n const [localValue, setLocalValue] = React.useState<T | null>(value || null)\n\n const filterLabel = value\n ? selectedLabel\n ? selectedLabel(value)\n : value.toString()\n : label\n\n const defaultTrigger = (\n <Button\n variant={value ? 'filled' : 'outline'}\n intent={value ? 'filter' : 'secondary'}\n size=\"sm\"\n className=\"font-normal flex items-center whitespace-nowrap gap-x-4 pr-12\"\n >\n {filterLabel}\n {value && (\n <LucideX\n className=\"w-16 h-16 rounded hover:bg-purple-100 shrink-0\"\n onClick={e => {\n e.preventDefault()\n setLocalValue(null)\n onApply?.(undefined)\n }}\n />\n )}\n </Button>\n )\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={open => {\n onOpenChange?.(open)\n if (!open) onApply?.(localValue || undefined)\n setIsOpen(open)\n }}\n {...props}\n >\n <PopoverTrigger asChild>{trigger || defaultTrigger}</PopoverTrigger>\n <PopoverContent align=\"start\" className=\"w-full\">\n <div className=\"p-8\">\n {children({ onFilterChange: setLocalValue, filterValue: localValue })}\n </div>\n <div className=\"w-full flex justify-between mt-16\">\n {localValue && i18n.clear && (\n <Button\n variant=\"link\"\n intent=\"secondary\"\n size=\"fit-content\"\n onClick={() => {\n setLocalValue(null)\n }}\n >\n {i18n.clear}\n </Button>\n )}\n {i18n.apply && (\n <Button\n className=\"ml-auto\"\n variant=\"link\"\n size=\"fit-content\"\n onClick={() => {\n onApply?.(localValue || undefined)\n setIsOpen(false)\n }}\n >\n {i18n.apply}\n </Button>\n )}\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport { Filter }\nexport type { FilterProps }\n"],"names":["Filter","children","label","selectedLabel","trigger","i18n","value","onOpenChange","onApply","props","isOpen","setIsOpen","React","localValue","setLocalValue","filterLabel","defaultTrigger","jsxs","Button","jsx","LucideX","e","Popover","open","PopoverTrigger","PopoverContent"],"mappings":"4NAiCA,SAASA,EAAU,CACjB,SAAAC,EACA,MAAAC,EACA,cAAAC,EACA,QAAAC,EACA,KAAAC,EACA,MAAAC,EACA,aAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAmB,CACjB,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAM,SAAS,EAAK,EAC1C,CAACC,EAAYC,CAAa,EAAIF,EAAM,SAAmBN,GAAS,IAAI,EAEpES,EAAcT,EAChBH,EACEA,EAAcG,CAAK,EACnBA,EAAM,SACR,EAAAJ,EAEEc,EACJC,EAAA,kBAAA,KAACC,EAAA,OAAA,CACC,QAASZ,EAAQ,SAAW,UAC5B,OAAQA,EAAQ,SAAW,YAC3B,KAAK,KACL,UAAU,gEAET,SAAA,CAAAS,EACAT,GACCa,EAAA,kBAAA,IAACC,EAAA,QAAA,CACC,UAAU,iDACV,QAAcC,GAAA,CACZA,EAAE,eAAe,EACjBP,EAAc,IAAI,EAClBN,IAAU,MAAS,CACrB,CAAA,CACF,CAAA,CAAA,CAAA,EAMJ,OAAAS,EAAA,kBAAA,KAACK,EAAA,QAAA,CACC,KAAMZ,EACN,aAAsBa,GAAA,CACpBhB,IAAegB,CAAI,EACdA,GAAMf,IAAUK,GAAc,MAAS,EAC5CF,EAAUY,CAAI,CAChB,EACC,GAAGd,EAEJ,SAAA,CAAAU,EAAA,kBAAA,IAACK,EAAe,eAAA,CAAA,QAAO,GAAE,SAAApB,GAAWY,EAAe,EAClDC,EAAA,kBAAA,KAAAQ,EAAA,eAAA,CAAe,MAAM,QAAQ,UAAU,SACtC,SAAA,CAACN,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,MACZ,SAASlB,EAAA,CAAE,eAAgBa,EAAe,YAAaD,CAAW,CAAC,CACtE,CAAA,EACAI,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAU,oCACZ,SAAA,CAAAJ,GAAcR,EAAK,OAClBc,EAAA,kBAAA,IAACD,EAAA,OAAA,CACC,QAAQ,OACR,OAAO,YACP,KAAK,cACL,QAAS,IAAM,CACbJ,EAAc,IAAI,CACpB,EAEC,SAAKT,EAAA,KAAA,CACR,EAEDA,EAAK,OACJc,EAAA,kBAAA,IAACD,EAAA,OAAA,CACC,UAAU,UACV,QAAQ,OACR,KAAK,cACL,QAAS,IAAM,CACbV,IAAUK,GAAc,MAAS,EACjCF,EAAU,EAAK,CACjB,EAEC,SAAKN,EAAA,KAAA,CACR,CAAA,EAEJ,CAAA,EACF,CAAA,CAAA,CAAA,CAGN"}
@@ -1,21 +1,21 @@
1
1
  import { j as e } from "./index.es42.js";
2
- import { LucideX as C } from "lucide-react";
2
+ import { LucideX as v } from "lucide-react";
3
3
  import f from "react";
4
- import { Button as l } from "./index.es8.js";
5
- import { Popover as k, PopoverTrigger as v, PopoverContent as w } from "./index.es22.js";
4
+ import { Button as o } from "./index.es8.js";
5
+ import { Popover as C, PopoverTrigger as k, PopoverContent as w } from "./index.es22.js";
6
6
  function S({
7
7
  children: m,
8
8
  label: d,
9
- selectedLabel: o,
9
+ selectedLabel: a,
10
10
  trigger: p,
11
- i18n: a,
11
+ i18n: n,
12
12
  value: t,
13
13
  onOpenChange: u,
14
- onApply: n,
14
+ onApply: s,
15
15
  ...h
16
16
  }) {
17
- const [x, c] = f.useState(!1), [i, r] = f.useState(t || null), j = t ? o ? o(t) : t.toString() : d, g = /* @__PURE__ */ e.jsxs(
18
- l,
17
+ const [x, c] = f.useState(!1), [i, l] = f.useState(t || null), j = t ? a ? a(t) : t.toString() : d, g = /* @__PURE__ */ e.jsxs(
18
+ o,
19
19
  {
20
20
  variant: t ? "filled" : "outline",
21
21
  intent: t ? "filter" : "secondary",
@@ -24,11 +24,11 @@ function S({
24
24
  children: [
25
25
  j,
26
26
  t && /* @__PURE__ */ e.jsx(
27
- C,
27
+ v,
28
28
  {
29
29
  className: "w-16 h-16 rounded hover:bg-purple-100 shrink-0",
30
- onClick: () => {
31
- r(null), n?.(void 0);
30
+ onClick: (r) => {
31
+ r.preventDefault(), l(null), s?.(void 0);
32
32
  }
33
33
  }
34
34
  )
@@ -36,40 +36,40 @@ function S({
36
36
  }
37
37
  );
38
38
  return /* @__PURE__ */ e.jsxs(
39
- k,
39
+ C,
40
40
  {
41
41
  open: x,
42
- onOpenChange: (s) => {
43
- u?.(s), s || n?.(i || void 0), c(s);
42
+ onOpenChange: (r) => {
43
+ u?.(r), r || s?.(i || void 0), c(r);
44
44
  },
45
45
  ...h,
46
46
  children: [
47
- /* @__PURE__ */ e.jsx(v, { asChild: !0, children: p || g }),
47
+ /* @__PURE__ */ e.jsx(k, { asChild: !0, children: p || g }),
48
48
  /* @__PURE__ */ e.jsxs(w, { align: "start", className: "w-full", children: [
49
- /* @__PURE__ */ e.jsx("div", { className: "p-8", children: m({ onFilterChange: r, filterValue: i }) }),
49
+ /* @__PURE__ */ e.jsx("div", { className: "p-8", children: m({ onFilterChange: l, filterValue: i }) }),
50
50
  /* @__PURE__ */ e.jsxs("div", { className: "w-full flex justify-between mt-16", children: [
51
- i && /* @__PURE__ */ e.jsx(
52
- l,
51
+ i && n.clear && /* @__PURE__ */ e.jsx(
52
+ o,
53
53
  {
54
54
  variant: "link",
55
55
  intent: "secondary",
56
56
  size: "fit-content",
57
57
  onClick: () => {
58
- r(null);
58
+ l(null);
59
59
  },
60
- children: a.clear
60
+ children: n.clear
61
61
  }
62
62
  ),
63
- /* @__PURE__ */ e.jsx(
64
- l,
63
+ n.apply && /* @__PURE__ */ e.jsx(
64
+ o,
65
65
  {
66
- className: "ml-auto bg-op",
66
+ className: "ml-auto",
67
67
  variant: "link",
68
68
  size: "fit-content",
69
69
  onClick: () => {
70
- n?.(i || void 0), c(!1);
70
+ s?.(i || void 0), c(!1);
71
71
  },
72
- children: a.apply
72
+ children: n.apply
73
73
  }
74
74
  )
75
75
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"index.es15.js","sources":["../src/Filter/index.tsx"],"sourcesContent":["import { LucideX } from 'lucide-react'\nimport React from 'react'\nimport { Button } from '../Button'\nimport { Popover, PopoverContent, PopoverTrigger } from '../Popover'\n\ntype FilterPropsBase<T> = {\n i18n: {\n apply: string\n clear: string\n }\n value?: T\n onOpenChange?: (open: boolean) => void\n onApply: (value?: T) => void\n children: (props: {\n onFilterChange: (value: T | null) => void\n filterValue: T | null\n }) => React.ReactNode\n}\n\ntype FilterPropsWithLabel<T> = FilterPropsBase<T> & {\n label: string\n selectedLabel?: (value: T) => React.ReactNode\n trigger?: never\n}\n\ntype FilterPropsWithTrigger<T> = FilterPropsBase<T> & {\n trigger: React.ReactNode\n label?: never\n selectedLabel?: never\n}\n\ntype FilterProps<T> = FilterPropsWithLabel<T> | FilterPropsWithTrigger<T>\n\nfunction Filter<T>({\n children,\n label,\n selectedLabel,\n trigger,\n i18n,\n value,\n onOpenChange,\n onApply,\n ...props\n}: FilterProps<T>) {\n const [isOpen, setIsOpen] = React.useState(false)\n const [localValue, setLocalValue] = React.useState<T | null>(value || null)\n\n const filterLabel = value\n ? selectedLabel\n ? selectedLabel(value)\n : value.toString()\n : label\n\n const defaultTrigger = (\n <Button\n variant={value ? 'filled' : 'outline'}\n intent={value ? 'filter' : 'secondary'}\n size=\"sm\"\n className=\"font-normal flex items-center whitespace-nowrap gap-x-4 pr-12\">\n {filterLabel}\n {value && (\n <LucideX\n className=\"w-16 h-16 rounded hover:bg-purple-100 shrink-0\"\n onClick={() => {\n setLocalValue(null)\n onApply?.(undefined)\n }}\n />\n )}\n </Button>\n )\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={open => {\n onOpenChange?.(open)\n if (!open) onApply?.(localValue || undefined)\n setIsOpen(open)\n }}\n {...props}>\n <PopoverTrigger asChild>{trigger || defaultTrigger}</PopoverTrigger>\n <PopoverContent align=\"start\" className=\"w-full\">\n <div className=\"p-8\">\n {children({ onFilterChange: setLocalValue, filterValue: localValue })}\n </div>\n <div className=\"w-full flex justify-between mt-16\">\n {localValue && (\n <Button\n variant=\"link\"\n intent=\"secondary\"\n size=\"fit-content\"\n onClick={() => {\n setLocalValue(null)\n }}>\n {i18n.clear}\n </Button>\n )}\n <Button\n className=\"ml-auto bg-op\"\n variant=\"link\"\n size=\"fit-content\"\n onClick={() => {\n onApply?.(localValue || undefined)\n setIsOpen(false)\n }}>\n {i18n.apply}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport { Filter }\nexport type { FilterProps }\n"],"names":["Filter","children","label","selectedLabel","trigger","i18n","value","onOpenChange","onApply","props","isOpen","setIsOpen","React","localValue","setLocalValue","filterLabel","defaultTrigger","jsxs","Button","jsx","LucideX","Popover","open","PopoverTrigger","PopoverContent"],"mappings":";;;;;AAiCA,SAASA,EAAU;AAAA,EACjB,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAmB;AACjB,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAS,EAAK,GAC1C,CAACC,GAAYC,CAAa,IAAIF,EAAM,SAAmBN,KAAS,IAAI,GAEpES,IAAcT,IAChBH,IACEA,EAAcG,CAAK,IACnBA,EAAM,SACR,IAAAJ,GAEEc,IACJC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAASZ,IAAQ,WAAW;AAAA,MAC5B,QAAQA,IAAQ,WAAW;AAAA,MAC3B,MAAK;AAAA,MACL,WAAU;AAAA,MACT,UAAA;AAAA,QAAAS;AAAA,QACAT,KACCa,gBAAAA,EAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,cAAAN,EAAc,IAAI,GAClBN,IAAU,MAAS;AAAA,YACrB;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAMJ,SAAAS,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,cAAc,CAAQY,MAAA;AACpB,QAAAf,IAAee,CAAI,GACdA,KAAMd,IAAUK,KAAc,MAAS,GAC5CF,EAAUW,CAAI;AAAA,MAChB;AAAA,MACC,GAAGb;AAAA,MACJ,UAAA;AAAA,QAAAU,gBAAAA,EAAA,IAACI,GAAe,EAAA,SAAO,IAAE,UAAAnB,KAAWY,GAAe;AAAA,QAClDC,gBAAAA,EAAA,KAAAO,GAAA,EAAe,OAAM,SAAQ,WAAU,UACtC,UAAA;AAAA,UAACL,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAU,OACZ,UAASlB,EAAA,EAAE,gBAAgBa,GAAe,aAAaD,EAAW,CAAC,EACtE,CAAA;AAAA,UACAI,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,qCACZ,UAAA;AAAA,YACCJ,KAAAM,gBAAAA,EAAA;AAAA,cAACD;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,QAAO;AAAA,gBACP,MAAK;AAAA,gBACL,SAAS,MAAM;AACb,kBAAAJ,EAAc,IAAI;AAAA,gBACpB;AAAA,gBACC,UAAKT,EAAA;AAAA,cAAA;AAAA,YACR;AAAA,YAEFc,gBAAAA,EAAA;AAAA,cAACD;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,MAAM;AACb,kBAAAV,IAAUK,KAAc,MAAS,GACjCF,EAAU,EAAK;AAAA,gBACjB;AAAA,gBACC,UAAKN,EAAA;AAAA,cAAA;AAAA,YACR;AAAA,UAAA,GACF;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"index.es15.js","sources":["../src/Filter/index.tsx"],"sourcesContent":["import { LucideX } from 'lucide-react'\nimport React from 'react'\nimport { Button } from '../Button'\nimport { Popover, PopoverContent, PopoverTrigger } from '../Popover'\n\ntype FilterPropsBase<T> = {\n i18n: {\n apply?: string\n clear?: string\n }\n value?: T\n onOpenChange?: (open: boolean) => void\n onApply: (value?: T) => void\n children: (props: {\n onFilterChange: (value: T | null) => void\n filterValue: T | null\n }) => React.ReactNode\n}\n\ntype FilterPropsWithLabel<T> = FilterPropsBase<T> & {\n label: string\n selectedLabel?: (value: T) => React.ReactNode\n trigger?: never\n}\n\ntype FilterPropsWithTrigger<T> = FilterPropsBase<T> & {\n trigger: React.ReactNode\n label?: never\n selectedLabel?: never\n}\n\ntype FilterProps<T> = FilterPropsWithLabel<T> | FilterPropsWithTrigger<T>\n\nfunction Filter<T>({\n children,\n label,\n selectedLabel,\n trigger,\n i18n,\n value,\n onOpenChange,\n onApply,\n ...props\n}: FilterProps<T>) {\n const [isOpen, setIsOpen] = React.useState(false)\n const [localValue, setLocalValue] = React.useState<T | null>(value || null)\n\n const filterLabel = value\n ? selectedLabel\n ? selectedLabel(value)\n : value.toString()\n : label\n\n const defaultTrigger = (\n <Button\n variant={value ? 'filled' : 'outline'}\n intent={value ? 'filter' : 'secondary'}\n size=\"sm\"\n className=\"font-normal flex items-center whitespace-nowrap gap-x-4 pr-12\"\n >\n {filterLabel}\n {value && (\n <LucideX\n className=\"w-16 h-16 rounded hover:bg-purple-100 shrink-0\"\n onClick={e => {\n e.preventDefault()\n setLocalValue(null)\n onApply?.(undefined)\n }}\n />\n )}\n </Button>\n )\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={open => {\n onOpenChange?.(open)\n if (!open) onApply?.(localValue || undefined)\n setIsOpen(open)\n }}\n {...props}\n >\n <PopoverTrigger asChild>{trigger || defaultTrigger}</PopoverTrigger>\n <PopoverContent align=\"start\" className=\"w-full\">\n <div className=\"p-8\">\n {children({ onFilterChange: setLocalValue, filterValue: localValue })}\n </div>\n <div className=\"w-full flex justify-between mt-16\">\n {localValue && i18n.clear && (\n <Button\n variant=\"link\"\n intent=\"secondary\"\n size=\"fit-content\"\n onClick={() => {\n setLocalValue(null)\n }}\n >\n {i18n.clear}\n </Button>\n )}\n {i18n.apply && (\n <Button\n className=\"ml-auto\"\n variant=\"link\"\n size=\"fit-content\"\n onClick={() => {\n onApply?.(localValue || undefined)\n setIsOpen(false)\n }}\n >\n {i18n.apply}\n </Button>\n )}\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport { Filter }\nexport type { FilterProps }\n"],"names":["Filter","children","label","selectedLabel","trigger","i18n","value","onOpenChange","onApply","props","isOpen","setIsOpen","React","localValue","setLocalValue","filterLabel","defaultTrigger","jsxs","Button","jsx","LucideX","e","Popover","open","PopoverTrigger","PopoverContent"],"mappings":";;;;;AAiCA,SAASA,EAAU;AAAA,EACjB,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAmB;AACjB,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAS,EAAK,GAC1C,CAACC,GAAYC,CAAa,IAAIF,EAAM,SAAmBN,KAAS,IAAI,GAEpES,IAAcT,IAChBH,IACEA,EAAcG,CAAK,IACnBA,EAAM,SACR,IAAAJ,GAEEc,IACJC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAASZ,IAAQ,WAAW;AAAA,MAC5B,QAAQA,IAAQ,WAAW;AAAA,MAC3B,MAAK;AAAA,MACL,WAAU;AAAA,MAET,UAAA;AAAA,QAAAS;AAAA,QACAT,KACCa,gBAAAA,EAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,CAAKC,MAAA;AACZ,cAAAA,EAAE,eAAe,GACjBP,EAAc,IAAI,GAClBN,IAAU,MAAS;AAAA,YACrB;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAMJ,SAAAS,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,MAAMZ;AAAA,MACN,cAAc,CAAQa,MAAA;AACpB,QAAAhB,IAAegB,CAAI,GACdA,KAAMf,IAAUK,KAAc,MAAS,GAC5CF,EAAUY,CAAI;AAAA,MAChB;AAAA,MACC,GAAGd;AAAA,MAEJ,UAAA;AAAA,QAAAU,gBAAAA,EAAA,IAACK,GAAe,EAAA,SAAO,IAAE,UAAApB,KAAWY,GAAe;AAAA,QAClDC,gBAAAA,EAAA,KAAAQ,GAAA,EAAe,OAAM,SAAQ,WAAU,UACtC,UAAA;AAAA,UAACN,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAU,OACZ,UAASlB,EAAA,EAAE,gBAAgBa,GAAe,aAAaD,EAAW,CAAC,EACtE,CAAA;AAAA,UACAI,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,qCACZ,UAAA;AAAA,YAAAJ,KAAcR,EAAK,SAClBc,gBAAAA,EAAA;AAAA,cAACD;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,QAAO;AAAA,gBACP,MAAK;AAAA,gBACL,SAAS,MAAM;AACb,kBAAAJ,EAAc,IAAI;AAAA,gBACpB;AAAA,gBAEC,UAAKT,EAAA;AAAA,cAAA;AAAA,YACR;AAAA,YAEDA,EAAK,SACJc,gBAAAA,EAAA;AAAA,cAACD;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAAS,MAAM;AACb,kBAAAV,IAAUK,KAAc,MAAS,GACjCF,EAAU,EAAK;AAAA,gBACjB;AAAA,gBAEC,UAAKN,EAAA;AAAA,cAAA;AAAA,YACR;AAAA,UAAA,GAEJ;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "homepage": "https://inloco.github.io/cosmik",
3
3
  "name": "@incognia/cosmik",
4
- "version": "0.35.0-beta.8",
4
+ "version": "0.35.0",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
7
7
  "types": "dist/index.d.ts",