@smitch/breeze 0.1.0 → 0.1.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.
@@ -13,16 +13,21 @@ var layouts = {
13
13
  flush: "border border-x-0 border-t-0 last:border-b-0",
14
14
  spaced: "mb-2 border",
15
15
  };
16
+ var backgrounds = {
17
+ responsive: "bg-light text-dark dark:bg-dark dark:text-light",
18
+ transparent: "bg-transparent text-inherit",
19
+ };
16
20
  var Accordion = function (_a) {
17
- var _b = _a.className, className = _b === void 0 ? "" : _b, style = _a.style, _c = _a.size, size = _c === void 0 ? "md" : _c, data = _a.data, opened = _a.opened, _d = _a.layout, layout = _d === void 0 ? "default" : _d, _e = _a.icon, icon = _e === void 0 ? "symbol" : _e, _f = _a.iconPosition, iconPosition = _f === void 0 ? "right" : _f, iconColor = _a.iconColor, children = _a.children;
18
- var _g = useState(""), open = _g[0], setOpen = _g[1];
21
+ var _b = _a.className, className = _b === void 0 ? "" : _b, style = _a.style, _c = _a.size, size = _c === void 0 ? "md" : _c, data = _a.data, opened = _a.opened, _d = _a.layout, layout = _d === void 0 ? "default" : _d, _e = _a.background, background = _e === void 0 ? "responsive" : _e, _f = _a.icon, icon = _f === void 0 ? "symbol" : _f, _g = _a.iconPosition, iconPosition = _g === void 0 ? "right" : _g, iconColor = _a.iconColor, children = _a.children;
22
+ var _h = useState(""), open = _h[0], setOpen = _h[1];
19
23
  useEffect(function () {
20
24
  if (opened)
21
25
  setOpen(opened);
22
26
  }, [opened]);
23
27
  var sizeClasses = useMemo(function () { return sizes[size]; }, [size]);
24
28
  var layoutClasses = useMemo(function () { return layouts[layout]; }, [layout]);
25
- return (_jsx("div", { className: twMerge("accordion group ".concat(sizeClasses), className), style: style, "data-testid": "accordion", children: data ? (data.map(function (item) { return (_jsxs("div", { className: "accordion-wrapper ".concat(layoutClasses, " bg-light text-dark dark:bg-dark dark:text-light border-slate-300 dark:border-slate-500"), children: [_jsx(AccordionHead, { id: item.id, name: item.name, title: item.title, icon: icon, iconPosition: iconPosition, iconColor: iconColor, layout: layout, open: open, setopen: setOpen }), _jsx(AccordionCard, { title: item.title || item.name, src: item.src, description: item.description, link: item.link })] }, item.id)); })) : (_jsx("div", { className: "accordion-children", children: children })) }));
29
+ var backgroundClasses = useMemo(function () { return backgrounds[background]; }, [background]);
30
+ return (_jsx("div", { className: twMerge("accordion group ".concat(sizeClasses), className), style: style, "data-testid": "accordion", children: data ? (data.map(function (item) { return (_jsxs("div", { className: "accordion-wrapper ".concat(layoutClasses, " ").concat(backgroundClasses, " border-slate-300 dark:border-slate-500"), children: [_jsx(AccordionHead, { id: item.id, name: item.name, title: item.title, icon: icon, iconPosition: iconPosition, iconColor: iconColor, layout: layout, open: open, setopen: setOpen }), _jsx(AccordionCard, { title: item.title || item.name, src: item.src, description: item.description, link: item.link })] }, item.id)); })) : (_jsx("div", { className: "accordion-children", children: children })) }));
26
31
  };
27
32
  export default Accordion;
28
33
  //# sourceMappingURL=Accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/ui/accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIvD,IAAM,KAAK,GAAG;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,SAAS;CACd,CAAC;AAEF,IAAM,OAAO,GAAG;IACd,OAAO,EAAE,uCAAuC;IAChD,KAAK,EAAE,8CAA8C;IACrD,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,EAWF;QAVf,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,KAAK,WAAA,EACL,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EACX,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,cAAkB,EAAlB,MAAM,mBAAG,SAAS,KAAA,EAClB,YAAe,EAAf,IAAI,mBAAG,QAAQ,KAAA,EACf,oBAAsB,EAAtB,YAAY,mBAAG,OAAO,KAAA,EACtB,SAAS,eAAA,EACT,QAAQ,cAAA;IAEF,IAAA,KAAkB,QAAQ,CAAS,EAAE,CAAC,EAArC,IAAI,QAAA,EAAE,OAAO,QAAwB,CAAC;IAE7C,SAAS,CAAC;QACR,IAAI,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,KAAK,CAAC,IAAI,CAAC,EAAX,CAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,IAAM,aAAa,GAAG,OAAO,CAAC,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,EAAf,CAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,OAAO,CACL,cACE,SAAS,EAAE,OAAO,CAAC,0BAAmB,WAAW,CAAE,EAAE,SAAS,CAAC,EAC/D,KAAK,EAAE,KAAK,iBACA,WAAW,YAEtB,IAAI,CAAC,CAAC,CAAC,CACN,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CACjB,eACE,SAAS,EAAE,4BAAqB,aAAa,4FAAyF,aAGtI,KAAC,aAAa,IACZ,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,GAChB,EAEF,KAAC,aAAa,IACZ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAC9B,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,GACf,KAnBG,IAAI,CAAC,EAAE,CAoBR,CACP,EAxBkB,CAwBlB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,oBAAoB,YAAE,QAAQ,GAAO,CACrD,GACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["\"use client\";\n\nimport React, { useState, useEffect, useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { AccordionHead, AccordionCard } from \"./atoms\";\n\nimport { AccordionProps } from \"./types\";\n\nconst sizes = {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n};\n\nconst layouts = {\n default: \"mb-0 border border-t-0 first:border-t\",\n flush: \"border border-x-0 border-t-0 last:border-b-0\",\n spaced: \"mb-2 border\",\n};\n\nconst Accordion = ({\n className = \"\",\n style,\n size = \"md\",\n data,\n opened,\n layout = \"default\",\n icon = \"symbol\",\n iconPosition = \"right\",\n iconColor,\n children,\n}: AccordionProps) => {\n const [open, setOpen] = useState<string>(\"\");\n\n useEffect(() => {\n if (opened) setOpen(opened);\n }, [opened]);\n\n const sizeClasses = useMemo(() => sizes[size], [size]);\n const layoutClasses = useMemo(() => layouts[layout], [layout]);\n\n return (\n <div\n className={twMerge(`accordion group ${sizeClasses}`, className)}\n style={style}\n data-testid=\"accordion\"\n >\n {data ? (\n data.map((item) => (\n <div\n className={`accordion-wrapper ${layoutClasses} bg-light text-dark dark:bg-dark dark:text-light border-slate-300 dark:border-slate-500`}\n key={item.id}\n >\n <AccordionHead\n id={item.id}\n name={item.name}\n title={item.title}\n icon={icon}\n iconPosition={iconPosition}\n iconColor={iconColor}\n layout={layout}\n open={open}\n setopen={setOpen}\n />\n\n <AccordionCard\n title={item.title || item.name}\n src={item.src}\n description={item.description}\n link={item.link}\n />\n </div>\n ))\n ) : (\n <div className=\"accordion-children\">{children}</div>\n )}\n </div>\n );\n};\n\nexport default Accordion;\n"]}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/ui/accordion/Accordion.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useState, useEffect, useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { AccordionHead, AccordionCard } from \"./atoms\";\n\nimport { AccordionProps } from \"./types\";\n\nconst sizes = {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n};\n\nconst layouts = {\n default: \"mb-0 border border-t-0 first:border-t\",\n flush: \"border border-x-0 border-t-0 last:border-b-0\",\n spaced: \"mb-2 border\",\n};\n\nconst backgrounds = {\n responsive: \"bg-light text-dark dark:bg-dark dark:text-light\",\n transparent: \"bg-transparent text-inherit\",\n};\n\nconst Accordion = ({\n className = \"\",\n style,\n size = \"md\",\n data,\n opened,\n layout = \"default\",\n background = \"responsive\",\n icon = \"symbol\",\n iconPosition = \"right\",\n iconColor,\n children,\n}: AccordionProps) => {\n const [open, setOpen] = useState<string>(\"\");\n\n useEffect(() => {\n if (opened) setOpen(opened);\n }, [opened]);\n\n const sizeClasses = useMemo(() => sizes[size], [size]);\n const layoutClasses = useMemo(() => layouts[layout], [layout]);\n const backgroundClasses = useMemo(() => backgrounds[background], [background]);\n\n return (\n <div\n className={twMerge(`accordion group ${sizeClasses}`, className)}\n style={style}\n data-testid=\"accordion\"\n >\n {data ? (\n data.map((item) => (\n <div\n className={`accordion-wrapper ${layoutClasses} ${backgroundClasses} border-slate-300 dark:border-slate-500`}\n key={item.id}\n >\n <AccordionHead\n id={item.id}\n name={item.name}\n title={item.title}\n icon={icon}\n iconPosition={iconPosition}\n iconColor={iconColor}\n layout={layout}\n open={open}\n setopen={setOpen}\n />\n\n <AccordionCard\n title={item.title || item.name}\n src={item.src}\n description={item.description}\n link={item.link}\n />\n </div>\n ))\n ) : (\n <div className=\"accordion-children\">{children}</div>\n )}\n </div>\n );\n};\n\nexport default Accordion;\n"]}
