odontogram-view 0.1.1 → 0.1.3

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 D, useMemo as L, useCallback as Q, useState as ie } from "react";
2
+ const be = ".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-\\[116px\\]{height:116px}.ov-h-\\[124px\\]{height:124px}.ov-h-\\[138px\\]{height:138px}.ov-h-\\[68px\\]{height:68px}.ov-min-h-screen{min-height:100vh}.ov-w-3{width:.75rem}.ov-w-\\[34px\\]{width:34px}.ov-w-\\[58px\\]{width:58px}.ov-w-\\[62px\\]{width:62px}.ov-w-\\[72px\\]{width:72px}.ov-w-full{width:100%}.ov-min-w-0{min-width:0px}.ov-min-w-\\[56px\\]{min-width:56px}.ov-min-w-\\[60px\\]{min-width:60px}.ov-min-w-\\[64px\\]{min-width:64px}.ov-min-w-\\[74px\\]{min-width:74px}.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-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-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 se = !1;
4
+ function xe(r) {
5
+ if (se || typeof document > "u")
6
+ return;
7
+ const o = document.createElement("style");
8
+ o.setAttribute("data-odontogram-view", "true"), o.textContent = r, document.head.appendChild(o), se = !0;
9
+ }
10
+ var Y = { exports: {} }, P = {};
3
11
  /**
4
12
  * @license React
5
13
  * react-jsx-runtime.production.js
@@ -10,28 +18,28 @@ var Y = { exports: {} }, C = {};
10
18
  * LICENSE file in the root directory of this source tree.
11
19
  */
12
20
  var le;
