odontogram-view 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,13 @@
1
- import de, { memo as L, useMemo as I, useCallback as _, useState as se } from "react";
2
- var Y = { exports: {} }, C = {};
1
+ import fe, { memo as L, useMemo as I, useCallback as _, useState as le } from "react";
2
+ const be = ".ov-pointer-events-none{pointer-events:none}.ov-m-0{margin:0}.ov-mx-auto{margin-left:auto;margin-right:auto}.ov-mb-3{margin-bottom:.75rem}.ov-mt-3{margin-top:.75rem}.ov-flex{display:flex}.ov-grid{display:grid}.ov-h-3{height:.75rem}.ov-h-\\[124px\\]{height:124px}.ov-h-\\[138px\\]{height:138px}.ov-h-\\[154px\\]{height:154px}.ov-min-h-screen{min-height:100vh}.ov-w-3{width:.75rem}.ov-w-\\[108px\\]{width:108px}.ov-w-\\[62px\\]{width:62px}.ov-w-\\[98px\\]{width:98px}.ov-w-full{width:100%}.ov-min-w-0{min-width:0px}.ov-min-w-\\[64px\\]{min-width:64px}.ov-min-w-\\[74px\\]{min-width:74px}.ov-min-w-\\[84px\\]{min-width:84px}.ov-min-w-max{min-width:-moz-max-content;min-width:max-content}.ov-max-w-3xl{max-width:48rem}.ov-max-w-7xl{max-width:80rem}.ov-max-w-full{max-width:100%}.ov-cursor-pointer{cursor:pointer}.ov-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ov-flex-col{flex-direction:column}.ov-flex-wrap{flex-wrap:wrap}.ov-items-center{align-items:center}.ov-justify-center{justify-content:center}.ov-justify-between{justify-content:space-between}.ov-gap-0\\.5{gap:.125rem}.ov-gap-2{gap:.5rem}.ov-gap-3{gap:.75rem}.ov-gap-4{gap:1rem}.ov-gap-5{gap:1.25rem}.ov-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.ov-overflow-hidden{overflow:hidden}.ov-overflow-x-auto{overflow-x:auto}.ov-overflow-x-hidden{overflow-x:hidden}.ov-overflow-y-hidden{overflow-y:hidden}.ov-rounded-2xl{border-radius:1rem}.ov-rounded-3xl{border-radius:1.5rem}.ov-rounded-\\[24px\\]{border-radius:24px}.ov-rounded-\\[28px\\]{border-radius:28px}.ov-rounded-full{border-radius:9999px}.ov-border{border-width:1px}.ov-border-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity, 1))}.ov-border-clinic-700{--tw-border-opacity: 1;border-color:rgb(46 91 105 / var(--tw-border-opacity, 1))}.ov-border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.ov-border-rose-100{--tw-border-opacity: 1;border-color:rgb(255 228 230 / var(--tw-border-opacity, 1))}.ov-border-sky-100{--tw-border-opacity: 1;border-color:rgb(224 242 254 / var(--tw-border-opacity, 1))}.ov-border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.ov-border-white\\/40{border-color:#fff6}.ov-border-white\\/80{border-color:#fffc}.ov-bg-clinic-50{--tw-bg-opacity: 1;background-color:rgb(246 251 252 / var(--tw-bg-opacity, 1))}.ov-bg-clinic-900{--tw-bg-opacity: 1;background-color:rgb(41 63 72 / var(--tw-bg-opacity, 1))}.ov-bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.ov-bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.ov-bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.ov-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ov-bg-white\\/80{background-color:#fffc}.ov-bg-white\\/85{background-color:#ffffffd9}.ov-bg-\\[linear-gradient\\(180deg\\,_\\#f7fbfc_0\\%\\,_\\#e2eef1_55\\%\\,_\\#d4e5ea_100\\%\\)\\]{background-image:linear-gradient(180deg,#f7fbfc,#e2eef1 55%,#d4e5ea)}.ov-bg-\\[radial-gradient\\(circle_at_top_left\\,_rgba\\(255\\,255\\,255\\,0\\.98\\)\\,_rgba\\(240\\,248\\,249\\,0\\.98\\)_40\\%\\,_rgba\\(229\\,239\\,241\\,1\\)_100\\%\\)\\]{background-image:radial-gradient(circle at top left,#fffffffa,#f0f8f9fa 40%,#e5eff1)}.ov-fill-slate-700{fill:#334155}.ov-p-3{padding:.75rem}.ov-p-4{padding:1rem}.ov-px-3{padding-left:.75rem;padding-right:.75rem}.ov-py-1{padding-top:.25rem;padding-bottom:.25rem}.ov-py-2{padding-top:.5rem;padding-bottom:.5rem}.ov-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.ov-pb-1{padding-bottom:.25rem}.ov-text-2xl{font-size:1.5rem;line-height:2rem}.ov-text-\\[10px\\]{font-size:10px}.ov-text-\\[11px\\]{font-size:11px}.ov-text-lg{font-size:1.125rem;line-height:1.75rem}.ov-text-sm{font-size:.875rem;line-height:1.25rem}.ov-text-xs{font-size:.75rem;line-height:1rem}.ov-font-medium{font-weight:500}.ov-font-semibold{font-weight:600}.ov-uppercase{text-transform:uppercase}.ov-leading-6{line-height:1.5rem}.ov-tracking-\\[0\\.22em\\]{letter-spacing:.22em}.ov-tracking-\\[0\\.3em\\]{letter-spacing:.3em}.ov-text-clinic-600{--tw-text-opacity: 1;color:rgb(51 111 128 / var(--tw-text-opacity, 1))}.ov-text-clinic-700{--tw-text-opacity: 1;color:rgb(46 91 105 / var(--tw-text-opacity, 1))}.ov-text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.ov-text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.ov-text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.ov-text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.ov-text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.ov-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ov-shadow-panel{--tw-shadow: 0 16px 40px rgba(22, 56, 68, .14);--tw-shadow-colored: 0 16px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ov-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ov-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ov-odontogram,.ov-odontogram *{box-sizing:border-box}.ov-odontogram{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif}.ov-odontogram button,.ov-odontogram svg,.ov-odontogram polygon,.ov-odontogram text{-webkit-tap-highlight-color:transparent}.hover\\:ov-border-clinic-400:hover{--tw-border-opacity: 1;border-color:rgb(99 175 188 / var(--tw-border-opacity, 1))}.hover\\:ov-bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\\:ov-text-clinic-700:hover{--tw-text-opacity: 1;color:rgb(46 91 105 / var(--tw-text-opacity, 1))}.hover\\:ov-opacity-85:hover{opacity:.85}@media(min-width:640px){.sm\\:ov-w-auto{width:auto}.sm\\:ov-flex-row{flex-direction:row}.sm\\:ov-items-center{align-items:center}.sm\\:ov-justify-between{justify-content:space-between}.sm\\:ov-gap-6{gap:1.5rem}.sm\\:ov-rounded-\\[28px\\]{border-radius:28px}.sm\\:ov-rounded-\\[32px\\]{border-radius:32px}.sm\\:ov-p-4{padding:1rem}.sm\\:ov-p-5{padding:1.25rem}.sm\\:ov-p-6{padding:1.5rem}.sm\\:ov-px-4{padding-left:1rem;padding-right:1rem}.sm\\:ov-py-8{padding-top:2rem;padding-bottom:2rem}.sm\\:ov-text-3xl{font-size:1.875rem;line-height:2.25rem}}@media(min-width:768px){.md\\:ov-p-6{padding:1.5rem}.md\\:ov-px-8{padding-left:2rem;padding-right:2rem}.md\\:ov-text-4xl{font-size:2.25rem;line-height:2.5rem}.md\\:ov-text-base{font-size:1rem;line-height:1.5rem}}@media(min-width:1024px){.lg\\:ov-grid-cols-\\[1\\.25fr_0\\.75fr\\]{grid-template-columns:1.25fr .75fr}}";
3
+ let ie = !1;
4
+ function xe(t) {
5
+ if (ie || typeof document > "u")
6
+ return;
7
+ const o = document.createElement("style");
8
+ o.setAttribute("data-odontogram-view", "true"), o.textContent = t, document.head.appendChild(o), ie = !0;
9
+ }
10
+ var z = { exports: {} }, C = {};
3
11
  /**
4
12
  * @license React
5
13
  * react-jsx-runtime.production.js
@@ -9,27 +17,27 @@ var Y = { exports: {} }, C = {};
9
17
  * This source code is licensed under the MIT license found in the
10
18
  * LICENSE file in the root directory of this source tree.
11
19
  */
