@flamingo-stack/openframe-frontend-core 0.0.248 → 0.0.249

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/{chunk-AGU44B7B.js → chunk-2FCXJTOV.js} +55 -357
  2. package/dist/chunk-2FCXJTOV.js.map +1 -0
  3. package/dist/{chunk-QHYCWQBH.cjs → chunk-3DZ7QYNA.cjs} +166 -15
  4. package/dist/chunk-3DZ7QYNA.cjs.map +1 -0
  5. package/dist/{chunk-4VSPLMB6.cjs → chunk-3VTHSACO.cjs} +34 -32
  6. package/dist/chunk-3VTHSACO.cjs.map +1 -0
  7. package/dist/{chunk-PMYD4WKR.cjs → chunk-4EED3YEI.cjs} +1550 -5971
  8. package/dist/chunk-4EED3YEI.cjs.map +1 -0
  9. package/dist/{chunk-RV2PYHCJ.js → chunk-4HHYUEMD.js} +3 -3
  10. package/dist/{chunk-UECRKCKH.js → chunk-4RDJZIHW.js} +115 -279
  11. package/dist/chunk-4RDJZIHW.js.map +1 -0
  12. package/dist/{chunk-672QV33W.js → chunk-5ZVPKTXM.js} +167 -16
  13. package/dist/chunk-5ZVPKTXM.js.map +1 -0
  14. package/dist/chunk-6JINAOI7.cjs +311 -0
  15. package/dist/chunk-6JINAOI7.cjs.map +1 -0
  16. package/dist/chunk-6LK4VEXE.cjs +4514 -0
  17. package/dist/chunk-6LK4VEXE.cjs.map +1 -0
  18. package/dist/chunk-DAAFVOTL.cjs +172 -0
  19. package/dist/chunk-DAAFVOTL.cjs.map +1 -0
  20. package/dist/{chunk-27VVOBDB.cjs → chunk-ELF4OOHC.cjs} +16 -180
  21. package/dist/chunk-ELF4OOHC.cjs.map +1 -0
  22. package/dist/{chunk-OZKPUBKX.cjs → chunk-LHZYI23D.cjs} +32 -30
  23. package/dist/chunk-LHZYI23D.cjs.map +1 -0
  24. package/dist/chunk-LKI3YCAX.js +4514 -0
  25. package/dist/chunk-LKI3YCAX.js.map +1 -0
  26. package/dist/{chunk-2Q5GVNXP.cjs → chunk-LZL6P7SN.cjs} +12 -12
  27. package/dist/{chunk-2Q5GVNXP.cjs.map → chunk-LZL6P7SN.cjs.map} +1 -1
  28. package/dist/chunk-M2OCXTNT.js +311 -0
  29. package/dist/chunk-M2OCXTNT.js.map +1 -0
  30. package/dist/{chunk-OTFJKBDW.js → chunk-PCXI7ZB2.js} +4928 -9349
  31. package/dist/chunk-PCXI7ZB2.js.map +1 -0
  32. package/dist/{chunk-PJT6RRSP.js → chunk-PVAYXHYF.js} +7 -5
  33. package/dist/{chunk-PJT6RRSP.js.map → chunk-PVAYXHYF.js.map} +1 -1
  34. package/dist/{chunk-GRTZ23GL.cjs → chunk-TU26IZPO.cjs} +16 -318
  35. package/dist/chunk-TU26IZPO.cjs.map +1 -0
  36. package/dist/{chunk-NFUXCXYN.js → chunk-VAKBNCV6.js} +7 -5
  37. package/dist/{chunk-NFUXCXYN.js.map → chunk-VAKBNCV6.js.map} +1 -1
  38. package/dist/chunk-ZXZJSTNV.js +172 -0
  39. package/dist/chunk-ZXZJSTNV.js.map +1 -0
  40. package/dist/components/chat/index.cjs +11 -7
  41. package/dist/components/chat/index.cjs.map +1 -1
  42. package/dist/components/chat/index.js +53 -49
  43. package/dist/components/contact/index.cjs +11 -8
  44. package/dist/components/contact/index.cjs.map +1 -1
  45. package/dist/components/contact/index.js +10 -7
  46. package/dist/components/features/index.cjs +11 -7
  47. package/dist/components/features/index.cjs.map +1 -1
  48. package/dist/components/features/index.js +26 -22
  49. package/dist/components/index.cjs +112 -109
  50. package/dist/components/index.cjs.map +1 -1
  51. package/dist/components/index.js +134 -131
  52. package/dist/components/index.js.map +1 -1
  53. package/dist/components/navigation/index.cjs +10 -7
  54. package/dist/components/navigation/index.cjs.map +1 -1
  55. package/dist/components/navigation/index.js +9 -6
  56. package/dist/components/onboarding-guides/index.cjs +43 -53
  57. package/dist/components/onboarding-guides/index.cjs.map +1 -1
  58. package/dist/components/onboarding-guides/index.js +25 -35
  59. package/dist/components/onboarding-guides/index.js.map +1 -1
  60. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +11 -11
  61. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
  62. package/dist/components/related-content/index.cjs +11 -8
  63. package/dist/components/related-content/index.cjs.map +1 -1
  64. package/dist/components/related-content/index.js +10 -7
  65. package/dist/components/tickets/index.cjs +96 -93
  66. package/dist/components/tickets/index.cjs.map +1 -1
  67. package/dist/components/tickets/index.js +21 -18
  68. package/dist/components/tickets/index.js.map +1 -1
  69. package/dist/components/ui/file-manager/index.cjs +52 -50
  70. package/dist/components/ui/file-manager/index.cjs.map +1 -1
  71. package/dist/components/ui/file-manager/index.js +6 -4
  72. package/dist/components/ui/file-manager/index.js.map +1 -1
  73. package/dist/components/ui/index.cjs +16 -11
  74. package/dist/components/ui/index.cjs.map +1 -1
  75. package/dist/components/ui/index.js +102 -97
  76. package/dist/contexts/index.cjs +2 -2
  77. package/dist/contexts/index.js +5 -5
  78. package/dist/hooks/index.cjs +6 -4
  79. package/dist/hooks/index.cjs.map +1 -1
  80. package/dist/hooks/index.js +8 -6
  81. package/dist/index.cjs +17 -11
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.js +157 -151
  84. package/package.json +1 -1
  85. package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +28 -33
  86. package/dist/chunk-27VVOBDB.cjs.map +0 -1
  87. package/dist/chunk-4VSPLMB6.cjs.map +0 -1
  88. package/dist/chunk-672QV33W.js.map +0 -1
  89. package/dist/chunk-AGU44B7B.js.map +0 -1
  90. package/dist/chunk-GRTZ23GL.cjs.map +0 -1
  91. package/dist/chunk-OTFJKBDW.js.map +0 -1
  92. package/dist/chunk-OZKPUBKX.cjs.map +0 -1
  93. package/dist/chunk-PMYD4WKR.cjs.map +0 -1
  94. package/dist/chunk-QHYCWQBH.cjs.map +0 -1
  95. package/dist/chunk-QWYJETDL.cjs +0 -162
  96. package/dist/chunk-QWYJETDL.cjs.map +0 -1
  97. package/dist/chunk-UECRKCKH.js.map +0 -1
  98. package/dist/chunk-WTTLEGEO.js +0 -162
  99. package/dist/chunk-WTTLEGEO.js.map +0 -1
  100. /package/dist/{chunk-RV2PYHCJ.js.map → chunk-4HHYUEMD.js.map} +0 -0