13
- function me() {
14
- if (le) return C;
21
+ function he() {
22
+ if (le) return P;
15
23
  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, {
25
- $$typeof: t,
26
- type: o,
27
- key: u,
28
- ref: a !== void 0 ? a : null,
29
- props: l
24
+ var r = Symbol.for("react.transitional.element"), o = Symbol.for("react.fragment");
25
+ function a(t, n, s) {
26
+ var p = null;
27
+ if (s !== void 0 && (p = "" + s), n.key !== void 0 && (p = "" + n.key), "key" in n) {
28
+ s = {};
29
+ for (var v in n)
30
+ v !== "key" && (s[v] = n[v]);
31
+ } else s = n;
32
+ return n = s.ref, {
33
+ $$typeof: r,
34
+ type: t,
35
+ key: p,
36
+ ref: n !== void 0 ? n : null,
37
+ props: s
30
38
  };
31
39
  }
32
- return C.Fragment = r, C.jsx = n, C.jsxs = n, C;
40
+ return P.Fragment = o, P.jsx = a, P.jsxs = a, P;
33
41
  }
34
- var P = {};
42
+ var I = {};
35
43
  /**
36
44
  * @license React
37
45
  * react-jsx-runtime.development.js
@@ -42,125 +50,125 @@ 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
- function t(e) {
55
+ function r(e) {
48
56
  if (e == null) return null;
49
57
  if (typeof e == "function")
50
58
  return e.$$typeof === q ? null : e.displayName || e.name || null;
51
59
  if (typeof e == "string") return e;
52
60
  switch (e) {
53
- case h:
61
+ case x:
54
62
  return "Fragment";
55
- case y:
63
+ case g:
56
64
  return "Profiler";
57
- case O:
65
+ case N:
58
66
  return "StrictMode";
59
- case z:
67
+ case R:
60
68
  return "Suspense";
61
- case G:
69
+ case B:
62
70
  return "SuspenseList";
63
- case N:
71
+ case O:
64
72
  return "Activity";
65
73
  }
66
74
  if (typeof e == "object")
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 C:
71
79
  return "Portal";
72
- case k:
80
+ case b:
73
81
  return e.displayName || "Context";
74
- case d:
82
+ case S:
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;
79
- 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;
84
+ case E:
85
+ var i = e.render;
86
+ return e = e.displayName, e || (e = i.displayName || i.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
87
+ case G:
88
+ return i = e.displayName || null, i !== null ? i : r(e.type) || "Memo";
89
+ case u:
90
+ i = e._payload, e = e._init;
83
91
  try {
84
- return t(e(s));
92
+ return r(e(i));
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 i = !1;
97
105
  } catch {
98
- s = !0;
106
+ i = !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 (i) {
109
+ i = console;
110
+ var d = i.error, m = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
111
+ return d.call(
112
+ i,
105
113
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
106
114
  m
107
- ), r(e);
115
+ ), o(e);
108
116
  }
109
117
  }
110
- function o(e) {
111
- if (e === h) return "<>";
112
- if (typeof e == "object" && e !== null && e.$$typeof === p)
118
+ function t(e) {
119
+ if (e === x) return "<>";
120
+ if (typeof e == "object" && e !== null && e.$$typeof === u)
113
121
  return "<...>";
114
122
  try {
115
- var s = t(e);
116
- return s ? "<" + s + ">" : "<...>";
123
+ var i = r(e);
124
+ return i ? "<" + i + ">" : "<...>";
117
125
  } catch {
118
126
  return "<...>";
119
127
  }
120
128
  }
121
- function a() {
122
- var e = J.A;
129
+ function n() {
130
+ var e = H.A;
123
131
  return e === null ? null : e.getOwner();
124
132
  }
125
- function l() {
133
+ function s() {
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 i = Object.getOwnPropertyDescriptor(e, "key").get;
139
+ if (i && i.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, i) {
144
+ function d() {
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
+ i
140
148
  ));
141
149
  }
142
- f.isReactWarning = !0, Object.defineProperty(e, "key", {
143
- get: f,
150
+ d.isReactWarning = !0, Object.defineProperty(e, "key", {
151
+ get: d,
144
152
  configurable: !0
145
153
  });
146
154
  }
147
- function Q() {
148
- var e = t(this.type);
149
- return te[e] || (te[e] = !0, console.error(
155
+ function y() {
156
+ var e = r(this.type);
157
+ return re[e] || (re[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 T(e, i, d, m, z, X) {
162
+ var f = d.ref;
155
163
  return e = {
156
164
  $$typeof: M,
157
165
  type: e,
158
- key: s,
159
- props: f,
166
+ key: i,
167
+ props: d,
160
168
  _owner: m
161
- }, (b !== void 0 ? b : null) !== null ? Object.defineProperty(e, "ref", {
169
+ }, (f !== void 0 ? f : null) !== null ? Object.defineProperty(e, "ref", {
162
170
  enumerable: !1,
163
- get: Q
171
+ get: y
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,
@@ -175,33 +183,33 @@ function be() {
175
183
  configurable: !1,
176
184
  enumerable: !1,
177
185
  writable: !0,
178
- value: D
186
+ value: z
179
187
  }), Object.defineProperty(e, "_debugTask", {
180
188
  configurable: !1,
181
189
  enumerable: !1,
182
190
  writable: !0,
183
- value: H
191
+ value: X
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;
188
- if (b !== void 0)
194
+ function h(e, i, d, m, z, X) {
195
+ var f = i.children;
196
+ if (f !== void 0)
189
197
  if (m)
190
- if (fe(b)) {
191
- for (m = 0; m < b.length; m++)
192
- E(b[m]);
193
- Object.freeze && Object.freeze(b);
198
+ if (ve(f)) {
199
+ for (m = 0; m < f.length; m++)
200
+ w(f[m]);
201
+ Object.freeze && Object.freeze(f);
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")) {
200
- b = t(e);
201
- var A = Object.keys(s).filter(function(ve) {
202
- return ve !== "key";
206
+ else w(f);
207
+ if (ee.call(i, "key")) {
208
+ f = r(e);
209
+ var A = Object.keys(i).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
+ m = 0 < A.length ? "{key: someKey, " + A.join(": ..., ") + ": ...}" : "{key: someKey}", ne[f + m] || (A = 0 < A.length ? "{" + A.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} />
@@ -209,75 +217,75 @@ React keys must be passed directly to JSX without using spread:
209
217
  let props = %s;
210
218
  <%s key={someKey} {...props} />`,
211
219
  m,
212
- b,
220
+ f,
213
221
  A,
214
- b
215
- ), ae[b + m] = !0);
222
+ f
223
+ ), ne[f + m] = !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;
222
- return b && v(
223
- f,
225
+ if (f = null, d !== void 0 && (a(d), f = "" + d), p(i) && (a(i.key), f = "" + i.key), "key" in i) {
226
+ d = {};
227
+ for (var Z in i)
228
+ Z !== "key" && (d[Z] = i[Z]);
229
+ } else d = i;
230
+ return f && v(
231
+ d,
224
232
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
225
- ), w(
233
+ ), T(
226
234
  e,
227
- b,
228
235
  f,
229
- a(),
230
- D,
231
- H
236
+ d,
237
+ n(),
238
+ z,
239
+ X
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 w(e) {
243
+ _(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === u && (e._payload.status === "fulfilled" ? _(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 _(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 k = fe, M = Symbol.for("react.transitional.element"), C = Symbol.for("react.portal"), x = Symbol.for("react.fragment"), N = Symbol.for("react.strict_mode"), g = Symbol.for("react.profiler"), S = Symbol.for("react.consumer"), b = Symbol.for("react.context"), E = Symbol.for("react.forward_ref"), R = Symbol.for("react.suspense"), B = Symbol.for("react.suspense_list"), G = Symbol.for("react.memo"), u = Symbol.for("react.lazy"), O = Symbol.for("react.activity"), q = Symbol.for("react.client.reference"), H = k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ee = Object.prototype.hasOwnProperty, ve = Array.isArray, J = console.createTask ? console.createTask : function() {
241
249
  return null;
242
250
  };
243
- R = {
251
+ k = {
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++;
254
- return x(
256
+ var oe, re = {}, te = k.react_stack_bottom_frame.bind(
257
+ k,
258
+ s
259
+ )(), ae = J(t(s)), ne = {};
260
+ I.Fragment = x, I.jsx = function(e, i, d) {
261
+ var m = 1e4 > H.recentlyCreatedOwnerStacks++;
262
+ return h(
255
263
  e,
256
- s,
257
- f,
264
+ i,
265
+ d,
258
266
  !1,
259
- m ? Error("react-stack-top-frame") : oe,
260
- m ? X(o(e)) : ne
267
+ m ? Error("react-stack-top-frame") : te,
268
+ m ? J(t(e)) : ae
261
269
  );
262
- }, P.jsxs = function(e, s, f) {
263
- var m = 1e4 > J.recentlyCreatedOwnerStacks++;
264
- return x(
270
+ }, I.jsxs = function(e, i, d) {
271
+ var m = 1e4 > H.recentlyCreatedOwnerStacks++;
272
+ return h(
265
273
  e,
266
- s,
267
- f,
274
+ i,
275
+ d,
268
276
  !0,
269
- m ? Error("react-stack-top-frame") : oe,
270
- m ? X(o(e)) : ne
277
+ m ? Error("react-stack-top-frame") : te,
278
+ m ? J(t(e)) : ae
271
279
  );
272
280
  };
273
- })()), P;
281
+ })()), I;
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" ? Y.exports = he() : Y.exports = ge()), Y.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,57 +353,57 @@ 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 = (r, o, a) => {
357
+ const t = _e[r] ?? 1;
358
+ return o === "incisor" ? {
351
359
  centerLabel: "I",
352
- roots: o,
360
+ roots: t,
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: t,
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: t,
367
375
  surfaces: 5,
368
376
  crownWidth: 42,
369
377
  crownHeight: 42,
370
- rootStyle: o === 2 ? "double" : "single"
378
+ rootStyle: t === 2 ? "double" : "single"
371
379
  } : {
372
380
  centerLabel: "O",
373
- roots: o,
381
+ roots: t,
374
382
  surfaces: 5,
375
383
  crownWidth: 48,
376
384
  crownHeight: 42,
377
- rootStyle: o === 3 || n === "upper" ? "triple" : "double"
385
+ rootStyle: t === 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 = (r, o, a, t) => {
388
+ const n = t === "permanent" ? ye : Qe;
389
+ return o.map((s) => {
390
+ const p = n[s], v = `${r}${s}`;
383
391
  return {
384
392
  id: v,
385
- type: u,
386
- arch: n,
387
- dentition: o,
393
+ type: p,
394
+ arch: a,
395
+ dentition: t,
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]
400
+ }, Te = j(1, [8, 7, 6, 5, 4, 3, 2, 1], "upper", "permanent"), Ee = 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"), Me = j(6, [1, 2, 3, 4, 5], "upper", "primary"), Ne = j(8, [5, 4, 3, 2, 1], "lower", "primary"), Se = j(7, [1, 2, 3, 4, 5], "lower", "primary"), $ = {
401
+ upper: [...Te, ...Ee],
402
+ lower: [...Re, ...je]
395
403
  }, F = {
396
- upper: [...ke, ...ge],
397
- lower: [...je, ...Oe]
398
- }, Ne = [
404
+ upper: [...Oe, ...Me],
405
+ lower: [...Ne, ...Se]
406
+ }, Ae = [
399
407
  {
400
408
  id: "upper-permanent",
401
409
  label: "Superior permanente",
@@ -426,322 +434,307 @@ 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(
430
- 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))
437
+ ], Ce = new Map(
438
+ K.map((r) => [r.id, r])
439
+ ), U = (r = []) => Array.from(new Set(r)), W = (r) => [...r].sort((o, a) => o.localeCompare(a)), ue = (r = []) => {
440
+ const o = {};
441
+ return r.forEach((a) => {
442
+ o[a.tooth] = {
443
+ tooth: a.tooth,
444
+ conditions: a.conditions ? W(U(a.conditions)) : void 0,
445
+ surfaces: a.surfaces ? Object.fromEntries(
446
+ Object.entries(a.surfaces).map(([t, n]) => [
447
+ t,
448
+ n != null && n.length ? W(U(n)) : void 0
449
+ ]).filter(([, t]) => !!(t != null && t.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 = (r) => Object.values(r).filter(Boolean).map((o) => {
454
+ var t;
455
+ const a = { tooth: o.tooth };
456
+ return (t = o == null ? void 0 : o.conditions) != null && t.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)), V = (r) => {
461
+ var n;
462
+ const o = r.surfaces ? Object.fromEntries(
463
+ Object.entries(r.surfaces).filter(([, s]) => !!(s != null && s.length))
464
+ ) : void 0, a = !!((n = r.conditions) != null && n.length), t = !!(o && Object.keys(o).length > 0);
465
+ if (!(!a && !t))
458
466
  return {
459
- tooth: t.tooth,
460
- conditions: n ? t.conditions : void 0,
461
- surfaces: o ? r : void 0
467
+ tooth: r.tooth,
468
+ conditions: a ? r.conditions : void 0,
469
+ surfaces: t ? o : void 0
462
470
  };
463
- }, Se = (t, r, n, o) => {
464
- var Q;
465
- if (!Me.get(o))
466
- return t;
467
- const l = t[r] ?? {}, u = ((Q = l.surfaces) == null ? void 0 : Q[n]) ?? [], v = {
468
- tooth: r,
469
- conditions: l.conditions,
471
+ }, Ie = (r, o, a, t) => {
472
+ var y;
473
+ if (!Ce.get(t))
474
+ return r;
475
+ const s = r[o] ?? {}, p = ((y = s.surfaces) == null ? void 0 : y[a]) ?? [], v = {
476
+ tooth: o,
477
+ conditions: s.conditions,
470
478
  surfaces: {
471
- ...l.surfaces ?? {},
472
- [n]: U(W([...u, o]))
479
+ ...s.surfaces ?? {},
480
+ [a]: W(U([...p, t]))
473
481
  }
474
482
  };
475
483
  return {
476
- ...t,
477
- [r]: V(v)
484
+ ...r,
485
+ [o]: V(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 = (r, o, a) => {
488
+ const t = r[o] ?? {}, n = {
489
+ tooth: o,
490
+ surfaces: t.surfaces,
491
+ conditions: W(U([...t.conditions ?? [], a]))
484
492
  };
485
493
  return {
486
- ...t,
487
- [r]: V(a)
494
+ ...r,
495
+ [o]: V(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))
493
- return t;
494
- const a = { ...o.surfaces ?? {} };
495
- return delete a[n], {
496
- ...t,
497
- [r]: V({
498
- tooth: r,
499
- conditions: o.conditions,
500
- surfaces: a
497
+ }, De = (r, o, a) => {
498
+ var s, p;
499
+ const t = r[o];
500
+ if (!((p = (s = t == null ? void 0 : t.surfaces) == null ? void 0 : s[a]) != null && p.length))
501
+ return r;
502
+ const n = { ...t.surfaces ?? {} };
503
+ return delete n[a], {
504
+ ...r,
505
+ [o]: V({
506
+ tooth: o,
507
+ conditions: t.conditions,
508
+ surfaces: n
501
509
  })
502
510
  };
503
- }, Ie = (t, r) => {
504
- if (!t[r])
505
- return t;
506
- const o = V({
507
- tooth: r,
511
+ }, ze = (r, o) => {
512
+ if (!r[o])
513
+ return r;
514
+ const t = V({
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 (!t) {
520
+ const n = { ...r };
521
+ return delete n[o], n;
514
522
  }
515
523
  return {
516
- ...t,
517
- [r]: o
524
+ ...r,
525
+ [o]: t
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,
529
- onApply: v,
530
- onClear: Q,
531
- disabled: w
527
+ }, de = (r) => {
528
+ var o;
529
+ return ((o = K.find((a) => a.id === r)) == null ? void 0 : o.color) ?? "#dbe4ea";
530
+ }, Ye = D(function({
531
+ surface: o,
532
+ path: a,
533
+ condition: t,
534
+ onApply: n,
535
+ onClear: s,
536
+ disabled: p
532
537
  }) {
533
- return /* @__PURE__ */ i.jsxs("g", { children: [
534
- /* @__PURE__ */ i.jsx(
535
- "path",
536
- {
537
- d: o,
538
- fill: pe(u),
539
- stroke: "#1f2937",
540
- strokeWidth: 1.4,
541
- 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);
546
- }
547
- }
548
- ),
549
- /* @__PURE__ */ i.jsx(
550
- "text",
551
- {
552
- x: a,
553
- y: l,
554
- textAnchor: "middle",
555
- className: "ov-pointer-events-none ov-select-none ov-fill-slate-700 ov-text-[10px] ov-font-semibold",
556
- children: n
538
+ return /* @__PURE__ */ c.jsx("g", { children: /* @__PURE__ */ c.jsx(
539
+ "path",
540
+ {
541
+ d: a,
542
+ fill: de(t),
543
+ stroke: "#1f2937",
544
+ strokeWidth: 1.4,
545
+ strokeLinejoin: "round",
546
+ className: p ? "" : "ov-cursor-pointer ov-transition-opacity hover:ov-opacity-85",
547
+ onClick: p ? void 0 : () => n(o),
548
+ onContextMenu: p ? void 0 : (v) => {
549
+ v.preventDefault(), s(o);
557
550
  }
558
- )
559
- ] });
560
- }), c = (...t) => `${t.join(" ")} Z`, De = (t) => {
561
- const r = c(
562
- "M 21 20",
563
- "Q 31 13 41 20",
564
- "Q 47 27 45 38",
565
- "Q 43 50 31 55",
566
- "Q 19 50 17 38",
567
- "Q 15 27 21 20"
568
- ), n = [
551
+ }
552
+ ) });
553
+ }), l = (...r) => `${r.join(" ")} Z`, $e = (r) => {
554
+ const o = l(
555
+ "M 19 20",
556
+ "Q 31 13 43 20",
557
+ "Q 49 27 47 38",
558
+ "Q 45 50 31 55",
559
+ "Q 17 50 15 38",
560
+ "Q 13 27 19 20"
561
+ ), a = [
569
562
  {
570
563
  key: "V",
571
564
  label: "V",
572
- path: c(
573
- "M 21 20",
574
- "Q 31 14 41 20",
575
- "Q 39 26 36 30",
576
- "Q 31 32 26 30",
577
- "Q 23 26 21 20"
565
+ path: l(
566
+ "M 19 20",
567
+ "Q 31 14 43 20",
568
+ "Q 40 26 37 30",
569
+ "Q 31 32 25 30",
570
+ "Q 22 26 19 20"
578
571
  ),
579
572
  text: { x: 31, y: 25 }
580
573
  },
581
574
  {
582
575
  key: "M",
583
576
  label: "M",
584
- path: c(
585
- "M 17 38",
586
- "Q 17 28 21 20",
587
- "Q 23 26 26 30",
588
- "Q 25 39 26 47",
589
- "Q 20 46 17 38"
577
+ path: l(
578
+ "M 15 38",
579
+ "Q 15 28 19 20",
580
+ "Q 22 26 25 30",
581
+ "Q 24 38 25 44",
582
+ "Q 18 43 15 38"
590
583
  ),
591
- text: { x: 22, y: 38 }
584
+ text: { x: 21, y: 38 }
592
585
  },
593
586
  {
594
- key: t,
595
- label: t,
596
- path: c(
597
- "M 26 30",
598
- "Q 31 26 36 30",
599
- "Q 39 38 36 46",
600
- "Q 31 51 26 46",
601
- "Q 23 38 26 30"
587
+ key: r,
588
+ label: r,
589
+ path: l(
590
+ "M 25 30",
591
+ "Q 31 26 37 30",
592
+ "Q 40 37 37 44",
593
+ "Q 31 49 25 44",
594
+ "Q 22 38 25 30"
602
595
  ),
603
596
  text: { x: 31, y: 40 }
604
597
  },
605
598
  {
606
599
  key: "D",
607
600
  label: "D",
608
- path: c(
609
- "M 45 38",
610
- "Q 45 28 41 20",
611
- "Q 39 26 36 30",
612
- "Q 37 39 36 47",
613
- "Q 42 46 45 38"
601
+ path: l(
602
+ "M 47 38",
603
+ "Q 47 28 43 20",
604
+ "Q 40 26 37 30",
605
+ "Q 38 38 37 44",
606
+ "Q 44 43 47 38"
614
607
  ),
615
- text: { x: 40, y: 38 }
608
+ text: { x: 41, y: 38 }
616
609
  },
617
610
  {
618
611
  key: "L",
619
612
  label: "L",
620
- path: c(
621
- "M 24 45",
622
- "Q 31 54 38 45",
623
- "Q 42 47 45 38",
624
- "Q 43 54 31 59",
625
- "Q 19 54 17 38",
626
- "Q 20 47 24 45"
613
+ path: l(
614
+ "M 25 44",
615
+ "Q 31 50 37 44",
616
+ "Q 42 45 47 38",
617
+ "Q 45 50 31 55",
618
+ "Q 17 50 15 38",
619
+ "Q 20 45 25 44"
627
620
  ),
628
621
  text: { x: 31, y: 55 }
629
622
  }
630
623
  ];
631
624
  return {
632
- crownOutline: r,
633
- crownCap: r,
625
+ crownOutline: o,
626
+ crownCap: o,
634
627
  rootPaths: [
635
- c(
636
- "M 27 54",
637
- "Q 31 58 35 54",
638
- "Q 38 65 36 84",
639
- "Q 34 100 31 112",
640
- "Q 28 100 26 84",
641
- "Q 24 65 27 54"
628
+ l(
629
+ "M 26 54",
630
+ "Q 31 58 36 54",
631
+ "Q 39 65 37 81",
632
+ "Q 34 95 31 106",
633
+ "Q 28 95 25 81",
634
+ "Q 23 65 26 54"
642
635
  )
643
636
  ],
644
- surfaces: n
637
+ surfaces: a
645
638
  };
646
- }, Ye = () => {
647
- const t = c(
648
- "M 24 23",
649
- "Q 31 12 38 23",
650
- "Q 44 31 42 41",
651
- "Q 40 52 31 58",
652
- "Q 22 52 20 41",
653
- "Q 18 31 24 23"
654
- ), r = [
639
+ }, Fe = () => {
640
+ const r = l(
641
+ "M 22 23",
642
+ "Q 31 12 40 23",
643
+ "Q 46 31 44 41",
644
+ "Q 42 52 31 58",
645
+ "Q 20 52 18 41",
646
+ "Q 16 31 22 23"
647
+ ), o = [
655
648
  {
656
649
  key: "V",
657
650
  label: "V",
658
- path: c(
659
- "M 24 23",
660
- "Q 31 13 38 23",
661
- "Q 36 29 35 31",
662
- "Q 31 34 27 31",
663
- "Q 26 29 24 23"
651
+ path: l(
652
+ "M 22 23",
653
+ "Q 31 13 40 23",
654
+ "Q 37 29 36 31",
655
+ "Q 31 34 26 31",
656
+ "Q 25 29 22 23"
664
657
  ),
665
658
  text: { x: 31, y: 26 }
666
659
  },
667
660
  {
668
661
  key: "M",
669
662
  label: "M",
670
- path: c(
671
- "M 20 41",
672
- "Q 20 31 24 23",
673
- "Q 26 29 27 31",
674
- "Q 26 40 27 49",
675
- "Q 22 47 20 41"
663
+ path: l(
664
+ "M 18 41",
665
+ "Q 18 31 22 23",
666
+ "Q 25 29 26 31",
667
+ "Q 25 39 26 46",
668
+ "Q 20 44 18 41"
676
669
  ),
677
- text: { x: 23, y: 40 }
670
+ text: { x: 22, y: 40 }
678
671
  },
679
672
  {
680
673
  key: "I",
681
674
  label: "I",
682
- path: c(
683
- "M 27 31",
684
- "Q 31 28 35 31",
685
- "Q 37 40 35 48",
686
- "Q 31 53 27 48",
687
- "Q 25 40 27 31"
675
+ path: l(
676
+ "M 26 31",
677
+ "Q 31 28 36 31",
678
+ "Q 38 39 36 46",
679
+ "Q 31 51 26 46",
680
+ "Q 24 40 26 31"
688
681
  ),
689
682
  text: { x: 31, y: 40 }
690
683
  },
691
684
  {
692
685
  key: "D",
693
686
  label: "D",
694
- path: c(
695
- "M 42 41",
696
- "Q 42 31 38 23",
697
- "Q 36 29 35 31",
698
- "Q 36 40 35 49",
699
- "Q 40 47 42 41"
687
+ path: l(
688
+ "M 44 41",
689
+ "Q 44 31 40 23",
690
+ "Q 37 29 36 31",
691
+ "Q 37 39 36 46",
692
+ "Q 42 44 44 41"
700
693
  ),
701
- text: { x: 39, y: 40 }
694
+ text: { x: 40, y: 40 }
702
695
  },
703
696
  {
704
697
  key: "L",
705
698
  label: "L",
706
- path: c(
707
- "M 25 47",
708
- "Q 31 56 37 47",
709
- "Q 40 49 42 41",
710
- "Q 40 54 31 60",
711
- "Q 22 54 20 41",
712
- "Q 22 49 25 47"
699
+ path: l(
700
+ "M 26 46",
701
+ "Q 31 52 36 46",
702
+ "Q 40 47 44 41",
703
+ "Q 42 52 31 58",
704
+ "Q 20 52 18 41",
705
+ "Q 22 47 26 46"
713
706
  ),
714
707
  text: { x: 31, y: 55 }
715
708
  }
716
709
  ];
717
710
  return {
718
- crownOutline: t,
719
- crownCap: t,
711
+ crownOutline: r,
712
+ crownCap: r,
720
713
  rootPaths: [
721
- c(
722
- "M 27 58",
723
- "Q 31 62 35 58",
724
- "Q 39 73 37 92",
725
- "Q 35 112 31 122",
726
- "Q 27 112 25 92",
727
- "Q 23 73 27 58"
714
+ l(
715
+ "M 26 58",
716
+ "Q 31 62 36 58",
717
+ "Q 40 71 38 88",
718
+ "Q 35 106 31 116",
719
+ "Q 27 106 24 88",
720
+ "Q 22 71 26 58"
728
721
  )
729
722
  ],
730
- surfaces: r
723
+ surfaces: o
731
724
  };
732
- }, $e = () => {
733
- const t = c(
725
+ }, Ue = () => {
726
+ const r = l(
734
727
  "M 20 20",
735
728
  "Q 31 15 42 20",
736
729
  "Q 48 28 46 39",
737
730
  "Q 44 52 31 57",
738
731
  "Q 18 52 16 39",
739
732
  "Q 14 28 20 20"
740
- ), r = [
733
+ ), o = [
741
734
  {
742
735
  key: "V",
743
736
  label: "V",
744
- path: c(
737
+ path: l(
745
738
  "M 20 20",
746
739
  "Q 31 14 42 20",
747
740
  "Q 39 28 36 31",
@@ -753,23 +746,23 @@ const he = {
753
746
  {
754
747
  key: "M",
755
748
  label: "M",
756
- path: c(
749
+ path: l(
757
750
  "M 16 39",
758
751
  "Q 15 29 20 20",
759
752
  "Q 23 28 26 31",
760
- "Q 24 40 26 49",
761
- "Q 20 48 16 39"
753
+ "Q 24 39 26 46",
754
+ "Q 20 45 16 39"
762
755
  ),
763
756
  text: { x: 22, y: 40 }
764
757
  },
765
758
  {
766
759
  key: "O",
767
760
  label: "O",
768
- path: c(
761
+ path: l(
769
762
  "M 26 31",
770
763
  "Q 31 27 36 31",
771
- "Q 39 39 36 48",
772
- "Q 31 52 26 48",
764
+ "Q 39 38 36 46",
765
+ "Q 31 50 26 46",
773
766
  "Q 23 39 26 31"
774
767
  ),
775
768
  text: { x: 31, y: 40 }
@@ -777,65 +770,65 @@ const he = {
777
770
  {
778
771
  key: "D",
779
772
  label: "D",
780
- path: c(
773
+ path: l(
781
774
  "M 46 39",
782
775
  "Q 47 29 42 20",
783
776
  "Q 39 28 36 31",
784
- "Q 38 40 36 49",
785
- "Q 42 48 46 39"
777
+ "Q 38 39 36 46",
778
+ "Q 42 45 46 39"
786
779
  ),
787
780
  text: { x: 40, y: 40 }
788
781
  },
789
782
  {
790
783
  key: "L",
791
784
  label: "L",
792
- path: c(
793
- "M 24 47",
794
- "Q 31 56 38 47",
795
- "Q 43 49 46 39",
796
- "Q 44 54 31 59",
797
- "Q 18 54 16 39",
798
- "Q 19 49 24 47"
785
+ path: l(
786
+ "M 26 46",
787
+ "Q 31 51 36 46",
788
+ "Q 41 47 46 39",
789
+ "Q 44 52 31 57",
790
+ "Q 18 52 16 39",
791
+ "Q 21 47 26 46"
799
792
  ),
800
793
  text: { x: 31, y: 56 }
801
794
  }
802
795
  ];
803
796
  return {
804
- crownOutline: t,
805
- crownCap: t,
797
+ crownOutline: r,
798
+ crownCap: r,
806
799
  rootPaths: [
807
- c(
800
+ l(
808
801
  "M 22 57",
809
802
  "Q 25 60 28 57",
810
- "Q 28 71 25 90",
811
- "Q 23 101 20 109",
812
- "Q 17 99 17 86",
803
+ "Q 28 70 25 86",
804
+ "Q 23 96 20 104",
805
+ "Q 17 94 17 82",
813
806
  "Q 17 71 22 57"
814
807
  ),
815
- c(
808
+ l(
816
809
  "M 34 57",
817
810
  "Q 37 60 40 57",
818
- "Q 45 71 45 86",
819
- "Q 45 99 42 109",
820
- "Q 39 101 37 90",
811
+ "Q 45 70 45 82",
812
+ "Q 45 94 42 104",
813
+ "Q 39 96 37 86",
821
814
  "Q 34 71 34 57"
822
815
  )
823
816
  ],
824
- surfaces: r
817
+ surfaces: o
825
818
  };
826
- }, Fe = (t) => {
827
- const r = c(
819
+ }, We = (r) => {
820
+ const o = l(
828
821
  "M 16 22",
829
822
  "Q 31 13 46 22",
830
823
  "Q 52 32 49 43",
831
824
  "Q 46 56 31 61",
832
825
  "Q 16 56 13 43",
833
826
  "Q 10 32 16 22"
834
- ), n = [
827
+ ), a = [
835
828
  {
836
829
  key: "V",
837
830
  label: "V",
838
- path: c(
831
+ path: l(
839
832
  "M 16 22",
840
833
  "Q 31 12 46 22",
841
834
  "Q 42 31 38 34",
@@ -847,23 +840,23 @@ const he = {
847
840
  {
848
841
  key: "M",
849
842
  label: "M",
850
- path: c(
843
+ path: l(
851
844
  "M 13 43",
852
845
  "Q 11 32 16 22",
853
846
  "Q 20 31 24 34",
854
- "Q 22 44 24 53",
855
- "Q 17 52 13 43"
847
+ "Q 22 43 24 49",
848
+ "Q 17 48 13 43"
856
849
  ),
857
850
  text: { x: 21, y: 43 }
858
851
  },
859
852
  {
860
853
  key: "O",
861
854
  label: "O",
862
- path: c(
855
+ path: l(
863
856
  "M 24 34",
864
857
  "Q 31 29 38 34",
865
- "Q 41 43 38 52",
866
- "Q 31 56 24 52",
858
+ "Q 41 42 38 49",
859
+ "Q 31 54 24 49",
867
860
  "Q 21 43 24 34"
868
861
  ),
869
862
  text: { x: 31, y: 43 }
@@ -871,328 +864,331 @@ const he = {
871
864
  {
872
865
  key: "D",
873
866
  label: "D",
874
- path: c(
867
+ path: l(
875
868
  "M 49 43",
876
869
  "Q 51 32 46 22",
877
870
  "Q 42 31 38 34",
878
- "Q 40 44 38 53",
879
- "Q 45 52 49 43"
871
+ "Q 40 43 38 49",
872
+ "Q 45 48 49 43"
880
873
  ),
881
874
  text: { x: 41, y: 43 }
882
875
  },
883
876
  {
884
877
  key: "L",
885
878
  label: "L",
886
- path: c(
887
- "M 22 51",
888
- "Q 31 62 40 51",
889
- "Q 46 52 49 43",
890
- "Q 46 58 31 64",
891
- "Q 16 58 13 43",
892
- "Q 16 52 22 51"
879
+ path: l(
880
+ "M 24 49",
881
+ "Q 31 55 38 49",
882
+ "Q 44 50 49 43",
883
+ "Q 46 56 31 61",
884
+ "Q 16 56 13 43",
885
+ "Q 18 50 24 49"
893
886
  ),
894
887
  text: { x: 31, y: 60 }
895
888
  }
896
- ], o = t === "upper" ? [
897
- c(
889
+ ], t = r === "upper" ? [
890
+ l(
898
891
  "M 17 61",
899
892
  "Q 20 64 23 61",
900
- "Q 24 73 22 91",
901
- "Q 20 103 17 111",
902
- "Q 14 101 14 88",
893
+ "Q 24 72 22 87",
894
+ "Q 20 98 17 106",
895
+ "Q 14 96 14 84",
903
896
  "Q 14 73 17 61"
904
897
  ),
905
- c(
898
+ l(
906
899
  "M 28 61",
907
900
  "Q 31 65 34 61",
908
- "Q 36 76 35 96",
909
- "Q 34 111 31 122",
910
- "Q 28 111 27 96",
911
- "Q 26 76 28 61"
901
+ "Q 36 74 35 92",
902
+ "Q 34 105 31 116",
903
+ "Q 28 105 27 92",
904
+ "Q 26 74 28 61"
912
905
  ),
913
- c(
906
+ l(
914
907
  "M 39 61",
915
908
  "Q 42 64 45 61",
916
- "Q 48 73 48 88",
917
- "Q 48 101 45 111",
918
- "Q 42 103 40 91",
909
+ "Q 48 72 48 84",
910
+ "Q 48 96 45 106",
911
+ "Q 42 98 40 87",
919
912
  "Q 38 73 39 61"
920
913
  )
921
914
  ] : [
922
- c(
915
+ l(
923
916
  "M 22 61",
924
917
  "Q 26 64 29 61",
925
- "Q 29 76 26 96",
926
- "Q 24 109 20 118",
927
- "Q 17 107 17 92",
928
- "Q 17 75 22 61"
918
+ "Q 29 74 26 92",
919
+ "Q 24 103 20 112",
920
+ "Q 17 101 17 88",
921
+ "Q 17 74 22 61"
929
922
  ),
930
- c(
923
+ l(
931
924
  "M 33 61",
932
925
  "Q 36 64 40 61",
933
- "Q 45 75 45 92",
934
- "Q 45 107 42 118",
935
- "Q 38 109 36 96",
926
+ "Q 45 74 45 88",
927
+ "Q 45 101 42 112",
928
+ "Q 38 103 36 92",
936
929
  "Q 33 76 33 61"
937
930
  )
938
931
  ];
939
932
  return {
940
- crownOutline: r,
941
- crownCap: r,
942
- rootPaths: o,
943
- surfaces: n
933
+ crownOutline: o,
934
+ crownCap: o,
935
+ rootPaths: t,
936
+ surfaces: a
944
937
  };
945
- }, We = (t) => t.type === "incisor" ? De(t.visual.centerLabel) : t.type === "canine" ? Ye() : t.type === "premolar" ? $e() : Fe(t.arch), Ue = {
938
+ }, Ve = (r) => r.type === "incisor" ? $e(r.visual.centerLabel) : r.type === "canine" ? Fe() : r.type === "premolar" ? Ue() : We(r.arch), Be = {
939
+ xs: {
940
+ wrapper: "ov-min-w-[56px] ov-gap-0.5",
941
+ label: "ov-text-[10px]",
942
+ svg: "ov-h-[68px] ov-w-[34px]"
943
+ },
946
944
  sm: {
945
+ wrapper: "ov-min-w-[60px] ov-gap-0.5",
946
+ label: "ov-text-[11px]",
947
+ svg: "ov-h-[116px] ov-w-[58px]"
948
+ },
949
+ md: {
947
950
  wrapper: "ov-min-w-[64px] ov-gap-0.5",
948
951
  label: "ov-text-[11px]",
949
952
  svg: "ov-h-[124px] ov-w-[62px]"
950
953
  },
951
- md: {
954
+ lg: {
952
955
  wrapper: "ov-min-w-[74px] ov-gap-0.5",
953
956
  label: "ov-text-xs",
954
- svg: "ov-h-[138px] ov-w-[98px]"
955
- },
956
- lg: {
957
- wrapper: "ov-min-w-[84px] ov-gap-0.5",
958
- label: "ov-text-sm",
959
- svg: "ov-h-[154px] ov-w-[108px]"
957
+ svg: "ov-h-[138px] ov-w-[72px]"
960
958
  }
961
- }, Ve = L(function({
962
- definition: r,
963
- record: n,
964
- editable: o,
965
- selectedCondition: a,
966
- size: l,
967
- onApplySurface: u,
959
+ }, Ge = "8 10 46 114", qe = "matrix(1 0 0 -1 0 134)", He = D(function({
960
+ definition: o,
961
+ record: a,
962
+ editable: t,
963
+ selectedCondition: n,
964
+ size: s,
965
+ onApplySurface: p,
968
966
  onApplyTooth: v,
969
- onClearSurface: Q,
970
- onClearTooth: w
967
+ onClearSurface: y,
968
+ onClearTooth: T
971
969
  }) {
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]
978
- ), h = _(
979
- (d) => Q(r.id, d),
980
- [r.id, Q]
981
- ), 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(
970
+ const h = Be[s], w = L(() => Ve(o), [o]), _ = (a == null ? void 0 : a.conditions) ?? [], k = L(
971
+ () => _.length ? de(_[0]) : "#f8fafc",
972
+ [_]
973
+ ), M = o.arch === "upper", C = L(() => 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]), x = Q(
974
+ (b) => p(o.id, b, n),
975
+ [o.id, p, n]
976
+ ), N = Q(
977
+ (b) => y(o.id, b),
978
+ [o.id, y]
979
+ ), g = Q(() => {
980
+ v(o.id, n);
981
+ }, [o.id, v, n]), S = Q(() => {
982
+ T(o.id);
983
+ }, [o.id, T]);
984
+ return /* @__PURE__ */ c.jsxs("div", { className: ["ov-flex ov-flex-col ov-items-center", C, h.wrapper].join(" "), children: [
985
+ /* @__PURE__ */ c.jsx("span", { className: ["ov-font-semibold ov-text-clinic-700", h.label].join(" "), children: o.label }),
986
+ /* @__PURE__ */ c.jsx("svg", { viewBox: Ge, className: h.svg, children: /* @__PURE__ */ c.jsxs("g", { transform: M ? qe : void 0, children: [
987
+ w.rootPaths.map((b, E) => /* @__PURE__ */ c.jsx(
990
988
  "path",
991
989
  {
992
- d,
993
- fill: R,
990
+ d: b,
991
+ fill: k,
994
992
  stroke: "#1f2937",
995
993
  strokeWidth: 1.4,
996
994
  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();
995
+ className: t ? "ov-cursor-pointer ov-transition-opacity hover:ov-opacity-85" : "",
996
+ onClick: t ? g : void 0,
997
+ onContextMenu: t ? (R) => {
998
+ R.preventDefault(), S();
1001
999
  } : void 0
1002
1000
  },
1003
- `${r.id}-root-${k}`
1001
+ `${o.id}-root-${E}`
1004
1002
  )),
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,
1003
+ /* @__PURE__ */ c.jsx("path", { d: w.crownCap, fill: k, stroke: "#1f2937", strokeWidth: 1.6 }),
1004
+ w.surfaces.map((b) => {
1005
+ var E, R;
1006
+ return /* @__PURE__ */ c.jsx(
1007
+ Ye,
1010
1008
  {
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,
1018
- onClear: h,
1019
- disabled: !o
1009
+ surface: b.key,
1010
+ path: b.path,
1011
+ condition: (R = (E = a == null ? void 0 : a.surfaces) == null ? void 0 : E[b.key]) == null ? void 0 : R[0],
1012
+ onApply: x,
1013
+ onClear: N,
1014
+ disabled: !t
1020
1015
  },
1021
- `${r.id}-${d.key}`
1016
+ `${o.id}-${b.key}`
1022
1017
  );
1023
1018
  }),
1024
- /* @__PURE__ */ i.jsx(
1019
+ /* @__PURE__ */ c.jsx(
1025
1020
  "path",
1026
1021
  {
1027
- d: E.crownOutline,
1022
+ d: w.crownOutline,
1028
1023
  fill: "none",
1029
1024
  stroke: "#0f172a",
1030
1025
  strokeWidth: 1.6,
1031
1026
  strokeLinejoin: "round",
1032
- className: o ? "ov-cursor-pointer" : "",
1033
- onClick: o ? O : void 0,
1034
- onContextMenu: o ? (d) => {
1035
- d.preventDefault(), y();
1027
+ className: t ? "ov-cursor-pointer" : "",
1028
+ onClick: t ? g : void 0,
1029
+ onContextMenu: t ? (b) => {
1030
+ b.preventDefault(), S();
1036
1031
  } : void 0
1037
1032
  }
1038
1033
  )
1039
- ] })
1034
+ ] }) })
1040
1035
  ] });
1041
- }), ze = L(function({
1042
- teeth: r,
1043
- records: n,
1044
- editable: o,
1045
- selectedCondition: a,
1046
- size: l,
1047
- onApplySurface: u,
1036
+ }), Je = D(function({
1037
+ teeth: o,
1038
+ records: a,
1039
+ editable: t,
1040
+ selectedCondition: n,
1041
+ size: s,
1042
+ onApplySurface: p,
1048
1043
  onApplyTooth: v,
1049
- onClearSurface: Q,
1050
- onClearTooth: w
1044
+ onClearSurface: y,
1045
+ onClearTooth: T
1051
1046
  }) {
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,
1047
+ 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((h) => /* @__PURE__ */ c.jsx(
1048
+ He,
1054
1049
  {
1055
- definition: x,
1056
- record: n[x.id],
1057
- editable: o,
1058
- selectedCondition: a,
1059
- size: l,
1060
- onApplySurface: u,
1050
+ definition: h,
1051
+ record: a[h.id],
1052
+ editable: t,
1053
+ selectedCondition: n,
1054
+ size: s,
1055
+ onApplySurface: p,
1061
1056
  onApplyTooth: v,
1062
- onClearSurface: Q,
1063
- onClearTooth: w
1057
+ onClearSurface: y,
1058
+ onClearTooth: T
1064
1059
  },
1065
- x.id
1060
+ h.id
1066
1061
  )) }) }) });
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." })
1062
+ }), Xe = D(function({ selectedCondition: o, onSelect: a }) {
1063
+ 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: [
1064
+ /* @__PURE__ */ c.jsxs("div", { className: "ov-mb-3 ov-flex ov-items-center ov-justify-between ov-gap-3", children: [
1065
+ /* @__PURE__ */ c.jsxs("div", { children: [
1066
+ /* @__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" }),
1067
+ /* @__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
1068
  ] }),
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: [
1069
+ /* @__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
1070
  "Activo: ",
1076
- r
1071
+ o
1077
1072
  ] })
1078
1073
  ] }),
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(
1074
+ /* @__PURE__ */ c.jsx("div", { className: "ov-flex ov-flex-wrap ov-gap-2", children: K.map((t) => {
1075
+ const n = t.id === o;
1076
+ return /* @__PURE__ */ c.jsxs(
1082
1077
  "button",
1083
1078
  {
1084
1079
  type: "button",
1085
- onClick: () => n(o.id),
1080
+ onClick: () => a(t.id),
1086
1081
  className: [
1087
1082
  "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"
1083
+ 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
1084
  ].join(" "),
1090
1085
  children: [
1091
- /* @__PURE__ */ i.jsx(
1086
+ /* @__PURE__ */ c.jsx(
1092
1087
  "span",
1093
1088
  {
1094
1089
  className: "ov-h-3 ov-w-3 ov-rounded-full ov-border ov-border-white/40",
1095
- style: { backgroundColor: o.color }
1090
+ style: { backgroundColor: t.color }
1096
1091
  }
1097
1092
  ),
1098
- /* @__PURE__ */ i.jsx("span", { children: o.label })
1093
+ /* @__PURE__ */ c.jsx("span", { children: t.label })
1099
1094
  ]
1100
1095
  },
1101
- o.id
1096
+ t.id
1102
1097
  );
1103
1098
  }) })
1104
1099
  ] });
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,
1100
+ }), Ze = "CARIES", eo = D(function({
1101
+ value: o,
1102
+ defaultValue: a,
1103
+ onChange: t,
1104
+ dentition: n = "mixed",
1105
+ selectedCondition: s,
1106
+ onSelectedConditionChange: p,
1112
1107
  editable: v = !0,
1113
- size: Q = "md",
1114
- className: w,
1115
- theme: x
1108
+ size: y = "sm",
1109
+ className: T,
1110
+ theme: h
1116
1111
  }) {
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));
1112
+ const w = typeof o < "u", [_, k] = ie(
1113
+ () => ue(a)
1114
+ ), [M, C] = ie(Ze), x = L(
1115
+ () => w ? ue(o) : _,
1116
+ [_, w, o]
1117
+ ), N = s ?? M, g = Q(
1118
+ (u) => {
1119
+ w || k(u), t == null || t(Pe(u));
1125
1120
  },
1126
- [E, o]
1127
- ), d = _(
1128
- (p) => {
1129
- l || S(p), u == null || u(p);
1121
+ [w, t]
1122
+ ), S = Q(
1123
+ (u) => {
1124
+ s || C(u), p == null || p(u);
1130
1125
  },
1131
- [u, l]
1132
- ), k = _(
1133
- (p, N, q) => {
1134
- y(Se(h, p, N, q));
1126
+ [p, s]
1127
+ ), b = Q(
1128
+ (u, O, q) => {
1129
+ g(Ie(x, u, O, q));
1135
1130
  },
1136
- [h, y]
1137
- ), g = _(
1138
- (p, N) => {
1139
- y(Ce(h, p, N));
1131
+ [x, g]
1132
+ ), E = Q(
1133
+ (u, O) => {
1134
+ g(Le(x, u, O));
1140
1135
  },
1141
- [h, y]
1142
- ), z = _(
1143
- (p, N) => {
1144
- y(Pe(h, p, N));
1136
+ [x, g]
1137
+ ), R = Q(
1138
+ (u, O) => {
1139
+ g(De(x, u, O));
1145
1140
  },
1146
- [h, y]
1147
- ), G = _(
1148
- (p) => {
1149
- y(Ie(h, p));
1141
+ [x, g]
1142
+ ), B = Q(
1143
+ (u) => {
1144
+ g(ze(x, u));
1150
1145
  },
1151
- [h, y]
1152
- ), B = I(() => a === "permanent" ? [
1146
+ [x, g]
1147
+ ), G = L(() => n === "permanent" ? [
1153
1148
  { id: "permanent-upper", label: "Superior permanente", teeth: $.upper },
1154
1149
  { id: "permanent-lower", label: "Inferior permanente", teeth: $.lower }
1155
- ] : a === "primary" ? [
1150
+ ] : n === "primary" ? [
1156
1151
  { id: "primary-upper", label: "Superior temporal", teeth: F.upper },
1157
1152
  { id: "primary-lower", label: "Inferior temporal", teeth: F.lower }
1158
- ] : [...Ne], [a]);
1159
- return /* @__PURE__ */ i.jsx(
1153
+ ] : [...Ae], [n]);
1154
+ return /* @__PURE__ */ c.jsx(
1160
1155
  "div",
1161
1156
  {
1162
1157
  className: [
1163
1158
  "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 ?? ""
1159
+ T ?? ""
1165
1160
  ].join(" "),
1166
- style: x == null ? void 0 : x.panelStyle,
1167
- onContextMenu: (p) => {
1168
- p.preventDefault();
1161
+ style: h == null ? void 0 : h.panelStyle,
1162
+ onContextMenu: (u) => {
1163
+ u.preventDefault();
1169
1164
  },
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,
1165
+ children: /* @__PURE__ */ c.jsxs("div", { className: "ov-space-y-5", children: [
1166
+ /* @__PURE__ */ c.jsx(Xe, { selectedCondition: N, onSelect: S }),
1167
+ /* @__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: G.map((u) => /* @__PURE__ */ c.jsx(
1168
+ Je,
1174
1169
  {
1175
- label: p.label,
1176
- teeth: p.teeth,
1177
- records: h,
1170
+ label: u.label,
1171
+ teeth: u.teeth,
1172
+ records: x,
1178
1173
  editable: v,
1179
- selectedCondition: O,
1180
- size: Q,
1181
- onApplySurface: k,
1182
- onApplyTooth: g,
1183
- onClearSurface: z,
1184
- onClearTooth: G
1174
+ selectedCondition: N,
1175
+ size: y,
1176
+ onApplySurface: b,
1177
+ onApplyTooth: E,
1178
+ onClearSurface: R,
1179
+ onClearTooth: B
1185
1180
  },
1186
- p.id
1181
+ u.id
1187
1182
  )) }) })
1188
1183
  ] })
1189
1184
  }
1190
1185
  );
1191
1186
  });
1187
+ xe(be);
1192
1188
  export {
1193
1189
  K as CLINICAL_CONDITIONS,
1194
- Ne as MIXED_DENTITION_LAYOUT,
1195
- Je as Odontogram,
1190
+ Ae as MIXED_DENTITION_LAYOUT,
1191
+ eo as Odontogram,
1196
1192
  $ as PERMANENT_DENTITION_LAYOUT,
1197
1193
  F as PRIMARY_DENTITION_LAYOUT
1198
1194
  };