@@ -1,10 +1,15 @@
1
- 'use client';
1
+ "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { AccordionHead, AccordionSection } from '../atoms';
4
- var themeClasses = 'bg-light text-dark dark:bg-dark dark:text-light border-neutral';
3
+ import { twMerge } from "tailwind-merge";
4
+ import { AccordionHead, AccordionSection } from "../atoms";
5
+ var themeClasses = "border-slate-300 dark:border-slate-500";
6
+ var backgrounds = {
7
+ responsive: "bg-light text-dark dark:bg-dark dark:text-light",
8
+ transparent: "bg-transparent text-inherit",
9
+ };
5
10
  var AccordionItem = function (_a) {
6
- var layoutClasses = _a.layoutClasses, id = _a.id, title = _a.title, _b = _a.icon, icon = _b === void 0 ? 'symbol' : _b, _c = _a.iconPosition, iconPosition = _c === void 0 ? 'right' : _c, _d = _a.layout, layout = _d === void 0 ? 'default' : _d, open = _a.open, setOpen = _a.setOpen, children = _a.children;
7
- return (_jsxs("div", { className: "accordion-item ".concat(layoutClasses, " ").concat(themeClasses), children: [_jsx(AccordionHead, { id: id, title: title, icon: icon, iconPosition: iconPosition, layout: layout, open: open, setopen: setOpen }), _jsx(AccordionSection, { children: children })] }, id));
11
+ var layoutClasses = _a.layoutClasses, id = _a.id, title = _a.title, _b = _a.icon, icon = _b === void 0 ? "symbol" : _b, _c = _a.iconPosition, iconPosition = _c === void 0 ? "right" : _c, iconColor = _a.iconColor, _d = _a.layout, layout = _d === void 0 ? "default" : _d, _e = _a.background, background = _e === void 0 ? "responsive" : _e, open = _a.open, setOpen = _a.setOpen, _f = _a.className, className = _f === void 0 ? "" : _f, children = _a.children;
12
+ return (_jsxs("div", { className: twMerge("accordion-item border-slate-300 dark:border-slate-500 ".concat(layoutClasses, " ").concat(backgrounds[background]), className), children: [_jsx(AccordionHead, { id: id, title: title, icon: icon, iconPosition: iconPosition, iconColor: iconColor, layout: layout, open: open, setopen: setOpen }), _jsx(AccordionSection, { children: children })] }, id));
8
13
  };
9
14
  export default AccordionItem;
10
15
  //# sourceMappingURL=AccordionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../../../src/ui/accordion/atoms/AccordionItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAMZ,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE1D,IAAM,YAAY,GAAG,gEAAgE,CAAA;AAErF,IAAM,aAAa,GAAG,UAAC,EAUF;QATpB,aAAa,mBAAA,EACb,EAAE,QAAA,EACF,KAAK,WAAA,EACL,YAAe,EAAf,IAAI,mBAAG,QAAQ,KAAA,EACf,oBAAsB,EAAtB,YAAY,mBAAG,OAAO,KAAA,EACtB,cAAkB,EAAlB,MAAM,mBAAG,SAAS,KAAA,EAClB,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,QAAQ,cAAA;IAER,OAAO,CACN,eACC,SAAS,EAAE,yBAAkB,aAAa,cAAI,YAAY,CAAE,aAG5D,KAAC,aAAa,IACb,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,GACf,EACF,KAAC,gBAAgB,cAAE,QAAQ,GAAoB,KAX1C,EAAE,CAYF,CACN,CAAA;AACF,CAAC,CAAA;AAED,eAAe,aAAa,CAAA","sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { AccordionItemProps } from '../types'\n\nimport { AccordionHead, AccordionSection } from '../atoms'\n\nconst themeClasses = 'bg-light text-dark dark:bg-dark dark:text-light border-neutral'\n\nconst AccordionItem = ({\n\tlayoutClasses,\n\tid,\n\ttitle,\n\ticon = 'symbol',\n\ticonPosition = 'right',\n\tlayout = 'default',\n\topen,\n\tsetOpen,\n\tchildren,\n}: AccordionItemProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`accordion-item ${layoutClasses} ${themeClasses}`}\n\t\t\tkey={id}\n\t\t>\n\t\t\t<AccordionHead\n\t\t\t\tid={id}\n\t\t\t\ttitle={title}\n\t\t\t\ticon={icon}\n\t\t\t\ticonPosition={iconPosition}\n\t\t\t\tlayout={layout}\n\t\t\t\topen={open}\n\t\t\t\tsetopen={setOpen}\n\t\t\t/>\n\t\t\t<AccordionSection>{children}</AccordionSection>\n\t\t</div>\n\t)\n}\n\nexport default AccordionItem\n"]}
