@teja-app/ui 0.0.3 → 0.0.5

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 (43) hide show
  1. package/dist/components/Alert/Alert.d.ts +13 -0
  2. package/dist/components/Alert/Alert.d.ts.map +1 -0
  3. package/dist/components/Alert/Alert.types.d.ts +15 -0
  4. package/dist/components/Alert/Alert.types.d.ts.map +1 -0
  5. package/dist/components/Alert/index.d.ts +3 -0
  6. package/dist/components/Alert/index.d.ts.map +1 -0
  7. package/dist/components/Avatar/Avatar.d.ts +13 -0
  8. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  9. package/dist/components/Avatar/Avatar.types.d.ts +16 -0
  10. package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
  11. package/dist/components/Avatar/index.d.ts +3 -0
  12. package/dist/components/Avatar/index.d.ts.map +1 -0
  13. package/dist/components/DateInput/DateInput.d.ts +13 -0
  14. package/dist/components/DateInput/DateInput.d.ts.map +1 -0
  15. package/dist/components/DateInput/DateInput.types.d.ts +16 -0
  16. package/dist/components/DateInput/DateInput.types.d.ts.map +1 -0
  17. package/dist/components/DateInput/index.d.ts +3 -0
  18. package/dist/components/DateInput/index.d.ts.map +1 -0
  19. package/dist/components/OTPInput/OTPInput.d.ts +22 -0
  20. package/dist/components/OTPInput/OTPInput.d.ts.map +1 -0
  21. package/dist/components/OTPInput/OTPInput.types.d.ts +19 -0
  22. package/dist/components/OTPInput/OTPInput.types.d.ts.map +1 -0
  23. package/dist/components/OTPInput/index.d.ts +3 -0
  24. package/dist/components/OTPInput/index.d.ts.map +1 -0
  25. package/dist/components/PillSelector/PillSelector.d.ts +16 -0
  26. package/dist/components/PillSelector/PillSelector.d.ts.map +1 -0
  27. package/dist/components/PillSelector/PillSelector.types.d.ts +29 -0
  28. package/dist/components/PillSelector/PillSelector.types.d.ts.map +1 -0
  29. package/dist/components/PillSelector/index.d.ts +3 -0
  30. package/dist/components/PillSelector/index.d.ts.map +1 -0
  31. package/dist/components/Select/Select.d.ts +1 -1
  32. package/dist/components/Select/Select.d.ts.map +1 -1
  33. package/dist/components/Select/Select.types.d.ts +3 -0
  34. package/dist/components/Select/Select.types.d.ts.map +1 -1
  35. package/dist/components/Select/index.d.ts +1 -1
  36. package/dist/components/Select/index.d.ts.map +1 -1
  37. package/dist/components/index.d.ts +5 -0
  38. package/dist/components/index.d.ts.map +1 -1
  39. package/dist/index.cjs +586 -72
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.js +586 -72
  42. package/dist/index.js.map +1 -1
  43. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -23,7 +23,7 @@ function _interopNamespaceDefault(e2) {
23
23
  }
24
24
  const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
25
25
  const ReactDOM__namespace = /* @__PURE__ */ _interopNamespaceDefault(ReactDOM);
