@anoki/fse-ui 1.0.718 → 1.0.719

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 (124) hide show
  1. package/dist/components/ui/DeclarantsSelect/DeclarantsSelect.css +1 -1
  2. package/dist/index.cjs117.js +1 -1
  3. package/dist/index.cjs117.js.map +1 -1
  4. package/dist/index.cjs216.js +1 -1
  5. package/dist/index.cjs223.js +1 -1
  6. package/dist/index.cjs265.js +1 -1
  7. package/dist/index.cjs278.js +1 -1
  8. package/dist/index.cjs279.js +1 -1
  9. package/dist/index.cjs283.js +1 -1
  10. package/dist/index.cjs288.js +1 -1
  11. package/dist/index.cjs290.js +1 -1
  12. package/dist/index.cjs378.js +1 -1
  13. package/dist/index.cjs379.js +1 -1
  14. package/dist/index.cjs380.js +27 -1
  15. package/dist/index.cjs380.js.map +1 -1
  16. package/dist/index.cjs381.js +1 -2
  17. package/dist/index.cjs381.js.map +1 -1
  18. package/dist/index.cjs382.js +1 -27
  19. package/dist/index.cjs382.js.map +1 -1
  20. package/dist/index.cjs383.js +1 -1
  21. package/dist/index.cjs383.js.map +1 -1
  22. package/dist/index.cjs384.js +2 -1
  23. package/dist/index.cjs384.js.map +1 -1
  24. package/dist/index.cjs388.js +1 -1
  25. package/dist/index.cjs390.js +1 -1
  26. package/dist/index.cjs391.js +1 -1
  27. package/dist/index.cjs397.js +1 -1
  28. package/dist/index.cjs398.js +1 -1
  29. package/dist/{index.cjs400.js → index.cjs402.js} +1 -1
  30. package/dist/index.cjs402.js.map +1 -0
  31. package/dist/{index.cjs401.js → index.cjs403.js} +1 -1
  32. package/dist/index.cjs403.js.map +1 -0
  33. package/dist/index.cjs404.js +1 -1
  34. package/dist/index.cjs405.js +1 -1
  35. package/dist/index.cjs406.js +1 -1
  36. package/dist/{index.cjs399.js → index.cjs414.js} +1 -1
  37. package/dist/{index.cjs399.js.map → index.cjs414.js.map} +1 -1
  38. package/dist/index.cjs420.js +1 -1
  39. package/dist/index.cjs420.js.map +1 -1
  40. package/dist/index.cjs421.js +1 -1
  41. package/dist/index.cjs421.js.map +1 -1
  42. package/dist/index.cjs422.js +1 -1
  43. package/dist/index.cjs422.js.map +1 -1
  44. package/dist/index.cjs423.js +2 -0
  45. package/dist/index.cjs423.js.map +1 -0
  46. package/dist/index.cjs424.js +2 -0
  47. package/dist/index.cjs424.js.map +1 -0
  48. package/dist/index.cjs425.js +2 -0
  49. package/dist/index.cjs425.js.map +1 -0
  50. package/dist/index.cjs430.js +1 -1
  51. package/dist/index.cjs461.js +1 -1
  52. package/dist/index.cjs468.js +1 -1
  53. package/dist/index.cjs483.js +1 -1
  54. package/dist/index.es117.js +23 -23
  55. package/dist/index.es117.js.map +1 -1
  56. package/dist/index.es216.js +1 -1
  57. package/dist/index.es223.js +2 -2
  58. package/dist/index.es265.js +1 -1
  59. package/dist/index.es278.js +1 -1
  60. package/dist/index.es279.js +1 -1
  61. package/dist/index.es283.js +1 -1
  62. package/dist/index.es288.js +1 -1
  63. package/dist/index.es290.js +1 -1
  64. package/dist/index.es378.js +1 -1
  65. package/dist/index.es379.js +1 -1
  66. package/dist/index.es380.js +3674 -5
  67. package/dist/index.es380.js.map +1 -1
  68. package/dist/index.es381.js +5 -520
  69. package/dist/index.es381.js.map +1 -1
  70. package/dist/index.es382.js +2 -3675
  71. package/dist/index.es382.js.map +1 -1
  72. package/dist/index.es383.js +5 -5
  73. package/dist/index.es383.js.map +1 -1
  74. package/dist/index.es384.js +521 -2
  75. package/dist/index.es384.js.map +1 -1
  76. package/dist/index.es388.js +1 -1
  77. package/dist/index.es390.js +5 -5
  78. package/dist/index.es391.js +1 -1
  79. package/dist/index.es397.js +1 -1
  80. package/dist/index.es398.js +1 -1
  81. package/dist/{index.es400.js → index.es402.js} +1 -1
  82. package/dist/index.es402.js.map +1 -0
  83. package/dist/{index.es401.js → index.es403.js} +1 -1
  84. package/dist/index.es403.js.map +1 -0
  85. package/dist/index.es404.js +1 -1
  86. package/dist/index.es405.js +1 -1
  87. package/dist/index.es406.js +1 -1
  88. package/dist/{index.es399.js → index.es414.js} +1 -1
  89. package/dist/{index.es399.js.map → index.es414.js.map} +1 -1
  90. package/dist/index.es420.js +10 -217
  91. package/dist/index.es420.js.map +1 -1
  92. package/dist/index.es421.js +41 -173
  93. package/dist/index.es421.js.map +1 -1
  94. package/dist/index.es422.js +7 -3
  95. package/dist/index.es422.js.map +1 -1
  96. package/dist/index.es423.js +221 -0
  97. package/dist/index.es423.js.map +1 -0
  98. package/dist/index.es424.js +181 -0
  99. package/dist/index.es424.js.map +1 -0
  100. package/dist/index.es425.js +7 -0
  101. package/dist/index.es425.js.map +1 -0
  102. package/dist/index.es430.js +1 -1
  103. package/dist/index.es461.js +1 -1
  104. package/dist/index.es468.js +3 -3
  105. package/dist/index.es483.js +1 -1
  106. package/package.json +1 -1
  107. package/dist/index.cjs400.js.map +0 -1
  108. package/dist/index.cjs401.js.map +0 -1
  109. package/dist/index.cjs417.js +0 -2
  110. package/dist/index.cjs417.js.map +0 -1
  111. package/dist/index.cjs418.js +0 -2
  112. package/dist/index.cjs418.js.map +0 -1
  113. package/dist/index.cjs419.js +0 -2
  114. package/dist/index.cjs419.js.map +0 -1
  115. package/dist/index.es400.js.map +0 -1
  116. package/dist/index.es401.js.map +0 -1
  117. package/dist/index.es417.js +0 -14
  118. package/dist/index.es417.js.map +0 -1
  119. package/dist/index.es418.js +0 -49
  120. package/dist/index.es418.js.map +0 -1
  121. package/dist/index.es419.js +0 -11
  122. package/dist/index.es419.js.map +0 -1
  123. /package/dist/components/ui/{DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css → ConsentModal/ConsentModalContent/ConsentModalContent.css} +0 -0
  124. /package/dist/components/ui/{DoctorModal/DoctorModalFooter/DoctorModalFooter.css → ConsentModal/ConsentModalFooter/ConsentModalFooter.css} +0 -0