1
+ {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../../../src/ui/accordion/atoms/AccordionItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE3D,IAAM,YAAY,GAAG,wCAAwC,CAAC;AAE9D,IAAM,WAAW,GAAG;IAClB,UAAU,EAAE,iDAAiD;IAC7D,WAAW,EAAE,6BAA6B;CAC3C,CAAC;AAEF,IAAM,aAAa,GAAG,UAAC,EAaF;QAZnB,aAAa,mBAAA,EACb,EAAE,QAAA,EACF,KAAK,WAAA,EACL,YAAe,EAAf,IAAI,mBAAG,QAAQ,KAAA,EACf,oBAAsB,EAAtB,YAAY,mBAAG,OAAO,KAAA,EACtB,SAAS,eAAA,EACT,cAAkB,EAAlB,MAAM,mBAAG,SAAS,KAAA,EAClB,kBAAyB,EAAzB,UAAU,mBAAG,YAAY,KAAA,EACzB,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,QAAQ,cAAA;IAER,OAAO,CACL,eACE,SAAS,EAAE,OAAO,CAChB,gEAAyD,aAAa,cAAI,WAAW,CAAC,UAAU,CAAC,CAAE,EACnG,SAAS,CACV,aAGD,KAAC,aAAa,IACZ,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,GAChB,EACF,KAAC,gBAAgB,cAAE,QAAQ,GAAoB,KAZ1C,EAAE,CAaH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { AccordionItemProps } from \"../types\";\n\nimport { AccordionHead, AccordionSection } from \"../atoms\";\n\nconst themeClasses = \"border-slate-300 dark:border-slate-500\";\n\nconst backgrounds = {\n responsive: \"bg-light text-dark dark:bg-dark dark:text-light\",\n transparent: \"bg-transparent text-inherit\",\n};\n\nconst AccordionItem = ({\n layoutClasses,\n id,\n title,\n icon = \"symbol\",\n iconPosition = \"right\",\n iconColor,\n layout = \"default\",\n background = \"responsive\",\n open,\n setOpen,\n className = \"\",\n children,\n}: AccordionItemProps) => {\n return (\n <div\n className={twMerge(\n `accordion-item border-slate-300 dark:border-slate-500 ${layoutClasses} ${backgrounds[background]}`,\n className\n )}\n key={id}\n >\n <AccordionHead\n id={id}\n title={title}\n icon={icon}\n iconPosition={iconPosition}\n iconColor={iconColor}\n layout={layout}\n open={open}\n setopen={setOpen}\n />\n <AccordionSection>{children}</AccordionSection>\n </div>\n );\n};\n\nexport default AccordionItem;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/accordion/types/index.ts"],"names":[],"mappings":"","sourcesContent":["interface DataProps {\n id: string;\n title?: string;\n name: string;\n description: string;\n body?: string;\n src: string;\n link: string;\n}\n\nexport interface AccordionProps {\n className?: string;\n style?: React.CSSProperties;\n size?: \"sm\" | \"md\" | \"lg\";\n data?: DataProps[];\n children?: React.ReactNode;\n opened?: string;\n layout?: \"default\" | \"flush\" | \"spaced\";\n icon?: \"symbol\" | \"arrow\";\n iconPosition?: \"left\" | \"right\";\n iconColor?: \"info\" | \"success\" | \"warning\" | \"danger\" | \"primary\" | \"secondary\" | \"current\";\n}\n\nexport interface AccordionHeadProps {\n icon?: \"symbol\" | \"arrow\";\n id: string;\n open: string;\n setopen: (id: string) => void;\n title?: string;\n name?: string;\n iconPosition?: \"left\" | \"right\";\n iconColor?: \"info\" | \"success\" | \"warning\" | \"danger\" | \"primary\" | \"secondary\" | \"current\";\n layout?: \"default\" | \"flush\" | \"spaced\";\n}\n\nexport interface AccordionCardProps {\n src?: string;\n title: string;\n description?: string;\n link?: string;\n}\n\nexport interface AccordionSectionProps {\n children: React.ReactNode;\n}\n\nexport interface AccordionItemProps {\n children: React.ReactNode;\n layoutClasses: string;\n id: string;\n title: string;\n icon?: \"symbol\" | \"arrow\";\n iconPosition?: \"left\" | \"right\";\n layout?: \"default\" | \"flush\" | \"spaced\";\n open: string;\n setOpen: (id: string) => void;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/accordion/types/index.ts"],"names":[],"mappings":"","sourcesContent":["interface DataProps {\n id: string;\n title?: string;\n name: string;\n description: string;\n body?: string;\n src: string;\n link: string;\n}\n\nexport interface AccordionProps {\n className?: string;\n style?: React.CSSProperties;\n size?: \"sm\" | \"md\" | \"lg\";\n data?: DataProps[];\n children?: React.ReactNode;\n opened?: string;\n layout?: \"default\" | \"flush\" | \"spaced\";\n background?: \"responsive\" | \"transparent\";\n icon?: \"symbol\" | \"arrow\";\n iconPosition?: \"left\" | \"right\";\n iconColor?: \"info\" | \"success\" | \"warning\" | \"danger\" | \"primary\" | \"secondary\" | \"current\";\n}\n\nexport interface AccordionHeadProps {\n icon?: \"symbol\" | \"arrow\";\n id: string;\n open: string;\n setopen: (id: string) => void;\n title?: string;\n name?: string;\n iconPosition?: \"left\" | \"right\";\n iconColor?: \"info\" | \"success\" | \"warning\" | \"danger\" | \"primary\" | \"secondary\" | \"current\";\n layout?: \"default\" | \"flush\" | \"spaced\";\n}\n\nexport interface AccordionCardProps {\n src?: string;\n title: string;\n description?: string;\n link?: string;\n}\n\nexport interface AccordionSectionProps {\n children: React.ReactNode;\n}\n\nexport interface AccordionItemProps {\n children: React.ReactNode;\n layoutClasses: string;\n id: string;\n title: string;\n icon?: \"symbol\" | \"arrow\";\n iconPosition?: \"left\" | \"right\";\n iconColor?: \"info\" | \"success\" | \"warning\" | \"danger\" | \"primary\" | \"secondary\" | \"current\";\n layout?: \"default\" | \"flush\" | \"spaced\";\n background?: \"responsive\" | \"transparent\";\n open: string;\n setOpen: (id: string) => void;\n className?: string;\n}\n"]}
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import { twMerge } from "tailwind-merge";
4
4
  import { CloseButton, Heading, Badge } from "..";
5
- var defaultStyles = "border-s-8 bg-slate-50 text-dark dark:bg-slate-700 dark:text-light";
6
- var outlineStyles = "border-0 outline outline-2 md:outline-4 bg-slate-50 text-dark dark:bg-slate-700 dark:text-light";
5
+ var defaultStyles = "border-s-8 bg-slate-100 text-dark dark:bg-slate-800 dark:text-light";
6
+ var outlineStyles = "border-0 outline outline-2 md:outline-4 bg-slate-100 text-dark dark:bg-slate-800 dark:text-light";
7
7
  var solidStyles = "solid border-none";
