@incognia/cosmik 1.0.11 → 2.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Badge/index.d.ts +1 -1
- package/dist/Calendar/index.d.ts.map +1 -1
- package/dist/Toggle/index.d.ts +1 -1
- package/dist/cosmik-theme.css +68 -66
- package/dist/cosmik.css +3 -1
- package/dist/index.cjs +1 -2
- package/dist/index.js +36 -179
- package/dist/index10.cjs +2 -2
- package/dist/index10.cjs.map +1 -1
- package/dist/index10.js +12 -195
- package/dist/index10.js.map +1 -1
- package/dist/index11.cjs +2 -2
- package/dist/index11.cjs.map +1 -1
- package/dist/index11.js +61 -140
- package/dist/index11.js.map +1 -1
- package/dist/index12.cjs +2 -2
- package/dist/index12.cjs.map +1 -1
- package/dist/index12.js +156 -228
- package/dist/index12.js.map +1 -1
- package/dist/index13.cjs +2 -2
- package/dist/index13.cjs.map +1 -1
- package/dist/index13.js +92 -119
- package/dist/index13.js.map +1 -1
- package/dist/index14.cjs +2 -2
- package/dist/index14.cjs.map +1 -1
- package/dist/index14.js +71 -24
- package/dist/index14.js.map +1 -1
- package/dist/index15.cjs +2 -2
- package/dist/index15.cjs.map +1 -1
- package/dist/index15.js +105 -25
- package/dist/index15.js.map +1 -1
- package/dist/index16.cjs +2 -2
- package/dist/index16.cjs.map +1 -1
- package/dist/index16.js +57 -22
- package/dist/index16.js.map +1 -1
- package/dist/index17.cjs +2 -2
- package/dist/index17.cjs.map +1 -1
- package/dist/index17.js +23 -63
- package/dist/index17.js.map +1 -1
- package/dist/index18.cjs +2 -2
- package/dist/index18.cjs.map +1 -1
- package/dist/index18.js +90 -23
- package/dist/index18.js.map +1 -1
- package/dist/index19.cjs +2 -2
- package/dist/index19.cjs.map +1 -1
- package/dist/index19.js +83 -102
- package/dist/index19.js.map +1 -1
- package/dist/index2.cjs +1 -0
- package/dist/index2.js +7 -0
- package/dist/index20.cjs +2 -2
- package/dist/index20.cjs.map +1 -1
- package/dist/index20.js +126 -48
- package/dist/index20.js.map +1 -1
- package/dist/index21.cjs +2 -2
- package/dist/index21.cjs.map +1 -1
- package/dist/index21.js +41 -31
- package/dist/index21.js.map +1 -1
- package/dist/index22.cjs +2 -2
- package/dist/index22.cjs.map +1 -1
- package/dist/index22.js +76 -46
- package/dist/index22.js.map +1 -1
- package/dist/index23.cjs +2 -2
- package/dist/index23.cjs.map +1 -1
- package/dist/index23.js +68 -185
- package/dist/index23.js.map +1 -1
- package/dist/index24.cjs +2 -2
- package/dist/index24.cjs.map +1 -1
- package/dist/index24.js +31 -28
- package/dist/index24.js.map +1 -1
- package/dist/index25.cjs +2 -2
- package/dist/index25.cjs.map +1 -1
- package/dist/index25.js +17 -132
- package/dist/index25.js.map +1 -1
- package/dist/index26.cjs +2 -2
- package/dist/index26.cjs.map +1 -1
- package/dist/index26.js +17 -17
- package/dist/index26.js.map +1 -1
- package/dist/index27.cjs +2 -2
- package/dist/index27.cjs.map +1 -1
- package/dist/index27.js +52 -36
- package/dist/index27.js.map +1 -1
- package/dist/index28.cjs +2 -2
- package/dist/index28.cjs.map +1 -1
- package/dist/index28.js +10 -33
- package/dist/index28.js.map +1 -1
- package/dist/index29.cjs +2 -2
- package/dist/index29.cjs.map +1 -1
- package/dist/index29.js +25 -135
- package/dist/index29.js.map +1 -1
- package/dist/index30.cjs +2 -2
- package/dist/index30.cjs.map +1 -1
- package/dist/index30.js +66 -62
- package/dist/index30.js.map +1 -1
- package/dist/index31.cjs +2 -2
- package/dist/index31.cjs.map +1 -1
- package/dist/index31.js +22 -88
- package/dist/index31.js.map +1 -1
- package/dist/index32.cjs +2 -2
- package/dist/index32.cjs.map +1 -1
- package/dist/index32.js +30 -23
- package/dist/index32.js.map +1 -1
- package/dist/index33.cjs +2 -2
- package/dist/index33.cjs.map +1 -1
- package/dist/index33.js +97 -93
- package/dist/index33.js.map +1 -1
- package/dist/index34.cjs +2 -2
- package/dist/index34.cjs.map +1 -1
- package/dist/index34.js +19 -72
- package/dist/index34.js.map +1 -1
- package/dist/index35.cjs +2 -2
- package/dist/index35.cjs.map +1 -1
- package/dist/index35.js +81 -62
- package/dist/index35.js.map +1 -1
- package/dist/index36.cjs +2 -2
- package/dist/index36.cjs.map +1 -1
- package/dist/index36.js +14 -161
- package/dist/index36.js.map +1 -1
- package/dist/index37.cjs +2 -2
- package/dist/index37.cjs.map +1 -1
- package/dist/index37.js +44 -6
- package/dist/index37.js.map +1 -1
- package/dist/index38.cjs +2 -2
- package/dist/index38.cjs.map +1 -1
- package/dist/index38.js +22 -36
- package/dist/index38.js.map +1 -1
- package/dist/index39.cjs +2 -2
- package/dist/index39.cjs.map +1 -1
- package/dist/index39.js +71 -16
- package/dist/index39.js.map +1 -1
- package/dist/index4.cjs +2 -2
- package/dist/index4.cjs.map +1 -1
- package/dist/index4.js +18 -160
- package/dist/index4.js.map +1 -1
- package/dist/index40.cjs +2 -2
- package/dist/index40.cjs.map +1 -1
- package/dist/index40.js +38 -120
- package/dist/index40.js.map +1 -1
- package/dist/index41.cjs +2 -2
- package/dist/index41.cjs.map +1 -1
- package/dist/index41.js +73 -16
- package/dist/index41.js.map +1 -1
- package/dist/index42.cjs +2 -2
- package/dist/index42.cjs.map +1 -1
- package/dist/index42.js +15 -10
- package/dist/index42.js.map +1 -1
- package/dist/index43.cjs +2 -2
- package/dist/index43.cjs.map +1 -1
- package/dist/index43.js +87 -5
- package/dist/index43.js.map +1 -1
- package/dist/index44.cjs +2 -2
- package/dist/index44.cjs.map +1 -1
- package/dist/index44.js +52 -26
- package/dist/index44.js.map +1 -1
- package/dist/index45.cjs +2 -7
- package/dist/index45.cjs.map +1 -1
- package/dist/index45.js +48 -238
- package/dist/index45.js.map +1 -1
- package/dist/index46.cjs +2 -2
- package/dist/index46.cjs.map +1 -1
- package/dist/index46.js +85 -17
- package/dist/index46.js.map +1 -1
- package/dist/index5.cjs +2 -2
- package/dist/index5.cjs.map +1 -1
- package/dist/index5.js +34 -80
- package/dist/index5.js.map +1 -1
- package/dist/index6.cjs +2 -2
- package/dist/index6.cjs.map +1 -1
- package/dist/index6.js +1586 -163
- package/dist/index6.js.map +1 -1
- package/dist/index7.cjs +2 -2
- package/dist/index7.cjs.map +1 -1
- package/dist/index7.js +14 -196
- package/dist/index7.js.map +1 -1
- package/dist/index8.cjs +2 -2
- package/dist/index8.cjs.map +1 -1
- package/dist/index8.js +23 -91
- package/dist/index8.js.map +1 -1
- package/dist/index9.cjs +7 -2
- package/dist/index9.cjs.map +1 -1
- package/dist/index9.js +162 -40
- package/dist/index9.js.map +1 -1
- package/package.json +22 -20
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index3.cjs +0 -2
- package/dist/index3.cjs.map +0 -1
- package/dist/index3.js +0 -87
- package/dist/index3.js.map +0 -1
- package/dist/index47.cjs +0 -2
- package/dist/index47.cjs.map +0 -1
- package/dist/index47.js +0 -2732
- package/dist/index47.js.map +0 -1
- package/dist/index48.cjs +0 -2
- package/dist/index48.cjs.map +0 -1
- package/dist/index48.js +0 -5
- package/dist/index48.js.map +0 -1
- package/dist/index49.cjs +0 -2
- package/dist/index49.cjs.map +0 -1
- package/dist/index49.js +0 -5
- package/dist/index49.js.map +0 -1
package/dist/index21.js
CHANGED
|
@@ -1,32 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
className: e(
|
|
14
|
-
"relative h-16 w-full overflow-hidden rounded-full bg-gray-900/8",
|
|
15
|
-
s
|
|
16
|
-
),
|
|
17
|
-
...l,
|
|
18
|
-
children: /* @__PURE__ */ r.jsx(
|
|
19
|
-
o.Indicator,
|
|
20
|
-
{
|
|
21
|
-
"data-slot": "progress-indicator",
|
|
22
|
-
className: "h-full w-full flex-1 bg-purple-700 transition-all",
|
|
23
|
-
style: { transform: `translateX(-${100 - (t || 0)}%)` }
|
|
24
|
-
}
|
|
25
|
-
)
|
|
26
|
-
}
|
|
27
|
-
);
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "./index7.js";
|
|
3
|
+
import { require_jsx_runtime as t } from "./index10.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import * as n from "@radix-ui/react-popover";
|
|
6
|
+
//#region src/Popover/index.tsx
|
|
7
|
+
var r = t();
|
|
8
|
+
function i({ ...e }) {
|
|
9
|
+
return /* @__PURE__ */ (0, r.jsx)(n.Root, {
|
|
10
|
+
"data-slot": "popover",
|
|
11
|
+
...e
|
|
12
|
+
});
|
|
28
13
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
14
|
+
function a({ ...e }) {
|
|
15
|
+
return /* @__PURE__ */ (0, r.jsx)(n.Trigger, {
|
|
16
|
+
"data-slot": "popover-trigger",
|
|
17
|
+
...e
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function o({ className: t, align: i = "center", sideOffset: a = 4, portalled: o = !0, container: s, ...c }) {
|
|
21
|
+
let l = /* @__PURE__ */ (0, r.jsx)(n.Content, {
|
|
22
|
+
"data-slot": "popover-content",
|
|
23
|
+
align: i,
|
|
24
|
+
sideOffset: a,
|
|
25
|
+
className: e("bg-white text-gray-800 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-[288px] origin-(--radix-popover-content-transform-origin) rounded border border-gray-900/8 p-16 shadow-200 outline-hidden", t),
|
|
26
|
+
...c
|
|
27
|
+
});
|
|
28
|
+
return o ? /* @__PURE__ */ (0, r.jsx)(n.Portal, {
|
|
29
|
+
container: s,
|
|
30
|
+
children: l
|
|
31
|
+
}) : l;
|
|
32
|
+
}
|
|
33
|
+
function s({ ...e }) {
|
|
34
|
+
return /* @__PURE__ */ (0, r.jsx)(n.Anchor, {
|
|
35
|
+
"data-slot": "popover-anchor",
|
|
36
|
+
...e
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { i as Popover, s as PopoverAnchor, o as PopoverContent, a as PopoverTrigger };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=index21.js.map
|
package/dist/index21.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index21.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index21.js","names":[],"sources":["../src/Popover/index.tsx"],"sourcesContent":["'use client'\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n portalled = true,\n container,\n ...props\n}: PopoverContentProps) {\n const content = (\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-white text-gray-800 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-[288px] origin-(--radix-popover-content-transform-origin) rounded border border-gray-900/8 p-16 shadow-200 outline-hidden',\n className\n )}\n {...props}\n />\n )\n\n if (!portalled) return content\n\n return (\n <PopoverPrimitive.Portal container={container}>\n {content}\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nexport type PopoverContentProps = React.ComponentProps<\n typeof PopoverPrimitive.Content\n> & {\n portalled?: boolean\n container?: React.ComponentProps<typeof PopoverPrimitive.Portal>['container']\n}\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger }\n"],"mappings":";;;;;;;AAMA,SAAS,EAAQ,EACf,GAAG,KACkD;CACrD,OAAO,iBAAA,GAAA,EAAA,KAAC,EAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;CAAQ,CAAA;AAChE;AAEA,SAAS,EAAe,EACtB,GAAG,KACqD;CACxD,OAAO,iBAAA,GAAA,EAAA,KAAC,EAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;CAAQ,CAAA;AAC3E;AAEA,SAAS,EAAe,EACtB,cACA,WAAQ,UACR,gBAAa,GACb,eAAY,IACZ,cACA,GAAG,KACmB;CACtB,IAAM,IACJ,iBAAA,GAAA,EAAA,KAAC,EAAiB,SAAlB;EACE,aAAU;EACH;EACK;EACZ,WAAW,EACT,4eACA,CACF;EACA,GAAI;CACL,CAAA;CAKH,OAFK,IAGH,iBAAA,GAAA,EAAA,KAAC,EAAiB,QAAlB;EAAoC;YACjC;CACsB,CAAA,IALJ;AAOzB;AAEA,SAAS,EAAc,EACrB,GAAG,KACoD;CACvD,OAAO,iBAAA,GAAA,EAAA,KAAC,EAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACzE"}
|
package/dist/index22.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=index22.cjs.map
|
|
1
|
+
const e=require("./index2.cjs"),t=require("./index7.cjs"),n=require("./index10.cjs"),r=require("./index12.cjs"),i=require("./index21.cjs");let a=require("lucide-react"),o=require("react");o=e.__toESM(o,1);var s=n.default;function c({children:e,label:n,selectedLabel:c,trigger:l,i18n:u,value:d,onOpenChange:f,onApply:p,contentProps:m={},buttonProps:h={},clearable:g=!0,..._}){let[v,y]=o.default.useState(!1),[b,x]=o.default.useState(d||null),S=d?c?c(d):d.toString():n,C=(0,s.jsxs)(r.Button,{variant:d?`filled`:`outline`,intent:d?`filter`:`secondary`,size:`sm`,className:t.cn(`font-normal flex items-center whitespace-nowrap gap-x-4 rounded`,{"pr-12":!!d}),...h,children:[S,g&&d&&(0,s.jsx)(a.LucideX,{className:`w-16 h-16 rounded hover:bg-purple-100 shrink-0`,onClick:e=>{e.preventDefault(),x(null),p?.(void 0)}})]});function w(){p?.(b??void 0),y(!1)}return(0,s.jsxs)(i.Popover,{open:v,onOpenChange:e=>{f?.(e),e||p?.(b??void 0),e&&x(d??null),y(e)},..._,children:[(0,s.jsx)(i.PopoverTrigger,{asChild:!0,children:l||C}),(0,s.jsx)(i.PopoverContent,{className:`w-full min-w-[200px]`,align:`start`,...m,children:(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`div`,{onKeyDown:e=>{if(e.defaultPrevented||e.key!==`Enter`)return;let t=e.target;if(!t)return;let n=t.tagName,r=n===`INPUT`,i=n===`TEXTAREA`,a=n===`BUTTON`,o=t.isContentEditable;!r||i||a||o||(e.preventDefault(),e.stopPropagation(),w())},children:e({onFilterChange:x,filterValue:b})}),(0,s.jsxs)(`div`,{className:`w-full flex justify-between mt-16`,children:[g&&b&&u.clear&&(0,s.jsx)(r.Button,{variant:`link`,intent:`secondary`,size:`fit-content`,type:`button`,onClick:()=>x(null),children:u.clear}),u.apply&&(0,s.jsx)(r.Button,{className:`ml-auto`,variant:`link`,size:`fit-content`,type:`button`,onClick:e=>{e.preventDefault(),w()},children:u.apply})]})]})})]})}exports.Filter=c;
|
|
2
|
+
//# sourceMappingURL=index22.cjs.map
|
package/dist/index22.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index22.cjs","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index22.cjs","names":[],"sources":["../src/Filter/index.tsx"],"sourcesContent":["import { LucideX } from 'lucide-react'\nimport React from 'react'\nimport { Button, ButtonProps } from '../Button'\nimport {\n Popover,\n PopoverContent,\n PopoverContentProps,\n PopoverTrigger\n} from '../Popover'\nimport { cn } from '../lib/utils'\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 contentProps?: PopoverContentProps\n buttonProps?: ButtonProps\n clearable?: boolean\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 contentProps = {},\n buttonProps = {},\n clearable = true,\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={cn(\n 'font-normal flex items-center whitespace-nowrap gap-x-4 rounded',\n {\n 'pr-12': !!value\n }\n )}\n {...buttonProps}\n >\n {filterLabel}\n {clearable && 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 function handleApply() {\n onApply?.(localValue ?? undefined)\n setIsOpen(false)\n }\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={open => {\n onOpenChange?.(open)\n if (!open) onApply?.(localValue ?? undefined)\n if (open) setLocalValue(value ?? null)\n setIsOpen(open)\n }}\n {...props}\n >\n <PopoverTrigger asChild>{trigger || defaultTrigger}</PopoverTrigger>\n <PopoverContent\n className=\"w-full min-w-[200px]\"\n align=\"start\"\n {...contentProps}\n >\n <div>\n <div\n onKeyDown={e => {\n if (e.defaultPrevented) return\n if (e.key !== 'Enter') return\n const target = e.target as HTMLElement | null\n if (!target) return\n const tagName = target.tagName\n const isInput = tagName === 'INPUT'\n const isTextarea = tagName === 'TEXTAREA'\n const isButton = tagName === 'BUTTON'\n const isContentEditable = target.isContentEditable\n // Only apply on Enter from filter input fields, not from buttons,\n // textareas, or other interactive/contenteditable elements.\n if (!isInput || isTextarea || isButton || isContentEditable) {\n return\n }\n e.preventDefault()\n e.stopPropagation()\n handleApply()\n }}\n >\n {children({\n onFilterChange: setLocalValue,\n filterValue: localValue\n })}\n </div>\n <div className=\"w-full flex justify-between mt-16\">\n {clearable && localValue && i18n.clear && (\n <Button\n variant=\"link\"\n intent=\"secondary\"\n size=\"fit-content\"\n type=\"button\"\n onClick={() => setLocalValue(null)}\n >\n {i18n.clear}\n </Button>\n )}\n {i18n.apply && (\n <Button\n className=\"ml-auto\"\n variant=\"link\"\n size=\"fit-content\"\n type=\"button\"\n onClick={e => {\n e.preventDefault()\n handleApply()\n }}\n >\n {i18n.apply}\n </Button>\n )}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport { Filter }\nexport type { FilterProps }\n"],"mappings":"6NA0CA,SAAS,EAAU,CACjB,WACA,QACA,gBACA,UACA,OACA,QACA,eACA,UACA,eAAe,CAAC,EAChB,cAAc,CAAC,EACf,YAAY,GACZ,GAAG,GACc,CACjB,GAAM,CAAC,EAAQ,GAAa,EAAA,QAAM,SAAS,EAAK,EAC1C,CAAC,EAAY,GAAiB,EAAA,QAAM,SAAmB,GAAS,IAAI,EAEpE,EAAc,EAChB,EACE,EAAc,CAAK,EACnB,EAAM,SAAS,EACjB,EAEE,GACJ,EAAA,EAAA,MAAC,EAAA,OAAD,CACE,QAAS,EAAQ,SAAW,UAC5B,OAAQ,EAAQ,SAAW,YAC3B,KAAK,KACL,UAAW,EAAA,GACT,kEACA,CACE,QAAS,CAAC,CAAC,CACb,CACF,EACA,GAAI,WAVN,CAYG,EACA,GAAa,IACZ,EAAA,EAAA,KAAC,EAAA,QAAD,CACE,UAAU,iDACV,QAAS,GAAK,CACZ,EAAE,eAAe,EACjB,EAAc,IAAI,EAClB,IAAU,IAAA,EAAS,CACrB,CACD,CAAA,CAEG,IAGV,SAAS,GAAc,CACrB,IAAU,GAAc,IAAA,EAAS,EACjC,EAAU,EAAK,CACjB,CAEA,OACE,EAAA,EAAA,MAAC,EAAA,QAAD,CACE,KAAM,EACN,aAAc,GAAQ,CACpB,IAAe,CAAI,EACd,GAAM,IAAU,GAAc,IAAA,EAAS,EACxC,GAAM,EAAc,GAAS,IAAI,EACrC,EAAU,CAAI,CAChB,EACA,GAAI,WARN,EAUE,EAAA,EAAA,KAAC,EAAA,eAAD,CAAgB,QAAA,YAAS,GAAW,CAA+B,CAAA,GACnE,EAAA,EAAA,KAAC,EAAA,eAAD,CACE,UAAU,uBACV,MAAM,QACN,GAAI,YAEJ,EAAA,EAAA,MAAC,MAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,GAAK,CAEd,GADI,EAAE,kBACF,EAAE,MAAQ,QAAS,OACvB,IAAM,EAAS,EAAE,OACjB,GAAI,CAAC,EAAQ,OACb,IAAM,EAAU,EAAO,QACjB,EAAU,IAAY,QACtB,EAAa,IAAY,WACzB,EAAW,IAAY,SACvB,EAAoB,EAAO,kBAG7B,CAAC,GAAW,GAAc,GAAY,IAG1C,EAAE,eAAe,EACjB,EAAE,gBAAgB,EAClB,EAAY,EACd,WAEC,EAAS,CACR,eAAgB,EAChB,YAAa,CACf,CAAC,CACE,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,6CAAf,CACG,GAAa,GAAc,EAAK,QAC/B,EAAA,EAAA,KAAC,EAAA,OAAD,CACE,QAAQ,OACR,OAAO,YACP,KAAK,cACL,KAAK,SACL,YAAe,EAAc,IAAI,WAEhC,EAAK,KACA,CAAA,EAET,EAAK,QACJ,EAAA,EAAA,KAAC,EAAA,OAAD,CACE,UAAU,UACV,QAAQ,OACR,KAAK,cACL,KAAK,SACL,QAAS,GAAK,CACZ,EAAE,eAAe,EACjB,EAAY,CACd,WAEC,EAAK,KACA,CAAA,CAEP,GACF,CAAA,CAAA,CACS,CAAA,CACT,GAEb"}
|
package/dist/index22.js
CHANGED
|
@@ -1,47 +1,77 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { cn as e } from "./index7.js";
|
|
2
|
+
import { require_jsx_runtime as t } from "./index10.js";
|
|
3
|
+
import { Button as n } from "./index12.js";
|
|
4
|
+
import { Popover as r, PopoverContent as i, PopoverTrigger as a } from "./index21.js";
|
|
5
|
+
import { LucideX as o } from "lucide-react";
|
|
6
|
+
import s from "react";
|
|
7
|
+
//#region src/Filter/index.tsx
|
|
8
|
+
var c = t();
|
|
9
|
+
function l({ children: t, label: l, selectedLabel: u, trigger: d, i18n: f, value: p, onOpenChange: m, onApply: h, contentProps: g = {}, buttonProps: _ = {}, clearable: v = !0, ...y }) {
|
|
10
|
+
let [b, x] = s.useState(!1), [S, C] = s.useState(p || null), w = p ? u ? u(p) : p.toString() : l, T = /* @__PURE__ */ (0, c.jsxs)(n, {
|
|
11
|
+
variant: p ? "filled" : "outline",
|
|
12
|
+
intent: p ? "filter" : "secondary",
|
|
13
|
+
size: "sm",
|
|
14
|
+
className: e("font-normal flex items-center whitespace-nowrap gap-x-4 rounded", { "pr-12": !!p }),
|
|
15
|
+
..._,
|
|
16
|
+
children: [w, v && p && /* @__PURE__ */ (0, c.jsx)(o, {
|
|
17
|
+
className: "w-16 h-16 rounded hover:bg-purple-100 shrink-0",
|
|
18
|
+
onClick: (e) => {
|
|
19
|
+
e.preventDefault(), C(null), h?.(void 0);
|
|
20
|
+
}
|
|
21
|
+
})]
|
|
22
|
+
});
|
|
23
|
+
function E() {
|
|
24
|
+
h?.(S ?? void 0), x(!1);
|
|
25
|
+
}
|
|
26
|
+
return /* @__PURE__ */ (0, c.jsxs)(r, {
|
|
27
|
+
open: b,
|
|
28
|
+
onOpenChange: (e) => {
|
|
29
|
+
m?.(e), e || h?.(S ?? void 0), e && C(p ?? null), x(e);
|
|
30
|
+
},
|
|
31
|
+
...y,
|
|
32
|
+
children: [/* @__PURE__ */ (0, c.jsx)(a, {
|
|
33
|
+
asChild: !0,
|
|
34
|
+
children: d || T
|
|
35
|
+
}), /* @__PURE__ */ (0, c.jsx)(i, {
|
|
36
|
+
className: "w-full min-w-[200px]",
|
|
37
|
+
align: "start",
|
|
38
|
+
...g,
|
|
39
|
+
children: /* @__PURE__ */ (0, c.jsxs)("div", { children: [/* @__PURE__ */ (0, c.jsx)("div", {
|
|
40
|
+
onKeyDown: (e) => {
|
|
41
|
+
if (e.defaultPrevented || e.key !== "Enter") return;
|
|
42
|
+
let t = e.target;
|
|
43
|
+
if (!t) return;
|
|
44
|
+
let n = t.tagName, r = n === "INPUT", i = n === "TEXTAREA", a = n === "BUTTON", o = t.isContentEditable;
|
|
45
|
+
!r || i || a || o || (e.preventDefault(), e.stopPropagation(), E());
|
|
46
|
+
},
|
|
47
|
+
children: t({
|
|
48
|
+
onFilterChange: C,
|
|
49
|
+
filterValue: S
|
|
50
|
+
})
|
|
51
|
+
}), /* @__PURE__ */ (0, c.jsxs)("div", {
|
|
52
|
+
className: "w-full flex justify-between mt-16",
|
|
53
|
+
children: [v && S && f.clear && /* @__PURE__ */ (0, c.jsx)(n, {
|
|
54
|
+
variant: "link",
|
|
55
|
+
intent: "secondary",
|
|
56
|
+
size: "fit-content",
|
|
57
|
+
type: "button",
|
|
58
|
+
onClick: () => C(null),
|
|
59
|
+
children: f.clear
|
|
60
|
+
}), f.apply && /* @__PURE__ */ (0, c.jsx)(n, {
|
|
61
|
+
className: "ml-auto",
|
|
62
|
+
variant: "link",
|
|
63
|
+
size: "fit-content",
|
|
64
|
+
type: "button",
|
|
65
|
+
onClick: (e) => {
|
|
66
|
+
e.preventDefault(), E();
|
|
67
|
+
},
|
|
68
|
+
children: f.apply
|
|
69
|
+
})]
|
|
70
|
+
})] })
|
|
71
|
+
})]
|
|
72
|
+
});
|
|
17
73
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return /* @__PURE__ */ e.jsx(
|
|
23
|
-
a.Item,
|
|
24
|
-
{
|
|
25
|
-
"data-slot": "radio-group-item",
|
|
26
|
-
className: o(
|
|
27
|
-
"aspect-square bg-white peer group h-16 w-16 rounded-full border border-gray-900/16 hover:bg-gray-900/8 active:bg-gray-900/16 disabled:cursor-not-allowed disabled:opacity-64 disabled:bg-white",
|
|
28
|
-
"data-[state=checked]:bg-white data-[state=checked]:border-purple-700 data-[state=checked]:hover:border-purple-800 data-[state=checked]:active:border-purple-900",
|
|
29
|
-
r
|
|
30
|
-
),
|
|
31
|
-
...t,
|
|
32
|
-
children: /* @__PURE__ */ e.jsx(
|
|
33
|
-
a.Indicator,
|
|
34
|
-
{
|
|
35
|
-
"data-slot": "radio-group-indicator",
|
|
36
|
-
className: "relative flex items-center justify-center",
|
|
37
|
-
children: /* @__PURE__ */ e.jsx(i, { className: "fill-purple-700 text-purple-700 group-hover:fill-purple-800 group-hover:text-purple-800 group-active:fill-purple-900 group-active:text-purple-900 absolute top-1/2 left-1/2 size-[10px] -translate-x-1/2 -translate-y-1/2" })
|
|
38
|
-
}
|
|
39
|
-
)
|
|
40
|
-
}
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
export {
|
|
44
|
-
s as RadioGroup,
|
|
45
|
-
u as RadioGroupItem
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=index22.js.map
|
|
74
|
+
//#endregion
|
|
75
|
+
export { l as Filter };
|
|
76
|
+
|
|
77
|
+
//# sourceMappingURL=index22.js.map
|
package/dist/index22.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index22.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index22.js","names":[],"sources":["../src/Filter/index.tsx"],"sourcesContent":["import { LucideX } from 'lucide-react'\nimport React from 'react'\nimport { Button, ButtonProps } from '../Button'\nimport {\n Popover,\n PopoverContent,\n PopoverContentProps,\n PopoverTrigger\n} from '../Popover'\nimport { cn } from '../lib/utils'\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 contentProps?: PopoverContentProps\n buttonProps?: ButtonProps\n clearable?: boolean\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 contentProps = {},\n buttonProps = {},\n clearable = true,\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={cn(\n 'font-normal flex items-center whitespace-nowrap gap-x-4 rounded',\n {\n 'pr-12': !!value\n }\n )}\n {...buttonProps}\n >\n {filterLabel}\n {clearable && 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 function handleApply() {\n onApply?.(localValue ?? undefined)\n setIsOpen(false)\n }\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={open => {\n onOpenChange?.(open)\n if (!open) onApply?.(localValue ?? undefined)\n if (open) setLocalValue(value ?? null)\n setIsOpen(open)\n }}\n {...props}\n >\n <PopoverTrigger asChild>{trigger || defaultTrigger}</PopoverTrigger>\n <PopoverContent\n className=\"w-full min-w-[200px]\"\n align=\"start\"\n {...contentProps}\n >\n <div>\n <div\n onKeyDown={e => {\n if (e.defaultPrevented) return\n if (e.key !== 'Enter') return\n const target = e.target as HTMLElement | null\n if (!target) return\n const tagName = target.tagName\n const isInput = tagName === 'INPUT'\n const isTextarea = tagName === 'TEXTAREA'\n const isButton = tagName === 'BUTTON'\n const isContentEditable = target.isContentEditable\n // Only apply on Enter from filter input fields, not from buttons,\n // textareas, or other interactive/contenteditable elements.\n if (!isInput || isTextarea || isButton || isContentEditable) {\n return\n }\n e.preventDefault()\n e.stopPropagation()\n handleApply()\n }}\n >\n {children({\n onFilterChange: setLocalValue,\n filterValue: localValue\n })}\n </div>\n <div className=\"w-full flex justify-between mt-16\">\n {clearable && localValue && i18n.clear && (\n <Button\n variant=\"link\"\n intent=\"secondary\"\n size=\"fit-content\"\n type=\"button\"\n onClick={() => setLocalValue(null)}\n >\n {i18n.clear}\n </Button>\n )}\n {i18n.apply && (\n <Button\n className=\"ml-auto\"\n variant=\"link\"\n size=\"fit-content\"\n type=\"button\"\n onClick={e => {\n e.preventDefault()\n handleApply()\n }}\n >\n {i18n.apply}\n </Button>\n )}\n </div>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\nexport { Filter }\nexport type { FilterProps }\n"],"mappings":";;;;;;;;AA0CA,SAAS,EAAU,EACjB,aACA,UACA,kBACA,YACA,SACA,UACA,iBACA,YACA,kBAAe,CAAC,GAChB,iBAAc,CAAC,GACf,eAAY,IACZ,GAAG,KACc;CACjB,IAAM,CAAC,GAAQ,KAAa,EAAM,SAAS,EAAK,GAC1C,CAAC,GAAY,KAAiB,EAAM,SAAmB,KAAS,IAAI,GAEpE,IAAc,IAChB,IACE,EAAc,CAAK,IACnB,EAAM,SAAS,IACjB,GAEE,IACJ,iBAAA,GAAA,EAAA,MAAC,GAAD;EACE,SAAS,IAAQ,WAAW;EAC5B,QAAQ,IAAQ,WAAW;EAC3B,MAAK;EACL,WAAW,EACT,mEACA,EACE,SAAS,CAAC,CAAC,EACb,CACF;EACA,GAAI;YAVN,CAYG,GACA,KAAa,KACZ,iBAAA,GAAA,EAAA,KAAC,GAAD;GACE,WAAU;GACV,UAAS,MAAK;IAGZ,AAFA,EAAE,eAAe,GACjB,EAAc,IAAI,GAClB,IAAU,KAAA,CAAS;GACrB;EACD,CAAA,CAEG;;CAGV,SAAS,IAAc;EAErB,AADA,IAAU,KAAc,KAAA,CAAS,GACjC,EAAU,EAAK;CACjB;CAEA,OACE,iBAAA,GAAA,EAAA,MAAC,GAAD;EACE,MAAM;EACN,eAAc,MAAQ;GAIpB,AAHA,IAAe,CAAI,GACd,KAAM,IAAU,KAAc,KAAA,CAAS,GACxC,KAAM,EAAc,KAAS,IAAI,GACrC,EAAU,CAAI;EAChB;EACA,GAAI;YARN,CAUE,iBAAA,GAAA,EAAA,KAAC,GAAD;GAAgB,SAAA;aAAS,KAAW;EAA+B,CAAA,GACnE,iBAAA,GAAA,EAAA,KAAC,GAAD;GACE,WAAU;GACV,OAAM;GACN,GAAI;aAEJ,iBAAA,GAAA,EAAA,MAAC,OAAD,EAAA,UAAA,CACE,iBAAA,GAAA,EAAA,KAAC,OAAD;IACE,YAAW,MAAK;KAEd,IADI,EAAE,oBACF,EAAE,QAAQ,SAAS;KACvB,IAAM,IAAS,EAAE;KACjB,IAAI,CAAC,GAAQ;KACb,IAAM,IAAU,EAAO,SACjB,IAAU,MAAY,SACtB,IAAa,MAAY,YACzB,IAAW,MAAY,UACvB,IAAoB,EAAO;KAG7B,CAAC,KAAW,KAAc,KAAY,MAG1C,EAAE,eAAe,GACjB,EAAE,gBAAgB,GAClB,EAAY;IACd;cAEC,EAAS;KACR,gBAAgB;KAChB,aAAa;IACf,CAAC;GACE,CAAA,GACL,iBAAA,GAAA,EAAA,MAAC,OAAD;IAAK,WAAU;cAAf,CACG,KAAa,KAAc,EAAK,SAC/B,iBAAA,GAAA,EAAA,KAAC,GAAD;KACE,SAAQ;KACR,QAAO;KACP,MAAK;KACL,MAAK;KACL,eAAe,EAAc,IAAI;eAEhC,EAAK;IACA,CAAA,GAET,EAAK,SACJ,iBAAA,GAAA,EAAA,KAAC,GAAD;KACE,WAAU;KACV,SAAQ;KACR,MAAK;KACL,MAAK;KACL,UAAS,MAAK;MAEZ,AADA,EAAE,eAAe,GACjB,EAAY;KACd;eAEC,EAAK;IACA,CAAA,CAEP;KACF,EAAA,CAAA;EACS,CAAA,CACT;;AAEb"}
|
package/dist/index23.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
//# sourceMappingURL=index23.cjs.map
|
|
1
|
+
const e=require("./index2.cjs"),t=require("./index5.cjs"),n=require("./index7.cjs"),r=require("./index10.cjs");let i=require("lucide-react"),a=require("react");a=e.__toESM(a,1);var o=r.default,s=t.cva(``,{variants:{variant:{white:`to-white`,gray:`to-gray-50`}},defaultVariants:{variant:`gray`}}),c=t.cva(``,{variants:{variant:{white:`bg-white`,gray:`bg-gray-50`}},defaultVariants:{variant:`gray`}});function l({children:e,className:t,variant:r}){let l=a.default.useRef(null),[u,d]=a.default.useState(!1),[f,p]=a.default.useState(!1),m=a.default.useCallback(()=>{if(!l.current)return;let{scrollLeft:e,scrollWidth:t,clientWidth:n}=l.current;d(e>0),p(e+n<t-5)},[l]);return a.default.useEffect(()=>{m();let e=n.debounce(m,100);return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[m]),(0,o.jsxs)(`div`,{className:`relative flex overflow-hidden`,children:[(0,o.jsxs)(`div`,{className:n.cn(`absolute left-0 top-0 h-full flex items-center`,{hidden:!u}),children:[(0,o.jsx)(i.ChevronLeft,{size:16,className:n.cn(`text-gray-600 h-full cursor-pointer`,c({variant:r})),onClick:()=>l.current?.scrollBy({left:-100,behavior:`smooth`})}),(0,o.jsx)(`div`,{className:n.cn(`w-[50px] h-full bg-linear-to-l from-transparent`,s({variant:r}))})]}),(0,o.jsx)(`div`,{ref:l,onScroll:m,className:n.cn(`overflow-scroll no-scrollbar`,t),children:e}),(0,o.jsxs)(`div`,{className:n.cn(`absolute right-0 top-0 h-full w-fit flex items-center justify-end`,{hidden:!f}),children:[(0,o.jsx)(`div`,{className:n.cn(`w-[50px] h-full bg-linear-to-r from-transparent`,s({variant:r}))}),(0,o.jsx)(i.ChevronRight,{size:16,className:n.cn(`text-gray-600 h-full cursor-pointer`,c({variant:r})),onClick:()=>l.current?.scrollBy({left:100,behavior:`smooth`})})]})]})}exports.GradientScroll=l;
|
|
2
|
+
//# sourceMappingURL=index23.cjs.map
|
package/dist/index23.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index23.cjs","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index23.cjs","names":[],"sources":["../src/FilterBar/GradientScroll.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\nimport { ChevronLeft, ChevronRight } from 'lucide-react'\nimport React from 'react'\nimport { cn, debounce } from '../lib/utils'\n\nexport const gradientVariants = cva('', {\n variants: {\n variant: {\n white: 'to-white',\n gray: 'to-gray-50'\n }\n },\n defaultVariants: {\n variant: 'gray'\n }\n})\n\nexport const backgroundVariants = cva('', {\n variants: {\n variant: {\n white: 'bg-white',\n gray: 'bg-gray-50'\n }\n },\n defaultVariants: {\n variant: 'gray'\n }\n})\n\ninterface GradientScrollProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof gradientVariants> {}\n\nexport function GradientScroll({\n children,\n className,\n variant\n}: GradientScrollProps) {\n const scrollableRef = React.useRef<HTMLDivElement>(null)\n const [leftArrowVisible, setLeftArrowVisible] = React.useState(false)\n const [rightArrowVisible, setRightArrowVisible] = React.useState(false)\n\n const handleScroll = React.useCallback(() => {\n if (!scrollableRef.current) return\n\n const { scrollLeft, scrollWidth, clientWidth } = scrollableRef.current\n setLeftArrowVisible(scrollLeft > 0)\n setRightArrowVisible(scrollLeft + clientWidth < scrollWidth - 5)\n }, [scrollableRef])\n\n React.useEffect(() => {\n handleScroll()\n\n const debouncedHandleScroll = debounce(handleScroll, 100)\n window.addEventListener('resize', debouncedHandleScroll)\n return () => {\n window.removeEventListener('resize', debouncedHandleScroll)\n }\n }, [handleScroll])\n\n return (\n <div className=\"relative flex overflow-hidden\">\n <div\n className={cn('absolute left-0 top-0 h-full flex items-center', {\n hidden: !leftArrowVisible\n })}\n >\n <ChevronLeft\n size={16}\n className={cn(\n 'text-gray-600 h-full cursor-pointer',\n backgroundVariants({ variant })\n )}\n onClick={() =>\n scrollableRef.current?.scrollBy({ left: -100, behavior: 'smooth' })\n }\n />\n <div\n className={cn(\n 'w-[50px] h-full bg-linear-to-l from-transparent',\n gradientVariants({ variant })\n )}\n />\n </div>\n <div\n ref={scrollableRef}\n onScroll={handleScroll}\n className={cn('overflow-scroll no-scrollbar', className)}\n >\n {children}\n </div>\n <div\n className={cn(\n 'absolute right-0 top-0 h-full w-fit flex items-center justify-end',\n { hidden: !rightArrowVisible }\n )}\n >\n <div\n className={cn(\n 'w-[50px] h-full bg-linear-to-r from-transparent',\n gradientVariants({ variant })\n )}\n />\n <ChevronRight\n size={16}\n className={cn(\n 'text-gray-600 h-full cursor-pointer',\n backgroundVariants({ variant })\n )}\n onClick={() =>\n scrollableRef.current?.scrollBy({ left: 100, behavior: 'smooth' })\n }\n />\n </div>\n </div>\n )\n}\n"],"mappings":"iMAKa,EAAmB,EAAA,IAAI,GAAI,CACtC,SAAU,CACR,QAAS,CACP,MAAO,WACP,KAAM,YACR,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EAEY,EAAqB,EAAA,IAAI,GAAI,CACxC,SAAU,CACR,QAAS,CACP,MAAO,WACP,KAAM,YACR,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EAMD,SAAgB,EAAe,CAC7B,WACA,YACA,WACsB,CACtB,IAAM,EAAgB,EAAA,QAAM,OAAuB,IAAI,EACjD,CAAC,EAAkB,GAAuB,EAAA,QAAM,SAAS,EAAK,EAC9D,CAAC,EAAmB,GAAwB,EAAA,QAAM,SAAS,EAAK,EAEhE,EAAe,EAAA,QAAM,gBAAkB,CAC3C,GAAI,CAAC,EAAc,QAAS,OAE5B,GAAM,CAAE,aAAY,cAAa,eAAgB,EAAc,QAC/D,EAAoB,EAAa,CAAC,EAClC,EAAqB,EAAa,EAAc,EAAc,CAAC,CACjE,EAAG,CAAC,CAAa,CAAC,EAYlB,OAVA,EAAA,QAAM,cAAgB,CACpB,EAAa,EAEb,IAAM,EAAwB,EAAA,SAAS,EAAc,GAAG,EAExD,OADA,OAAO,iBAAiB,SAAU,CAAqB,MAC1C,CACX,OAAO,oBAAoB,SAAU,CAAqB,CAC5D,CACF,EAAG,CAAC,CAAY,CAAC,GAGf,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,yCAAf,EACE,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,EAAA,GAAG,iDAAkD,CAC9D,OAAQ,CAAC,CACX,CAAC,WAHH,EAKE,EAAA,EAAA,KAAC,EAAA,YAAD,CACE,KAAM,GACN,UAAW,EAAA,GACT,sCACA,EAAmB,CAAE,SAAQ,CAAC,CAChC,EACA,YACE,EAAc,SAAS,SAAS,CAAE,KAAM,KAAM,SAAU,QAAS,CAAC,CAErE,CAAA,GACD,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,EAAA,GACT,kDACA,EAAiB,CAAE,SAAQ,CAAC,CAC9B,CACD,CAAA,CACE,KACL,EAAA,EAAA,KAAC,MAAD,CACE,IAAK,EACL,SAAU,EACV,UAAW,EAAA,GAAG,+BAAgC,CAAS,EAEtD,UACE,CAAA,GACL,EAAA,EAAA,MAAC,MAAD,CACE,UAAW,EAAA,GACT,oEACA,CAAE,OAAQ,CAAC,CAAkB,CAC/B,WAJF,EAME,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,EAAA,GACT,kDACA,EAAiB,CAAE,SAAQ,CAAC,CAC9B,CACD,CAAA,GACD,EAAA,EAAA,KAAC,EAAA,aAAD,CACE,KAAM,GACN,UAAW,EAAA,GACT,sCACA,EAAmB,CAAE,SAAQ,CAAC,CAChC,EACA,YACE,EAAc,SAAS,SAAS,CAAE,KAAM,IAAK,SAAU,QAAS,CAAC,CAEpE,CAAA,CACE,GACF,GAET"}
|