@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.
Files changed (175) hide show
  1. package/dist/index.cjs12.js.map +1 -1
  2. package/dist/index.cjs13.js.map +1 -1
  3. package/dist/index.cjs159.js +1 -1
  4. package/dist/index.cjs163.js +1 -1
  5. package/dist/index.cjs170.js +1 -1
  6. package/dist/index.cjs181.js +1 -1
  7. package/dist/index.cjs208.js +1 -1
  8. package/dist/index.cjs232.js +1 -1
  9. package/dist/index.cjs233.js +1 -1
  10. package/dist/index.cjs235.js +1 -1
  11. package/dist/index.cjs235.js.map +1 -1
  12. package/dist/index.cjs238.js +1 -1
  13. package/dist/index.cjs238.js.map +1 -1
  14. package/dist/index.cjs239.js +1 -1
  15. package/dist/index.cjs239.js.map +1 -1
  16. package/dist/index.cjs240.js +1 -1
  17. package/dist/index.cjs240.js.map +1 -1
  18. package/dist/index.cjs241.js +1 -1
  19. package/dist/index.cjs241.js.map +1 -1
  20. package/dist/index.cjs242.js +1 -1
  21. package/dist/index.cjs242.js.map +1 -1
  22. package/dist/index.cjs243.js +2 -0
  23. package/dist/index.cjs243.js.map +1 -0
  24. package/dist/index.cjs244.js +2 -0
  25. package/dist/index.cjs244.js.map +1 -0
  26. package/dist/index.cjs246.js +1 -1
  27. package/dist/index.cjs247.js +1 -1
  28. package/dist/index.cjs248.js +1 -1
  29. package/dist/index.cjs248.js.map +1 -1
  30. package/dist/index.cjs249.js +1 -1
  31. package/dist/index.cjs249.js.map +1 -1
  32. package/dist/index.cjs250.js +1 -1
  33. package/dist/index.cjs250.js.map +1 -1
  34. package/dist/index.cjs251.js +1 -1
  35. package/dist/index.cjs251.js.map +1 -1
  36. package/dist/index.cjs252.js +1 -1
  37. package/dist/index.cjs252.js.map +1 -1
  38. package/dist/index.cjs253.js +1 -1
  39. package/dist/index.cjs253.js.map +1 -1
  40. package/dist/index.cjs254.js +1 -1
  41. package/dist/index.cjs254.js.map +1 -1
  42. package/dist/index.cjs255.js +2 -0
  43. package/dist/index.cjs255.js.map +1 -0
  44. package/dist/index.cjs256.js +2 -0
  45. package/dist/index.cjs256.js.map +1 -0
  46. package/dist/{index.cjs263.js → index.cjs257.js} +2 -2
  47. package/dist/{index.cjs263.js.map → index.cjs257.js.map} +1 -1
  48. package/dist/index.cjs258.js +1 -1
  49. package/dist/index.cjs258.js.map +1 -1
  50. package/dist/index.cjs259.js +1 -1
  51. package/dist/index.cjs259.js.map +1 -1
  52. package/dist/index.cjs26.js.map +1 -1
  53. package/dist/index.cjs260.js +1 -1
  54. package/dist/index.cjs260.js.map +1 -1
  55. package/dist/index.cjs261.js +1 -1
  56. package/dist/index.cjs261.js.map +1 -1
  57. package/dist/index.cjs262.js +1 -1
  58. package/dist/index.cjs262.js.map +1 -1
  59. package/dist/index.cjs27.js.map +1 -1
  60. package/dist/{index.cjs271.js → index.cjs277.js} +2 -2
  61. package/dist/{index.cjs271.js.map → index.cjs277.js.map} +1 -1
  62. package/dist/index.cjs279.js +1 -1
  63. package/dist/index.cjs28.js.map +1 -1
  64. package/dist/index.cjs293.js +1 -1
  65. package/dist/index.cjs294.js +1 -1
  66. package/dist/index.cjs299.js +1 -1
  67. package/dist/index.cjs299.js.map +1 -1
  68. package/dist/index.cjs300.js +1 -1
  69. package/dist/index.cjs300.js.map +1 -1
  70. package/dist/index.cjs301.js +1 -1
  71. package/dist/index.cjs301.js.map +1 -1
  72. package/dist/index.cjs302.js +1 -1
  73. package/dist/index.cjs302.js.map +1 -1
  74. package/dist/index.cjs31.js.map +1 -1
  75. package/dist/index.cjs53.js.map +1 -1
  76. package/dist/index.cjs55.js.map +1 -1
  77. package/dist/index.cjs73.js.map +1 -1
  78. package/dist/index.cjs74.js.map +1 -1
  79. package/dist/index.d.ts +8 -8
  80. package/dist/index.es12.js.map +1 -1
  81. package/dist/index.es13.js.map +1 -1
  82. package/dist/index.es159.js +7 -7
  83. package/dist/index.es163.js +1 -1
  84. package/dist/index.es170.js +5 -5
  85. package/dist/index.es181.js +13 -13
  86. package/dist/index.es208.js +5 -5
  87. package/dist/index.es232.js +1 -1
  88. package/dist/index.es233.js +1 -1
  89. package/dist/index.es235.js +15 -7
  90. package/dist/index.es235.js.map +1 -1
  91. package/dist/index.es238.js +6 -29
  92. package/dist/index.es238.js.map +1 -1
  93. package/dist/index.es239.js +26 -32
  94. package/dist/index.es239.js.map +1 -1
  95. package/dist/index.es240.js +63 -617
  96. package/dist/index.es240.js.map +1 -1
  97. package/dist/index.es241.js +29 -10
  98. package/dist/index.es241.js.map +1 -1
  99. package/dist/index.es242.js +33 -15
  100. package/dist/index.es242.js.map +1 -1
  101. package/dist/index.es243.js +625 -0
  102. package/dist/index.es243.js.map +1 -0
  103. package/dist/index.es244.js +14 -0
  104. package/dist/index.es244.js.map +1 -0
  105. package/dist/index.es246.js +1 -1
  106. package/dist/index.es247.js +2 -2
  107. package/dist/index.es248.js +2 -125
  108. package/dist/index.es248.js.map +1 -1
  109. package/dist/index.es249.js +2 -135
  110. package/dist/index.es249.js.map +1 -1
  111. package/dist/index.es250.js +10 -13
  112. package/dist/index.es250.js.map +1 -1
  113. package/dist/index.es251.js +40 -13
  114. package/dist/index.es251.js.map +1 -1
  115. package/dist/index.es252.js +46 -9
  116. package/dist/index.es252.js.map +1 -1
  117. package/dist/index.es253.js +8 -50
  118. package/dist/index.es253.js.map +1 -1
  119. package/dist/index.es254.js +120 -37
  120. package/dist/index.es254.js.map +1 -1
  121. package/dist/index.es255.js +18 -0
  122. package/dist/index.es255.js.map +1 -0
  123. package/dist/index.es256.js +138 -0
  124. package/dist/index.es256.js.map +1 -0
  125. package/dist/{index.es263.js → index.es257.js} +6 -6
  126. package/dist/{index.es263.js.map → index.es257.js.map} +1 -1
  127. package/dist/index.es258.js +14 -2
  128. package/dist/index.es258.js.map +1 -1
  129. package/dist/index.es259.js +178 -2
  130. package/dist/index.es259.js.map +1 -1
  131. package/dist/index.es26.js +5 -1
  132. package/dist/index.es26.js.map +1 -1
  133. package/dist/index.es260.js +50 -11
  134. package/dist/index.es260.js.map +1 -1
  135. package/dist/index.es261.js +9 -46
  136. package/dist/index.es261.js.map +1 -1
  137. package/dist/index.es262.js +4 -8
  138. package/dist/index.es262.js.map +1 -1
  139. package/dist/index.es27.js.map +1 -1
  140. package/dist/{index.es271.js → index.es277.js} +2 -2
  141. package/dist/{index.es271.js.map → index.es277.js.map} +1 -1
  142. package/dist/index.es279.js +1 -1
  143. package/dist/index.es28.js.map +1 -1
  144. package/dist/index.es293.js +1 -1
  145. package/dist/index.es294.js +1 -1
  146. package/dist/index.es299.js +11 -21
  147. package/dist/index.es299.js.map +1 -1
  148. package/dist/index.es300.js +26 -11
  149. package/dist/index.es300.js.map +1 -1
  150. package/dist/index.es301.js +4 -27
  151. package/dist/index.es301.js.map +1 -1
  152. package/dist/index.es302.js +22 -4
  153. package/dist/index.es302.js.map +1 -1
  154. package/dist/index.es31.js.map +1 -1
  155. package/dist/index.es53.js.map +1 -1
  156. package/dist/index.es55.js.map +1 -1
  157. package/dist/index.es73.js.map +1 -1
  158. package/dist/index.es74.js.map +1 -1
  159. package/package.json +2 -2
  160. package/dist/index.cjs236.js +0 -2
  161. package/dist/index.cjs236.js.map +0 -1
  162. package/dist/index.cjs237.js +0 -2
  163. package/dist/index.cjs237.js.map +0 -1
  164. package/dist/index.cjs264.js +0 -2
  165. package/dist/index.cjs264.js.map +0 -1
  166. package/dist/index.cjs265.js +0 -2
  167. package/dist/index.cjs265.js.map +0 -1
  168. package/dist/index.es236.js +0 -30
  169. package/dist/index.es236.js.map +0 -1
  170. package/dist/index.es237.js +0 -71
  171. package/dist/index.es237.js.map +0 -1
  172. package/dist/index.es264.js +0 -181
  173. package/dist/index.es264.js.map +0 -1
  174. package/dist/index.es265.js +0 -7
  175. package/dist/index.es265.js.map +0 -1
