@anoki/fse-ui 1.0.475 → 1.0.477

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 (238) hide show
  1. package/dist/components/ui/AuthorBlock/AuthorBlock.css +1 -1
  2. package/dist/components/ui/CardDocument/CardDocument.css +1 -1
  3. package/dist/components/ui/DelegateFilterDropDown/DelegateFilterDropDown.css +1 -1
  4. package/dist/components/ui/TableOfContents/TableOfContents.css +1 -1
  5. package/dist/index.cjs100.js +1 -1
  6. package/dist/index.cjs100.js.map +1 -1
  7. package/dist/index.cjs102.js +1 -1
  8. package/dist/index.cjs102.js.map +1 -1
  9. package/dist/index.cjs105.js +1 -1
  10. package/dist/index.cjs16.js +1 -1
  11. package/dist/index.cjs16.js.map +1 -1
  12. package/dist/index.cjs18.js +1 -1
  13. package/dist/index.cjs198.js +1 -1
  14. package/dist/index.cjs202.js +1 -1
  15. package/dist/index.cjs203.js +1 -1
  16. package/dist/index.cjs209.js +1 -1
  17. package/dist/index.cjs220.js +1 -1
  18. package/dist/index.cjs227.js +1 -1
  19. package/dist/index.cjs228.js +1 -1
  20. package/dist/index.cjs232.js +1 -1
  21. package/dist/index.cjs237.js +1 -1
  22. package/dist/index.cjs239.js +1 -1
  23. package/dist/index.cjs24.js +1 -1
  24. package/dist/index.cjs247.js +1 -1
  25. package/dist/index.cjs249.js +2 -2
  26. package/dist/index.cjs249.js.map +1 -1
  27. package/dist/index.cjs25.js +1 -1
  28. package/dist/index.cjs26.js +1 -1
  29. package/dist/index.cjs27.js +1 -1
  30. package/dist/index.cjs286.js +1 -1
  31. package/dist/index.cjs299.js +1 -1
  32. package/dist/index.cjs30.js +1 -1
  33. package/dist/index.cjs30.js.map +1 -1
  34. package/dist/index.cjs314.js +2 -2
  35. package/dist/index.cjs315.js +10 -10
  36. package/dist/index.cjs318.js +1 -1
  37. package/dist/index.cjs319.js +1 -1
  38. package/dist/index.cjs32.js +1 -1
  39. package/dist/index.cjs320.js +1 -1
  40. package/dist/index.cjs321.js +1 -1
  41. package/dist/index.cjs322.js +1 -1
  42. package/dist/index.cjs322.js.map +1 -1
  43. package/dist/{index.cjs323.js → index.cjs324.js} +1 -1
  44. package/dist/{index.cjs323.js.map → index.cjs324.js.map} +1 -1
  45. package/dist/index.cjs328.js +1 -1
  46. package/dist/index.cjs329.js +1 -1
  47. package/dist/index.cjs335.js +1 -1
  48. package/dist/index.cjs335.js.map +1 -1
  49. package/dist/index.cjs336.js +1 -1
  50. package/dist/index.cjs336.js.map +1 -1
  51. package/dist/index.cjs337.js +1 -1
  52. package/dist/index.cjs337.js.map +1 -1
  53. package/dist/index.cjs338.js +1 -1
  54. package/dist/index.cjs338.js.map +1 -1
  55. package/dist/index.cjs339.js +2 -0
  56. package/dist/index.cjs339.js.map +1 -0
  57. package/dist/index.cjs340.js +2 -0
  58. package/dist/index.cjs340.js.map +1 -0
  59. package/dist/index.cjs341.js +2 -0
  60. package/dist/index.cjs341.js.map +1 -0
  61. package/dist/{index.cjs330.js → index.cjs345.js} +1 -1
  62. package/dist/index.cjs345.js.map +1 -0
  63. package/dist/{index.cjs331.js → index.cjs346.js} +1 -1
  64. package/dist/index.cjs346.js.map +1 -0
  65. package/dist/index.cjs35.js +1 -1
  66. package/dist/index.cjs350.js +1 -1
  67. package/dist/index.cjs350.js.map +1 -1
  68. package/dist/index.cjs351.js +1 -1
  69. package/dist/index.cjs351.js.map +1 -1
  70. package/dist/index.cjs352.js +1 -1
  71. package/dist/index.cjs352.js.map +1 -1
  72. package/dist/index.cjs353.js +2 -0
  73. package/dist/index.cjs353.js.map +1 -0
  74. package/dist/index.cjs354.js +2 -0
  75. package/dist/index.cjs354.js.map +1 -0
  76. package/dist/index.cjs355.js +2 -0
  77. package/dist/index.cjs355.js.map +1 -0
  78. package/dist/index.cjs360.js +1 -1
  79. package/dist/index.cjs361.js +1 -1
  80. package/dist/index.cjs363.js +1 -1
  81. package/dist/index.cjs366.js +1 -1
  82. package/dist/index.cjs37.js +1 -1
  83. package/dist/index.cjs373.js +1 -1
  84. package/dist/index.cjs373.js.map +1 -1
  85. package/dist/index.cjs375.js +1 -1
  86. package/dist/index.cjs376.js +1 -1
  87. package/dist/index.cjs377.js +3 -3
  88. package/dist/index.cjs383.js +1 -1
  89. package/dist/index.cjs390.js +1 -1
  90. package/dist/index.cjs390.js.map +1 -1
  91. package/dist/index.cjs393.js +1 -1
  92. package/dist/index.cjs393.js.map +1 -1
  93. package/dist/index.cjs395.js +1 -1
  94. package/dist/index.cjs396.js +1 -1
  95. package/dist/index.cjs399.js +1 -1
  96. package/dist/index.cjs399.js.map +1 -1
  97. package/dist/index.cjs401.js +1 -1
  98. package/dist/index.cjs47.js +1 -1
  99. package/dist/index.cjs65.js +1 -1
  100. package/dist/index.cjs68.js +1 -1
  101. package/dist/index.cjs69.js +1 -1
  102. package/dist/index.cjs93.js +1 -1
  103. package/dist/index.cjs93.js.map +1 -1
  104. package/dist/index.es100.js +13 -13
  105. package/dist/index.es100.js.map +1 -1
  106. package/dist/index.es102.js +74 -59
  107. package/dist/index.es102.js.map +1 -1
  108. package/dist/index.es105.js +17 -17
  109. package/dist/index.es16.js +16 -16
  110. package/dist/index.es16.js.map +1 -1
  111. package/dist/index.es160.js +1 -1
  112. package/dist/index.es162.js +2 -2
  113. package/dist/index.es163.js +24 -24
  114. package/dist/index.es170.js +1 -1
  115. package/dist/index.es18.js +22 -22
  116. package/dist/index.es198.js +16 -16
  117. package/dist/index.es202.js +25 -25
  118. package/dist/index.es203.js +10 -10
  119. package/dist/index.es220.js +7 -7
  120. package/dist/index.es227.js +1 -1
  121. package/dist/index.es228.js +1 -1
  122. package/dist/index.es232.js +1 -1
  123. package/dist/index.es237.js +1 -1
  124. package/dist/index.es239.js +1 -1
  125. package/dist/index.es24.js +4 -4
  126. package/dist/index.es247.js +25 -25
  127. package/dist/index.es249.js +22 -22
  128. package/dist/index.es249.js.map +1 -1
  129. package/dist/index.es25.js +38 -38
  130. package/dist/index.es26.js +21 -21
  131. package/dist/index.es27.js +2 -2
  132. package/dist/index.es286.js +10 -10
  133. package/dist/index.es299.js +3 -3
  134. package/dist/index.es30.js +29 -27
  135. package/dist/index.es30.js.map +1 -1
  136. package/dist/index.es314.js +20 -20
  137. package/dist/index.es315.js +92 -92
  138. package/dist/index.es317.js +14 -14
  139. package/dist/index.es318.js +40 -40
  140. package/dist/index.es319.js +11 -11
  141. package/dist/index.es32.js +4 -4
  142. package/dist/index.es320.js +1 -1
  143. package/dist/index.es321.js +84 -84
  144. package/dist/index.es321.js.map +1 -1
  145. package/dist/index.es322.js +8 -8
  146. package/dist/index.es322.js.map +1 -1
  147. package/dist/{index.es323.js → index.es324.js} +1 -1
  148. package/dist/{index.es323.js.map → index.es324.js.map} +1 -1
  149. package/dist/index.es328.js +9 -9
  150. package/dist/index.es329.js +1 -1
  151. package/dist/index.es335.js +122 -12
  152. package/dist/index.es335.js.map +1 -1
  153. package/dist/index.es336.js +134 -8
  154. package/dist/index.es336.js.map +1 -1
  155. package/dist/index.es337.js +14 -50
  156. package/dist/index.es337.js.map +1 -1
  157. package/dist/index.es338.js +13 -51
  158. package/dist/index.es338.js.map +1 -1
  159. package/dist/index.es339.js +12 -0
  160. package/dist/index.es339.js.map +1 -0
  161. package/dist/index.es340.js +53 -0
  162. package/dist/index.es340.js.map +1 -0
  163. package/dist/index.es341.js +56 -0
  164. package/dist/index.es341.js.map +1 -0
  165. package/dist/{index.es330.js → index.es345.js} +1 -1
  166. package/dist/index.es345.js.map +1 -0
  167. package/dist/{index.es331.js → index.es346.js} +1 -1
  168. package/dist/index.es346.js.map +1 -0
  169. package/dist/index.es35.js +14 -14
  170. package/dist/index.es350.js +10 -217
  171. package/dist/index.es350.js.map +1 -1
  172. package/dist/index.es351.js +41 -173
  173. package/dist/index.es351.js.map +1 -1
  174. package/dist/index.es352.js +7 -3
  175. package/dist/index.es352.js.map +1 -1
  176. package/dist/index.es353.js +221 -0
  177. package/dist/index.es353.js.map +1 -0
  178. package/dist/index.es354.js +181 -0
  179. package/dist/index.es354.js.map +1 -0
  180. package/dist/index.es355.js +7 -0
  181. package/dist/index.es355.js.map +1 -0
  182. package/dist/index.es360.js +1 -1
  183. package/dist/index.es361.js +8 -8
  184. package/dist/index.es363.js +126 -126
  185. package/dist/index.es366.js +10 -10
  186. package/dist/index.es37.js +6 -6
  187. package/dist/index.es373.js +97 -97
  188. package/dist/index.es374.js +6 -6
  189. package/dist/index.es375.js +42 -42
  190. package/dist/index.es377.js +16 -16
  191. package/dist/index.es390.js +2 -2
  192. package/dist/index.es390.js.map +1 -1
  193. package/dist/index.es393.js +34 -34
  194. package/dist/index.es393.js.map +1 -1
  195. package/dist/index.es395.js +2 -2
  196. package/dist/index.es395.js.map +1 -1
  197. package/dist/index.es396.js +3 -3
  198. package/dist/index.es399.js +2 -2
  199. package/dist/index.es399.js.map +1 -1
  200. package/dist/index.es47.js +2 -2
  201. package/dist/index.es5.js +4 -4
  202. package/dist/index.es65.js +48 -48
  203. package/dist/index.es68.js +25 -25
  204. package/dist/index.es69.js +23 -23
  205. package/dist/index.es93.js +27 -23
  206. package/dist/index.es93.js.map +1 -1
  207. package/dist/index.es98.js +6 -6
  208. package/package.json +1 -1
  209. package/dist/index.cjs330.js.map +0 -1
  210. package/dist/index.cjs331.js.map +0 -1
  211. package/dist/index.cjs332.js +0 -2
  212. package/dist/index.cjs332.js.map +0 -1
  213. package/dist/index.cjs333.js +0 -2
  214. package/dist/index.cjs333.js.map +0 -1
  215. package/dist/index.cjs334.js +0 -2
  216. package/dist/index.cjs334.js.map +0 -1
  217. package/dist/index.cjs347.js +0 -2
  218. package/dist/index.cjs347.js.map +0 -1
  219. package/dist/index.cjs348.js +0 -2
  220. package/dist/index.cjs348.js.map +0 -1
  221. package/dist/index.cjs349.js +0 -2
  222. package/dist/index.cjs349.js.map +0 -1
  223. package/dist/index.es330.js.map +0 -1
  224. package/dist/index.es331.js.map +0 -1
  225. package/dist/index.es332.js +0 -128
  226. package/dist/index.es332.js.map +0 -1
  227. package/dist/index.es333.js +0 -138
  228. package/dist/index.es333.js.map +0 -1
  229. package/dist/index.es334.js +0 -17
  230. package/dist/index.es334.js.map +0 -1
  231. package/dist/index.es347.js +0 -14
  232. package/dist/index.es347.js.map +0 -1
  233. package/dist/index.es348.js +0 -49
  234. package/dist/index.es348.js.map +0 -1
  235. package/dist/index.es349.js +0 -11
  236. package/dist/index.es349.js.map +0 -1
  237. /package/dist/components/ui/{DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css → ConsentModal/ConsentModalContent/ConsentModalContent.css} +0 -0
  238. /package/dist/components/ui/{DoctorModal/DoctorModalFooter/DoctorModalFooter.css → ConsentModal/ConsentModalFooter/ConsentModalFooter.css} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index.cjs179.js"),k=require("./index.cjs180.js"),m=require("react"),d=require("./index.cjs68.js"),h=require("./index.cjs9.js"),E=({label:t,startDateLabel:p="Start Date",endDateLabel:j="End Date",startDate:l,endDate:c,className:b,disabled:x=!1,required:n=!1,error:a,onStartDateChange:o,onEndDateChange:u,onStartDateClick:f,onEndDateClick:R})=>{const r=m.useRef(null),i=t?`datepicker-range-${t.toLowerCase().replace(/\s+/g,"-")}`:"datepicker-range";m.useEffect(()=>{a&&r.current?(r.current.setAttribute("aria-invalid","true"),r.current.setAttribute("aria-describedby",`${i}-error`)):r.current&&(r.current.setAttribute("aria-invalid","false"),r.current.removeAttribute("aria-describedby"))},[a,i]);const g=e=>{c&&e>c?(o(e),u(e)):o(e)},v=e=>{l&&e<l&&o(e),u(e)};return s.jsxRuntimeExports.jsxs("div",{ref:r,className:k.clsx("base-col gap-x8",b),role:"group","aria-labelledby":t?`${i}-label`:void 0,"aria-describedby":a?`${i}-error`:void 0,children:[t&&s.jsxRuntimeExports.jsxs("label",{id:`${i}-label`,className:"text-sm text-dark",children:[t,n&&s.jsxRuntimeExports.jsx("span",{className:"text-error ml-1","aria-hidden":"true",children:"*"})]}),s.jsxRuntimeExports.jsxs(h.Row,{gap:"x16",role:"group",children:[s.jsxRuntimeExports.jsx(d.DatePicker,{label:p,value:l,maxValue:c,disabled:x,required:n,onChange:g,onClick:f,className:"flex-1"}),s.jsxRuntimeExports.jsx(d.DatePicker,{label:j,value:c,minValue:l,disabled:x,required:n,onChange:v,onClick:R,className:"flex-1"})]}),a&&s.jsxRuntimeExports.jsx("div",{id:`${i}-error`,className:"text-sm text-error",role:"alert","aria-live":"polite",children:a})]})};exports.DatePickerRange=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index.cjs179.js"),v=require("./index.cjs180.js"),d=require("react"),m=require("./index.cjs68.js"),h=require("./index.cjs9.js"),E=({label:t,startDateLabel:f="Start Date",endDateLabel:p="End Date",startDate:a,endDate:l,className:j,disabled:o=!1,required:c=!1,error:n,onStartDateChange:u,onEndDateChange:x,onStartDateClick:b,onEndDateClick:R})=>{const r=d.useRef(null),i=t?`datepicker-range-${t.toLowerCase().replace(/\s+/g,"-")}`:"datepicker-range";d.useEffect(()=>{n&&r.current?(r.current.setAttribute("aria-invalid","true"),r.current.setAttribute("aria-describedby",`${i}-error`)):r.current&&(r.current.setAttribute("aria-invalid","false"),r.current.removeAttribute("aria-describedby"))},[n,i]);const g=e=>{l&&e>l?(u(e),x(e)):u(e)},k=e=>{a&&e<a&&u(e),x(e)};return s.jsxRuntimeExports.jsxs("div",{ref:r,className:v.clsx("base-col gap-x8",j),role:"group","aria-labelledby":t?`${i}-label`:void 0,"aria-describedby":n?`${i}-error`:void 0,children:[t&&s.jsxRuntimeExports.jsxs("label",{id:`${i}-label`,className:"text-sm text-dark",children:[t,c&&s.jsxRuntimeExports.jsx("span",{className:"text-error ml-1","aria-hidden":"true",children:"*"})]}),s.jsxRuntimeExports.jsxs(h.Row,{gap:"x16",role:"group",children:[s.jsxRuntimeExports.jsx(m.DatePicker,{label:f,value:a,maxValue:l,disabled:o,required:c,onChange:g,onClick:b,className:"flex-1"}),s.jsxRuntimeExports.jsx(m.DatePicker,{label:p,value:l,minValue:a,disabled:o,required:c,onChange:k,onClick:R,className:"flex-1"})]}),n&&s.jsxRuntimeExports.jsx("div",{id:`${i}-error`,className:"text-sm text-error",role:"alert","aria-live":"polite",children:n})]})};exports.DatePickerRange=E;
