@giddaa-housing/ui 3.1.0 → 3.2.0

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 (63) hide show
  1. package/css/generated/shared.css +1 -1
  2. package/css/giddaa.css +12 -3
  3. package/css/theme.css +4 -1
  4. package/dist/accordion.js +2 -2
  5. package/dist/activity-timeline.js +2 -2
  6. package/dist/alert.js +1 -1
  7. package/dist/breadcrumb.js +3 -3
  8. package/dist/button.js +2 -2
  9. package/dist/calendar.js +3 -3
  10. package/dist/call-card.js +1 -1
  11. package/dist/carousel.js +3 -3
  12. package/dist/chart.js +1 -1
  13. package/dist/chat.js +1 -1
  14. package/dist/checkbox.js +2 -2
  15. package/dist/combobox.js +6 -6
  16. package/dist/cta.js +3 -3
  17. package/dist/currency-selector.d.ts +10 -8
  18. package/dist/currency-selector.js +247 -28
  19. package/dist/data-table.js +2 -2
  20. package/dist/date-picker.js +6 -6
  21. package/dist/dialog.js +2 -2
  22. package/dist/dropdown-menu.js +20 -20
  23. package/dist/dropzone.js +1 -1
  24. package/dist/editorial-card.d.ts +20 -11
  25. package/dist/editorial-card.js +67 -2
  26. package/dist/file-upload.js +1 -1
  27. package/dist/filter.js +1 -1
  28. package/dist/footer.js +1 -1
  29. package/dist/icons.d.ts +93 -0
  30. package/dist/icons.js +905 -0
  31. package/dist/infinite-scroll.js +1 -1
  32. package/dist/input-otp.js +2 -2
  33. package/dist/kpi-card.js +1 -1
  34. package/dist/match.js +1 -1
  35. package/dist/media-gallery-hero.js +1 -1
  36. package/dist/media-player.js +59 -48
  37. package/dist/message.js +1 -1
  38. package/dist/mobile-sidebar.js +4 -4
  39. package/dist/multi-step-form.js +2 -2
  40. package/dist/number-input.js +3 -3
  41. package/dist/pagination.js +4 -4
  42. package/dist/password-input.js +1 -1
  43. package/dist/phone-input.js +4 -4
  44. package/dist/photo-gallery.js +3 -3
  45. package/dist/price-tag.js +1 -1
  46. package/dist/rich-text-editor.js +4 -4
  47. package/dist/search-input.js +1 -1
  48. package/dist/select.js +6 -6
  49. package/dist/sheet.js +2 -2
  50. package/dist/sidebar.js +1 -1
  51. package/dist/stepper.js +2 -2
  52. package/dist/styles.css +176 -17
  53. package/dist/tag.js +1 -1
  54. package/dist/testimonial-block.js +1 -1
  55. package/dist/theme-switcher.d.ts +31 -0
  56. package/dist/theme-switcher.js +78 -0
  57. package/dist/time-picker.js +2 -2
  58. package/dist/toast.d.ts +38 -10
  59. package/dist/toast.js +55 -52
  60. package/dist/top-navbar.js +3 -3
  61. package/dist/video-player-dialog.d.ts +57 -0
  62. package/dist/video-player-dialog.js +188 -0
  63. package/package.json +13 -2
package/css/giddaa.css CHANGED
@@ -144,7 +144,10 @@
144
144
  --color-action-danger: var(--color-clay-500);
145
145
  --color-action-danger-hover: var(--color-clay-600);
146
146
  --color-action-danger-pressed: var(--color-clay-700);
147
- --color-whatsapp-button: #00d158;
147
+ --color-whatsapp-green: #00d158;
148
+ /* Deprecated alias for --color-whatsapp-green. Kept so `bg-whatsapp-button`
149
+ keeps resolving for consumers on 3.x; remove in the next major. */
150
+ --color-whatsapp-button: var(--color-whatsapp-green);
148
151
 
149
152
  --color-status-success: var(--color-forest-500);
150
153
  --color-status-warning: var(--color-brass-400);