8
8
  var statuses = {
9
9
  info: "border-info outline-info",
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/ui/alert/Alert.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { AlertProps } from \"./types\";\n\nimport { CloseButton, Heading, Badge } from \"..\";\n\nconst defaultStyles = \"border-s-8 bg-slate-50 text-dark dark:bg-slate-700 dark:text-light\";\nconst outlineStyles =\n \"border-0 outline outline-2 md:outline-4 bg-slate-50 text-dark dark:bg-slate-700 dark:text-light\";\nconst solidStyles = `solid border-none`;\n\nconst statuses = {\n info: \"border-info outline-info\",\n success: \"border-success outline-success\",\n warning: \"border-warning outline-warning\",\n error: \"border-error outline-error\",\n dark: \"border-slate-600 outline-slate-600\",\n light: \"border-white outline-white\",\n};\n\nconst solidStatuses = {\n info: \"bg-info-light text-dark\",\n success: \"bg-success-light text-dark\",\n warning: \"bg-warning-light text-dark\",\n error: \"bg-error-light text-dark\",\n dark: \"bg-slate-700 text-light\",\n light: \"bg-slate-50 text-dark\",\n};\n\nconst layouts = {\n default: defaultStyles,\n outline: outlineStyles,\n solid: solidStyles,\n};\n\nconst roundeds = {\n none: \"rounded-0\",\n md: \"rounded\",\n lg: \"rounded-lg\",\n};\n\nconst Alert = ({\n className = \"\",\n style,\n status = \"info\",\n layout = \"default\",\n title,\n message,\n dismissable = false,\n onClick,\n badge,\n badgeBackground = \"dark\",\n badgeColor = \"light\",\n rounded = \"none\",\n}: AlertProps) => {\n const layoutClasses = useMemo(() => layouts[layout], [layout]);\n const roundedClasses = useMemo(() => roundeds[rounded], [rounded]);\n const statusClasses = useMemo(\n () => (layout === \"solid\" ? `${solidStatuses[status]}` : `${statuses[status]}`),\n [layout, status]\n );\n\n return (\n <blockquote\n className={twMerge(\n `alert group relative px-2 md:px-3 lg:px-4 py-1 ${statusClasses} ${layoutClasses} ${roundedClasses}`,\n className\n )}\n style={style}\n data-testid=\"alert\"\n role=\"alert\"\n >\n {title && (\n <Heading level={5} className={`mt-2 mb-0 uppercase font-bold opacity-85 relative`}>\n {badge && (\n <Badge\n badgeBackground={badgeBackground}\n badgeColor={badgeColor}\n size=\"md\"\n layout=\"circle\"\n position=\"left\"\n className=\"top-0 start-0 relative mr-2\"\n >\n {badge}\n </Badge>\n )}\n {title}\n </Heading>\n )}\n {typeof message === \"string\" ? (\n <div\n className=\"text-base md:text-lg lg:text-xl mb-[1em] mt-[1em]\"\n dangerouslySetInnerHTML={{ __html: message }}\n ></div>\n ) : (\n <div className=\"text-base md:text-lg lg:text-xl mb-[1em] mt-[1em]\">{message}</div>\n )}\n\n {dismissable && (\n <CloseButton size=\"md\" onClick={onClick} className=\"absolute right-2 top-2\" />\n )}\n </blockquote>\n );\n};\n\nexport default Alert;\n"]}
1
+ {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/ui/alert/Alert.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { AlertProps } from \"./types\";\n\nimport { CloseButton, Heading, Badge } from \"..\";\n\nconst defaultStyles = \"border-s-8 bg-slate-100 text-dark dark:bg-slate-800 dark:text-light\";\nconst outlineStyles =\n \"border-0 outline outline-2 md:outline-4 bg-slate-100 text-dark dark:bg-slate-800 dark:text-light\";\nconst solidStyles = `solid border-none`;\n\nconst statuses = {\n info: \"border-info outline-info\",\n success: \"border-success outline-success\",\n warning: \"border-warning outline-warning\",\n error: \"border-error outline-error\",\n dark: \"border-slate-600 outline-slate-600\",\n light: \"border-white outline-white\",\n};\n\nconst solidStatuses = {\n info: \"bg-info-light text-dark\",\n success: \"bg-success-light text-dark\",\n warning: \"bg-warning-light text-dark\",\n error: \"bg-error-light text-dark\",\n dark: \"bg-slate-700 text-light\",\n light: \"bg-slate-50 text-dark\",\n};\n\nconst layouts = {\n default: defaultStyles,\n outline: outlineStyles,\n solid: solidStyles,\n};\n\nconst roundeds = {\n none: \"rounded-0\",\n md: \"rounded\",\n lg: \"rounded-lg\",\n};\n\nconst Alert = ({\n className = \"\",\n style,\n status = \"info\",\n layout = \"default\",\n title,\n message,\n dismissable = false,\n onClick,\n badge,\n badgeBackground = \"dark\",\n badgeColor = \"light\",\n rounded = \"none\",\n}: AlertProps) => {\n const layoutClasses = useMemo(() => layouts[layout], [layout]);\n const roundedClasses = useMemo(() => roundeds[rounded], [rounded]);\n const statusClasses = useMemo(\n () => (layout === \"solid\" ? `${solidStatuses[status]}` : `${statuses[status]}`),\n [layout, status]\n );\n\n return (\n <blockquote\n className={twMerge(\n `alert group relative px-2 md:px-3 lg:px-4 py-1 ${statusClasses} ${layoutClasses} ${roundedClasses}`,\n className\n )}\n style={style}\n data-testid=\"alert\"\n role=\"alert\"\n >\n {title && (\n <Heading level={5} className={`mt-2 mb-0 uppercase font-bold opacity-85 relative`}>\n {badge && (\n <Badge\n badgeBackground={badgeBackground}\n badgeColor={badgeColor}\n size=\"md\"\n layout=\"circle\"\n position=\"left\"\n className=\"top-0 start-0 relative mr-2\"\n >\n {badge}\n </Badge>\n )}\n {title}\n </Heading>\n )}\n {typeof message === \"string\" ? (\n <div\n className=\"text-base md:text-lg lg:text-xl mb-[1em] mt-[1em]\"\n dangerouslySetInnerHTML={{ __html: message }}\n ></div>\n ) : (\n <div className=\"text-base md:text-lg lg:text-xl mb-[1em] mt-[1em]\">{message}</div>\n )}\n\n {dismissable && (\n <CloseButton size=\"md\" onClick={onClick} className=\"absolute right-2 top-2\" />\n )}\n </blockquote>\n );\n};\n\nexport default Alert;\n"]}
@@ -141,7 +141,7 @@ var Carousel = function (_a) {
141
141
  }
142
142
  setTouchPosition(null);
143
143
  };
