@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.
Files changed (117) hide show
  1. package/README.md +17 -2
  2. package/dist/assets/index.css +1 -1
  3. package/dist/assets/index10.css +1 -0
  4. package/dist/assets/index12.css +1 -1
  5. package/dist/assets/index13.css +1 -1
  6. package/dist/assets/index15.css +1 -1
  7. package/dist/assets/index16.css +1 -1
  8. package/dist/assets/index17.css +1 -1
  9. package/dist/assets/index18.css +1 -1
  10. package/dist/assets/index19.css +1 -1
  11. package/dist/assets/index2.css +1 -1
  12. package/dist/assets/index20.css +1 -1
  13. package/dist/assets/index21.css +1 -1
  14. package/dist/assets/index22.css +1 -1
  15. package/dist/assets/index23.css +1 -1
  16. package/dist/assets/index24.css +1 -1
  17. package/dist/assets/index3.css +1 -1
  18. package/dist/assets/index4.css +1 -1
  19. package/dist/assets/index5.css +1 -1
  20. package/dist/assets/index6.css +1 -1
  21. package/dist/assets/index7.css +1 -1
  22. package/dist/assets/index8.css +1 -1
  23. package/dist/assets/index9.css +0 -1
  24. package/dist/components/accordion/index.cjs +1 -1
  25. package/dist/components/accordion/index.js +6 -6
  26. package/dist/components/aside/index.cjs +1 -1
  27. package/dist/components/aside/index.cjs.map +1 -1
  28. package/dist/components/aside/index.js +16 -16
  29. package/dist/components/aside/index.js.map +1 -1
  30. package/dist/components/banner/index.cjs +1 -1
  31. package/dist/components/banner/index.cjs.map +1 -1
  32. package/dist/components/banner/index.js +14 -35
  33. package/dist/components/banner/index.js.map +1 -1
  34. package/dist/components/branding/index.cjs +1 -1
  35. package/dist/components/branding/index.js +1 -1
  36. package/dist/components/button/index.cjs +1 -1
  37. package/dist/components/button/index.cjs.map +1 -1
  38. package/dist/components/button/index.js +22 -53
  39. package/dist/components/button/index.js.map +1 -1
  40. package/dist/components/card/index.cjs +1 -1
  41. package/dist/components/card/index.cjs.map +1 -1
  42. package/dist/components/card/index.js +11 -37
  43. package/dist/components/card/index.js.map +1 -1
  44. package/dist/components/checkbox/index.cjs +1 -1
  45. package/dist/components/checkbox/index.cjs.map +1 -1
  46. package/dist/components/checkbox/index.js +19 -22
  47. package/dist/components/checkbox/index.js.map +1 -1
  48. package/dist/components/dialog/index.cjs +1 -1
  49. package/dist/components/dialog/index.cjs.map +1 -1
  50. package/dist/components/dialog/index.js +8 -52
  51. package/dist/components/dialog/index.js.map +1 -1
  52. package/dist/components/dropdown/index.cjs +1 -1
  53. package/dist/components/dropdown/index.js +3 -3
  54. package/dist/components/editor/index.cjs +1 -1
  55. package/dist/components/editor/index.js +1 -1
  56. package/dist/components/file/index.cjs +2 -0
  57. package/dist/components/file/index.cjs.map +1 -0
  58. package/dist/components/file/index.js +27 -0
  59. package/dist/components/file/index.js.map +1 -0
  60. package/dist/components/footer/index.cjs +1 -1
  61. package/dist/components/footer/index.js +1 -1
  62. package/dist/components/form/index.cjs +1 -1
  63. package/dist/components/form/index.js +1 -1
  64. package/dist/components/header/index.cjs +1 -1
  65. package/dist/components/header/index.js +4 -4
  66. package/dist/components/icon/index.cjs +1 -1
  67. package/dist/components/icon/index.cjs.map +1 -1
  68. package/dist/components/icon/index.js +26 -44
  69. package/dist/components/icon/index.js.map +1 -1
  70. package/dist/components/input/index.cjs +1 -1
  71. package/dist/components/input/index.js +13 -13
  72. package/dist/components/layout/index.cjs +1 -1
  73. package/dist/components/layout/index.js +1 -1
  74. package/dist/components/link/index.cjs +1 -1
  75. package/dist/components/link/index.js +1 -1
  76. package/dist/components/list/index.cjs +1 -1
  77. package/dist/components/list/index.js +1 -1
  78. package/dist/components/nav/index.cjs +1 -1
  79. package/dist/components/nav/index.js +42 -42
  80. package/dist/components/nav/index.js.map +1 -1
  81. package/dist/components/toggle/index.cjs +1 -1
  82. package/dist/components/toggle/index.cjs.map +1 -1
  83. package/dist/components/toggle/index.js +11 -20
  84. package/dist/components/toggle/index.js.map +1 -1
  85. package/dist/index.cjs +1 -1
  86. package/dist/index.d.ts +27 -99
  87. package/dist/index.js +32 -38
  88. package/dist/index.js.map +1 -1
  89. package/package.json +1 -1
  90. package/dist/assets/index25.css +0 -1
  91. package/dist/assets/index26.css +0 -1
  92. package/dist/assets/index27.css +0 -1
  93. package/dist/assets/styles.css +0 -1
  94. package/dist/components/component/index.cjs +0 -2
  95. package/dist/components/component/index.cjs.map +0 -1
  96. package/dist/components/component/index.js +0 -30
  97. package/dist/components/component/index.js.map +0 -1
  98. package/dist/components/document/index.cjs +0 -2
  99. package/dist/components/document/index.cjs.map +0 -1
  100. package/dist/components/document/index.js +0 -53
  101. package/dist/components/document/index.js.map +0 -1
  102. package/dist/components/grid/index.cjs +0 -2
  103. package/dist/components/grid/index.cjs.map +0 -1
  104. package/dist/components/grid/index.js +0 -140
  105. package/dist/components/grid/index.js.map +0 -1
  106. package/dist/components/loading/index.cjs +0 -2
  107. package/dist/components/loading/index.cjs.map +0 -1
  108. package/dist/components/loading/index.js +0 -99
  109. package/dist/components/loading/index.js.map +0 -1
  110. package/dist/components/picture/index.cjs +0 -2
  111. package/dist/components/picture/index.cjs.map +0 -1
  112. package/dist/components/picture/index.js +0 -150
  113. package/dist/components/picture/index.js.map +0 -1
  114. package/dist/styles.module-B_pXIacc.cjs +0 -2
  115. package/dist/styles.module-B_pXIacc.cjs.map +0 -1
  116. package/dist/styles.module-BhmNqlYd.js +0 -7
  117. 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":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";require('./assets/styles.css');const s="_spinner_gsv2s_1",n={spinner:s};exports.loadingStyles=n;
2
- //# sourceMappingURL=styles.module-B_pXIacc.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.module-B_pXIacc.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import './assets/styles.css';const n = "_spinner_gsv2s_1", s = {
2
- spinner: n
3
- };
4
- export {
5
- s as l
6
- };
7
- //# sourceMappingURL=styles.module-BhmNqlYd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.module-BhmNqlYd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}