@@ -324,7 +327,10 @@
324
327
  --color-action-danger: var(--color-clay-500);
325
328
  --color-action-danger-hover: var(--color-clay-600);
326
329
  --color-action-danger-pressed: var(--color-clay-700);
327
- --color-whatsapp-button: #00d158;
330
+ --color-whatsapp-green: #00d158;
331
+ /* Deprecated alias for --color-whatsapp-green. Kept so `bg-whatsapp-button`
332
+ keeps resolving for consumers on 3.x; remove in the next major. */
333
+ --color-whatsapp-button: var(--color-whatsapp-green);
328
334
 
329
335
  --color-status-success: var(--color-forest-500);
330
336
  --color-status-warning: var(--color-brass-400);
@@ -479,7 +485,10 @@
479
485
  --color-action-danger: var(--color-clay-400);
480
486
  --color-action-danger-hover: var(--color-clay-500);
481
487
  --color-action-danger-pressed: var(--color-clay-600);
482
- --color-whatsapp-button: #00d158;
488
+ --color-whatsapp-green: #00d158;
489
+ /* Deprecated alias for --color-whatsapp-green. Kept so `bg-whatsapp-button`
490
+ keeps resolving for consumers on 3.x; remove in the next major. */
491
+ --color-whatsapp-button: var(--color-whatsapp-green);
483
492
 
484
493
  --color-status-success: var(--color-forest-dark-300);
485
494
  --color-status-warning: var(--color-brass-200);
package/css/theme.css CHANGED
@@ -115,7 +115,10 @@
115
115
  --color-action-danger: #ef4444;
116
116
  --color-action-danger-hover: #dc2626;
117
117
  --color-action-danger-pressed: #b91c1c;
118
- --color-whatsapp-button: #00d158;
118
+ --color-whatsapp-green: #00d158;
119
+ /* Deprecated alias for --color-whatsapp-green. Kept so `bg-whatsapp-button`
120
+ keeps resolving for consumers on 3.x; remove in the next major. */
121
+ --color-whatsapp-button: var(--color-whatsapp-green);
119
122
 
120
123
  --color-status-success: #16a34a;
121
124
  --color-status-warning: #d97706;
package/dist/accordion.js CHANGED
@@ -1,6 +1,6 @@
1
+ import { ChevronRight } from "./icons.js";
1
2
  import { t as cn } from "./cn-BI_4DMBf.js";
2
3
  import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