12
- var le;
13
- function me() {
14
- if (le) return C;
15
- le = 1;
16
- var t = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment");
17
- function n(o, a, l) {
18
- var u = null;
19
- if (l !== void 0 && (u = "" + l), a.key !== void 0 && (u = "" + a.key), "key" in a) {
20
- l = {};
21
- for (var v in a)
22
- v !== "key" && (l[v] = a[v]);
23
- } else l = a;
24
- return a = l.ref, {
20
+ var se;
21
+ function he() {
22
+ if (se) return C;
23
+ se = 1;
24
+ var t = Symbol.for("react.transitional.element"), o = Symbol.for("react.fragment");
25
+ function a(r, n, i) {
26
+ var p = null;
27
+ if (i !== void 0 && (p = "" + i), n.key !== void 0 && (p = "" + n.key), "key" in n) {
28
+ i = {};
29
+ for (var v in n)
30
+ v !== "key" && (i[v] = n[v]);
31
+ } else i = n;
32
+ return n = i.ref, {
25
33
  $$typeof: t,
26
- type: o,
27
- key: u,
28
- ref: a !== void 0 ? a : null,
29
- props: l
34
+ type: r,
35
+ key: p,
36
+ ref: n !== void 0 ? n : null,
37
+ props: i
30
38
  };
31
39
  }
32
- return C.Fragment = r, C.jsx = n, C.jsxs = n, C;
40
+ return C.Fragment = o, C.jsx = a, C.jsxs = a, C;
33
41
  }
34
42
  var P = {};
35
43
  /**
@@ -42,7 +50,7 @@ var P = {};
42
50
  * LICENSE file in the root directory of this source tree.
43
51
  */
44
52
  var ce;
45
- function be() {
53
+ function ge() {
46
54
  return ce || (ce = 1, process.env.NODE_ENV !== "production" && (function() {
47
55
  function t(e) {
48
56
  if (e == null) return null;
@@ -52,11 +60,11 @@ function be() {
52
60
  switch (e) {
53
61
  case h:
54
62
  return "Fragment";
55
- case y:
63
+ case w:
56
64
  return "Profiler";
57
65
  case O:
58
66
  return "StrictMode";
59
- case z:
67
+ case V:
60
68
  return "Suspense";
61
69
  case G:
62
70
  return "SuspenseList";
@@ -67,100 +75,100 @@ function be() {
67
75
  switch (typeof e.tag == "number" && console.error(
68
76
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
69
77
  ), e.$$typeof) {
70
- case S:
78
+ case A:
71
79
  return "Portal";
72
- case k:
80
+ case T:
73
81
  return e.displayName || "Context";
74
- case d:
82
+ case m:
75
83
  return (e._context.displayName || "Context") + ".Consumer";
76
- case g:
77
- var s = e.render;
78
- return e = e.displayName, e || (e = s.displayName || s.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
84
+ case R:
85
+ var l = e.render;
86
+ return e = e.displayName, e || (e = l.displayName || l.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
79
87
  case B:
80
- return s = e.displayName || null, s !== null ? s : t(e.type) || "Memo";
81
- case p:
82
- s = e._payload, e = e._init;
88
+ return l = e.displayName || null, l !== null ? l : t(e.type) || "Memo";
89
+ case d:
90
+ l = e._payload, e = e._init;
83
91
  try {
84
- return t(e(s));
92
+ return t(e(l));
85
93
  } catch {
86
94
  }
87
95
  }
88
96
  return null;
89
97
  }
90
- function r(e) {
98
+ function o(e) {
91
99
  return "" + e;
92
100
  }
93
- function n(e) {
101
+ function a(e) {
94
102
  try {
95
- r(e);
96
- var s = !1;
103
+ o(e);
104
+ var l = !1;
97
105
  } catch {
98
- s = !0;
106
+ l = !0;
99
107
  }
100
- if (s) {
101
- s = console;
102
- var f = s.error, m = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
103
- return f.call(
104
- s,
108
+ if (l) {
109
+ l = console;
110
+ var u = l.error, f = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
111
+ return u.call(
112
+ l,
105
113
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
106
- m
107
- ), r(e);
114
+ f
115
+ ), o(e);
108
116
  }
109
117
  }
110
- function o(e) {
118
+ function r(e) {
111
119
  if (e === h) return "<>";
112
- if (typeof e == "object" && e !== null && e.$$typeof === p)
120
+ if (typeof e == "object" && e !== null && e.$$typeof === d)
113
121
  return "<...>";
114
122
  try {
115
- var s = t(e);
116
- return s ? "<" + s + ">" : "<...>";
123
+ var l = t(e);
124
+ return l ? "<" + l + ">" : "<...>";
117
125
  } catch {
118
126
  return "<...>";
119
127
  }
120
128
  }
121
- function a() {
129
+ function n() {
122
130
  var e = J.A;
123
131
  return e === null ? null : e.getOwner();
124
132
  }
125
- function l() {
133
+ function i() {
126
134
  return Error("react-stack-top-frame");
127
135
  }
128
- function u(e) {
136
+ function p(e) {
129
137
  if (ee.call(e, "key")) {
130
- var s = Object.getOwnPropertyDescriptor(e, "key").get;
131
- if (s && s.isReactWarning) return !1;
138
+ var l = Object.getOwnPropertyDescriptor(e, "key").get;
139
+ if (l && l.isReactWarning) return !1;
132
140
  }
133
141
  return e.key !== void 0;
134
142
  }
135
- function v(e, s) {
136
- function f() {
137
- re || (re = !0, console.error(
143
+ function v(e, l) {
144
+ function u() {
145
+ oe || (oe = !0, console.error(
138
146
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
139
- s
147
+ l
140
148
  ));
141
149
  }
142
- f.isReactWarning = !0, Object.defineProperty(e, "key", {
143
- get: f,
150
+ u.isReactWarning = !0, Object.defineProperty(e, "key", {
151
+ get: u,
144
152
  configurable: !0
145
153
  });
146
154
  }
147
- function Q() {
155
+ function g() {
148
156
  var e = t(this.type);
149
157
  return te[e] || (te[e] = !0, console.error(
150
158
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
151
159
  )), e = this.props.ref, e !== void 0 ? e : null;
152
160
  }
153
- function w(e, s, f, m, D, H) {
154
- var b = f.ref;
161
+ function y(e, l, u, f, D, H) {
162
+ var b = u.ref;
155
163
  return e = {
156
164
  $$typeof: M,
157
165
  type: e,
158
- key: s,
159
- props: f,
160
- _owner: m
166
+ key: l,
167
+ props: u,
168
+ _owner: f
161
169
  }, (b !== void 0 ? b : null) !== null ? Object.defineProperty(e, "ref", {
162
170
  enumerable: !1,
163
- get: Q
171
+ get: g
164
172
  }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
165
173
  configurable: !1,
166
174
  enumerable: !1,
@@ -183,101 +191,101 @@ function be() {
183
191
  value: H
184
192
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
185
193
  }
186
- function x(e, s, f, m, D, H) {
187
- var b = s.children;
194
+ function x(e, l, u, f, D, H) {
195
+ var b = l.children;
188
196
  if (b !== void 0)
189
- if (m)
190
- if (fe(b)) {
191
- for (m = 0; m < b.length; m++)
192
- E(b[m]);
197
+ if (f)
198
+ if (ve(b)) {
199
+ for (f = 0; f < b.length; f++)
200
+ Q(b[f]);
193
201
  Object.freeze && Object.freeze(b);
194
202
  } else
195
203
  console.error(
196
204
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
197
205
  );
198
- else E(b);
199
- if (ee.call(s, "key")) {
206
+ else Q(b);
207
+ if (ee.call(l, "key")) {
200
208
  b = t(e);
201
- var A = Object.keys(s).filter(function(ve) {
202
- return ve !== "key";
209
+ var S = Object.keys(l).filter(function(me) {
210
+ return me !== "key";
203
211
  });
204
- m = 0 < A.length ? "{key: someKey, " + A.join(": ..., ") + ": ...}" : "{key: someKey}", ae[b + m] || (A = 0 < A.length ? "{" + A.join(": ..., ") + ": ...}" : "{}", console.error(
212
+ f = 0 < S.length ? "{key: someKey, " + S.join(": ..., ") + ": ...}" : "{key: someKey}", ne[b + f] || (S = 0 < S.length ? "{" + S.join(": ..., ") + ": ...}" : "{}", console.error(
205
213
  `A props object containing a "key" prop is being spread into JSX:
206
214
  let props = %s;
207
215
  <%s {...props} />
208
216
  React keys must be passed directly to JSX without using spread:
209
217
  let props = %s;
210
218
  <%s key={someKey} {...props} />`,
211
- m,
219
+ f,
212
220
  b,
213
- A,
221
+ S,
214
222
  b
215
- ), ae[b + m] = !0);
223
+ ), ne[b + f] = !0);
216
224
  }
217
- if (b = null, f !== void 0 && (n(f), b = "" + f), u(s) && (n(s.key), b = "" + s.key), "key" in s) {
218
- f = {};
219
- for (var Z in s)
220
- Z !== "key" && (f[Z] = s[Z]);
221
- } else f = s;
225
+ if (b = null, u !== void 0 && (a(u), b = "" + u), p(l) && (a(l.key), b = "" + l.key), "key" in l) {
226
+ u = {};
227
+ for (var Z in l)
228
+ Z !== "key" && (u[Z] = l[Z]);
229
+ } else u = l;
222
230
  return b && v(
223
- f,
231
+ u,
224
232
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
225
- ), w(
233
+ ), y(
226
234
  e,
227
235
  b,
228
- f,
229
- a(),
236
+ u,
237
+ n(),
230
238
  D,
231
239
  H
232
240
  );
233
241
  }
234
- function E(e) {
235
- T(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === p && (e._payload.status === "fulfilled" ? T(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
242
+ function Q(e) {
243
+ k(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === d && (e._payload.status === "fulfilled" ? k(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
236
244
  }
237
- function T(e) {
245
+ function k(e) {
238
246
  return typeof e == "object" && e !== null && e.$$typeof === M;
239
247
  }
240
- var R = de, M = Symbol.for("react.transitional.element"), S = Symbol.for("react.portal"), h = Symbol.for("react.fragment"), O = Symbol.for("react.strict_mode"), y = Symbol.for("react.profiler"), d = Symbol.for("react.consumer"), k = Symbol.for("react.context"), g = Symbol.for("react.forward_ref"), z = Symbol.for("react.suspense"), G = Symbol.for("react.suspense_list"), B = Symbol.for("react.memo"), p = Symbol.for("react.lazy"), N = Symbol.for("react.activity"), q = Symbol.for("react.client.reference"), J = R.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ee = Object.prototype.hasOwnProperty, fe = Array.isArray, X = console.createTask ? console.createTask : function() {
248
+ var E = fe, M = Symbol.for("react.transitional.element"), A = Symbol.for("react.portal"), h = Symbol.for("react.fragment"), O = Symbol.for("react.strict_mode"), w = Symbol.for("react.profiler"), m = Symbol.for("react.consumer"), T = Symbol.for("react.context"), R = Symbol.for("react.forward_ref"), V = Symbol.for("react.suspense"), G = Symbol.for("react.suspense_list"), B = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), N = Symbol.for("react.activity"), q = Symbol.for("react.client.reference"), J = E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ee = Object.prototype.hasOwnProperty, ve = Array.isArray, X = console.createTask ? console.createTask : function() {
241
249
  return null;
242
250
  };
243
- R = {
251
+ E = {
244
252
  react_stack_bottom_frame: function(e) {
245
253
  return e();
246
254
  }
247
255
  };
248
- var re, te = {}, oe = R.react_stack_bottom_frame.bind(
249
- R,
250
- l
251
- )(), ne = X(o(l)), ae = {};
252
- P.Fragment = h, P.jsx = function(e, s, f) {
253
- var m = 1e4 > J.recentlyCreatedOwnerStacks++;
256
+ var oe, te = {}, re = E.react_stack_bottom_frame.bind(
257
+ E,
258
+ i
259
+ )(), ae = X(r(i)), ne = {};
260
+ P.Fragment = h, P.jsx = function(e, l, u) {
261
+ var f = 1e4 > J.recentlyCreatedOwnerStacks++;
254
262
  return x(
255
263
  e,
256
- s,
257
- f,
264
+ l,
265
+ u,
258
266
  !1,
259
- m ? Error("react-stack-top-frame") : oe,
260
- m ? X(o(e)) : ne
267
+ f ? Error("react-stack-top-frame") : re,
268
+ f ? X(r(e)) : ae
261
269
  );
262
- }, P.jsxs = function(e, s, f) {
263
- var m = 1e4 > J.recentlyCreatedOwnerStacks++;
270
+ }, P.jsxs = function(e, l, u) {
271
+ var f = 1e4 > J.recentlyCreatedOwnerStacks++;
264
272
  return x(
265
273
  e,
266
- s,
267
- f,
274
+ l,
275
+ u,
268
276
  !0,
269
- m ? Error("react-stack-top-frame") : oe,
270
- m ? X(o(e)) : ne
277
+ f ? Error("react-stack-top-frame") : re,
278
+ f ? X(r(e)) : ae
271
279
  );
272
280
  };
273
281
  })()), P;
274
282
  }
275
- var ie;
276
- function xe() {
277
- return ie || (ie = 1, process.env.NODE_ENV === "production" ? Y.exports = me() : Y.exports = be()), Y.exports;
283
+ var pe;
284
+ function we() {
285
+ return pe || (pe = 1, process.env.NODE_ENV === "production" ? z.exports = he() : z.exports = ge()), z.exports;
278
286
  }
279
- var i = xe();
280
- const he = {
287
+ var c = we();
288
+ const ye = {
281
289
  1: "incisor",
282
290
  2: "incisor",
283
291
  3: "canine",
@@ -292,7 +300,7 @@ const he = {
292
300
  3: "canine",
293
301
  4: "molar",
294
302
  5: "molar"
295
- }, ye = {
303
+ }, _e = {
296
304
  11: 1,
297
305
  12: 1,
298
306
  13: 1,
@@ -345,76 +353,76 @@ const he = {
345
353
  83: 1,
346
354
  84: 2,
347
355
  85: 2
348
- }, we = (t, r, n) => {
349
- const o = ye[t] ?? 1;
350
- return r === "incisor" ? {
356
+ }, ke = (t, o, a) => {
357
+ const r = _e[t] ?? 1;
358
+ return o === "incisor" ? {
351
359
  centerLabel: "I",
352
- roots: o,
360
+ roots: r,
353
361
  surfaces: 5,
354
362
  crownWidth: 32,
355
363
  crownHeight: 42,
356
364
  rootStyle: "single"
357
- } : r === "canine" ? {
365
+ } : o === "canine" ? {
358
366
  centerLabel: "I",
359
- roots: o,
367
+ roots: r,
360
368
  surfaces: 5,
361
369
  crownWidth: 36,
362
370
  crownHeight: 44,
363
371
  rootStyle: "singleLong"
364
- } : r === "premolar" ? {
372
+ } : o === "premolar" ? {
365
373
  centerLabel: "O",
366
- roots: o,
374
+ roots: r,
367
375
  surfaces: 5,
368
376
  crownWidth: 42,
369
377
  crownHeight: 42,
370
- rootStyle: o === 2 ? "double" : "single"
378
+ rootStyle: r === 2 ? "double" : "single"
371
379
  } : {
372
380
  centerLabel: "O",
373
- roots: o,
381
+ roots: r,
374
382
  surfaces: 5,
375
383
  crownWidth: 48,
376
384
  crownHeight: 42,
377
- rootStyle: o === 3 || n === "upper" ? "triple" : "double"
385
+ rootStyle: r === 3 || a === "upper" ? "triple" : "double"
378
386
  };
379
- }, j = (t, r, n, o) => {
380
- const a = o === "permanent" ? he : Qe;
381
- return r.map((l) => {
382
- const u = a[l], v = `${t}${l}`;
387
+ }, j = (t, o, a, r) => {
388
+ const n = r === "permanent" ? ye : Qe;
389
+ return o.map((i) => {
390
+ const p = n[i], v = `${t}${i}`;
383
391
  return {
384
392
  id: v,
385
- type: u,
386
- arch: n,
387
- dentition: o,
393
+ type: p,
394
+ arch: a,
395
+ dentition: r,
388
396
  label: v,
389
- visual: we(v, u, n)
397
+ visual: ke(v, p, a)
390
398
  };
391
399
  });
392
- }, Ee = j(1, [8, 7, 6, 5, 4, 3, 2, 1], "upper", "permanent"), _e = j(2, [1, 2, 3, 4, 5, 6, 7, 8], "upper", "permanent"), Te = j(4, [8, 7, 6, 5, 4, 3, 2, 1], "lower", "permanent"), Re = j(3, [1, 2, 3, 4, 5, 6, 7, 8], "lower", "permanent"), ke = j(5, [5, 4, 3, 2, 1], "upper", "primary"), ge = j(6, [1, 2, 3, 4, 5], "upper", "primary"), je = j(8, [5, 4, 3, 2, 1], "lower", "primary"), Oe = j(7, [1, 2, 3, 4, 5], "lower", "primary"), $ = {
393
- upper: [...Ee, ..._e],
394
- lower: [...Te, ...Re]
395
- }, F = {
396
- upper: [...ke, ...ge],
397
- lower: [...je, ...Oe]
398
- }, Ne = [
400
+ }, Ee = j(1, [8, 7, 6, 5, 4, 3, 2, 1], "upper", "permanent"), Te = j(2, [1, 2, 3, 4, 5, 6, 7, 8], "upper", "permanent"), Re = j(4, [8, 7, 6, 5, 4, 3, 2, 1], "lower", "permanent"), je = j(3, [1, 2, 3, 4, 5, 6, 7, 8], "lower", "permanent"), Oe = j(5, [5, 4, 3, 2, 1], "upper", "primary"), Ne = j(6, [1, 2, 3, 4, 5], "upper", "primary"), Me = j(8, [5, 4, 3, 2, 1], "lower", "primary"), Se = j(7, [1, 2, 3, 4, 5], "lower", "primary"), Y = {
401
+ upper: [...Ee, ...Te],
402
+ lower: [...Re, ...je]
403
+ }, $ = {
404
+ upper: [...Oe, ...Ne],
405
+ lower: [...Me, ...Se]
406
+ }, Ae = [
399
407
  {
400
408
  id: "upper-permanent",
401
409
  label: "Superior permanente",
402
- teeth: $.upper
410
+ teeth: Y.upper
403
411
  },
404
412
  {
405
413
  id: "upper-primary",
406
414
  label: "Superior temporal",
407
- teeth: F.upper
415
+ teeth: $.upper
408
416
  },
409
417
  {
410
418
  id: "lower-primary",
411
419
  label: "Inferior temporal",
412
- teeth: F.lower
420
+ teeth: $.lower
413
421
  },
414
422
  {
415
423
  id: "lower-permanent",
416
424
  label: "Inferior permanente",
417
- teeth: $.lower
425
+ teeth: Y.lower
418
426
  }
419
427
  ], K = [
420
428
  { id: "CARIES", label: "Caries", color: "#ef4444", scope: "both" },
@@ -426,150 +434,150 @@ const he = {
426
434
  { id: "ENDO", label: "Endodoncia", color: "#0f172a", scope: "both" },
427
435
  { id: "MISSING", label: "Ausente", color: "#64748b", scope: "both" },
428
436
  { id: "SEALANT", label: "Sellante", color: "#14b8a6", scope: "both" }
429
- ], Me = new Map(
437
+ ], Ce = new Map(
430
438
  K.map((t) => [t.id, t])
431
- ), W = (t = []) => Array.from(new Set(t)), U = (t) => [...t].sort((r, n) => r.localeCompare(n)), ue = (t = []) => {
432
- const r = {};
433
- return t.forEach((n) => {
434
- r[n.tooth] = {
435
- tooth: n.tooth,
436
- conditions: n.conditions ? U(W(n.conditions)) : void 0,
437
- surfaces: n.surfaces ? Object.fromEntries(
438
- Object.entries(n.surfaces).map(([o, a]) => [
439
- o,
440
- a != null && a.length ? U(W(a)) : void 0
441
- ]).filter(([, o]) => !!(o != null && o.length))
439
+ ), F = (t = []) => Array.from(new Set(t)), W = (t) => [...t].sort((o, a) => o.localeCompare(a)), de = (t = []) => {
440
+ const o = {};
441
+ return t.forEach((a) => {
442
+ o[a.tooth] = {
443
+ tooth: a.tooth,
444
+ conditions: a.conditions ? W(F(a.conditions)) : void 0,
445
+ surfaces: a.surfaces ? Object.fromEntries(
446
+ Object.entries(a.surfaces).map(([r, n]) => [
447
+ r,
448
+ n != null && n.length ? W(F(n)) : void 0
449
+ ]).filter(([, r]) => !!(r != null && r.length))
442
450
  ) : void 0
443
451
  };
444
- }), r;
445
- }, Ae = (t) => Object.values(t).filter(Boolean).map((r) => {
446
- var o;
447
- const n = { tooth: r.tooth };
448
- return (o = r == null ? void 0 : r.conditions) != null && o.length && (n.conditions = r.conditions), r != null && r.surfaces && Object.keys(r.surfaces).length > 0 && (n.surfaces = r.surfaces), n;
449
- }).filter((r) => {
450
- var n;
451
- return ((n = r.conditions) == null ? void 0 : n.length) || Object.keys(r.surfaces ?? {}).length;
452
- }).sort((r, n) => r.tooth.localeCompare(n.tooth)), V = (t) => {
452
+ }), o;
453
+ }, Pe = (t) => Object.values(t).filter(Boolean).map((o) => {
454
+ var r;
455
+ const a = { tooth: o.tooth };
456
+ return (r = o == null ? void 0 : o.conditions) != null && r.length && (a.conditions = o.conditions), o != null && o.surfaces && Object.keys(o.surfaces).length > 0 && (a.surfaces = o.surfaces), a;
457
+ }).filter((o) => {
453
458
  var a;
454
- const r = t.surfaces ? Object.fromEntries(
455
- Object.entries(t.surfaces).filter(([, l]) => !!(l != null && l.length))
456
- ) : void 0, n = !!((a = t.conditions) != null && a.length), o = !!(r && Object.keys(r).length > 0);
457
- if (!(!n && !o))
459
+ return ((a = o.conditions) == null ? void 0 : a.length) || Object.keys(o.surfaces ?? {}).length;
460
+ }).sort((o, a) => o.tooth.localeCompare(a.tooth)), U = (t) => {
461
+ var n;
462
+ const o = t.surfaces ? Object.fromEntries(
463
+ Object.entries(t.surfaces).filter(([, i]) => !!(i != null && i.length))
464
+ ) : void 0, a = !!((n = t.conditions) != null && n.length), r = !!(o && Object.keys(o).length > 0);
465
+ if (!(!a && !r))
458
466
  return {
459
467
  tooth: t.tooth,
460
- conditions: n ? t.conditions : void 0,
461
- surfaces: o ? r : void 0
468
+ conditions: a ? t.conditions : void 0,
469
+ surfaces: r ? o : void 0
462
470
  };
463
- }, Se = (t, r, n, o) => {
464
- var Q;
465
- if (!Me.get(o))
471
+ }, Ie = (t, o, a, r) => {
472
+ var g;
473
+ if (!Ce.get(r))
466
474
  return t;
467
- const l = t[r] ?? {}, u = ((Q = l.surfaces) == null ? void 0 : Q[n]) ?? [], v = {
468
- tooth: r,
469
- conditions: l.conditions,
475
+ const i = t[o] ?? {}, p = ((g = i.surfaces) == null ? void 0 : g[a]) ?? [], v = {
476
+ tooth: o,
477
+ conditions: i.conditions,
470
478
  surfaces: {
471
- ...l.surfaces ?? {},
472
- [n]: U(W([...u, o]))
479
+ ...i.surfaces ?? {},
480
+ [a]: W(F([...p, r]))
473
481
  }
474
482
  };
475
483
  return {
476
484
  ...t,
477
- [r]: V(v)
485
+ [o]: U(v)
478
486
  };
479
- }, Ce = (t, r, n) => {
480
- const o = t[r] ?? {}, a = {
481
- tooth: r,
482
- surfaces: o.surfaces,
483
- conditions: U(W([...o.conditions ?? [], n]))
487
+ }, Le = (t, o, a) => {
488
+ const r = t[o] ?? {}, n = {
489
+ tooth: o,
490
+ surfaces: r.surfaces,
491
+ conditions: W(F([...r.conditions ?? [], a]))
484
492
  };
485
493
  return {
486
494
  ...t,
487
- [r]: V(a)
495
+ [o]: U(n)
488
496
  };
489
- }, Pe = (t, r, n) => {
490
- var l, u;
491
- const o = t[r];
492
- if (!((u = (l = o == null ? void 0 : o.surfaces) == null ? void 0 : l[n]) != null && u.length))
497
+ }, De = (t, o, a) => {
498
+ var i, p;
499
+ const r = t[o];
500
+ if (!((p = (i = r == null ? void 0 : r.surfaces) == null ? void 0 : i[a]) != null && p.length))
493
501
  return t;
494
- const a = { ...o.surfaces ?? {} };
495
- return delete a[n], {
502
+ const n = { ...r.surfaces ?? {} };
503
+ return delete n[a], {
496
504
  ...t,
497
- [r]: V({
498
- tooth: r,
499
- conditions: o.conditions,
500
- surfaces: a
505
+ [o]: U({
506
+ tooth: o,
507
+ conditions: r.conditions,
508
+ surfaces: n
501
509
  })
502
510
  };
503
- }, Ie = (t, r) => {
504
- if (!t[r])
511
+ }, ze = (t, o) => {
512
+ if (!t[o])
505
513
  return t;
506
- const o = V({
507
- tooth: r,
514
+ const r = U({
515
+ tooth: o,
508
516
  conditions: void 0,
509
517
  surfaces: void 0
510
518
  });
511
- if (!o) {
512
- const a = { ...t };
513
- return delete a[r], a;
519
+ if (!r) {
520
+ const n = { ...t };
521
+ return delete n[o], n;
514
522
  }
515
523
  return {
516
524
  ...t,
517
- [r]: o
525
+ [o]: r
518
526
  };
519
- }, pe = (t) => {
520
- var r;
521
- return ((r = K.find((n) => n.id === t)) == null ? void 0 : r.color) ?? "#dbe4ea";
522
- }, Le = L(function({
523
- surface: r,
524
- label: n,
525
- path: o,
526
- textX: a,
527
- textY: l,
528
- condition: u,
527
+ }, ue = (t) => {
528
+ var o;
529
+ return ((o = K.find((a) => a.id === t)) == null ? void 0 : o.color) ?? "#dbe4ea";
530
+ }, Ye = L(function({
531
+ surface: o,
532
+ label: a,
533
+ path: r,
534
+ textX: n,
535
+ textY: i,
536
+ condition: p,
529
537
  onApply: v,
530
- onClear: Q,
531
- disabled: w
538
+ onClear: g,
539
+ disabled: y
532
540
  }) {
533
- return /* @__PURE__ */ i.jsxs("g", { children: [
534
- /* @__PURE__ */ i.jsx(
541
+ return /* @__PURE__ */ c.jsxs("g", { children: [
542
+ /* @__PURE__ */ c.jsx(
535
543
  "path",
536
544
  {
537
- d: o,
538
- fill: pe(u),
545
+ d: r,
546
+ fill: ue(p),
539
547
  stroke: "#1f2937",
540
548
  strokeWidth: 1.4,
541
549
  strokeLinejoin: "round",
542
- className: w ? "" : "ov-cursor-pointer ov-transition-opacity hover:ov-opacity-85",
543
- onClick: w ? void 0 : () => v(r),
544
- onContextMenu: w ? void 0 : (x) => {
545
- x.preventDefault(), Q(r);
550
+ className: y ? "" : "ov-cursor-pointer ov-transition-opacity hover:ov-opacity-85",
551
+ onClick: y ? void 0 : () => v(o),
552
+ onContextMenu: y ? void 0 : (x) => {
553
+ x.preventDefault(), g(o);
546
554
  }
547
555
  }
548
556
  ),
549
- /* @__PURE__ */ i.jsx(
557
+ /* @__PURE__ */ c.jsx(
550
558
  "text",
551
559
  {
552
- x: a,
553
- y: l,
560
+ x: n,
561
+ y: i,
554
562
  textAnchor: "middle",
555
563
  className: "ov-pointer-events-none ov-select-none ov-fill-slate-700 ov-text-[10px] ov-font-semibold",
556
- children: n
564
+ children: a
557
565
  }
558
566
  )
559
567
  ] });
560
- }), c = (...t) => `${t.join(" ")} Z`, De = (t) => {
561
- const r = c(
568
+ }), s = (...t) => `${t.join(" ")} Z`, $e = (t) => {
569
+ const o = s(
562
570
  "M 21 20",
563
571
  "Q 31 13 41 20",
564
572
  "Q 47 27 45 38",
565
573
  "Q 43 50 31 55",
566
574
  "Q 19 50 17 38",
567
575
  "Q 15 27 21 20"
568
- ), n = [
576
+ ), a = [
569
577
  {
570
578
  key: "V",
571
579
  label: "V",
572
- path: c(
580
+ path: s(
573
581
  "M 21 20",
574
582
  "Q 31 14 41 20",
575
583
  "Q 39 26 36 30",
@@ -581,7 +589,7 @@ const he = {
581
589
  {
582
590
  key: "M",
583
591
  label: "M",
584
- path: c(
592
+ path: s(
585
593
  "M 17 38",
586
594
  "Q 17 28 21 20",
587
595
  "Q 23 26 26 30",
@@ -593,7 +601,7 @@ const he = {
593
601
  {
594
602
  key: t,
595
603
  label: t,
596
- path: c(
604
+ path: s(
597
605
  "M 26 30",
598
606
  "Q 31 26 36 30",
599
607
  "Q 39 38 36 46",
@@ -605,7 +613,7 @@ const he = {
605
613
  {
606
614
  key: "D",
607
615
  label: "D",
608
- path: c(
616
+ path: s(
609
617
  "M 45 38",
610
618
  "Q 45 28 41 20",
611
619
  "Q 39 26 36 30",
@@ -617,7 +625,7 @@ const he = {
617
625
  {
618
626
  key: "L",
619
627
  label: "L",
620
- path: c(
628
+ path: s(
621
629
  "M 24 45",
622
630
  "Q 31 54 38 45",
623
631
  "Q 42 47 45 38",
@@ -629,10 +637,10 @@ const he = {
629
637
  }
630
638
  ];
631
639
  return {
632
- crownOutline: r,
633
- crownCap: r,
640
+ crownOutline: o,
641
+ crownCap: o,
634
642
  rootPaths: [
635
- c(
643
+ s(
636
644
  "M 27 54",
637
645
  "Q 31 58 35 54",
638
646
  "Q 38 65 36 84",
@@ -641,21 +649,21 @@ const he = {
641
649
  "Q 24 65 27 54"
642
650
  )
643
651
  ],
644
- surfaces: n
652
+ surfaces: a
645
653
  };
646
- }, Ye = () => {
647
- const t = c(
654
+ }, Fe = () => {
655
+ const t = s(
648
656
  "M 24 23",
649
657
  "Q 31 12 38 23",
650
658
  "Q 44 31 42 41",
651
659
  "Q 40 52 31 58",
652
660
  "Q 22 52 20 41",
653
661
  "Q 18 31 24 23"
654
- ), r = [
662
+ ), o = [
655
663
  {
656
664
  key: "V",
657
665
  label: "V",
658
- path: c(
666
+ path: s(
659
667
  "M 24 23",
660
668
  "Q 31 13 38 23",
661
669
  "Q 36 29 35 31",
@@ -667,7 +675,7 @@ const he = {
667
675
  {
668
676
  key: "M",
669
677
  label: "M",
670
- path: c(
678
+ path: s(
671
679
  "M 20 41",
672
680
  "Q 20 31 24 23",
673
681
  "Q 26 29 27 31",
@@ -679,7 +687,7 @@ const he = {
679
687
  {
680
688
  key: "I",
681
689
  label: "I",
682
- path: c(
690
+ path: s(
683
691
  "M 27 31",
684
692
  "Q 31 28 35 31",
685
693
  "Q 37 40 35 48",
@@ -691,7 +699,7 @@ const he = {
691
699
  {
692
700
  key: "D",
693
701
  label: "D",
694
- path: c(
702
+ path: s(
695
703
  "M 42 41",
696
704
  "Q 42 31 38 23",
697
705
  "Q 36 29 35 31",
@@ -703,7 +711,7 @@ const he = {
703
711
  {
704
712
  key: "L",
705
713
  label: "L",
706
- path: c(
714
+ path: s(
707
715
  "M 25 47",
708
716
  "Q 31 56 37 47",
709
717
  "Q 40 49 42 41",
@@ -718,7 +726,7 @@ const he = {
718
726
  crownOutline: t,
719
727
  crownCap: t,
720
728
  rootPaths: [
721
- c(
729
+ s(
722
730
  "M 27 58",
723
731
  "Q 31 62 35 58",
724
732
  "Q 39 73 37 92",
@@ -727,21 +735,21 @@ const he = {
727
735
  "Q 23 73 27 58"
728
736
  )
729
737
  ],
730
- surfaces: r
738
+ surfaces: o
731
739
  };
732
- }, $e = () => {
733
- const t = c(
740
+ }, We = () => {
741
+ const t = s(
734
742
  "M 20 20",
735
743
  "Q 31 15 42 20",
736
744
  "Q 48 28 46 39",
737
745
  "Q 44 52 31 57",
738
746
  "Q 18 52 16 39",
739
747
  "Q 14 28 20 20"
740
- ), r = [
748
+ ), o = [
741
749
  {
742
750
  key: "V",
743
751
  label: "V",
744
- path: c(
752
+ path: s(
745
753
  "M 20 20",
746
754
  "Q 31 14 42 20",
747
755
  "Q 39 28 36 31",
@@ -753,7 +761,7 @@ const he = {
753
761
  {
754
762
  key: "M",
755
763
  label: "M",
756
- path: c(
764
+ path: s(
757
765
  "M 16 39",
758
766
  "Q 15 29 20 20",
759
767
  "Q 23 28 26 31",
@@ -765,7 +773,7 @@ const he = {
765
773
  {
766
774
  key: "O",
767
775
  label: "O",
768
- path: c(
776
+ path: s(
769
777
  "M 26 31",
770
778
  "Q 31 27 36 31",
771
779
  "Q 39 39 36 48",
@@ -777,7 +785,7 @@ const he = {
777
785
  {
778
786
  key: "D",
779
787
  label: "D",
780
- path: c(
788
+ path: s(
781
789
  "M 46 39",
782
790
  "Q 47 29 42 20",
783
791
  "Q 39 28 36 31",
@@ -789,7 +797,7 @@ const he = {
789
797
  {
790
798
  key: "L",
791
799
  label: "L",
792
- path: c(
800
+ path: s(
793
801
  "M 24 47",
794
802
  "Q 31 56 38 47",
795
803
  "Q 43 49 46 39",
@@ -804,7 +812,7 @@ const he = {
804
812
  crownOutline: t,
805
813
  crownCap: t,
806
814
  rootPaths: [
807
- c(
815
+ s(
808
816
  "M 22 57",
809
817
  "Q 25 60 28 57",
810
818
  "Q 28 71 25 90",
@@ -812,7 +820,7 @@ const he = {
812
820
  "Q 17 99 17 86",
813
821
  "Q 17 71 22 57"
814
822
  ),
815
- c(
823
+ s(
816
824
  "M 34 57",
817
825
  "Q 37 60 40 57",
818
826
  "Q 45 71 45 86",
@@ -821,21 +829,21 @@ const he = {
821
829
  "Q 34 71 34 57"
822
830
  )
823
831
  ],
824
- surfaces: r
832
+ surfaces: o
825
833
  };
826
- }, Fe = (t) => {
827
- const r = c(
834
+ }, Ue = (t) => {
835
+ const o = s(
828
836
  "M 16 22",
829
837
  "Q 31 13 46 22",
830
838
  "Q 52 32 49 43",
831
839
  "Q 46 56 31 61",
832
840
  "Q 16 56 13 43",
833
841
  "Q 10 32 16 22"
834
- ), n = [
842
+ ), a = [
835
843
  {
836
844
  key: "V",
837
845
  label: "V",
838
- path: c(
846
+ path: s(
839
847
  "M 16 22",
840
848
  "Q 31 12 46 22",
841
849
  "Q 42 31 38 34",
@@ -847,7 +855,7 @@ const he = {
847
855
  {
848
856
  key: "M",
849
857
  label: "M",
850
- path: c(
858
+ path: s(
851
859
  "M 13 43",
852
860
  "Q 11 32 16 22",
853
861
  "Q 20 31 24 34",
@@ -859,7 +867,7 @@ const he = {
859
867
  {
860
868
  key: "O",
861
869
  label: "O",
862
- path: c(
870
+ path: s(
863
871
  "M 24 34",
864
872
  "Q 31 29 38 34",
865
873
  "Q 41 43 38 52",
@@ -871,7 +879,7 @@ const he = {
871
879
  {
872
880
  key: "D",
873
881
  label: "D",
874
- path: c(
882
+ path: s(
875
883
  "M 49 43",
876
884
  "Q 51 32 46 22",
877
885
  "Q 42 31 38 34",
@@ -883,7 +891,7 @@ const he = {
883
891
  {
884
892
  key: "L",
885
893
  label: "L",
886
- path: c(
894
+ path: s(
887
895
  "M 22 51",
888
896
  "Q 31 62 40 51",
889
897
  "Q 46 52 49 43",
@@ -893,8 +901,8 @@ const he = {
893
901
  ),
894
902
  text: { x: 31, y: 60 }
895
903
  }
896
- ], o = t === "upper" ? [
897
- c(
904
+ ], r = t === "upper" ? [
905
+ s(
898
906
  "M 17 61",
899
907
  "Q 20 64 23 61",
900
908
  "Q 24 73 22 91",
@@ -902,7 +910,7 @@ const he = {
902
910
  "Q 14 101 14 88",
903
911
  "Q 14 73 17 61"
904
912
  ),
905
- c(
913
+ s(
906
914
  "M 28 61",
907
915
  "Q 31 65 34 61",
908
916
  "Q 36 76 35 96",
@@ -910,7 +918,7 @@ const he = {
910
918
  "Q 28 111 27 96",
911
919
  "Q 26 76 28 61"
912
920
  ),
913
- c(
921
+ s(
914
922
  "M 39 61",
915
923
  "Q 42 64 45 61",
916
924
  "Q 48 73 48 88",
@@ -919,7 +927,7 @@ const he = {
919
927
  "Q 38 73 39 61"
920
928
  )
921
929
  ] : [
922
- c(
930
+ s(
923
931
  "M 22 61",
924
932
  "Q 26 64 29 61",
925
933
  "Q 29 76 26 96",
@@ -927,7 +935,7 @@ const he = {
927
935
  "Q 17 107 17 92",
928
936
  "Q 17 75 22 61"
929
937
  ),
930
- c(
938
+ s(
931
939
  "M 33 61",
932
940
  "Q 36 64 40 61",
933
941
  "Q 45 75 45 92",
@@ -937,12 +945,12 @@ const he = {
937
945
  )
938
946
  ];
939
947
  return {
940
- crownOutline: r,
941
- crownCap: r,
942
- rootPaths: o,
943
- surfaces: n
948
+ crownOutline: o,
949
+ crownCap: o,
950
+ rootPaths: r,
951
+ surfaces: a
944
952
  };
945
- }, We = (t) => t.type === "incisor" ? De(t.visual.centerLabel) : t.type === "canine" ? Ye() : t.type === "premolar" ? $e() : Fe(t.arch), Ue = {
953
+ }, Ve = (t) => t.type === "incisor" ? $e(t.visual.centerLabel) : t.type === "canine" ? Fe() : t.type === "premolar" ? We() : Ue(t.arch), Ge = {
946
954
  sm: {
947
955
  wrapper: "ov-min-w-[64px] ov-gap-0.5",
948
956
  label: "ov-text-[11px]",
@@ -958,242 +966,243 @@ const he = {
958
966
  label: "ov-text-sm",
959
967
  svg: "ov-h-[154px] ov-w-[108px]"
960
968
  }
961
- }, Ve = L(function({
962
- definition: r,
963
- record: n,
964
- editable: o,
965
- selectedCondition: a,
966
- size: l,
967
- onApplySurface: u,
969
+ }, Be = L(function({
970
+ definition: o,
971
+ record: a,
972
+ editable: r,
973
+ selectedCondition: n,
974
+ size: i,
975
+ onApplySurface: p,
968
976
  onApplyTooth: v,
969
- onClearSurface: Q,
970
- onClearTooth: w
977
+ onClearSurface: g,
978
+ onClearTooth: y
971
979
  }) {
972
- const x = Ue[l], E = I(() => We(r), [r]), T = (n == null ? void 0 : n.conditions) ?? [], R = I(
973
- () => T.length ? pe(T[0]) : "#f8fafc",
974
- [T]
975
- ), M = I(() => r.type === "incisor" ? "ov-border-sky-100" : r.type === "canine" ? "ov-border-amber-100" : r.type === "premolar" ? "ov-border-emerald-100" : "ov-border-rose-100", [r.type]), S = _(
976
- (d) => u(r.id, d, a),
977
- [r.id, u, a]
980
+ const x = Ge[i], Q = I(() => Ve(o), [o]), k = (a == null ? void 0 : a.conditions) ?? [], E = I(
981
+ () => k.length ? ue(k[0]) : "#f8fafc",
982
+ [k]
983
+ ), M = I(() => o.type === "incisor" ? "ov-border-sky-100" : o.type === "canine" ? "ov-border-amber-100" : o.type === "premolar" ? "ov-border-emerald-100" : "ov-border-rose-100", [o.type]), A = _(
984
+ (m) => p(o.id, m, n),
985
+ [o.id, p, n]
978
986
  ), h = _(
979
- (d) => Q(r.id, d),
980
- [r.id, Q]
987
+ (m) => g(o.id, m),
988
+ [o.id, g]
981
989
  ), O = _(() => {
982
- v(r.id, a);
983
- }, [r.id, v, a]), y = _(() => {
984
- w(r.id);
985
- }, [r.id, w]);
986
- return /* @__PURE__ */ i.jsxs("div", { className: ["ov-flex ov-flex-col ov-items-center", M, x.wrapper].join(" "), children: [
987
- /* @__PURE__ */ i.jsx("span", { className: ["ov-font-semibold ov-text-clinic-700", x.label].join(" "), children: r.label }),
988
- /* @__PURE__ */ i.jsxs("svg", { viewBox: "0 0 62 128", className: x.svg, children: [
989
- E.rootPaths.map((d, k) => /* @__PURE__ */ i.jsx(
990
+ v(o.id, n);
991
+ }, [o.id, v, n]), w = _(() => {
992
+ y(o.id);
993
+ }, [o.id, y]);
994
+ return /* @__PURE__ */ c.jsxs("div", { className: ["ov-flex ov-flex-col ov-items-center", M, x.wrapper].join(" "), children: [
995
+ /* @__PURE__ */ c.jsx("span", { className: ["ov-font-semibold ov-text-clinic-700", x.label].join(" "), children: o.label }),
996
+ /* @__PURE__ */ c.jsxs("svg", { viewBox: "0 0 62 128", className: x.svg, children: [
997
+ Q.rootPaths.map((m, T) => /* @__PURE__ */ c.jsx(
990
998
  "path",
991
999
  {
992
- d,
993
- fill: R,
1000
+ d: m,
1001
+ fill: E,
994
1002
  stroke: "#1f2937",
995
1003
  strokeWidth: 1.4,
996
1004
  strokeLinejoin: "round",
997
- className: o ? "ov-cursor-pointer ov-transition-opacity hover:ov-opacity-85" : "",
998
- onClick: o ? O : void 0,
999
- onContextMenu: o ? (g) => {
1000
- g.preventDefault(), y();
1005
+ className: r ? "ov-cursor-pointer ov-transition-opacity hover:ov-opacity-85" : "",
1006
+ onClick: r ? O : void 0,
1007
+ onContextMenu: r ? (R) => {
1008
+ R.preventDefault(), w();
1001
1009
  } : void 0
1002
1010
  },
1003
- `${r.id}-root-${k}`
1011
+ `${o.id}-root-${T}`
1004
1012
  )),
1005
- /* @__PURE__ */ i.jsx("path", { d: E.crownCap, fill: R, stroke: "#1f2937", strokeWidth: 1.6 }),
1006
- E.surfaces.map((d) => {
1007
- var k, g;
1008
- return /* @__PURE__ */ i.jsx(
1009
- Le,
1013
+ /* @__PURE__ */ c.jsx("path", { d: Q.crownCap, fill: E, stroke: "#1f2937", strokeWidth: 1.6 }),
1014
+ Q.surfaces.map((m) => {
1015
+ var T, R;
1016
+ return /* @__PURE__ */ c.jsx(
1017
+ Ye,
1010
1018
  {
1011
- surface: d.key,
1012
- label: d.label,
1013
- path: d.path,
1014
- textX: d.text.x,
1015
- textY: d.text.y,
1016
- condition: (g = (k = n == null ? void 0 : n.surfaces) == null ? void 0 : k[d.key]) == null ? void 0 : g[0],
1017
- onApply: S,
1019
+ surface: m.key,
1020
+ label: m.label,
1021
+ path: m.path,
1022
+ textX: m.text.x,
1023
+ textY: m.text.y,
1024
+ condition: (R = (T = a == null ? void 0 : a.surfaces) == null ? void 0 : T[m.key]) == null ? void 0 : R[0],
1025
+ onApply: A,
1018
1026
  onClear: h,
1019
- disabled: !o
1027
+ disabled: !r
1020
1028
  },
1021
- `${r.id}-${d.key}`
1029
+ `${o.id}-${m.key}`
1022
1030
  );
1023
1031
  }),
1024
- /* @__PURE__ */ i.jsx(
1032
+ /* @__PURE__ */ c.jsx(
1025
1033
  "path",
1026
1034
  {
1027
- d: E.crownOutline,
1035
+ d: Q.crownOutline,
1028
1036
  fill: "none",
1029
1037
  stroke: "#0f172a",
1030
1038
  strokeWidth: 1.6,
1031
1039
  strokeLinejoin: "round",
1032
- className: o ? "ov-cursor-pointer" : "",
1033
- onClick: o ? O : void 0,
1034
- onContextMenu: o ? (d) => {
1035
- d.preventDefault(), y();
1040
+ className: r ? "ov-cursor-pointer" : "",
1041
+ onClick: r ? O : void 0,
1042
+ onContextMenu: r ? (m) => {
1043
+ m.preventDefault(), w();
1036
1044
  } : void 0
1037
1045
  }
1038
1046
  )
1039
1047
  ] })
1040
1048
  ] });
1041
- }), ze = L(function({
1042
- teeth: r,
1043
- records: n,
1044
- editable: o,
1045
- selectedCondition: a,
1046
- size: l,
1047
- onApplySurface: u,
1049
+ }), qe = L(function({
1050
+ teeth: o,
1051
+ records: a,
1052
+ editable: r,
1053
+ selectedCondition: n,
1054
+ size: i,
1055
+ onApplySurface: p,
1048
1056
  onApplyTooth: v,
1049
- onClearSurface: Q,
1050
- onClearTooth: w
1057
+ onClearSurface: g,
1058
+ onClearTooth: y
1051
1059
  }) {
1052
- return /* @__PURE__ */ i.jsx("section", { children: /* @__PURE__ */ i.jsx("div", { className: "ov-overflow-x-auto ov-pb-1", children: /* @__PURE__ */ i.jsx("div", { className: "ov-flex ov-min-w-max ov-justify-center ov-gap-0.5", children: r.map((x) => /* @__PURE__ */ i.jsx(
1053
- Ve,
1060
+ return /* @__PURE__ */ c.jsx("section", { children: /* @__PURE__ */ c.jsx("div", { className: "ov-overflow-x-auto ov-pb-1", children: /* @__PURE__ */ c.jsx("div", { className: "ov-flex ov-min-w-max ov-justify-center ov-gap-0.5", children: o.map((x) => /* @__PURE__ */ c.jsx(
1061
+ Be,
1054
1062
  {
1055
1063
  definition: x,
1056
- record: n[x.id],
1057
- editable: o,
1058
- selectedCondition: a,
1059
- size: l,
1060
- onApplySurface: u,
1064
+ record: a[x.id],
1065
+ editable: r,
1066
+ selectedCondition: n,
1067
+ size: i,
1068
+ onApplySurface: p,
1061
1069
  onApplyTooth: v,
1062
- onClearSurface: Q,
1063
- onClearTooth: w
1070
+ onClearSurface: g,
1071
+ onClearTooth: y
1064
1072
  },
1065
1073
  x.id
1066
1074
  )) }) }) });
1067
- }), Ge = L(function({ selectedCondition: r, onSelect: n }) {
1068
- return /* @__PURE__ */ i.jsxs("div", { className: "ov-rounded-3xl ov-border ov-border-slate-200 ov-bg-white ov-p-4 ov-shadow-panel", children: [
1069
- /* @__PURE__ */ i.jsxs("div", { className: "ov-mb-3 ov-flex ov-items-center ov-justify-between ov-gap-3", children: [
1070
- /* @__PURE__ */ i.jsxs("div", { children: [
1071
- /* @__PURE__ */ i.jsx("p", { className: "ov-text-xs ov-font-semibold ov-uppercase ov-tracking-[0.22em] ov-text-clinic-600", children: "Estados clínicos" }),
1072
- /* @__PURE__ */ i.jsx("p", { className: "ov-text-sm ov-text-slate-500", children: "Click izquierdo aplica. Click derecho limpia solo la pieza o superficie elegida." })
1075
+ }), Je = L(function({ selectedCondition: o, onSelect: a }) {
1076
+ return /* @__PURE__ */ c.jsxs("div", { className: "ov-rounded-3xl ov-border ov-border-slate-200 ov-bg-white ov-p-4 ov-shadow-panel", children: [
1077
+ /* @__PURE__ */ c.jsxs("div", { className: "ov-mb-3 ov-flex ov-items-center ov-justify-between ov-gap-3", children: [
1078
+ /* @__PURE__ */ c.jsxs("div", { children: [
1079
+ /* @__PURE__ */ c.jsx("p", { className: "ov-text-xs ov-font-semibold ov-uppercase ov-tracking-[0.22em] ov-text-clinic-600", children: "Estados clínicos" }),
1080
+ /* @__PURE__ */ c.jsx("p", { className: "ov-text-sm ov-text-slate-500", children: "Click izquierdo aplica. Click derecho limpia solo la pieza o superficie elegida." })
1073
1081
  ] }),
1074
- /* @__PURE__ */ i.jsxs("div", { className: "ov-rounded-full ov-bg-clinic-50 ov-px-3 ov-py-1 ov-text-xs ov-font-medium ov-text-clinic-700", children: [
1082
+ /* @__PURE__ */ c.jsxs("div", { className: "ov-rounded-full ov-bg-clinic-50 ov-px-3 ov-py-1 ov-text-xs ov-font-medium ov-text-clinic-700", children: [
1075
1083
  "Activo: ",
1076
- r
1084
+ o
1077
1085
  ] })
1078
1086
  ] }),
1079
- /* @__PURE__ */ i.jsx("div", { className: "ov-flex ov-flex-wrap ov-gap-2", children: K.map((o) => {
1080
- const a = o.id === r;
1081
- return /* @__PURE__ */ i.jsxs(
1087
+ /* @__PURE__ */ c.jsx("div", { className: "ov-flex ov-flex-wrap ov-gap-2", children: K.map((r) => {
1088
+ const n = r.id === o;
1089
+ return /* @__PURE__ */ c.jsxs(
1082
1090
  "button",
1083
1091
  {
1084
1092
  type: "button",
1085
- onClick: () => n(o.id),
1093
+ onClick: () => a(r.id),
1086
1094
  className: [
1087
1095
  "ov-flex ov-items-center ov-gap-2 ov-rounded-full ov-border ov-px-3 ov-py-2 ov-text-sm ov-transition",
1088
- a ? "ov-border-clinic-700 ov-bg-clinic-900 ov-text-white" : "ov-border-slate-200 ov-bg-slate-50 ov-text-slate-700 hover:ov-border-clinic-400 hover:ov-bg-white"
1096
+ n ? "ov-border-clinic-700 ov-bg-clinic-900 ov-text-white" : "ov-border-slate-200 ov-bg-slate-50 ov-text-slate-700 hover:ov-border-clinic-400 hover:ov-bg-white"
1089
1097
  ].join(" "),
1090
1098
  children: [
1091
- /* @__PURE__ */ i.jsx(
1099
+ /* @__PURE__ */ c.jsx(
1092
1100
  "span",
1093
1101
  {
1094
1102
  className: "ov-h-3 ov-w-3 ov-rounded-full ov-border ov-border-white/40",
1095
- style: { backgroundColor: o.color }
1103
+ style: { backgroundColor: r.color }
1096
1104
  }
1097
1105
  ),
1098
- /* @__PURE__ */ i.jsx("span", { children: o.label })
1106
+ /* @__PURE__ */ c.jsx("span", { children: r.label })
1099
1107
  ]
1100
1108
  },
1101
- o.id
1109
+ r.id
1102
1110
  );
1103
1111
  }) })
1104
1112
  ] });
1105
- }), Be = "CARIES", Je = L(function({
1106
- value: r,
1107
- defaultValue: n,
1108
- onChange: o,
1109
- dentition: a = "mixed",
1110
- selectedCondition: l,
1111
- onSelectedConditionChange: u,
1113
+ }), Xe = "CARIES", Ze = L(function({
1114
+ value: o,
1115
+ defaultValue: a,
1116
+ onChange: r,
1117
+ dentition: n = "mixed",
1118
+ selectedCondition: i,
1119
+ onSelectedConditionChange: p,
1112
1120
  editable: v = !0,
1113
- size: Q = "md",
1114
- className: w,
1121
+ size: g = "md",
1122
+ className: y,
1115
1123
  theme: x
1116
1124
  }) {
1117
- const E = typeof r < "u", [T, R] = se(
1118
- () => ue(n)
1119
- ), [M, S] = se(Be), h = I(
1120
- () => E ? ue(r) : T,
1121
- [T, E, r]
1122
- ), O = l ?? M, y = _(
1123
- (p) => {
1124
- E || R(p), o == null || o(Ae(p));
1125
+ const Q = typeof o < "u", [k, E] = le(
1126
+ () => de(a)
1127
+ ), [M, A] = le(Xe), h = I(
1128
+ () => Q ? de(o) : k,
1129
+ [k, Q, o]
1130
+ ), O = i ?? M, w = _(
1131
+ (d) => {
1132
+ Q || E(d), r == null || r(Pe(d));
1125
1133
  },
1126
- [E, o]
1127
- ), d = _(
1128
- (p) => {
1129
- l || S(p), u == null || u(p);
1134
+ [Q, r]
1135
+ ), m = _(
1136
+ (d) => {
1137
+ i || A(d), p == null || p(d);
1130
1138
  },
1131
- [u, l]
1132
- ), k = _(
1133
- (p, N, q) => {
1134
- y(Se(h, p, N, q));
1139
+ [p, i]
1140
+ ), T = _(
1141
+ (d, N, q) => {
1142
+ w(Ie(h, d, N, q));
1135
1143
  },
1136
- [h, y]
1137
- ), g = _(
1138
- (p, N) => {
1139
- y(Ce(h, p, N));
1144
+ [h, w]
1145
+ ), R = _(
1146
+ (d, N) => {
1147
+ w(Le(h, d, N));
1140
1148
  },
1141
- [h, y]
1142
- ), z = _(
1143
- (p, N) => {
1144
- y(Pe(h, p, N));
1149
+ [h, w]
1150
+ ), V = _(
1151
+ (d, N) => {
1152
+ w(De(h, d, N));
1145
1153
  },
1146
- [h, y]
1154
+ [h, w]
1147
1155
  ), G = _(
1148
- (p) => {
1149
- y(Ie(h, p));
1156
+ (d) => {
1157
+ w(ze(h, d));
1150
1158
  },
1151
- [h, y]
1152
- ), B = I(() => a === "permanent" ? [
1153
- { id: "permanent-upper", label: "Superior permanente", teeth: $.upper },
1154
- { id: "permanent-lower", label: "Inferior permanente", teeth: $.lower }
1155
- ] : a === "primary" ? [
1156
- { id: "primary-upper", label: "Superior temporal", teeth: F.upper },
1157
- { id: "primary-lower", label: "Inferior temporal", teeth: F.lower }
1158
- ] : [...Ne], [a]);
1159
- return /* @__PURE__ */ i.jsx(
1159
+ [h, w]
1160
+ ), B = I(() => n === "permanent" ? [
1161
+ { id: "permanent-upper", label: "Superior permanente", teeth: Y.upper },
1162
+ { id: "permanent-lower", label: "Inferior permanente", teeth: Y.lower }
1163
+ ] : n === "primary" ? [
1164
+ { id: "primary-upper", label: "Superior temporal", teeth: $.upper },
1165
+ { id: "primary-lower", label: "Inferior temporal", teeth: $.lower }
1166
+ ] : [...Ae], [n]);
1167
+ return /* @__PURE__ */ c.jsx(
1160
1168
  "div",
1161
1169
  {
1162
1170
  className: [
1163
1171
  "ov-odontogram ov-w-full ov-max-w-full ov-overflow-hidden ov-rounded-[28px] ov-border ov-border-slate-200 ov-bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.98),_rgba(240,248,249,0.98)_40%,_rgba(229,239,241,1)_100%)] ov-p-4 ov-text-slate-900 ov-shadow-panel md:ov-p-6",
1164
- w ?? ""
1172
+ y ?? ""
1165
1173
  ].join(" "),
1166
1174
  style: x == null ? void 0 : x.panelStyle,
1167
- onContextMenu: (p) => {
1168
- p.preventDefault();
1175
+ onContextMenu: (d) => {
1176
+ d.preventDefault();
1169
1177
  },
1170
- children: /* @__PURE__ */ i.jsxs("div", { className: "ov-space-y-5", children: [
1171
- /* @__PURE__ */ i.jsx(Ge, { selectedCondition: O, onSelect: d }),
1172
- /* @__PURE__ */ i.jsx("div", { className: "ov-overflow-x-auto ov-overflow-y-hidden", children: /* @__PURE__ */ i.jsx("div", { className: "ov-grid ov-min-w-max ov-gap-5", children: B.map((p) => /* @__PURE__ */ i.jsx(
1173
- ze,
1178
+ children: /* @__PURE__ */ c.jsxs("div", { className: "ov-space-y-5", children: [
1179
+ /* @__PURE__ */ c.jsx(Je, { selectedCondition: O, onSelect: m }),
1180
+ /* @__PURE__ */ c.jsx("div", { className: "ov-overflow-x-auto ov-overflow-y-hidden", children: /* @__PURE__ */ c.jsx("div", { className: "ov-grid ov-min-w-max ov-gap-5", children: B.map((d) => /* @__PURE__ */ c.jsx(
1181
+ qe,
1174
1182
  {
1175
- label: p.label,
1176
- teeth: p.teeth,
1183
+ label: d.label,
1184
+ teeth: d.teeth,
1177
1185
  records: h,
1178
1186
  editable: v,
1179
1187
  selectedCondition: O,
1180
- size: Q,
1181
- onApplySurface: k,
1182
- onApplyTooth: g,
1183
- onClearSurface: z,
1188
+ size: g,
1189
+ onApplySurface: T,
1190
+ onApplyTooth: R,
1191
+ onClearSurface: V,
1184
1192
  onClearTooth: G
1185
1193
  },
1186
- p.id
1194
+ d.id
1187
1195
  )) }) })
1188
1196
  ] })
1189
1197
  }
1190
1198
  );
1191
1199
  });
1200
+ xe(be);
1192
1201
  export {
1193
1202
  K as CLINICAL_CONDITIONS,
1194
- Ne as MIXED_DENTITION_LAYOUT,
1195
- Je as Odontogram,
1196
- $ as PERMANENT_DENTITION_LAYOUT,
1197
- F as PRIMARY_DENTITION_LAYOUT
1203
+ Ae as MIXED_DENTITION_LAYOUT,
1204
+ Ze as Odontogram,
1205
+ Y as PERMANENT_DENTITION_LAYOUT,
1206
+ $ as PRIMARY_DENTITION_LAYOUT
1198
1207
  };
1199
1208
  //# sourceMappingURL=index.js.map