@anoki/fse-ui 1.0.564 → 1.0.566

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 (110) hide show
  1. package/dist/index.cjs219.js +1 -1
  2. package/dist/index.cjs226.js +1 -1
  3. package/dist/index.cjs237.js +1 -1
  4. package/dist/index.cjs244.js +1 -1
  5. package/dist/index.cjs245.js +1 -1
  6. package/dist/index.cjs249.js +1 -1
  7. package/dist/index.cjs254.js +1 -1
  8. package/dist/index.cjs256.js +1 -1
  9. package/dist/index.cjs264.js +1 -1
  10. package/dist/index.cjs303.js +1 -1
  11. package/dist/index.cjs338.js +1 -1
  12. package/dist/index.cjs339.js +1 -1
  13. package/dist/index.cjs342.js +1 -1
  14. package/dist/index.cjs342.js.map +1 -1
  15. package/dist/{index.cjs346.js → index.cjs343.js} +1 -1
  16. package/dist/{index.cjs346.js.map → index.cjs343.js.map} +1 -1
  17. package/dist/{index.cjs347.js → index.cjs344.js} +1 -1
  18. package/dist/{index.cjs347.js.map → index.cjs344.js.map} +1 -1
  19. package/dist/index.cjs345.js +1 -1
  20. package/dist/index.cjs345.js.map +1 -1
  21. package/dist/{index.cjs356.js → index.cjs348.js} +1 -1
  22. package/dist/{index.cjs356.js.map → index.cjs348.js.map} +1 -1
  23. package/dist/{index.cjs357.js → index.cjs349.js} +1 -1
  24. package/dist/{index.cjs357.js.map → index.cjs349.js.map} +1 -1
  25. package/dist/{index.cjs358.js → index.cjs350.js} +1 -1
  26. package/dist/{index.cjs358.js.map → index.cjs350.js.map} +1 -1
  27. package/dist/{index.cjs359.js → index.cjs351.js} +1 -1
  28. package/dist/{index.cjs359.js.map → index.cjs351.js.map} +1 -1
  29. package/dist/{index.cjs360.js → index.cjs352.js} +1 -1
  30. package/dist/{index.cjs360.js.map → index.cjs352.js.map} +1 -1
  31. package/dist/{index.cjs361.js → index.cjs353.js} +1 -1
  32. package/dist/{index.cjs361.js.map → index.cjs353.js.map} +1 -1
  33. package/dist/{index.cjs362.js → index.cjs354.js} +1 -1
  34. package/dist/{index.cjs362.js.map → index.cjs354.js.map} +1 -1
  35. package/dist/index.cjs375.js +1 -1
  36. package/dist/index.cjs377.js +1 -1
  37. package/dist/index.cjs394.js +1 -1
  38. package/dist/index.cjs396.js +1 -1
  39. package/dist/index.cjs398.js +1 -1
  40. package/dist/index.cjs411.js +38 -1
  41. package/dist/index.cjs411.js.map +1 -1
  42. package/dist/index.cjs412.js +1 -38
  43. package/dist/index.cjs412.js.map +1 -1
  44. package/dist/index.cjs413.js +1 -1
  45. package/dist/index.cjs413.js.map +1 -1
  46. package/dist/index.cjs414.js +1 -1
  47. package/dist/index.cjs414.js.map +1 -1
  48. package/dist/index.cjs415.js +1 -1
  49. package/dist/index.cjs415.js.map +1 -1
  50. package/dist/index.cjs58.js +1 -1
  51. package/dist/index.cjs58.js.map +1 -1
  52. package/dist/index.cjs65.js +1 -1
  53. package/dist/index.cjs65.js.map +1 -1
  54. package/dist/index.d.ts +12 -6
  55. package/dist/index.es219.js +1 -1
  56. package/dist/index.es226.js +3 -3
  57. package/dist/index.es237.js +8 -8
  58. package/dist/index.es244.js +1 -1
  59. package/dist/index.es245.js +1 -1
  60. package/dist/index.es249.js +1 -1
  61. package/dist/index.es254.js +1 -1
  62. package/dist/index.es256.js +1 -1
  63. package/dist/index.es264.js +2 -2
  64. package/dist/index.es303.js +1 -1
  65. package/dist/index.es338.js +1 -1
  66. package/dist/index.es339.js +8 -8
  67. package/dist/index.es342.js +6 -15
  68. package/dist/index.es342.js.map +1 -1
  69. package/dist/{index.es346.js → index.es343.js} +1 -1
  70. package/dist/{index.es346.js.map → index.es343.js.map} +1 -1
  71. package/dist/{index.es347.js → index.es344.js} +1 -1
  72. package/dist/{index.es347.js.map → index.es344.js.map} +1 -1
  73. package/dist/index.es345.js +15 -6
  74. package/dist/index.es345.js.map +1 -1
  75. package/dist/{index.es356.js → index.es348.js} +1 -1
  76. package/dist/{index.es356.js.map → index.es348.js.map} +1 -1
  77. package/dist/{index.es357.js → index.es349.js} +1 -1
  78. package/dist/{index.es357.js.map → index.es349.js.map} +1 -1
  79. package/dist/{index.es358.js → index.es350.js} +1 -1
  80. package/dist/{index.es358.js.map → index.es350.js.map} +1 -1
  81. package/dist/{index.es359.js → index.es351.js} +1 -1
  82. package/dist/{index.es359.js.map → index.es351.js.map} +1 -1
  83. package/dist/{index.es360.js → index.es352.js} +1 -1
  84. package/dist/{index.es360.js.map → index.es352.js.map} +1 -1
  85. package/dist/{index.es361.js → index.es353.js} +1 -1
  86. package/dist/{index.es361.js.map → index.es353.js.map} +1 -1
  87. package/dist/{index.es362.js → index.es354.js} +1 -1
  88. package/dist/{index.es362.js.map → index.es354.js.map} +1 -1
  89. package/dist/index.es375.js +1 -1
  90. package/dist/index.es377.js +1 -1
  91. package/dist/index.es394.js +1 -1
  92. package/dist/index.es396.js +1 -1
  93. package/dist/index.es398.js +4 -4
  94. package/dist/index.es411.js +69 -65
  95. package/dist/index.es411.js.map +1 -1
  96. package/dist/index.es412.js +8 -68
  97. package/dist/index.es412.js.map +1 -1
  98. package/dist/index.es413.js +14 -9
  99. package/dist/index.es413.js.map +1 -1
  100. package/dist/index.es414.js +62 -14
  101. package/dist/index.es414.js.map +1 -1
  102. package/dist/index.es415.js +64 -61
  103. package/dist/index.es415.js.map +1 -1
  104. package/dist/index.es58.js +3 -2
  105. package/dist/index.es58.js.map +1 -1
  106. package/dist/index.es65.js +220 -176
  107. package/dist/index.es65.js.map +1 -1
  108. package/package.json +1 -1
  109. /package/dist/components/ui/{DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css → ConsentModal/ConsentModalContent/ConsentModalContent.css} +0 -0
  110. /package/dist/components/ui/{DoctorModal/DoctorModalFooter/DoctorModalFooter.css → ConsentModal/ConsentModalFooter/ConsentModalFooter.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs415.js","sources":["../node_modules/react-remove-scroll/dist/es2015/handleScroll.js"],"sourcesContent":["var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n if (target instanceof ShadowRoot) {\n target = target.host;\n }\n else {\n target = target.parentNode;\n }\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n"],"names":["alwaysContainsScroll","node","elementCanBeScrolled","overflow","styles","elementCouldBeVScrolled","elementCouldBeHScrolled","locationCouldBeScrolled","axis","ownerDocument","current","isScrollable","elementCouldBeScrolled","_a","getScrollVariables","scrollHeight","clientHeight","getVScrollVariables","scrollTop","getHScrollVariables","scrollLeft","scrollWidth","clientWidth","getDirectionFactor","direction","handleScroll","endTarget","event","sourceDelta","noOverscroll","directionFactor","delta","target","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","scroll_1","capacity","elementScroll"],"mappings":"gFAAA,IAAIA,EAAuB,SAAUC,EAAM,CAEvC,OAAOA,EAAK,UAAY,UAC5B,EACIC,EAAuB,SAAUD,EAAME,EAAU,CACjD,GAAI,EAAEF,aAAgB,SAClB,MAAO,GAEX,IAAIG,EAAS,OAAO,iBAAiBH,CAAI,EACzC,OAEAG,EAAOD,CAAQ,IAAM,UAEjB,EAAEC,EAAO,YAAcA,EAAO,WAAa,CAACJ,EAAqBC,CAAI,GAAKG,EAAOD,CAAQ,IAAM,UACvG,EACIE,EAA0B,SAAUJ,EAAM,CAAE,OAAOC,EAAqBD,EAAM,WAAW,CAAI,EAC7FK,EAA0B,SAAUL,EAAM,CAAE,OAAOC,EAAqBD,EAAM,WAAW,CAAI,EACtFM,EAA0B,SAAUC,EAAMP,EAAM,CACvD,IAAIQ,EAAgBR,EAAK,cACrBS,EAAUT,EACd,EAAG,CAEK,OAAO,WAAe,KAAeS,aAAmB,aACxDA,EAAUA,EAAQ,MAEtB,IAAIC,EAAeC,EAAuBJ,EAAME,CAAO,EACvD,GAAIC,EAAc,CACd,IAAIE,EAAKC,EAAmBN,EAAME,CAAO,EAAGK,EAAeF,EAAG,CAAC,EAAGG,EAAeH,EAAG,CAAC,EACrF,GAAIE,EAAeC,EACf,MAAO,EAEvB,CACQN,EAAUA,EAAQ,UAC1B,OAAaA,GAAWA,IAAYD,EAAc,MAC9C,MAAO,EACX,EACIQ,EAAsB,SAAUJ,EAAI,CACpC,IAAIK,EAAYL,EAAG,UAAWE,EAAeF,EAAG,aAAcG,EAAeH,EAAG,aAChF,MAAO,CACHK,EACAH,EACAC,CACH,CACL,EACIG,EAAsB,SAAUN,EAAI,CACpC,IAAIO,EAAaP,EAAG,WAAYQ,EAAcR,EAAG,YAAaS,EAAcT,EAAG,YAC/E,MAAO,CACHO,EACAC,EACAC,CACH,CACL,EACIV,EAAyB,SAAUJ,EAAMP,EAAM,CAC/C,OAAOO,IAAS,IAAMH,EAAwBJ,CAAI,EAAIK,EAAwBL,CAAI,CACtF,EACIa,EAAqB,SAAUN,EAAMP,EAAM,CAC3C,OAAOO,IAAS,IAAMS,EAAoBhB,CAAI,EAAIkB,EAAoBlB,CAAI,CAC9E,EACIsB,EAAqB,SAAUf,EAAMgB,EAAW,CAMhD,OAAOhB,IAAS,KAAOgB,IAAc,MAAQ,GAAK,CACtD,EACWC,EAAe,SAAUjB,EAAMkB,EAAWC,EAAOC,EAAaC,EAAc,CACnF,IAAIC,EAAkBP,EAAmBf,EAAM,OAAO,iBAAiBkB,CAAS,EAAE,SAAS,EACvFK,EAAQD,EAAkBF,EAE1BI,EAASL,EAAM,OACfM,EAAeP,EAAU,SAASM,CAAM,EACxCE,EAAqB,GACrBC,EAAkBJ,EAAQ,EAC1BK,EAAkB,EAClBC,EAAqB,EACzB,EAAG,CACC,IAAIxB,EAAKC,EAAmBN,EAAMwB,CAAM,EAAGM,EAAWzB,EAAG,CAAC,EAAG0B,EAAW1B,EAAG,CAAC,EAAG2B,EAAW3B,EAAG,CAAC,EAC1F4B,EAAgBF,EAAWC,EAAWV,EAAkBQ,GACxDA,GAAYG,IACR7B,EAAuBJ,EAAMwB,CAAM,IACnCI,GAAmBK,EACnBJ,GAAsBC,GAG1BN,aAAkB,WAClBA,EAASA,EAAO,KAGhBA,EAASA,EAAO,UAEvB,OAEA,CAACC,GAAgBD,IAAW,SAAS,MAEjCC,IAAiBP,EAAU,SAASM,CAAM,GAAKN,IAAcM,IAElE,OAAIG,GACkB,KAAK,IAAIC,CAAe,EAAI,GAGzC,CAACD,GACY,KAAK,IAAIE,CAAkB,EAAI,KACjDH,EAAqB,IAElBA,CACX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs415.js","sources":["../node_modules/use-sidecar/dist/es2015/medium.js"],"sourcesContent":["import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n"],"names":["ItoI","a","innerCreateMedium","defaults","middleware","buffer","assigned","medium","data","item","x","cb","cbs","pendingQueue","executeQueue","cycle","filter","createSidecarMedium","options","__assign"],"mappings":"qHACA,SAASA,EAAKC,EAAG,CACb,OAAOA,CACX,CACA,SAASC,EAAkBC,EAAUC,EAAY,CACzCA,IAAe,SAAUA,EAAaJ,GAC1C,IAAIK,EAAS,CAAE,EACXC,EAAW,GACXC,EAAS,CACT,KAAM,UAAY,CACd,GAAID,EACA,MAAM,IAAI,MAAM,kGAAkG,EAEtH,OAAID,EAAO,OACAA,EAAOA,EAAO,OAAS,CAAC,EAE5BF,CACV,EACD,UAAW,SAAUK,EAAM,CACvB,IAAIC,EAAOL,EAAWI,EAAMF,CAAQ,EACpC,OAAAD,EAAO,KAAKI,CAAI,EACT,UAAY,CACfJ,EAASA,EAAO,OAAO,SAAUK,EAAG,CAAE,OAAOA,IAAMD,EAAO,CAC7D,CACJ,EACD,iBAAkB,SAAUE,EAAI,CAE5B,IADAL,EAAW,GACJD,EAAO,QAAQ,CAClB,IAAIO,EAAMP,EACVA,EAAS,CAAE,EACXO,EAAI,QAAQD,CAAE,CAC9B,CACYN,EAAS,CACL,KAAM,SAAUK,EAAG,CAAE,OAAOC,EAAGD,CAAC,CAAI,EACpC,OAAQ,UAAY,CAAE,OAAOL,CAAS,CACzC,CACJ,EACD,aAAc,SAAUM,EAAI,CACxBL,EAAW,GACX,IAAIO,EAAe,CAAE,EACrB,GAAIR,EAAO,OAAQ,CACf,IAAIO,EAAMP,EACVA,EAAS,CAAE,EACXO,EAAI,QAAQD,CAAE,EACdE,EAAeR,CAC/B,CACY,IAAIS,EAAe,UAAY,CAC3B,IAAIF,EAAMC,EACVA,EAAe,CAAE,EACjBD,EAAI,QAAQD,CAAE,CACjB,EACGI,EAAQ,UAAY,CAAE,OAAO,QAAQ,QAAO,EAAG,KAAKD,CAAY,CAAI,EACxEC,EAAO,EACPV,EAAS,CACL,KAAM,SAAUK,EAAG,CACfG,EAAa,KAAKH,CAAC,EACnBK,EAAO,CACV,EACD,OAAQ,SAAUC,EAAQ,CACtB,OAAAH,EAAeA,EAAa,OAAOG,CAAM,EAClCX,CACV,CACJ,CACJ,CACJ,EACD,OAAOE,CACX,CAMO,SAASU,EAAoBC,EAAS,CACrCA,IAAY,SAAUA,EAAU,CAAA,GACpC,IAAIX,EAASL,EAAkB,IAAI,EACnC,OAAAK,EAAO,QAAUY,EAAAA,SAAS,CAAE,MAAO,GAAM,IAAK,EAAO,EAAED,CAAO,EACvDX,CACX","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/RadioCard/RadioCard.css');const e=require("./index.cjs188.js"),l=require("./index.cjs190.js");;/* empty css */const n=require("./index.cjs10.js"),d=({id:s,name:t,value:i,checked:r=!1,label:a,description:x,onChange:o})=>e.jsxRuntimeExports.jsxs("div",{className:l.clsx("shadow bg-white br-x4 ui-radio-card",r&&"ui-radio-card-checked"),children:[e.jsxRuntimeExports.jsx("input",{type:"radio",id:s,name:t,value:i,checked:r,onChange:o}),e.jsxRuntimeExports.jsxs(n.Col,{gap:"x4",children:[e.jsxRuntimeExports.jsx("label",{htmlFor:s,className:"fw-semibold text-slate-20 fs-4",children:a}),e.jsxRuntimeExports.jsx("p",{className:"fs-6 fw-regular text-slate-20",children:x})]})]});exports.RadioCard=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/RadioCard/RadioCard.css');const e=require("./index.cjs188.js"),l=require("./index.cjs190.js");;/* empty css */const n=require("./index.cjs10.js"),d=({id:s,name:t,value:i,checked:r=!1,label:a,description:x,onChange:o})=>e.jsxRuntimeExports.jsxs("label",{className:l.clsx("shadow bg-white br-x4 ui-radio-card",r&&"ui-radio-card-checked"),htmlFor:s,children:[e.jsxRuntimeExports.jsx("input",{type:"radio",id:s,name:t,value:i,checked:r,onChange:o}),e.jsxRuntimeExports.jsxs(n.Col,{gap:"x4",children:[e.jsxRuntimeExports.jsx("div",{className:"fw-semibold text-slate-20 fs-4",children:a}),e.jsxRuntimeExports.jsx("p",{className:"fs-6 fw-regular text-slate-20",children:x})]})]});exports.RadioCard=d;