144
- return (_jsx(_Fragment, { children: _jsxs("div", { className: twMerge("carousel group relative flex justify-center overflow-hidden w-auto outline outline-slate-300 dark:outline-slate-500 ".concat(outlineClasses, " ").concat(roundedClasses), className), onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, children: [_jsx("div", { className: "inner max-w-lg relative overflow-hidden ".concat(aspectClasses), ref: inner, style: heightStyle, children: gallery ? (_jsx(Gallery, { className: "oveflow-hidden !flex !gap-0 relative transition-all duration-500", style: style, data: data, caption: caption, aspect: aspect, preloadImages: preloadImages })) : (_jsx("div", { className: "oveflow-hidden !flex h-full transition-all duration-500 relative", style: style, children: children })) }), !autoplay && (_jsxs(_Fragment, { children: [_jsx("div", { className: "absolute z-10 start-2 ".concat(buttonsPositionClasses), children: _jsx(Button, { onClick: function (e) { return clickPrevious(e); }, className: "m-auto opacity-30 hover:opacity-100 disabled:hidden", disabled: index === 0, layout: buttonLayout, btnBackground: buttonBackground, btnColor: buttonColor, outline: buttonOutline, children: buttonIcon === "arrow" ? (_jsx(HiOutlineArrowLeft, { size: iconSize })) : (_jsx(HiChevronLeft, { size: iconSize })) }) }), _jsx("div", { className: "absolute z-10 end-2 ".concat(buttonsPositionClasses), children: _jsx(Button, { onClick: function (e) { return clickNext(e); }, className: "m-auto opacity-30 hover:opacity-100 disabled:hidden", disabled: index === data.length - 1, layout: buttonLayout, btnBackground: buttonBackground, btnColor: buttonColor, outline: buttonOutline, children: buttonIcon === "arrow" ? (_jsx(HiOutlineArrowRight, { size: iconSize })) : (_jsx(HiChevronRight, { size: iconSize })) }) })] }))] }) }));
144
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: twMerge("carousel group relative flex justify-center overflow-hidden w-auto outline outline-slate-300 dark:outline-slate-500 ".concat(outlineClasses, " ").concat(roundedClasses), className), onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, children: [_jsx("div", { className: "inner max-w-lg relative overflow-hidden ".concat(aspectClasses), ref: inner, style: heightStyle, children: gallery ? (_jsx(Gallery, { className: "oveflow-hidden !flex !gap-0 relative transition-all duration-500 p-0 bg-transparent", style: style, data: data, caption: caption, aspect: aspect, preloadImages: preloadImages })) : (_jsx("div", { className: "oveflow-hidden !flex h-full transition-all duration-500 relative", style: style, children: children })) }), !autoplay && (_jsxs(_Fragment, { children: [_jsx("div", { className: "absolute z-10 start-2 ".concat(buttonsPositionClasses), children: _jsx(Button, { onClick: function (e) { return clickPrevious(e); }, className: "m-auto opacity-30 hover:opacity-100 disabled:hidden", disabled: index === 0, layout: buttonLayout, btnBackground: buttonBackground, btnColor: buttonColor, outline: buttonOutline, children: buttonIcon === "arrow" ? (_jsx(HiOutlineArrowLeft, { size: iconSize })) : (_jsx(HiChevronLeft, { size: iconSize })) }) }), _jsx("div", { className: "absolute z-10 end-2 ".concat(buttonsPositionClasses), children: _jsx(Button, { onClick: function (e) { return clickNext(e); }, className: "m-auto opacity-30 hover:opacity-100 disabled:hidden", disabled: index === data.length - 1, layout: buttonLayout, btnBackground: buttonBackground, btnColor: buttonColor, outline: buttonOutline, children: buttonIcon === "arrow" ? (_jsx(HiOutlineArrowRight, { size: iconSize })) : (_jsx(HiChevronRight, { size: iconSize })) }) })] }))] }) }));
145
145
  };
146
146
  export default Carousel;
147
147
  //# sourceMappingURL=Carousel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","sourceRoot":"","sources":["../../../src/ui/carousel/Carousel.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useState, useRef, useEffect, useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { Button, Gallery } from \"..\";\n\nimport {\n HiChevronRight,\n HiChevronLeft,\n HiOutlineArrowRight,\n HiOutlineArrowLeft,\n} from \"react-icons/hi\";\n\nimport { CarouselProps } from \"./types\";\n\nconst aspects = {\n landscape: \"aspect-[4/3]\",\n portrait: \"aspect-[3/4]\",\n square: \"aspect-square\",\n circle: \"aspect-square\",\n video: \"aspect-video\",\n};\n\nconst iconSizes = {\n md: 18,\n lg: 24,\n xl: 32,\n};\n\nconst outlineWidths = {\n none: \"outline-0\",\n thin: \"outline-1\",\n medium: \"outline-2\",\n thick: \"outline-4\",\n};\n\nconst roundedWidths = {\n none: \"rounded-0\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n};\n\nconst Carousel = ({\n data,\n caption = false,\n autoplay = false,\n autoplayDuration = 3000,\n outline = \"medium\",\n gallery = true,\n className = \"\",\n aspect = \"landscape\",\n rounded = \"none\",\n buttonsPosition = \"middle\",\n buttonLayout = \"circle\",\n buttonIcon = \"chevron\",\n buttonSize = \"md\",\n buttonBackground = \"dark\",\n buttonColor = \"light\",\n buttonOutline = true,\n preloadImages = false,\n children,\n}: CarouselProps) => {\n const [index, setIndex] = useState(0);\n const [position, setPosition] = useState(0);\n const [rtl, setRtl] = useState(false);\n const [touchPosition, setTouchPosition] = useState<number>(null!);\n const [innerWidth, setInnerWidth] = useState<number>(286);\n const inner = useRef<HTMLDivElement>(null!);\n const intervalRef = useRef<number>(null!);\n const playDirection = useRef<string>(\"forward\");\n\n const iconSize = useMemo(() => iconSizes[buttonSize], [buttonSize]);\n const outlineClasses = useMemo(() => outlineWidths[outline], [outline]);\n const roundedClasses = useMemo(() => roundedWidths[rounded], [rounded]);\n const buttonsPositionClasses = useMemo(() => {\n const buttonsPositions = {\n top: \"top-2\",\n middle: \"top-[38%]\",\n bottom: caption ? \"bottom-12\" : \"bottom-2\",\n };\n\n return buttonsPositions[buttonsPosition];\n }, [buttonsPosition, caption]);\n const aspectClasses = useMemo(() => aspects[aspect], [aspect]);\n\n useEffect(() => {\n const checkInnerWidth = () => {\n if (inner.current) {\n setInnerWidth(inner.current.offsetWidth);\n } else {\n setTimeout(checkInnerWidth, 100);\n }\n };\n checkInnerWidth();\n }, [inner]);\n\n useEffect(() => {\n const isRTL = document.documentElement.getAttribute(\"dir\") === \"rtl\";\n isRTL ? setRtl(true) : setRtl(false);\n }, []);\n\n const style = useMemo(() => {\n return rtl ? { right: `${position}px` } : { left: `${position}px` };\n }, [position, rtl]);\n\n const heightStyle = useMemo(() => {\n const aspectRatios: Record<string, number> = {\n landscape: 4 / 3,\n portrait: 3 / 4,\n video: 16 / 9,\n phone: 9 / 16,\n };\n\n const aspectRatio = aspectRatios[aspect] ?? 1;\n const height = innerWidth / aspectRatio;\n\n return { height };\n }, [aspect, innerWidth]);\n\n useEffect(() => {\n const startAutoplay = () => {\n intervalRef.current = window.setTimeout(() => {\n if (index === 0) playDirection.current = \"forward\";\n else if (index === data.length - 1) playDirection.current = \"backward\";\n if (playDirection.current === \"forward\") setNext();\n else setPrevious();\n }, autoplayDuration);\n };\n if (autoplay) startAutoplay();\n return () => {\n clearInterval(intervalRef.current);\n };\n });\n\n const clickNext = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setNext();\n };\n\n const setNext = () => {\n if (index === data.length - 1) return;\n setPosition(position - innerWidth);\n setIndex(index + 1);\n };\n\n const clickPrevious = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n e.preventDefault();\n setPrevious();\n };\n\n const setPrevious = () => {\n if (index === 0) return;\n setPosition(position + innerWidth);\n setIndex(index - 1);\n };\n\n const handleTouchStart = (e: React.TouchEvent<HTMLDivElement>) => {\n setTouchPosition(e.touches[0].clientX);\n };\n\n const handleTouchMove = (e: React.TouchEvent<HTMLDivElement>) => {\n if (touchPosition === null || autoplay) return;\n const diff = touchPosition - e.touches[0].clientX;\n\n if (diff > 5) {\n if (rtl) setPrevious();\n else setNext();\n } else if (diff < -5) {\n if (rtl) setNext();\n else setPrevious();\n }\n\n setTouchPosition(null!);\n };\n\n return (\n <>\n <div\n className={twMerge(\n `carousel group relative flex justify-center overflow-hidden w-auto outline outline-slate-300 dark:outline-slate-500 ${outlineClasses} ${roundedClasses}`,\n className\n )}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n >\n <div\n className={`inner max-w-lg relative overflow-hidden ${aspectClasses}`}\n ref={inner}\n style={heightStyle}\n >\n {gallery ? (\n <Gallery\n className={`oveflow-hidden !flex !gap-0 relative transition-all duration-500`}\n style={style}\n data={data}\n caption={caption}\n aspect={aspect}\n preloadImages={preloadImages}\n />\n ) : (\n <div\n className={`oveflow-hidden !flex h-full transition-all duration-500 relative`}\n style={style}\n >\n {children}\n </div>\n )}\n </div>\n {!autoplay && (\n <>\n <div className={`absolute z-10 start-2 ${buttonsPositionClasses}`}>\n <Button\n onClick={(e) => clickPrevious(e)}\n className={`m-auto opacity-30 hover:opacity-100 disabled:hidden`}\n disabled={index === 0}\n layout={buttonLayout}\n btnBackground={buttonBackground}\n btnColor={buttonColor}\n outline={buttonOutline}\n >\n {buttonIcon === \"arrow\" ? (\n <HiOutlineArrowLeft size={iconSize} />\n ) : (\n <HiChevronLeft size={iconSize} />\n )}\n </Button>\n </div>\n\n <div className={`absolute z-10 end-2 ${buttonsPositionClasses}`}>\n <Button\n onClick={(e) => clickNext(e)}\n className={`m-auto opacity-30 hover:opacity-100 disabled:hidden`}\n disabled={index === data.length - 1}\n layout={buttonLayout}\n btnBackground={buttonBackground}\n btnColor={buttonColor}\n outline={buttonOutline}\n >\n {buttonIcon === \"arrow\" ? (\n <HiOutlineArrowRight size={iconSize} />\n ) : (\n <HiChevronRight size={iconSize} />\n )}\n </Button>\n </div>\n </>\n )}\n </div>\n </>\n );\n};\n\nexport default Carousel;\n"]}