2
2
  //# sourceMappingURL=index.cjs69.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/AuthorBlock/AuthorBlock.css');const e=require("./index.cjs179.js"),u=require("./index.cjs56.js");;/* empty css */const m=require("./index.cjs9.js"),d=({titleTag:i="h3",authorName:t,avatar:s,avatarSize:l="3",publishedLabel:r="Pubblicato il",publishedDate:x="-",readingTimeLabel:o="Tempo di lettura",readingTimeValue:c="0",readingMinuteLabel:n="minuti"})=>e.jsxRuntimeExports.jsx("article",{className:"bg-white br-x4 ui-card-doctor",children:e.jsxRuntimeExports.jsxs(m.Row,{as:"header",gap:"x16",className:"align-items-center",children:[s&&e.jsxRuntimeExports.jsx(u.Avatar,{textColor:(s==null?void 0:s.textColor)??"slate-20",bg:(s==null?void 0:s.bg)??"lightblue-a01",initials:(s==null?void 0:s.initials)??"",className:"ui-card-doctor-avatar",size:l}),e.jsxRuntimeExports.jsxs("div",{className:"text-slate-28",children:[e.jsxRuntimeExports.jsx(i,{className:"fs-5 md-fs-custom fw-semibold ",children:t}),e.jsxRuntimeExports.jsxs("div",{className:"base-row gap-x8 fs-6 text-slate-28",children:[e.jsxRuntimeExports.jsx("p",{className:"fw-regular",children:r}),e.jsxRuntimeExports.jsx("p",{className:"fw-bold",children:x}),e.jsxRuntimeExports.jsx("p",{className:"fw-regular ui-author-divider",children:o}),e.jsxRuntimeExports.jsxs("p",{className:"fw-bold",children:[c," ",n]})]})]})]})});exports.AuthorBlock=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/AuthorBlock/AuthorBlock.css');const s=require("./index.cjs179.js"),m=require("./index.cjs56.js");;/* empty css */const u=require("./index.cjs9.js"),d=({titleTag:i="h3",authorName:t,avatar:e,avatarSize:l="3",publishedLabel:x="Pubblicato il",publishedDate:r="-",readingTimeLabel:o="Tempo di lettura",readingTimeValue:c="0",readingMinuteLabel:n="minuti"})=>s.jsxRuntimeExports.jsx("article",{className:"bg-white br-x4 ui-card-doctor",children:s.jsxRuntimeExports.jsxs(u.Row,{as:"header",gap:"x16",className:"align-items-center",children:[e&&s.jsxRuntimeExports.jsx(m.Avatar,{textColor:(e==null?void 0:e.textColor)??"slate-20",bg:(e==null?void 0:e.bg)??"lightblue-a01",initials:(e==null?void 0:e.initials)??"",className:"ui-card-doctor-avatar",size:l}),s.jsxRuntimeExports.jsxs("div",{className:"text-slate-28",children:[s.jsxRuntimeExports.jsx(i,{className:"fs-5 md-fs-custom fw-semibold ",children:t}),s.jsxRuntimeExports.jsxs("div",{className:"base-row gap-x8 fs-6 text-slate-28",children:[s.jsxRuntimeExports.jsxs("div",{className:"item-block",children:[s.jsxRuntimeExports.jsx("p",{className:"fw-regular",children:x}),s.jsxRuntimeExports.jsx("p",{className:"fw-bold",children:r})]}),s.jsxRuntimeExports.jsxs("div",{className:"item-block ui-author-divider",children:[s.jsxRuntimeExports.jsx("p",{className:"fw-regular ",children:o}),s.jsxRuntimeExports.jsxs("p",{className:"fw-bold",children:[c," ",n]})]})]})]})]})});exports.AuthorBlock=d;
