@solibo/solibo-ui 0.2.15 → 0.2.17
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/README.md +17 -2
- package/dist/assets/index.css +1 -1
- package/dist/assets/index10.css +1 -0
- package/dist/assets/index12.css +1 -1
- package/dist/assets/index13.css +1 -1
- package/dist/assets/index15.css +1 -1
- package/dist/assets/index16.css +1 -1
- package/dist/assets/index17.css +1 -1
- package/dist/assets/index18.css +1 -1
- package/dist/assets/index19.css +1 -1
- package/dist/assets/index2.css +1 -1
- package/dist/assets/index20.css +1 -1
- package/dist/assets/index21.css +1 -1
- package/dist/assets/index22.css +1 -1
- package/dist/assets/index23.css +1 -1
- package/dist/assets/index24.css +1 -1
- package/dist/assets/index3.css +1 -1
- package/dist/assets/index4.css +1 -1
- package/dist/assets/index5.css +1 -1
- package/dist/assets/index6.css +1 -1
- package/dist/assets/index7.css +1 -1
- package/dist/assets/index8.css +1 -1
- package/dist/assets/index9.css +0 -1
- package/dist/components/accordion/index.cjs +1 -1
- package/dist/components/accordion/index.js +6 -6
- package/dist/components/aside/index.cjs +1 -1
- package/dist/components/aside/index.cjs.map +1 -1
- package/dist/components/aside/index.js +16 -16
- package/dist/components/aside/index.js.map +1 -1
- package/dist/components/banner/index.cjs +1 -1
- package/dist/components/banner/index.cjs.map +1 -1
- package/dist/components/banner/index.js +14 -35
- package/dist/components/banner/index.js.map +1 -1
- package/dist/components/branding/index.cjs +1 -1
- package/dist/components/branding/index.js +1 -1
- package/dist/components/button/index.cjs +1 -1
- package/dist/components/button/index.cjs.map +1 -1
- package/dist/components/button/index.js +22 -53
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/card/index.cjs +1 -1
- package/dist/components/card/index.cjs.map +1 -1
- package/dist/components/card/index.js +11 -37
- package/dist/components/card/index.js.map +1 -1
- package/dist/components/checkbox/index.cjs +1 -1
- package/dist/components/checkbox/index.cjs.map +1 -1
- package/dist/components/checkbox/index.js +19 -22
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/dialog/index.cjs +1 -1
- package/dist/components/dialog/index.cjs.map +1 -1
- package/dist/components/dialog/index.js +8 -52
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dropdown/index.cjs +1 -1
- package/dist/components/dropdown/index.js +3 -3
- package/dist/components/editor/index.cjs +1 -1
- package/dist/components/editor/index.js +1 -1
- package/dist/components/file/index.cjs +2 -0
- package/dist/components/file/index.cjs.map +1 -0
- package/dist/components/file/index.js +27 -0
- package/dist/components/file/index.js.map +1 -0
- package/dist/components/footer/index.cjs +1 -1
- package/dist/components/footer/index.js +1 -1
- package/dist/components/form/index.cjs +1 -1
- package/dist/components/form/index.js +1 -1
- package/dist/components/header/index.cjs +1 -1
- package/dist/components/header/index.js +4 -4
- package/dist/components/icon/index.cjs +1 -1
- package/dist/components/icon/index.cjs.map +1 -1
- package/dist/components/icon/index.js +26 -44
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/input/index.cjs +1 -1
- package/dist/components/input/index.js +13 -13
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/link/index.cjs +1 -1
- package/dist/components/link/index.js +1 -1
- package/dist/components/list/index.cjs +1 -1
- package/dist/components/list/index.js +1 -1
- package/dist/components/nav/index.cjs +1 -1
- package/dist/components/nav/index.js +42 -42
- package/dist/components/nav/index.js.map +1 -1
- package/dist/components/toggle/index.cjs +1 -1
- package/dist/components/toggle/index.cjs.map +1 -1
- package/dist/components/toggle/index.js +11 -20
- package/dist/components/toggle/index.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +27 -99
- package/dist/index.js +32 -38
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/index25.css +0 -1
- package/dist/assets/index26.css +0 -1
- package/dist/assets/index27.css +0 -1
- package/dist/assets/styles.css +0 -1
- package/dist/components/component/index.cjs +0 -2
- package/dist/components/component/index.cjs.map +0 -1
- package/dist/components/component/index.js +0 -30
- package/dist/components/component/index.js.map +0 -1
- package/dist/components/document/index.cjs +0 -2
- package/dist/components/document/index.cjs.map +0 -1
- package/dist/components/document/index.js +0 -53
- package/dist/components/document/index.js.map +0 -1
- package/dist/components/grid/index.cjs +0 -2
- package/dist/components/grid/index.cjs.map +0 -1
- package/dist/components/grid/index.js +0 -140
- package/dist/components/grid/index.js.map +0 -1
- package/dist/components/loading/index.cjs +0 -2
- package/dist/components/loading/index.cjs.map +0 -1
- package/dist/components/loading/index.js +0 -99
- package/dist/components/loading/index.js.map +0 -1
- package/dist/components/picture/index.cjs +0 -2
- package/dist/components/picture/index.cjs.map +0 -1
- package/dist/components/picture/index.js +0 -150
- package/dist/components/picture/index.js.map +0 -1
- package/dist/styles.module-B_pXIacc.cjs +0 -2
- package/dist/styles.module-B_pXIacc.cjs.map +0 -1
- package/dist/styles.module-BhmNqlYd.js +0 -7
- package/dist/styles.module-BhmNqlYd.js.map +0 -1
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { jsx as d, jsxs as D } from "react/jsx-runtime";
|
|
2
|
-
import { t as x } from "../../classix-DG18itHa.js";
|
|
3
|
-
import { useState as S, useRef as w, useEffect as j, useCallback as m } from "react";
|
|
4
|
-
import { Button as M } from "../button/index.js";
|
|
5
|
-
import '../../assets/index8.css';const A = "_grid_1x08g_1", B = "_items_1x08g_8", G = "_controls_1x08g_19", $ = "_item_1x08g_8", c = {
|
|
6
|
-
grid: A,
|
|
7
|
-
items: B,
|
|
8
|
-
"item-container": "_item-container_1x08g_14",
|
|
9
|
-
controls: G,
|
|
10
|
-
"active-controls": "_active-controls_1x08g_27",
|
|
11
|
-
item: $,
|
|
12
|
-
"arrow-button-up": "_arrow-button-up_1x08g_59"
|
|
13
|
-
}, J = ({
|
|
14
|
-
canRearrange: i = !1,
|
|
15
|
-
className: N,
|
|
16
|
-
columns: _,
|
|
17
|
-
items: a = [],
|
|
18
|
-
onRearrange: l,
|
|
19
|
-
...T
|
|
20
|
-
}) => {
|
|
21
|
-
const [v, p] = S(a), u = w(null), b = w(null);
|
|
22
|
-
j(() => {
|
|
23
|
-
const t = a.map((o) => o.id), n = b.current;
|
|
24
|
-
n && n.length === t.length && n.every((o, r) => o === t[r]) || (b.current = t, p(a));
|
|
25
|
-
}, [a]);
|
|
26
|
-
const y = m(
|
|
27
|
-
(t) => (n) => {
|
|
28
|
-
!i || !n.dataTransfer || (u.current = t, n.dataTransfer.effectAllowed = "move");
|
|
29
|
-
},
|
|
30
|
-
[i]
|
|
31
|
-
), C = m(
|
|
32
|
-
(t) => {
|
|
33
|
-
!i || !t.dataTransfer || (t.preventDefault(), t.dataTransfer.dropEffect = "move");
|
|
34
|
-
},
|
|
35
|
-
[i]
|
|
36
|
-
), E = m(
|
|
37
|
-
(t) => (n) => {
|
|
38
|
-
if (!i)
|
|
39
|
-
return;
|
|
40
|
-
n.preventDefault();
|
|
41
|
-
const o = u.current;
|
|
42
|
-
o === null || o === t || (p((r) => {
|
|
43
|
-
if (o < 0 || o >= r.length || t < 0 || t > r.length)
|
|
44
|
-
return r;
|
|
45
|
-
const e = [...r], [s] = e.splice(o, 1);
|
|
46
|
-
if (!s)
|
|
47
|
-
return r;
|
|
48
|
-
const f = Math.max(0, Math.min(t, e.length)), h = o < t ? Math.min(f, e.length) : f;
|
|
49
|
-
return e.splice(h, 0, s), l == null || l(
|
|
50
|
-
e.map((I, O) => ({
|
|
51
|
-
id: I.id,
|
|
52
|
-
index: O
|
|
53
|
-
}))
|
|
54
|
-
), e;
|
|
55
|
-
}), u.current = null);
|
|
56
|
-
},
|
|
57
|
-
[i, l]
|
|
58
|
-
), k = m(() => u.current = null, []), g = m(
|
|
59
|
-
(t, n) => {
|
|
60
|
-
p((o) => {
|
|
61
|
-
const r = n === "up" ? t - 1 : t + 1;
|
|
62
|
-
if (r < 0 || r >= o.length)
|
|
63
|
-
return o;
|
|
64
|
-
const e = [...o], [s] = e.splice(t, 1);
|
|
65
|
-
return s ? (e.splice(r, 0, s), l == null || l(
|
|
66
|
-
e.map((f, h) => ({
|
|
67
|
-
id: f.id,
|
|
68
|
-
index: h
|
|
69
|
-
}))
|
|
70
|
-
), e) : o;
|
|
71
|
-
});
|
|
72
|
-
},
|
|
73
|
-
[l]
|
|
74
|
-
);
|
|
75
|
-
return /* @__PURE__ */ d(
|
|
76
|
-
"div",
|
|
77
|
-
{
|
|
78
|
-
className: x(c.grid, N),
|
|
79
|
-
...T,
|
|
80
|
-
children: /* @__PURE__ */ d(
|
|
81
|
-
"div",
|
|
82
|
-
{
|
|
83
|
-
className: c.items,
|
|
84
|
-
style: _ ? { gridTemplateColumns: `repeat(${_}, 1fr)` } : {},
|
|
85
|
-
children: v.map((t, n) => /* @__PURE__ */ D(
|
|
86
|
-
"div",
|
|
87
|
-
{
|
|
88
|
-
className: c["item-container"],
|
|
89
|
-
children: [
|
|
90
|
-
/* @__PURE__ */ d(
|
|
91
|
-
"div",
|
|
92
|
-
{
|
|
93
|
-
className: c.item,
|
|
94
|
-
"data-grid-id": t.id,
|
|
95
|
-
draggable: i,
|
|
96
|
-
onDragEnd: k,
|
|
97
|
-
onDragOver: C,
|
|
98
|
-
onDragStart: y(n),
|
|
99
|
-
onDrop: E(n),
|
|
100
|
-
children: t.component
|
|
101
|
-
}
|
|
102
|
-
),
|
|
103
|
-
/* @__PURE__ */ D("div", { className: x(c.controls, i && c["active-controls"]), children: [
|
|
104
|
-
n > 0 && /* @__PURE__ */ d(
|
|
105
|
-
M,
|
|
106
|
-
{
|
|
107
|
-
"aria-label": "Move item up",
|
|
108
|
-
variant: "minimal",
|
|
109
|
-
className: c["arrow-button-up"],
|
|
110
|
-
"data-direction": "up",
|
|
111
|
-
type: "button",
|
|
112
|
-
icon: "chevron",
|
|
113
|
-
onClick: () => g(n, "up")
|
|
114
|
-
}
|
|
115
|
-
),
|
|
116
|
-
n < v.length - 1 && /* @__PURE__ */ d(
|
|
117
|
-
M,
|
|
118
|
-
{
|
|
119
|
-
"aria-label": "Move item down",
|
|
120
|
-
variant: "minimal",
|
|
121
|
-
"data-direction": "down",
|
|
122
|
-
type: "button",
|
|
123
|
-
icon: "chevron",
|
|
124
|
-
onClick: () => g(n, "down")
|
|
125
|
-
}
|
|
126
|
-
)
|
|
127
|
-
] })
|
|
128
|
-
]
|
|
129
|
-
},
|
|
130
|
-
t.id
|
|
131
|
-
))
|
|
132
|
-
}
|
|
133
|
-
)
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
};
|
|
137
|
-
export {
|
|
138
|
-
J as Grid
|
|
139
|
-
};
|
|
140
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/grid/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '@/components/button';\n\nimport styles from './styles.module.css';\n\nexport type GridItem = {\n component: React.ReactNode;\n id: number;\n};\n\ntype DivProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>;\n\nexport type GridProps = DivProps & {\n canRearrange?: boolean;\n columns?: number;\n items: GridItem[];\n onRearrange?: (items: Array<{ id: number; index: number }>) => void;\n};\n\nexport const Grid = ({\n canRearrange = false,\n className,\n columns,\n items = [],\n onRearrange,\n ...props\n}: GridProps) => {\n const [orderedItems, setOrderedItems] = useState<GridItem[]>(items);\n const dragIndexRef = useRef<number | null>(null);\n const previousItemIdsRef = useRef<number[]>(null);\n\n useEffect(() => {\n const nextItemIds = items.map((item) => item.id);\n const previousItemIds = previousItemIdsRef.current;\n\n if (\n previousItemIds &&\n previousItemIds.length === nextItemIds.length &&\n previousItemIds.every((id, index) => id === nextItemIds[index])\n ) {\n return;\n }\n\n previousItemIdsRef.current = nextItemIds;\n setOrderedItems(items);\n }, [items]);\n\n const handleDragStart = useCallback(\n (index: number) => (event: React.DragEvent<HTMLDivElement>) => {\n if (!canRearrange || !event.dataTransfer) {\n return;\n }\n\n dragIndexRef.current = index;\n event.dataTransfer.effectAllowed = 'move';\n },\n [canRearrange]\n );\n\n const handleDragOver = useCallback(\n (event: React.DragEvent<HTMLDivElement>) => {\n if (!canRearrange || !event.dataTransfer) {\n return;\n }\n\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n },\n [canRearrange]\n );\n\n const handleDrop = useCallback(\n (targetIndex: number) => (event: React.DragEvent<HTMLDivElement>) => {\n if (!canRearrange) {\n return;\n }\n\n event.preventDefault();\n\n const fromIndex = dragIndexRef.current;\n\n if (fromIndex === null || fromIndex === targetIndex) {\n return;\n }\n\n setOrderedItems((previousItems) => {\n if (\n fromIndex < 0 ||\n fromIndex >= previousItems.length ||\n targetIndex < 0 ||\n targetIndex > previousItems.length\n ) {\n return previousItems;\n }\n\n const nextItems = [...previousItems];\n const [movedItem] = nextItems.splice(fromIndex, 1);\n\n if (!movedItem) {\n return previousItems;\n }\n\n const boundedTarget = Math.max(0, Math.min(targetIndex, nextItems.length));\n const nextIndex =\n fromIndex < targetIndex ? Math.min(boundedTarget, nextItems.length) : boundedTarget;\n\n nextItems.splice(nextIndex, 0, movedItem);\n\n onRearrange?.(\n nextItems.map((item, index) => ({\n id: item.id,\n index,\n }))\n );\n\n return nextItems;\n });\n\n dragIndexRef.current = null;\n },\n [canRearrange, onRearrange]\n );\n\n const handleDragEnd = useCallback(() => (dragIndexRef.current = null), []);\n\n const handleMove = useCallback(\n (fromIndex: number, direction: 'up' | 'down') => {\n setOrderedItems((previousItems) => {\n const targetIndex = direction === 'up' ? fromIndex - 1 : fromIndex + 1;\n\n if (targetIndex < 0 || targetIndex >= previousItems.length) {\n return previousItems;\n }\n\n const nextItems = [...previousItems];\n const [movedItem] = nextItems.splice(fromIndex, 1);\n\n if (!movedItem) {\n return previousItems;\n }\n\n nextItems.splice(targetIndex, 0, movedItem);\n\n onRearrange?.(\n nextItems.map((item, index) => ({\n id: item.id,\n index,\n }))\n );\n\n return nextItems;\n });\n },\n [onRearrange]\n );\n\n return (\n <div\n className={cx(styles.grid, className)}\n {...props}\n >\n <div\n className={styles.items}\n style={columns ? { gridTemplateColumns: `repeat(${columns}, 1fr)` } : {}}\n >\n {orderedItems.map((item, index) => (\n <div\n key={item.id}\n className={styles['item-container']}\n >\n <div\n className={styles.item}\n data-grid-id={item.id}\n draggable={canRearrange}\n onDragEnd={handleDragEnd}\n onDragOver={handleDragOver}\n onDragStart={handleDragStart(index)}\n onDrop={handleDrop(index)}\n >\n {item.component}\n </div>\n\n <div className={cx(styles.controls, canRearrange && styles['active-controls'])}>\n {index > 0 && (\n <Button\n aria-label='Move item up'\n variant='minimal'\n className={styles['arrow-button-up']}\n data-direction='up'\n type='button'\n icon='chevron'\n onClick={() => handleMove(index, 'up')}\n />\n )}\n {index < orderedItems.length - 1 && (\n <Button\n aria-label='Move item down'\n variant='minimal'\n data-direction='down'\n type='button'\n icon='chevron'\n onClick={() => handleMove(index, 'down')}\n />\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"names":["Grid","canRearrange","className","columns","items","onRearrange","props","orderedItems","setOrderedItems","useState","dragIndexRef","useRef","previousItemIdsRef","useEffect","nextItemIds","item","previousItemIds","id","index","handleDragStart","useCallback","event","handleDragOver","handleDrop","targetIndex","fromIndex","previousItems","nextItems","movedItem","boundedTarget","nextIndex","handleDragEnd","handleMove","direction","jsx","cx","styles","jsxs","Button"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=({size:s=200})=>e.jsxs("svg",{width:s,viewBox:"0 0 135 125",role:"img","aria-label":"Loading",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"grad",x1:"0",x2:135,gradientUnits:"userSpaceOnUse",children:[e.jsx("stop",{offset:"0%",stopColor:"var(--color-primary)",stopOpacity:"0.1"}),e.jsx("stop",{offset:"50%",stopColor:"var(--color-primary)",stopOpacity:"1"}),e.jsx("stop",{offset:"100%",stopColor:"var(--color-primary)",stopOpacity:"0.1"}),e.jsx("animateTransform",{attributeName:"gradientTransform",type:"translate",values:"-135 0; 135 0; -135 0",keyTimes:"0; 0.5; 1",dur:"4s",repeatCount:"indefinite",calcMode:"spline",keySplines:"0.4 0 0.2 1; 0.4 0 0.2 1"})]}),e.jsx("mask",{id:"mask",maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse",x:"0",y:"0",width:135,height:125,children:e.jsxs("g",{fill:"#fff",children:[e.jsx("circle",{cx:"64",cy:"48",r:"13"}),e.jsx("path",{d:"M82 92V81a18 18 0 1 0-36 0v41l13-18h23V92Z"}),e.jsx("path",{d:"M124 104.7H56.7c-1.8 0 1-1.5 1-3.2l8.5-7a3.2 3.2 0 0 1 3.2-3.2h41a3.2 3.2 0 0 0 3.2-3.2v-46a3.2 3.2 0 0 0-1.7-3L65 15.59a3.2 3.2 0 0 0-3 0l-47 24a3.2 3.2 0 0 0-1.7 3v45.7a3.2 3.2 0 0 0 3.2 3.2H29v13.4h-26a3.2 3.2 0 0 1-3-2A3.2 3.2 0 0 1 0 101.5v-67a3.2 3.2 0 0 1 1.7-2.8L62.08.35a3.2 3.2 0 0 1 2.9 0l60.5 30.9a3.2 3.2 0 0 1 1.8 2.8v67.4a3.2 3.2 0 0 1-3.2 3.2Z"})]})})]}),e.jsx("rect",{width:135,height:125,fill:"url(#grad)",mask:"url(#mask)"})]});exports.PageLoader=a;
|
|
2
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/loading/index.tsx"],"sourcesContent":["export type PageLoaderProps = {\n size?: number;\n};\n\nexport const PageLoader = ({ size = 200 }: PageLoaderProps) => {\n const VB_W = 135;\n const VB_H = 125;\n\n return (\n <svg\n width={size}\n viewBox={`0 0 ${VB_W} ${VB_H}`}\n role='img'\n aria-label='Loading'\n >\n <defs>\n <linearGradient\n id={'grad'}\n x1='0'\n x2={VB_W}\n gradientUnits='userSpaceOnUse'\n >\n <stop\n offset='0%'\n stopColor='var(--color-primary)'\n stopOpacity='0.1'\n />\n <stop\n offset='50%'\n stopColor='var(--color-primary)'\n stopOpacity='1'\n />\n <stop\n offset='100%'\n stopColor='var(--color-primary)'\n stopOpacity='0.1'\n />\n <animateTransform\n attributeName='gradientTransform'\n type='translate'\n values={`${-VB_W} 0; ${VB_W} 0; ${-VB_W} 0`}\n keyTimes='0; 0.5; 1'\n dur='4s'\n repeatCount='indefinite'\n calcMode='spline'\n keySplines='0.4 0 0.2 1; 0.4 0 0.2 1'\n />\n </linearGradient>\n <mask\n id={'mask'}\n maskUnits='userSpaceOnUse'\n maskContentUnits='userSpaceOnUse'\n x='0'\n y='0'\n width={VB_W}\n height={VB_H}\n >\n <g fill='#fff'>\n <circle\n cx='64'\n cy='48'\n r='13'\n />\n <path d='M82 92V81a18 18 0 1 0-36 0v41l13-18h23V92Z' />\n <path d='M124 104.7H56.7c-1.8 0 1-1.5 1-3.2l8.5-7a3.2 3.2 0 0 1 3.2-3.2h41a3.2 3.2 0 0 0 3.2-3.2v-46a3.2 3.2 0 0 0-1.7-3L65 15.59a3.2 3.2 0 0 0-3 0l-47 24a3.2 3.2 0 0 0-1.7 3v45.7a3.2 3.2 0 0 0 3.2 3.2H29v13.4h-26a3.2 3.2 0 0 1-3-2A3.2 3.2 0 0 1 0 101.5v-67a3.2 3.2 0 0 1 1.7-2.8L62.08.35a3.2 3.2 0 0 1 2.9 0l60.5 30.9a3.2 3.2 0 0 1 1.8 2.8v67.4a3.2 3.2 0 0 1-3.2 3.2Z' />\n </g>\n </mask>\n </defs>\n <rect\n width={VB_W}\n height={VB_H}\n fill={`url(#grad)`}\n mask={`url(#mask)`}\n />\n </svg>\n );\n};\n"],"names":["PageLoader","size","jsxs","jsx"],"mappings":"qHAIaA,EAAa,CAAC,CAAE,KAAAC,EAAO,OAKhCC,EAAAA,KAAC,MAAA,CACC,MAAOD,EACP,QAAS,cACT,KAAK,MACL,aAAW,UAEX,SAAA,CAAAC,OAAC,OAAA,CACC,SAAA,CAAAA,EAAAA,KAAC,iBAAA,CACC,GAAI,OACJ,GAAG,IACH,GAAI,IACJ,cAAc,iBAEd,SAAA,CAAAC,EAAAA,IAAC,OAAA,CACC,OAAO,KACP,UAAU,uBACV,YAAY,KAAA,CAAA,EAEdA,EAAAA,IAAC,OAAA,CACC,OAAO,MACP,UAAU,uBACV,YAAY,GAAA,CAAA,EAEdA,EAAAA,IAAC,OAAA,CACC,OAAO,OACP,UAAU,uBACV,YAAY,KAAA,CAAA,EAEdA,EAAAA,IAAC,mBAAA,CACC,cAAc,oBACd,KAAK,YACL,OAAQ,wBACR,SAAS,YACT,IAAI,KACJ,YAAY,aACZ,SAAS,SACT,WAAW,0BAAA,CAAA,CACb,CAAA,CAAA,EAEFA,EAAAA,IAAC,OAAA,CACC,GAAI,OACJ,UAAU,iBACV,iBAAiB,iBACjB,EAAE,IACF,EAAE,IACF,MAAO,IACP,OAAQ,IAER,SAAAD,EAAAA,KAAC,IAAA,CAAE,KAAK,OACN,SAAA,CAAAC,EAAAA,IAAC,SAAA,CACC,GAAG,KACH,GAAG,KACH,EAAE,IAAA,CAAA,EAEJA,EAAAA,IAAC,OAAA,CAAK,EAAE,4CAAA,CAA6C,EACrDA,EAAAA,IAAC,OAAA,CAAK,EAAE,yWAAA,CAA0W,CAAA,CAAA,CACpX,CAAA,CAAA,CACF,EACF,EACAA,EAAAA,IAAC,OAAA,CACC,MAAO,IACP,OAAQ,IACR,KAAM,aACN,KAAM,YAAA,CAAA,CACR,CAAA,CAAA"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { jsxs as e, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
const o = ({ size: r = 200 }) => /* @__PURE__ */ e(
|
|
3
|
-
"svg",
|
|
4
|
-
{
|
|
5
|
-
width: r,
|
|
6
|
-
viewBox: "0 0 135 125",
|
|
7
|
-
role: "img",
|
|
8
|
-
"aria-label": "Loading",
|
|
9
|
-
children: [
|
|
10
|
-
/* @__PURE__ */ e("defs", { children: [
|
|
11
|
-
/* @__PURE__ */ e(
|
|
12
|
-
"linearGradient",
|
|
13
|
-
{
|
|
14
|
-
id: "grad",
|
|
15
|
-
x1: "0",
|
|
16
|
-
x2: 135,
|
|
17
|
-
gradientUnits: "userSpaceOnUse",
|
|
18
|
-
children: [
|
|
19
|
-
/* @__PURE__ */ a(
|
|
20
|
-
"stop",
|
|
21
|
-
{
|
|
22
|
-
offset: "0%",
|
|
23
|
-
stopColor: "var(--color-primary)",
|
|
24
|
-
stopOpacity: "0.1"
|
|
25
|
-
}
|
|
26
|
-
),
|
|
27
|
-
/* @__PURE__ */ a(
|
|
28
|
-
"stop",
|
|
29
|
-
{
|
|
30
|
-
offset: "50%",
|
|
31
|
-
stopColor: "var(--color-primary)",
|
|
32
|
-
stopOpacity: "1"
|
|
33
|
-
}
|
|
34
|
-
),
|
|
35
|
-
/* @__PURE__ */ a(
|
|
36
|
-
"stop",
|
|
37
|
-
{
|
|
38
|
-
offset: "100%",
|
|
39
|
-
stopColor: "var(--color-primary)",
|
|
40
|
-
stopOpacity: "0.1"
|
|
41
|
-
}
|
|
42
|
-
),
|
|
43
|
-
/* @__PURE__ */ a(
|
|
44
|
-
"animateTransform",
|
|
45
|
-
{
|
|
46
|
-
attributeName: "gradientTransform",
|
|
47
|
-
type: "translate",
|
|
48
|
-
values: "-135 0; 135 0; -135 0",
|
|
49
|
-
keyTimes: "0; 0.5; 1",
|
|
50
|
-
dur: "4s",
|
|
51
|
-
repeatCount: "indefinite",
|
|
52
|
-
calcMode: "spline",
|
|
53
|
-
keySplines: "0.4 0 0.2 1; 0.4 0 0.2 1"
|
|
54
|
-
}
|
|
55
|
-
)
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
),
|
|
59
|
-
/* @__PURE__ */ a(
|
|
60
|
-
"mask",
|
|
61
|
-
{
|
|
62
|
-
id: "mask",
|
|
63
|
-
maskUnits: "userSpaceOnUse",
|
|
64
|
-
maskContentUnits: "userSpaceOnUse",
|
|
65
|
-
x: "0",
|
|
66
|
-
y: "0",
|
|
67
|
-
width: 135,
|
|
68
|
-
height: 125,
|
|
69
|
-
children: /* @__PURE__ */ e("g", { fill: "#fff", children: [
|
|
70
|
-
/* @__PURE__ */ a(
|
|
71
|
-
"circle",
|
|
72
|
-
{
|
|
73
|
-
cx: "64",
|
|
74
|
-
cy: "48",
|
|
75
|
-
r: "13"
|
|
76
|
-
}
|
|
77
|
-
),
|
|
78
|
-
/* @__PURE__ */ a("path", { d: "M82 92V81a18 18 0 1 0-36 0v41l13-18h23V92Z" }),
|
|
79
|
-
/* @__PURE__ */ a("path", { d: "M124 104.7H56.7c-1.8 0 1-1.5 1-3.2l8.5-7a3.2 3.2 0 0 1 3.2-3.2h41a3.2 3.2 0 0 0 3.2-3.2v-46a3.2 3.2 0 0 0-1.7-3L65 15.59a3.2 3.2 0 0 0-3 0l-47 24a3.2 3.2 0 0 0-1.7 3v45.7a3.2 3.2 0 0 0 3.2 3.2H29v13.4h-26a3.2 3.2 0 0 1-3-2A3.2 3.2 0 0 1 0 101.5v-67a3.2 3.2 0 0 1 1.7-2.8L62.08.35a3.2 3.2 0 0 1 2.9 0l60.5 30.9a3.2 3.2 0 0 1 1.8 2.8v67.4a3.2 3.2 0 0 1-3.2 3.2Z" })
|
|
80
|
-
] })
|
|
81
|
-
}
|
|
82
|
-
)
|
|
83
|
-
] }),
|
|
84
|
-
/* @__PURE__ */ a(
|
|
85
|
-
"rect",
|
|
86
|
-
{
|
|
87
|
-
width: 135,
|
|
88
|
-
height: 125,
|
|
89
|
-
fill: "url(#grad)",
|
|
90
|
-
mask: "url(#mask)"
|
|
91
|
-
}
|
|
92
|
-
)
|
|
93
|
-
]
|
|
94
|
-
}
|
|
95
|
-
);
|
|
96
|
-
export {
|
|
97
|
-
o as PageLoader
|
|
98
|
-
};
|
|
99
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/loading/index.tsx"],"sourcesContent":["export type PageLoaderProps = {\n size?: number;\n};\n\nexport const PageLoader = ({ size = 200 }: PageLoaderProps) => {\n const VB_W = 135;\n const VB_H = 125;\n\n return (\n <svg\n width={size}\n viewBox={`0 0 ${VB_W} ${VB_H}`}\n role='img'\n aria-label='Loading'\n >\n <defs>\n <linearGradient\n id={'grad'}\n x1='0'\n x2={VB_W}\n gradientUnits='userSpaceOnUse'\n >\n <stop\n offset='0%'\n stopColor='var(--color-primary)'\n stopOpacity='0.1'\n />\n <stop\n offset='50%'\n stopColor='var(--color-primary)'\n stopOpacity='1'\n />\n <stop\n offset='100%'\n stopColor='var(--color-primary)'\n stopOpacity='0.1'\n />\n <animateTransform\n attributeName='gradientTransform'\n type='translate'\n values={`${-VB_W} 0; ${VB_W} 0; ${-VB_W} 0`}\n keyTimes='0; 0.5; 1'\n dur='4s'\n repeatCount='indefinite'\n calcMode='spline'\n keySplines='0.4 0 0.2 1; 0.4 0 0.2 1'\n />\n </linearGradient>\n <mask\n id={'mask'}\n maskUnits='userSpaceOnUse'\n maskContentUnits='userSpaceOnUse'\n x='0'\n y='0'\n width={VB_W}\n height={VB_H}\n >\n <g fill='#fff'>\n <circle\n cx='64'\n cy='48'\n r='13'\n />\n <path d='M82 92V81a18 18 0 1 0-36 0v41l13-18h23V92Z' />\n <path d='M124 104.7H56.7c-1.8 0 1-1.5 1-3.2l8.5-7a3.2 3.2 0 0 1 3.2-3.2h41a3.2 3.2 0 0 0 3.2-3.2v-46a3.2 3.2 0 0 0-1.7-3L65 15.59a3.2 3.2 0 0 0-3 0l-47 24a3.2 3.2 0 0 0-1.7 3v45.7a3.2 3.2 0 0 0 3.2 3.2H29v13.4h-26a3.2 3.2 0 0 1-3-2A3.2 3.2 0 0 1 0 101.5v-67a3.2 3.2 0 0 1 1.7-2.8L62.08.35a3.2 3.2 0 0 1 2.9 0l60.5 30.9a3.2 3.2 0 0 1 1.8 2.8v67.4a3.2 3.2 0 0 1-3.2 3.2Z' />\n </g>\n </mask>\n </defs>\n <rect\n width={VB_W}\n height={VB_H}\n fill={`url(#grad)`}\n mask={`url(#mask)`}\n />\n </svg>\n );\n};\n"],"names":["PageLoader","size","jsxs","jsx"],"mappings":";AAIO,MAAMA,IAAa,CAAC,EAAE,MAAAC,IAAO,UAKhC,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAOD;AAAA,IACP,SAAS;AAAA,IACT,MAAK;AAAA,IACL,cAAW;AAAA,IAEX,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EACC,UAAA;AAAA,QAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,IAAG;AAAA,YACH,IAAI;AAAA,YACJ,eAAc;AAAA,YAEd,UAAA;AAAA,cAAA,gBAAAC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,QAAO;AAAA,kBACP,WAAU;AAAA,kBACV,aAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEd,gBAAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,QAAO;AAAA,kBACP,WAAU;AAAA,kBACV,aAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEd,gBAAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,QAAO;AAAA,kBACP,WAAU;AAAA,kBACV,aAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEd,gBAAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,eAAc;AAAA,kBACd,MAAK;AAAA,kBACL,QAAQ;AAAA,kBACR,UAAS;AAAA,kBACT,KAAI;AAAA,kBACJ,aAAY;AAAA,kBACZ,UAAS;AAAA,kBACT,YAAW;AAAA,gBAAA;AAAA,cAAA;AAAA,YACb;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAU;AAAA,YACV,kBAAiB;AAAA,YACjB,GAAE;AAAA,YACF,GAAE;AAAA,YACF,OAAO;AAAA,YACP,QAAQ;AAAA,YAER,UAAA,gBAAAD,EAAC,KAAA,EAAE,MAAK,QACN,UAAA;AAAA,cAAA,gBAAAC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,IAAG;AAAA,kBACH,IAAG;AAAA,kBACH,GAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEJ,gBAAAA,EAAC,QAAA,EAAK,GAAE,6CAAA,CAA6C;AAAA,cACrD,gBAAAA,EAAC,QAAA,EAAK,GAAE,0WAAA,CAA0W;AAAA,YAAA,EAAA,CACpX;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,GACF;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EAAA;AAAA;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index3.css');const n=require("react/jsx-runtime"),g=require("../../classix-5H4IWnMA.cjs"),s=require("react"),P=require("../button/index.cjs"),R=require("../dialog/index.cjs"),k=require("../dropzone/index.cjs"),C=require("../figure/index.cjs"),M=require("../icon/index.cjs"),N="_picture_1ou2v_1",T="_image_1ou2v_17",W="_dropzone_1ou2v_29",O="_visible_1ou2v_36",B="_hidden_1ou2v_41",H="_profile_1ou2v_58",t={picture:N,image:T,dropzone:W,visible:O,hidden:B,"preview-buttons":"_preview-buttons_1ou2v_47",profile:H},$={default:t.default,profile:t.profile},A=({source:a,alt:y,variant:f="default",...e})=>{const[q,u]=s.useState(e.placeholderSrc??a),[F,E]=s.useState(!1),[_,v]=s.useState(null),[U,o]=s.useState(!1),[r,m]=s.useState(!1),[p,c]=s.useState(null),x=e.minimumImagePixelWidth??400,h=e.minimumImagePixelHeight??400,L=s.useRef(null),w=s.useCallback(()=>{m(!1),v(null),u(a),c(null)},[a]),b=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/svg+xml","image/tiff"];s.useEffect(()=>{if(!a)return;u(a),m(!1);const i=new window.Image(0,0);i.src=a,i.srcset=e.srcSet??a,i.onload=()=>{E(!0)}},[a,e.srcSet]);const S=i=>{const l=i[0];if(!l)return;b.includes(l.type)||c("Unsupported file type. Please upload a valid image.");const j=new FileReader;j.onload=I=>{var z;const d=new window.Image;d.onload=()=>{var D;(d.width<x||d.height<h)&&c(`Image is too small. Minimum size is ${x}x${h}px.`),m(!0),u((D=I.target)==null?void 0:D.result)},d.src=(z=I.target)==null?void 0:z.result},j.readAsDataURL(l),v(l)};return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:g.t(t.picture,$[f],r?t.previewing:""),onMouseEnter:()=>o(e.canEdit),onMouseLeave:()=>o(!1),onDragOver:i=>{i.preventDefault(),o(e.canEdit)},onDragLeave:()=>o(!1),onDrop:i=>{var l;i.preventDefault(),o(!1),e.canEdit&&S((l=i.dataTransfer)==null?void 0:l.files)},children:[r?null:n.jsx("div",{className:g.t(t.dropzone,U&&t.visible,e.canEdit?"":t.hidden),children:n.jsx(k.Dropzone,{onUpload:i=>{S(i)},mimeTypes:b,inputId:e.inputId})}),f==="profile"&&!a?n.jsx(M.Icon,{name:"user"}):n.jsxs(C.Figure,{label:e.caption,children:[n.jsx("img",{src:q,srcSet:e.srcSet,sizes:e.sizes,alt:y,className:g.t(t.image,r?t.previewing:"",F?"":"loading"),loading:"lazy",ref:L}),r&&n.jsxs("div",{className:t["preview-buttons"],children:[n.jsx(P.Button,{label:"Save",loading:e.isUploading,onClick:()=>{_&&e.handleUpload&&e.handleUpload(_)},variant:"primary"}),n.jsx(P.Button,{label:"Cancel",onClick:()=>w()})]})]})]}),n.jsx(R.Dialog,{open:!!p,button:"Ok",message:p,onSubmit:()=>{c(null),w()}})]})};exports.Picture=A;
|
|
2
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/picture/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '@/components/button';\nimport { Dialog } from '@/components/dialog';\nimport { Dropzone } from '@/components/dropzone';\nimport { Figure } from '@/components/figure';\nimport { Icon } from '@/components/icon';\n\nimport styles from './styles.module.css';\n\nconst variants = {\n default: styles.default,\n profile: styles.profile,\n};\n\nexport type ImageProps = {\n alt: string;\n canEdit: boolean;\n caption?: string;\n handleUpload?: (imageFile: File) => void;\n inputId?: string;\n isUploading?: boolean;\n minimumImagePixelHeight?: number;\n minimumImagePixelWidth?: number;\n placeholderSrc?: string;\n sizes?: string;\n source?: string;\n srcSet?: string;\n variant?: keyof typeof variants;\n};\n\nexport const Picture = ({ source, alt, variant = 'default', ...props }: ImageProps) => {\n const [imageSrc, setImageSrc] = useState(props.placeholderSrc ?? source);\n const [imageLoaded, setImageLoaded] = useState(false);\n const [pendingFile, setPendingFile] = useState<File | null>(null);\n const [showDropzone, setShowDropzone] = useState(false);\n const [isPreviewing, setIsPreviewing] = useState(false);\n const [dialogWarning, setDialogWarning] = useState<string | null>(null);\n\n const minimumImagePixelWidth = props.minimumImagePixelWidth ?? 400;\n const minimumImagePixelHeight = props.minimumImagePixelHeight ?? 400;\n const imgRef = useRef<HTMLImageElement>(null);\n\n const reset = useCallback(() => {\n setIsPreviewing(false);\n setPendingFile(null);\n setImageSrc(source);\n setDialogWarning(null);\n }, [source]);\n\n const allowedImageFileTypes = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'image/bmp',\n 'image/svg+xml',\n 'image/tiff',\n ];\n\n useEffect(() => {\n if (!source) {\n return;\n }\n\n setImageSrc(source);\n setIsPreviewing(false);\n const img = new window.Image(0, 0);\n img.src = source;\n img.srcset = props.srcSet ?? source;\n img.onload = () => {\n setImageLoaded(true);\n };\n }, [source, props.srcSet]);\n\n const handleFiles = (files: FileList | File[]) => {\n const file = files[0];\n if (!file) return;\n\n if (!allowedImageFileTypes.includes(file.type)) {\n setDialogWarning('Unsupported file type. Please upload a valid image.');\n }\n\n const reader = new FileReader();\n reader.onload = (event) => {\n const img = new window.Image();\n img.onload = () => {\n if (img.width < minimumImagePixelWidth || img.height < minimumImagePixelHeight) {\n setDialogWarning(\n `Image is too small. Minimum size is ${minimumImagePixelWidth}x${minimumImagePixelHeight}px.`\n );\n }\n setIsPreviewing(true);\n setImageSrc(event.target?.result as string);\n };\n img.src = event.target?.result as string;\n };\n reader.readAsDataURL(file);\n setPendingFile(file);\n };\n\n return (\n <>\n <div\n className={cx(styles.picture, variants[variant], isPreviewing ? styles.previewing : '')}\n onMouseEnter={() => setShowDropzone(props.canEdit)}\n onMouseLeave={() => setShowDropzone(false)}\n onDragOver={(e) => {\n e.preventDefault();\n setShowDropzone(props.canEdit);\n }}\n onDragLeave={() => setShowDropzone(false)}\n onDrop={(e) => {\n e.preventDefault();\n setShowDropzone(false);\n if (props.canEdit) {\n handleFiles(e.dataTransfer?.files);\n }\n }}\n >\n {isPreviewing ? null : (\n <div\n className={cx(\n styles.dropzone,\n showDropzone && styles.visible,\n props.canEdit ? '' : styles.hidden\n )}\n >\n <Dropzone\n onUpload={(files) => {\n handleFiles(files);\n }}\n mimeTypes={allowedImageFileTypes}\n inputId={props.inputId}\n />\n </div>\n )}\n\n {variant === 'profile' && !source ? (\n <Icon name={'user'} />\n ) : (\n <Figure label={props.caption}>\n <img\n src={imageSrc}\n srcSet={props.srcSet}\n sizes={props.sizes}\n alt={alt}\n className={cx(\n styles.image,\n isPreviewing ? styles.previewing : '',\n imageLoaded ? '' : 'loading'\n )}\n loading={'lazy'}\n ref={imgRef}\n />\n {isPreviewing && (\n <div className={styles['preview-buttons']}>\n <Button\n label={'Save'}\n loading={props.isUploading}\n onClick={() => {\n if (pendingFile && props.handleUpload) {\n props.handleUpload(pendingFile);\n }\n }}\n variant={'primary'}\n />\n <Button\n label={'Cancel'}\n onClick={() => reset()}\n />\n </div>\n )}\n </Figure>\n )}\n </div>\n\n <Dialog\n open={!!dialogWarning}\n button={'Ok'}\n message={dialogWarning!}\n onSubmit={() => {\n setDialogWarning(null);\n reset();\n }}\n />\n </>\n );\n};\n"],"names":["variants","styles","Picture","source","alt","variant","props","imageSrc","setImageSrc","useState","imageLoaded","setImageLoaded","pendingFile","setPendingFile","showDropzone","setShowDropzone","isPreviewing","setIsPreviewing","dialogWarning","setDialogWarning","minimumImagePixelWidth","minimumImagePixelHeight","imgRef","useRef","reset","useCallback","allowedImageFileTypes","useEffect","img","handleFiles","files","file","reader","event","_a","jsxs","Fragment","cx","e","jsx","Dropzone","Icon","Figure","Button","Dialog"],"mappings":"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"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { jsxs as g, Fragment as R, jsx as l } from "react/jsx-runtime";
|
|
2
|
-
import { t as f } from "../../classix-DG18itHa.js";
|
|
3
|
-
import { useState as o, useRef as W, useCallback as j, useEffect as M } from "react";
|
|
4
|
-
import { Button as F } from "../button/index.js";
|
|
5
|
-
import { Dialog as T } from "../dialog/index.js";
|
|
6
|
-
import { Dropzone as H } from "../dropzone/index.js";
|
|
7
|
-
import { Figure as O } from "../figure/index.js";
|
|
8
|
-
import { Icon as $ } from "../icon/index.js";
|
|
9
|
-
import '../../assets/index3.css';const A = "_picture_1ou2v_1", B = "_image_1ou2v_17", q = "_dropzone_1ou2v_29", G = "_visible_1ou2v_36", J = "_hidden_1ou2v_41", K = "_profile_1ou2v_58", n = {
|
|
10
|
-
picture: A,
|
|
11
|
-
image: B,
|
|
12
|
-
dropzone: q,
|
|
13
|
-
visible: G,
|
|
14
|
-
hidden: J,
|
|
15
|
-
"preview-buttons": "_preview-buttons_1ou2v_47",
|
|
16
|
-
profile: K
|
|
17
|
-
}, Q = {
|
|
18
|
-
default: n.default,
|
|
19
|
-
profile: n.profile
|
|
20
|
-
}, ae = ({ source: t, alt: E, variant: v = "default", ...e }) => {
|
|
21
|
-
const [U, c] = o(e.placeholderSrc ?? t), [L, k] = o(!1), [p, h] = o(null), [C, s] = o(!1), [m, u] = o(!1), [_, r] = o(null), w = e.minimumImagePixelWidth ?? 400, b = e.minimumImagePixelHeight ?? 400, N = W(null), I = j(() => {
|
|
22
|
-
u(!1), h(null), c(t), r(null);
|
|
23
|
-
}, [t]), z = [
|
|
24
|
-
"image/jpeg",
|
|
25
|
-
"image/png",
|
|
26
|
-
"image/gif",
|
|
27
|
-
"image/webp",
|
|
28
|
-
"image/bmp",
|
|
29
|
-
"image/svg+xml",
|
|
30
|
-
"image/tiff"
|
|
31
|
-
];
|
|
32
|
-
M(() => {
|
|
33
|
-
if (!t)
|
|
34
|
-
return;
|
|
35
|
-
c(t), u(!1);
|
|
36
|
-
const i = new window.Image(0, 0);
|
|
37
|
-
i.src = t, i.srcset = e.srcSet ?? t, i.onload = () => {
|
|
38
|
-
k(!0);
|
|
39
|
-
};
|
|
40
|
-
}, [t, e.srcSet]);
|
|
41
|
-
const D = (i) => {
|
|
42
|
-
const a = i[0];
|
|
43
|
-
if (!a) return;
|
|
44
|
-
z.includes(a.type) || r("Unsupported file type. Please upload a valid image.");
|
|
45
|
-
const S = new FileReader();
|
|
46
|
-
S.onload = (x) => {
|
|
47
|
-
var P;
|
|
48
|
-
const d = new window.Image();
|
|
49
|
-
d.onload = () => {
|
|
50
|
-
var y;
|
|
51
|
-
(d.width < w || d.height < b) && r(
|
|
52
|
-
`Image is too small. Minimum size is ${w}x${b}px.`
|
|
53
|
-
), u(!0), c((y = x.target) == null ? void 0 : y.result);
|
|
54
|
-
}, d.src = (P = x.target) == null ? void 0 : P.result;
|
|
55
|
-
}, S.readAsDataURL(a), h(a);
|
|
56
|
-
};
|
|
57
|
-
return /* @__PURE__ */ g(R, { children: [
|
|
58
|
-
/* @__PURE__ */ g(
|
|
59
|
-
"div",
|
|
60
|
-
{
|
|
61
|
-
className: f(n.picture, Q[v], m ? n.previewing : ""),
|
|
62
|
-
onMouseEnter: () => s(e.canEdit),
|
|
63
|
-
onMouseLeave: () => s(!1),
|
|
64
|
-
onDragOver: (i) => {
|
|
65
|
-
i.preventDefault(), s(e.canEdit);
|
|
66
|
-
},
|
|
67
|
-
onDragLeave: () => s(!1),
|
|
68
|
-
onDrop: (i) => {
|
|
69
|
-
var a;
|
|
70
|
-
i.preventDefault(), s(!1), e.canEdit && D((a = i.dataTransfer) == null ? void 0 : a.files);
|
|
71
|
-
},
|
|
72
|
-
children: [
|
|
73
|
-
m ? null : /* @__PURE__ */ l(
|
|
74
|
-
"div",
|
|
75
|
-
{
|
|
76
|
-
className: f(
|
|
77
|
-
n.dropzone,
|
|
78
|
-
C && n.visible,
|
|
79
|
-
e.canEdit ? "" : n.hidden
|
|
80
|
-
),
|
|
81
|
-
children: /* @__PURE__ */ l(
|
|
82
|
-
H,
|
|
83
|
-
{
|
|
84
|
-
onUpload: (i) => {
|
|
85
|
-
D(i);
|
|
86
|
-
},
|
|
87
|
-
mimeTypes: z,
|
|
88
|
-
inputId: e.inputId
|
|
89
|
-
}
|
|
90
|
-
)
|
|
91
|
-
}
|
|
92
|
-
),
|
|
93
|
-
v === "profile" && !t ? /* @__PURE__ */ l($, { name: "user" }) : /* @__PURE__ */ g(O, { label: e.caption, children: [
|
|
94
|
-
/* @__PURE__ */ l(
|
|
95
|
-
"img",
|
|
96
|
-
{
|
|
97
|
-
src: U,
|
|
98
|
-
srcSet: e.srcSet,
|
|
99
|
-
sizes: e.sizes,
|
|
100
|
-
alt: E,
|
|
101
|
-
className: f(
|
|
102
|
-
n.image,
|
|
103
|
-
m ? n.previewing : "",
|
|
104
|
-
L ? "" : "loading"
|
|
105
|
-
),
|
|
106
|
-
loading: "lazy",
|
|
107
|
-
ref: N
|
|
108
|
-
}
|
|
109
|
-
),
|
|
110
|
-
m && /* @__PURE__ */ g("div", { className: n["preview-buttons"], children: [
|
|
111
|
-
/* @__PURE__ */ l(
|
|
112
|
-
F,
|
|
113
|
-
{
|
|
114
|
-
label: "Save",
|
|
115
|
-
loading: e.isUploading,
|
|
116
|
-
onClick: () => {
|
|
117
|
-
p && e.handleUpload && e.handleUpload(p);
|
|
118
|
-
},
|
|
119
|
-
variant: "primary"
|
|
120
|
-
}
|
|
121
|
-
),
|
|
122
|
-
/* @__PURE__ */ l(
|
|
123
|
-
F,
|
|
124
|
-
{
|
|
125
|
-
label: "Cancel",
|
|
126
|
-
onClick: () => I()
|
|
127
|
-
}
|
|
128
|
-
)
|
|
129
|
-
] })
|
|
130
|
-
] })
|
|
131
|
-
]
|
|
132
|
-
}
|
|
133
|
-
),
|
|
134
|
-
/* @__PURE__ */ l(
|
|
135
|
-
T,
|
|
136
|
-
{
|
|
137
|
-
open: !!_,
|
|
138
|
-
button: "Ok",
|
|
139
|
-
message: _,
|
|
140
|
-
onSubmit: () => {
|
|
141
|
-
r(null), I();
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
)
|
|
145
|
-
] });
|
|
146
|
-
};
|
|
147
|
-
export {
|
|
148
|
-
ae as Picture
|
|
149
|
-
};
|
|
150
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/picture/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '@/components/button';\nimport { Dialog } from '@/components/dialog';\nimport { Dropzone } from '@/components/dropzone';\nimport { Figure } from '@/components/figure';\nimport { Icon } from '@/components/icon';\n\nimport styles from './styles.module.css';\n\nconst variants = {\n default: styles.default,\n profile: styles.profile,\n};\n\nexport type ImageProps = {\n alt: string;\n canEdit: boolean;\n caption?: string;\n handleUpload?: (imageFile: File) => void;\n inputId?: string;\n isUploading?: boolean;\n minimumImagePixelHeight?: number;\n minimumImagePixelWidth?: number;\n placeholderSrc?: string;\n sizes?: string;\n source?: string;\n srcSet?: string;\n variant?: keyof typeof variants;\n};\n\nexport const Picture = ({ source, alt, variant = 'default', ...props }: ImageProps) => {\n const [imageSrc, setImageSrc] = useState(props.placeholderSrc ?? source);\n const [imageLoaded, setImageLoaded] = useState(false);\n const [pendingFile, setPendingFile] = useState<File | null>(null);\n const [showDropzone, setShowDropzone] = useState(false);\n const [isPreviewing, setIsPreviewing] = useState(false);\n const [dialogWarning, setDialogWarning] = useState<string | null>(null);\n\n const minimumImagePixelWidth = props.minimumImagePixelWidth ?? 400;\n const minimumImagePixelHeight = props.minimumImagePixelHeight ?? 400;\n const imgRef = useRef<HTMLImageElement>(null);\n\n const reset = useCallback(() => {\n setIsPreviewing(false);\n setPendingFile(null);\n setImageSrc(source);\n setDialogWarning(null);\n }, [source]);\n\n const allowedImageFileTypes = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'image/bmp',\n 'image/svg+xml',\n 'image/tiff',\n ];\n\n useEffect(() => {\n if (!source) {\n return;\n }\n\n setImageSrc(source);\n setIsPreviewing(false);\n const img = new window.Image(0, 0);\n img.src = source;\n img.srcset = props.srcSet ?? source;\n img.onload = () => {\n setImageLoaded(true);\n };\n }, [source, props.srcSet]);\n\n const handleFiles = (files: FileList | File[]) => {\n const file = files[0];\n if (!file) return;\n\n if (!allowedImageFileTypes.includes(file.type)) {\n setDialogWarning('Unsupported file type. Please upload a valid image.');\n }\n\n const reader = new FileReader();\n reader.onload = (event) => {\n const img = new window.Image();\n img.onload = () => {\n if (img.width < minimumImagePixelWidth || img.height < minimumImagePixelHeight) {\n setDialogWarning(\n `Image is too small. Minimum size is ${minimumImagePixelWidth}x${minimumImagePixelHeight}px.`\n );\n }\n setIsPreviewing(true);\n setImageSrc(event.target?.result as string);\n };\n img.src = event.target?.result as string;\n };\n reader.readAsDataURL(file);\n setPendingFile(file);\n };\n\n return (\n <>\n <div\n className={cx(styles.picture, variants[variant], isPreviewing ? styles.previewing : '')}\n onMouseEnter={() => setShowDropzone(props.canEdit)}\n onMouseLeave={() => setShowDropzone(false)}\n onDragOver={(e) => {\n e.preventDefault();\n setShowDropzone(props.canEdit);\n }}\n onDragLeave={() => setShowDropzone(false)}\n onDrop={(e) => {\n e.preventDefault();\n setShowDropzone(false);\n if (props.canEdit) {\n handleFiles(e.dataTransfer?.files);\n }\n }}\n >\n {isPreviewing ? null : (\n <div\n className={cx(\n styles.dropzone,\n showDropzone && styles.visible,\n props.canEdit ? '' : styles.hidden\n )}\n >\n <Dropzone\n onUpload={(files) => {\n handleFiles(files);\n }}\n mimeTypes={allowedImageFileTypes}\n inputId={props.inputId}\n />\n </div>\n )}\n\n {variant === 'profile' && !source ? (\n <Icon name={'user'} />\n ) : (\n <Figure label={props.caption}>\n <img\n src={imageSrc}\n srcSet={props.srcSet}\n sizes={props.sizes}\n alt={alt}\n className={cx(\n styles.image,\n isPreviewing ? styles.previewing : '',\n imageLoaded ? '' : 'loading'\n )}\n loading={'lazy'}\n ref={imgRef}\n />\n {isPreviewing && (\n <div className={styles['preview-buttons']}>\n <Button\n label={'Save'}\n loading={props.isUploading}\n onClick={() => {\n if (pendingFile && props.handleUpload) {\n props.handleUpload(pendingFile);\n }\n }}\n variant={'primary'}\n />\n <Button\n label={'Cancel'}\n onClick={() => reset()}\n />\n </div>\n )}\n </Figure>\n )}\n </div>\n\n <Dialog\n open={!!dialogWarning}\n button={'Ok'}\n message={dialogWarning!}\n onSubmit={() => {\n setDialogWarning(null);\n reset();\n }}\n />\n </>\n );\n};\n"],"names":["variants","styles","Picture","source","alt","variant","props","imageSrc","setImageSrc","useState","imageLoaded","setImageLoaded","pendingFile","setPendingFile","showDropzone","setShowDropzone","isPreviewing","setIsPreviewing","dialogWarning","setDialogWarning","minimumImagePixelWidth","minimumImagePixelHeight","imgRef","useRef","reset","useCallback","allowedImageFileTypes","useEffect","img","handleFiles","files","file","reader","event","_a","jsxs","Fragment","cx","e","jsx","Dropzone","Icon","Figure","Button","Dialog"],"mappings":";;;;;;;;;;;;;;;;GAWMA,IAAW;AAAA,EACf,SAASC,EAAO;AAAA,EAChB,SAASA,EAAO;AAClB,GAkBaC,KAAU,CAAC,EAAE,QAAAC,GAAQ,KAAAC,GAAK,SAAAC,IAAU,WAAW,GAAGC,QAAwB;AACrF,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAASH,EAAM,kBAAkBH,CAAM,GACjE,CAACO,GAAaC,CAAc,IAAIF,EAAS,EAAK,GAC9C,CAACG,GAAaC,CAAc,IAAIJ,EAAsB,IAAI,GAC1D,CAACK,GAAcC,CAAe,IAAIN,EAAS,EAAK,GAChD,CAACO,GAAcC,CAAe,IAAIR,EAAS,EAAK,GAChD,CAACS,GAAeC,CAAgB,IAAIV,EAAwB,IAAI,GAEhEW,IAAyBd,EAAM,0BAA0B,KACzDe,IAA0Bf,EAAM,2BAA2B,KAC3DgB,IAASC,EAAyB,IAAI,GAEtCC,IAAQC,EAAY,MAAM;AAC9B,IAAAR,EAAgB,EAAK,GACrBJ,EAAe,IAAI,GACnBL,EAAYL,CAAM,GAClBgB,EAAiB,IAAI;AAAA,EACvB,GAAG,CAAChB,CAAM,CAAC,GAELuB,IAAwB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,EAAAC,EAAU,MAAM;AACd,QAAI,CAACxB;AACH;AAGF,IAAAK,EAAYL,CAAM,GAClBc,EAAgB,EAAK;AACrB,UAAMW,IAAM,IAAI,OAAO,MAAM,GAAG,CAAC;AACjC,IAAAA,EAAI,MAAMzB,GACVyB,EAAI,SAAStB,EAAM,UAAUH,GAC7ByB,EAAI,SAAS,MAAM;AACjB,MAAAjB,EAAe,EAAI;AAAA,IACrB;AAAA,EACF,GAAG,CAACR,GAAQG,EAAM,MAAM,CAAC;AAEzB,QAAMuB,IAAc,CAACC,MAA6B;AAChD,UAAMC,IAAOD,EAAM,CAAC;AACpB,QAAI,CAACC,EAAM;AAEX,IAAKL,EAAsB,SAASK,EAAK,IAAI,KAC3CZ,EAAiB,qDAAqD;AAGxE,UAAMa,IAAS,IAAI,WAAA;AACnB,IAAAA,EAAO,SAAS,CAACC,MAAU;;AACzB,YAAML,IAAM,IAAI,OAAO,MAAA;AACvB,MAAAA,EAAI,SAAS,MAAM;;AACjB,SAAIA,EAAI,QAAQR,KAA0BQ,EAAI,SAASP,MACrDF;AAAA,UACE,uCAAuCC,CAAsB,IAAIC,CAAuB;AAAA,QAAA,GAG5FJ,EAAgB,EAAI,GACpBT,GAAY0B,IAAAD,EAAM,WAAN,gBAAAC,EAAc,MAAgB;AAAA,MAC5C,GACAN,EAAI,OAAMM,IAAAD,EAAM,WAAN,gBAAAC,EAAc;AAAA,IAC1B,GACAF,EAAO,cAAcD,CAAI,GACzBlB,EAAekB,CAAI;AAAA,EACrB;AAEA,SACE,gBAAAI,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWE,EAAGpC,EAAO,SAASD,EAASK,CAAO,GAAGW,IAAef,EAAO,aAAa,EAAE;AAAA,QACtF,cAAc,MAAMc,EAAgBT,EAAM,OAAO;AAAA,QACjD,cAAc,MAAMS,EAAgB,EAAK;AAAA,QACzC,YAAY,CAACuB,MAAM;AACjB,UAAAA,EAAE,eAAA,GACFvB,EAAgBT,EAAM,OAAO;AAAA,QAC/B;AAAA,QACA,aAAa,MAAMS,EAAgB,EAAK;AAAA,QACxC,QAAQ,CAACuB,MAAM;;AACb,UAAAA,EAAE,eAAA,GACFvB,EAAgB,EAAK,GACjBT,EAAM,WACRuB,GAAYK,IAAAI,EAAE,iBAAF,gBAAAJ,EAAgB,KAAK;AAAA,QAErC;AAAA,QAEC,UAAA;AAAA,UAAAlB,IAAe,OACd,gBAAAuB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWF;AAAAA,gBACTpC,EAAO;AAAA,gBACPa,KAAgBb,EAAO;AAAA,gBACvBK,EAAM,UAAU,KAAKL,EAAO;AAAA,cAAA;AAAA,cAG9B,UAAA,gBAAAsC;AAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,UAAU,CAACV,MAAU;AACnB,oBAAAD,EAAYC,CAAK;AAAA,kBACnB;AAAA,kBACA,WAAWJ;AAAA,kBACX,SAASpB,EAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,YACjB;AAAA,UAAA;AAAA,UAIHD,MAAY,aAAa,CAACF,IACzB,gBAAAoC,EAACE,GAAA,EAAK,MAAM,OAAA,CAAQ,IAEpB,gBAAAN,EAACO,GAAA,EAAO,OAAOpC,EAAM,SACnB,UAAA;AAAA,YAAA,gBAAAiC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAKhC;AAAA,gBACL,QAAQD,EAAM;AAAA,gBACd,OAAOA,EAAM;AAAA,gBACb,KAAAF;AAAA,gBACA,WAAWiC;AAAAA,kBACTpC,EAAO;AAAA,kBACPe,IAAef,EAAO,aAAa;AAAA,kBACnCS,IAAc,KAAK;AAAA,gBAAA;AAAA,gBAErB,SAAS;AAAA,gBACT,KAAKY;AAAA,cAAA;AAAA,YAAA;AAAA,YAENN,KACC,gBAAAmB,EAAC,OAAA,EAAI,WAAWlC,EAAO,iBAAiB,GACtC,UAAA;AAAA,cAAA,gBAAAsC;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,OAAO;AAAA,kBACP,SAASrC,EAAM;AAAA,kBACf,SAAS,MAAM;AACb,oBAAIM,KAAeN,EAAM,gBACvBA,EAAM,aAAaM,CAAW;AAAA,kBAElC;AAAA,kBACA,SAAS;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEX,gBAAA2B;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,OAAO;AAAA,kBACP,SAAS,MAAMnB,EAAA;AAAA,gBAAM;AAAA,cAAA;AAAA,YACvB,EAAA,CACF;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAIJ,gBAAAe;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,MAAM,CAAC,CAAC1B;AAAA,QACR,QAAQ;AAAA,QACR,SAASA;AAAA,QACT,UAAU,MAAM;AACd,UAAAC,EAAiB,IAAI,GACrBK,EAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.module-B_pXIacc.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.module-BhmNqlYd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|