2
2
  //# sourceMappingURL=index.cjs58.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs58.js","sources":["../src/components/ui/RadioCard/index.tsx"],"sourcesContent":["import clsx from \"clsx\";\r\nimport \"./RadioCard.scss\";\r\nimport { Col } from \"@/components\";\r\n\r\ntype RadioCardProps = {\r\n id: string;\r\n name: string;\r\n value: string;\r\n checked: boolean;\r\n label: string;\r\n description?: string;\r\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n};\r\n\r\nexport const RadioCard = ({\r\n id,\r\n name,\r\n value,\r\n checked = false,\r\n label,\r\n description,\r\n onChange,\r\n}: RadioCardProps) => {\r\n return (\r\n <div\r\n className={clsx(\r\n \"shadow bg-white br-x4 ui-radio-card\",\r\n checked && \"ui-radio-card-checked\",\r\n )}\r\n >\r\n <input\r\n type=\"radio\"\r\n id={id}\r\n name={name}\r\n value={value}\r\n checked={checked}\r\n onChange={onChange}\r\n />\r\n <Col gap={\"x4\"}>\r\n <label htmlFor={id} className=\"fw-semibold text-slate-20 fs-4\">\r\n {label}\r\n </label>\r\n <p className=\"fs-6 fw-regular text-slate-20\">{description}</p>\r\n </Col>\r\n </div>\r\n );\r\n};\r\n"],"names":["RadioCard","id","name","value","checked","label","description","onChange","jsxs","clsx","jsx","Col"],"mappings":"qNAcaA,EAAY,CAAC,CACxB,GAAAC,EACA,KAAAC,EACA,MAAAC,EACA,QAAAC,EAAU,GACV,MAAAC,EACA,YAAAC,EACA,SAAAC,CACF,IAEIC,EAAA,kBAAA,KAAC,MAAA,CACC,UAAWC,EAAA,KACT,sCACAL,GAAW,uBACb,EAEA,SAAA,CAAAM,EAAA,kBAAA,IAAC,QAAA,CACC,KAAK,QACL,GAAAT,EACA,KAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAG,CAAA,CACF,EACAC,EAAAA,kBAAAA,KAACG,EAAAA,IAAI,CAAA,IAAK,KACR,SAAA,CAAAD,wBAAC,QAAM,CAAA,QAAST,EAAI,UAAU,iCAC3B,SACHI,EAAA,EACCK,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAU,gCAAiC,SAAYJ,CAAA,CAAA,CAAA,CAC5D,CAAA,CAAA,CAAA,CACF"}