2
2
  //# sourceMappingURL=index.cjs93.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs93.js","sources":["../src/components/ui/AuthorBlock/index.tsx"],"sourcesContent":["import { Avatar, AvatarSize } from \"../Avatar\";\nimport { ColorKeys } from \"@/theme/colors\";\nimport \"./AuthorBlock.scss\";\nimport { Row } from \"@/components\";\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\ntype CardDoctorProps = {\n titleTag?: HeadingLevel;\n authorName: string;\n avatar?: {\n initials: string;\n bg?: ColorKeys;\n textColor?: ColorKeys;\n };\n avatarSize?: AvatarSize;\n publishedLabel?: string;\n publishedDate?: string;\n readingTimeLabel?: string;\n readingTimeValue?: string;\n readingMinuteLabel?: string;\n};\n\nexport const AuthorBlock = ({\n titleTag: TitleTag = \"h3\",\n authorName,\n avatar,\n avatarSize = \"3\",\n publishedLabel = \"Pubblicato il\",\n publishedDate = \"-\",\n readingTimeLabel = \"Tempo di lettura\",\n readingTimeValue = \"0\",\n readingMinuteLabel = \"minuti\",\n}: CardDoctorProps) => {\n return (\n <article className=\"bg-white br-x4 ui-card-doctor\">\n <Row as={\"header\"} gap={\"x16\"} className=\"align-items-center\">\n {avatar && (\n <Avatar\n textColor={avatar?.textColor ?? \"slate-20\"}\n bg={avatar?.bg ?? \"lightblue-a01\"}\n initials={avatar?.initials ?? \"\"}\n className=\"ui-card-doctor-avatar\"\n size={avatarSize}\n />\n )}\n\n <div className={\"text-slate-28\"}>\n <TitleTag className=\"fs-5 md-fs-custom fw-semibold \">\n {authorName}\n </TitleTag>\n <div className={\"base-row gap-x8 fs-6 text-slate-28\"}>\n <p className=\"fw-regular\">{publishedLabel}</p>\n <p className={\"fw-bold\"}>{publishedDate}</p>\n\n <p className=\"fw-regular ui-author-divider\">{readingTimeLabel}</p>\n <p className={\"fw-bold\"}>\n {readingTimeValue} {readingMinuteLabel}\n </p>\n </div>\n </div>\n </Row>\n </article>\n );\n};\n"],"names":["AuthorBlock","TitleTag","authorName","avatar","avatarSize","publishedLabel","publishedDate","readingTimeLabel","readingTimeValue","readingMinuteLabel","jsx","jsxs","Row","Avatar"],"mappings":"mNAsBaA,EAAc,CAAC,CAC1B,SAAUC,EAAW,KACrB,WAAAC,EACA,OAAAC,EACA,WAAAC,EAAa,IACb,eAAAC,EAAiB,gBACjB,cAAAC,EAAgB,IAChB,iBAAAC,EAAmB,mBACnB,iBAAAC,EAAmB,IACnB,mBAAAC,EAAqB,QACvB,IAEIC,EAAAA,kBAAAA,IAAC,UAAQ,CAAA,UAAU,gCACjB,SAAAC,yBAACC,EAAAA,IAAI,CAAA,GAAI,SAAU,IAAK,MAAO,UAAU,qBACtC,SAAA,CACCT,GAAAO,EAAA,kBAAA,IAACG,EAAA,OAAA,CACC,WAAWV,GAAA,YAAAA,EAAQ,YAAa,WAChC,IAAIA,GAAA,YAAAA,EAAQ,KAAM,gBAClB,UAAUA,GAAA,YAAAA,EAAQ,WAAY,GAC9B,UAAU,wBACV,KAAMC,CAAA,CACR,EAGFO,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAW,gBACd,SAAA,CAACD,EAAA,kBAAA,IAAAT,EAAA,CAAS,UAAU,iCACjB,SACHC,EAAA,EACAS,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAW,qCACd,SAAA,CAACD,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAU,aAAc,SAAeL,EAAA,EACzCK,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAW,UAAY,SAAcJ,EAAA,EAEvCI,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAU,+BAAgC,SAAiBH,EAAA,EAC9DI,EAAAA,kBAAAA,KAAC,IAAE,CAAA,UAAW,UACX,SAAA,CAAAH,EAAiB,IAAEC,CAAA,CACtB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAAA,CACF,CACF,CAAA"}
1
+ {"version":3,"file":"index.cjs93.js","sources":["../src/components/ui/AuthorBlock/index.tsx"],"sourcesContent":["import { Avatar, AvatarSize } from \"../Avatar\";\nimport { ColorKeys } from \"@/theme/colors\";\nimport \"./AuthorBlock.scss\";\nimport { Row } from \"@/components\";\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\ntype CardDoctorProps = {\n titleTag?: HeadingLevel;\n authorName: string;\n avatar?: {\n initials: string;\n bg?: ColorKeys;\n textColor?: ColorKeys;\n };\n avatarSize?: AvatarSize;\n publishedLabel?: string;\n publishedDate?: string;\n readingTimeLabel?: string;\n readingTimeValue?: string;\n readingMinuteLabel?: string;\n};\n\nexport const AuthorBlock = ({\n titleTag: TitleTag = \"h3\",\n authorName,\n avatar,\n avatarSize = \"3\",\n publishedLabel = \"Pubblicato il\",\n publishedDate = \"-\",\n readingTimeLabel = \"Tempo di lettura\",\n readingTimeValue = \"0\",\n readingMinuteLabel = \"minuti\",\n}: CardDoctorProps) => {\n return (\n <article className=\"bg-white br-x4 ui-card-doctor\">\n <Row as={\"header\"} gap={\"x16\"} className=\"align-items-center\">\n {avatar && (\n <Avatar\n textColor={avatar?.textColor ?? \"slate-20\"}\n bg={avatar?.bg ?? \"lightblue-a01\"}\n initials={avatar?.initials ?? \"\"}\n className=\"ui-card-doctor-avatar\"\n size={avatarSize}\n />\n )}\n\n <div className={\"text-slate-28\"}>\n <TitleTag className=\"fs-5 md-fs-custom fw-semibold \">\n {authorName}\n </TitleTag>\n <div className={\"base-row gap-x8 fs-6 text-slate-28\"}>\n <div className={\"item-block\"}>\n <p className=\"fw-regular\">{publishedLabel}</p>\n <p className={\"fw-bold\"}>{publishedDate}</p>\n </div>\n\n <div className={\"item-block ui-author-divider\"}>\n <p className=\"fw-regular \">{readingTimeLabel}</p>\n <p className={\"fw-bold\"}>\n {readingTimeValue} {readingMinuteLabel}\n </p>\n </div>\n </div>\n </div>\n </Row>\n </article>\n );\n};\n"],"names":["AuthorBlock","TitleTag","authorName","avatar","avatarSize","publishedLabel","publishedDate","readingTimeLabel","readingTimeValue","readingMinuteLabel","jsx","jsxs","Row","Avatar"],"mappings":"mNAsBaA,EAAc,CAAC,CAC1B,SAAUC,EAAW,KACrB,WAAAC,EACA,OAAAC,EACA,WAAAC,EAAa,IACb,eAAAC,EAAiB,gBACjB,cAAAC,EAAgB,IAChB,iBAAAC,EAAmB,mBACnB,iBAAAC,EAAmB,IACnB,mBAAAC,EAAqB,QACvB,IAEIC,EAAAA,kBAAAA,IAAC,UAAQ,CAAA,UAAU,gCACjB,SAAAC,yBAACC,EAAAA,IAAI,CAAA,GAAI,SAAU,IAAK,MAAO,UAAU,qBACtC,SAAA,CACCT,GAAAO,EAAA,kBAAA,IAACG,EAAA,OAAA,CACC,WAAWV,GAAA,YAAAA,EAAQ,YAAa,WAChC,IAAIA,GAAA,YAAAA,EAAQ,KAAM,gBAClB,UAAUA,GAAA,YAAAA,EAAQ,WAAY,GAC9B,UAAU,wBACV,KAAMC,CAAA,CACR,EAGFO,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAW,gBACd,SAAA,CAACD,EAAA,kBAAA,IAAAT,EAAA,CAAS,UAAU,iCACjB,SACHC,EAAA,EACAS,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAW,qCACd,SAAA,CAACA,EAAAA,kBAAAA,KAAA,MAAA,CAAI,UAAW,aACd,SAAA,CAACD,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAU,aAAc,SAAeL,EAAA,EACzCK,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAW,UAAY,SAAcJ,CAAA,CAAA,CAAA,EAC1C,EAEAK,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAW,+BACd,SAAA,CAACD,EAAA,kBAAA,IAAA,IAAA,CAAE,UAAU,cAAe,SAAiBH,EAAA,EAC7CI,EAAAA,kBAAAA,KAAC,IAAE,CAAA,UAAW,UACX,SAAA,CAAAH,EAAiB,IAAEC,CAAA,CACtB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAAA,CACF,CACF,CAAA"}
@@ -1,27 +1,27 @@
1
1
  import { j as s } from "./index.es179.js";