@@ -7,9 +7,6 @@ import {
7
7
  cn,
8
8
  init_cn
9
9
  } from "./chunk-XTCBRQN2.js";
10
- import {
11
- CheckboxCheckmarkIcon
12
- } from "./chunk-6U3IUD57.js";
13
10
  import {
14
11
  __esm
15
12
  } from "./chunk-GGWZFCYS.js";
@@ -38,8 +35,8 @@ var init_button_styles = __esm({
38
35
  // src/components/ui/button/button.tsx
39
36
  import { Slot } from "@radix-ui/react-slot";
40
37
  import { cva } from "class-variance-authority";
41
- import React3 from "react";
42
- import { Fragment, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
38
+ import React from "react";
39
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
43
40
  var buttonVariants, splitShellVariants, splitSlotVariants, Spinner, Button;
44
41
  var init_button = __esm({
45
42
  "src/components/ui/button/button.tsx"() {
@@ -146,9 +143,9 @@ var init_button = __esm({
146
143
  defaultVariants: { slot: "main", size: "default", variant: "accent" }
147
144
  }
148
145
  );
149
- Spinner = () => /* @__PURE__ */ jsxs3("svg", { className: "animate-spin", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
150
- /* @__PURE__ */ jsx3("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
151
- /* @__PURE__ */ jsx3(
146
+ Spinner = () => /* @__PURE__ */ jsxs("svg", { className: "animate-spin", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
147
+ /* @__PURE__ */ jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
148
+ /* @__PURE__ */ jsx(
152
149
  "path",
153
150
  {
154
151
  className: "opacity-75",
@@ -157,7 +154,7 @@ var init_button = __esm({
157
154
  }
158
155
  )
159
156
  ] });
160
- Button = React3.forwardRef(function Button2({
157
+ Button = React.forwardRef(function Button2({
161
158
  className,
162
159
  variant,
163
160
  size,
@@ -188,16 +185,16 @@ var init_button = __esm({
188
185
  );
189
186
  const mainSlotClass = splitSlotVariants({ slot: "main", size: safeSize, variant: safeVariant });
190
187
  const iconSlotClass = splitSlotVariants({ slot: "icon", size: safeSize, variant: safeVariant });
191
- const splitContent = /* @__PURE__ */ jsxs3(Fragment, { children: [
192
- /* @__PURE__ */ jsxs3("span", { className: cn("contents", loading && "invisible"), children: [
193
- /* @__PURE__ */ jsxs3("span", { className: mainSlotClass, children: [
194
- leftIcon && /* @__PURE__ */ jsx3("span", { className: "inline-flex items-center", children: leftIcon }),
188
+ const splitContent = /* @__PURE__ */ jsxs(Fragment, { children: [
189
+ /* @__PURE__ */ jsxs("span", { className: cn("contents", loading && "invisible"), children: [
190
+ /* @__PURE__ */ jsxs("span", { className: mainSlotClass, children: [
191
+ leftIcon && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: leftIcon }),
195
192
  children,
196
- rightIcon && /* @__PURE__ */ jsx3("span", { className: "inline-flex items-center", children: rightIcon })
193
+ rightIcon && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: rightIcon })
197
194
  ] }),
198
- /* @__PURE__ */ jsx3("span", { "aria-hidden": "true", className: iconSlotClass, children: splitIcon })
195
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: iconSlotClass, children: splitIcon })
199
196
  ] }),
200
- loading && /* @__PURE__ */ jsx3("span", { className: "absolute inset-0 inline-flex items-center justify-center text-ods-text-primary", children: /* @__PURE__ */ jsx3(Spinner, {}) })
197
+ loading && /* @__PURE__ */ jsx("span", { className: "absolute inset-0 inline-flex items-center justify-center text-ods-text-primary", children: /* @__PURE__ */ jsx(Spinner, {}) })
201
198
  ] });
202
199
  const splitAnchor = linkProps ?? (href ? {
203
200
  href,
@@ -206,7 +203,7 @@ var init_button = __esm({
206
203
  onClick
207
204
  } : null);
208
205
  if (splitAnchor) {
209
- return /* @__PURE__ */ jsx3(
206
+ return /* @__PURE__ */ jsx(
210
207
  next_link_default,
211
208
  {
212
209
  href: splitAnchor.href,
@@ -221,7 +218,7 @@ var init_button = __esm({
221
218
  }
222
219
  );
223
220
  }
224
- return /* @__PURE__ */ jsx3(
221
+ return /* @__PURE__ */ jsx(
225
222
  "button",
226
223
  {
227
224
  ref,
@@ -235,15 +232,15 @@ var init_button = __esm({
235
232
  }
236
233
  const classes = cn(buttonVariants({ variant, size, fullWidth, noPaddingX }), className);
237
234
  if (asChild) {
238
- return /* @__PURE__ */ jsx3(Slot, { ref, className: classes, ...props, children });
235
+ return /* @__PURE__ */ jsx(Slot, { ref, className: classes, ...props, children });
239
236
  }
240
- const content = /* @__PURE__ */ jsxs3(Fragment, { children: [
241
- /* @__PURE__ */ jsxs3("span", { className: cn("contents", loading && "invisible"), children: [
242
- leftIcon && /* @__PURE__ */ jsx3("span", { className: "inline-flex items-center", children: leftIcon }),
237
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
238
+ /* @__PURE__ */ jsxs("span", { className: cn("contents", loading && "invisible"), children: [
239
+ leftIcon && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: leftIcon }),
243
240
  children,
244
- rightIcon && /* @__PURE__ */ jsx3("span", { className: "inline-flex items-center", children: rightIcon })
241
+ rightIcon && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center", children: rightIcon })
245
242
  ] }),
246
- loading && /* @__PURE__ */ jsx3("span", { className: "absolute inset-0 inline-flex items-center justify-center text-ods-text-primary", children: /* @__PURE__ */ jsx3(Spinner, {}) })
243
+ loading && /* @__PURE__ */ jsx("span", { className: "absolute inset-0 inline-flex items-center justify-center text-ods-text-primary", children: /* @__PURE__ */ jsx(Spinner, {}) })
247
244
  ] });
248
245
  const anchor = linkProps ?? (href ? {
249
246
  href,
@@ -252,7 +249,7 @@ var init_button = __esm({
252
249
  onClick
253
250
  } : null);
254
251
  if (anchor) {
255
- return /* @__PURE__ */ jsx3(
252
+ return /* @__PURE__ */ jsx(
256
253
  next_link_default,
257
254
  {
258
255
  href: anchor.href,
@@ -267,7 +264,7 @@ var init_button = __esm({
267
264
  }
268
265
  );
269
266
  }
270
- return /* @__PURE__ */ jsx3(
267
+ return /* @__PURE__ */ jsx(
271
268
  "button",
272
269
  {
273
270
  ref,
@@ -284,12 +281,12 @@ var init_button = __esm({
284
281
 
285
282
  // src/components/ui/button/split-button.tsx
286
283
  import { cva as cva2 } from "class-variance-authority";
287
- import React4 from "react";
288
- import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
284
+ import React2 from "react";
285
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
289
286
  function Half({ variant, size, side, href, openInNewTab, prefetch, onClick, disabled, type = "button", ariaLabel, children }) {
290
287
  const classes = splitHalfVariants({ variant, size, side });
291
288
  if (href) {
292
- return /* @__PURE__ */ jsx4(
289
+ return /* @__PURE__ */ jsx2(
293
290
  next_link_default,
294
291
  {
295
292
  href,
@@ -305,7 +302,7 @@ function Half({ variant, size, side, href, openInNewTab, prefetch, onClick, disa
305
302
  }
306
303
  );
307
304
  }
308
- return /* @__PURE__ */ jsx4(
305
+ return /* @__PURE__ */ jsx2(
309
306
  "button",
310
307
  {
311
308
  type,
@@ -371,7 +368,7 @@ var init_split_button = __esm({
371
368
  ],
372
369
  defaultVariants: { variant: "accent", size: "default", side: "main" }
373
370
  });
374
- SplitButton = React4.forwardRef(function SplitButton2({
371
+ SplitButton = React2.forwardRef(function SplitButton2({
375
372
  variant = "accent",
376
373
  size = "default",
377
374
  fullWidth = false,
@@ -390,7 +387,7 @@ var init_split_button = __esm({
390
387
  "aria-label": ariaLabel,
391
388
  groupAriaLabel
392
389
  }, ref) {
393
- return /* @__PURE__ */ jsxs4(
390
+ return /* @__PURE__ */ jsxs2(
394
391
  "div",
395
392
  {
396
393
  ref,
@@ -398,7 +395,7 @@ var init_split_button = __esm({
398
395
  "aria-label": groupAriaLabel,
399
396
  className: cn("inline-flex items-stretch", fullWidth && "w-full", className),
400
397
  children: [
401
- /* @__PURE__ */ jsxs4(
398
+ /* @__PURE__ */ jsxs2(
402
399
  Half,
403
400
  {
404
401
  variant,
@@ -412,13 +409,13 @@ var init_split_button = __esm({
412
409
  type,
413
410
  ariaLabel,
414
411
  children: [
415
- leftIcon && /* @__PURE__ */ jsx4("span", { className: "inline-flex items-center", children: leftIcon }),
416
- /* @__PURE__ */ jsx4("span", { children }),
417
- rightIcon && /* @__PURE__ */ jsx4("span", { className: "inline-flex items-center", children: rightIcon })
412
+ leftIcon && /* @__PURE__ */ jsx2("span", { className: "inline-flex items-center", children: leftIcon }),
413
+ /* @__PURE__ */ jsx2("span", { children }),
414
+ rightIcon && /* @__PURE__ */ jsx2("span", { className: "inline-flex items-center", children: rightIcon })
418
415
  ]
419
416
  }
420
417
  ),
421
- /* @__PURE__ */ jsx4(
418
+ /* @__PURE__ */ jsx2(
422
419
  Half,
423
420
  {
424
421
  variant,
@@ -430,7 +427,7 @@ var init_split_button = __esm({
430
427
  onClick: iconAction.onClick,
431
428
  disabled: disabled || iconAction.disabled,
432
429
  ariaLabel: iconAction["aria-label"],
433
- children: /* @__PURE__ */ jsx4("span", { className: "inline-flex items-center", children: iconAction.icon })
430
+ children: /* @__PURE__ */ jsx2("span", { className: "inline-flex items-center", children: iconAction.icon })
434
431
  }
435
432
  )
436
433
  ]
@@ -449,173 +446,30 @@ var init_button2 = __esm({
449
446
  }
450
447
  });
451
448
 
452
- // src/components/ui/field-wrapper.tsx
453
- init_cn();
454
- import * as React from "react";
455
- import { jsx, jsxs } from "react/jsx-runtime";
456
- var errorVariantClasses = {
457
- error: "text-ods-error",
458
- warning: "text-[var(--ods-attention-yellow-warning)]"
459
- };
460
- var FieldWrapper = React.forwardRef(
461
- ({ label, error, errorVariant = "error", className, children }, ref) => {
462
- const hasChrome = label != null || error != null;
463
- return /* @__PURE__ */ jsxs("div", { ref, className: cn(hasChrome ? "relative flex w-full flex-col" : "contents", className), children: [
464
- label && /* @__PURE__ */ jsx("label", { className: "text-h4 text-ods-text-primary mb-1", children: label }),
465
- children,
466
- error && /* @__PURE__ */ jsx("p", { className: cn("absolute bottom-0 left-0 right-0 translate-y-full text-h6 truncate", errorVariantClasses[errorVariant]), title: error, children: error })
467
- ] });
468
- }
469
- );
470
- FieldWrapper.displayName = "FieldWrapper";
471
-
472
- // src/components/ui/input.tsx
473
- init_cn();
474
- import * as React2 from "react";
475
- import { Loader2 } from "lucide-react";
476
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
477
- var invalidBorderClasses = {
478
- error: "border-ods-error hover:border-ods-error has-[:focus]:border-ods-error",
479
- warning: "!border-[var(--ods-attention-yellow-warning)] hover:!border-[var(--ods-attention-yellow-warning)] has-[:focus]:!border-[var(--ods-attention-yellow-warning)]"
480
- };
481
- var Input = React2.forwardRef(
482
- ({ className, type, invalid = false, startAdornment, endAdornment, label, error, errorVariant = "error", loading = false, ...props }, ref) => {
483
- const isInvalid = invalid || !!error;
484
- if (type === "range") {
485
- const rangeInput = /* @__PURE__ */ jsx2(
486
- "input",
487
- {
488
- type: "range",
489
- className: cn(
490
- "w-full cursor-pointer appearance-none rounded-full bg-white/30 h-1",
491
- // Webkit (Chrome/Safari) thumb
492
- "[&::-webkit-slider-thumb]:appearance-none",
493
- "[&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3",
494
- "[&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white",
495
- "[&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:shadow-sm",
496
- // Firefox thumb
497
- "[&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:h-3",
498
- "[&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-white",
499
- "[&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer",
500
- // Firefox track
501
- "[&::-moz-range-track]:bg-transparent",
502
- // Disabled
503
- "disabled:cursor-not-allowed disabled:opacity-50",
504
- className
505
- ),
506
- ref,
507
- ...props
508
- }
509
- );
510
- return label ? /* @__PURE__ */ jsx2(FieldWrapper, { label, error, errorVariant, children: rangeInput }) : rangeInput;
511
- }
512
- const content = /* @__PURE__ */ jsxs2(
513
- "label",
514
- {
515
- "data-invalid": isInvalid || void 0,
516
- className: cn(
517
- // Layout & spacing
518
- "flex w-full items-center gap-2 rounded-[6px] border px-3 h-11 md:h-12 cursor-text",
519
- // Focus-within states
520
- "has-[:focus-visible]:outline-none",
521
- "group",
522
- // Animations & touch UX
523
- "transition-colors duration-200",
524
- // Theme palette
525
- "bg-ods-card border-ods-border has-[:focus]:border-ods-accent",
526
- // Hover & active (not disabled)
527
- !props.disabled && "hover:bg-ods-bg-hover hover:border-ods-border-hover active:bg-ods-bg-active active:border-ods-border-active",
528
- // Disabled
529
- props.disabled && "!cursor-not-allowed bg-ods-bg",
530
- // Invalid
531
- isInvalid && invalidBorderClasses[errorVariant],
532
- className
533
- ),
534
- children: [
535
- startAdornment && /* @__PURE__ */ jsx2("span", { className: "text-h6 flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent group-data-[invalid]:text-ods-error [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment }),
536
- /* @__PURE__ */ jsx2(
537
- "input",
538
- {
539
- type,
540
- className: cn(
541
- // Layout
542
- "flex-1 min-w-0 bg-transparent border-none outline-none",
543
- // Typography
544
- "text-h4",
545
- // Colors
546
- "text-ods-text-primary placeholder:text-ods-text-secondary",
547
- // File input adjustments
548
- "file:border-0 file:bg-transparent",
549
- // Disabled
550
- "disabled:cursor-not-allowed disabled:text-ods-text-disabled disabled:placeholder:text-ods-border",
551
- // Touch
552
- "touch-manipulation",
553
- // Autofill override
554
- "[&:-webkit-autofill]:[-webkit-box-shadow:0_0_0_9999px_transparent_inset] [&:-webkit-autofill]:[-webkit-text-fill-color:var(--color-text-primary)] [&:-webkit-autofill]:[caret-color:var(--color-text-primary)] [&:-webkit-autofill]:[transition:background-color_9999s_ease-in-out_0s]"
555
- ),
556
- ref,
557
- ...props
558
- }
559
- ),
560
- loading && /* @__PURE__ */ jsx2(Loader2, { className: "animate-spin flex-shrink-0 text-ods-text-secondary size-4 md:size-6" }),
561
- !loading && endAdornment && /* @__PURE__ */ jsx2("span", { className: "text-h6 flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent group-data-[invalid]:text-ods-error [&_svg]:size-4 md:[&_svg]:size-6", children: endAdornment })
562
- ]
563
- }
564
- );
565
- return /* @__PURE__ */ jsx2(FieldWrapper, { label, error, errorVariant, children: content });
566
- }
567
- );
568
- Input.displayName = "Input";
569
-
570
- // src/components/ui/checkbox.tsx
571
- init_cn();
572
- import * as React5 from "react";
573
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
574
- import { jsx as jsx5 } from "react/jsx-runtime";
575
- var Checkbox = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
576
- CheckboxPrimitive.Root,
577
- {
578
- ref,
579
- className: cn(
580
- "peer h-4 w-4 shrink-0 rounded-sm border border-ods-border bg-ods-card focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-ods-accent data-[state=checked]:border-ods-accent",
581
- className
582
- ),
583
- ...props,
584
- children: /* @__PURE__ */ jsx5(
585
- CheckboxPrimitive.Indicator,
586
- {
587
- className: cn("flex items-center justify-center text-ods-text-on-accent"),
588
- children: /* @__PURE__ */ jsx5(CheckboxCheckmarkIcon, { size: 10 })
589
- }
590
- )
591
- }
592
- ));
593
- Checkbox.displayName = CheckboxPrimitive.Root.displayName;
594
-
595
449
  // src/components/ui/dropdown-menu.tsx
596
450
  init_cn();
597
- import * as React7 from "react";
451
+ import * as React4 from "react";
598
452
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
599
453
  import { Check, ChevronRight, Circle } from "lucide-react";
600
454
 
601
455
  // src/components/ui/portal-container.tsx
602
- import * as React6 from "react";
603
- var PortalContainerContext = React6.createContext(
456
+ import * as React3 from "react";
457
+ var PortalContainerContext = React3.createContext(
604
458
  null
605
459
  );
606
460
  function usePortalContainer() {
607
- return React6.useContext(PortalContainerContext);
461
+ return React3.useContext(PortalContainerContext);
608
462
  }
609
463
 
610
464
  // src/components/ui/dropdown-menu.tsx
611
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
465
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
612
466
  var DropdownMenu = DropdownMenuPrimitive.Root;
613
467
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
614
468
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
615
469
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
616
470
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
617
471
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
618
- var DropdownMenuSubTrigger = React7.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
472
+ var DropdownMenuSubTrigger = React4.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs3(
619
473
  DropdownMenuPrimitive.SubTrigger,
620
474
  {
621
475
  ref,
@@ -627,12 +481,12 @@ var DropdownMenuSubTrigger = React7.forwardRef(({ className, inset, children, ..
627
481
  ...props,
628
482
  children: [
629
483
  children,
630
- /* @__PURE__ */ jsx6(ChevronRight, { className: "ml-auto" })
484
+ /* @__PURE__ */ jsx3(ChevronRight, { className: "ml-auto" })
631
485
  ]
632
486
  }
633
487
  ));
634
488
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
635
- var DropdownMenuSubContent = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
489
+ var DropdownMenuSubContent = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
636
490
  DropdownMenuPrimitive.SubContent,
637
491
  {
638
492
  ref,
@@ -644,9 +498,9 @@ var DropdownMenuSubContent = React7.forwardRef(({ className, ...props }, ref) =>
644
498
  }
645
499
  ));
646
500
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
647
- var DropdownMenuContent = React7.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
501
+ var DropdownMenuContent = React4.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
648
502
  const container = usePortalContainer();
649
- return /* @__PURE__ */ jsx6(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx6(
503
+ return /* @__PURE__ */ jsx3(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx3(
650
504
  DropdownMenuPrimitive.Content,
651
505
  {
652
506
  ref,
@@ -660,7 +514,7 @@ var DropdownMenuContent = React7.forwardRef(({ className, sideOffset = 4, ...pro
660
514
  ) });
661
515
  });
662
516
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
663
- var DropdownMenuItem = React7.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx6(
517
+ var DropdownMenuItem = React4.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx3(
664
518
  DropdownMenuPrimitive.Item,
665
519
  {
666
520
  ref,
@@ -673,7 +527,7 @@ var DropdownMenuItem = React7.forwardRef(({ className, inset, ...props }, ref) =
673
527
  }
674
528
  ));
675
529
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
676
- var DropdownMenuCheckboxItem = React7.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs5(
530
+ var DropdownMenuCheckboxItem = React4.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs3(
677
531
  DropdownMenuPrimitive.CheckboxItem,
678
532
  {
679
533
  ref,
@@ -684,13 +538,13 @@ var DropdownMenuCheckboxItem = React7.forwardRef(({ className, children, checked
684
538
  checked,
685
539
  ...props,
686
540
  children: [
687
- /* @__PURE__ */ jsx6("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx6(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx6(Check, { className: "h-4 w-4" }) }) }),
541
+ /* @__PURE__ */ jsx3("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx3(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx3(Check, { className: "h-4 w-4" }) }) }),
688
542
  children
689
543
  ]
690
544
  }
691
545
  ));
692
546
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
693
- var DropdownMenuRadioItem = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
547
+ var DropdownMenuRadioItem = React4.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(
694
548
  DropdownMenuPrimitive.RadioItem,
695
549
  {
696
550
  ref,
@@ -700,13 +554,13 @@ var DropdownMenuRadioItem = React7.forwardRef(({ className, children, ...props }
700
554
  ),
701
555
  ...props,
702
556
  children: [
703
- /* @__PURE__ */ jsx6("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx6(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx6(Circle, { className: "h-2 w-2 fill-ods-accent" }) }) }),
557
+ /* @__PURE__ */ jsx3("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx3(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx3(Circle, { className: "h-2 w-2 fill-ods-accent" }) }) }),
704
558
  children
705
559
  ]
706
560
  }
707
561
  ));
708
562
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
709
- var DropdownMenuLabel = React7.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx6(
563
+ var DropdownMenuLabel = React4.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx3(
710
564
  DropdownMenuPrimitive.Label,
711
565
  {
712
566
  ref,
@@ -719,7 +573,7 @@ var DropdownMenuLabel = React7.forwardRef(({ className, inset, ...props }, ref)
719
573
  }
720
574
  ));
721
575
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
722
- var DropdownMenuSeparator = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
576
+ var DropdownMenuSeparator = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
723
577
  DropdownMenuPrimitive.Separator,
724
578
  {
725
579
  ref,
@@ -732,7 +586,7 @@ var DropdownMenuShortcut = ({
732
586
  className,
733
587
  ...props
734
588
  }) => {
735
- return /* @__PURE__ */ jsx6(
589
+ return /* @__PURE__ */ jsx3(
736
590
  "span",
737
591
  {
738
592
  className: cn("ml-auto text-xs tracking-widest text-ods-text-secondary opacity-60", className),
@@ -742,160 +596,12 @@ var DropdownMenuShortcut = ({
742
596
  };
743
597
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
744
598
 
745
- // src/components/ui/skeleton.tsx
746
- init_cn();
747
- import * as React8 from "react";
748
- import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
749
- var Skeleton = React8.forwardRef(
750
- ({ className, ...props }, ref) => {
751
- return /* @__PURE__ */ jsx7(
752
- "div",
753
- {
754
- ref,
755
- className: cn(
756
- "animate-pulse rounded-md bg-ods-border",
757
- className
758
- ),
759
- ...props
760
- }
761
- );
762
- }
763
- );
764
- Skeleton.displayName = "Skeleton";
765
- var SkeletonText = React8.forwardRef(
766
- ({ lines = 1, className, ...props }, ref) => {
767
- return /* @__PURE__ */ jsx7("div", { ref, className: cn("space-y-2", className), ...props, children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx7(
768
- Skeleton,
769
- {
770
- className: cn(
771
- "h-4",
772
- i === lines - 1 && lines > 1 && "w-3/4"
773
- // Last line shorter for multi-line
774
- )
775
- },
776
- i
777
- )) });
778
- }
779
- );
780
- SkeletonText.displayName = "SkeletonText";
781
- var SkeletonCard = React8.forwardRef(
782
- ({ showImage = false, className, ...props }, ref) => {
783
- return /* @__PURE__ */ jsxs6(
784
- "div",
785
- {
786
- ref,
787
- className: cn(
788
- "rounded-lg border border-ods-border overflow-hidden",
789
- className
790
- ),
791
- ...props,
792
- children: [
793
- showImage && /* @__PURE__ */ jsx7(Skeleton, { className: "h-48 w-full" }),
794
- /* @__PURE__ */ jsxs6("div", { className: "p-6", children: [
795
- /* @__PURE__ */ jsx7(Skeleton, { className: "h-6 w-3/4 mb-4" }),
796
- /* @__PURE__ */ jsx7(SkeletonText, { lines: 3 })
797
- ] })
798
- ]
799
- }
800
- );
801
- }
802
- );
803
- SkeletonCard.displayName = "SkeletonCard";
804
- var SkeletonGrid = React8.forwardRef(
805
- ({ columns = 3, items = 6, showImages = false, className, ...props }, ref) => {
806
- return /* @__PURE__ */ jsx7(
807
- "div",
808
- {
809
- ref,
810
- className: cn(
811
- `grid grid-cols-1 gap-6`,
812
- columns === 2 && "md:grid-cols-2",
813
- columns === 3 && "md:grid-cols-3",
814
- columns === 4 && "md:grid-cols-4",
815
- className
816
- ),
817
- ...props,
818
- children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsx7(SkeletonCard, { showImage: showImages }, i))
819
- }
820
- );
821
- }
822
- );
823
- SkeletonGrid.displayName = "SkeletonGrid";
824
- var SkeletonButton = React8.forwardRef(
825
- ({ size = "default", className, ...props }, ref) => {
826
- const sizeClasses = {
827
- sm: "h-8 w-20",
828
- default: "h-10 w-32",
829
- lg: "h-12 w-40"
830
- };
831
- return /* @__PURE__ */ jsx7(
832
- Skeleton,
833
- {
834
- ref,
835
- className: cn(
836
- "rounded-lg",
837
- sizeClasses[size],
838
- className
839
- ),
840
- ...props
841
- }
842
- );
843
- }
844
- );
845
- SkeletonButton.displayName = "SkeletonButton";
846
- var SkeletonHeading = React8.forwardRef(
847
- ({ level = 1, className, ...props }, ref) => {
848
- const heightClasses = {
849
- 1: "h-12",
850
- 2: "h-10",
851
- 3: "h-8",
852
- 4: "h-7",
853
- 5: "h-6",
854
- 6: "h-5"
855
- };
856
- return /* @__PURE__ */ jsx7(
857
- Skeleton,
858
- {
859
- ref,
860
- className: cn(
861
- heightClasses[level],
862
- "w-3/4",
863
- className
864
- ),
865
- ...props
866
- }
867
- );
868
- }
869
- );
870
- SkeletonHeading.displayName = "SkeletonHeading";
871
- var SkeletonList = React8.forwardRef(
872
- ({ items = 5, className, ...props }, ref) => {
873
- return /* @__PURE__ */ jsx7("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-3", children: [
874
- /* @__PURE__ */ jsx7(Skeleton, { className: "h-10 w-10 rounded-full flex-shrink-0" }),
875
- /* @__PURE__ */ jsxs6("div", { className: "flex-1", children: [
876
- /* @__PURE__ */ jsx7(Skeleton, { className: "h-4 w-1/3 mb-1" }),
877
- /* @__PURE__ */ jsx7(Skeleton, { className: "h-3 w-1/2" })
878
- ] })
879
- ] }, i)) });
880
- }
881
- );
882
- SkeletonList.displayName = "SkeletonList";
883
- var SkeletonNavigation = React8.forwardRef(
884
- ({ items = 6, className, ...props }, ref) => {
885
- return /* @__PURE__ */ jsx7("div", { ref, className: cn("flex items-center gap-6", className), ...props, children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsx7(Skeleton, { className: "h-5 w-20" }, i)) });
886
- }
887
- );
888
- SkeletonNavigation.displayName = "SkeletonNavigation";
889
-
890
599
  export {
891
- FieldWrapper,
892
- Input,
893
600
  buttonVariants,
894
601
  Button,
895
602
  init_button,
896
603
  SplitButton,
897
604
  init_button2,
898
- Checkbox,
899
605
  PortalContainerContext,
900
606
  usePortalContainer,
901
607
  DropdownMenu,
@@ -912,14 +618,6 @@ export {
912
618
  DropdownMenuRadioItem,
913
619
  DropdownMenuLabel,
914
620
  DropdownMenuSeparator,
915
- DropdownMenuShortcut,
916
- Skeleton,
917
- SkeletonText,
918
- SkeletonCard,
919
- SkeletonGrid,
920
- SkeletonButton,
921
- SkeletonHeading,
922
- SkeletonList,
923
- SkeletonNavigation
621
+ DropdownMenuShortcut
924
622
  };
925
- //# sourceMappingURL=chunk-AGU44B7B.js.map
623
+ //# sourceMappingURL=chunk-2FCXJTOV.js.map