3
- import { ChevronRightIcon } from "lucide-react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/accordion.tsx
6
6
  function Accordion({ className, variant = "surface", ...props }) {
@@ -26,7 +26,7 @@ function AccordionTrigger({ className, children, ...props }) {
26
26
  "data-slot": "accordion-trigger",
27
27
  className: cn("group/accordion-trigger flex w-full items-center gap-3 px-4 sm:px-5 py-5.5 aria-expanded:pb-2 text-left text-gdt-md font-semibold text-fg-primary outline-none transition-[padding] aria-disabled:pointer-events-none aria-disabled:opacity-50", className),
28
28
  ...props,
29
- children: [/* @__PURE__ */ jsx(ChevronRightIcon, {
29
+ children: [/* @__PURE__ */ jsx(ChevronRight, {
30
30
  "data-slot": "accordion-trigger-icon",
31
31
  className: "pointer-events-none size-5 shrink-0 text-fg-primary transition-[rotate] duration-200 ease-out motion-reduce:transition-none group-aria-expanded/accordion-trigger:rotate-90"
32
32
  }), children]
@@ -1,8 +1,8 @@
1
1
  "use client";
2
+ import { ChevronRight } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
4
5
  import { Badge } from "./badge.js";
5
- import { ChevronRightIcon } from "lucide-react";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/activity-timeline.tsx
8
8
  function ActivityTimeline({ className, ...props }) {
@@ -82,7 +82,7 @@ function ActivityTimelineBadge({ className, icon, children, variant = "default",
82
82
  children: [/* @__PURE__ */ jsx("span", {
83
83
  "aria-hidden": "true",
84
84
  className: "inline-flex shrink-0 items-center [&>svg]:size-3.5",
85
- children: icon ?? /* @__PURE__ */ jsx(ChevronRightIcon, { className: "cn-rtl-flip" })
85
+ children: icon ?? /* @__PURE__ */ jsx(ChevronRight, { className: "cn-rtl-flip" })
86
86
  }), children]
87
87
  });
88
88
  }
package/dist/alert.js CHANGED
@@ -1,5 +1,5 @@
1
+ import { X } from "./icons.js";
1
2
  import { t as cn } from "./cn-BI_4DMBf.js";
2
- import { X } from "lucide-react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { cva } from "class-variance-authority";
5
5
  //#region src/alert.tsx
@@ -1,6 +1,6 @@
1
1
  "use client";
2
+ import { ChevronRight, MoreHorizontal } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
- import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { mergeProps } from "@base-ui/react/merge-props";
6
6
  import { useRender } from "@base-ui/react/use-render";
@@ -50,7 +50,7 @@ function BreadcrumbSeparator({ children, className, ...props }) {
50
50
  "aria-hidden": "true",
51
51
  className: cn("inline-flex shrink-0 items-center text-fg-caption-placeholder [&>svg]:size-4 [&>svg]:shrink-0", className),
52
52
  ...props,
53
- children: children ?? /* @__PURE__ */ jsx(ChevronRightIcon, { className: "cn-rtl-flip" })
53
+ children: children ?? /* @__PURE__ */ jsx(ChevronRight, { className: "cn-rtl-flip" })
54
54
  });
55
55
  }
56
56
  function BreadcrumbEllipsis({ className, ...props }) {
@@ -60,7 +60,7 @@ function BreadcrumbEllipsis({ className, ...props }) {
60
60
  "aria-hidden": "true",
61
61
  className: cn("inline-flex items-center justify-center text-fg-caption-placeholder [&>svg]:size-4 [&>svg]:shrink-0", className),
62
62
  ...props,
63
- children: [/* @__PURE__ */ jsx(MoreHorizontalIcon, {}), /* @__PURE__ */ jsx("span", {
63
+ children: [/* @__PURE__ */ jsx(MoreHorizontal, {}), /* @__PURE__ */ jsx("span", {
64
64
  className: "sr-only",
65
65
  children: "More"
66
66
  })]
package/dist/button.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
+ import { Loader } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { useComponentSize } from "./size-context.js";
4
- import { Loader } from "lucide-react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { mergeProps } from "@base-ui/react/merge-props";
7
7
  import { useRender } from "@base-ui/react/use-render";
@@ -20,7 +20,7 @@ const buttonVariants = cva("group/button inline-flex shrink-0 items-center justi
20
20
  "tertiary-outline": "border border-line-strong bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
21
21
  ghost: "bg-transparent text-fg-primary hover:bg-surface active:bg-surface-raised data-focused:bg-surface data-pressed:bg-surface-raised",
22
22
  danger: "bg-action-danger text-fg-on-brand hover:bg-action-danger-hover active:bg-action-danger-pressed data-focused:bg-action-danger-hover data-pressed:bg-action-danger-pressed",
23
- whatsapp: "bg-whatsapp-button text-black [&_svg]:text-white hover:brightness-95 active:brightness-90 data-focused:brightness-95 data-pressed:brightness-90",
23
+ whatsapp: "bg-whatsapp-green text-black [&_svg]:text-white hover:brightness-95 active:brightness-90 data-focused:brightness-95 data-pressed:brightness-90",
24
24
  "glass-overlay": "bg-surface-glass-overlay-button text-fg-on-brand shadow-2 backdrop-blur-sm active:scale-[0.97] motion-reduce:active:scale-100",
25
25
  "link-brand": "border-transparent bg-transparent px-0 text-fg-brand hover:underline active:underline active:opacity-70",
26
26
  "link-neutral": "border-transparent bg-transparent px-0 text-fg-secondary hover:underline active:underline active:opacity-70"
package/dist/calendar.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
+ import { ChevronLeft, ChevronRight } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { Button } from "./button.js";
4
5
  import { Combobox, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, ComboboxList, ComboboxTrigger, ComboboxValue } from "./combobox.js";
5
- import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import * as React from "react";
8
8
  import { DayPicker, getDefaultClassNames } from "react-day-picker";
@@ -52,11 +52,11 @@ function Calendar({ className, classNames, showOutsideDays = false, weekStartsOn
52
52
  });
53
53
  },
54
54
  Chevron: ({ className, orientation, ...props }) => {
55
- if (orientation === "right") return /* @__PURE__ */ jsx(ChevronRightIcon, {
55
+ if (orientation === "right") return /* @__PURE__ */ jsx(ChevronRight, {
56
56
  className: cn("size-4", className),
57
57
  ...props
58
58
  });
59
- return /* @__PURE__ */ jsx(ChevronLeftIcon, {
59
+ return /* @__PURE__ */ jsx(ChevronLeft, {
60
60
  className: cn("size-4", className),
61
61
  ...props
62
62
  });
package/dist/call-card.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
+ import { Maximize2, Mic, MicOff, Minimize2, Phone, User } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
4
- import { Maximize2, Mic, MicOff, Minimize2, Phone, User } from "lucide-react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { cva } from "class-variance-authority";
7
7
  import * as React from "react";
package/dist/carousel.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
+ import { ChevronLeft, ChevronRight } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { useComponentSize } from "./size-context.js";
4
5
  import { t as useReducedMotion } from "./use-reduced-motion-BDvOK14x.js";
5
- import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import { cva } from "class-variance-authority";
8
8
  import * as React from "react";
@@ -201,7 +201,7 @@ function CarouselPrevious({ className, ...props }) {
201
201
  disabled: !canScrollPrev,
202
202
  onClick: scrollPrev,
203
203
  ...props,
204
- children: [/* @__PURE__ */ jsx(ChevronLeftIcon, { className: "cn-rtl-flip" }), /* @__PURE__ */ jsx("span", {
204
+ children: [/* @__PURE__ */ jsx(ChevronLeft, { className: "cn-rtl-flip" }), /* @__PURE__ */ jsx("span", {
205
205
  className: "sr-only",
206
206
  children: "Previous slide"
207
207
  })]
@@ -219,7 +219,7 @@ function CarouselNext({ className, ...props }) {
219
219
  disabled: !canScrollNext,
220
220
  onClick: scrollNext,
221
221
  ...props,
222
- children: [/* @__PURE__ */ jsx(ChevronRightIcon, { className: "cn-rtl-flip" }), /* @__PURE__ */ jsx("span", {
222
+ children: [/* @__PURE__ */ jsx(ChevronRight, { className: "cn-rtl-flip" }), /* @__PURE__ */ jsx("span", {
223
223
  className: "sr-only",
224
224
  children: "Next slide"
225
225
  })]
package/dist/chart.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
+ import { ArrowDown, ArrowUp } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { SizeProvider, useComponentSize } from "./size-context.js";
4
- import { ArrowDown, ArrowUp } from "lucide-react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  import { cva } from "class-variance-authority";
7
7
  import * as React from "react";
package/dist/chat.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
+ import { FileText, Image, Plus, Send, Video } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { Button } from "./button.js";
4
5
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "./input-group.js";
5
6
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "./dropdown-menu.js";
6
- import { FileText, Image, Plus, Send, Video } from "lucide-react";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  import * as React from "react";
9
9
  //#region src/chat.tsx
package/dist/checkbox.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
+ import { Check } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { useComponentSize } from "./size-context.js";
4
- import { CheckIcon } from "lucide-react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import { cva } from "class-variance-authority";
7
7
  import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
@@ -79,7 +79,7 @@ function Checkbox({ className, size, ...props }) {
79
79
  children: /* @__PURE__ */ jsx(Checkbox$1.Indicator, {
80
80
  "data-slot": "checkbox-indicator",
81
81
  className: "grid place-content-center text-current transition-none [&>svg]:size-(--checkbox-icon-size)",
82
- children: /* @__PURE__ */ jsx(CheckIcon, {})
82
+ children: /* @__PURE__ */ jsx(Check, {})
83
83
  })
84
84
  });
85
85
  }
package/dist/combobox.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
+ import { Check, ChevronDown, X } from "./icons.js";
2
3
  import { t as cn } from "./cn-BI_4DMBf.js";
3
4
  import { SizeProvider, useComponentSize } from "./size-context.js";
4
5
  import { Button } from "./button.js";
5
6
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "./input-group.js";
6
- import { CheckIcon, ChevronDownIcon, XIcon } from "lucide-react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  import { cva } from "class-variance-authority";
9
9
  import * as React from "react";
@@ -85,7 +85,7 @@ function ComboboxTrigger({ className, children, ...props }) {
85
85
  "data-size": resolvedSize,
86
86
  className: cn(comboboxTriggerVariants({ size: resolvedSize }), className),
87
87
  ...props,
88
- children: [children, /* @__PURE__ */ jsx(Combobox$1.Icon, { render: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-line-strong transition-transform group-data-disabled/combobox-trigger:text-fg-caption-placeholder group-data-popup-open/combobox-trigger:rotate-180" }) })]
88
+ children: [children, /* @__PURE__ */ jsx(Combobox$1.Icon, { render: /* @__PURE__ */ jsx(ChevronDown, { className: "text-line-strong transition-transform group-data-disabled/combobox-trigger:text-fg-caption-placeholder group-data-popup-open/combobox-trigger:rotate-180" }) })]
89
89
  });
90
90
  }
91
91
  function ComboboxClear({ className, ...props }) {
@@ -96,7 +96,7 @@ function ComboboxClear({ className, ...props }) {
96
96
  render: /* @__PURE__ */ jsx(InputGroupButton, {
97
97
  variant: "ghost",
98
98
  size: "icon-xs",
99
- children: /* @__PURE__ */ jsx(XIcon, { className: "pointer-events-none" })
99
+ children: /* @__PURE__ */ jsx(X, { className: "pointer-events-none" })
100
100
  })
101
101
  });
102
102
  }
@@ -158,9 +158,9 @@ function ComboboxItem({ className, children, ...props }) {
158
158
  children: [multiple ? /* @__PURE__ */ jsx(Combobox$1.ItemIndicator, {
159
159
  keepMounted: true,
160
160
  className: "flex size-5 shrink-0 items-center justify-center rounded-sm border border-line bg-canvas text-transparent transition-[background-color,border-color,color] group-data-selected/combobox-item:border-action-primary group-data-selected/combobox-item:bg-action-primary group-data-selected/combobox-item:text-fg-on-brand group-data-disabled/combobox-item:border-line-subtle group-data-disabled/combobox-item:bg-surface group-data-disabled/combobox-item:text-fg-caption-placeholder [&>svg]:size-3",
161
- children: /* @__PURE__ */ jsx(CheckIcon, {})
161
+ children: /* @__PURE__ */ jsx(Check, {})
162
162
  }) : null, /* @__PURE__ */ jsx("span", {
163
- className: "flex min-w-0 flex-1 shrink-0 gap-2 whitespace-nowrap",
163
+ className: "flex min-w-0 flex-1 shrink-0 items-center gap-2",
164
164
  children
165
165
  })]
166
166
  });
@@ -219,7 +219,7 @@ function ComboboxChip({ className, children, showRemove = true, ...props }) {
219
219
  render: /* @__PURE__ */ jsx(Button, {
220
220
  variant: "ghost",
221
221
  size: "icon-xs",
222
- children: /* @__PURE__ */ jsx(XIcon, { className: "pointer-events-none" })
222
+ children: /* @__PURE__ */ jsx(X, { className: "pointer-events-none" })
223
223
  })
224
224
  })]
225
225
  });
package/dist/cta.js CHANGED
@@ -59,9 +59,9 @@ function CTAContent({ className, render, ...props }) {
59
59
  function CTATag({ className, render, ...props }) {
60
60
  return useRender({
61
61
  defaultTagName: "span",
62
- props: mergeProps({ className: cn("text-fg-brand text-gdt-capitalized uppercase font-semibold", className) }, props),
62
+ props: mergeProps({ className: cn("text-fg-brand text-gdt-capitalized uppercase font-semibold", "group-data-[variant=brand]/cta-card:text-fg-on-brand", className) }, props),
63
63
  render,
64
- state: { slot: "cta-title" }
64
+ state: { slot: "cta-tag" }
65
65
  });
66
66
  }
67
67
  function CTATitle({ className, render, ...props }) {
@@ -130,7 +130,7 @@ function CTAListItem({ children, className, icon, render, ...props }) {
130
130
  function CTACard({ className, render, variant = "default", ...props }) {
131
131
  return useRender({
132
132
  defaultTagName: "div",
133
- props: mergeProps({ className: cn("group/cta-card min-w-0 flex flex-col gap-3.5 py-6.5 px-6 rounded-2xl text", { "bg-canvas border shadow-1": variant === "default" }, { "bg-surface-brand shadow-2": variant === "brand" }) }, props),
133
+ props: mergeProps({ className: cn("group/cta-card min-w-0 flex flex-col gap-3.5 py-6.5 px-6 rounded-2xl text", { "bg-canvas border border-line shadow-1": variant === "default" }, { "bg-surface-brand shadow-2": variant === "brand" }) }, props),
134
134
  render,
135
135
  state: {
136
136
  slot: "cta-card",
@@ -1,15 +1,17 @@
1
1
  import { VariantProps } from "class-variance-authority";
2
2
  import * as React from "react";
3
3
  //#region src/currency-selector.d.ts
4
- type CurrencyFlagStripe = {
5
- color: string;
6
- size?: number;
7
- };
8
4
  type CurrencySelectorOption = {
9
5
  code: string;
10
6
  label: string;
7
+ /**
8
+ * ISO 3166-1 alpha-2 code used to pick the flag. Defaults to the first two
9
+ * letters of `code`, which is how ISO 4217 currency codes are built —
10
+ * `NGN` → `NG`, `USD` → `US`, `EUR` → `EU`.
11
+ */
11
12
  countryCode?: string;
12
- flag?: readonly CurrencyFlagStripe[];
13
+ /** Custom artwork, for a currency the built-in flag set does not cover. */
14
+ flag?: React.ReactNode;
13
15
  };
14
16
  type CurrencySelectorSize = NonNullable<VariantProps<typeof currencySelectorTriggerVariants>["size"]>;
15
17
  type CurrencySelectorProps = Omit<React.ComponentProps<"button">, "children" | "defaultValue" | "onChange" | "value"> & {
@@ -31,11 +33,11 @@ declare const currencySelectorTriggerVariants: (props?: ({
31
33
  size?: "lg" | "md" | "sm" | null | undefined;
32
34
  withBackground?: boolean | null | undefined;
33
35
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
34
- declare function CurrencyFlag({ flag, label, className }: {
35
- flag?: readonly CurrencyFlagStripe[];
36
+ declare function CurrencyFlag({ countryCode, label, className }: {
37
+ countryCode?: string;
36
38
  label?: string;
37
39
  className?: string;
38
40
  }): React.JSX.Element;
39
41
  declare function CurrencySelector({ options, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, size, withBackground, showFlag, showOptionFlags, contentClassName, className, placeholder, type, ...props }: CurrencySelectorProps): React.JSX.Element;
40
42
  //#endregion
41
- export { CurrencyFlag, type CurrencyFlagStripe, CurrencySelector, type CurrencySelectorOption, type CurrencySelectorProps, type CurrencySelectorSize, currencySelectorTriggerVariants };
43
+ export { CurrencyFlag, CurrencySelector, type CurrencySelectorOption, type CurrencySelectorProps, type CurrencySelectorSize, currencySelectorTriggerVariants };