1
+ {"version":3,"file":"Carousel.js","sourceRoot":"","sources":["../../../src/ui/carousel/Carousel.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useState, useRef, useEffect, useMemo } from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { Button, Gallery } from \"..\";\n\nimport {\n HiChevronRight,\n HiChevronLeft,\n HiOutlineArrowRight,\n HiOutlineArrowLeft,\n} from \"react-icons/hi\";\n\nimport { CarouselProps } from \"./types\";\n\nconst aspects = {\n landscape: \"aspect-[4/3]\",\n portrait: \"aspect-[3/4]\",\n square: \"aspect-square\",\n circle: \"aspect-square\",\n video: \"aspect-video\",\n};\n\nconst iconSizes = {\n md: 18,\n lg: 24,\n xl: 32,\n};\n\nconst outlineWidths = {\n none: \"outline-0\",\n thin: \"outline-1\",\n medium: \"outline-2\",\n thick: \"outline-4\",\n};\n\nconst roundedWidths = {\n none: \"rounded-0\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n xl: \"rounded-xl\",\n};\n\nconst Carousel = ({\n data,\n caption = false,\n autoplay = false,\n autoplayDuration = 3000,\n outline = \"medium\",\n gallery = true,\n className = \"\",\n aspect = \"landscape\",\n rounded = \"none\",\n buttonsPosition = \"middle\",\n buttonLayout = \"circle\",\n buttonIcon = \"chevron\",\n buttonSize = \"md\",\n buttonBackground = \"dark\",\n buttonColor = \"light\",\n buttonOutline = true,\n preloadImages = false,\n children,\n}: CarouselProps) => {\n const [index, setIndex] = useState(0);\n const [position, setPosition] = useState(0);\n const [rtl, setRtl] = useState(false);\n const [touchPosition, setTouchPosition] = useState<number>(null!);\n const [innerWidth, setInnerWidth] = useState<number>(286);\n const inner = useRef<HTMLDivElement>(null!);\n const intervalRef = useRef<number>(null!);\n const playDirection = useRef<string>(\"forward\");\n\n const iconSize = useMemo(() => iconSizes[buttonSize], [buttonSize]);\n const outlineClasses = useMemo(() => outlineWidths[outline], [outline]);\n const roundedClasses = useMemo(() => roundedWidths[rounded], [rounded]);\n const buttonsPositionClasses = useMemo(() => {\n const buttonsPositions = {\n top: \"top-2\",\n middle: \"top-[38%]\",\n bottom: caption ? \"bottom-12\" : \"bottom-2\",\n };\n\n return buttonsPositions[buttonsPosition];\n }, [buttonsPosition, caption]);\n const aspectClasses = useMemo(() => aspects[aspect], [aspect]);\n\n useEffect(() => {\n const checkInnerWidth = () => {\n if (inner.current) {\n setInnerWidth(inner.current.offsetWidth);\n } else {\n setTimeout(checkInnerWidth, 100);\n }\n };\n checkInnerWidth();\n }, [inner]);\n\n useEffect(() => {\n const isRTL = document.documentElement.getAttribute(\"dir\") === \"rtl\";\n isRTL ? setRtl(true) : setRtl(false);\n }, []);\n\n const style = useMemo(() => {\n return rtl ? { right: `${position}px` } : { left: `${position}px` };\n }, [position, rtl]);\n\n const heightStyle = useMemo(() => {\n const aspectRatios: Record<string, number> = {\n landscape: 4 / 3,\n portrait: 3 / 4,\n video: 16 / 9,\n phone: 9 / 16,\n };\n\n const aspectRatio = aspectRatios[aspect] ?? 1;\n const height = innerWidth / aspectRatio;\n\n return { height };\n }, [aspect, innerWidth]);\n\n useEffect(() => {\n const startAutoplay = () => {\n intervalRef.current = window.setTimeout(() => {\n if (index === 0) playDirection.current = \"forward\";\n else if (index === data.length - 1) playDirection.current = \"backward\";\n if (playDirection.current === \"forward\") setNext();\n else setPrevious();\n }, autoplayDuration);\n };\n if (autoplay) startAutoplay();\n return () => {\n clearInterval(intervalRef.current);\n };\n });\n\n const clickNext = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n setNext();\n };\n\n const setNext = () => {\n if (index === data.length - 1) return;\n setPosition(position - innerWidth);\n setIndex(index + 1);\n };\n\n const clickPrevious = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n e.preventDefault();\n setPrevious();\n };\n\n const setPrevious = () => {\n if (index === 0) return;\n setPosition(position + innerWidth);\n setIndex(index - 1);\n };\n\n const handleTouchStart = (e: React.TouchEvent<HTMLDivElement>) => {\n setTouchPosition(e.touches[0].clientX);\n };\n\n const handleTouchMove = (e: React.TouchEvent<HTMLDivElement>) => {\n if (touchPosition === null || autoplay) return;\n const diff = touchPosition - e.touches[0].clientX;\n\n if (diff > 5) {\n if (rtl) setPrevious();\n else setNext();\n } else if (diff < -5) {\n if (rtl) setNext();\n else setPrevious();\n }\n\n setTouchPosition(null!);\n };\n\n return (\n <>\n <div\n className={twMerge(\n `carousel group relative flex justify-center overflow-hidden w-auto outline outline-slate-300 dark:outline-slate-500 ${outlineClasses} ${roundedClasses}`,\n className\n )}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n >\n <div\n className={`inner max-w-lg relative overflow-hidden ${aspectClasses}`}\n ref={inner}\n style={heightStyle}\n >\n {gallery ? (\n <Gallery\n className={`oveflow-hidden !flex !gap-0 relative transition-all duration-500 p-0 bg-transparent`}\n style={style}\n data={data}\n caption={caption}\n aspect={aspect}\n preloadImages={preloadImages}\n />\n ) : (\n <div\n className={`oveflow-hidden !flex h-full transition-all duration-500 relative`}\n style={style}\n >\n {children}\n </div>\n )}\n </div>\n {!autoplay && (\n <>\n <div className={`absolute z-10 start-2 ${buttonsPositionClasses}`}>\n <Button\n onClick={(e) => clickPrevious(e)}\n className={`m-auto opacity-30 hover:opacity-100 disabled:hidden`}\n disabled={index === 0}\n layout={buttonLayout}\n btnBackground={buttonBackground}\n btnColor={buttonColor}\n outline={buttonOutline}\n >\n {buttonIcon === \"arrow\" ? (\n <HiOutlineArrowLeft size={iconSize} />\n ) : (\n <HiChevronLeft size={iconSize} />\n )}\n </Button>\n </div>\n\n <div className={`absolute z-10 end-2 ${buttonsPositionClasses}`}>\n <Button\n onClick={(e) => clickNext(e)}\n className={`m-auto opacity-30 hover:opacity-100 disabled:hidden`}\n disabled={index === data.length - 1}\n layout={buttonLayout}\n btnBackground={buttonBackground}\n btnColor={buttonColor}\n outline={buttonOutline}\n >\n {buttonIcon === \"arrow\" ? (\n <HiOutlineArrowRight size={iconSize} />\n ) : (\n <HiChevronRight size={iconSize} />\n )}\n </Button>\n </div>\n </>\n )}\n </div>\n </>\n );\n};\n\nexport default Carousel;\n"]}
@@ -38,8 +38,8 @@ var Dialog = function (_a) {
38
38
  };