@@ -1,14 +1,53 @@
1
- import * as r from "react";
2
- function o(t) {
3
- const e = r.useRef(t);
4
- return r.useEffect(() => {
5
- e.current = t;
6
- }), r.useMemo(() => (...n) => {
7
- var u;
8
- return (u = e.current) == null ? void 0 : u.call(e, ...n);
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
- o as useCallbackRef
51
+ C as hideOthers
13
52
  };
14
53
  //# sourceMappingURL=index.es260.js.map
@@ -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":"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","x_google_ignoreList":[0]}
@@ -1,49 +1,12 @@
1
- import n from "react";
2
- import { createContextScope as O } from "./index.es237.js";
3
- import { useComposedRefs as I } from "./index.es236.js";
4
- import { Slot as S } from "./index.es254.js";
5
- import { j as u } from "./index.es137.js";
6
- function L(s) {
7
- const f = s + "CollectionProvider", [A, E] = O(f), [N, m] = A(
8
- f,
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
- L as createCollection
10
+ s as default
48
11
  };
49
12
  //# sourceMappingURL=index.es261.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es261.js","sources":["../node_modules/@radix-ui/react-collection/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/collection/src/collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(Slot, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(Slot, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","createContextScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","props","scope","children","ref","React","itemMap","jsx","COLLECTION_SLOT_NAME","CollectionSlot","forwardedRef","context","composedRefs","useComposedRefs","Slot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","a","b"],"mappings":";;;;;AAQA,SAASA,EAAiBC,GAAM;AAC9B,QAAMC,IAAgBD,IAAO,sBACvB,CAACE,GAAyBC,CAAqB,IAAIC,EAAmBH,CAAa,GACnF,CAACI,GAAwBC,CAAoB,IAAIJ;AAAA,IACrDD;AAAA,IACA,EAAE,eAAe,EAAE,SAAS,KAAI,GAAI,SAAyB,oBAAI,IAAK,EAAA;AAAA,EACvE,GACKM,IAAqB,CAACC,MAAU;AACpC,UAAM,EAAE,OAAAC,GAAO,UAAAC,EAAQ,IAAKF,GACtBG,IAAMC,EAAM,OAAO,IAAI,GACvBC,IAAUD,EAAM,OAAuB,oBAAI,IAAG,CAAE,EAAE;AACxD,WAAuBE,gBAAAA,EAAG,IAACT,GAAwB,EAAE,OAAAI,GAAO,SAAAI,GAAS,eAAeF,GAAK,UAAAD,GAAU;AAAA,EACpG;AACD,EAAAH,EAAmB,cAAcN;AACjC,QAAMc,IAAuBf,IAAO,kBAC9BgB,IAAiBJ,EAAM;AAAA,IAC3B,CAACJ,GAAOS,MAAiB;AACvB,YAAM,EAAE,OAAAR,GAAO,UAAAC,EAAQ,IAAKF,GACtBU,IAAUZ,EAAqBS,GAAsBN,CAAK,GAC1DU,IAAeC,EAAgBH,GAAcC,EAAQ,aAAa;AACxE,aAAuBJ,gBAAAA,EAAAA,IAAIO,GAAM,EAAE,KAAKF,GAAc,UAAAT,EAAQ,CAAE;AAAA,IACtE;AAAA,EACG;AACD,EAAAM,EAAe,cAAcD;AAC7B,QAAMO,IAAiBtB,IAAO,sBACxBuB,IAAiB,8BACjBC,IAAqBZ,EAAM;AAAA,IAC/B,CAACJ,GAAOS,MAAiB;AACvB,YAAM,EAAE,OAAAR,GAAO,UAAAC,GAAU,GAAGe,EAAU,IAAGjB,GACnCG,IAAMC,EAAM,OAAO,IAAI,GACvBO,IAAeC,EAAgBH,GAAcN,CAAG,GAChDO,IAAUZ,EAAqBgB,GAAgBb,CAAK;AAC1DG,aAAAA,EAAM,UAAU,OACdM,EAAQ,QAAQ,IAAIP,GAAK,EAAE,KAAAA,GAAK,GAAGc,GAAU,GACtC,MAAM,KAAKP,EAAQ,QAAQ,OAAOP,CAAG,EAC7C,GACsBG,gBAAAA,MAAIO,GAAM,EAAO,CAACE,CAAc,GAAG,IAAM,KAAKJ,GAAc,UAAAT,GAAU;AAAA,IACnG;AAAA,EACG;AACD,EAAAc,EAAmB,cAAcF;AACjC,WAASI,EAAcjB,GAAO;AAC5B,UAAMS,IAAUZ,EAAqBN,IAAO,sBAAsBS,CAAK;AAWvE,WAViBG,EAAM,YAAY,MAAM;AACvC,YAAMe,IAAiBT,EAAQ,cAAc;AAC7C,UAAI,CAACS,EAAgB,QAAO,CAAE;AAC9B,YAAMC,IAAe,MAAM,KAAKD,EAAe,iBAAiB,IAAIJ,CAAc,GAAG,CAAC;AAKtF,aAJc,MAAM,KAAKL,EAAQ,QAAQ,QAAQ,EACtB;AAAA,QACzB,CAACW,GAAGC,MAAMF,EAAa,QAAQC,EAAE,IAAI,OAAO,IAAID,EAAa,QAAQE,EAAE,IAAI,OAAO;AAAA,MACnF;AAAA,IAEF,GAAE,CAACZ,EAAQ,eAAeA,EAAQ,OAAO,CAAC;AAAA,EAE/C;AACE,SAAO;AAAA,IACL,EAAE,UAAUX,GAAoB,MAAMS,GAAgB,UAAUQ,EAAoB;AAAA,IACpFE;AAAA,IACAvB;AAAA,EACD;AACH;","x_google_ignoreList":[0]}
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]}
@@ -1,11 +1,7 @@
1
- import * as t from "react";
2
- import "./index.es137.js";
3
- var r = t.createContext(void 0);
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
- n as useDirection
5
+ o as useLayoutEffect
10
6
  };