@@ -1,42 +1,42 @@
1
1
  import { j as s } from "./index.es212.js";
2
- import { clsx as m } from "./index.es214.js";
3
- import { useState as x, useRef as w, useEffect as g, useMemo as R } from "react";
2
+ import { clsx as x } from "./index.es214.js";
3
+ import { useState as w, useRef as g, useEffect as j, useMemo as R } from "react";
4
4
  import './components/ui/DeclarantsSelect/DeclarantsSelect.css';/* empty css */
5
5
  import { Close as z } from "./index.es134.js";
6
6
  import { ArrowDown as D } from "./index.es131.js";
7
7
  import { Col as O } from "./index.es10.js";
8
8
  const F = ({
9
- size: j = "large",
9
+ size: v = "large",
10
10
  items: f = [],
11
- className: v,
11
+ className: C,
12
12
  selectedItem: t,
13
13
  setSelectedItem: h,
14
- placeholder: C = ""
14
+ placeholder: N = ""
15
15
  }) => {
16
- const [o, i] = x(!1), [l, c] = x(""), d = w(null), u = w(null), p = f.filter((e) => {
16
+ const [o, i] = w(!1), [l, c] = w(""), d = g(null), u = g(null), p = f.filter((e) => {
17
17
  var r;
18
18
  return `${(r = e.labels) == null ? void 0 : r.it}`.toLowerCase().includes(l.toLowerCase());
19
19
  });
20
- g(() => {
20
+ j(() => {
21
21
  const e = (n) => {
22
22
  d.current && !d.current.contains(n.target) && i(!1);
23
23
  };
24
24
  return o ? document.addEventListener("mousedown", e) : document.removeEventListener("mousedown", e), () => {
25
25
  document.removeEventListener("mousedown", e);
26
26
  };
27
- }, [o]), g(() => {
27
+ }, [o]), j(() => {
28
28
  o && (c(""), u.current && u.current.focus());
29
29
  }, [o]);
30
- const N = (e) => {
30
+ const b = (e) => {
31
31
  o && c(e.target.value);
32
- }, b = () => {
32
+ }, k = () => {
33
33
  i(!o);
34
- }, k = (e) => {
34
+ }, E = (e) => {
35
35
  e.stopPropagation(), h(null), c("");
36
- }, E = R(() => {
36
+ }, L = R(() => {
37
37
  var e;
38
38
  return !o && t ? ((e = f.find((n) => n.code === t)) == null ? void 0 : e.labels.it) || "" : l;
39
- }, [o, t, l]), L = t !== null || l.length > 0, y = (e, n) => {
39
+ }, [o, t, l]), m = t !== null || l.length > 0, y = (e, n) => {
40
40
  if (!n || n.trim() === "")
41
41
  return /* @__PURE__ */ s.jsxs("span", { style: { color: "black", fontSize: "0.85rem" }, children: [
42
42
  " ",
@@ -56,31 +56,31 @@ const F = ({
56
56
  "div",
57
57
  {
58
58
  ref: d,
59
- className: m(
59
+ className: x(
60
60
  "ui-related-dropdown",
61
61
  "br-x4 bg-border-secondary w-full",
62
- v
62
+ C
63
63
  ),
64
- style: j === "large" ? { maxWidth: "100%" } : { maxWidth: "553px" },
64
+ style: v === "large" ? { maxWidth: "100%" } : { maxWidth: "553px" },
65
65
  children: [
66
66
  /* @__PURE__ */ s.jsxs("div", { className: "ui-input-container", children: [
67
67
  /* @__PURE__ */ s.jsx(
68
68
  "input",
69
69
  {
70
70
  ref: u,
71
- className: m(
71
+ className: x(
72
72
  "ui-related-dropdown-input",
73
73
  "bg-white fs-6 br-x4 w-full pl-x24",
74
74
  { active: o }
75
75
  ),
76
- value: E,
77
- onChange: N,
78
- placeholder: C,
79
- onClick: b
76
+ value: L,
77
+ onChange: b,
78
+ placeholder: N,
79
+ onClick: k
80
80
  }
81
81
  ),
82
- L && /* @__PURE__ */ s.jsx("div", { className: "ui-close-button", onClick: k, children: /* @__PURE__ */ s.jsx(z, { width: 20 }) }),
83
- /* @__PURE__ */ s.jsx("div", { className: "ui-div-btn", children: /* @__PURE__ */ s.jsx(D, { width: 40, height: 40 }) })
82
+ m && /* @__PURE__ */ s.jsx("div", { className: "ui-close-button", onClick: E, children: /* @__PURE__ */ s.jsx(z, { width: 20 }) }),
83
+ !m && /* @__PURE__ */ s.jsx("div", { className: "ui-div-btn", children: /* @__PURE__ */ s.jsx(D, { width: 40, height: 40 }) })
84
84
  ] }),
85
85
  o && /* @__PURE__ */ s.jsx("div", { className: "ui-related-dropdown-options", children: /* @__PURE__ */ s.jsx("div", { className: "px-x24 shadow w-full", children: /* @__PURE__ */ s.jsx(
86
86
  O,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es117.js","sources":["../src/components/ui/DeclarantsSelect/index.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { Col } from \"@/components\";\nimport \"./DeclarantsSelect.scss\";\nimport { ArrowDown, Close } from \"@/icons\";\n\nexport type Labels = {\n it?: string;\n};\n\nexport type IncomeBasedDeclarant = {\n code?: string;\n labels: Labels;\n};\n\ntype DeclarantsSelectProps = {\n size?: \"small\" | \"large\";\n items: IncomeBasedDeclarant[];\n className?: string;\n selectedItem: string | null;\n setSelectedItem: (item: string | null) => void;\n placeholder?: string;\n btnText?: string;\n};\n\nexport const DeclarantsSelect = ({\n size = \"large\",\n items = [],\n className,\n selectedItem,\n setSelectedItem,\n placeholder = \"\",\n}: DeclarantsSelectProps) => {\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((item) => {\n const fullName = `${item.labels?.it}`.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 setSelectedItem(null);\n setSearchTerm(\"\");\n };\n\n const displayValue = useMemo(() => {\n if (!isExpanded && selectedItem) {\n return items.find((item) => item.code === selectedItem)?.labels.it || \"\";\n }\n return searchTerm;\n }, [isExpanded, selectedItem, searchTerm]);\n\n const showCloseButton = selectedItem !== null || searchTerm.length > 0;\n\n const highlightMatch = (text: string, query: string) => {\n if (!query || query.trim() === \"\")\n return (\n <span style={{ color: \"black\", fontSize: \"0.85rem\" }}> {text} </span>\n );\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\", fontSize: \"0.85rem\" }}>\n {beforeMatch}\n <span style={{ fontSize: \"0.85rem\" }} className=\"text-primary fw-bold\">\n {match}\n </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 <ArrowDown width={40} height={40} />\n </div>\n </div>\n\n {isExpanded && (\n <div className=\"ui-related-dropdown-options\">\n <div className=\"px-x24 shadow w-full\">\n <Col\n gap={\"x4\"}\n text={\"primary\"}\n fs={\"custom\"}\n fw={\"regular\"}\n className={\"ui-options-list fw-regular\"}\n >\n {filteredItems.length > 0 ? (\n filteredItems.map((item, index) => {\n const fullName = `${item.labels?.it} `;\n return (\n <div\n className=\"ui-option-item\"\n key={item?.code || index}\n onClick={() => {\n setSelectedItem(item?.code || \"\");\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":["DeclarantsSelect","size","items","className","selectedItem","setSelectedItem","placeholder","isExpanded","setIsExpanded","useState","searchTerm","setSearchTerm","dropdownRef","useRef","inputRef","filteredItems","item","_a","useEffect","handleClickOutside","event","handleInputChange","handleInputClick","handleClearClick","displayValue","useMemo","showCloseButton","highlightMatch","text","query","jsxs","index","beforeMatch","match","afterMatch","jsx","clsx","Close","ArrowDown","Col","fullName"],"mappings":"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"}
1
+ {"version":3,"file":"index.es117.js","sources":["../src/components/ui/DeclarantsSelect/index.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { Col } from \"@/components\";\nimport \"./DeclarantsSelect.scss\";\nimport { ArrowDown, Close } from \"@/icons\";\n\nexport type Labels = {\n it?: string;\n};\n\nexport type IncomeBasedDeclarant = {\n code?: string;\n labels: Labels;\n};\n\ntype DeclarantsSelectProps = {\n size?: \"small\" | \"large\";\n items: IncomeBasedDeclarant[];\n className?: string;\n selectedItem: string | null;\n setSelectedItem: (item: string | null) => void;\n placeholder?: string;\n btnText?: string;\n};\n\nexport const DeclarantsSelect = ({\n size = \"large\",\n items = [],\n className,\n selectedItem,\n setSelectedItem,\n placeholder = \"\",\n}: DeclarantsSelectProps) => {\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((item) => {\n const fullName = `${item.labels?.it}`.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 setSelectedItem(null);\n setSearchTerm(\"\");\n };\n\n const displayValue = useMemo(() => {\n if (!isExpanded && selectedItem) {\n return items.find((item) => item.code === selectedItem)?.labels.it || \"\";\n }\n return searchTerm;\n }, [isExpanded, selectedItem, searchTerm]);\n\n const showCloseButton = selectedItem !== null || searchTerm.length > 0;\n\n const highlightMatch = (text: string, query: string) => {\n if (!query || query.trim() === \"\")\n return (\n <span style={{ color: \"black\", fontSize: \"0.85rem\" }}> {text} </span>\n );\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\", fontSize: \"0.85rem\" }}>\n {beforeMatch}\n <span style={{ fontSize: \"0.85rem\" }} className=\"text-primary fw-bold\">\n {match}\n </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 {!showCloseButton && (\n <div className=\"ui-div-btn\">\n <ArrowDown width={40} height={40} />\n </div>\n )}\n </div>\n\n {isExpanded && (\n <div className=\"ui-related-dropdown-options\">\n <div className=\"px-x24 shadow w-full\">\n <Col\n gap={\"x4\"}\n text={\"primary\"}\n fs={\"custom\"}\n fw={\"regular\"}\n className={\"ui-options-list fw-regular\"}\n >\n {filteredItems.length > 0 ? (\n filteredItems.map((item, index) => {\n const fullName = `${item.labels?.it} `;\n return (\n <div\n className=\"ui-option-item\"\n key={item?.code || index}\n onClick={() => {\n setSelectedItem(item?.code || \"\");\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":["DeclarantsSelect","size","items","className","selectedItem","setSelectedItem","placeholder","isExpanded","setIsExpanded","useState","searchTerm","setSearchTerm","dropdownRef","useRef","inputRef","filteredItems","item","_a","useEffect","handleClickOutside","event","handleInputChange","handleInputClick","handleClearClick","displayValue","useMemo","showCloseButton","highlightMatch","text","query","jsxs","index","beforeMatch","match","afterMatch","jsx","clsx","Close","ArrowDown","Col","fullName"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { __require as r } from "./index.es382.js";
1
+ import { __require as r } from "./index.es380.js";
2
2
  var a = r();
3
3
  export {
4
4
  a as l
@@ -1,5 +1,5 @@
1
- import { getDefaultExportFromCjs as r } from "./index.es383.js";
2
- import { __require as o } from "./index.es380.js";
1
+ import { getDefaultExportFromCjs as r } from "./index.es381.js";
2
+ import { __require as o } from "./index.es383.js";
3
3
  var e = o();
4
4
  const a = /* @__PURE__ */ r(e);
5
5
  export {
@@ -1,4 +1,4 @@
1
- import { useCopyToClipboard as s } from "./index.es399.js";
1
+ import { useCopyToClipboard as s } from "./index.es414.js";
2
2
  import { useState as i } from "react";
3
3
  const d = () => {
4
4
  const [e, t] = s(), [p, o] = i(!1);
@@ -1,5 +1,5 @@
1
1
  import { j as t } from "./index.es212.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.es212.js";
2
2
  import { clsx as r } from "./index.es214.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.es212.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.es212.js";
2
2
  import { clsx as m } from "./index.es214.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.es212.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 });
@@ -1,4 +1,4 @@
1
- import { __exports as e } from "./index.es400.js";
1
+ import { __exports as e } from "./index.es402.js";
2
2
  /**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.js
@@ -1,4 +1,4 @@
1
- import { __exports as _ } from "./index.es401.js";
1
+ import { __exports as _ } from "./index.es403.js";
2
2
  import we from "react";
3
3
  /**
4
4
  * @license React