39
39
  }, [open, modal, onClose]);
40
40
  return (_jsxs("dialog", { id: "dialog", ref: dialog, className: "dialog backdrop:bg-black dark:backdrop:bg-light backdrop:opacity-60 border-none ".concat(modal
41
- ? "shadow-none bg-light dark:bg-dark dark:text-light"
42
- : "shadow-md shadow-dark dark:shadow-light bg-dark text-light dark:bg-light dark:text-dark rounded-md"), children: [_jsxs("div", { className: "dialog-header p-4", children: [title && (_jsx("h2", { className: "dialog-title ".concat(modal ? "text-center" : "text-start", " text-").concat(titleSize, " ").concat(titleBold ? "font-bold" : "font-normal"), children: title })), showClose && (_jsx(CloseButton, { onClick: onClose, layout: "circle", size: closeBtnSize, className: "absolute right-1 top-1" }))] }), _jsx("div", { className: "dialog-content ".concat(modal ? "p-0" : "p-4", " pt-0 min-w-[280px] max-w-md"), children: children })] }));
41
+ ? " bg-light dark:bg-dark dark:text-light"
42
+ : "bg-dark text-light dark:bg-light dark:text-dark rounded-md"), children: [_jsxs("div", { className: "dialog-header p-4", children: [title && (_jsx("h2", { className: "dialog-title ".concat(modal ? "text-center" : "text-start", " text-").concat(titleSize, " ").concat(titleBold ? "font-bold" : "font-normal"), children: title })), showClose && (_jsx(CloseButton, { onClick: onClose, layout: "circle", size: closeBtnSize, className: "absolute right-1 top-1" }))] }), _jsx("div", { className: "dialog-content ".concat(modal ? "p-0" : "p-4", " pt-0 min-w-[280px] max-w-md"), children: children })] }));
43
43
  };
44
44
  export default Dialog;