11
7
  //# sourceMappingURL=index.es262.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es262.js","sources":["../node_modules/@radix-ui/react-direction/dist/index.mjs"],"sourcesContent":["// packages/react/direction/src/Direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DirectionContext","React","useDirection","localDir","globalDir"],"mappings":";;AAGA,IAAIA,IAAmBC,EAAM,cAAc,MAAM;AAKjD,SAASC,EAAaC,GAAU;AAC9B,QAAMC,IAAYH,EAAM,WAAWD,CAAgB;AACnD,SAAOG,KAAYC,KAAa;AAClC;","x_google_ignoreList":[0]}
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]}
@@ -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-marche-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
+ {"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.es260.js";
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.es271.js.map
15
+ //# sourceMappingURL=index.es277.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es271.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]}
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]}
@@ -1,5 +1,5 @@
1
1
  import * as n from "react";
2
- import { Primitive as p } from "./index.es239.js";
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;
@@ -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-marche-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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"}
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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"}
@@ -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.es299.js";
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"), `
@@ -1,4 +1,4 @@
1
- import { styleHookSingleton as o } from "./index.es300.js";
1
+ import { styleHookSingleton as o } from "./index.es299.js";
2
2
  var s = function() {
3
3
  var e = o(), n = function(t) {
4
4
  var r = t.styles, l = t.dynamic;
@@ -1,26 +1,16 @@
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])
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
- f as getGapWidth,
24
- a as zeroGap
14
+ i as styleHookSingleton
25
15
  };
26
16
  //# sourceMappingURL=index.es299.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es299.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]}
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]}
@@ -1,16 +1,31 @@
1
- import * as o from "react";
2
- import { stylesheetSingleton as r } from "./index.es301.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]);
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
- i as styleHookSingleton
29
+ c as stylesheetSingleton
15
30
  };
16
31
  //# sourceMappingURL=index.es300.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es300.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]}
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]}
@@ -1,31 +1,8 @@
1
- import { getNonce as o } from "./index.es302.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
- }
26
- };
1
+ var e = function() {
2
+ if (typeof __webpack_nonce__ < "u")
3
+ return __webpack_nonce__;
27
4
  };
28
5
  export {
29
- c as stylesheetSingleton
6
+ e as getNonce
30
7
  };
31
8
  //# sourceMappingURL=index.es301.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es301.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]}
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]}
@@ -1,8 +1,26 @@
1
- var e = function() {
2
- if (typeof __webpack_nonce__ < "u")
3
- return __webpack_nonce__;
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
- e as getNonce
23
+ f as getGapWidth,
24
+ a as zeroGap
7
25
  };
8
26
  //# sourceMappingURL=index.es302.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es302.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]}
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]}
@@ -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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"}