@anoki/fse-ui 1.0.332 → 1.0.333
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs12.js.map +1 -1
- package/dist/index.cjs13.js.map +1 -1
- package/dist/index.cjs159.js +1 -1
- package/dist/index.cjs163.js +1 -1
- package/dist/index.cjs170.js +1 -1
- package/dist/index.cjs181.js +1 -1
- package/dist/index.cjs208.js +1 -1
- package/dist/index.cjs232.js +1 -1
- package/dist/index.cjs233.js +1 -1
- package/dist/index.cjs235.js +1 -1
- package/dist/index.cjs235.js.map +1 -1
- package/dist/index.cjs238.js +1 -1
- package/dist/index.cjs238.js.map +1 -1
- package/dist/index.cjs239.js +1 -1
- package/dist/index.cjs239.js.map +1 -1
- package/dist/index.cjs240.js +1 -1
- package/dist/index.cjs240.js.map +1 -1
- package/dist/index.cjs241.js +1 -1
- package/dist/index.cjs241.js.map +1 -1
- package/dist/index.cjs242.js +1 -1
- package/dist/index.cjs242.js.map +1 -1
- package/dist/index.cjs243.js +2 -0
- package/dist/index.cjs243.js.map +1 -0
- package/dist/index.cjs244.js +2 -0
- package/dist/index.cjs244.js.map +1 -0
- package/dist/index.cjs246.js +1 -1
- package/dist/index.cjs247.js +1 -1
- package/dist/index.cjs248.js +1 -1
- package/dist/index.cjs248.js.map +1 -1
- package/dist/index.cjs249.js +1 -1
- package/dist/index.cjs249.js.map +1 -1
- package/dist/index.cjs250.js +1 -1
- package/dist/index.cjs250.js.map +1 -1
- package/dist/index.cjs251.js +1 -1
- package/dist/index.cjs251.js.map +1 -1
- package/dist/index.cjs252.js +1 -1
- package/dist/index.cjs252.js.map +1 -1
- package/dist/index.cjs253.js +1 -1
- package/dist/index.cjs253.js.map +1 -1
- package/dist/index.cjs254.js +1 -1
- package/dist/index.cjs254.js.map +1 -1
- package/dist/index.cjs255.js +2 -0
- package/dist/index.cjs255.js.map +1 -0
- package/dist/index.cjs256.js +2 -0
- package/dist/index.cjs256.js.map +1 -0
- package/dist/{index.cjs263.js → index.cjs257.js} +2 -2
- package/dist/{index.cjs263.js.map → index.cjs257.js.map} +1 -1
- package/dist/index.cjs258.js +1 -1
- package/dist/index.cjs258.js.map +1 -1
- package/dist/index.cjs259.js +1 -1
- package/dist/index.cjs259.js.map +1 -1
- package/dist/index.cjs26.js.map +1 -1
- package/dist/index.cjs260.js +1 -1
- package/dist/index.cjs260.js.map +1 -1
- package/dist/index.cjs261.js +1 -1
- package/dist/index.cjs261.js.map +1 -1
- package/dist/index.cjs262.js +1 -1
- package/dist/index.cjs262.js.map +1 -1
- package/dist/index.cjs27.js.map +1 -1
- package/dist/{index.cjs271.js → index.cjs277.js} +2 -2
- package/dist/{index.cjs271.js.map → index.cjs277.js.map} +1 -1
- package/dist/index.cjs279.js +1 -1
- package/dist/index.cjs28.js.map +1 -1
- package/dist/index.cjs293.js +1 -1
- package/dist/index.cjs294.js +1 -1
- package/dist/index.cjs299.js +1 -1
- package/dist/index.cjs299.js.map +1 -1
- package/dist/index.cjs300.js +1 -1
- package/dist/index.cjs300.js.map +1 -1
- package/dist/index.cjs301.js +1 -1
- package/dist/index.cjs301.js.map +1 -1
- package/dist/index.cjs302.js +1 -1
- package/dist/index.cjs302.js.map +1 -1
- package/dist/index.cjs31.js.map +1 -1
- package/dist/index.cjs53.js.map +1 -1
- package/dist/index.cjs55.js.map +1 -1
- package/dist/index.cjs73.js.map +1 -1
- package/dist/index.cjs74.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.es12.js.map +1 -1
- package/dist/index.es13.js.map +1 -1
- package/dist/index.es159.js +7 -7
- package/dist/index.es163.js +1 -1
- package/dist/index.es170.js +5 -5
- package/dist/index.es181.js +13 -13
- package/dist/index.es208.js +5 -5
- package/dist/index.es232.js +1 -1
- package/dist/index.es233.js +1 -1
- package/dist/index.es235.js +15 -7
- package/dist/index.es235.js.map +1 -1
- package/dist/index.es238.js +6 -29
- package/dist/index.es238.js.map +1 -1
- package/dist/index.es239.js +26 -32
- package/dist/index.es239.js.map +1 -1
- package/dist/index.es240.js +63 -617
- package/dist/index.es240.js.map +1 -1
- package/dist/index.es241.js +29 -10
- package/dist/index.es241.js.map +1 -1
- package/dist/index.es242.js +33 -15
- package/dist/index.es242.js.map +1 -1
- package/dist/index.es243.js +625 -0
- package/dist/index.es243.js.map +1 -0
- package/dist/index.es244.js +14 -0
- package/dist/index.es244.js.map +1 -0
- package/dist/index.es246.js +1 -1
- package/dist/index.es247.js +2 -2
- package/dist/index.es248.js +2 -125
- package/dist/index.es248.js.map +1 -1
- package/dist/index.es249.js +2 -135
- package/dist/index.es249.js.map +1 -1
- package/dist/index.es250.js +10 -13
- package/dist/index.es250.js.map +1 -1
- package/dist/index.es251.js +40 -13
- package/dist/index.es251.js.map +1 -1
- package/dist/index.es252.js +46 -9
- package/dist/index.es252.js.map +1 -1
- package/dist/index.es253.js +8 -50
- package/dist/index.es253.js.map +1 -1
- package/dist/index.es254.js +120 -37
- package/dist/index.es254.js.map +1 -1
- package/dist/index.es255.js +18 -0
- package/dist/index.es255.js.map +1 -0
- package/dist/index.es256.js +138 -0
- package/dist/index.es256.js.map +1 -0
- package/dist/{index.es263.js → index.es257.js} +6 -6
- package/dist/{index.es263.js.map → index.es257.js.map} +1 -1
- package/dist/index.es258.js +14 -2
- package/dist/index.es258.js.map +1 -1
- package/dist/index.es259.js +178 -2
- package/dist/index.es259.js.map +1 -1
- package/dist/index.es26.js +5 -1
- package/dist/index.es26.js.map +1 -1
- package/dist/index.es260.js +50 -11
- package/dist/index.es260.js.map +1 -1
- package/dist/index.es261.js +9 -46
- package/dist/index.es261.js.map +1 -1
- package/dist/index.es262.js +4 -8
- package/dist/index.es262.js.map +1 -1
- package/dist/index.es27.js.map +1 -1
- package/dist/{index.es271.js → index.es277.js} +2 -2
- package/dist/{index.es271.js.map → index.es277.js.map} +1 -1
- package/dist/index.es279.js +1 -1
- package/dist/index.es28.js.map +1 -1
- package/dist/index.es293.js +1 -1
- package/dist/index.es294.js +1 -1
- package/dist/index.es299.js +11 -21
- package/dist/index.es299.js.map +1 -1
- package/dist/index.es300.js +26 -11
- package/dist/index.es300.js.map +1 -1
- package/dist/index.es301.js +4 -27
- package/dist/index.es301.js.map +1 -1
- package/dist/index.es302.js +22 -4
- package/dist/index.es302.js.map +1 -1
- package/dist/index.es31.js.map +1 -1
- package/dist/index.es53.js.map +1 -1
- package/dist/index.es55.js.map +1 -1
- package/dist/index.es73.js.map +1 -1
- package/dist/index.es74.js.map +1 -1
- package/package.json +2 -2
- package/dist/index.cjs236.js +0 -2
- package/dist/index.cjs236.js.map +0 -1
- package/dist/index.cjs237.js +0 -2
- package/dist/index.cjs237.js.map +0 -1
- package/dist/index.cjs264.js +0 -2
- package/dist/index.cjs264.js.map +0 -1
- package/dist/index.cjs265.js +0 -2
- package/dist/index.cjs265.js.map +0 -1
- package/dist/index.es236.js +0 -30
- package/dist/index.es236.js.map +0 -1
- package/dist/index.es237.js +0 -71
- package/dist/index.es237.js.map +0 -1
- package/dist/index.es264.js +0 -181
- package/dist/index.es264.js.map +0 -1
- package/dist/index.es265.js +0 -7
- package/dist/index.es265.js.map +0 -1
package/dist/index.es260.js
CHANGED
@@ -1,14 +1,53 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
var S = function(r) {
|
2
|
+
if (typeof document > "u")
|
3
|
+
return null;
|
4
|
+
var u = Array.isArray(r) ? r[0] : r;
|
5
|
+
return u.ownerDocument.body;
|
6
|
+
}, f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {}, h = 0, W = function(r) {
|
7
|
+
return r && (r.host || W(r.parentNode));
|
8
|
+
}, D = function(r, u) {
|
9
|
+
return u.map(function(e) {
|
10
|
+
if (r.contains(e))
|
11
|
+
return e;
|
12
|
+
var n = W(e);
|
13
|
+
return n && r.contains(n) ? n : (console.error("aria-hidden", e, "in not contained inside", r, ". Doing nothing"), null);
|
14
|
+
}).filter(function(e) {
|
15
|
+
return !!e;
|
16
|
+
});
|
17
|
+
}, E = function(r, u, e, n) {
|
18
|
+
var i = D(u, Array.isArray(r) ? r : [r]);
|
19
|
+
p[e] || (p[e] = /* @__PURE__ */ new WeakMap());
|
20
|
+
var o = p[e], l = [], s = /* @__PURE__ */ new Set(), b = new Set(i), y = function(t) {
|
21
|
+
!t || s.has(t) || (s.add(t), y(t.parentNode));
|
22
|
+
};
|
23
|
+
i.forEach(y);
|
24
|
+
var A = function(t) {
|
25
|
+
!t || b.has(t) || Array.prototype.forEach.call(t.children, function(a) {
|
26
|
+
if (s.has(a))
|
27
|
+
A(a);
|
28
|
+
else
|
29
|
+
try {
|
30
|
+
var c = a.getAttribute(n), w = c !== null && c !== "false", d = (f.get(a) || 0) + 1, M = (o.get(a) || 0) + 1;
|
31
|
+
f.set(a, d), o.set(a, M), l.push(a), d === 1 && w && v.set(a, !0), M === 1 && a.setAttribute(e, "true"), w || a.setAttribute(n, "true");
|
32
|
+
} catch (k) {
|
33
|
+
console.error("aria-hidden: cannot operate on ", a, k);
|
34
|
+
}
|
35
|
+
});
|
36
|
+
};
|
37
|
+
return A(u), s.clear(), h++, function() {
|
38
|
+
l.forEach(function(t) {
|
39
|
+
var a = f.get(t) - 1, c = o.get(t) - 1;
|
40
|
+
f.set(t, a), o.set(t, c), a || (v.has(t) || t.removeAttribute(n), v.delete(t)), c || t.removeAttribute(e);
|
41
|
+
}), h--, h || (f = /* @__PURE__ */ new WeakMap(), f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {});
|
42
|
+
};
|
43
|
+
}, C = function(r, u, e) {
|
44
|
+
e === void 0 && (e = "data-aria-hidden");
|
45
|
+
var n = Array.from(Array.isArray(r) ? r : [r]), i = S(r);
|
46
|
+
return i ? (n.push.apply(n, Array.from(i.querySelectorAll("[aria-live]"))), E(n, i, e, "aria-hidden")) : function() {
|
47
|
+
return null;
|
48
|
+
};
|
49
|
+
};
|
11
50
|
export {
|
12
|
-
|
51
|
+
C as hideOthers
|
13
52
|
};
|
14
53
|
//# sourceMappingURL=index.es260.js.map
|
package/dist/index.es260.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es260.js","sources":["../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs"],"sourcesContent":["// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useCallbackRef","callback","callbackRef","React","args","_a"],"mappings":";AAEA,SAASA,EAAeC,GAAU;AAChC,QAAMC,IAAcC,EAAM,OAAOF,CAAQ;AACzC,SAAAE,EAAM,UAAU,MAAM;AACpB,IAAAD,EAAY,UAAUD;AAAA,EAC1B,CAAG,GACME,EAAM,QAAQ,MAAM,IAAIC;;AAAS,YAAAC,IAAAH,EAAY,YAAZ,gBAAAG,EAAA,KAAAH,GAAsB,GAAGE;AAAA,KAAO,EAAE;AAC5E;","x_google_ignoreList":[0]}
|
1
|
+
{"version":3,"file":"index.es260.js","sources":["../node_modules/aria-hidden/dist/es2015/index.js"],"sourcesContent":["var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n catch (e) {\n console.error('aria-hidden: cannot operate on ', node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n"],"names":["getDefaultParent","originalTarget","sampleTarget","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","node","correctTargets","parent","targets","target","correctedTarget","x","applyAttributeToOthers","parentNode","markerName","controlAttribute","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","el","deep","attr","alreadyHidden","counterValue","markerValue","e","hideOthers","activeParentNode"],"mappings":"AAAA,IAAIA,IAAmB,SAAUC,GAAgB;AAC7C,MAAI,OAAO,WAAa;AACpB,WAAO;AAEX,MAAIC,IAAe,MAAM,QAAQD,CAAc,IAAIA,EAAe,CAAC,IAAIA;AACvE,SAAOC,EAAa,cAAc;AACtC,GACIC,IAAa,oBAAI,QAAS,GAC1BC,IAAoB,oBAAI,QAAS,GACjCC,IAAY,CAAE,GACdC,IAAY,GACZC,IAAa,SAAUC,GAAM;AAC7B,SAAOA,MAASA,EAAK,QAAQD,EAAWC,EAAK,UAAU;AAC3D,GACIC,IAAiB,SAAUC,GAAQC,GAAS;AAC5C,SAAOA,EACF,IAAI,SAAUC,GAAQ;AACvB,QAAIF,EAAO,SAASE,CAAM;AACtB,aAAOA;AAEX,QAAIC,IAAkBN,EAAWK,CAAM;AACvC,WAAIC,KAAmBH,EAAO,SAASG,CAAe,IAC3CA,KAEX,QAAQ,MAAM,eAAeD,GAAQ,2BAA2BF,GAAQ,iBAAiB,GAClF;AAAA,EACV,CAAA,EACI,OAAO,SAAUI,GAAG;AAAE,WAAO,EAAQA;AAAA,GAAK;AACnD,GASIC,IAAyB,SAAUd,GAAgBe,GAAYC,GAAYC,GAAkB;AAC7F,MAAIP,IAAUF,EAAeO,GAAY,MAAM,QAAQf,CAAc,IAAIA,IAAiB,CAACA,CAAc,CAAC;AAC1G,EAAKI,EAAUY,CAAU,MACrBZ,EAAUY,CAAU,IAAI,oBAAI,QAAS;AAEzC,MAAIE,IAAgBd,EAAUY,CAAU,GACpCG,IAAc,CAAE,GAChBC,IAAiB,oBAAI,IAAK,GAC1BC,IAAiB,IAAI,IAAIX,CAAO,GAChCY,IAAO,SAAUC,GAAI;AACrB,IAAI,CAACA,KAAMH,EAAe,IAAIG,CAAE,MAGhCH,EAAe,IAAIG,CAAE,GACrBD,EAAKC,EAAG,UAAU;AAAA,EACrB;AACD,EAAAb,EAAQ,QAAQY,CAAI;AACpB,MAAIE,IAAO,SAAUf,GAAQ;AACzB,IAAI,CAACA,KAAUY,EAAe,IAAIZ,CAAM,KAGxC,MAAM,UAAU,QAAQ,KAAKA,EAAO,UAAU,SAAUF,GAAM;AAC1D,UAAIa,EAAe,IAAIb,CAAI;AACvB,QAAAiB,EAAKjB,CAAI;AAAA;AAGT,YAAI;AACA,cAAIkB,IAAOlB,EAAK,aAAaU,CAAgB,GACzCS,IAAgBD,MAAS,QAAQA,MAAS,SAC1CE,KAAgBzB,EAAW,IAAIK,CAAI,KAAK,KAAK,GAC7CqB,KAAeV,EAAc,IAAIX,CAAI,KAAK,KAAK;AACnD,UAAAL,EAAW,IAAIK,GAAMoB,CAAY,GACjCT,EAAc,IAAIX,GAAMqB,CAAW,GACnCT,EAAY,KAAKZ,CAAI,GACjBoB,MAAiB,KAAKD,KACtBvB,EAAkB,IAAII,GAAM,EAAI,GAEhCqB,MAAgB,KAChBrB,EAAK,aAAaS,GAAY,MAAM,GAEnCU,KACDnB,EAAK,aAAaU,GAAkB,MAAM;AAAA,QAElE,SACuBY,GAAG;AACN,kBAAQ,MAAM,mCAAmCtB,GAAMsB,CAAC;AAAA,QAC5E;AAAA,IAEA,CAAS;AAAA,EACJ;AACD,SAAAL,EAAKT,CAAU,GACfK,EAAe,MAAO,GACtBf,KACO,WAAY;AACf,IAAAc,EAAY,QAAQ,SAAUZ,GAAM;AAChC,UAAIoB,IAAezB,EAAW,IAAIK,CAAI,IAAI,GACtCqB,IAAcV,EAAc,IAAIX,CAAI,IAAI;AAC5C,MAAAL,EAAW,IAAIK,GAAMoB,CAAY,GACjCT,EAAc,IAAIX,GAAMqB,CAAW,GAC9BD,MACIxB,EAAkB,IAAII,CAAI,KAC3BA,EAAK,gBAAgBU,CAAgB,GAEzCd,EAAkB,OAAOI,CAAI,IAE5BqB,KACDrB,EAAK,gBAAgBS,CAAU;AAAA,IAE/C,CAAS,GACDX,KACKA,MAEDH,IAAa,oBAAI,QAAS,GAC1BA,IAAa,oBAAI,QAAS,GAC1BC,IAAoB,oBAAI,QAAS,GACjCC,IAAY,CAAE;AAAA,EAErB;AACL,GAQW0B,IAAa,SAAU9B,GAAgBe,GAAYC,GAAY;AACtE,EAAIA,MAAe,WAAUA,IAAa;AAC1C,MAAIN,IAAU,MAAM,KAAK,MAAM,QAAQV,CAAc,IAAIA,IAAiB,CAACA,CAAc,CAAC,GACtF+B,IAAiChC,EAAiBC,CAAc;AACpE,SAAK+B,KAILrB,EAAQ,KAAK,MAAMA,GAAS,MAAM,KAAKqB,EAAiB,iBAAiB,aAAa,CAAC,CAAC,GACjFjB,EAAuBJ,GAASqB,GAAkBf,GAAY,aAAa,KAJvE,WAAY;AAAE,WAAO;AAAA,EAAO;AAK3C;","x_google_ignoreList":[0]}
|
package/dist/index.es261.js
CHANGED
@@ -1,49 +1,12 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
{ collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
|
10
|
-
), a = (c) => {
|
11
|
-
const { scope: e, children: l } = c, o = n.useRef(null), t = n.useRef(/* @__PURE__ */ new Map()).current;
|
12
|
-
return /* @__PURE__ */ u.jsx(N, { scope: e, itemMap: t, collectionRef: o, children: l });
|
13
|
-
};
|
14
|
-
a.displayName = f;
|
15
|
-
const d = s + "CollectionSlot", p = n.forwardRef(
|
16
|
-
(c, e) => {
|
17
|
-
const { scope: l, children: o } = c, t = m(d, l), r = I(e, t.collectionRef);
|
18
|
-
return /* @__PURE__ */ u.jsx(S, { ref: r, children: o });
|
19
|
-
}
|
20
|
-
);
|
21
|
-
p.displayName = d;
|
22
|
-
const C = s + "CollectionItemSlot", R = "data-radix-collection-item", x = n.forwardRef(
|
23
|
-
(c, e) => {
|
24
|
-
const { scope: l, children: o, ...t } = c, r = n.useRef(null), M = I(e, r), i = m(C, l);
|
25
|
-
return n.useEffect(() => (i.itemMap.set(r, { ref: r, ...t }), () => void i.itemMap.delete(r))), /* @__PURE__ */ u.jsx(S, { [R]: "", ref: M, children: o });
|
26
|
-
}
|
27
|
-
);
|
28
|
-
x.displayName = C;
|
29
|
-
function _(c) {
|
30
|
-
const e = m(s + "CollectionConsumer", c);
|
31
|
-
return n.useCallback(() => {
|
32
|
-
const o = e.collectionRef.current;
|
33
|
-
if (!o) return [];
|
34
|
-
const t = Array.from(o.querySelectorAll(`[${R}]`));
|
35
|
-
return Array.from(e.itemMap.values()).sort(
|
36
|
-
(i, T) => t.indexOf(i.ref.current) - t.indexOf(T.ref.current)
|
37
|
-
);
|
38
|
-
}, [e.collectionRef, e.itemMap]);
|
39
|
-
}
|
40
|
-
return [
|
41
|
-
{ Provider: a, Slot: p, ItemSlot: x },
|
42
|
-
_,
|
43
|
-
E
|
44
|
-
];
|
45
|
-
}
|
1
|
+
import { __assign as m } from "./index.es281.js";
|
2
|
+
import * as r from "react";
|
3
|
+
import { RemoveScroll as e } from "./index.es282.js";
|
4
|
+
import t from "./index.es283.js";
|
5
|
+
var s = r.forwardRef(function(a, o) {
|
6
|
+
return r.createElement(e, m({}, a, { ref: o, sideCar: t }));
|
7
|
+
});
|
8
|
+
s.classNames = e.classNames;
|
46
9
|
export {
|
47
|
-
|
10
|
+
s as default
|
48
11
|
};
|
49
12
|
//# sourceMappingURL=index.es261.js.map
|
package/dist/index.es261.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es261.js","sources":["../node_modules
|
1
|
+
{"version":3,"file":"index.es261.js","sources":["../node_modules/react-remove-scroll/dist/es2015/Combination.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n"],"names":["ReactRemoveScroll","React","props","ref","RemoveScroll","__assign","SideCar"],"mappings":";;;;AAIG,IAACA,IAAoBC,EAAM,WAAW,SAAUC,GAAOC,GAAK;AAAE,SAAQF,EAAM,cAAcG,GAAcC,EAAS,CAAE,GAAEH,GAAO,EAAE,KAAKC,GAAK,SAASG,GAAS,CAAC;AAAK,CAAA;AACnKN,EAAkB,aAAaI,EAAa;","x_google_ignoreList":[0]}
|
package/dist/index.es262.js
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
import * as
|
2
|
-
|
3
|
-
|
4
|
-
function n(o) {
|
5
|
-
const e = t.useContext(r);
|
6
|
-
return o || e || "ltr";
|
7
|
-
}
|
1
|
+
import * as e from "react";
|
2
|
+
var o = globalThis != null && globalThis.document ? e.useLayoutEffect : () => {
|
3
|
+
};
|
8
4
|
export {
|
9
|
-
|
5
|
+
o as useLayoutEffect
|
10
6
|
};
|
11
7
|
//# sourceMappingURL=index.es262.js.map
|
package/dist/index.es262.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es262.js","sources":["../node_modules/@radix-ui/react-
|
1
|
+
{"version":3,"file":"index.es262.js","sources":["../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs"],"sourcesContent":["// packages/react/use-layout-effect/src/useLayoutEffect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useLayoutEffect2","React"],"mappings":";AAEG,IAACA,IAA2B,iCAAY,WAAYC,EAAM,kBAAkB,MAAM;AACrF;","x_google_ignoreList":[0]}
|
package/dist/index.es27.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es27.js","sources":["../src/components/ui/CardMapStructure/index.tsx"],"sourcesContent":["import \"./CardMap.scss\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { AddressSchema } from \"@anoki/fse-
|
1
|
+
{"version":3,"file":"index.es27.js","sources":["../src/components/ui/CardMapStructure/index.tsx"],"sourcesContent":["import \"./CardMap.scss\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { AddressSchema } from \"@anoki/fse-common\";\nimport { Col } from \"@/components\";\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\n\ntype CardMapProps = {\n id: string;\n title: string;\n titleTag: HeadingLevel;\n href?: string;\n description?: string;\n isExternal?: boolean;\n showIcon?: boolean;\n asLink?: \"a\";\n className?: string;\n address?: AddressSchema;\n setSelectedCard?: (id: string) => void;\n};\nexport const CardMap = ({\n id,\n title,\n titleTag: TitleTag = \"h3\",\n href,\n description,\n isExternal = false,\n asLink = \"a\",\n className,\n address,\n setSelectedCard = () => {},\n}: CardMapProps) => {\n const LinkComponent = asLink;\n const [isActive, setIsActive] = useState(false);\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setIsActive(false);\n }\n };\n\n if (isActive) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n } else {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isActive]);\n return (\n <Col\n as={\"div\"}\n justifyContent={\"center\"}\n ref={dropdownRef}\n br={\"x4\"}\n p={\"x24\"}\n bg={\"white\"}\n className={`${className} ${isActive ? \"ui-is-active\" : \"ui-card-search\"} shadow cursor-pointer text-slate-28`}\n onClick={() => {\n setIsActive(true);\n setSelectedCard(id);\n }}\n >\n <Col pb={\"x24\"}>\n <TitleTag className=\"flex-1\">\n <LinkComponent\n className={\"text-decoration-none fs-4 text-primary fw-semibold\"}\n href={href}\n target={isExternal ? \"_blank\" : undefined}\n rel={isExternal ? \"noreferrer noopener\" : undefined}\n >\n {title}\n </LinkComponent>\n </TitleTag>\n <p className=\"fs-6 fw-regular\">{description}</p>\n </Col>\n\n {address && address.streetName && (\n <Col as={\"footer\"} gap={\"x8\"} bg={\"white\"}>\n <h5 className={\"fw-semibold fs-6\"}>Indirizzo</h5>\n <p className={\"fw-regular\"}>{address.plainAddress}</p>\n </Col>\n )}\n </Col>\n );\n};\n"],"names":["CardMap","id","title","TitleTag","href","description","isExternal","asLink","className","address","setSelectedCard","LinkComponent","isActive","setIsActive","useState","dropdownRef","useRef","useEffect","handleClickOutside","event","jsxs","Col","jsx"],"mappings":";;;;AAoBO,MAAMA,IAAU,CAAC;AAAA,EACtB,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAUC,IAAW;AAAA,EACrB,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,QAAAC,IAAS;AAAA,EACT,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAC,IAAkB,MAAM;AAAA,EAAA;AAC1B,MAAoB;AAClB,QAAMC,IAAgBJ,GAChB,CAACK,GAAUC,CAAW,IAAIC,EAAS,EAAK,GACxCC,IAAcC,EAAuB,IAAI;AAE/C,SAAAC,EAAU,MAAM;AACR,UAAAC,IAAqB,CAACC,MAAsB;AAE9C,MAAAJ,EAAY,WACZ,CAACA,EAAY,QAAQ,SAASI,EAAM,MAAc,KAElDN,EAAY,EAAK;AAAA,IAErB;AAEA,WAAID,IACO,SAAA,iBAAiB,aAAaM,CAAkB,IAEhD,SAAA,oBAAoB,aAAaA,CAAkB,GAGvD,MAAM;AACF,eAAA,oBAAoB,aAAaA,CAAkB;AAAA,IAC9D;AAAA,EAAA,GACC,CAACN,CAAQ,CAAC,GAEXQ,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,MACJ,gBAAgB;AAAA,MAChB,KAAKN;AAAA,MACL,IAAI;AAAA,MACJ,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,WAAW,GAAGP,CAAS,IAAII,IAAW,iBAAiB,gBAAgB;AAAA,MACvE,SAAS,MAAM;AACb,QAAAC,EAAY,EAAI,GAChBH,EAAgBT,CAAE;AAAA,MACpB;AAAA,MAEA,UAAA;AAAA,QAACmB,gBAAAA,EAAAA,KAAAC,GAAA,EAAI,IAAI,OACP,UAAA;AAAA,UAACC,gBAAAA,EAAAA,IAAAnB,GAAA,EAAS,WAAU,UAClB,UAAAmB,gBAAAA,EAAA;AAAA,YAACX;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,cACX,MAAAP;AAAA,cACA,QAAQE,IAAa,WAAW;AAAA,cAChC,KAAKA,IAAa,wBAAwB;AAAA,cAEzC,UAAAJ;AAAA,YAAA;AAAA,UAAA,GAEL;AAAA,UACCoB,gBAAAA,EAAA,IAAA,KAAA,EAAE,WAAU,mBAAmB,UAAYjB,EAAA,CAAA;AAAA,QAAA,GAC9C;AAAA,QAECI,KAAWA,EAAQ,cACjBW,gBAAAA,EAAA,KAAAC,GAAA,EAAI,IAAI,UAAU,KAAK,MAAM,IAAI,SAChC,UAAA;AAAA,UAACC,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAW,oBAAoB,UAAS,aAAA;AAAA,UAC3CA,gBAAAA,EAAA,IAAA,KAAA,EAAE,WAAW,cAAe,YAAQ,aAAa,CAAA;AAAA,QAAA,EACpD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as r from "react";
|
2
|
-
import { useCallbackRef as s } from "./index.
|
2
|
+
import { useCallbackRef as s } from "./index.es250.js";
|
3
3
|
function p(n, e = globalThis == null ? void 0 : globalThis.document) {
|
4
4
|
const t = s(n);
|
5
5
|
r.useEffect(() => {
|
@@ -12,4 +12,4 @@ function p(n, e = globalThis == null ? void 0 : globalThis.document) {
|
|
12
12
|
export {
|
13
13
|
p as useEscapeKeydown
|
14
14
|
};
|
15
|
-
//# sourceMappingURL=index.
|
15
|
+
//# sourceMappingURL=index.es277.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.
|
1
|
+
{"version":3,"file":"index.es277.js","sources":["../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs"],"sourcesContent":["// packages/react/use-escape-keydown/src/useEscapeKeydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","useCallbackRef","React","handleKeyDown","event"],"mappings":";;AAGA,SAASA,EAAiBC,GAAqBC,IAAgB,yCAAY,UAAU;AACnF,QAAMC,IAAkBC,EAAeH,CAAmB;AAC1D,EAAAI,EAAM,UAAU,MAAM;AACpB,UAAMC,IAAgB,CAACC,MAAU;AAC/B,MAAIA,EAAM,QAAQ,YAChBJ,EAAgBI,CAAK;AAAA,IAExB;AACD,WAAAL,EAAc,iBAAiB,WAAWI,GAAe,EAAE,SAAS,IAAM,GACnE,MAAMJ,EAAc,oBAAoB,WAAWI,GAAe,EAAE,SAAS,IAAM;AAAA,EAC9F,GAAK,CAACH,GAAiBD,CAAa,CAAC;AACrC;","x_google_ignoreList":[0]}
|
package/dist/index.es279.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as n from "react";
|
2
|
-
import { Primitive as p } from "./index.
|
2
|
+
import { Primitive as p } from "./index.es242.js";
|
3
3
|
import { j as o } from "./index.es137.js";
|
4
4
|
var v = "Arrow", e = n.forwardRef((r, i) => {
|
5
5
|
const { children: t, width: s = 10, height: a = 5, ...m } = r;
|
package/dist/index.es28.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es28.js","sources":["../src/components/ui/CardMapDoctor/index.tsx"],"sourcesContent":["import \"./CardMapDoctor.scss\";\nimport { useRef, useState } from \"react\";\nimport {\n GeneralPractitionerResponse,\n OfficeResponse,\n} from \"@anoki/fse-
|
1
|
+
{"version":3,"file":"index.es28.js","sources":["../src/components/ui/CardMapDoctor/index.tsx"],"sourcesContent":["import \"./CardMapDoctor.scss\";\nimport { useRef, useState } from \"react\";\nimport {\n GeneralPractitionerResponse,\n OfficeResponse,\n} from \"@anoki/fse-common/dist/types/general-practitioner-service\";\nimport * as CheckboxRadix from \"@radix-ui/react-checkbox\";\nimport { useClickOutside } from \"@/hooks/useClickOutside.ts\";\nimport { Col, Row } from \"@/components\";\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\n\ntype CardMapDoctorProps = {\n titleTag: HeadingLevel;\n availableLabel: string;\n specialization?: string;\n href?: string;\n addressLabel?: string;\n linkLabel?: string;\n asLink?: \"a\";\n className?: string;\n doctor: DoctorMock;\n setSelectedCard?: (id: string) => void;\n keepSelectionOnNavigation?: boolean;\n};\n\nexport type DoctorMock = {\n offices: OfficeResponseMock[];\n} & GeneralPractitionerResponse;\n\nexport type OfficeResponseMock = {\n position: {\n coordinates: [number, number];\n };\n} & OfficeResponse;\n\n// TODO: Allineare type card con il be appena pronto\n// mancano specialization, position\nexport const CardMapDoctor = ({\n titleTag: TitleTag = \"h3\",\n availableLabel = \"Disponibile\",\n specialization = \"Medico di famiglia | Neurologia\",\n href = \"/\",\n addressLabel,\n linkLabel = \"Apri dettaglio\",\n asLink = \"a\",\n className,\n doctor,\n setSelectedCard = () => {},\n keepSelectionOnNavigation = false,\n}: CardMapDoctorProps) => {\n const LinkComponent = asLink;\n const [isActive, setIsActive] = useState(false);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const address = doctor?.offices[0];\n useClickOutside(\n dropdownRef,\n isActive,\n () => setIsActive(false),\n () => setSelectedCard(\"\"),\n keepSelectionOnNavigation,\n );\n\n const linkContent = (\n <LinkComponent\n className={\"text-decoration-none fs-7 fw-bold text-primary\"}\n href={href}\n >\n {linkLabel?.toUpperCase()}\n </LinkComponent>\n );\n\n const CheckIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10 3L4.5 8.5L2 6\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n return (\n <Row\n br={\"x4\"}\n p={\"x24\"}\n gap={\"x16\"}\n bg={\"white\"}\n text={\"slate-20\"}\n ref={dropdownRef}\n className={`${className} ${isActive ? \"ui-is-active ui-card-search\" : \"ui-card-search\"} shadow cursor-pointer`}\n onClick={() => {\n setIsActive(true);\n setSelectedCard(doctor?.code);\n }}\n >\n <CheckboxRadix.Root\n id={doctor?.code}\n checked={isActive}\n // onCheckedChange={onChange}\n className={\"ui-checkbox-filter\"}\n // aria-label={labelText}\n >\n <CheckboxRadix.Indicator>\n <CheckIcon />\n </CheckboxRadix.Indicator>\n </CheckboxRadix.Root>\n <Col justifyContent={\"center\"} className={`w-full`}>\n <Col pb={\"x16\"}>\n <TitleTag className=\"flex-1 text-decoration-none fs-4 fw-semibold\">\n Dott. {doctor?.firstName} {doctor?.lastName}\n </TitleTag>\n <p className=\"fs-6 fw-regular text-slate-28\">{specialization}</p>\n <div\n className={\n \"ui-available-label mt-x4 px-x16 py-x4 bg-status-success text-white rounded fw-semibold fs-7\"\n }\n >\n {availableLabel.toUpperCase()}\n </div>\n </Col>\n <div className={\"text-slate-28 fs-6\"}>\n <div className={\"fw-bold\"}>{addressLabel}</div>\n <div className={\"w-full\"}>\n <p className={\"fw-regular\"}>\n {address?.address\n ? address.address.charAt(0).toUpperCase() +\n address.address.slice(1).toLowerCase()\n : \"\"}\n ,{\" \"}\n {address?.city\n ? address.city.charAt(0).toUpperCase() +\n address.city.slice(1).toLowerCase()\n : \"\"}\n </p>\n </div>\n <div className={\"pt-x8\"}>{linkContent}</div>\n </div>\n </Col>\n </Row>\n );\n};\n"],"names":["CardMapDoctor","TitleTag","availableLabel","specialization","href","addressLabel","linkLabel","asLink","className","doctor","setSelectedCard","keepSelectionOnNavigation","LinkComponent","isActive","setIsActive","useState","dropdownRef","useRef","address","useClickOutside","linkContent","jsx","CheckIcon","jsxs","Row","CheckboxRadix.Root","CheckboxRadix.Indicator","Col"],"mappings":"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"}
|
package/dist/index.es293.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as d from "react";
|
2
2
|
import { styleSingleton as f } from "./index.es294.js";
|
3
3
|
import { noScrollbarsClassName as p, zeroRightClassName as g, fullWidthClassName as l, removedBarSizeVariable as v } from "./index.es284.js";
|
4
|
-
import { getGapWidth as m } from "./index.
|
4
|
+
import { getGapWidth as m } from "./index.es302.js";
|
5
5
|
var b = f(), e = "data-scroll-locked", h = function(n, a, o, t) {
|
6
6
|
var r = n.left, i = n.top, s = n.right, c = n.gap;
|
7
7
|
return o === void 0 && (o = "margin"), `
|
package/dist/index.es294.js
CHANGED
package/dist/index.es299.js
CHANGED
@@ -1,26 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
}, f = function(t) {
|
12
|
-
if (t === void 0 && (t = "margin"), typeof window > "u")
|
13
|
-
return a;
|
14
|
-
var n = o(t), i = document.documentElement.clientWidth, r = window.innerWidth;
|
15
|
-
return {
|
16
|
-
left: n[0],
|
17
|
-
top: n[1],
|
18
|
-
right: n[2],
|
19
|
-
gap: Math.max(0, r - i + n[2] - n[0])
|
1
|
+
import * as o from "react";
|
2
|
+
import { stylesheetSingleton as r } from "./index.es300.js";
|
3
|
+
var i = function() {
|
4
|
+
var t = r();
|
5
|
+
return function(e, n) {
|
6
|
+
o.useEffect(function() {
|
7
|
+
return t.add(e), function() {
|
8
|
+
t.remove();
|
9
|
+
};
|
10
|
+
}, [e && n]);
|
20
11
|
};
|
21
12
|
};
|
22
13
|
export {
|
23
|
-
|
24
|
-
a as zeroGap
|
14
|
+
i as styleHookSingleton
|
25
15
|
};
|
26
16
|
//# sourceMappingURL=index.es299.js.map
|
package/dist/index.es299.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es299.js","sources":["../node_modules/react-
|
1
|
+
{"version":3,"file":"index.es299.js","sources":["../node_modules/react-style-singleton/dist/es2015/hook.js"],"sourcesContent":["import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n"],"names":["styleHookSingleton","sheet","stylesheetSingleton","styles","isDynamic","React"],"mappings":";;AAWU,IAACA,IAAqB,WAAY;AACxC,MAAIC,IAAQC,EAAqB;AACjC,SAAO,SAAUC,GAAQC,GAAW;AAChC,IAAAC,EAAM,UAAU,WAAY;AACxB,aAAAJ,EAAM,IAAIE,CAAM,GACT,WAAY;AACf,QAAAF,EAAM,OAAQ;AAAA,MACjB;AAAA,IACb,GAAW,CAACE,KAAUC,CAAS,CAAC;AAAA,EAC3B;AACL;","x_google_ignoreList":[0]}
|
package/dist/index.es300.js
CHANGED
@@ -1,16 +1,31 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
import { getNonce as o } from "./index.es301.js";
|
2
|
+
function r() {
|
3
|
+
if (!document)
|
4
|
+
return null;
|
5
|
+
var t = document.createElement("style");
|
6
|
+
t.type = "text/css";
|
7
|
+
var e = o();
|
8
|
+
return e && t.setAttribute("nonce", e), t;
|
9
|
+
}
|
10
|
+
function l(t, e) {
|
11
|
+
t.styleSheet ? t.styleSheet.cssText = e : t.appendChild(document.createTextNode(e));
|
12
|
+
}
|
13
|
+
function a(t) {
|
14
|
+
var e = document.head || document.getElementsByTagName("head")[0];
|
15
|
+
e.appendChild(t);
|
16
|
+
}
|
17
|
+
var c = function() {
|
18
|
+
var t = 0, e = null;
|
19
|
+
return {
|
20
|
+
add: function(n) {
|
21
|
+
t == 0 && (e = r()) && (l(e, n), a(e)), t++;
|
22
|
+
},
|
23
|
+
remove: function() {
|
24
|
+
t--, !t && e && (e.parentNode && e.parentNode.removeChild(e), e = null);
|
25
|
+
}
|
11
26
|
};
|
12
27
|
};
|
13
28
|
export {
|
14
|
-
|
29
|
+
c as stylesheetSingleton
|
15
30
|
};
|
16
31
|
//# sourceMappingURL=index.es300.js.map
|
package/dist/index.es300.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es300.js","sources":["../node_modules/react-style-singleton/dist/es2015/
|
1
|
+
{"version":3,"file":"index.es300.js","sources":["../node_modules/react-style-singleton/dist/es2015/singleton.js"],"sourcesContent":["import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n"],"names":["makeStyleTag","tag","nonce","getNonce","injectStyles","css","insertStyleTag","head","stylesheetSingleton","counter","stylesheet","style"],"mappings":";AACA,SAASA,IAAe;AACpB,MAAI,CAAC;AACD,WAAO;AACX,MAAIC,IAAM,SAAS,cAAc,OAAO;AACxC,EAAAA,EAAI,OAAO;AACX,MAAIC,IAAQC,EAAU;AACtB,SAAID,KACAD,EAAI,aAAa,SAASC,CAAK,GAE5BD;AACX;AACA,SAASG,EAAaH,GAAKI,GAAK;AAE5B,EAAIJ,EAAI,aAEJA,EAAI,WAAW,UAAUI,IAGzBJ,EAAI,YAAY,SAAS,eAAeI,CAAG,CAAC;AAEpD;AACA,SAASC,EAAeL,GAAK;AACzB,MAAIM,IAAO,SAAS,QAAQ,SAAS,qBAAqB,MAAM,EAAE,CAAC;AACnE,EAAAA,EAAK,YAAYN,CAAG;AACxB;AACU,IAACO,IAAsB,WAAY;AACzC,MAAIC,IAAU,GACVC,IAAa;AACjB,SAAO;AAAA,IACH,KAAK,SAAUC,GAAO;AAClB,MAAIF,KAAW,MACNC,IAAaV,SACdI,EAAaM,GAAYC,CAAK,GAC9BL,EAAeI,CAAU,IAGjCD;AAAA,IACH;AAAA,IACD,QAAQ,WAAY;AAChB,MAAAA,KACI,CAACA,KAAWC,MACZA,EAAW,cAAcA,EAAW,WAAW,YAAYA,CAAU,GACrEA,IAAa;AAAA,IAEpB;AAAA,EACJ;AACL;","x_google_ignoreList":[0]}
|
package/dist/index.es301.js
CHANGED
@@ -1,31 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
return null;
|
5
|
-
var t = document.createElement("style");
|
6
|
-
t.type = "text/css";
|
7
|
-
var e = o();
|
8
|
-
return e && t.setAttribute("nonce", e), t;
|
9
|
-
}
|
10
|
-
function l(t, e) {
|
11
|
-
t.styleSheet ? t.styleSheet.cssText = e : t.appendChild(document.createTextNode(e));
|
12
|
-
}
|
13
|
-
function a(t) {
|
14
|
-
var e = document.head || document.getElementsByTagName("head")[0];
|
15
|
-
e.appendChild(t);
|
16
|
-
}
|
17
|
-
var c = function() {
|
18
|
-
var t = 0, e = null;
|
19
|
-
return {
|
20
|
-
add: function(n) {
|
21
|
-
t == 0 && (e = r()) && (l(e, n), a(e)), t++;
|
22
|
-
},
|
23
|
-
remove: function() {
|
24
|
-
t--, !t && e && (e.parentNode && e.parentNode.removeChild(e), e = null);
|
25
|
-
}
|
26
|
-
};
|
1
|
+
var e = function() {
|
2
|
+
if (typeof __webpack_nonce__ < "u")
|
3
|
+
return __webpack_nonce__;
|
27
4
|
};
|
28
5
|
export {
|
29
|
-
|
6
|
+
e as getNonce
|
30
7
|
};
|
31
8
|
//# sourceMappingURL=index.es301.js.map
|
package/dist/index.es301.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es301.js","sources":["../node_modules/
|
1
|
+
{"version":3,"file":"index.es301.js","sources":["../node_modules/get-nonce/dist/es2015/index.js"],"sourcesContent":["var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n"],"names":["getNonce"],"mappings":"AAIU,IAACA,IAAW,WAAY;AAI9B,MAAI,OAAO,oBAAsB;AAC7B,WAAO;AAGf;","x_google_ignoreList":[0]}
|
package/dist/index.es302.js
CHANGED
@@ -1,8 +1,26 @@
|
|
1
|
-
var
|
2
|
-
|
3
|
-
|
1
|
+
var a = {
|
2
|
+
left: 0,
|
3
|
+
top: 0,
|
4
|
+
right: 0,
|
5
|
+
gap: 0
|
6
|
+
}, e = function(t) {
|
7
|
+
return parseInt(t || "", 10) || 0;
|
8
|
+
}, o = function(t) {
|
9
|
+
var n = window.getComputedStyle(document.body), i = n[t === "padding" ? "paddingLeft" : "marginLeft"], r = n[t === "padding" ? "paddingTop" : "marginTop"], d = n[t === "padding" ? "paddingRight" : "marginRight"];
|
10
|
+
return [e(i), e(r), e(d)];
|
11
|
+
}, f = function(t) {
|
12
|
+
if (t === void 0 && (t = "margin"), typeof window > "u")
|
13
|
+
return a;
|
14
|
+
var n = o(t), i = document.documentElement.clientWidth, r = window.innerWidth;
|
15
|
+
return {
|
16
|
+
left: n[0],
|
17
|
+
top: n[1],
|
18
|
+
right: n[2],
|
19
|
+
gap: Math.max(0, r - i + n[2] - n[0])
|
20
|
+
};
|
4
21
|
};
|
5
22
|
export {
|
6
|
-
|
23
|
+
f as getGapWidth,
|
24
|
+
a as zeroGap
|
7
25
|
};
|
8
26
|
//# sourceMappingURL=index.es302.js.map
|
package/dist/index.es302.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es302.js","sources":["../node_modules/
|
1
|
+
{"version":3,"file":"index.es302.js","sources":["../node_modules/react-remove-scroll-bar/dist/es2015/utils.js"],"sourcesContent":["export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n"],"names":["zeroGap","parse","x","getOffset","gapMode","cs","left","top","right","getGapWidth","offsets","documentWidth","windowWidth"],"mappings":"AAAU,IAACA,IAAU;AAAA,EACjB,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,KAAK;AACT,GACIC,IAAQ,SAAUC,GAAG;AAAE,SAAO,SAASA,KAAK,IAAI,EAAE,KAAK;AAAI,GAC3DC,IAAY,SAAUC,GAAS;AAC/B,MAAIC,IAAK,OAAO,iBAAiB,SAAS,IAAI,GAC1CC,IAAOD,EAAGD,MAAY,YAAY,gBAAgB,YAAY,GAC9DG,IAAMF,EAAGD,MAAY,YAAY,eAAe,WAAW,GAC3DI,IAAQH,EAAGD,MAAY,YAAY,iBAAiB,aAAa;AACrE,SAAO,CAACH,EAAMK,CAAI,GAAGL,EAAMM,CAAG,GAAGN,EAAMO,CAAK,CAAC;AACjD,GACWC,IAAc,SAAUL,GAAS;AAExC,MADIA,MAAY,WAAUA,IAAU,WAChC,OAAO,SAAW;AAClB,WAAOJ;AAEX,MAAIU,IAAUP,EAAUC,CAAO,GAC3BO,IAAgB,SAAS,gBAAgB,aACzCC,IAAc,OAAO;AACzB,SAAO;AAAA,IACH,MAAMF,EAAQ,CAAC;AAAA,IACf,KAAKA,EAAQ,CAAC;AAAA,IACd,OAAOA,EAAQ,CAAC;AAAA,IAChB,KAAK,KAAK,IAAI,GAAGE,IAAcD,IAAgBD,EAAQ,CAAC,IAAIA,EAAQ,CAAC,CAAC;AAAA,EACzE;AACL;","x_google_ignoreList":[0]}
|
package/dist/index.es31.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.es31.js","sources":["../src/components/ui/CardOpeningHours/index.tsx"],"sourcesContent":["import \"./CardOpeningHours.scss\";\nimport clsx from \"clsx\";\nimport { OpeningHours } from \"@anoki/fse-marche-common\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { DateTime } from \"luxon\";\nimport { Col, Row } from \"@/components\";\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\ntype WeekDaysMap = Record<keyof OpeningHours, string>;\ntype TimeSlot = { from: string; to: string };\n\ntype CardOpeningHoursProps = {\n title: string;\n titleTag: HeadingLevel;\n openingHours: OpeningHours;\n weekDaysMap: WeekDaysMap;\n openLabel?: string;\n todayLabel?: string;\n closeLabel?: string;\n open24Label?: string;\n opensSoonLabel?: string;\n opensAtLabel?: string;\n opensTomorrowLabel?: string;\n opensOnLabel?: string;\n atLabel?: string;\n closesAtLabel?: string;\n};\n\nexport const CardOpeningHours = ({\n title = \"Orari di apertura\",\n titleTag: TitleTag = \"h3\",\n openingHours,\n weekDaysMap,\n openLabel = \"Aperto\",\n todayLabel = \"Oggi\",\n closeLabel = \"Chiuso\",\n open24Label = \"24 ore su 24\",\n opensSoonLabel = \"Apre tra poco\",\n opensAtLabel = \"Apre alle\",\n opensTomorrowLabel = \"Apre domani\",\n opensOnLabel = \"Apre\",\n atLabel = \"alle\",\n closesAtLabel = \"Chiude alle\",\n}: CardOpeningHoursProps) => {\n const [activeDay, setActiveDay] = useState<number | null>(null);\n const [dayLabel, setDayLabel] = useState(\"\");\n const [openingHoursText, setOpeningHoursText] = useState(\"\");\n const [openingHoursText2, setOpeningHoursText2] = useState(\"\");\n const [isOpen, setIsOpen] = useState(false);\n const [isOpeningSoon, setIsOpeningSoon] = useState(false);\n const [additionalInfo, setAdditionalInfo] = useState(\"\");\n\n const weekDays = Object.values(weekDaysMap);\n const weekKeys = Object.keys(weekDaysMap) as (keyof OpeningHours)[];\n\n const formatCurrentTime = () => {\n return DateTime.now().toFormat(\"HH:mm\");\n };\n\n const parseTimeToMinutes = (timeStr: string): number => {\n const [hours, minutes] = timeStr.split(\":\").map(Number);\n return hours * 60 + minutes;\n };\n\n const isSlot24Hours = useCallback(\n (slot: TimeSlot) => slot.from === \"00:00\" && slot.to === \"00:00\",\n [],\n );\n\n const is24HoursDay = useCallback(\n (slots: TimeSlot[]) => slots.some(isSlot24Hours),\n [isSlot24Hours],\n );\n\n const isCurrentlyOpen = (slots: TimeSlot[], currentTime: string) => {\n for (const { from, to } of slots) {\n if (currentTime >= from && currentTime <= to) {\n return { open: true, closingTime: to };\n }\n }\n return { open: false, closingTime: \"\" };\n };\n\n const getNextOpeningTime = (slots: TimeSlot[], currentTime: string) => {\n for (const { from } of slots) {\n if (from > currentTime) {\n return from;\n }\n }\n return \"\";\n };\n\n const checkIsOpeningSoon = useCallback(\n (openingTime: string, currentTime: string) => {\n if (!openingTime) return false;\n\n const openMinutes = parseTimeToMinutes(openingTime);\n const currentMinutes = parseTimeToMinutes(currentTime);\n const diffMinutes = openMinutes - currentMinutes;\n\n return diffMinutes > 0 && diffMinutes <= 60;\n },\n [],\n );\n\n const getNextOpenDay = useCallback(\n (currentDayIndex: number) => {\n for (let i = 1; i <= 7; i++) {\n const nextIndex = (currentDayIndex + i) % 7;\n const nextDayKey = weekKeys[nextIndex];\n const nextDaySlots = openingHours[nextDayKey];\n\n if (nextDaySlots && nextDaySlots.length > 0) {\n return {\n dayName: weekDays[nextIndex].toLowerCase(),\n isTomorrow: i === 1,\n };\n }\n }\n return null;\n },\n [weekKeys, openingHours, weekDays],\n );\n\n const generateOpeningHoursText = useMemo(() => {\n return (hours: TimeSlot[]) => {\n if (hours.length === 0) {\n return closeLabel;\n }\n\n if (is24HoursDay(hours)) {\n return `${openLabel} ${open24Label}`;\n }\n\n return hours.map(({ from, to }) => `${from} - ${to}`).join(\" | \");\n };\n }, [closeLabel, is24HoursDay, open24Label, openLabel]);\n\n useEffect(() => {\n const now = DateTime.now();\n const todayIndex = now.weekday - 1;\n setActiveDay(todayIndex);\n setDayLabel(weekDays[todayIndex] || \"\");\n\n const todayKey = weekKeys[todayIndex];\n const todaySlots = openingHours[todayKey];\n\n if (!todaySlots) {\n return;\n }\n\n const currentTime = formatCurrentTime();\n\n if (is24HoursDay(todaySlots)) {\n setOpeningHoursText(openLabel);\n setAdditionalInfo(` | ${open24Label}`);\n setIsOpen(true);\n setIsOpeningSoon(false);\n setOpeningHoursText2(`${openLabel} ${open24Label}`);\n return;\n }\n\n const { open, closingTime } = isCurrentlyOpen(todaySlots, currentTime);\n\n if (open) {\n setOpeningHoursText(openLabel);\n setAdditionalInfo(\n closingTime ? ` | ${closesAtLabel} ${closingTime}` : \"\",\n );\n setIsOpen(true);\n setIsOpeningSoon(false);\n } else {\n const nextOpeningTime = getNextOpeningTime(todaySlots, currentTime);\n setIsOpen(false);\n\n if (nextOpeningTime) {\n if (checkIsOpeningSoon(nextOpeningTime, currentTime)) {\n setOpeningHoursText(opensSoonLabel);\n setAdditionalInfo(` | ${atLabel} ${nextOpeningTime}`);\n setIsOpeningSoon(true);\n } else {\n setOpeningHoursText(closeLabel);\n setAdditionalInfo(` | ${opensAtLabel} ${nextOpeningTime}`);\n setIsOpeningSoon(false);\n }\n } else {\n setOpeningHoursText(closeLabel);\n setIsOpeningSoon(false);\n const nextDay = getNextOpenDay(todayIndex);\n\n if (nextDay) {\n setAdditionalInfo(\n nextDay.isTomorrow\n ? ` | ${opensTomorrowLabel}`\n : ` | ${opensOnLabel} ${nextDay.dayName}`,\n );\n } else {\n setAdditionalInfo(\"\");\n }\n }\n }\n\n setOpeningHoursText2(generateOpeningHoursText(todaySlots));\n }, [\n atLabel,\n checkIsOpeningSoon,\n closeLabel,\n closesAtLabel,\n generateOpeningHoursText,\n getNextOpenDay,\n is24HoursDay,\n open24Label,\n openLabel,\n openingHours,\n opensAtLabel,\n opensOnLabel,\n opensSoonLabel,\n opensTomorrowLabel,\n weekDays,\n weekKeys,\n ]);\n\n return (\n <Col\n fs={\"6\"}\n fw={\"semibold\"}\n className=\"ui-card-opening rounded shadow text-slate-28\"\n >\n <Col as={\"header\"} className=\"ui-card-header\">\n <TitleTag className=\"text-slate-20 fw-semibold fs-4\">{title}</TitleTag>\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n style={{ backgroundColor: \"#F7F2FC\" }}\n py={\"x16\"}\n px={\"x24\"}\n fw={\"bold\"}\n fs={\"6\"}\n className=\"rounded\"\n >\n <p className=\"text-slate-28\">\n {todayLabel}, {dayLabel}\n </p>\n <p>\n <span\n className={\n isOpen\n ? \"text-success\"\n : isOpeningSoon\n ? \"text-warning\"\n : \"text-error\"\n }\n >\n {openingHoursText}\n </span>\n <span className=\"fw-regular text-grey-black\">{additionalInfo}</span>\n </p>\n </Row>\n </Col>\n <Col as={\"main\"} pt={\"x32\"} gap={\"x24\"}>\n <Row justifyContent={\"space-around\"} className=\"ui-weekdays-container\">\n {weekDays.map((day, index) => (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n key={index}\n className={clsx(\n activeDay === index ? \"active-day text-primary\" : \"\",\n \"flex-1\",\n )}\n >\n {day.charAt(0).toUpperCase()}\n </Row>\n ))}\n </Row>\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n fw={\"regular\"}\n >\n <p>{dayLabel}</p>\n <p>{openingHoursText2}</p>\n </Row>\n </Col>\n </Col>\n );\n};\n"],"names":["CardOpeningHours","title","TitleTag","openingHours","weekDaysMap","openLabel","todayLabel","closeLabel","open24Label","opensSoonLabel","opensAtLabel","opensTomorrowLabel","opensOnLabel","atLabel","closesAtLabel","activeDay","setActiveDay","useState","dayLabel","setDayLabel","openingHoursText","setOpeningHoursText","openingHoursText2","setOpeningHoursText2","isOpen","setIsOpen","isOpeningSoon","setIsOpeningSoon","additionalInfo","setAdditionalInfo","weekDays","weekKeys","formatCurrentTime","DateTime","parseTimeToMinutes","timeStr","hours","minutes","isSlot24Hours","useCallback","slot","is24HoursDay","slots","isCurrentlyOpen","currentTime","from","to","getNextOpeningTime","checkIsOpeningSoon","openingTime","openMinutes","currentMinutes","diffMinutes","getNextOpenDay","currentDayIndex","i","nextIndex","nextDayKey","nextDaySlots","generateOpeningHoursText","useMemo","useEffect","todayIndex","todayKey","todaySlots","open","closingTime","nextOpeningTime","nextDay","jsxs","Col","jsx","Row","day","index","clsx"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.es31.js","sources":["../src/components/ui/CardOpeningHours/index.tsx"],"sourcesContent":["import \"./CardOpeningHours.scss\";\nimport clsx from \"clsx\";\nimport { OpeningHours } from \"@anoki/fse-common\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { DateTime } from \"luxon\";\nimport { Col, Row } from \"@/components\";\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\ntype WeekDaysMap = Record<keyof OpeningHours, string>;\ntype TimeSlot = { from: string; to: string };\n\ntype CardOpeningHoursProps = {\n title: string;\n titleTag: HeadingLevel;\n openingHours: OpeningHours;\n weekDaysMap: WeekDaysMap;\n openLabel?: string;\n todayLabel?: string;\n closeLabel?: string;\n open24Label?: string;\n opensSoonLabel?: string;\n opensAtLabel?: string;\n opensTomorrowLabel?: string;\n opensOnLabel?: string;\n atLabel?: string;\n closesAtLabel?: string;\n};\n\nexport const CardOpeningHours = ({\n title = \"Orari di apertura\",\n titleTag: TitleTag = \"h3\",\n openingHours,\n weekDaysMap,\n openLabel = \"Aperto\",\n todayLabel = \"Oggi\",\n closeLabel = \"Chiuso\",\n open24Label = \"24 ore su 24\",\n opensSoonLabel = \"Apre tra poco\",\n opensAtLabel = \"Apre alle\",\n opensTomorrowLabel = \"Apre domani\",\n opensOnLabel = \"Apre\",\n atLabel = \"alle\",\n closesAtLabel = \"Chiude alle\",\n}: CardOpeningHoursProps) => {\n const [activeDay, setActiveDay] = useState<number | null>(null);\n const [dayLabel, setDayLabel] = useState(\"\");\n const [openingHoursText, setOpeningHoursText] = useState(\"\");\n const [openingHoursText2, setOpeningHoursText2] = useState(\"\");\n const [isOpen, setIsOpen] = useState(false);\n const [isOpeningSoon, setIsOpeningSoon] = useState(false);\n const [additionalInfo, setAdditionalInfo] = useState(\"\");\n\n const weekDays = Object.values(weekDaysMap);\n const weekKeys = Object.keys(weekDaysMap) as (keyof OpeningHours)[];\n\n const formatCurrentTime = () => {\n return DateTime.now().toFormat(\"HH:mm\");\n };\n\n const parseTimeToMinutes = (timeStr: string): number => {\n const [hours, minutes] = timeStr.split(\":\").map(Number);\n return hours * 60 + minutes;\n };\n\n const isSlot24Hours = useCallback(\n (slot: TimeSlot) => slot.from === \"00:00\" && slot.to === \"00:00\",\n [],\n );\n\n const is24HoursDay = useCallback(\n (slots: TimeSlot[]) => slots.some(isSlot24Hours),\n [isSlot24Hours],\n );\n\n const isCurrentlyOpen = (slots: TimeSlot[], currentTime: string) => {\n for (const { from, to } of slots) {\n if (currentTime >= from && currentTime <= to) {\n return { open: true, closingTime: to };\n }\n }\n return { open: false, closingTime: \"\" };\n };\n\n const getNextOpeningTime = (slots: TimeSlot[], currentTime: string) => {\n for (const { from } of slots) {\n if (from > currentTime) {\n return from;\n }\n }\n return \"\";\n };\n\n const checkIsOpeningSoon = useCallback(\n (openingTime: string, currentTime: string) => {\n if (!openingTime) return false;\n\n const openMinutes = parseTimeToMinutes(openingTime);\n const currentMinutes = parseTimeToMinutes(currentTime);\n const diffMinutes = openMinutes - currentMinutes;\n\n return diffMinutes > 0 && diffMinutes <= 60;\n },\n [],\n );\n\n const getNextOpenDay = useCallback(\n (currentDayIndex: number) => {\n for (let i = 1; i <= 7; i++) {\n const nextIndex = (currentDayIndex + i) % 7;\n const nextDayKey = weekKeys[nextIndex];\n const nextDaySlots = openingHours[nextDayKey];\n\n if (nextDaySlots && nextDaySlots.length > 0) {\n return {\n dayName: weekDays[nextIndex].toLowerCase(),\n isTomorrow: i === 1,\n };\n }\n }\n return null;\n },\n [weekKeys, openingHours, weekDays],\n );\n\n const generateOpeningHoursText = useMemo(() => {\n return (hours: TimeSlot[]) => {\n if (hours.length === 0) {\n return closeLabel;\n }\n\n if (is24HoursDay(hours)) {\n return `${openLabel} ${open24Label}`;\n }\n\n return hours.map(({ from, to }) => `${from} - ${to}`).join(\" | \");\n };\n }, [closeLabel, is24HoursDay, open24Label, openLabel]);\n\n useEffect(() => {\n const now = DateTime.now();\n const todayIndex = now.weekday - 1;\n setActiveDay(todayIndex);\n setDayLabel(weekDays[todayIndex] || \"\");\n\n const todayKey = weekKeys[todayIndex];\n const todaySlots = openingHours[todayKey];\n\n if (!todaySlots) {\n return;\n }\n\n const currentTime = formatCurrentTime();\n\n if (is24HoursDay(todaySlots)) {\n setOpeningHoursText(openLabel);\n setAdditionalInfo(` | ${open24Label}`);\n setIsOpen(true);\n setIsOpeningSoon(false);\n setOpeningHoursText2(`${openLabel} ${open24Label}`);\n return;\n }\n\n const { open, closingTime } = isCurrentlyOpen(todaySlots, currentTime);\n\n if (open) {\n setOpeningHoursText(openLabel);\n setAdditionalInfo(\n closingTime ? ` | ${closesAtLabel} ${closingTime}` : \"\",\n );\n setIsOpen(true);\n setIsOpeningSoon(false);\n } else {\n const nextOpeningTime = getNextOpeningTime(todaySlots, currentTime);\n setIsOpen(false);\n\n if (nextOpeningTime) {\n if (checkIsOpeningSoon(nextOpeningTime, currentTime)) {\n setOpeningHoursText(opensSoonLabel);\n setAdditionalInfo(` | ${atLabel} ${nextOpeningTime}`);\n setIsOpeningSoon(true);\n } else {\n setOpeningHoursText(closeLabel);\n setAdditionalInfo(` | ${opensAtLabel} ${nextOpeningTime}`);\n setIsOpeningSoon(false);\n }\n } else {\n setOpeningHoursText(closeLabel);\n setIsOpeningSoon(false);\n const nextDay = getNextOpenDay(todayIndex);\n\n if (nextDay) {\n setAdditionalInfo(\n nextDay.isTomorrow\n ? ` | ${opensTomorrowLabel}`\n : ` | ${opensOnLabel} ${nextDay.dayName}`,\n );\n } else {\n setAdditionalInfo(\"\");\n }\n }\n }\n\n setOpeningHoursText2(generateOpeningHoursText(todaySlots));\n }, [\n atLabel,\n checkIsOpeningSoon,\n closeLabel,\n closesAtLabel,\n generateOpeningHoursText,\n getNextOpenDay,\n is24HoursDay,\n open24Label,\n openLabel,\n openingHours,\n opensAtLabel,\n opensOnLabel,\n opensSoonLabel,\n opensTomorrowLabel,\n weekDays,\n weekKeys,\n ]);\n\n return (\n <Col\n fs={\"6\"}\n fw={\"semibold\"}\n className=\"ui-card-opening rounded shadow text-slate-28\"\n >\n <Col as={\"header\"} className=\"ui-card-header\">\n <TitleTag className=\"text-slate-20 fw-semibold fs-4\">{title}</TitleTag>\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n style={{ backgroundColor: \"#F7F2FC\" }}\n py={\"x16\"}\n px={\"x24\"}\n fw={\"bold\"}\n fs={\"6\"}\n className=\"rounded\"\n >\n <p className=\"text-slate-28\">\n {todayLabel}, {dayLabel}\n </p>\n <p>\n <span\n className={\n isOpen\n ? \"text-success\"\n : isOpeningSoon\n ? \"text-warning\"\n : \"text-error\"\n }\n >\n {openingHoursText}\n </span>\n <span className=\"fw-regular text-grey-black\">{additionalInfo}</span>\n </p>\n </Row>\n </Col>\n <Col as={\"main\"} pt={\"x32\"} gap={\"x24\"}>\n <Row justifyContent={\"space-around\"} className=\"ui-weekdays-container\">\n {weekDays.map((day, index) => (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n key={index}\n className={clsx(\n activeDay === index ? \"active-day text-primary\" : \"\",\n \"flex-1\",\n )}\n >\n {day.charAt(0).toUpperCase()}\n </Row>\n ))}\n </Row>\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n fw={\"regular\"}\n >\n <p>{dayLabel}</p>\n <p>{openingHoursText2}</p>\n </Row>\n </Col>\n </Col>\n );\n};\n"],"names":["CardOpeningHours","title","TitleTag","openingHours","weekDaysMap","openLabel","todayLabel","closeLabel","open24Label","opensSoonLabel","opensAtLabel","opensTomorrowLabel","opensOnLabel","atLabel","closesAtLabel","activeDay","setActiveDay","useState","dayLabel","setDayLabel","openingHoursText","setOpeningHoursText","openingHoursText2","setOpeningHoursText2","isOpen","setIsOpen","isOpeningSoon","setIsOpeningSoon","additionalInfo","setAdditionalInfo","weekDays","weekKeys","formatCurrentTime","DateTime","parseTimeToMinutes","timeStr","hours","minutes","isSlot24Hours","useCallback","slot","is24HoursDay","slots","isCurrentlyOpen","currentTime","from","to","getNextOpeningTime","checkIsOpeningSoon","openingTime","openMinutes","currentMinutes","diffMinutes","getNextOpenDay","currentDayIndex","i","nextIndex","nextDayKey","nextDaySlots","generateOpeningHoursText","useMemo","useEffect","todayIndex","todayKey","todaySlots","open","closingTime","nextOpeningTime","nextDay","jsxs","Col","jsx","Row","day","index","clsx"],"mappings":"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"}
|