@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.
- package/lib/accordion/Accordion.js +8 -3
- package/lib/accordion/Accordion.js.map +1 -1
- package/lib/accordion/atoms/AccordionItem.js +10 -5
- package/lib/accordion/atoms/AccordionItem.js.map +1 -1
- package/lib/accordion/types/index.js.map +1 -1
- package/lib/alert/Alert.js +2 -2
- package/lib/alert/Alert.js.map +1 -1
- package/lib/carousel/Carousel.js +1 -1
- package/lib/carousel/Carousel.js.map +1 -1
- package/lib/dialog/Dialog.js +2 -2
- package/lib/dialog/Dialog.js.map +1 -1
- package/lib/gallery/Gallery.js +1 -1
- package/lib/gallery/Gallery.js.map +1 -1
- package/package.json +1 -1
|
@@ -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.
|
|
18
|
-
var
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
4
|
-
|
|
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 ?
|
|
7
|
-
return (_jsxs("div", { className: "accordion-item ".concat(layoutClasses, " ").concat(
|
|
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,
|
|
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"]}
|
package/lib/alert/Alert.js
CHANGED
|
@@ -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-
|
|
6
|
-
var outlineStyles = "border-0 outline outline-2 md:outline-4 bg-slate-
|
|
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",
|
package/lib/alert/Alert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/ui/alert/Alert.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAIzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAEjD,IAAM,aAAa,GAAG,
|
|
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"]}
|
package/lib/carousel/Carousel.js
CHANGED
|
@@ -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"]}
|
package/lib/dialog/Dialog.js
CHANGED
|
@@ -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
|
-
? "
|
|
42
|
-
: "
|
|
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
|
package/lib/dialog/Dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/ui/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,IAAM,MAAM,GAAG,UAAC,EAUF;QATZ,YAAY,EAAZ,IAAI,mBAAG,KAAK,KAAA,EACZ,aAAY,EAAZ,KAAK,mBAAG,IAAI,KAAA,EACZ,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,OAAO,aAAA,EACP,KAAK,WAAA,EACL,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,QAAQ,cAAA;IAER,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,IAAM,MAAM,GAAG,MAAM,CAAoB,IAAK,CAAC,CAAC;IAEhD,SAAS,CAAC;QACR,IAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;QACjC,IAAM,WAAW,GAAG;YAClB,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC/C,CAAC,CAAC;QAEF,IAAI,SAAS;YAAE,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAEvE,IAAM,YAAY,GAAG,UAAC,CAAgB;YACpC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;QACpC,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAExD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1C,CAAC;;gBAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;;YAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAEzB,OAAO;YACL,WAAW,EAAE,CAAC;YACd,IAAI,SAAS;gBAAE,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC1E,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,kBACE,EAAE,EAAC,QAAQ,EACX,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,0FACT,KAAK;YACH,CAAC,CAAC,
|
|
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"]}
|
package/lib/gallery/Gallery.js
CHANGED
|
@@ -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-
|
|
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,
|
|
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"]}
|