26
- const variantStyles$4 = {
26
+ const variantStyles$5 = {
27
27
  primary: [
28
28
  // Light mode
29
29
  "bg-primary-800 text-white border border-gold-500/40",
@@ -63,7 +63,7 @@ const variantStyles$4 = {
63
63
  "dark:focus:ring-error/30"
64
64
  ].join(" ")
65
65
  };
66
- const sizeStyles$b = {
66
+ const sizeStyles$d = {
67
67
  sm: "px-3 py-1.5 text-sm h-8",
68
68
  md: "px-4 py-2 text-base h-10",
69
69
  lg: "px-6 py-3 text-lg h-12"
@@ -93,9 +93,9 @@ const Button = React.forwardRef(
93
93
  "dark:focus:ring-offset-primary-900",
94
94
  "disabled:opacity-50 disabled:cursor-not-allowed",
95
95
  // Variant styles
96
- variantStyles$4[variant],
96
+ variantStyles$5[variant],
97
97
  // Size styles
98
- sizeStyles$b[size2],
98
+ sizeStyles$d[size2],
99
99
  // Width styles
100
100
  fullWidth && "w-full",
101
101
  // Custom className (allows override)
@@ -146,7 +146,7 @@ const Button = React.forwardRef(
146
146
  }
147
147
  );
148
148
  Button.displayName = "Button";
149
- const sizeStyles$a = {
149
+ const sizeStyles$c = {
150
150
  xs: "h-3 w-3",
151
151
  // 12px
152
152
  sm: "h-4 w-4",
@@ -176,7 +176,7 @@ const Spinner = React.forwardRef(
176
176
  ref,
177
177
  className: utils_index.cn(
178
178
  "animate-spin",
179
- sizeStyles$a[size2],
179
+ sizeStyles$c[size2],
180
180
  colorStyles[color],
181
181
  className
182
182
  ),
@@ -7240,7 +7240,8 @@ function Select({
7240
7240
  fullWidth = false,
7241
7241
  className,
7242
7242
  isLoading = false,
7243
- loadingText = "Loading..."
7243
+ loadingText = "Loading...",
7244
+ placement = "bottom"
7244
7245
  }) {
7245
7246
  const selectedOption = options.find((opt) => opt.value === value);
7246
7247
  const hasError = !!error2;
@@ -7314,43 +7315,52 @@ function Select({
7314
7315
  leave: "transition ease-in duration-100",
7315
7316
  leaveFrom: "opacity-100",
7316
7317
  leaveTo: "opacity-0",
7317
- children: /* @__PURE__ */ jsxRuntime.jsx(Bt, { className: "absolute z-dropdown mt-1 max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-sm shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none dark:bg-primary-800 dark:ring-primary-700", children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
7318
- It,
7318
+ children: /* @__PURE__ */ jsxRuntime.jsx(
7319
+ Bt,
7319
7320
  {
7320
- disabled: option.disabled,
7321
- value: option.value,
7322
- className: ({ active, selected }) => utils_index.cn(
7323
- "relative cursor-pointer select-none py-2.5 pl-10 pr-4",
7324
- // Light mode
7325
- active ? "bg-gold-50 text-primary-900" : "text-primary-900",
7326
- // Dark mode
7327
- active ? "dark:bg-primary-700 dark:text-primary-100" : "dark:text-primary-200",
7328
- option.disabled && "cursor-not-allowed opacity-50",
7329
- selected && "font-medium"
7321
+ className: utils_index.cn(
7322
+ "absolute z-dropdown max-h-60 w-full overflow-auto rounded-md bg-white py-1 text-sm shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none dark:bg-primary-800 dark:ring-primary-700",
7323
+ placement === "top" ? "bottom-full mb-1" : "top-full mt-1"
7330
7324
  ),
7331
- children: ({ selected }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7332
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate", children: option.label }),
7333
- selected && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3 text-gold-600 dark:text-gold-400", children: /* @__PURE__ */ jsxRuntime.jsx(
7334
- "svg",
7335
- {
7336
- className: "h-5 w-5",
7337
- fill: "currentColor",
7338
- viewBox: "0 0 20 20",
7339
- "aria-hidden": "true",
7340
- children: /* @__PURE__ */ jsxRuntime.jsx(
7341
- "path",
7325
+ children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
7326
+ It,
7327
+ {
7328
+ disabled: option.disabled,
7329
+ value: option.value,
7330
+ className: ({ active, selected }) => utils_index.cn(
7331
+ "relative cursor-pointer select-none py-2.5 pl-10 pr-4",
7332
+ // Light mode
7333
+ active ? "bg-gold-50 text-primary-900" : "text-primary-900",
7334
+ // Dark mode
7335
+ active ? "dark:bg-primary-700 dark:text-primary-100" : "dark:text-primary-200",
7336
+ option.disabled && "cursor-not-allowed opacity-50",
7337
+ selected && "font-medium"
7338
+ ),
7339
+ children: ({ selected }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7340
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate", children: option.label }),
7341
+ selected && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3 text-gold-600 dark:text-gold-400", children: /* @__PURE__ */ jsxRuntime.jsx(
7342
+ "svg",
7342
7343
  {
7343
- clipRule: "evenodd",
7344
- d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",
7345
- fillRule: "evenodd"
7344
+ className: "h-5 w-5",
7345
+ fill: "currentColor",
7346
+ viewBox: "0 0 20 20",
7347
+ "aria-hidden": "true",
7348
+ children: /* @__PURE__ */ jsxRuntime.jsx(
7349
+ "path",
7350
+ {
7351
+ clipRule: "evenodd",
7352
+ d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",
7353
+ fillRule: "evenodd"
7354
+ }
7355
+ )
7346
7356
  }
7347
- )
7348
- }
7349
- ) })
7350
- ] })
7351
- },
7352
- option.value
7353
- )) })
7357
+ ) })
7358
+ ] })
7359
+ },
7360
+ option.value
7361
+ ))
7362
+ }
7363
+ )
7354
7364
  }
7355
7365
  )
7356
7366
  ] }) }),
@@ -7387,7 +7397,7 @@ const CloseIcon$2 = () => /* @__PURE__ */ jsxRuntime.jsx(
7387
7397
  )
7388
7398
  }
7389
7399
  );