45
45
  //# sourceMappingURL=Dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/ui/dialog/Dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef } from \"react\";\nimport { DialogProps } from \"./types\";\nimport { CloseButton } from \"..\";\n\nimport { useDisableBack } from \"./hooks/useDisableBack\";\n\nconst Dialog = ({\n open = false,\n modal = true,\n showClose = true,\n onClose,\n title,\n titleSize = \"lg\",\n closeBtnSize = \"md\",\n titleBold = false,\n children,\n}: DialogProps) => {\n useDisableBack(modal);\n const dialog = useRef<HTMLDialogElement>(null!);\n\n useEffect(() => {\n const dialogRef = dialog.current;\n const handleClose = () => {\n if (modal) document.body.style.overflow = \"\";\n };\n\n if (dialogRef) dialogRef.addEventListener(\"close\", handleClose, false);\n\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose();\n };\n\n document.addEventListener(\"keyup\", handleEscape, false);\n\n if (open) {\n if (modal) {\n dialogRef.showModal();\n document.body.style.overflow = \"hidden\";\n } else dialogRef.show();\n } else dialogRef.close();\n\n return () => {\n handleClose();\n if (dialogRef) dialogRef.removeEventListener(\"close\", handleClose, false);\n document.removeEventListener(\"keyup\", handleEscape, false);\n };\n }, [open, modal, onClose]);\n\n return (\n <dialog\n id=\"dialog\"\n ref={dialog}\n className={`dialog backdrop:bg-black dark:backdrop:bg-light backdrop:opacity-60 border-none ${\n modal\n ? \"shadow-none bg-light dark:bg-dark dark:text-light\"\n : \"shadow-md shadow-dark dark:shadow-light bg-dark text-light dark:bg-light dark:text-dark rounded-md\"\n }`}\n >\n <div className=\"dialog-header p-4\">\n {title && (\n <h2\n className={`dialog-title ${modal ? \"text-center\" : \"text-start\"} text-${titleSize} ${\n titleBold ? \"font-bold\" : \"font-normal\"\n }`}\n >\n {title}\n </h2>\n )}\n {showClose && (\n <CloseButton\n onClick={onClose}\n layout=\"circle\"\n size={closeBtnSize}\n className={`absolute right-1 top-1`}\n />\n )}\n </div>\n <div className={`dialog-content ${modal ? \"p-0\" : \"p-4\"} pt-0 min-w-[280px] max-w-md`}>\n {children}\n </div>\n </dialog>\n );\n};\n\nexport default Dialog;\n"]}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/ui/dialog/Dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef } from \"react\";\nimport { DialogProps } from \"./types\";\nimport { CloseButton } from \"..\";\n\nimport { useDisableBack } from \"./hooks/useDisableBack\";\n\nconst Dialog = ({\n open = false,\n modal = true,\n showClose = true,\n onClose,\n title,\n titleSize = \"lg\",\n closeBtnSize = \"md\",\n titleBold = false,\n children,\n}: DialogProps) => {\n useDisableBack(modal);\n const dialog = useRef<HTMLDialogElement>(null!);\n\n useEffect(() => {\n const dialogRef = dialog.current;\n const handleClose = () => {\n if (modal) document.body.style.overflow = \"\";\n };\n\n if (dialogRef) dialogRef.addEventListener(\"close\", handleClose, false);\n\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose();\n };\n\n document.addEventListener(\"keyup\", handleEscape, false);\n\n if (open) {\n if (modal) {\n dialogRef.showModal();\n document.body.style.overflow = \"hidden\";\n } else dialogRef.show();\n } else dialogRef.close();\n\n return () => {\n handleClose();\n if (dialogRef) dialogRef.removeEventListener(\"close\", handleClose, false);\n document.removeEventListener(\"keyup\", handleEscape, false);\n };\n }, [open, modal, onClose]);\n\n return (\n <dialog\n id=\"dialog\"\n ref={dialog}\n className={`dialog backdrop:bg-black dark:backdrop:bg-light backdrop:opacity-60 border-none ${\n modal\n ? \" bg-light dark:bg-dark dark:text-light\"\n : \"bg-dark text-light dark:bg-light dark:text-dark rounded-md\"\n }`}\n >\n <div className=\"dialog-header p-4\">\n {title && (\n <h2\n className={`dialog-title ${modal ? \"text-center\" : \"text-start\"} text-${titleSize} ${\n titleBold ? \"font-bold\" : \"font-normal\"\n }`}\n >\n {title}\n </h2>\n )}\n {showClose && (\n <CloseButton\n onClick={onClose}\n layout=\"circle\"\n size={closeBtnSize}\n className={`absolute right-1 top-1`}\n />\n )}\n </div>\n <div className={`dialog-content ${modal ? \"p-0\" : \"p-4\"} pt-0 min-w-[280px] max-w-md`}>\n {children}\n </div>\n </dialog>\n );\n};\n\nexport default Dialog;\n"]}
@@ -6,7 +6,7 @@ var getCaption = function (name, caption) {
6
6
  };
7
7
  var Gallery = function (_a) {
8
8
  var _b = _a.className, className = _b === void 0 ? "" : _b, aspect = _a.aspect, data = _a.data, _c = _a.caption, caption = _c === void 0 ? true : _c, _d = _a.preloadImages, preloadImages = _d === void 0 ? false : _d, style = _a.style;
9
- return (_jsx("div", { className: twMerge("gallery group min-w-full grid grid-cols-2 gap-2 md:grid-cols-3 lg:grid-cols-6 bg-slate-800 p-2", className), style: style, children: data.map(function (item, index) { return (_jsx(Figure, { src: item.src, alt: item.name, caption: getCaption(item.name, caption), aspect: aspect, preload: preloadImages }, index)); }) }));
9
+ return (_jsx("div", { className: twMerge("gallery group min-w-full grid grid-cols-2 gap-2 md:grid-cols-3 lg:grid-cols-6 bg-dark p-2", className), style: style, children: data.map(function (item, index) { return (_jsx(Figure, { src: item.src, alt: item.name, caption: getCaption(item.name, caption), aspect: aspect, preload: preloadImages }, index)); }) }));
10
10
  };
11
11
  export default Gallery;
12
12
  //# sourceMappingURL=Gallery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.js","sourceRoot":"","sources":["../../../src/ui/gallery/Gallery.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAG5B,IAAM,UAAU,GAAG,UAAC,IAAY,EAAE,OAAgB;IAChD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,IAAM,OAAO,GAAG,UAAC,EAOF;QANb,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EACd,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA,EACrB,KAAK,WAAA;IAEL,OAAO,CACL,cACE,SAAS,EAAE,OAAO,CAChB,gGAAgG,EAChG,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEX,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CACzB,KAAC,MAAM,IACL,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAEvC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,IAFjB,KAAK,CAGV,CACH,EAT0B,CAS1B,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC","sourcesContent":["import React from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { Figure } from \"..\";\nimport { GalleryProps } from \"./types\";\n\nconst getCaption = (name: string, caption: boolean): string => {\n return caption ? name : \"\";\n};\n\nconst Gallery = ({\n className = \"\",\n aspect,\n data,\n caption = true,\n preloadImages = false,\n style,\n}: GalleryProps) => {\n return (\n <div\n className={twMerge(\n `gallery group min-w-full grid grid-cols-2 gap-2 md:grid-cols-3 lg:grid-cols-6 bg-slate-800 p-2`,\n className\n )}\n style={style}\n >\n {data.map((item, index) => (\n <Figure\n src={item.src}\n alt={item.name}\n caption={getCaption(item.name, caption)}\n key={index}\n aspect={aspect}\n preload={preloadImages}\n />\n ))}\n </div>\n );\n};\n\nexport default Gallery;\n"]}
1
+ {"version":3,"file":"Gallery.js","sourceRoot":"","sources":["../../../src/ui/gallery/Gallery.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAG5B,IAAM,UAAU,GAAG,UAAC,IAAY,EAAE,OAAgB;IAChD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,IAAM,OAAO,GAAG,UAAC,EAOF;QANb,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EACd,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA,EACrB,KAAK,WAAA;IAEL,OAAO,CACL,cACE,SAAS,EAAE,OAAO,CAChB,2FAA2F,EAC3F,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEX,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CACzB,KAAC,MAAM,IACL,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAEvC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,IAFjB,KAAK,CAGV,CACH,EAT0B,CAS1B,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC","sourcesContent":["import React from \"react\";\n\nimport { twMerge } from \"tailwind-merge\";\n\nimport { Figure } from \"..\";\nimport { GalleryProps } from \"./types\";\n\nconst getCaption = (name: string, caption: boolean): string => {\n return caption ? name : \"\";\n};\n\nconst Gallery = ({\n className = \"\",\n aspect,\n data,\n caption = true,\n preloadImages = false,\n style,\n}: GalleryProps) => {\n return (\n <div\n className={twMerge(\n `gallery group min-w-full grid grid-cols-2 gap-2 md:grid-cols-3 lg:grid-cols-6 bg-dark p-2`,\n className\n )}\n style={style}\n >\n {data.map((item, index) => (\n <Figure\n src={item.src}\n alt={item.name}\n caption={getCaption(item.name, caption)}\n key={index}\n aspect={aspect}\n preload={preloadImages}\n />\n ))}\n </div>\n );\n};\n\nexport default Gallery;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smitch/breeze",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "A lightweight, Tailwind-powered React/Next.js UI component library.",
5
5
  "main": "index.js",
6
6
  "keywords": [