1
+ {"version":3,"file":"index.cjs58.js","sources":["../src/components/ui/RadioCard/index.tsx"],"sourcesContent":["import clsx from \"clsx\";\r\nimport \"./RadioCard.scss\";\r\nimport { Col } from \"@/components\";\r\n\r\ntype RadioCardProps = {\r\n id: string;\r\n name: string;\r\n value: string;\r\n checked: boolean;\r\n label: string;\r\n description?: string;\r\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n};\r\n\r\nexport const RadioCard = ({\r\n id,\r\n name,\r\n value,\r\n checked = false,\r\n label,\r\n description,\r\n onChange,\r\n}: RadioCardProps) => {\r\n return (\r\n <label\r\n className={clsx(\r\n \"shadow bg-white br-x4 ui-radio-card\",\r\n checked && \"ui-radio-card-checked\",\r\n )}\r\n htmlFor={id}\r\n >\r\n <input\r\n type=\"radio\"\r\n id={id}\r\n name={name}\r\n value={value}\r\n checked={checked}\r\n onChange={onChange}\r\n />\r\n <Col gap={\"x4\"}>\r\n <div className=\"fw-semibold text-slate-20 fs-4\">{label}</div>\r\n <p className=\"fs-6 fw-regular text-slate-20\">{description}</p>\r\n </Col>\r\n </label>\r\n );\r\n};\r\n"],"names":["RadioCard","id","name","value","checked","label","description","onChange","jsxs","clsx","jsx","Col"],"mappings":"qNAcaA,EAAY,CAAC,CACxB,GAAAC,EACA,KAAAC,EACA,MAAAC,EACA,QAAAC,EAAU,GACV,MAAAC,EACA,YAAAC,EACA,SAAAC,CACF,IAEIC,EAAA,kBAAA,KAAC,QAAA,CACC,UAAWC,EAAA,KACT,sCACAL,GAAW,uBACb,EACA,QAASH,EAET,SAAA,CAAAS,EAAA,kBAAA,IAAC,QAAA,CACC,KAAK,QACL,GAAAT,EACA,KAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAG,CAAA,CACF,EACAC,EAAAA,kBAAAA,KAACG,EAAAA,IAAI,CAAA,IAAK,KACR,SAAA,CAACD,EAAA,kBAAA,IAAA,MAAA,CAAI,UAAU,iCAAkC,SAAML,EAAA,EACtDK,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAU,gCAAiC,SAAYJ,CAAA,CAAA,CAAA,CAC5D,CAAA,CAAA,CAAA,CACF"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/Table/Table.css');const t=require("./index.cjs188.js"),$=require("react"),u=require("./index.cjs190.js");;/* empty css */const W=require("./index.cjs59.js"),X=require("./index.cjs155.js"),Y=require("./index.cjs156.js"),Z=require("./index.cjs148.js"),K=require("./index.cjs157.js");function ee(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,a.get?a:{enumerable:!0,get:()=>e[n]})}}return s.default=e,Object.freeze(s)}const j=ee($),q=j.forwardRef(({className:e,columns:s,data:n,pagination:a,initialCurrentPage:_=1,resultsPerPage:h=10,defaultSortDirection:l="desc",setSelectedSort:b,initialSortConfig:p,...o},c)=>{const[i,k]=j.useState(p||{key:s[0].key||s[0].label,direction:l}),[S,P]=j.useState(_);$.useEffect(()=>{p&&k(p)},[p]);const N=j.useMemo(()=>[...n].sort((d,R)=>{const x=d[i.key],r=R[i.key],m=s.find(f=>(f.key||f.label)===i.key);if(typeof x=="string"&&typeof r=="string"){if((m==null?void 0:m.type)==="date"){const f=H=>{const[F,z]=H.split(" - "),[U,V,G]=F.split("/").map(Number),[J,Q]=z.split(":").map(Number);return new Date(G,V-1,U,J,Q)},E=f(x),L=f(r);return i.direction==="asc"?E.getTime()-L.getTime():L.getTime()-E.getTime()}if((m==null?void 0:m.type)==="number"){const f=parseFloat(x),E=parseFloat(r);return i.direction==="asc"?f-E:E-f}return i.direction==="asc"?x.localeCompare(r):r.localeCompare(x)}return T(x)&&T(r)?i.direction==="asc"?x.firstLine.localeCompare(r.firstLine):r.firstLine.localeCompare(x.firstLine):0}),[n,i,s]),B=d=>{const R={key:d,direction:i.key===d&&i.direction==="asc"?"desc":"asc"};k(R),b&&b(R)},D=a?(S-1)*h:0,M=a?Math.min(D+h,N.length):N.length,O=N.slice(D,M);return t.jsxRuntimeExports.jsxs("div",{className:"position-relative w-full",children:[t.jsxRuntimeExports.jsxs("table",{ref:c,className:u.clsx("table",e),role:"table",...o,children:[t.jsxRuntimeExports.jsx(v,{className:"table__header",children:t.jsxRuntimeExports.jsx(g,{children:s.map((d,R)=>t.jsxRuntimeExports.jsx(C,{config:d,sortConfig:i,onSort:()=>d.sortable&&B(d.key||d.label)},`${d.label}-${R}`))})}),t.jsxRuntimeExports.jsx(w,{className:"table__body",children:O.map((d,R)=>t.jsxRuntimeExports.jsx(g,{className:"table__row",children:Object.entries(d).map(([x,r],m)=>r?x==="actionData"&&A(r)?t.jsxRuntimeExports.jsx(y,{content:r,type:"action"},`${x}-${m}`):T(r)?t.jsxRuntimeExports.jsx(y,{content:r,type:"double-line"},`${x}-${m}`):typeof r=="string"?t.jsxRuntimeExports.jsx(y,{content:r},`${x}-${m}`):null:null)},R))})]}),a&&t.jsxRuntimeExports.jsx(I,{currentPage:S,totalResults:o.isServerSide&&o.totalServerItems!==void 0?o.totalServerItems:N.length,resultsPerPage:h,setCurrentPage:P,onPageChange:o.onPageChange,isServerSide:o.isServerSide,isLoading:o.isLoading})]})});q.displayName="Table";const v=j.forwardRef(({className:e,children:s,...n},a)=>t.jsxRuntimeExports.jsx("thead",{ref:a,className:u.clsx("[&_tr]:border-b-0",e),...n,children:s}));v.displayName="TableHeader";const w=j.forwardRef(({className:e,children:s,...n},a)=>t.jsxRuntimeExports.jsx("tbody",{ref:a,className:u.clsx("[&_tr:last-child]:border-0",e),...n,children:s}));w.displayName="TableBody";const g=j.forwardRef(({className:e,children:s,...n},a)=>t.jsxRuntimeExports.jsx("tr",{ref:a,className:u.clsx("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...n,children:s}));g.displayName="TableRow";const C=j.forwardRef(({className:e,config:s,sortConfig:n,onSort:a,..._},h)=>{var c;const l=n.key===(s.key||s.label),b=l?n.direction:null,p=()=>b==="asc"?"ascending":"descending",o=i=>{switch(i){case"info":return t.jsxRuntimeExports.jsx(K.Info,{});case"download":return t.jsxRuntimeExports.jsx(Z.Download,{});default:return i}};return t.jsxRuntimeExports.jsx("th",{ref:h,className:u.clsx("table__cell table__cell--header",{"table__cell--sortable":s.sortable,"table__cell--action":s.action},e),onClick:s.sortable?a:s.action,"aria-label":s.ariaLabel,"aria-sort":l?p():void 0,..._,children:t.jsxRuntimeExports.jsxs("div",{className:"table__cell--header--content",children:[t.jsxRuntimeExports.jsx("div",{children:t.jsxRuntimeExports.jsx(W.ActionIconText,{icon:o(s.icon),textLabel:s.label,iconPosition:s.iconPosition,handleIconAction:()=>{s.iconAction},popupInfo:s.popupInfo,positionPopUp:(c=s.popupInfo)==null?void 0:c.positionPopUp})}),s.sortable&&t.jsxRuntimeExports.jsxs("span",{className:"sort-indicator",children:[t.jsxRuntimeExports.jsx(X.TriangleUp,{filled:l&&b==="desc",className:u.clsx("sort-indicator__triangle",{active:l&&b==="desc"})}),t.jsxRuntimeExports.jsx(Y.TriangleDown,{filled:l&&b==="asc",className:u.clsx("sort-indicator__triangle",{active:l&&b==="asc"})})]})]})})});C.displayName="TableHead";const te=({data:e})=>t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx("div",{className:"table__cell--firstLine",children:e.firstLine}),t.jsxRuntimeExports.jsx("div",{className:"table__cell--secondLine",children:e.secondLine})]}),se=({data:e})=>e.type==="link"&&e.link?t.jsxRuntimeExports.jsx("a",{href:e.link,"aria-label":e.ariaLabel,children:e.label}):t.jsxRuntimeExports.jsx("button",{onClick:e.action,"aria-label":e.ariaLabel,children:e.label}),T=e=>typeof e=="object"&&e!==null&&"firstLine"in e&&"secondLine"in e,A=e=>typeof e=="object"&&e!==null&&"label"in e&&"type"in e,ne=({content:e})=>typeof e=="string"?t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:e}):T(e)?t.jsxRuntimeExports.jsx(te,{data:e}):A(e)?t.jsxRuntimeExports.jsx(se,{data:e}):null,y=j.forwardRef(({className:e,content:s,type:n,...a},_)=>t.jsxRuntimeExports.jsx("td",{ref:_,className:u.clsx("table__cell",{"table__cell--double-line":n==="double-line","table__cell--action":n==="action"},e),...a,children:t.jsxRuntimeExports.jsx(ne,{content:s})}));y.displayName="TableCell";const I=({currentPage:e=1,totalResults:s,resultsPerPage:n,setCurrentPage:a,onPageChange:_,isServerSide:h=!1,isLoading:l=!1,className:b})=>{const p=Math.ceil(s/n),o=c=>{a(c),h&&_&&_(c)};return t.jsxRuntimeExports.jsxs("div",{className:u.clsx("pagination",b),children:[t.jsxRuntimeExports.jsxs("div",{className:"pagination__info",children:["Stai visualizzando"," ",t.jsxRuntimeExports.jsx("span",{className:"pagination__info__resultsPerPage",children:n})," ","di ",s," risultati"]}),t.jsxRuntimeExports.jsxs("div",{className:"pagination__nav",children:[t.jsxRuntimeExports.jsx("button",{className:u.clsx("pagination__button",(e===1||l)&&"pagination__button--disabled"),onClick:()=>o(e-1),disabled:e===1||l,"aria-label":"Previous page",children:t.jsxRuntimeExports.jsx("svg",{className:"pagination__button-arrow",viewBox:"0 0 24 24",children:t.jsxRuntimeExports.jsx("path",{d:"M15 18l-6-6 6-6"})})}),Array.from({length:p},(c,i)=>i+1).map(c=>t.jsxRuntimeExports.jsx("button",{className:u.clsx("pagination__button",e===c&&"pagination__button--active",l&&"pagination__button--disabled"),onClick:()=>o(c),disabled:l,children:c},c)),t.jsxRuntimeExports.jsx("button",{className:u.clsx("pagination__button",(e===p||l)&&"pagination__button--disabled"),onClick:()=>o(e+1),disabled:e===p||l,"aria-label":"Next page",children:t.jsxRuntimeExports.jsx("svg",{className:"pagination__button-arrow",viewBox:"0 0 24 24",children:t.jsxRuntimeExports.jsx("path",{d:"M9 6l6 6-6 6"})})})]})]})};exports.Pagination=I;exports.Table=q;exports.TableBody=w;exports.TableCell=y;exports.TableHead=C;exports.TableHeader=v;exports.TableRow=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/Table/Table.css');const e=require("./index.cjs188.js"),I=require("react"),r=require("./index.cjs190.js");;/* empty css */const te=require("./index.cjs59.js"),se=require("./index.cjs155.js"),ne=require("./index.cjs156.js"),ae=require("./index.cjs148.js"),ie=require("./index.cjs157.js");function oe(t){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(s,n,a.get?a:{enumerable:!0,get:()=>t[n]})}}return s.default=t,Object.freeze(s)}const j=oe(I),F=j.forwardRef(({className:t,columns:s,data:n,pagination:a,initialCurrentPage:f=1,resultsPerPage:o=10,defaultSortDirection:d="desc",setSelectedSort:p,initialSortConfig:m,serverSidePagination:u=!1,totalItems:_,hasNextPage:E,hasPreviousPage:v,onNextPage:C,onPreviousPage:y,...g},N)=>{const[l,A]=j.useState(m||{key:s[0].key||s[0].label,direction:d}),[B,V]=j.useState(f);I.useEffect(()=>{m&&A(m)},[m]);const T=j.useMemo(()=>[...n].sort((x,R)=>{const c=x[l.key],i=R[l.key],b=s.find(h=>(h.key||h.label)===l.key);if(typeof c=="string"&&typeof i=="string"){if((b==null?void 0:b.type)==="date"){const h=Q=>{const[W,X]=Q.split(" - "),[Y,Z,K]=W.split("/").map(Number),[S,ee]=X.split(":").map(Number);return new Date(K,Z-1,Y,S,ee)},w=h(c),H=h(i);return l.direction==="asc"?w.getTime()-H.getTime():H.getTime()-w.getTime()}if((b==null?void 0:b.type)==="number"){const h=parseFloat(c),w=parseFloat(i);return l.direction==="asc"?h-w:w-h}return l.direction==="asc"?c.localeCompare(i):i.localeCompare(c)}return D(c)&&D(i)?l.direction==="asc"?c.firstLine.localeCompare(i.firstLine):i.firstLine.localeCompare(c.firstLine):0}),[n,l,s]),P=x=>{const R={key:x,direction:l.key===x&&l.direction==="asc"?"desc":"asc"};A(R),p&&p(R)},O=a&&!u?(B-1)*o:0,G=a&&!u?Math.min(O+o,T.length):T.length,J=u?T:T.slice(O,G);return e.jsxRuntimeExports.jsxs("div",{className:"position-relative w-full",children:[e.jsxRuntimeExports.jsxs("table",{ref:N,className:r.clsx("table",t),role:"table",...g,children:[e.jsxRuntimeExports.jsx($,{className:"table__header",children:e.jsxRuntimeExports.jsx(L,{children:s.map((x,R)=>e.jsxRuntimeExports.jsx(q,{config:x,sortConfig:l,onSort:()=>x.sortable&&P(x.key||x.label)},`${x.label}-${R}`))})}),e.jsxRuntimeExports.jsx(M,{className:"table__body",children:J.map((x,R)=>e.jsxRuntimeExports.jsx(L,{className:"table__row",children:Object.entries(x).map(([c,i],b)=>i?c==="actionData"&&z(i)?e.jsxRuntimeExports.jsx(k,{content:i,type:"action"},`${c}-${b}`):D(i)?e.jsxRuntimeExports.jsx(k,{content:i,type:"double-line"},`${c}-${b}`):typeof i=="string"?e.jsxRuntimeExports.jsx(k,{content:i},`${c}-${b}`):null:null)},R))})]}),a&&e.jsxRuntimeExports.jsx(U,{currentPage:B,totalResults:u?_||0:T.length,resultsPerPage:o,setCurrentPage:V,serverSide:u,totalItems:_,hasNextPage:E,hasPreviousPage:v,onNextPage:C,onPreviousPage:y})]})});F.displayName="Table";const $=j.forwardRef(({className:t,children:s,...n},a)=>e.jsxRuntimeExports.jsx("thead",{ref:a,className:r.clsx("[&_tr]:border-b-0",t),...n,children:s}));$.displayName="TableHeader";const M=j.forwardRef(({className:t,children:s,...n},a)=>e.jsxRuntimeExports.jsx("tbody",{ref:a,className:r.clsx("[&_tr:last-child]:border-0",t),...n,children:s}));M.displayName="TableBody";const L=j.forwardRef(({className:t,children:s,...n},a)=>e.jsxRuntimeExports.jsx("tr",{ref:a,className:r.clsx("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...n,children:s}));L.displayName="TableRow";const q=j.forwardRef(({className:t,config:s,sortConfig:n,onSort:a,...f},o)=>{var _;const d=n.key===(s.key||s.label),p=d?n.direction:null,m=()=>p==="asc"?"ascending":"descending",u=E=>{switch(E){case"info":return e.jsxRuntimeExports.jsx(ie.Info,{});case"download":return e.jsxRuntimeExports.jsx(ae.Download,{});default:return E}};return e.jsxRuntimeExports.jsx("th",{ref:o,className:r.clsx("table__cell table__cell--header",{"table__cell--sortable":s.sortable,"table__cell--action":s.action},t),onClick:s.sortable?a:s.action,"aria-label":s.ariaLabel,"aria-sort":d?m():void 0,...f,children:e.jsxRuntimeExports.jsxs("div",{className:"table__cell--header--content",children:[e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(te.ActionIconText,{icon:u(s.icon),textLabel:s.label,iconPosition:s.iconPosition,handleIconAction:()=>{s.iconAction},popupInfo:s.popupInfo,positionPopUp:(_=s.popupInfo)==null?void 0:_.positionPopUp})}),s.sortable&&e.jsxRuntimeExports.jsxs("span",{className:"sort-indicator",children:[e.jsxRuntimeExports.jsx(se.TriangleUp,{filled:d&&p==="desc",className:r.clsx("sort-indicator__triangle",{active:d&&p==="desc"})}),e.jsxRuntimeExports.jsx(ne.TriangleDown,{filled:d&&p==="asc",className:r.clsx("sort-indicator__triangle",{active:d&&p==="asc"})})]})]})})});q.displayName="TableHead";const re=({data:t})=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{className:"table__cell--firstLine",children:t.firstLine}),e.jsxRuntimeExports.jsx("div",{className:"table__cell--secondLine",children:t.secondLine})]}),le=({data:t})=>t.type==="link"&&t.link?e.jsxRuntimeExports.jsx("a",{href:t.link,"aria-label":t.ariaLabel,children:t.label}):e.jsxRuntimeExports.jsx("button",{onClick:t.action,"aria-label":t.ariaLabel,children:t.label}),D=t=>typeof t=="object"&&t!==null&&"firstLine"in t&&"secondLine"in t,z=t=>typeof t=="object"&&t!==null&&"label"in t&&"type"in t,ce=({content:t})=>typeof t=="string"?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:t}):D(t)?e.jsxRuntimeExports.jsx(re,{data:t}):z(t)?e.jsxRuntimeExports.jsx(le,{data:t}):null,k=j.forwardRef(({className:t,content:s,type:n,...a},f)=>e.jsxRuntimeExports.jsx("td",{ref:f,className:r.clsx("table__cell",{"table__cell--double-line":n==="double-line","table__cell--action":n==="action"},t),...a,children:e.jsxRuntimeExports.jsx(ce,{content:s})}));k.displayName="TableCell";const U=({currentPage:t=1,totalResults:s,resultsPerPage:n,setCurrentPage:a,className:f,serverSide:o=!1,totalItems:d,hasNextPage:p,hasPreviousPage:m,onNextPage:u,onPreviousPage:_})=>{const E=Math.ceil(o?(d||s)/n:s/n),v=()=>{o&&u?u():a(t+1)},C=()=>{o&&_?_():a(t-1)},y=o?!p:t===E,g=o?!m:t===1;return e.jsxRuntimeExports.jsxs("div",{className:r.clsx("pagination",f),children:[e.jsxRuntimeExports.jsxs("div",{className:"pagination__info",children:["Stai visualizzando"," ",e.jsxRuntimeExports.jsx("span",{className:"pagination__info__resultsPerPage",children:n})," ","di ",o&&d||s," risultati"]}),!o&&e.jsxRuntimeExports.jsxs("div",{className:"pagination__nav",children:[e.jsxRuntimeExports.jsx("button",{className:r.clsx("pagination__button",g&&"pagination__button--disabled"),onClick:C,disabled:g,"aria-label":"Previous page",children:e.jsxRuntimeExports.jsx("svg",{className:"pagination__button-arrow",viewBox:"0 0 24 24",children:e.jsxRuntimeExports.jsx("path",{d:"M15 18l-6-6 6-6"})})}),Array.from({length:E},(N,l)=>l+1).map(N=>e.jsxRuntimeExports.jsx("button",{className:r.clsx("pagination__button",t===N&&"pagination__button--active"),onClick:()=>a(N),children:N},N)),e.jsxRuntimeExports.jsx("button",{className:r.clsx("pagination__button",y&&"pagination__button--disabled"),onClick:v,disabled:y,"aria-label":"Next page",children:e.jsxRuntimeExports.jsx("svg",{className:"pagination__button-arrow",viewBox:"0 0 24 24",children:e.jsxRuntimeExports.jsx("path",{d:"M9 6l6 6-6 6"})})})]}),o&&e.jsxRuntimeExports.jsxs("div",{className:"pagination__nav",children:[e.jsxRuntimeExports.jsx("button",{className:r.clsx("pagination__button",g&&"pagination__button--disabled"),onClick:C,disabled:g,"aria-label":"Previous page",children:e.jsxRuntimeExports.jsx("svg",{className:"pagination__button-arrow",viewBox:"0 0 24 24",children:e.jsxRuntimeExports.jsx("path",{d:"M15 18l-6-6 6-6"})})}),e.jsxRuntimeExports.jsxs("div",{className:"pagination__page-indicator",children:["Pagina ",t]}),e.jsxRuntimeExports.jsx("button",{className:r.clsx("pagination__button",y&&"pagination__button--disabled"),onClick:v,disabled:y,"aria-label":"Next page",children:e.jsxRuntimeExports.jsx("svg",{className:"pagination__button-arrow",viewBox:"0 0 24 24",children:e.jsxRuntimeExports.jsx("path",{d:"M9 6l6 6-6 6"})})})]})]})};exports.Pagination=U;exports.Table=F;exports.TableBody=M;exports.TableCell=k;exports.TableHead=q;exports.TableHeader=$;exports.TableRow=L;
2
2
  //# sourceMappingURL=index.cjs65.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs65.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"../ActionIconText\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n isServerSide?: boolean;\n isLoading?: boolean;\n className?: string;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n isServerSide?: boolean;\n onPageChange?: (page: number) => void;\n totalServerItems?: number;\n isLoading?: boolean;\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex = pagination ? (currentPage - 1) * resultsPerPage : 0;\n const endIndex = pagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {Object.entries(row).map(([key, value], cellIndex) => {\n if (!value) return null;\n\n if (key === \"actionData\" && isActionData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"action\"\n />\n );\n }\n if (isDoubleLineData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"double-line\"\n />\n );\n }\n if (typeof value === \"string\") {\n return (\n <TableCell key={`${key}-${cellIndex}`} content={value} />\n );\n }\n return null;\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n props.isServerSide && props.totalServerItems !== undefined\n ? props.totalServerItems\n : sortedData.length\n }\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n onPageChange={props.onPageChange}\n isServerSide={props.isServerSide}\n isLoading={props.isLoading}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n config.iconAction;\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n setCurrentPage,\n onPageChange,\n isServerSide = false,\n isLoading = false,\n className,\n}) => {\n const totalPages = Math.ceil(totalResults / resultsPerPage);\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n if (isServerSide && onPageChange) {\n onPageChange(page);\n }\n };\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {resultsPerPage}\n </span>{\" \"}\n di {totalResults} risultati\n </div>\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n (currentPage === 1 || isLoading) && \"pagination__button--disabled\",\n )}\n onClick={() => handlePageChange(currentPage - 1)}\n disabled={currentPage === 1 || isLoading}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n {Array.from({ length: totalPages }, (_, i) => i + 1).map((page) => (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n isLoading && \"pagination__button--disabled\",\n )}\n onClick={() => handlePageChange(page)}\n disabled={isLoading}\n >\n {page}\n </button>\n ))}\n <button\n className={clsx(\n \"pagination__button\",\n (currentPage === totalPages || isLoading) &&\n \"pagination__button--disabled\",\n )}\n onClick={() => handlePageChange(currentPage + 1)}\n disabled={currentPage === totalPages || isLoading}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","key","value","cellIndex","isActionData","TableCell","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","onPageChange","isServerSide","isLoading","totalPages","handlePageChange","page","_"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs65.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"../ActionIconText\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n className?: string;\n serverSide?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n serverSidePagination?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n serverSidePagination = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex =\n pagination && !serverSidePagination\n ? (currentPage - 1) * resultsPerPage\n : 0;\n const endIndex =\n pagination && !serverSidePagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = serverSidePagination\n ? sortedData\n : sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {Object.entries(row).map(([key, value], cellIndex) => {\n if (!value) return null;\n\n if (key === \"actionData\" && isActionData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"action\"\n />\n );\n }\n if (isDoubleLineData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"double-line\"\n />\n );\n }\n if (typeof value === \"string\") {\n return (\n <TableCell key={`${key}-${cellIndex}`} content={value} />\n );\n }\n return null;\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n serverSidePagination ? totalItems || 0 : sortedData.length\n }\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n serverSide={serverSidePagination}\n totalItems={totalItems}\n hasNextPage={hasNextPage}\n hasPreviousPage={hasPreviousPage}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n config.iconAction;\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n setCurrentPage,\n className,\n serverSide = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n}) => {\n const totalPages = serverSide\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\n : Math.ceil(totalResults / resultsPerPage);\n\n const handleNextPage = () => {\n if (serverSide && onNextPage) {\n onNextPage();\n } else {\n setCurrentPage(currentPage + 1);\n }\n };\n\n const handlePreviousPage = () => {\n if (serverSide && onPreviousPage) {\n onPreviousPage();\n } else {\n setCurrentPage(currentPage - 1);\n }\n };\n\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\n\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {resultsPerPage}\n </span>{\" \"}\n di {serverSide ? totalItems || totalResults : totalResults} risultati\n </div>\n {!serverSide && (\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n {Array.from({ length: totalPages }, (_, i) => i + 1).map((page) => (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n )}\n onClick={() => setCurrentPage(page)}\n >\n {page}\n </button>\n ))}\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n )}\n {serverSide && (\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n <div className=\"pagination__page-indicator\">Pagina {currentPage}</div>\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n )}\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","key","value","cellIndex","isActionData","TableCell","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","serverSide","totalPages","handleNextPage","handlePreviousPage","isNextDisabled","isPrevDisabled","_","i","page"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1364,9 +1364,13 @@ export declare interface PaginationProps {
1364
1364
  resultsPerPage: number;
1365
1365
  setCurrentPage: (page: number) => void;
1366
1366
  onPageChange?: (page: number) => void;
1367
- isServerSide?: boolean;
1368
- isLoading?: boolean;
1369
1367
  className?: string;
1368
+ serverSide?: boolean;
1369
+ totalItems?: number;
1370
+ hasNextPage?: boolean;
1371
+ hasPreviousPage?: boolean;
1372
+ onNextPage?: () => void;
1373
+ onPreviousPage?: () => void;
1370
1374
  }
1371
1375
 
1372
1376
  declare type PolymorphicProps<E extends ElementType> = {
@@ -1734,10 +1738,12 @@ export declare interface TableProps extends React_2.TableHTMLAttributes<HTMLTabl
1734
1738
  key: string;
1735
1739
  direction: "asc" | "desc";
1736
1740
  };
1737
- isServerSide?: boolean;
1738
- onPageChange?: (page: number) => void;
1739
- totalServerItems?: number;
1740
- isLoading?: boolean;
1741
+ serverSidePagination?: boolean;
1742
+ totalItems?: number;
1743
+ hasNextPage?: boolean;
1744
+ hasPreviousPage?: boolean;
1745
+ onNextPage?: () => void;
1746
+ onPreviousPage?: () => void;
1741
1747
  }
1742
1748
 
1743
1749
  export declare const TableRow: React_2.ForwardRefExoticComponent<TableRowProps & React_2.RefAttributes<HTMLTableRowElement>>;
@@ -3,7 +3,7 @@ import { Button as m } from "./index.es25.js";
3
3
  import { HeaderTopBanner as y } from "./index.es21.js";
4
4
  import { useState as g, useRef as w, useCallback as C, useEffect as u } from "react";
5
5
  import { clsx as r } from "./index.es190.js";
6
- import { useFocusTrap as N } from "./index.es342.js";
6
+ import { useFocusTrap as N } from "./index.es345.js";
7
7
  import { Container as k } from "./index.es6.js";
8
8
  import './components/navigations/HeaderMobile/HeaderMobile.css';/* empty css */
9
9
  import { Col as L } from "./index.es10.js";
@@ -3,9 +3,9 @@ import { useComposedRefs as N } from "./index.es335.js";
3
3
  import { createContextScope as M } from "./index.es336.js";
4
4
  import { composeEventHandlers as S } from "./index.es334.js";
5
5
  import { useControllableState as O } from "./index.es337.js";
6
- import { usePrevious as A } from "./index.es345.js";
7
- import { useSize as B } from "./index.es346.js";
8
- import { Presence as H } from "./index.es347.js";
6
+ import { usePrevious as A } from "./index.es342.js";
7
+ import { useSize as B } from "./index.es343.js";
8
+ import { Presence as H } from "./index.es344.js";
9
9
  import { Primitive as j } from "./index.es338.js";
10
10
  import { j as f } from "./index.es188.js";
11
11
  var R = "Checkbox", [K, Y] = M(R), [L, q] = K(R), I = n.forwardRef(
@@ -4,15 +4,15 @@ import { useComposedRefs as C } from "./index.es335.js";
4
4
  import { createContextScope as B, createContext as H } from "./index.es336.js";
5
5
  import { useId as x } from "./index.es340.js";
6
6
  import { useControllableState as V } from "./index.es337.js";
7
- import { DismissableLayer as q } from "./index.es356.js";
8
- import { FocusScope as K } from "./index.es357.js";
9
- import { Portal as U } from "./index.es358.js";
10
- import { Presence as R } from "./index.es347.js";
7
+ import { DismissableLayer as q } from "./index.es348.js";
8
+ import { FocusScope as K } from "./index.es349.js";
9
+ import { Portal as U } from "./index.es350.js";
10
+ import { Presence as R } from "./index.es344.js";
11
11
  import { Primitive as m } from "./index.es338.js";
12
- import { useFocusGuards as Y } from "./index.es359.js";
13
- import Z from "./index.es360.js";
14
- import { hideOthers as z } from "./index.es361.js";
15
- import { createSlot as J } from "./index.es362.js";
12
+ import { useFocusGuards as Y } from "./index.es351.js";
13
+ import Z from "./index.es352.js";
14
+ import { hideOthers as z } from "./index.es353.js";
15
+ import { createSlot as J } from "./index.es354.js";
16
16
  import { j as i } from "./index.es188.js";
17
17
  var _ = "Dialog", [N, he] = B(_), [Q, u] = N(_), P = (e) => {
18
18
  const {
@@ -1,5 +1,5 @@
1
1
  import { j as t } from "./index.es188.js";
2
- import './components/ui/DoctorModal/DoctorModalFooter/DoctorModalFooter.css';/* empty css */
2
+ import './components/ui/ConsentModal/ConsentModalFooter/ConsentModalFooter.css';/* empty css */
3
3
  const s = ({ children: o }) => /* @__PURE__ */ t.jsx("footer", { className: "ui-consent-modal-footer bg-white shadow", children: o });
4
4
  export {
5
5
  s as ConsentModalFooter
@@ -1,6 +1,6 @@
1
1
  import { j as n } from "./index.es188.js";
2
2
  import { clsx as r } from "./index.es190.js";
3
- import './components/ui/DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css';/* empty css */
3
+ import './components/ui/ConsentModal/ConsentModalContent/ConsentModalContent.css';/* empty css */
4
4
  const i = ({
5
5
  overrideClassNames: o,
6
6
  children: t
@@ -1,5 +1,5 @@
1
1
  import { j as t } from "./index.es188.js";
2
- import './components/ui/DoctorModal/DoctorModalFooter/DoctorModalFooter.css';/* empty css */
2
+ import './components/ui/ConsentModal/ConsentModalFooter/ConsentModalFooter.css';/* empty css */
3
3
  const s = ({ children: o }) => /* @__PURE__ */ t.jsx("footer", { className: "ui-consent-modal-footer bg-white shadow", children: o });
4
4
  export {
5
5
  s as DoctorModalFooter
@@ -1,6 +1,6 @@
1
1
  import { j as r } from "./index.es188.js";
2
2
  import { clsx as m } from "./index.es190.js";
3
- import './components/ui/DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css';/* empty css */
3
+ import './components/ui/ConsentModal/ConsentModalContent/ConsentModalContent.css';/* empty css */
4
4
  const e = ({
5
5
  overrideClassNames: o,
6
6
  children: t
@@ -1,5 +1,5 @@
1
1
  import { j as t } from "./index.es188.js";
2
- import './components/ui/DoctorModal/DoctorModalFooter/DoctorModalFooter.css';/* empty css */
2
+ import './components/ui/ConsentModal/ConsentModalFooter/ConsentModalFooter.css';/* empty css */
3
3
  const s = ({
4
4
  children: o
5
5
  }) => /* @__PURE__ */ t.jsx("footer", { className: "ui-consent-modal-footer bg-white shadow", children: o });
@@ -3,8 +3,8 @@ import { composeEventHandlers as T } from "./index.es334.js";
3
3
  import { useComposedRefs as _ } from "./index.es335.js";
4
4
  import { createContextScope as H } from "./index.es336.js";
5
5
  import { useControllableState as I } from "./index.es337.js";
6
- import { usePrevious as M } from "./index.es345.js";
7
- import { useSize as N } from "./index.es346.js";
6
+ import { usePrevious as M } from "./index.es342.js";
7
+ import { useSize as N } from "./index.es343.js";
8
8
  import { Primitive as w } from "./index.es338.js";
9
9
  import { j as p } from "./index.es188.js";
10
10
  var S = "Switch", [B, J] = H(S), [q, z] = B(S), C = s.forwardRef(
@@ -3,7 +3,7 @@ import { createContextScope as T } from "./index.es336.js";
3
3
  import { useComposedRefs as A } from "./index.es335.js";
4
4
  import { createDialogScope as v, Root as O, Portal as j, Overlay as b, WarningProvider as w, Content as M, Title as I, Description as L, Close as f, Trigger as $ } from "./index.es237.js";
5
5
  import { composeEventHandlers as F } from "./index.es334.js";
6
- import { createSlottable as G } from "./index.es362.js";
6
+ import { createSlottable as G } from "./index.es354.js";
7
7
  import { j as i } from "./index.es188.js";
8
8
  var D = "AlertDialog", [W, te] = T(D, [
9
9
  v
@@ -1,6 +1,6 @@
1
1
  import * as p from "react";
2
2
  import * as f from "react-dom";
3
- import { createSlot as c } from "./index.es362.js";
3
+ import { createSlot as c } from "./index.es354.js";
4
4
  import { j as u } from "./index.es188.js";
5
5
  var l = [
6
6
  "a",
@@ -4,18 +4,18 @@ import { createCollection as Xe } from "./index.es375.js";
4
4
  import { useComposedRefs as k, composeRefs as He } from "./index.es335.js";
5
5
  import { createContextScope as We } from "./index.es336.js";
6
6
  import { useDirection as ze } from "./index.es376.js";
7
- import { DismissableLayer as Ze } from "./index.es356.js";
8
- import { useFocusGuards as $e } from "./index.es359.js";
9
- import { FocusScope as qe } from "./index.es357.js";
7
+ import { DismissableLayer as Ze } from "./index.es348.js";
8
+ import { useFocusGuards as $e } from "./index.es351.js";
9
+ import { FocusScope as qe } from "./index.es349.js";
10
10
  import { createPopperScope as pe, Root as Je, Anchor as Qe, Content as et, Arrow as tt } from "./index.es377.js";
11
- import { Portal as nt } from "./index.es358.js";
12
- import { Presence as H } from "./index.es347.js";
11
+ import { Portal as nt } from "./index.es350.js";
12
+ import { Presence as H } from "./index.es344.js";
13
13
  import { Primitive as N, dispatchDiscreteCustomEvent as ot } from "./index.es338.js";
14
14
  import { createRovingFocusGroupScope as ve, Item as rt, Root as ct } from "./index.es378.js";
15
- import { createSlot as st } from "./index.es362.js";
15
+ import { createSlot as st } from "./index.es354.js";
16
16
  import { useCallbackRef as Me } from "./index.es374.js";
17
- import { hideOthers as at } from "./index.es361.js";
18
- import ut from "./index.es360.js";
17
+ import { hideOthers as at } from "./index.es353.js";
18
+ import ut from "./index.es352.js";
19
19
  import { j as u } from "./index.es188.js";
20
20
  var Q = ["Enter", " "], it = ["ArrowDown", "PageUp", "Home"], he = ["ArrowUp", "PageDown", "End"], lt = [...it, ...he], dt = {
21
21
  ltr: [...Q, "ArrowRight"],
@@ -1,18 +1,9 @@
1
- import { useEffect as l } from "react";
2
- const f = (t, n) => {
3
- l(() => {
4
- if (!n || !t.current) return;
5
- const o = t.current.querySelectorAll(
6
- 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
7
- ), c = o[0], r = o[o.length - 1], s = (e) => {
8
- e.key === "Tab" && (e.shiftKey ? document.activeElement === c && (r.focus(), e.preventDefault()) : document.activeElement === r && (c.focus(), e.preventDefault()));
9
- }, u = document.activeElement;
10
- return c.focus(), document.addEventListener("keydown", s), () => {
11
- document.removeEventListener("keydown", s), n && (u == null || u.focus());
12
- };
13
- }, [n, t]);
14
- };
1
+ import * as u from "react";
2
+ function t(r) {
3
+ const e = u.useRef({ value: r, previous: r });
4
+ return u.useMemo(() => (e.current.value !== r && (e.current.previous = e.current.value, e.current.value = r), e.current.previous), [r]);
5
+ }
15
6
  export {
16
- f as useFocusTrap
7
+ t as usePrevious
17
8
  };
18
9
  //# sourceMappingURL=index.es342.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es342.js","sources":["../src/hooks/useFocusTrap.ts"],"sourcesContent":["import { useEffect } from \"react\";\r\n\r\nexport const useFocusTrap = (\r\n ref: React.RefObject<HTMLElement | null>,\r\n isActive: boolean,\r\n) => {\r\n useEffect(() => {\r\n if (!isActive || !ref.current) return;\r\n\r\n const focusableElements = ref.current.querySelectorAll(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n );\r\n const firstFocusableElement = focusableElements[0] as HTMLElement;\r\n const lastFocusableElement = focusableElements[\r\n focusableElements.length - 1\r\n ] as HTMLElement;\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (e.key !== \"Tab\") return;\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === firstFocusableElement) {\r\n lastFocusableElement.focus();\r\n e.preventDefault();\r\n }\r\n } else {\r\n if (document.activeElement === lastFocusableElement) {\r\n firstFocusableElement.focus();\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const previousActiveElement = document.activeElement as HTMLElement;\r\n\r\n firstFocusableElement.focus();\r\n\r\n document.addEventListener(\"keydown\", handleKeyDown);\r\n\r\n return () => {\r\n document.removeEventListener(\"keydown\", handleKeyDown);\r\n\r\n if (isActive) {\r\n previousActiveElement?.focus();\r\n }\r\n };\r\n }, [isActive, ref]);\r\n};\r\n"],"names":["useFocusTrap","ref","isActive","useEffect","focusableElements","firstFocusableElement","lastFocusableElement","handleKeyDown","previousActiveElement"],"mappings":";AAEa,MAAAA,IAAe,CAC1BC,GACAC,MACG;AACH,EAAAC,EAAU,MAAM;AACd,QAAI,CAACD,KAAY,CAACD,EAAI,QAAS;AAEzB,UAAAG,IAAoBH,EAAI,QAAQ;AAAA,MACpC;AAAA,IACF,GACMI,IAAwBD,EAAkB,CAAC,GAC3CE,IAAuBF,EAC3BA,EAAkB,SAAS,CAC7B,GAEMG,IAAgB,CAAC,MAAqB;AACtC,MAAA,EAAE,QAAQ,UAEV,EAAE,WACA,SAAS,kBAAkBF,MAC7BC,EAAqB,MAAM,GAC3B,EAAE,eAAe,KAGf,SAAS,kBAAkBA,MAC7BD,EAAsB,MAAM,GAC5B,EAAE,eAAe;AAAA,IAGvB,GAEMG,IAAwB,SAAS;AAEvC,WAAAH,EAAsB,MAAM,GAEnB,SAAA,iBAAiB,WAAWE,CAAa,GAE3C,MAAM;AACF,eAAA,oBAAoB,WAAWA,CAAa,GAEjDL,MACFM,KAAA,QAAAA,EAAuB;AAAA,IAE3B;AAAA,EAAA,GACC,CAACN,GAAUD,CAAG,CAAC;AACpB;"}
1
+ {"version":3,"file":"index.es342.js","sources":["../node_modules/@radix-ui/react-use-previous/dist/index.mjs"],"sourcesContent":["// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["usePrevious","value","ref","React"],"mappings":";AAEA,SAASA,EAAYC,GAAO;AAC1B,QAAMC,IAAMC,EAAM,OAAO,EAAE,OAAAF,GAAO,UAAUA,GAAO;AACnD,SAAOE,EAAM,QAAQ,OACfD,EAAI,QAAQ,UAAUD,MACxBC,EAAI,QAAQ,WAAWA,EAAI,QAAQ,OACnCA,EAAI,QAAQ,QAAQD,IAEfC,EAAI,QAAQ,WAClB,CAACD,CAAK,CAAC;AACZ;","x_google_ignoreList":[0]}
@@ -25,4 +25,4 @@ function c(r) {
25
25
  export {
26
26
  c as useSize
27
27
  };
28
- //# sourceMappingURL=index.es346.js.map
28
+ //# sourceMappingURL=index.es343.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es346.js","sources":["../node_modules/@radix-ui/react-use-size/dist/index.mjs"],"sourcesContent":["// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useSize","element","size","setSize","React","useLayoutEffect","resizeObserver","entries","entry","width","height","borderSizeEntry","borderSize"],"mappings":";;AAGA,SAASA,EAAQC,GAAS;AACxB,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAM,SAAS,MAAM;AAC7CC,SAAAA,EAAgB,MAAM;AACpB,QAAIJ,GAAS;AACX,MAAAE,EAAQ,EAAE,OAAOF,EAAQ,aAAa,QAAQA,EAAQ,cAAc;AACpE,YAAMK,IAAiB,IAAI,eAAe,CAACC,MAAY;AAIrD,YAHI,CAAC,MAAM,QAAQA,CAAO,KAGtB,CAACA,EAAQ;AACX;AAEF,cAAMC,IAAQD,EAAQ,CAAC;AACvB,YAAIE,GACAC;AACJ,YAAI,mBAAmBF,GAAO;AAC5B,gBAAMG,IAAkBH,EAAM,eACxBI,IAAa,MAAM,QAAQD,CAAe,IAAIA,EAAgB,CAAC,IAAIA;AACzE,UAAAF,IAAQG,EAAW,YACnBF,IAASE,EAAW;AAAA,QAC9B;AACU,UAAAH,IAAQR,EAAQ,aAChBS,IAAST,EAAQ;AAEnB,QAAAE,EAAQ,EAAE,OAAAM,GAAO,QAAAC,GAAQ;AAAA,MACjC,CAAO;AACD,aAAAJ,EAAe,QAAQL,GAAS,EAAE,KAAK,aAAY,CAAE,GAC9C,MAAMK,EAAe,UAAUL,CAAO;AAAA,IACnD;AACM,MAAAE,EAAQ,MAAM;AAAA,EAEpB,GAAK,CAACF,CAAO,CAAC,GACLC;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es343.js","sources":["../node_modules/@radix-ui/react-use-size/dist/index.mjs"],"sourcesContent":["// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useSize","element","size","setSize","React","useLayoutEffect","resizeObserver","entries","entry","width","height","borderSizeEntry","borderSize"],"mappings":";;AAGA,SAASA,EAAQC,GAAS;AACxB,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAM,SAAS,MAAM;AAC7CC,SAAAA,EAAgB,MAAM;AACpB,QAAIJ,GAAS;AACX,MAAAE,EAAQ,EAAE,OAAOF,EAAQ,aAAa,QAAQA,EAAQ,cAAc;AACpE,YAAMK,IAAiB,IAAI,eAAe,CAACC,MAAY;AAIrD,YAHI,CAAC,MAAM,QAAQA,CAAO,KAGtB,CAACA,EAAQ;AACX;AAEF,cAAMC,IAAQD,EAAQ,CAAC;AACvB,YAAIE,GACAC;AACJ,YAAI,mBAAmBF,GAAO;AAC5B,gBAAMG,IAAkBH,EAAM,eACxBI,IAAa,MAAM,QAAQD,CAAe,IAAIA,EAAgB,CAAC,IAAIA;AACzE,UAAAF,IAAQG,EAAW,YACnBF,IAASE,EAAW;AAAA,QAC9B;AACU,UAAAH,IAAQR,EAAQ,aAChBS,IAAST,EAAQ;AAEnB,QAAAE,EAAQ,EAAE,OAAAM,GAAO,QAAAC,GAAQ;AAAA,MACjC,CAAO;AACD,aAAAJ,EAAe,QAAQL,GAAS,EAAE,KAAK,aAAY,CAAE,GAC9C,MAAMK,EAAe,UAAUL,CAAO;AAAA,IACnD;AACM,MAAAE,EAAQ,MAAM;AAAA,EAEpB,GAAK,CAACF,CAAO,CAAC,GACLC;AACT;","x_google_ignoreList":[0]}
@@ -69,4 +69,4 @@ function P(n) {
69
69
  export {
70
70
  R as Presence
71
71
  };
72
- //# sourceMappingURL=index.es347.js.map
72
+ //# sourceMappingURL=index.es344.js.map