7390
- const sizeStyles$9 = {
7400
+ const sizeStyles$b = {
7391
7401
  sm: "max-w-[400px]",
7392
7402
  md: "max-w-[560px]",
7393
7403
  lg: "max-w-[720px]"
@@ -7440,7 +7450,7 @@ function Modal({
7440
7450
  "bg-white border border-primary-200",
7441
7451
  // Dark mode
7442
7452
  "dark:bg-primary-800 dark:border-primary-700",
7443
- sizeStyles$9[size2],
7453
+ sizeStyles$b[size2],
7444
7454
  className
7445
7455
  ),
7446
7456
  children: [
@@ -7518,7 +7528,7 @@ const CloseIcon$1 = () => /* @__PURE__ */ jsxRuntime.jsx(
7518
7528
  )
7519
7529
  }
7520
7530
  );
7521
- const sizeStyles$8 = {
7531
+ const sizeStyles$a = {
7522
7532
  sm: "max-w-[400px]",
7523
7533
  md: "max-w-[560px]",
7524
7534
  lg: "max-w-[720px]"
@@ -7567,7 +7577,7 @@ function Drawer({
7567
7577
  "bg-white border-l border-primary-200",
7568
7578
  // Dark mode
7569
7579
  "dark:bg-primary-800 dark:border-primary-700",
7570
- sizeStyles$8[size2],
7580
+ sizeStyles$a[size2],
7571
7581
  className
7572
7582
  ),
7573
7583
  children: [
@@ -7683,7 +7693,7 @@ const paddingStyles = {
7683
7693
  md: "p-6",
7684
7694
  lg: "p-8"
7685
7695
  };
7686
- const variantStyles$3 = {
7696
+ const variantStyles$4 = {
7687
7697
  default: [
7688
7698
  "shadow-sm border border-primary-200",
7689
7699
  "dark:border-primary-700"
@@ -7724,7 +7734,7 @@ const Card = React.forwardRef(
7724
7734
  // Padding
7725
7735
  paddingStyles[padding],
7726
7736
  // Variant
7727
- variantStyles$3[variant],
7737
+ variantStyles$4[variant],
7728
7738
  // Hover effect
7729
7739
  hoverable && [
7730
7740
  "cursor-pointer",
@@ -7740,7 +7750,7 @@ const Card = React.forwardRef(
7740
7750
  }
7741
7751
  );
7742
7752
  Card.displayName = "Card";
7743
- const sizeStyles$7 = {
7753
+ const sizeStyles$9 = {
7744
7754
  sm: "h-4 w-4",
7745
7755
  md: "h-5 w-5",
7746
7756
  lg: "h-6 w-6"
@@ -7810,7 +7820,7 @@ const Checkbox = React.forwardRef(
7810
7820
  "aria-describedby": errorId,
7811
7821
  onChange: handleChange,
7812
7822
  className: utils_index.cn(
7813
- sizeStyles$7[size2],
7823
+ sizeStyles$9[size2],
7814
7824
  "rounded border transition-colors",
7815
7825
  "focus:ring-2 focus:ring-offset-0",
7816
7826
  "disabled:cursor-not-allowed",
@@ -7864,7 +7874,7 @@ const Checkbox = React.forwardRef(
7864
7874
  }
7865
7875
  );
7866
7876
  Checkbox.displayName = "Checkbox";
7867
- const sizeStyles$6 = {
7877
+ const sizeStyles$8 = {
7868
7878
  sm: "h-4 w-4",
7869
7879
  md: "h-5 w-5",
7870
7880
  lg: "h-6 w-6"
@@ -7903,7 +7913,7 @@ const Radio = React.forwardRef(
7903
7913
  id: radioId,
7904
7914
  disabled,
7905
7915
  className: utils_index.cn(
7906
- sizeStyles$6[size2],
7916
+ sizeStyles$8[size2],
7907
7917
  "border transition-colors",
7908
7918
  "focus:ring-2 focus:ring-offset-0",
7909
7919
  "disabled:cursor-not-allowed",
@@ -8010,7 +8020,7 @@ function RadioGroup({
8010
8020
  ] });
8011
8021
  }
8012
8022
  RadioGroup.displayName = "RadioGroup";
8013
- const sizeStyles$5 = {
8023
+ const sizeStyles$7 = {
8014
8024
  sm: {
8015
8025
  switch: "h-5 w-9",
8016
8026
  dot: "h-3 w-3",
@@ -8037,7 +8047,7 @@ function Toggle({
8037
8047
  className,
8038
8048
  isLoading = false
8039
8049
  }) {
8040
- const currentSize = sizeStyles$5[size2];
8050
+ const currentSize = sizeStyles$7[size2];
8041
8051
  const isDisabled = disabled || isLoading;
8042
8052
  return /* @__PURE__ */ jsxRuntime.jsx(W, { className, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
8043
8053
  (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 mr-4", children: [
@@ -8274,7 +8284,7 @@ function Combobox({
8274
8284
  ] });
8275
8285
  }
8276
8286
  Combobox.displayName = "Combobox";
8277
- const variantStyles$2 = {
8287
+ const variantStyles$3 = {
8278
8288
  default: utils_index.cn(
8279
8289
  "bg-primary-100 text-primary-700 border-primary-200",
8280
8290
  "dark:bg-primary-800 dark:text-primary-200 dark:border-primary-700"
@@ -8300,7 +8310,7 @@ const variantStyles$2 = {
8300
8310
  "dark:bg-gold-900/50 dark:text-gold-300 dark:border-gold-700"
8301
8311
  )
8302
8312
  };
8303
- const sizeStyles$4 = {
8313
+ const sizeStyles$6 = {
8304
8314
  sm: "px-2 py-0.5 text-xs",
8305
8315
  md: "px-2.5 py-1 text-sm",
8306
8316
  lg: "px-3 py-1.5 text-base"
@@ -8313,8 +8323,8 @@ const Badge = React.forwardRef(
8313
8323
  ref,
8314
8324
  className: utils_index.cn(
8315
8325
  "inline-flex items-center justify-center font-medium rounded-full border",
8316
- variantStyles$2[variant],
8317
- sizeStyles$4[size2],
8326
+ variantStyles$3[variant],
8327
+ sizeStyles$6[size2],
8318
8328
  className
8319
8329
  ),
8320
8330
  ...props,
@@ -8472,7 +8482,7 @@ const TableCell = React.forwardRef(
8472
8482
  }
8473
8483
  );
8474
8484
  TableCell.displayName = "TableCell";
8475
- const sizeStyles$3 = {
8485
+ const sizeStyles$5 = {
8476
8486
  sm: "px-3 py-1.5 text-sm",
8477
8487
  md: "px-4 py-2 text-sm",
8478
8488
  lg: "px-5 py-2.5 text-base"
@@ -8521,7 +8531,7 @@ function Tabs({
8521
8531
  className: ({ selected }) => utils_index.cn(
8522
8532
  "relative outline-none transition-colors duration-normal",
8523
8533
  "focus-visible:ring-2 focus-visible:ring-gold-500/50",
8524
- sizeStyles$3[size2],
8534
+ sizeStyles$5[size2],
8525
8535
  fullWidth && "flex-1",
8526
8536
  // Default variant styles
8527
8537
  variant === "default" && [
@@ -8705,7 +8715,7 @@ const Breadcrumbs = React.forwardRef(
8705
8715
  }
8706
8716
  );
8707
8717
  Breadcrumbs.displayName = "Breadcrumbs";
8708
- const variantStyles$1 = {
8718
+ const variantStyles$2 = {
8709
8719
  text: "rounded",
8710
8720
  circular: "rounded-full",
8711
8721
  rectangular: "rounded-md"
@@ -8741,7 +8751,7 @@ const Skeleton = React.forwardRef(
8741
8751
  {
8742
8752
  className: utils_index.cn(
8743
8753
  "bg-primary-200 dark:bg-primary-700",
8744
- variantStyles$1[variant],
8754
+ variantStyles$2[variant],
8745
8755
  animate && "animate-pulse"
8746
8756
  ),
8747
8757
  style: {
@@ -8763,7 +8773,7 @@ const Skeleton = React.forwardRef(
8763
8773
  ref,
8764
8774
  className: utils_index.cn(
8765
8775
  "bg-primary-200 dark:bg-primary-700",
8766
- variantStyles$1[variant],
8776
+ variantStyles$2[variant],
8767
8777
  animate && "animate-pulse",
8768
8778
  className
8769
8779
  ),
@@ -8782,7 +8792,7 @@ const Skeleton = React.forwardRef(
8782
8792
  }
8783
8793
  );
8784
8794
  Skeleton.displayName = "Skeleton";
8785
- const defaultIcons = {
8795
+ const defaultIcons$1 = {
8786
8796
  "no-data": /* @__PURE__ */ jsxRuntime.jsx(
8787
8797
  "svg",
8788
8798
  {
@@ -8841,7 +8851,7 @@ const defaultIcons = {
8841
8851
  }
8842
8852
  )
8843
8853
  };
8844
- const sizeStyles$2 = {
8854
+ const sizeStyles$4 = {
8845
8855
  sm: {
8846
8856
  container: "py-6 px-4",
8847
8857
  icon: "w-10 h-10",
@@ -8877,7 +8887,7 @@ const EmptyState = React.forwardRef(
8877
8887
  className,
8878
8888
  ...props
8879
8889
  }, ref) => {
8880
- const styles = sizeStyles$2[size2];
8890
+ const styles = sizeStyles$4[size2];
8881
8891
  return /* @__PURE__ */ jsxRuntime.jsxs(
8882
8892
  "div",
8883
8893
  {
@@ -8889,7 +8899,7 @@ const EmptyState = React.forwardRef(
8889
8899
  ),
8890
8900
  ...props,
8891
8901
  children: [
8892
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_index.cn(styles.icon, typeColors[type], "mb-4"), children: icon || defaultIcons[type] }),
8902
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_index.cn(styles.icon, typeColors[type], "mb-4"), children: icon || defaultIcons$1[type] }),
8893
8903
  /* @__PURE__ */ jsxRuntime.jsx(
8894
8904
  "h3",
8895
8905
  {
@@ -8921,7 +8931,7 @@ const EmptyState = React.forwardRef(
8921
8931
  EmptyState.displayName = "EmptyState";
8922
8932
  const ChevronLeftIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) });
8923
8933
  const ChevronRightIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) });
8924
- const sizeStyles$1 = {
8934
+ const sizeStyles$3 = {
8925
8935
  sm: { button: "h-8 min-w-8 px-2 text-sm", text: "text-sm" },
8926
8936
  md: { button: "h-10 min-w-10 px-3 text-sm", text: "text-sm" }
8927
8937
  };
@@ -8971,7 +8981,7 @@ function Pagination({
8971
8981
  className
8972
8982
  }) {
8973
8983
  const pageSizeId = React.useId();
8974
- const currentSize = sizeStyles$1[size2];
8984
+ const currentSize = sizeStyles$3[size2];
8975
8985
  const canGoPrevious = currentPage > 1;
8976
8986
  const canGoNext = currentPage < totalPages;
8977
8987
  const pageNumbers = React.useMemo(
@@ -9518,7 +9528,7 @@ function isItemActive(currentPath, href, matcher = "exact") {
9518
9528
  return false;
9519
9529
  }
9520
9530
  }
9521
- const sizeStyles = {
9531
+ const sizeStyles$2 = {
9522
9532
  sm: "px-2 py-1.5 text-xs gap-2",
9523
9533
  md: "px-3 py-2.5 text-sm gap-3",
9524
9534
  lg: "px-4 py-3 text-base gap-3"
@@ -9609,7 +9619,7 @@ function SidebarItem({
9609
9619
  "focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:ring-offset-2",
9610
9620
  "dark:focus:ring-offset-primary-900",
9611
9621
  // Size styles
9612
- sizeStyles[size2],
9622
+ sizeStyles$2[size2],
9613
9623
  // State styles
9614
9624
  item.disabled && "opacity-50 cursor-not-allowed",
9615
9625
  !item.disabled && !isActive && [
@@ -9641,7 +9651,7 @@ function SidebarItem({
9641
9651
  "focus:outline-none focus:ring-2 focus:ring-primary-500/20 focus:ring-offset-2",
9642
9652
  "dark:focus:ring-offset-primary-900",
9643
9653
  // Size styles
9644
- sizeStyles[size2],
9654
+ sizeStyles$2[size2],
9645
9655
  // State styles
9646
9656
  item.disabled && "opacity-50 cursor-not-allowed pointer-events-none",
9647
9657
  !item.disabled && !isActive && [
@@ -9742,7 +9752,7 @@ const SidebarDivider = React.forwardRef(
9742
9752
  }
9743
9753
  );
9744
9754
  SidebarDivider.displayName = "SidebarDivider";
9745
- const variantStyles = {
9755
+ const variantStyles$1 = {
9746
9756
  default: [
9747
9757
  "bg-white border-r border-gold-500/40",
9748
9758
  "dark:bg-primary-900 dark:border-gold-500/20"
@@ -9925,7 +9935,7 @@ const Sidebar = React.forwardRef(
9925
9935
  // Mobile styles
9926
9936
  isOpen ? "translate-x-0" : "-translate-x-full",
9927
9937
  // Variant styles
9928
- variantStyles[variant],
9938
+ variantStyles$1[variant],
9929
9939
  className
9930
9940
  ),
9931
9941
  style: { width: sidebarWidth },
@@ -9938,6 +9948,505 @@ const Sidebar = React.forwardRef(
9938
9948
  }
9939
9949
  );
9940
9950
  Sidebar.displayName = "Sidebar";
9951
+ const CheckCircleIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) });
9952
+ const XCircleIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) });
9953
+ const ExclamationCircleIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z" }) });
9954
+ const InformationCircleIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" }) });
9955
+ const XMarkIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-5 w-5", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18L18 6M6 6l12 12" }) });
9956
+ const defaultIcons = {
9957
+ success: /* @__PURE__ */ jsxRuntime.jsx(CheckCircleIcon, {}),
9958
+ error: /* @__PURE__ */ jsxRuntime.jsx(XCircleIcon, {}),
9959
+ warning: /* @__PURE__ */ jsxRuntime.jsx(ExclamationCircleIcon, {}),
9960
+ info: /* @__PURE__ */ jsxRuntime.jsx(InformationCircleIcon, {})
9961
+ };
9962
+ const variantStyles = {
9963
+ success: {
9964
+ container: utils_index.cn(
9965
+ "bg-success-light border-success/20 text-[#166534]",
9966
+ "dark:bg-success/10 dark:border-success/30 dark:text-[#86efac]"
9967
+ ),
9968
+ icon: "text-success dark:text-[#4ade80]",
9969
+ title: "text-[#14532d] dark:text-[#bbf7d0]"
9970
+ },
9971
+ error: {
9972
+ container: utils_index.cn(
9973
+ "bg-error-light border-error/20 text-[#991b1b]",
9974
+ "dark:bg-error/10 dark:border-error/30 dark:text-[#fca5a5]"
9975
+ ),
9976
+ icon: "text-error dark:text-[#f87171]",
9977
+ title: "text-[#7f1d1d] dark:text-[#fecaca]"
9978
+ },
9979
+ warning: {
9980
+ container: utils_index.cn(
9981
+ "bg-warning-light border-warning/20 text-[#854d0e]",
9982
+ "dark:bg-warning/10 dark:border-warning/30 dark:text-[#fde047]"
9983
+ ),
9984
+ icon: "text-warning dark:text-[#facc15]",
9985
+ title: "text-[#713f12] dark:text-[#fef08a]"
9986
+ },
9987
+ info: {
9988
+ container: utils_index.cn(
9989
+ "bg-info-light border-info/20 text-[#1e40af]",
9990
+ "dark:bg-info/10 dark:border-info/30 dark:text-[#93c5fd]"
9991
+ ),
9992
+ icon: "text-info dark:text-[#60a5fa]",
9993
+ title: "text-[#1e3a8a] dark:text-[#bfdbfe]"
9994
+ }
9995
+ };
9996
+ const Alert = React.forwardRef(
9997
+ ({ variant = "info", title, message, icon, onClose, className, ...props }, ref) => {
9998
+ const styles = variantStyles[variant];
9999
+ const displayIcon = icon === null ? null : icon ?? defaultIcons[variant];
10000
+ return /* @__PURE__ */ jsxRuntime.jsx(
10001
+ "div",
10002
+ {
10003
+ ref,
10004
+ role: "alert",
10005
+ className: utils_index.cn(
10006
+ "rounded-lg border p-4",
10007
+ styles.container,
10008
+ className
10009
+ ),
10010
+ ...props,
10011
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start", children: [
10012
+ displayIcon !== null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_index.cn("flex-shrink-0", styles.icon), "aria-hidden": "true", children: displayIcon }),
10013
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_index.cn("flex-1", displayIcon !== null && "ml-3"), children: [
10014
+ title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: utils_index.cn("text-sm font-medium", styles.title), children: title }),
10015
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_index.cn("text-sm", title && "mt-1"), children: message })
10016
+ ] }),
10017
+ onClose && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-3 flex-shrink-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
10018
+ "button",
10019
+ {
10020
+ type: "button",
10021
+ onClick: onClose,
10022
+ className: utils_index.cn(
10023
+ "inline-flex rounded-md p-1.5",
10024
+ "hover:opacity-75 focus:outline-none focus:ring-2 focus:ring-offset-2",
10025
+ "focus:ring-current/20",
10026
+ "dark:focus:ring-offset-primary-900"
10027
+ ),
10028
+ children: [
10029
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Dismiss" }),
10030
+ /* @__PURE__ */ jsxRuntime.jsx(XMarkIcon, {})
10031
+ ]
10032
+ }
10033
+ ) })
10034
+ ] })
10035
+ }
10036
+ );
10037
+ }
10038
+ );
10039
+ Alert.displayName = "Alert";
10040
+ const sizeStyles$1 = {
10041
+ xs: { container: "w-6 h-6", text: "text-xs", status: "w-2 h-2 border" },
10042
+ sm: { container: "w-8 h-8", text: "text-sm", status: "w-2.5 h-2.5 border" },
10043
+ md: { container: "w-10 h-10", text: "text-base", status: "w-3 h-3 border-2" },
10044
+ lg: { container: "w-12 h-12", text: "text-lg", status: "w-3.5 h-3.5 border-2" },
10045
+ xl: { container: "w-16 h-16", text: "text-2xl", status: "w-4 h-4 border-2" }
10046
+ };
10047
+ const statusStyles = {
10048
+ online: "bg-success",
10049
+ offline: "bg-primary-400 dark:bg-primary-500",
10050
+ away: "bg-warning",
10051
+ busy: "bg-error"
10052
+ };
10053
+ const Avatar = React.forwardRef(
10054
+ ({ name, src, size: size2 = "md", alt, status, className, ...props }, ref) => {
10055
+ const getInitials = (fullName) => {
10056
+ const names = fullName.trim().split(" ");
10057
+ if (names.length === 1) {
10058
+ return names[0]?.charAt(0).toUpperCase() || "";
10059
+ }
10060
+ const firstName = names[0];
10061
+ const lastName = names[names.length - 1];
10062
+ return ((firstName?.charAt(0) || "") + (lastName?.charAt(0) || "")).toUpperCase();
10063
+ };
10064
+ const initials = getInitials(name);
10065
+ const styles = sizeStyles$1[size2];
10066
+ return /* @__PURE__ */ jsxRuntime.jsxs(
10067
+ "div",
10068
+ {
10069
+ ref,
10070
+ className: utils_index.cn(
10071
+ "relative inline-flex items-center justify-center",
10072
+ "rounded-full font-medium",
10073
+ // Light mode
10074
+ "bg-gold-500 text-white",
10075
+ // Dark mode
10076
+ "dark:bg-gold-600 dark:text-white",
10077
+ styles.container,
10078
+ className
10079
+ ),
10080
+ ...props,
10081
+ children: [
10082
+ src ? /* @__PURE__ */ jsxRuntime.jsx(
10083
+ "img",
10084
+ {
10085
+ src,
10086
+ alt: alt || `${name}'s avatar`,
10087
+ className: "w-full h-full rounded-full object-cover"
10088
+ }
10089
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.text, children: initials }),
10090
+ status && /* @__PURE__ */ jsxRuntime.jsx(
10091
+ "span",
10092
+ {
10093
+ role: "status",
10094
+ className: utils_index.cn(
10095
+ "absolute bottom-0 right-0 rounded-full",
10096
+ "border-white dark:border-primary-900",
10097
+ styles.status,
10098
+ statusStyles[status]
10099
+ ),
10100
+ "aria-label": `Status: ${status}`
10101
+ }
10102
+ )
10103
+ ]
10104
+ }
10105
+ );
10106
+ }
10107
+ );
10108
+ Avatar.displayName = "Avatar";
10109
+ const OTPInput = ({
10110
+ length = 6,
10111
+ value,
10112
+ onChange,
10113
+ error: error2,
10114
+ disabled = false,
10115
+ autoFocus = false,
10116
+ label = "One-time password",
10117
+ className
10118
+ }) => {
10119
+ const inputRefs = React.useRef([]);
10120
+ const digits = value.split("").slice(0, length);
10121
+ while (digits.length < length) {
10122
+ digits.push("");
10123
+ }
10124
+ const focusInput = React.useCallback((index2) => {
10125
+ const input = inputRefs.current[index2];
10126
+ if (input) {
10127
+ input.focus();
10128
+ input.select();
10129
+ }
10130
+ }, []);
10131
+ const handleChange = React.useCallback(
10132
+ (index2, event_) => {
10133
+ const newValue = event_.target.value;
10134
+ if (!/^\d*$/.test(newValue)) return;
10135
+ const digit = newValue.slice(-1);
10136
+ const newDigits = [...digits];
10137
+ newDigits[index2] = digit;
10138
+ const newOtp = newDigits.join("");
10139
+ onChange(newOtp);
10140
+ if (digit && index2 < length - 1) {
10141
+ focusInput(index2 + 1);
10142
+ }
10143
+ },
10144
+ [digits, length, onChange, focusInput]
10145
+ );
10146
+ const handleKeyDown = React.useCallback(
10147
+ (index2, event_) => {
10148
+ switch (event_.key) {
10149
+ case "Backspace":
10150
+ if (!digits[index2] && index2 > 0) {
10151
+ event_.preventDefault();
10152
+ const newDigits = [...digits];
10153
+ newDigits[index2 - 1] = "";
10154
+ onChange(newDigits.join(""));
10155
+ focusInput(index2 - 1);
10156
+ } else if (digits[index2]) {
10157
+ const newDigits = [...digits];
10158
+ newDigits[index2] = "";
10159
+ onChange(newDigits.join(""));
10160
+ }
10161
+ break;
10162
+ case "ArrowLeft":
10163
+ event_.preventDefault();
10164
+ if (index2 > 0) {
10165
+ focusInput(index2 - 1);
10166
+ }
10167
+ break;
10168
+ case "ArrowRight":
10169
+ event_.preventDefault();
10170
+ if (index2 < length - 1) {
10171
+ focusInput(index2 + 1);
10172
+ }
10173
+ break;
10174
+ case "Delete": {
10175
+ event_.preventDefault();
10176
+ const newDigits = [...digits];
10177
+ newDigits[index2] = "";
10178
+ onChange(newDigits.join(""));
10179
+ break;
10180
+ }
10181
+ }
10182
+ },
10183
+ [digits, length, onChange, focusInput]
10184
+ );
10185
+ const handlePaste = React.useCallback(
10186
+ (event_) => {
10187
+ event_.preventDefault();
10188
+ const pastedData = event_.clipboardData.getData("text");
10189
+ const pastedDigits = pastedData.replace(/\D/g, "").slice(0, length);
10190
+ if (pastedDigits) {
10191
+ onChange(pastedDigits);
10192
+ const focusIndex = Math.min(pastedDigits.length, length - 1);
10193
+ focusInput(focusIndex);
10194
+ }
10195
+ },
10196
+ [length, onChange, focusInput]
10197
+ );
10198
+ const errorId = error2 ? "otp-input-error" : void 0;
10199
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_index.cn("w-full", className), "data-testid": "otp-input", children: [
10200
+ /* @__PURE__ */ jsxRuntime.jsx(
10201
+ "div",
10202
+ {
10203
+ role: "group",
10204
+ "aria-label": label,
10205
+ "aria-describedby": errorId,
10206
+ className: "flex justify-center gap-2 sm:gap-3",
10207
+ children: digits.map((digit, index2) => /* @__PURE__ */ jsxRuntime.jsx(
10208
+ "input",
10209
+ {
10210
+ ref: (element) => {
10211
+ inputRefs.current[index2] = element;
10212
+ },
10213
+ type: "text",
10214
+ inputMode: "numeric",
10215
+ pattern: "\\d*",
10216
+ maxLength: 1,
10217
+ value: digit,
10218
+ disabled,
10219
+ autoFocus: autoFocus && index2 === 0,
10220
+ "aria-label": `Digit ${index2 + 1} of ${length}`,
10221
+ "aria-invalid": !!error2,
10222
+ "data-testid": `otp-input-digit-${index2}`,
10223
+ className: utils_index.cn(
10224
+ "w-10 h-12 sm:w-12 sm:h-14",
10225
+ "text-center text-xl sm:text-2xl font-semibold",
10226
+ "border-2 rounded-lg",
10227
+ "focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",
10228
+ "transition-colors duration-200",
10229
+ // Light mode
10230
+ error2 ? "border-error bg-error-light" : "border-primary-300 bg-white",
10231
+ // Dark mode
10232
+ error2 ? "dark:border-error dark:bg-error/10" : "dark:border-primary-600 dark:bg-primary-900 dark:text-white",
10233
+ "dark:focus:ring-primary-400 dark:focus:border-primary-400",
10234
+ disabled && "bg-primary-100 cursor-not-allowed opacity-50 dark:bg-primary-800"
10235
+ ),
10236
+ onChange: (event_) => handleChange(index2, event_),
10237
+ onKeyDown: (event_) => handleKeyDown(index2, event_),
10238
+ onPaste: handlePaste,
10239
+ onFocus: (event_) => event_.target.select()
10240
+ },
10241
+ index2
10242
+ ))
10243
+ }
10244
+ ),
10245
+ error2 && /* @__PURE__ */ jsxRuntime.jsx(
10246
+ "p",
10247
+ {
10248
+ id: errorId,
10249
+ role: "alert",
10250
+ "aria-live": "assertive",
10251
+ "data-testid": "otp-input-error",
10252
+ className: utils_index.cn(
10253
+ "mt-2 text-sm text-center",
10254
+ "text-error dark:text-[#fca5a5]"
10255
+ ),
10256
+ children: error2
10257
+ }
10258
+ )
10259
+ ] });
10260
+ };
10261
+ const DateInput = React.forwardRef(
10262
+ ({
10263
+ value,
10264
+ onChange,
10265
+ label,
10266
+ error: error2,
10267
+ helperText,
10268
+ fullWidth = false,
10269
+ disabled = false,
10270
+ className,
10271
+ id,
10272
+ required,
10273
+ min: min2,
10274
+ max: max2,
10275
+ ...props
10276
+ }, ref) => {
10277
+ const inputId = id || label?.toLowerCase().replace(/\s+/g, "-");
10278
+ const hasError = !!error2;
10279
+ const errorId = hasError ? `${inputId}-error` : void 0;
10280
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_index.cn(fullWidth ? "w-full" : "w-auto"), children: [
10281
+ label && /* @__PURE__ */ jsxRuntime.jsxs(
10282
+ "label",
10283
+ {
10284
+ htmlFor: inputId,
10285
+ className: "mb-2 block text-sm font-medium text-primary-700 dark:text-white",
10286
+ children: [
10287
+ label,
10288
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 text-error", children: "*" })
10289
+ ]
10290
+ }
10291
+ ),
10292
+ /* @__PURE__ */ jsxRuntime.jsx(
10293
+ "input",
10294
+ {
10295
+ ref,
10296
+ type: "date",
10297
+ id: inputId,
10298
+ "data-testid": "date-input",
10299
+ value: value || "",
10300
+ onChange: (event_) => onChange(event_.target.value || null),
10301
+ disabled,
10302
+ required,
10303
+ min: min2,
10304
+ max: max2,
10305
+ "aria-label": label ? void 0 : "Select date",
10306
+ "aria-invalid": hasError ? "true" : void 0,
10307
+ "aria-describedby": errorId,
10308
+ className: utils_index.cn(
10309
+ // Base styles - Light mode
10310
+ "block w-full rounded-md border bg-white px-4 py-2.5 text-sm text-primary-900",
10311
+ "transition-colors duration-normal",
10312
+ "focus:outline-none focus:ring-2",
10313
+ "disabled:cursor-not-allowed disabled:bg-primary-50 disabled:text-primary-500",
10314
+ // Base styles - Dark mode
10315
+ "dark:bg-primary-800 dark:text-primary-100",
10316
+ "dark:disabled:bg-primary-900 dark:disabled:text-primary-600",
10317
+ // Border and focus styles
10318
+ hasError ? "border-error focus:border-error focus:ring-error/20 dark:border-error/70 dark:focus:ring-error/30" : "border-primary-300 focus:border-gold-500 focus:ring-gold-500/20 dark:border-primary-600 dark:focus:border-gold-400 dark:focus:ring-gold-400/30",
10319
+ // Custom className
10320
+ className
10321
+ ),
10322
+ ...props
10323
+ }
10324
+ ),
10325
+ (error2 || helperText) && /* @__PURE__ */ jsxRuntime.jsx(
10326
+ "p",
10327
+ {
10328
+ id: errorId,
10329
+ role: hasError ? "alert" : void 0,
10330
+ className: utils_index.cn(
10331
+ "mt-1.5 text-sm",
10332
+ hasError ? "text-error" : "text-primary-500 dark:text-primary-400"
10333
+ ),
10334
+ children: error2 || helperText
10335
+ }
10336
+ )
10337
+ ] });
10338
+ }
10339
+ );
10340
+ DateInput.displayName = "DateInput";
10341
+ const sizeStyles = {
10342
+ sm: "px-2.5 py-1 text-xs gap-1",
10343
+ md: "px-3 py-1.5 text-sm gap-1.5",
10344
+ lg: "px-4 py-2 text-base gap-2"
10345
+ };
10346
+ const checkmarkSize = {
10347
+ sm: "w-3 h-3",
10348
+ md: "w-4 h-4",
10349
+ lg: "w-5 h-5"
10350
+ };
10351
+ const PillSelector = React.forwardRef(
10352
+ ({
10353
+ options,
10354
+ selected,
10355
+ onChange,
10356
+ multiple = true,
10357
+ size: size2 = "md",
10358
+ label,
10359
+ fullWidth = false,
10360
+ disabled = false,
10361
+ className,
10362
+ ...props
10363
+ }, ref) => {
10364
+ const handleClick = (value) => {
10365
+ if (disabled) return;
10366
+ if (multiple) {
10367
+ if (selected.includes(value)) {
10368
+ onChange(selected.filter((v2) => v2 !== value));
10369
+ } else {
10370
+ onChange([...selected, value]);
10371
+ }
10372
+ } else {
10373
+ onChange([value]);
10374
+ }
10375
+ };
10376
+ return /* @__PURE__ */ jsxRuntime.jsxs(
10377
+ "div",
10378
+ {
10379
+ ref,
10380
+ className: utils_index.cn(fullWidth ? "w-full" : "w-auto", className),
10381
+ ...props,
10382
+ children: [
10383
+ label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-sm font-medium text-primary-700 dark:text-white", children: label }),
10384
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", role: "group", "aria-label": label, children: options.map((option) => {
10385
+ const isSelected = selected.includes(option.value);
10386
+ return /* @__PURE__ */ jsxRuntime.jsxs(
10387
+ "button",
10388
+ {
10389
+ type: "button",
10390
+ disabled,
10391
+ "aria-pressed": isSelected,
10392
+ onClick: () => handleClick(option.value),
10393
+ className: utils_index.cn(
10394
+ "inline-flex items-center justify-center rounded-full border font-medium",
10395
+ "transition-colors duration-normal",
10396
+ "focus:outline-none focus:ring-2 focus:ring-offset-1",
10397
+ "disabled:cursor-not-allowed disabled:opacity-50",
10398
+ sizeStyles[size2],
10399
+ isSelected ? utils_index.cn(
10400
+ // Light mode - selected
10401
+ "border-primary-700 bg-primary-700 text-white",
10402
+ "hover:bg-primary-800 hover:border-primary-800",
10403
+ "focus:ring-primary-500/30",
10404
+ // Dark mode - selected
10405
+ "dark:border-gold-500 dark:bg-gold-500 dark:text-primary-900",
10406
+ "dark:hover:bg-gold-400 dark:hover:border-gold-400",
10407
+ "dark:focus:ring-gold-400/30"
10408
+ ) : utils_index.cn(
10409
+ // Light mode - unselected
10410
+ "border-primary-300 bg-white text-primary-700",
10411
+ "hover:border-primary-400 hover:bg-primary-50",
10412
+ "focus:ring-primary-500/20",
10413
+ // Dark mode - unselected
10414
+ "dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200",
10415
+ "dark:hover:border-primary-500 dark:hover:bg-primary-700",
10416
+ "dark:focus:ring-primary-400/20"
10417
+ )
10418
+ ),
10419
+ children: [
10420
+ isSelected && /* @__PURE__ */ jsxRuntime.jsx(
10421
+ "svg",
10422
+ {
10423
+ className: checkmarkSize[size2],
10424
+ fill: "currentColor",
10425
+ viewBox: "0 0 20 20",
10426
+ "aria-hidden": "true",
10427
+ children: /* @__PURE__ */ jsxRuntime.jsx(
10428
+ "path",
10429
+ {
10430
+ fillRule: "evenodd",
10431
+ clipRule: "evenodd",
10432
+ d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"
10433
+ }
10434
+ )
10435
+ }
10436
+ ),
10437
+ option.icon,
10438
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: option.label })
10439
+ ]
10440
+ },
10441
+ option.value
10442
+ );
10443
+ }) })
10444
+ ]
10445
+ }
10446
+ );
10447
+ }
10448
+ );
10449
+ PillSelector.displayName = "PillSelector";
9941
10450
  exports.useDebounce = useSidebar.useDebounce;
9942
10451
  exports.useDebouncedCallback = useSidebar.useDebouncedCallback;
9943
10452
  exports.useDebouncedCallbackWithControl = useSidebar.useDebouncedCallbackWithControl;
@@ -9945,6 +10454,8 @@ exports.useSelection = useSidebar.useSelection;
9945
10454
  exports.useSidebar = useSidebar.useSidebar;
9946
10455
  exports.useTable = useSidebar.useTable;
9947
10456
  exports.cn = utils_index.cn;
10457
+ exports.Alert = Alert;
10458
+ exports.Avatar = Avatar;
9948
10459
  exports.Badge = Badge;
9949
10460
  exports.Breadcrumbs = Breadcrumbs;
9950
10461
  exports.Button = Button;
@@ -9952,13 +10463,16 @@ exports.Card = Card;
9952
10463
  exports.Checkbox = Checkbox;
9953
10464
  exports.Combobox = Combobox;
9954
10465
  exports.ConfirmDialog = ConfirmDialog;
10466
+ exports.DateInput = DateInput;
9955
10467
  exports.Drawer = Drawer;
9956
10468
  exports.EmptyState = EmptyState;
9957
10469
  exports.Input = Input;
9958
10470
  exports.Modal = Modal;
9959
10471
  exports.MultiSelect = MultiSelect;
10472
+ exports.OTPInput = OTPInput;
9960
10473
  exports.Pagination = Pagination;
9961
10474
  exports.PasswordInput = PasswordInput;
10475
+ exports.PillSelector = PillSelector;
9962
10476
  exports.Radio = Radio;
9963
10477
  exports.RadioGroup = RadioGroup;
9964
10478
  exports.Select = Select;