2
- import f, { useState as w, useEffect as l } from "react";
2
+ import f, { useState as w, useEffect as i } from "react";
3
3
  import './components/ui/TableOfContents/TableOfContents.css';/* empty css */
4
4
  import { useMediaQuery as v } from "./index.es188.js";
5
5
  import { clsx as b } from "./index.es180.js";
6
6
  import { Row as j } from "./index.es9.js";
7
- import { ArrowDown as g } from "./index.es112.js";
8
- import { ScrollArea as N } from "./index.es299.js";
7
+ import { ArrowDown as N } from "./index.es112.js";
8
+ import { ScrollArea as g } from "./index.es299.js";
9
9
  const H = ({
10
- title: i = "Indice",
10
+ title: n = "Indice",
11
11
  headings: r,
12
- titleTag: n = "h3",
12
+ titleTag: a = "h3",
13
13
  isOpen: c,
14
- onToggle: a = () => {
14
+ onToggle: l = () => {
15
15
  }
16
16
  }) => {
17
17
  const [d, m] = f.useState(""), [p, x] = w(0), h = v("(min-width: 768px)") || c;
18
- return l(() => {
18
+ return i(() => {
19
19
  const e = () => {
20
20
  const o = window.scrollY, t = document.documentElement.scrollHeight - window.innerHeight, u = t > 0 ? Math.min(o / t * 100, 100) : 0;
21
21
  x(u);
22
22
  };
23
23
  return window.addEventListener("scroll", e), e(), () => window.removeEventListener("scroll", e);
24
- }, []), l(() => {
24
+ }, []), i(() => {
25
25
  const e = new IntersectionObserver(
26
26
  (o) => {
27
27
  o.forEach((t) => {
@@ -42,12 +42,12 @@ const H = ({
42
42
  "button",
43
43
  {
44
44
  className: "ui-button-accordion-toc",
45
- onClick: a,
45
+ onClick: l,
46
46
  type: "button",
47
47
  children: /* @__PURE__ */ s.jsxs(j, { className: "ui-header-table-of-contents", children: [
48
- /* @__PURE__ */ s.jsx(n, { className: "text-slate-20 fw-semibold fs-7", children: i }),
48
+ /* @__PURE__ */ s.jsx(a, { className: "text-slate-20 fw-semibold fs-7", children: n }),
49
49
  /* @__PURE__ */ s.jsx(
50
- g,
50
+ N,
51
51
  {
52
52
  color: "primary",
53
53
  className: b("ui-arrow-toc", { "ui-expanded-toc": c })
@@ -64,7 +64,7 @@ const H = ({
64
64
  }
65
65
  ) }),
66
66
  h && /* @__PURE__ */ s.jsx(
67
- N,
67
+ g,
68
68
  {
69
69
  type: "always",
70
70
  scrollbars: "vertical",
@@ -76,7 +76,7 @@ const H = ({
76
76
  className: `toc-link ${d === e.id ? "active text-primary" : "text-slate-28"}`,
77
77
  onClick: (o) => {
78
78
  var t;
79
- o.preventDefault(), (t = document.getElementById(e.id)) == null || t.scrollIntoView({ behavior: "smooth" });
79
+ o.preventDefault(), (t = document.getElementById(e.id)) == null || t.scrollIntoView({ behavior: "smooth" }), l();
80
80
  },
81
81
  children: e.text
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.es100.js","sources":["../src/components/ui/TableOfContents/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { ScrollArea } from \"@radix-ui/themes\";\nimport \"./TableOfContents.scss\";\nimport { Row } from \"@/components\";\nimport { useMediaQuery } from \"@/hooks/useMediaQuery.ts\";\nimport { ArrowDown } from \"@/icons\";\nimport clsx from \"clsx\";\n\ntype Heading = {\n id: string;\n text: string;\n};\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\n\ntype TableOfContentsProps = {\n title: string;\n headings: Heading[];\n titleTag?: HeadingLevel;\n isOpen?: boolean;\n onToggle?: () => void;\n};\n\nexport const TableOfContents = ({\n title = \"Indice\",\n headings,\n titleTag: TitleTag = \"h3\",\n isOpen,\n onToggle = () => {},\n}: TableOfContentsProps) => {\n const [activeId, setActiveId] = React.useState(\"\");\n const [scrollProgress, setScrollProgress] = useState(0);\n const isDesktop = useMediaQuery(\"(min-width: 768px)\");\n const showScrollArea = isDesktop || isOpen;\n\n useEffect(() => {\n const updateScrollProgress = () => {\n const scrollTop = window.scrollY;\n const docHeight =\n document.documentElement.scrollHeight - window.innerHeight;\n const scrollPercent =\n docHeight > 0 ? Math.min((scrollTop / docHeight) * 100, 100) : 0;\n setScrollProgress(scrollPercent);\n };\n\n window.addEventListener(\"scroll\", updateScrollProgress);\n updateScrollProgress(); // Inizializza la barra di progresso\n\n return () => window.removeEventListener(\"scroll\", updateScrollProgress);\n }, []);\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setActiveId(entry.target.id);\n }\n });\n },\n {\n rootMargin: \"-100px 0px -50% 0px\",\n threshold: 0,\n },\n );\n\n headings.forEach(({ id }) => {\n const element = document.getElementById(id);\n if (element) observer.observe(element);\n });\n\n return () => observer.disconnect();\n }, [headings]);\n\n return (\n <div className=\"toc-container\">\n <button\n className={\"ui-button-accordion-toc\"}\n onClick={onToggle}\n type=\"button\"\n >\n <Row className={\"ui-header-table-of-contents\"}>\n <TitleTag className=\"text-slate-20 fw-semibold fs-7\">\n {title}\n </TitleTag>\n <ArrowDown\n color={\"primary\"}\n className={clsx(\"ui-arrow-toc\", { \"ui-expanded-toc\": isOpen })}\n />\n </Row>\n </button>\n\n <div className=\"scroll-progress-bar\">\n <div\n className=\"scroll-progress\"\n style={{ width: `${scrollProgress}%` }}\n />\n </div>\n\n {showScrollArea && (\n <ScrollArea\n type=\"always\"\n scrollbars=\"vertical\"\n className=\"toc-scroll fw-semibold fs-6\"\n >\n <div className=\"toc-list base-col\">\n {headings.map((item) => (\n <div key={item.id} className=\"toc-item\">\n <a\n href={`#${item.id}`}\n className={`toc-link ${activeId === item.id ? \"active text-primary\" : \"text-slate-28\"}`}\n onClick={(e) => {\n e.preventDefault();\n document\n .getElementById(item.id)\n ?.scrollIntoView({ behavior: \"smooth\" });\n }}\n >\n {item.text}\n </a>\n </div>\n ))}\n </div>\n </ScrollArea>\n )}\n </div>\n );\n};\n"],"names":["TableOfContents","title","headings","TitleTag","isOpen","onToggle","activeId","setActiveId","React","scrollProgress","setScrollProgress","useState","showScrollArea","useMediaQuery","useEffect","updateScrollProgress","scrollTop","docHeight","scrollPercent","observer","entries","entry","id","element","jsxs","jsx","Row","ArrowDown","clsx","ScrollArea","item","e","_a"],"mappings":"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"}
1
+ {"version":3,"file":"index.es100.js","sources":["../src/components/ui/TableOfContents/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { ScrollArea } from \"@radix-ui/themes\";\nimport \"./TableOfContents.scss\";\nimport { Row } from \"@/components\";\nimport { useMediaQuery } from \"@/hooks/useMediaQuery.ts\";\nimport { ArrowDown } from \"@/icons\";\nimport clsx from \"clsx\";\n\ntype Heading = {\n id: string;\n text: string;\n};\n\ntype HeadingLevel = \"h2\" | \"h3\" | \"h4\";\n\ntype TableOfContentsProps = {\n title: string;\n headings: Heading[];\n titleTag?: HeadingLevel;\n isOpen?: boolean;\n onToggle?: () => void;\n};\n\nexport const TableOfContents = ({\n title = \"Indice\",\n headings,\n titleTag: TitleTag = \"h3\",\n isOpen,\n onToggle = () => {},\n}: TableOfContentsProps) => {\n const [activeId, setActiveId] = React.useState(\"\");\n const [scrollProgress, setScrollProgress] = useState(0);\n const isDesktop = useMediaQuery(\"(min-width: 768px)\");\n const showScrollArea = isDesktop || isOpen;\n\n useEffect(() => {\n const updateScrollProgress = () => {\n const scrollTop = window.scrollY;\n const docHeight =\n document.documentElement.scrollHeight - window.innerHeight;\n const scrollPercent =\n docHeight > 0 ? Math.min((scrollTop / docHeight) * 100, 100) : 0;\n setScrollProgress(scrollPercent);\n };\n\n window.addEventListener(\"scroll\", updateScrollProgress);\n updateScrollProgress(); // Inizializza la barra di progresso\n\n return () => window.removeEventListener(\"scroll\", updateScrollProgress);\n }, []);\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setActiveId(entry.target.id);\n }\n });\n },\n {\n rootMargin: \"-100px 0px -50% 0px\",\n threshold: 0,\n },\n );\n\n headings.forEach(({ id }) => {\n const element = document.getElementById(id);\n if (element) observer.observe(element);\n });\n\n return () => observer.disconnect();\n }, [headings]);\n\n return (\n <div className=\"toc-container\">\n <button\n className={\"ui-button-accordion-toc\"}\n onClick={onToggle}\n type=\"button\"\n >\n <Row className={\"ui-header-table-of-contents\"}>\n <TitleTag className=\"text-slate-20 fw-semibold fs-7\">\n {title}\n </TitleTag>\n <ArrowDown\n color={\"primary\"}\n className={clsx(\"ui-arrow-toc\", { \"ui-expanded-toc\": isOpen })}\n />\n </Row>\n </button>\n\n <div className=\"scroll-progress-bar\">\n <div\n className=\"scroll-progress\"\n style={{ width: `${scrollProgress}%` }}\n />\n </div>\n\n {showScrollArea && (\n <ScrollArea\n type=\"always\"\n scrollbars=\"vertical\"\n className=\"toc-scroll fw-semibold fs-6\"\n >\n <div className=\"toc-list base-col\">\n {headings.map((item) => (\n <div key={item.id} className=\"toc-item\">\n <a\n href={`#${item.id}`}\n className={`toc-link ${activeId === item.id ? \"active text-primary\" : \"text-slate-28\"}`}\n onClick={(e) => {\n e.preventDefault();\n document\n .getElementById(item.id)\n ?.scrollIntoView({ behavior: \"smooth\" });\n onToggle();\n }}\n >\n {item.text}\n </a>\n </div>\n ))}\n </div>\n </ScrollArea>\n )}\n </div>\n );\n};\n"],"names":["TableOfContents","title","headings","TitleTag","isOpen","onToggle","activeId","setActiveId","React","scrollProgress","setScrollProgress","useState","showScrollArea","useMediaQuery","useEffect","updateScrollProgress","scrollTop","docHeight","scrollPercent","observer","entries","entry","id","element","jsxs","jsx","Row","ArrowDown","clsx","ScrollArea","item","e","_a"],"mappings":"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"}
@@ -1,99 +1,114 @@
1
- import { j as t } from "./index.es179.js";
2
- import { clsx as u } from "./index.es180.js";
3
- import { useState as p, useRef as x, useEffect as h } from "react";
1
+ import { j as s } from "./index.es179.js";
2
+ import { clsx as m } from "./index.es180.js";
3
+ import { useState as p, useRef as x, useEffect as w } from "react";
4
4
  import './components/ui/DelegateFilterDropDown/DelegateFilterDropDown.css';/* empty css */
5
- import { Close as $ } from "./index.es115.js";
6
- import { Button as L } from "./index.es25.js";
7
- import { Col as I } from "./index.es10.js";
8
- const S = ({
9
- size: w = "large",
10
- items: N = [],
11
- className: v,
12
- selectedPerson: l,
13
- setSelectedPerson: d,
14
- placeholder: g = "",
15
- btnText: C = "Cerca"
5
+ import { Close as D } from "./index.es115.js";
6
+ import { Button as M } from "./index.es25.js";
7
+ import { Col as B } from "./index.es10.js";
8
+ const A = ({
9
+ size: N = "large",
10
+ items: g = [],
11
+ className: C,
12
+ selectedPerson: r,
13
+ setSelectedPerson: u,
14
+ placeholder: j = "",
15
+ btnText: v = "Cerca"
16
16
  }) => {
17
- const [s, a] = p(!1), [i, n] = p(""), o = x(null), c = x(null), m = N.filter((e) => `${e.firstName} ${e.lastName}`.toLowerCase().includes(i.toLowerCase()));
18
- h(() => {
19
- const e = (r) => {
20
- o.current && !o.current.contains(r.target) && a(!1);
17
+ const [l, i] = p(!1), [a, o] = p(""), c = x(null), d = x(null), f = g.filter((e) => `${e.firstName} ${e.lastName}`.toLowerCase().includes(a.toLowerCase()));
18
+ w(() => {
19
+ const e = (t) => {
20
+ c.current && !c.current.contains(t.target) && i(!1);
21
21
  };
22
- return s ? document.addEventListener("mousedown", e) : document.removeEventListener("mousedown", e), () => {
22
+ return l ? document.addEventListener("mousedown", e) : document.removeEventListener("mousedown", e), () => {
23
23
  document.removeEventListener("mousedown", e);
24
24
  };
25
- }, [s]), h(() => {
26
- s && (n(""), c.current && c.current.focus());
27
- }, [s]);
28
- const j = (e) => {
29
- s && n(e.target.value);
30
- }, f = () => {
31
- a(!s);
32
- }, b = (e) => {
33
- e.stopPropagation(), d(null), n("");
34
- }, k = !s && l ? `${l.firstName} ${l.lastName}` : i, y = l !== null || i.length > 0;
35
- return /* @__PURE__ */ t.jsxs(
25
+ }, [l]), w(() => {
26
+ l && (o(""), d.current && d.current.focus());
27
+ }, [l]);
28
+ const b = (e) => {
29
+ l && o(e.target.value);
30
+ }, h = () => {
31
+ i(!l);
32
+ }, k = (e) => {
33
+ e.stopPropagation(), u(null), o("");
34
+ }, E = !l && r ? `${r.firstName} ${r.lastName}` : a, L = r !== null || a.length > 0, y = (e, t) => {
35
+ if (!t || t.trim() === "")
36
+ return /* @__PURE__ */ s.jsxs("span", { style: { color: "black" }, children: [
37
+ " ",
38
+ e,
39
+ " "
40
+ ] });
41
+ const n = e.toLowerCase().indexOf(t.toLowerCase());
42
+ if (n === -1) return e;
43
+ const $ = e.slice(0, n), I = e.slice(n, n + t.length), R = e.slice(n + t.length);
44
+ return /* @__PURE__ */ s.jsxs("span", { style: { color: "black" }, children: [
45
+ $,
46
+ /* @__PURE__ */ s.jsx("span", { className: "text-primary fw-bold", children: I }),
47
+ R
48
+ ] });
49
+ };
50
+ return /* @__PURE__ */ s.jsxs(
36
51
  "div",
37
52
  {
38
- ref: o,
39
- className: u(
53
+ ref: c,
54
+ className: m(
40
55
  "ui-related-dropdown",
41
56
  "br-x4 bg-border-secondary w-full",
42
- v
57
+ C
43
58
  ),
44
- style: w === "large" ? { maxWidth: "100%" } : { maxWidth: "553px" },
59
+ style: N === "large" ? { maxWidth: "100%" } : { maxWidth: "553px" },
45
60
  children: [
46
- /* @__PURE__ */ t.jsxs("div", { className: "ui-input-container", children: [
47
- /* @__PURE__ */ t.jsx(
61
+ /* @__PURE__ */ s.jsxs("div", { className: "ui-input-container", children: [
62
+ /* @__PURE__ */ s.jsx(
48
63
  "input",
49
64
  {
50
- ref: c,
51
- className: u(
65
+ ref: d,
66
+ className: m(
52
67
  "ui-related-dropdown-input",
53
68
  "bg-white fs-6 br-x4 w-full pl-x24",
54
- { active: s }
69
+ { active: l }
55
70
  ),
56
- value: k,
57
- onChange: j,
58
- placeholder: g,
59
- onClick: f
71
+ value: E,
72
+ onChange: b,
73
+ placeholder: j,
74
+ onClick: h
60
75
  }
61
76
  ),
62
- y && /* @__PURE__ */ t.jsx("div", { className: "ui-close-button", onClick: b, children: /* @__PURE__ */ t.jsx($, { width: 20 }) }),
63
- /* @__PURE__ */ t.jsx("div", { className: "ui-div-btn", children: /* @__PURE__ */ t.jsx(
64
- L,
77
+ L && /* @__PURE__ */ s.jsx("div", { className: "ui-close-button", onClick: k, children: /* @__PURE__ */ s.jsx(D, { width: 20 }) }),
78
+ /* @__PURE__ */ s.jsx("div", { className: "ui-div-btn", children: /* @__PURE__ */ s.jsx(
79
+ M,
65
80
  {
66
- className: u(
81
+ className: m(
67
82
  "ui-btn-search",
68
83
  "bg-primary text-white fs-7 fw-semibold br-x4"
69
84
  ),
70
- onClick: f,
71
- children: C
85
+ onClick: h,
86
+ children: v
72
87
  }
73
88
  ) })
74
89
  ] }),
75
- s && /* @__PURE__ */ t.jsx("div", { className: "ui-related-dropdown-options", children: /* @__PURE__ */ t.jsx("div", { className: "p-x24 shadow w-full", children: /* @__PURE__ */ t.jsx(
76
- I,
90
+ l && /* @__PURE__ */ s.jsx("div", { className: "ui-related-dropdown-options", children: /* @__PURE__ */ s.jsx("div", { className: "p-x24 shadow w-full", children: /* @__PURE__ */ s.jsx(
91
+ B,
77
92
  {
78
93
  gap: "x16",
79
94
  text: "primary",
80
95
  fs: "custom",
81
96
  fw: "regular",
82
97
  className: "ui-options-list fw-regular",
83
- children: m.length > 0 ? m.map((e, r) => {
84
- const E = `${e.firstName} ${e.lastName}`;
85
- return /* @__PURE__ */ t.jsx(
98
+ children: f.length > 0 ? f.map((e, t) => {
99
+ const n = `${e.firstName} ${e.lastName}`;
100
+ return /* @__PURE__ */ s.jsx(
86
101
  "div",
87
102
  {
88
103
  className: "ui-option-item",
89
104
  onClick: () => {
90
- d(e), a(!1);
105
+ u(e), i(!1);
91
106
  },
92
- children: /* @__PURE__ */ t.jsx("span", { style: { color: "black" }, children: E })
107
+ children: y(n, a)
93
108
  },
94
- e.fiscalCode || r
109
+ e.fiscalCode || t
95
110
  );
96
- }) : /* @__PURE__ */ t.jsx("div", { className: "ui-option-item no-results", children: /* @__PURE__ */ t.jsx("span", { style: { color: "gray" }, children: "Nessun risultato trovato" }) })
111
+ }) : /* @__PURE__ */ s.jsx("div", { className: "ui-option-item no-results", children: /* @__PURE__ */ s.jsx("span", { style: { color: "gray" }, children: "Nessun risultato trovato" }) })
97
112
  }
98
113
  ) }) })
99
114
  ]
@@ -101,6 +116,6 @@ const S = ({
101
116
  );
102
117
  };
103
118
  export {
104
- S as DelegateFilterDropDown
119
+ A as DelegateFilterDropDown
105
120
  };
106
121
  //# sourceMappingURL=index.es102.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es102.js","sources":["../src/components/ui/DelegateFilterDropDown/index.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { Button, Col } from \"@/components\";\nimport \"./DelegateFilterDropDown.scss\";\nimport { Close } from \"@/icons\";\n\nexport type RelatedPeople = {\n birthDate: string;\n firstName: string;\n fiscalCode: string;\n lastName: string;\n relationship: string;\n};\n\ntype RelatedPeopleDropDownProps = {\n size?: \"small\" | \"large\";\n items: RelatedPeople[];\n className?: string;\n selectedPerson: RelatedPeople | null;\n setSelectedPerson: (person: RelatedPeople | null) => void;\n placeholder?: string;\n btnText?: string;\n};\n\nexport const DelegateFilterDropDown = ({\n size = \"large\",\n items = [],\n className,\n selectedPerson,\n setSelectedPerson,\n placeholder = \"\",\n btnText = \"Cerca\",\n}: RelatedPeopleDropDownProps) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const dropdownRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const filteredItems = items.filter((person) => {\n const fullName = `${person.firstName} ${person.lastName}`.toLowerCase();\n return fullName.includes(searchTerm.toLowerCase());\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setIsExpanded(false);\n }\n };\n\n if (isExpanded) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n } else {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isExpanded]);\n\n useEffect(() => {\n if (isExpanded) {\n setSearchTerm(\"\");\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }\n }, [isExpanded]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isExpanded) {\n setSearchTerm(e.target.value);\n }\n };\n\n const handleInputClick = () => {\n setIsExpanded(!isExpanded);\n };\n\n const handleClearClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n setSelectedPerson(null);\n setSearchTerm(\"\");\n };\n\n const displayValue =\n !isExpanded && selectedPerson\n ? `${selectedPerson.firstName} ${selectedPerson.lastName}`\n : searchTerm;\n\n const showCloseButton = selectedPerson !== null || searchTerm.length > 0;\n\n return (\n <div\n ref={dropdownRef}\n className={clsx(\n \"ui-related-dropdown\",\n \"br-x4 bg-border-secondary w-full\",\n className,\n )}\n style={size === \"large\" ? { maxWidth: \"100%\" } : { maxWidth: \"553px\" }}\n >\n <div className=\"ui-input-container\">\n <input\n ref={inputRef}\n className={clsx(\n \"ui-related-dropdown-input\",\n \"bg-white fs-6 br-x4 w-full pl-x24\",\n { active: isExpanded },\n )}\n value={displayValue}\n onChange={handleInputChange}\n placeholder={placeholder}\n onClick={handleInputClick}\n />\n\n {showCloseButton && (\n <div className=\"ui-close-button\" onClick={handleClearClick}>\n <Close width={20} />\n </div>\n )}\n\n <div className=\"ui-div-btn\">\n <Button\n className={clsx(\n \"ui-btn-search\",\n \"bg-primary text-white fs-7 fw-semibold br-x4\",\n )}\n onClick={handleInputClick}\n >\n {btnText}\n </Button>\n </div>\n </div>\n\n {isExpanded && (\n <div className=\"ui-related-dropdown-options\">\n <div className=\"p-x24 shadow w-full\">\n <Col\n gap={\"x16\"}\n text={\"primary\"}\n fs={\"custom\"}\n fw={\"regular\"}\n className={\"ui-options-list fw-regular\"}\n >\n {filteredItems.length > 0 ? (\n filteredItems.map((person, index) => {\n const fullName = `${person.firstName} ${person.lastName}`;\n return (\n <div\n className=\"ui-option-item\"\n key={person.fiscalCode || index}\n onClick={() => {\n setSelectedPerson(person);\n setIsExpanded(false);\n }}\n >\n <span style={{ color: \"black\" }}>{fullName}</span>\n </div>\n );\n })\n ) : (\n <div className=\"ui-option-item no-results\">\n <span style={{ color: \"gray\" }}>\n Nessun risultato trovato\n </span>\n </div>\n )}\n </Col>\n </div>\n </div>\n )}\n </div>\n );\n};\n"],"names":["DelegateFilterDropDown","size","items","className","selectedPerson","setSelectedPerson","placeholder","btnText","isExpanded","setIsExpanded","useState","searchTerm","setSearchTerm","dropdownRef","useRef","inputRef","filteredItems","person","useEffect","handleClickOutside","event","handleInputChange","handleInputClick","handleClearClick","displayValue","showCloseButton","jsxs","clsx","jsx","Close","Button","Col","index","fullName"],"mappings":"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"}
1
+ {"version":3,"file":"index.es102.js","sources":["../src/components/ui/DelegateFilterDropDown/index.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { Button, Col } from \"@/components\";\nimport \"./DelegateFilterDropDown.scss\";\nimport { Close } from \"@/icons\";\n\nexport type RelatedPeople = {\n birthDate: string;\n firstName: string;\n fiscalCode: string;\n lastName: string;\n relationship: string;\n};\n\ntype RelatedPeopleDropDownProps = {\n size?: \"small\" | \"large\";\n items: RelatedPeople[];\n className?: string;\n selectedPerson: RelatedPeople | null;\n setSelectedPerson: (person: RelatedPeople | null) => void;\n placeholder?: string;\n btnText?: string;\n};\n\nexport const DelegateFilterDropDown = ({\n size = \"large\",\n items = [],\n className,\n selectedPerson,\n setSelectedPerson,\n placeholder = \"\",\n btnText = \"Cerca\",\n}: RelatedPeopleDropDownProps) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const dropdownRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const filteredItems = items.filter((person) => {\n const fullName = `${person.firstName} ${person.lastName}`.toLowerCase();\n return fullName.includes(searchTerm.toLowerCase());\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setIsExpanded(false);\n }\n };\n\n if (isExpanded) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n } else {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isExpanded]);\n\n useEffect(() => {\n if (isExpanded) {\n setSearchTerm(\"\");\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }\n }, [isExpanded]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isExpanded) {\n setSearchTerm(e.target.value);\n }\n };\n\n const handleInputClick = () => {\n setIsExpanded(!isExpanded);\n };\n\n const handleClearClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n setSelectedPerson(null);\n setSearchTerm(\"\");\n };\n\n const displayValue =\n !isExpanded && selectedPerson\n ? `${selectedPerson.firstName} ${selectedPerson.lastName}`\n : searchTerm;\n\n const showCloseButton = selectedPerson !== null || searchTerm.length > 0;\n\n const highlightMatch = (text: string, query: string) => {\n if (!query || query.trim() === \"\")\n return <span style={{ color: \"black\" }}> {text} </span>;\n\n const index = text.toLowerCase().indexOf(query.toLowerCase());\n if (index === -1) return text;\n\n const beforeMatch = text.slice(0, index);\n const match = text.slice(index, index + query.length);\n const afterMatch = text.slice(index + query.length);\n\n return (\n <span style={{ color: \"black\" }}>\n {beforeMatch}\n <span className=\"text-primary fw-bold\">{match}</span>\n {afterMatch}\n </span>\n );\n };\n\n return (\n <div\n ref={dropdownRef}\n className={clsx(\n \"ui-related-dropdown\",\n \"br-x4 bg-border-secondary w-full\",\n className,\n )}\n style={size === \"large\" ? { maxWidth: \"100%\" } : { maxWidth: \"553px\" }}\n >\n <div className=\"ui-input-container\">\n <input\n ref={inputRef}\n className={clsx(\n \"ui-related-dropdown-input\",\n \"bg-white fs-6 br-x4 w-full pl-x24\",\n { active: isExpanded },\n )}\n value={displayValue}\n onChange={handleInputChange}\n placeholder={placeholder}\n onClick={handleInputClick}\n />\n\n {showCloseButton && (\n <div className=\"ui-close-button\" onClick={handleClearClick}>\n <Close width={20} />\n </div>\n )}\n\n <div className=\"ui-div-btn\">\n <Button\n className={clsx(\n \"ui-btn-search\",\n \"bg-primary text-white fs-7 fw-semibold br-x4\",\n )}\n onClick={handleInputClick}\n >\n {btnText}\n </Button>\n </div>\n </div>\n\n {isExpanded && (\n <div className=\"ui-related-dropdown-options\">\n <div className=\"p-x24 shadow w-full\">\n <Col\n gap={\"x16\"}\n text={\"primary\"}\n fs={\"custom\"}\n fw={\"regular\"}\n className={\"ui-options-list fw-regular\"}\n >\n {filteredItems.length > 0 ? (\n filteredItems.map((person, index) => {\n const fullName = `${person.firstName} ${person.lastName}`;\n return (\n <div\n className=\"ui-option-item\"\n key={person.fiscalCode || index}\n onClick={() => {\n setSelectedPerson(person);\n setIsExpanded(false);\n }}\n >\n {highlightMatch(fullName, searchTerm)}\n </div>\n );\n })\n ) : (\n <div className=\"ui-option-item no-results\">\n <span style={{ color: \"gray\" }}>\n Nessun risultato trovato\n </span>\n </div>\n )}\n </Col>\n </div>\n </div>\n )}\n </div>\n );\n};\n"],"names":["DelegateFilterDropDown","size","items","className","selectedPerson","setSelectedPerson","placeholder","btnText","isExpanded","setIsExpanded","useState","searchTerm","setSearchTerm","dropdownRef","useRef","inputRef","filteredItems","person","useEffect","handleClickOutside","event","handleInputChange","handleInputClick","handleClearClick","displayValue","showCloseButton","highlightMatch","text","query","index","beforeMatch","match","afterMatch","jsx","jsxs","clsx","Close","Button","Col","fullName"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import { j as e } from "./index.es179.js";
2
2
  import './sections/WhatDoYouNeed/WhatDoYouNeed.css';/* empty css */
3
- import { Section as r } from "./index.es46.js";
3
+ import { Section as o } from "./index.es46.js";
4
4
  import { Col as c } from "./index.es10.js";
5
5
  import { Button as m } from "./index.es25.js";
6
- const f = ({
6
+ const j = ({
7
7
  title: t,
8
- description: i,
9
- links: o,
10
- asLink: n = "a"
11
- }) => /* @__PURE__ */ e.jsxs(r, { className: "base-col ui-what-do-you-need-section", children: [
8
+ description: n,
9
+ links: r,
10
+ asLink: a = "a"
11
+ }) => /* @__PURE__ */ e.jsxs(o, { className: "base-col ui-what-do-you-need-section", children: [
12
12
  /* @__PURE__ */ e.jsxs(c, { className: "ui-what-do-you-need-content", children: [
13
- /* @__PURE__ */ e.jsx(r.Title, { fs: "2", children: t }),
14
- i && /* @__PURE__ */ e.jsx(r.Description, { children: i })
13
+ /* @__PURE__ */ e.jsx(o.Title, { fs: "2", children: t }),
14
+ n && /* @__PURE__ */ e.jsx(o.Description, { children: n })
15
15
  ] }),
16
16
  /* @__PURE__ */ e.jsx(
17
17
  "ul",
@@ -19,22 +19,22 @@ const f = ({
19
19
  role: "list",
20
20
  "aria-label": `Lista di ${t}`,
21
21
  className: "list-style-none ui-what-do-you-need-links",
22
- children: o == null ? void 0 : o.map(({ link: s, title: l, isNewTab: a }, d) => /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx(
22
+ children: r == null ? void 0 : r.map(({ link: i, title: d, isNewTab: s }, l) => /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx(
23
23
  m,
24
24
  {
25
- asLink: n,
26
- href: s,
25
+ asLink: a,
26
+ href: i,
27
27
  size: "2",
28
- variant: d > 0 ? "secondary" : "primary",
29
- target: a ? "_blank" : void 0,
30
- rel: a ? "noopener noreferrer" : void 0,
31
- children: l
28
+ variant: l > 0 ? "secondary" : "primary",
29
+ target: s ? "_blank" : void 0,
30
+ rel: s ? "noopener noreferrer" : void 0,
31
+ children: d
32
32
  }
33
- ) }, s))
33
+ ) }, i))
34
34
  }
35
35
  )
36
36
  ] });
37
37
  export {
38
- f as WhatDoYouNeed
38
+ j as WhatDoYouNeed
39
39
  };
40
40
  //# sourceMappingURL=index.es105.js.map
@@ -1,6 +1,6 @@
1
1
  import { j as e } from "./index.es179.js";
2
- import { Container as p } from "./index.es6.js";
3
- import { Divider as u } from "./index.es192.js";
2
+ import { Container as t } from "./index.es6.js";
3
+ import { Divider as p } from "./index.es192.js";
4
4
  import './components/navigations/Footer/Footer.css';/* empty css */
5
5
  import { clsx as j } from "./index.es180.js";
6
6
  import { FseMS as N } from "./index.es122.js";
@@ -12,14 +12,14 @@ const f = (a) => {
12
12
  try {
13
13
  const c = new URL(a), m = new URL(window.location.href);
14
14
  return c.hostname !== m.hostname;
15
- } catch (c) {
16
- return console.log(c), !0;
15
+ } catch {
16
+ return !0;
17
17
  }
18
18
  }, O = ({
19
19
  footerLinks: a,
20
20
  version: c,
21
21
  asLink: m = "a",
22
- className: h,
22
+ className: d,
23
23
  additionalLogo: x,
24
24
  settingsFooterLinks: r = {
25
25
  FseMS: "",
@@ -29,29 +29,29 @@ const f = (a) => {
29
29
  externalLink: ""
30
30
  }
31
31
  }) => {
32
- const n = m, d = [
32
+ const o = m, h = [
33
33
  N,
34
34
  E,
35
35
  U,
36
36
  b
37
37
  ];
38
- return /* @__PURE__ */ e.jsx("footer", { className: j("bg-slate-20", "ui-footer", h), children: /* @__PURE__ */ e.jsxs(p, { children: [
38
+ return /* @__PURE__ */ e.jsx("footer", { className: j("bg-slate-20", "ui-footer", d), children: /* @__PURE__ */ e.jsxs(t, { children: [
39
39
  /* @__PURE__ */ e.jsxs("section", { className: "ui-footer-institution-logos", children: [
40
- d.map((l, o) => {
41
- const t = ["FseMS", "FseMEF", "FseDGT", "FseUE"][o], i = (r == null ? void 0 : r[t]) || "#", s = f(i);
40
+ h.map((l, n) => {
41
+ const u = ["FseMS", "FseMEF", "FseDGT", "FseUE"][n], i = (r == null ? void 0 : r[u]) || "#", s = f(i);
42
42
  return /* @__PURE__ */ e.jsx(
43
- n,
43
+ o,
44
44
  {
45
45
  href: i,
46
46
  target: s ? "_blank" : "_self",
47
47
  rel: s ? "noopener noreferrer" : void 0,
48
48
  children: /* @__PURE__ */ e.jsx(l, { className: "ui-footer-logo" })
49
49
  },
50
- o
50
+ n
51
51
  );
52
52
  }),
53
53
  x && /* @__PURE__ */ e.jsx(
54
- n,
54
+ o,
55
55
  {
56
56
  href: r == null ? void 0 : r.externalLink,
57
57
  target: f((r == null ? void 0 : r.externalLink) || "") ? "_blank" : "_self",
@@ -67,11 +67,11 @@ const f = (a) => {
67
67
  }
68
68
  )
69
69
  ] }),
70
- /* @__PURE__ */ e.jsx(u, {}),
70
+ /* @__PURE__ */ e.jsx(p, {}),
71
71
  /* @__PURE__ */ e.jsxs("section", { className: "ui-footer-links-container", children: [
72
72
  /* @__PURE__ */ e.jsx("h3", { className: "visually-hidden", children: "Sezione Link Utili" }),
73
- /* @__PURE__ */ e.jsx("ul", { className: "ui-footer-links-list", role: "list", children: a == null ? void 0 : a.map((l, o) => /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx(
74
- n,
73
+ /* @__PURE__ */ e.jsx("ul", { className: "ui-footer-links-list", role: "list", children: a == null ? void 0 : a.map((l, n) => /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx(
74
+ o,
75
75
  {
76
76
  href: l.href,
77
77
  target: l.target ?? "_self",
@@ -80,7 +80,7 @@ const f = (a) => {
80
80
  rel: l.target === "_blank" ? "noopener noreferrer" : void 0,
81
81
  children: l.label
82
82
  }
83
- ) }, o)) }),
83
+ ) }, n)) }),
84
84
  /* @__PURE__ */ e.jsx("span", { className: "text-white fw-normal ui-footer-version", children: c })
85
85
  ] })
86
86
  ] }) });
@@ -1 +1 @@
1
- {"version":3,"file":"index.es16.js","sources":["../src/components/navigations/Footer/index.tsx"],"sourcesContent":["import { FseMS, FseMEF, FseUE, FseDGT } from \"@/icons\";\n\nimport { Container } from \"@/components/ui/Container\";\nimport { Divider } from \"@/components/ui/Divider\";\nimport { IconProps } from \"@/types/icons\";\nimport \"./Footer.scss\";\nimport clsx from \"clsx\";\n\ntype FooterLink = {\n label: string;\n href: string;\n target?: \"_blank\" | \"_self\";\n};\n\ntype FooterProps = {\n footerLinks?: FooterLink[];\n version?: string;\n asLink?: \"a\" | React.ComponentType<any>;\n className?: string;\n additionalLogo?: string;\n settingsFooterLinks?: {\n FseMS?: string;\n FseMEF?: string;\n FseDGT?: string;\n FseUE?: string;\n externalLink?: string;\n };\n};\n\nconst isExternalLink = (url: string): boolean => {\n if (!url) return false;\n try {\n const linkUrl = new URL(url);\n const currentUrl = new URL(window.location.href);\n return linkUrl.hostname !== currentUrl.hostname;\n } catch (e) {\n console.log(e);\n // If URL parsing fails, assume it's an internal link\n return true;\n }\n};\n\nexport const Footer = ({\n footerLinks,\n version,\n asLink = \"a\",\n className,\n additionalLogo,\n settingsFooterLinks = {\n FseMS: \"\",\n FseMEF: \"\",\n FseDGT: \"\",\n FseUE: \"\",\n externalLink: \"\",\n },\n}: FooterProps) => {\n const LinkComponent = asLink;\n\n const INSTITUTION_LOGOS: React.ComponentType<IconProps>[] = [\n FseMS,\n FseMEF,\n FseDGT,\n FseUE,\n ];\n\n return (\n <footer className={clsx(\"bg-slate-20\", \"ui-footer\", className)}>\n <Container>\n <section className=\"ui-footer-institution-logos\">\n {INSTITUTION_LOGOS.map((Logo, i) => {\n const keyNames = [\"FseMS\", \"FseMEF\", \"FseDGT\", \"FseUE\"];\n const key = keyNames[i] as keyof typeof settingsFooterLinks;\n const href = settingsFooterLinks?.[key] || \"#\";\n const isExternal = isExternalLink(href);\n return (\n <LinkComponent\n href={href}\n key={i}\n target={isExternal ? \"_blank\" : \"_self\"}\n rel={isExternal ? \"noopener noreferrer\" : undefined}\n >\n <Logo className=\"ui-footer-logo\" />\n </LinkComponent>\n );\n })}\n {additionalLogo && (\n <LinkComponent\n href={settingsFooterLinks?.externalLink}\n target={\n isExternalLink(settingsFooterLinks?.externalLink || \"\")\n ? \"_blank\"\n : \"_self\"\n }\n rel={\n isExternalLink(settingsFooterLinks?.externalLink || \"\")\n ? \"noopener noreferrer\"\n : undefined\n }\n >\n <img\n src={additionalLogo}\n alt=\"Additional Logo\"\n className=\"ui-footer-logo\"\n />\n </LinkComponent>\n )}\n </section>\n <Divider />\n <section className=\"ui-footer-links-container\">\n <h3 className=\"visually-hidden\">Sezione Link Utili</h3>\n <ul className=\"ui-footer-links-list\" role=\"list\">\n {footerLinks?.map((link, i) => {\n return (\n <li key={i}>\n <LinkComponent\n href={link.href}\n target={link.target ?? \"_self\"}\n className=\"text-white fs-6 fw-semibold text-decoration-underline\"\n aria-label={`Vai alla pagina: ${link.label}`}\n rel={\n link.target === \"_blank\"\n ? \"noopener noreferrer\"\n : undefined\n }\n >\n {link.label}\n </LinkComponent>\n </li>\n );\n })}\n </ul>\n <span className={`text-white fw-normal ui-footer-version`}>\n {version}\n </span>\n </section>\n </Container>\n </footer>\n );\n};\n"],"names":["isExternalLink","url","linkUrl","currentUrl","e","Footer","footerLinks","version","asLink","className","additionalLogo","settingsFooterLinks","LinkComponent","INSTITUTION_LOGOS","FseMS","FseMEF","FseDGT","FseUE","jsx","clsx","jsxs","Container","Logo","i","key","href","isExternal","Divider","link"],"mappings":"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"}
1
+ {"version":3,"file":"index.es16.js","sources":["../src/components/navigations/Footer/index.tsx"],"sourcesContent":["import { FseMS, FseMEF, FseUE, FseDGT } from \"@/icons\";\n\nimport { Container } from \"@/components/ui/Container\";\nimport { Divider } from \"@/components/ui/Divider\";\nimport { IconProps } from \"@/types/icons\";\nimport \"./Footer.scss\";\nimport clsx from \"clsx\";\n\ntype FooterLink = {\n label: string;\n href: string;\n target?: \"_blank\" | \"_self\";\n};\n\ntype FooterProps = {\n footerLinks?: FooterLink[];\n version?: string;\n asLink?: \"a\" | React.ComponentType<any>;\n className?: string;\n additionalLogo?: string;\n settingsFooterLinks?: {\n FseMS?: string;\n FseMEF?: string;\n FseDGT?: string;\n FseUE?: string;\n externalLink?: string;\n };\n};\n\nconst isExternalLink = (url: string): boolean => {\n if (!url) return false;\n try {\n const linkUrl = new URL(url);\n const currentUrl = new URL(window.location.href);\n return linkUrl.hostname !== currentUrl.hostname;\n } catch {\n // If URL parsing fails, assume it's an internal link\n return true;\n }\n};\n\nexport const Footer = ({\n footerLinks,\n version,\n asLink = \"a\",\n className,\n additionalLogo,\n settingsFooterLinks = {\n FseMS: \"\",\n FseMEF: \"\",\n FseDGT: \"\",\n FseUE: \"\",\n externalLink: \"\",\n },\n}: FooterProps) => {\n const LinkComponent = asLink;\n\n const INSTITUTION_LOGOS: React.ComponentType<IconProps>[] = [\n FseMS,\n FseMEF,\n FseDGT,\n FseUE,\n ];\n\n return (\n <footer className={clsx(\"bg-slate-20\", \"ui-footer\", className)}>\n <Container>\n <section className=\"ui-footer-institution-logos\">\n {INSTITUTION_LOGOS.map((Logo, i) => {\n const keyNames = [\"FseMS\", \"FseMEF\", \"FseDGT\", \"FseUE\"];\n const key = keyNames[i] as keyof typeof settingsFooterLinks;\n const href = settingsFooterLinks?.[key] || \"#\";\n const isExternal = isExternalLink(href);\n return (\n <LinkComponent\n href={href}\n key={i}\n target={isExternal ? \"_blank\" : \"_self\"}\n rel={isExternal ? \"noopener noreferrer\" : undefined}\n >\n <Logo className=\"ui-footer-logo\" />\n </LinkComponent>\n );\n })}\n {additionalLogo && (\n <LinkComponent\n href={settingsFooterLinks?.externalLink}\n target={\n isExternalLink(settingsFooterLinks?.externalLink || \"\")\n ? \"_blank\"\n : \"_self\"\n }\n rel={\n isExternalLink(settingsFooterLinks?.externalLink || \"\")\n ? \"noopener noreferrer\"\n : undefined\n }\n >\n <img\n src={additionalLogo}\n alt=\"Additional Logo\"\n className=\"ui-footer-logo\"\n />\n </LinkComponent>\n )}\n </section>\n <Divider />\n <section className=\"ui-footer-links-container\">\n <h3 className=\"visually-hidden\">Sezione Link Utili</h3>\n <ul className=\"ui-footer-links-list\" role=\"list\">\n {footerLinks?.map((link, i) => {\n return (\n <li key={i}>\n <LinkComponent\n href={link.href}\n target={link.target ?? \"_self\"}\n className=\"text-white fs-6 fw-semibold text-decoration-underline\"\n aria-label={`Vai alla pagina: ${link.label}`}\n rel={\n link.target === \"_blank\"\n ? \"noopener noreferrer\"\n : undefined\n }\n >\n {link.label}\n </LinkComponent>\n </li>\n );\n })}\n </ul>\n <span className={`text-white fw-normal ui-footer-version`}>\n {version}\n </span>\n </section>\n </Container>\n </footer>\n );\n};\n"],"names":["isExternalLink","url","linkUrl","currentUrl","Footer","footerLinks","version","asLink","className","additionalLogo","settingsFooterLinks","LinkComponent","INSTITUTION_LOGOS","FseMS","FseMEF","FseDGT","FseUE","jsx","clsx","jsxs","Container","Logo","i","key","href","isExternal","Divider","link"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { normalizeZone as S } from "./index.es167.js";
10
10
  import be from "./index.es168.js";
11
11
  import { parseISODate as _e, parseRFC2822Date as Ve, parseHTTPDate as pe, parseSQL as We } from "./index.es5.js";
12
12
  import { parseFromTokens as Fe, formatOptsToTokens as Le, expandMacroTokens as ze, explainFromTokens as He, TokenParser as Ue } from "./index.es169.js";
13
- import { usesLocalWeekValues as ne, gregorianToWeek as x, gregorianToOrdinal as Z, hasInvalidWeekData as Ce, hasInvalidOrdinalData as Ae, hasInvalidGregorianData as de, hasInvalidTimeData as he, weekToGregorian as ie, ordinalToGregorian as re } from "./index.es170.js";
13
+ import { usesLocalWeekValues as ne, gregorianToWeek as x, gregorianToOrdinal as Z, hasInvalidWeekData as Ce, hasInvalidOrdinalData as Ae, hasInvalidGregorianData as de, weekToGregorian as ie, ordinalToGregorian as re, hasInvalidTimeData as he } from "./index.es170.js";
14
14
  import { DATE_SHORT as se, DATE_MED as xe, DATE_MED_WITH_WEEKDAY as Ye, DATE_FULL as Ze, DATE_HUGE as je, TIME_SIMPLE as qe, TIME_WITH_SECONDS as Ge, TIME_WITH_SHORT_OFFSET as Re, TIME_WITH_LONG_OFFSET as $e, TIME_24_SIMPLE as Pe, TIME_24_WITH_SECONDS as Qe, TIME_24_WITH_SHORT_OFFSET as Je, TIME_24_WITH_LONG_OFFSET as Ke, DATETIME_SHORT as Be, DATETIME_SHORT_WITH_SECONDS as Xe, DATETIME_MED as et, DATETIME_MED_WITH_SECONDS as tt, DATETIME_MED_WITH_WEEKDAY as nt, DATETIME_FULL as it, DATETIME_FULL_WITH_SECONDS as rt, DATETIME_HUGE as st, DATETIME_HUGE_WITH_SECONDS as at } from "./index.es171.js";
15
15
  import { InvalidArgumentError as w, ConflictingSpecificationError as F, InvalidDateTimeError as ot, InvalidUnitError as lt } from "./index.es172.js";
16
16
  import N from "./index.es173.js";
@@ -3,7 +3,7 @@ import s from "./index.es4.js";
3
3
  import r from "./index.es165.js";
4
4
  import u from "./index.es174.js";
5
5
  import { normalizeZone as i } from "./index.es167.js";
6
- import { hasLocaleWeekInfo as m, hasRelative as c } from "./index.es166.js";
6
+ import { hasRelative as m, hasLocaleWeekInfo as c } from "./index.es166.js";
7
7
  class p {
8
8
  /**
9
9
  * Return whether the specified zone contains a DST.
@@ -172,7 +172,7 @@ class p {
172
172
  * @return {Object}
173
173
  */
174
174
  static features() {
175
- return { relative: c(), localeWeek: m() };
175
+ return { relative: m(), localeWeek: c() };
176
176
  }
177
177
  }
178
178
  export {