ixia-ui-react 1.4.7 → 1.6.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.
package/dist/index.js CHANGED
@@ -3,9 +3,9 @@ import { clsx } from "clsx";
3
3
  import { extendTailwindMerge } from "tailwind-merge";
4
4
  import { cva } from "class-variance-authority";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import React, { Children, Fragment as Fragment$1, createContext, createElement, isValidElement, useContext, useEffect, useId, useRef, useState } from "react";
6
7
  import { ArrowsDownUpIcon, CaretDownIcon, CaretLeftIcon, CaretLineLeftIcon, CaretLineRightIcon, CaretRightIcon, CaretUpDownIcon, CaretUpIcon, CheckCircleIcon, CheckIcon, CircleNotchIcon, CopyIcon, DotsThreeIcon, DownloadIcon, EyeClosedIcon, EyeIcon, FileArrowUpIcon, FolderIcon, FolderOpenIcon, FolderSimpleIcon, FunnelIcon, FunnelSimpleIcon, InfoIcon, LockSimpleIcon, LockSimpleOpenIcon, MagnifyingGlassIcon, MinusIcon, PercentIcon, PlusIcon, SortAscendingIcon, SortDescendingIcon, TrashIcon, UploadIcon, WarningCircleIcon, WarningIcon, XCircleIcon, XIcon } from "@phosphor-icons/react";
7
8
  import { AlertDialog as AlertDialog$1, Button as Button$1, Checkbox as Checkbox$1, CheckboxGroup as CheckboxGroup$1, Drawer as Drawer$1, Meter as Meter$1, NavigationMenu as NavigationMenu$1, OTPField, PreviewCard as PreviewCard$1, Radio as Radio$1, RadioGroup as RadioGroup$1, Slider as Slider$1 } from "@base-ui/react";
8
- import React, { Children, Fragment as Fragment$1, createContext, createElement, isValidElement, useContext, useEffect, useId, useRef, useState } from "react";
9
9
  import { Autocomplete as Autocomplete$1 } from "@base-ui/react/autocomplete";
10
10
  import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
11
11
  import { DayButton, DayPicker, getDefaultClassNames, isDateRange, labelDayButton } from "@daypicker/react";
@@ -105,25 +105,124 @@ function Accordion$2({ withSeparator = true, variant, className, ref, ...props }
105
105
  });
106
106
  }
107
107
  //#endregion
108
+ //#region src/utils/date-time.ts
109
+ const formatDate = (date, locale, options) => new Intl.DateTimeFormat(locale, options).format(date);
110
+ //#endregion
111
+ //#region src/components/icon/default-icons.ts
112
+ /** Phosphor icons used when the consumer does not supply their own. */
113
+ const defaultIcons = {
114
+ add: PlusIcon,
115
+ chevronDown: CaretDownIcon,
116
+ chevronLeft: CaretLeftIcon,
117
+ chevronRight: CaretRightIcon,
118
+ chevronUp: CaretUpIcon,
119
+ chevronsUpDown: CaretUpDownIcon,
120
+ close: XIcon,
121
+ columnFilter: FunnelSimpleIcon,
122
+ copy: CopyIcon,
123
+ delete: TrashIcon,
124
+ download: DownloadIcon,
125
+ ellipsis: DotsThreeIcon,
126
+ error: WarningCircleIcon,
127
+ fieldError: XCircleIcon,
128
+ fileUpload: FileArrowUpIcon,
129
+ filter: FunnelIcon,
130
+ firstPage: CaretLineLeftIcon,
131
+ folder: FolderIcon,
132
+ folderExpandAll: FolderSimpleIcon,
133
+ folderOpen: FolderOpenIcon,
134
+ hidden: EyeClosedIcon,
135
+ info: InfoIcon,
136
+ lastPage: CaretLineRightIcon,
137
+ locked: LockSimpleIcon,
138
+ minus: MinusIcon,
139
+ percent: PercentIcon,
140
+ search: MagnifyingGlassIcon,
141
+ selected: CheckIcon,
142
+ sort: ArrowsDownUpIcon,
143
+ sortAscending: SortAscendingIcon,
144
+ sortDescending: SortDescendingIcon,
145
+ spinner: CircleNotchIcon,
146
+ success: CheckCircleIcon,
147
+ unlocked: LockSimpleOpenIcon,
148
+ upload: UploadIcon,
149
+ visible: EyeIcon,
150
+ warning: WarningIcon
151
+ };
152
+ //#endregion
153
+ //#region src/components/icon/icon-context.ts
154
+ const IconContext = React.createContext({ icons: {} });
155
+ //#endregion
156
+ //#region src/components/icon/icon.tsx
157
+ function Icon({ name, weight, ...props }) {
158
+ const context = React.useContext(IconContext), Custom = context.icons[name], Default = defaultIcons[name];
159
+ if (Custom) return /* @__PURE__ */ jsx(Custom, {
160
+ "aria-hidden": "true",
161
+ ...props
162
+ });
163
+ return /* @__PURE__ */ jsx(Default, {
164
+ "aria-hidden": "true",
165
+ weight: weight ?? context.weight,
166
+ ...props
167
+ });
168
+ }
169
+ //#endregion
170
+ //#region src/components/icon/icon-provider.tsx
171
+ /**
172
+ * Replaces the default Phosphor icons and sets their weight for every library component below it.
173
+ * Providers can be nested; inner providers override only the icon names and weight they set.
174
+ */
175
+ function IconProvider({ icons, weight, children }) {
176
+ const parent = React.useContext(IconContext), value = React.useMemo(() => ({
177
+ icons: {
178
+ ...parent.icons,
179
+ ...icons
180
+ },
181
+ weight: weight ?? parent.weight
182
+ }), [
183
+ parent,
184
+ icons,
185
+ weight
186
+ ]);
187
+ return /* @__PURE__ */ jsx(IconContext, {
188
+ value,
189
+ children
190
+ });
191
+ }
192
+ //#endregion
193
+ //#region src/components/accordion/accordion-expand-icon.tsx
194
+ function AccordionExpandIcon({ className, children, ref, ...props }) {
195
+ return /* @__PURE__ */ jsx("div", {
196
+ className: cn("ml-auto shrink-0 text-on-surface-variant transition-transform duration-200 ease-out group-data-panel-open:rotate-180", className),
197
+ ref,
198
+ ...props,
199
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronDown" })
200
+ });
201
+ }
202
+ //#endregion
108
203
  //#region src/components/accordion/accordion-header.tsx
109
204
  function AccordionHeader({ className, children, ref, ...props }) {
110
205
  return /* @__PURE__ */ jsx(Accordion$1.Header, {
111
206
  className: cn("", className),
112
207
  ref,
113
208
  ...props,
114
- children: /* @__PURE__ */ jsxs(Accordion$1.Trigger, {
209
+ children: /* @__PURE__ */ jsx(Accordion$1.Trigger, {
115
210
  className: cn("group flex min-h-2xl w-full items-center justify-between gap-sm py-sm pr-sm pl-md hover:cursor-pointer"),
116
- children: [/* @__PURE__ */ jsx("div", {
117
- className: "grid auto-rows-min items-center gap-x-sm has-data-[slot=accordion-icon]:grid-cols-[auto_1fr] has-data-[slot=accordion-subtitle]:grid-rows-[auto_auto] has-data-[slot=accordion-subtitle]:**:data-[slot=accordion-icon]:row-span-2",
118
- children
119
- }), /* @__PURE__ */ jsx(CaretDownIcon, {
120
- className: "ml-auto shrink-0 text-on-surface-variant transition-transform duration-200 ease-out group-data-panel-open:rotate-180",
121
- weight: "bold"
122
- })]
211
+ children
123
212
  })
124
213
  });
125
214
  }
126
215
  //#endregion
216
+ //#region src/components/accordion/accordion-header-content.tsx
217
+ function AccordionHeaderContent({ className, children, ref, ...props }) {
218
+ return /* @__PURE__ */ jsx("div", {
219
+ className: cn("grid auto-rows-min items-center gap-x-sm has-data-[slot=accordion-icon]:grid-cols-[auto_1fr] has-data-[slot=accordion-subtitle]:grid-rows-[auto_auto] has-data-[slot=accordion-subtitle]:**:data-[slot=accordion-icon]:row-span-2", className),
220
+ ref,
221
+ ...props,
222
+ children
223
+ });
224
+ }
225
+ //#endregion
127
226
  //#region src/components/accordion/accordion-icon.tsx
128
227
  function AccordionIcon({ className, ref, ...props }) {
129
228
  return /* @__PURE__ */ jsx("div", {
@@ -183,7 +282,9 @@ function AccordionTitle({ className, ref, ...props }) {
183
282
  //#endregion
184
283
  //#region src/components/accordion/index.ts
185
284
  const Accordion = Object.assign(Accordion$2, {
285
+ ExpandIcon: AccordionExpandIcon,
186
286
  Header: AccordionHeader,
287
+ HeaderContent: AccordionHeaderContent,
187
288
  Icon: AccordionIcon,
188
289
  Item: AccordionItem,
189
290
  Panel: AccordionPanel,
@@ -1262,11 +1363,11 @@ function Breadcrumb$1({ className, ref, ...props }) {
1262
1363
  //#endregion
1263
1364
  //#region src/components/breadcrumb/breadcrumb-ellipsis.tsx
1264
1365
  function BreadcrumbEllipsis({ className, children, ref, ...props }) {
1265
- return /* @__PURE__ */ jsxs("div", {
1366
+ return /* @__PURE__ */ jsx("div", {
1266
1367
  className: cn("flex size-md items-center justify-center rounded-full text-on-surface-variant transition-all hover:cursor-pointer hover:bg-neutral-container hover:text-neutral-on-container active:scale-[0.98] active:bg-neutral-container disabled:opacity-50 [&>svg]:size-sm", className),
1267
1368
  ref,
1268
1369
  ...props,
1269
- children: [children, /* @__PURE__ */ jsx(DotsThreeIcon, { weight: "bold" })]
1370
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "ellipsis" })
1270
1371
  });
1271
1372
  }
1272
1373
  //#endregion
@@ -1289,12 +1390,12 @@ function BreadcrumbLink({ className, ref, ...props }) {
1289
1390
  }
1290
1391
  //#endregion
1291
1392
  //#region src/components/breadcrumb/breadcrumb-separator.tsx
1292
- function BreadcrumbSeparator({ className, ref, ...props }) {
1393
+ function BreadcrumbSeparator({ className, children, ref, ...props }) {
1293
1394
  return /* @__PURE__ */ jsx("div", {
1294
1395
  className: cn("text-on-surface-variant [&>svg]:size-xs", className),
1295
1396
  ref,
1296
1397
  ...props,
1297
- children: /* @__PURE__ */ jsx(CaretRightIcon, { weight: "bold" })
1398
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronRight" })
1298
1399
  });
1299
1400
  }
1300
1401
  //#endregion
@@ -1564,48 +1665,16 @@ function Calendar$1({ defaultState, children }) {
1564
1665
  });
1565
1666
  }
1566
1667
  //#endregion
1567
- //#region src/components/calendar/calendar-footer.tsx
1568
- function CalendarFooter({ className, children, ref, ...props }) {
1569
- return /* @__PURE__ */ jsx("div", {
1570
- "data-slot": "calendar-footer",
1571
- className: cn("mt-xs flex flex-col gap-3xs border-t border-border pt-xs", className),
1572
- ref,
1573
- ...props,
1574
- children
1575
- });
1576
- }
1577
- //#endregion
1578
- //#region src/components/calendar/calendar-header.tsx
1579
- function CalendarHeader({ className, children, ref, ...props }) {
1580
- return /* @__PURE__ */ jsx("div", {
1581
- className: cn("", className),
1582
- ref,
1583
- ...props,
1584
- children
1585
- });
1586
- }
1587
- //#endregion
1588
- //#region src/components/calendar/calendar.types.ts
1589
- const calendarPanelVariants = cva("w-fit", {
1590
- compoundVariants: [{
1591
- className: "rounded-2xl p-sm",
1592
- variant: ["elevated", "outline"]
1593
- }],
1594
- defaultVariants: { variant: "elevated" },
1595
- variants: { variant: {
1596
- elevated: "bg-surface shadow-2xs",
1597
- ghost: "bg-transparent",
1598
- outline: "border border-border"
1599
- } }
1600
- });
1601
- //#endregion
1602
- //#region src/components/calendar/calendar-panel.tsx
1603
- function CalendarPanel({ variant, className, children, ref, ...props }) {
1604
- return /* @__PURE__ */ jsx("div", {
1605
- className: cn(calendarPanelVariants({ variant }), className),
1606
- ref,
1668
+ //#region src/components/calendar/calendar-day-button.tsx
1669
+ function CalendarDayButton({ className, modifiers, ...props }) {
1670
+ return /* @__PURE__ */ jsx(DayButton, {
1607
1671
  ...props,
1608
- children
1672
+ modifiers,
1673
+ className: cn(buttonVariants({
1674
+ size: "medium",
1675
+ tone: "neutral",
1676
+ variant: "ghost"
1677
+ }), "text-inherit hover:bg-brand-container hover:text-brand-on-container", modifiers.selected && "hover:bg-brand-default hover:text-brand-on-default", className)
1609
1678
  });
1610
1679
  }
1611
1680
  //#endregion
@@ -1662,7 +1731,7 @@ function SelectItem({ className, children, ref, ...props }) {
1662
1731
  children
1663
1732
  }), /* @__PURE__ */ jsx(Select$1.ItemIndicator, {
1664
1733
  className: "place-self-end self-center [&>svg]:size-sm",
1665
- children: /* @__PURE__ */ jsx(CheckIcon, { weight: "bold" })
1734
+ children: /* @__PURE__ */ jsx(Icon, { name: "selected" })
1666
1735
  })]
1667
1736
  });
1668
1737
  }
@@ -1687,17 +1756,17 @@ function SelectPopup({ className, children, ref, ...props }) {
1687
1756
  children: [
1688
1757
  /* @__PURE__ */ jsx(Select$1.ScrollUpArrow, {
1689
1758
  className: "top-0 right-0 z-[1px] flex h-md w-full cursor-default items-center justify-center rounded-xl bg-surface-2 before:absolute before:left-0 before:size-full before:content-[''] data-[side=none]:before:-top-full",
1690
- children: /* @__PURE__ */ jsx(CaretUpIcon, {
1691
- className: "size-sm",
1692
- weight: "fill"
1759
+ children: /* @__PURE__ */ jsx(Icon, {
1760
+ name: "chevronUp",
1761
+ className: "size-sm"
1693
1762
  })
1694
1763
  }),
1695
1764
  children,
1696
1765
  /* @__PURE__ */ jsx(Select$1.ScrollDownArrow, {
1697
1766
  className: "right-0 bottom-0 z-[1px] flex h-md w-full cursor-default items-center justify-center rounded-xl bg-surface-2 before:absolute before:left-0 before:size-full before:content-[''] data-[side=none]:before:-bottom-full",
1698
- children: /* @__PURE__ */ jsx(CaretDownIcon, {
1699
- className: "size-sm",
1700
- weight: "fill"
1767
+ children: /* @__PURE__ */ jsx(Icon, {
1768
+ name: "chevronDown",
1769
+ className: "size-sm"
1701
1770
  })
1702
1771
  })
1703
1772
  ]
@@ -1771,25 +1840,14 @@ const Select = Object.assign(Select$2, {
1771
1840
  Value: SelectValue
1772
1841
  });
1773
1842
  //#endregion
1774
- //#region src/components/calendar/calendar-picker.tsx
1775
- function CalendarDayButton({ className, modifiers, ...props }) {
1776
- return /* @__PURE__ */ jsx(DayButton, {
1777
- ...props,
1778
- modifiers,
1779
- className: cn(buttonVariants({
1780
- size: "medium",
1781
- tone: "neutral",
1782
- variant: "ghost"
1783
- }), "text-inherit hover:bg-brand-container hover:text-brand-on-container", modifiers.selected && "hover:bg-brand-default hover:text-brand-on-default", className)
1784
- });
1785
- }
1843
+ //#region src/components/calendar/calendar-dropdown.tsx
1786
1844
  function createSelectTarget(value) {
1787
1845
  const element = document.createElement("select"), option = Object.assign(document.createElement("option"), { value });
1788
1846
  element.append(option);
1789
1847
  element.value = value;
1790
1848
  return element;
1791
1849
  }
1792
- function CalendarDropdown({ options, onChange, value, "aria-label": ariaLabel }) {
1850
+ function CalendarDropdown({ children, className, disabled, value, options, onChange, "aria-label": ariaLabel }) {
1793
1851
  const handleValueChange = (newValue) => {
1794
1852
  if (onChange) {
1795
1853
  const element = createSelectTarget(newValue ?? "");
@@ -1813,12 +1871,14 @@ function CalendarDropdown({ options, onChange, value, "aria-label": ariaLabel })
1813
1871
  }
1814
1872
  };
1815
1873
  return /* @__PURE__ */ jsxs(Select, {
1874
+ disabled,
1816
1875
  value: value?.toString(),
1817
1876
  onValueChange: handleValueChange,
1818
1877
  children: [/* @__PURE__ */ jsxs(SelectTrigger, {
1819
1878
  variant: "ghost",
1820
1879
  "aria-label": ariaLabel,
1821
- children: [/* @__PURE__ */ jsx(SelectValue, { children: options?.find((option) => option.value === value)?.label }), /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(CaretUpDownIcon, { weight: "bold" }) })]
1880
+ className: cn("", className),
1881
+ children: [/* @__PURE__ */ jsx(SelectValue, { children: options?.find((option) => option.value === value)?.label }), children ?? /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(Icon, { name: "chevronsUpDown" }) })]
1822
1882
  }), /* @__PURE__ */ jsx(SelectPopup, { children: /* @__PURE__ */ jsx(SelectList, { children: options?.map((option) => /* @__PURE__ */ jsx(SelectItem, {
1823
1883
  value: option.value.toString(),
1824
1884
  disabled: option.disabled,
@@ -1826,30 +1886,88 @@ function CalendarDropdown({ options, onChange, value, "aria-label": ariaLabel })
1826
1886
  }, option.value)) }) })]
1827
1887
  });
1828
1888
  }
1829
- function CalendarNextMonthButton({ onClick, disabled, ...props }) {
1830
- return /* @__PURE__ */ jsx(Button, {
1889
+ //#endregion
1890
+ //#region src/components/calendar/calendar-footer.tsx
1891
+ function CalendarFooter({ className, children, ref, ...props }) {
1892
+ return /* @__PURE__ */ jsx("div", {
1893
+ "data-slot": "calendar-footer",
1894
+ className: cn("mt-xs flex flex-col gap-3xs border-t border-border pt-xs", className),
1895
+ ref,
1831
1896
  ...props,
1897
+ children
1898
+ });
1899
+ }
1900
+ //#endregion
1901
+ //#region src/components/calendar/calendar-header.tsx
1902
+ function CalendarHeader({ className, children, ref, ...props }) {
1903
+ return /* @__PURE__ */ jsx("div", {
1904
+ className: cn("", className),
1905
+ ref,
1906
+ ...props,
1907
+ children
1908
+ });
1909
+ }
1910
+ //#endregion
1911
+ //#region src/components/calendar/calendar-next-month-button.tsx
1912
+ function CalendarNextMonthButton({ className, children, ...props }) {
1913
+ return /* @__PURE__ */ jsx(Button, {
1832
1914
  variant: "ghost",
1833
1915
  tone: "neutral",
1834
- size: "medium",
1835
- className: cn("hover:bg-neutral-container-high hover:text-neutral-on-container"),
1836
- onClick,
1837
- disabled,
1838
- children: /* @__PURE__ */ jsx(CaretRightIcon, { weight: "bold" })
1916
+ size: "small",
1917
+ className: cn("", className),
1918
+ ...props,
1919
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronRight" })
1839
1920
  });
1840
1921
  }
1841
- function CalendarPreviousMonthButton({ onClick, disabled, ...props }) {
1922
+ //#endregion
1923
+ //#region src/components/calendar/calendar.types.ts
1924
+ const calendarPanelVariants = cva("w-fit", {
1925
+ compoundVariants: [{
1926
+ className: "rounded-2xl p-sm",
1927
+ variant: ["elevated", "outline"]
1928
+ }],
1929
+ defaultVariants: { variant: "elevated" },
1930
+ variants: { variant: {
1931
+ elevated: "bg-surface shadow-2xs",
1932
+ ghost: "bg-transparent",
1933
+ outline: "border border-border"
1934
+ } }
1935
+ });
1936
+ //#endregion
1937
+ //#region src/components/calendar/calendar-panel.tsx
1938
+ function CalendarPanel({ variant, className, children, ref, ...props }) {
1939
+ return /* @__PURE__ */ jsx("div", {
1940
+ className: cn(calendarPanelVariants({ variant }), className),
1941
+ ref,
1942
+ ...props,
1943
+ children
1944
+ });
1945
+ }
1946
+ //#endregion
1947
+ //#region src/components/calendar/calendar-chevron.tsx
1948
+ const chevronIcons = {
1949
+ down: "chevronDown",
1950
+ left: "chevronLeft",
1951
+ right: "chevronRight",
1952
+ up: "chevronUp"
1953
+ };
1954
+ function CalendarChevron({ orientation = "left" }) {
1955
+ return /* @__PURE__ */ jsx(Icon, { name: chevronIcons[orientation] });
1956
+ }
1957
+ //#endregion
1958
+ //#region src/components/calendar/calendar-previous-month-button.tsx
1959
+ function CalendarPreviousMonthButton({ className, children, ...props }) {
1842
1960
  return /* @__PURE__ */ jsx(Button, {
1843
1961
  ...props,
1844
1962
  variant: "ghost",
1845
1963
  tone: "neutral",
1846
- size: "medium",
1847
- className: cn("hover:bg-neutral-container-high hover:text-neutral-on-container"),
1848
- onClick,
1849
- disabled,
1850
- children: /* @__PURE__ */ jsx(CaretLeftIcon, { weight: "bold" })
1964
+ size: "small",
1965
+ className: cn("", className),
1966
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronLeft" })
1851
1967
  });
1852
1968
  }
1969
+ //#endregion
1970
+ //#region src/components/calendar/calendar-picker.tsx
1853
1971
  function getMultipleSelected(selectedDates) {
1854
1972
  if (Array.isArray(selectedDates)) return selectedDates;
1855
1973
  }
@@ -1864,6 +1982,13 @@ function labelDayButtonWithVisibleText(...args) {
1864
1982
  return `${dateLib?.format(date, "d") ?? String(date.getDate())}, ${labelDayButton(date, modifiers, options, dateLib)}`;
1865
1983
  }
1866
1984
  const defaultClassNames = getDefaultClassNames();
1985
+ const defaultComponents = {
1986
+ Chevron: CalendarChevron,
1987
+ DayButton: CalendarDayButton,
1988
+ Dropdown: CalendarDropdown,
1989
+ NextMonthButton: CalendarNextMonthButton,
1990
+ PreviousMonthButton: CalendarPreviousMonthButton
1991
+ };
1867
1992
  const calendarClassNames = {
1868
1993
  caption_label: "style-text-strong-0",
1869
1994
  day: cn("size-xl! rounded-full style-text-default-0 transition-colors hover:bg-brand-container hover:text-brand-on-container data-selected:text-brand-on-default data-selected:hover:bg-brand-default", defaultClassNames.day),
@@ -1881,13 +2006,7 @@ const calendarClassNames = {
1881
2006
  week: cn("", defaultClassNames.week),
1882
2007
  weekdays: cn("style-text-default-0 text-on-surface-muted", defaultClassNames.weekdays)
1883
2008
  };
1884
- const calendarComponents = {
1885
- DayButton: CalendarDayButton,
1886
- Dropdown: CalendarDropdown,
1887
- NextMonthButton: CalendarNextMonthButton,
1888
- PreviousMonthButton: CalendarPreviousMonthButton
1889
- };
1890
- function CalendarPicker({ className, mode = "single", selected, onSelect, ...props }) {
2009
+ function CalendarPicker({ className, components, mode = "single", selected, onSelect, ...props }) {
1891
2010
  const { state, dispatch } = useCalendar(), selectedValue = selected ?? state.selectedDates, handleSelect = (next) => {
1892
2011
  dispatch({
1893
2012
  payload: next,
@@ -1897,7 +2016,10 @@ function CalendarPicker({ className, mode = "single", selected, onSelect, ...pro
1897
2016
  }, baseProps = {
1898
2017
  className,
1899
2018
  classNames: calendarClassNames,
1900
- components: calendarComponents,
2019
+ components: {
2020
+ ...defaultComponents,
2021
+ ...components
2022
+ },
1901
2023
  labels: { labelDayButton: labelDayButtonWithVisibleText },
1902
2024
  ...props
1903
2025
  };
@@ -1923,9 +2045,6 @@ function CalendarPicker({ className, mode = "single", selected, onSelect, ...pro
1923
2045
  }
1924
2046
  }
1925
2047
  //#endregion
1926
- //#region src/utils/date-time.ts
1927
- const formatDate = (date, locale, options) => new Intl.DateTimeFormat(locale, options).format(date);
1928
- //#endregion
1929
2048
  //#region src/components/calendar/calendar-summary.tsx
1930
2049
  const dateFormatOptions = {
1931
2050
  day: "numeric",
@@ -1961,10 +2080,14 @@ function CalendarSummary({ className, children, ref, ...props }) {
1961
2080
  //#endregion
1962
2081
  //#region src/components/calendar/index.ts
1963
2082
  const Calendar = Object.assign(Calendar$1, {
2083
+ DayButton: CalendarDayButton,
2084
+ Dropdown: CalendarDropdown,
1964
2085
  Footer: CalendarFooter,
1965
2086
  Header: CalendarHeader,
2087
+ NextMonthButton: CalendarNextMonthButton,
1966
2088
  Panel: CalendarPanel,
1967
2089
  Picker: CalendarPicker,
2090
+ PreviousMonthButton: CalendarPreviousMonthButton,
1968
2091
  Summary: CalendarSummary
1969
2092
  });
1970
2093
  //#endregion
@@ -2270,13 +2393,13 @@ function CheckboxIndicator({ className, ...props }) {
2270
2393
  className: cn("flex", className),
2271
2394
  ...props,
2272
2395
  render: (innerProps, state) => {
2273
- if (state.indeterminate) return /* @__PURE__ */ jsx(MinusIcon, {
2274
- weight: "bold",
2396
+ if (state.indeterminate) return /* @__PURE__ */ jsx(Icon, {
2397
+ name: "minus",
2275
2398
  ...innerProps,
2276
2399
  className: "text-accent-default"
2277
2400
  });
2278
- return /* @__PURE__ */ jsx(CheckIcon, {
2279
- weight: "bold",
2401
+ return /* @__PURE__ */ jsx(Icon, {
2402
+ name: "selected",
2280
2403
  ...innerProps
2281
2404
  });
2282
2405
  }
@@ -2358,12 +2481,12 @@ function CodeBlockActions({ className, ref, ...props }) {
2358
2481
  //#region src/components/code-block/code-block-copy.tsx
2359
2482
  const COPY_TIMEOUT = 2e3;
2360
2483
  const COPY_STATUS_ICON = {
2361
- false: /* @__PURE__ */ jsx(CopyIcon, {
2362
- weight: "bold",
2484
+ false: /* @__PURE__ */ jsx(Icon, {
2485
+ name: "copy",
2363
2486
  className: "animate-in zoom-in"
2364
2487
  }),
2365
- true: /* @__PURE__ */ jsx(CheckIcon, {
2366
- weight: "bold",
2488
+ true: /* @__PURE__ */ jsx(Icon, {
2489
+ name: "selected",
2367
2490
  className: "animate-in zoom-in"
2368
2491
  })
2369
2492
  };
@@ -2395,12 +2518,12 @@ function CodeBlockCopy({ className, children, disabled, ref, ...props }) {
2395
2518
  //#region src/components/code-block/code-block-download.tsx
2396
2519
  const DOWNLOAD_TIMEOUT = 2e3;
2397
2520
  const DOWNLOAD_STATUS_ICON = {
2398
- false: /* @__PURE__ */ jsx(DownloadIcon, {
2399
- weight: "bold",
2521
+ false: /* @__PURE__ */ jsx(Icon, {
2522
+ name: "download",
2400
2523
  className: "animate-in zoom-in"
2401
2524
  }),
2402
- true: /* @__PURE__ */ jsx(CheckIcon, {
2403
- weight: "bold",
2525
+ true: /* @__PURE__ */ jsx(Icon, {
2526
+ name: "selected",
2404
2527
  className: "animate-in zoom-in"
2405
2528
  })
2406
2529
  };
@@ -2472,7 +2595,7 @@ function CodeBlockSelect({ className, children, ref, ...props }) {
2472
2595
  ref,
2473
2596
  ...props,
2474
2597
  variant: "ghost",
2475
- children: [/* @__PURE__ */ jsx(SelectValue, { children: (value) => items.find((item) => item.id === value)?.label }), /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(CaretUpDownIcon, { weight: "bold" }) })]
2598
+ children: [/* @__PURE__ */ jsx(SelectValue, { children: (value) => items.find((item) => item.id === value)?.label }), /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(Icon, { name: "chevronsUpDown" }) })]
2476
2599
  }), /* @__PURE__ */ jsx(SelectPopup, { children: /* @__PURE__ */ jsxs(SelectList, { children: [children, items.map(({ label, id }) => /* @__PURE__ */ jsx(SelectItem, {
2477
2600
  value: id,
2478
2601
  children: /* @__PURE__ */ jsx(SelectTitle, { children: label })
@@ -2809,8 +2932,8 @@ function CollapsibleTrigger({ className, children, ref, ...props }) {
2809
2932
  className: cn("group/trigger", className),
2810
2933
  ref,
2811
2934
  ...props,
2812
- children: [children, /* @__PURE__ */ jsx(CaretRightIcon, {
2813
- weight: "bold",
2935
+ children: [children, /* @__PURE__ */ jsx(Icon, {
2936
+ name: "chevronRight",
2814
2937
  className: "ml-auto transition-all ease-out group-data-panel-open/trigger:rotate-90"
2815
2938
  })]
2816
2939
  }) });
@@ -3620,7 +3743,7 @@ function ColorPickerInput({ showPopover = false, showTransparencyField = true, c
3620
3743
  orientation: "vertical",
3621
3744
  className: "h-md"
3622
3745
  }),
3623
- /* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(PercentIcon, { weight: "bold" }) }),
3746
+ /* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(Icon, { name: "percent" }) }),
3624
3747
  /* @__PURE__ */ jsx(InputGroupInput, {
3625
3748
  "aria-label": "Transparency percentage",
3626
3749
  type: "number",
@@ -3677,14 +3800,14 @@ function ColorPickerPaletteAdd({ className, children, ref, ...props }) {
3677
3800
  const { color, addPaletteColor } = useColorPicker(), handleClick = () => {
3678
3801
  addPaletteColor(color);
3679
3802
  };
3680
- return /* @__PURE__ */ jsxs("button", {
3803
+ return /* @__PURE__ */ jsx("button", {
3681
3804
  type: "button",
3682
3805
  "aria-label": "Add current color to palette",
3683
3806
  onClick: handleClick,
3684
3807
  className: cn("flex size-md items-center justify-center rounded-lg border border-border-strong text-border-strong hover:cursor-pointer [&>svg]:size-xs", className),
3685
3808
  ref,
3686
3809
  ...props,
3687
- children: [children, /* @__PURE__ */ jsx(PlusIcon, { weight: "bold" })]
3810
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "add" })
3688
3811
  });
3689
3812
  }
3690
3813
  //#endregion
@@ -3796,7 +3919,7 @@ function ColorPickerValueType({ className, children, ref, ...props }) {
3796
3919
  children: [
3797
3920
  children,
3798
3921
  /* @__PURE__ */ jsx(SelectValue, { children: (value) => VALUE_TYPES.find((type) => type.value === value)?.label ?? value }),
3799
- /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(CaretUpDownIcon, { weight: "bold" }) })
3922
+ /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(Icon, { name: "chevronsUpDown" }) })
3800
3923
  ]
3801
3924
  }), /* @__PURE__ */ jsx(SelectPopup, {
3802
3925
  sideOffset: 8,
@@ -3844,9 +3967,9 @@ function ComboboxChip({ className, children, ref, ...props }) {
3844
3967
  variant: "ghost",
3845
3968
  tone: "error",
3846
3969
  size: "extraSmall",
3847
- children: /* @__PURE__ */ jsx(XIcon, {
3848
- className: "size-sm",
3849
- weight: "bold"
3970
+ children: /* @__PURE__ */ jsx(Icon, {
3971
+ name: "close",
3972
+ className: "size-sm"
3850
3973
  })
3851
3974
  })
3852
3975
  })]
@@ -3939,7 +4062,7 @@ function ComboboxInput({ inline = false, variant, size = "medium", className, ch
3939
4062
  size: "extraSmall",
3940
4063
  variant: "ghost",
3941
4064
  tone: "error",
3942
- children: /* @__PURE__ */ jsx(XIcon, { weight: "bold" })
4065
+ children: /* @__PURE__ */ jsx(Icon, { name: "close" })
3943
4066
  })
3944
4067
  }), /* @__PURE__ */ jsx(Combobox$1.Trigger, {
3945
4068
  "aria-label": "Open popup",
@@ -3949,7 +4072,7 @@ function ComboboxInput({ inline = false, variant, size = "medium", className, ch
3949
4072
  size: "extraSmall",
3950
4073
  variant: getTriggerVariant(state.open),
3951
4074
  tone: "brand",
3952
- children: /* @__PURE__ */ jsx(CaretDownIcon, { weight: "bold" })
4075
+ children: /* @__PURE__ */ jsx(Icon, { name: "chevronDown" })
3953
4076
  })
3954
4077
  })] })]
3955
4078
  })
@@ -3968,9 +4091,9 @@ function ComboboxItem({ className, children, ref, ...props }) {
3968
4091
  children
3969
4092
  }), /* @__PURE__ */ jsx(Combobox$1.ItemIndicator, {
3970
4093
  className: "col-start-2 place-self-end self-center",
3971
- children: /* @__PURE__ */ jsx(CheckIcon, {
3972
- className: "size-sm",
3973
- weight: "bold"
4094
+ children: /* @__PURE__ */ jsx(Icon, {
4095
+ name: "selected",
4096
+ className: "size-sm"
3974
4097
  })
3975
4098
  })]
3976
4099
  });
@@ -4023,7 +4146,7 @@ function ComboboxTrigger({ placeholder, className, children, ref, ...props }) {
4023
4146
  className: "opacity-70",
4024
4147
  children: placeholder
4025
4148
  }) }),
4026
- /* @__PURE__ */ jsx(Combobox$1.Icon, { children: /* @__PURE__ */ jsx(CaretUpDownIcon, {}) }),
4149
+ /* @__PURE__ */ jsx(Combobox$1.Icon, { children: /* @__PURE__ */ jsx(Icon, { name: "chevronsUpDown" }) }),
4027
4150
  children
4028
4151
  ]
4029
4152
  });
@@ -4134,9 +4257,9 @@ function ContextMenuCheckboxItem({ className, children, ref, ...props }) {
4134
4257
  children
4135
4258
  }), /* @__PURE__ */ jsx(ContextMenu$1.CheckboxItemIndicator, {
4136
4259
  className: "col-start-2 flex items-center justify-center place-self-end self-center",
4137
- children: /* @__PURE__ */ jsx(CheckIcon, {
4138
- className: "size-sm",
4139
- weight: "bold"
4260
+ children: /* @__PURE__ */ jsx(Icon, {
4261
+ name: "selected",
4262
+ className: "size-sm"
4140
4263
  })
4141
4264
  })]
4142
4265
  });
@@ -4231,9 +4354,9 @@ function ContextMenuRadioItem({ className, children, ref, ...props }) {
4231
4354
  children
4232
4355
  }), /* @__PURE__ */ jsx(ContextMenu$1.RadioItemIndicator, {
4233
4356
  className: "col-start-2 flex items-center justify-center place-self-end self-center",
4234
- children: /* @__PURE__ */ jsx(CheckIcon, {
4235
- className: "size-sm",
4236
- weight: "bold"
4357
+ children: /* @__PURE__ */ jsx(Icon, {
4358
+ name: "selected",
4359
+ className: "size-sm"
4237
4360
  })
4238
4361
  })]
4239
4362
  });
@@ -4271,9 +4394,9 @@ function ContextMenuSubmenuTrigger({ className, children, ref, tone, ...props })
4271
4394
  children: [/* @__PURE__ */ jsx("span", {
4272
4395
  className: "flex min-w-3xl items-center gap-2xs pr-2xl",
4273
4396
  children
4274
- }), /* @__PURE__ */ jsx(CaretRightIcon, {
4275
- className: "ml-auto size-xs shrink-0 self-center",
4276
- weight: "bold"
4397
+ }), /* @__PURE__ */ jsx(Icon, {
4398
+ name: "chevronRight",
4399
+ className: "ml-auto size-xs shrink-0 self-center"
4277
4400
  })]
4278
4401
  });
4279
4402
  }
@@ -4309,7 +4432,7 @@ function Dialog$2({ ...props }) {
4309
4432
  }
4310
4433
  //#endregion
4311
4434
  //#region src/components/dialog/dialog-close.tsx
4312
- function DialogClose({ className, ref, ...props }) {
4435
+ function DialogClose({ className, children, ref, ...props }) {
4313
4436
  return /* @__PURE__ */ jsx(Dialog$1.Close, {
4314
4437
  className: cn("absolute top-xs right-xs", className),
4315
4438
  ref,
@@ -4319,7 +4442,7 @@ function DialogClose({ className, ref, ...props }) {
4319
4442
  variant: "ghost",
4320
4443
  size: "extraSmall",
4321
4444
  tone: "error",
4322
- children: /* @__PURE__ */ jsx(XIcon, { weight: "bold" })
4445
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "close" })
4323
4446
  })
4324
4447
  });
4325
4448
  }
@@ -4807,7 +4930,7 @@ function DropzoneError({ className, children, ref, ...props }) {
4807
4930
  ref,
4808
4931
  role: "alert",
4809
4932
  ...props,
4810
- children: [/* @__PURE__ */ jsx(WarningCircleIcon, { weight: "bold" }), children ?? fileError]
4933
+ children: [/* @__PURE__ */ jsx(Icon, { name: "error" }), children ?? fileError]
4811
4934
  });
4812
4935
  }
4813
4936
  //#endregion
@@ -4994,11 +5117,17 @@ function DropzoneFilesList({ className, children, ref, ...props }) {
4994
5117
  children: [
4995
5118
  isUploading && /* @__PURE__ */ jsx("div", {
4996
5119
  className: "flex items-center justify-center rounded-full bg-brand-container p-xs",
4997
- children: /* @__PURE__ */ jsx(FileArrowUpIcon, { className: "size-md text-brand-on-container" })
5120
+ children: /* @__PURE__ */ jsx(Icon, {
5121
+ name: "fileUpload",
5122
+ className: "size-md text-brand-on-container"
5123
+ })
4998
5124
  }),
4999
5125
  isUploaded && /* @__PURE__ */ jsx("div", {
5000
5126
  className: "flex items-center justify-center rounded-full bg-success-container p-xs",
5001
- children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-md text-success-on-container" })
5127
+ children: /* @__PURE__ */ jsx(Icon, {
5128
+ name: "selected",
5129
+ className: "size-md text-success-on-container"
5130
+ })
5002
5131
  }),
5003
5132
  /* @__PURE__ */ jsxs("div", {
5004
5133
  className: "flex w-full flex-col justify-between gap-3xs",
@@ -5026,7 +5155,7 @@ function DropzoneFilesList({ className, children, ref, ...props }) {
5026
5155
  variant: "ghost",
5027
5156
  tone: "error",
5028
5157
  onClick: () => removeFile(file),
5029
- children: /* @__PURE__ */ jsx(TrashIcon, { weight: "bold" })
5158
+ children: /* @__PURE__ */ jsx(Icon, { name: "delete" })
5030
5159
  })
5031
5160
  ]
5032
5161
  }, fileKey);
@@ -5181,7 +5310,7 @@ function FieldErrors({ className, children, ref, ...props }) {
5181
5310
  const DEFAULT_COLOR = "#000000";
5182
5311
  const EMPTY_FILE_COUNT = 0;
5183
5312
  const SINGLE_FILE_COUNT = 1;
5184
- const defaultFileUploadButtonIcon = /* @__PURE__ */ jsx(UploadIcon, { weight: "bold" });
5313
+ const defaultFileUploadButtonIcon = /* @__PURE__ */ jsx(Icon, { name: "upload" });
5185
5314
  const defaultFilesSelectedLabel = (count) => `${count} files selected`;
5186
5315
  const defaultMaxFilesErrorLabel = (maxFiles) => {
5187
5316
  if (maxFiles === SINGLE_FILE_COUNT) return `You can select up to ${maxFiles} file.`;
@@ -5333,7 +5462,7 @@ function Input({ fileUploadButtonIcon = defaultFileUploadButtonIcon, fileUploadB
5333
5462
  variant: "ghost",
5334
5463
  tone: "error",
5335
5464
  onClick: clearFiles,
5336
- children: /* @__PURE__ */ jsx(XIcon, { weight: "bold" })
5465
+ children: /* @__PURE__ */ jsx(Icon, { name: "close" })
5337
5466
  })]
5338
5467
  });
5339
5468
  }
@@ -5908,7 +6037,7 @@ function FormErrors({ className, children, ref, ...props }) {
5908
6037
  tone: "error",
5909
6038
  ...props,
5910
6039
  children: [
5911
- /* @__PURE__ */ jsx(AlertIcon, { children: /* @__PURE__ */ jsx(XCircleIcon, { weight: "duotone" }) }),
6040
+ /* @__PURE__ */ jsx(AlertIcon, { children: /* @__PURE__ */ jsx(Icon, { name: "fieldError" }) }),
5912
6041
  /* @__PURE__ */ jsx(AlertTitle, { children }),
5913
6042
  /* @__PURE__ */ jsx(AlertDescription, { children: /* @__PURE__ */ jsx("ul", {
5914
6043
  className: "list-inside list-disc has-[>:only-child]:list-none",
@@ -6000,9 +6129,9 @@ function FormSubmit({ className, children, ref, ...props }) {
6000
6129
  ref,
6001
6130
  type: "submit",
6002
6131
  ...props,
6003
- children: [state.isSubmitting && /* @__PURE__ */ jsx(CircleNotchIcon, {
6004
- className: "animate-spin",
6005
- weight: "bold"
6132
+ children: [state.isSubmitting && /* @__PURE__ */ jsx(Icon, {
6133
+ name: "spinner",
6134
+ className: "animate-spin"
6006
6135
  }), !state.isSubmitting && children]
6007
6136
  })
6008
6137
  });
@@ -6129,12 +6258,12 @@ function InputOTP$1({ children, className, id, ref, ...props }) {
6129
6258
  }
6130
6259
  //#endregion
6131
6260
  //#region src/components/input-otp/input-otp-separator.tsx
6132
- function InputOtpSeparator({ className, ref, ...props }) {
6261
+ function InputOtpSeparator({ className, children, ref, ...props }) {
6133
6262
  return /* @__PURE__ */ jsx(OTPField.Separator, {
6134
6263
  className: cn("flex items-center justify-center text-on-surface-variant", className),
6135
6264
  ref,
6136
6265
  ...props,
6137
- children: /* @__PURE__ */ jsx(MinusIcon, { weight: "bold" })
6266
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "minus" })
6138
6267
  });
6139
6268
  }
6140
6269
  //#endregion
@@ -6531,7 +6660,7 @@ function LayerTreeExpandAll({ className, ref, ...props }) {
6531
6660
  className: cn("", className),
6532
6661
  ref,
6533
6662
  ...props,
6534
- children: [table.getIsSomeRowsExpanded() && /* @__PURE__ */ jsx(FolderOpenIcon, { weight: "bold" }), !table.getIsSomeRowsExpanded() && /* @__PURE__ */ jsx(FolderSimpleIcon, { weight: "bold" })]
6663
+ children: [table.getIsSomeRowsExpanded() && /* @__PURE__ */ jsx(Icon, { name: "folderOpen" }), !table.getIsSomeRowsExpanded() && /* @__PURE__ */ jsx(Icon, { name: "folderExpandAll" })]
6535
6664
  })
6536
6665
  });
6537
6666
  }
@@ -6552,9 +6681,9 @@ function LayerTreeIconCell({ className, children, ref, ...props }) {
6552
6681
  selector: (state) => state.expanded,
6553
6682
  children: () => {
6554
6683
  const isExpanded = row.getIsExpanded();
6555
- let iconNode = createElement(icon, { weight: "bold" });
6556
- if (hasChildren && isExpanded) iconNode = /* @__PURE__ */ jsx(FolderOpenIcon, {});
6557
- else if (hasChildren) iconNode = /* @__PURE__ */ jsx(FolderIcon, { weight: "fill" });
6684
+ let iconNode = createElement(icon);
6685
+ if (hasChildren && isExpanded) iconNode = /* @__PURE__ */ jsx(Icon, { name: "folderOpen" });
6686
+ else if (hasChildren) iconNode = /* @__PURE__ */ jsx(Icon, { name: "folder" });
6558
6687
  return /* @__PURE__ */ jsxs("div", {
6559
6688
  className: cn("flex w-fit shrink-0 items-center [&>svg]:size-sm", className),
6560
6689
  ref,
@@ -6586,8 +6715,8 @@ function LayerTreeLockedAll({ className, children, ref, ...props }) {
6586
6715
  ...props,
6587
6716
  children: [
6588
6717
  children,
6589
- isLocked && /* @__PURE__ */ jsx(LockSimpleIcon, { weight: "fill" }),
6590
- !isLocked && /* @__PURE__ */ jsx(LockSimpleOpenIcon, { weight: "bold" })
6718
+ isLocked && /* @__PURE__ */ jsx(Icon, { name: "locked" }),
6719
+ !isLocked && /* @__PURE__ */ jsx(Icon, { name: "unlocked" })
6591
6720
  ]
6592
6721
  });
6593
6722
  }
@@ -6616,8 +6745,8 @@ function LayerTreeLockedCell({ className, children, ref, ...props }) {
6616
6745
  ...props,
6617
6746
  children: [
6618
6747
  children,
6619
- isLocked && /* @__PURE__ */ jsx(LockSimpleIcon, { weight: "fill" }),
6620
- !isLocked && /* @__PURE__ */ jsx(LockSimpleOpenIcon, { weight: "bold" })
6748
+ isLocked && /* @__PURE__ */ jsx(Icon, { name: "locked" }),
6749
+ !isLocked && /* @__PURE__ */ jsx(Icon, { name: "unlocked" })
6621
6750
  ]
6622
6751
  });
6623
6752
  }
@@ -6627,10 +6756,10 @@ function LayerTreeLockedCell({ className, children, ref, ...props }) {
6627
6756
  //#region src/components/layer-tree/layer-tree-node-icon.tsx
6628
6757
  function LayerTreeNodeIcon({ icon: NodeIcon, className, children, ref, ...props }) {
6629
6758
  const { row } = useCellContext$3(), hasChildren = row.getCanExpand() && Boolean(row.getLeafRows().length);
6630
- let nodeIcon = /* @__PURE__ */ jsx(NodeIcon, { weight: "bold" });
6759
+ let nodeIcon = /* @__PURE__ */ jsx(NodeIcon, {});
6631
6760
  if (hasChildren) {
6632
- nodeIcon = /* @__PURE__ */ jsx(FolderIcon, { weight: "fill" });
6633
- if (row.getIsExpanded()) nodeIcon = /* @__PURE__ */ jsx(FolderOpenIcon, {});
6761
+ nodeIcon = /* @__PURE__ */ jsx(Icon, { name: "folder" });
6762
+ if (row.getIsExpanded()) nodeIcon = /* @__PURE__ */ jsx(Icon, { name: "folderOpen" });
6634
6763
  }
6635
6764
  return /* @__PURE__ */ jsxs("div", {
6636
6765
  className: cn("", className),
@@ -6650,7 +6779,7 @@ function LayerTreeSearch({ placeholder, className, children, ref, ...props }) {
6650
6779
  ref,
6651
6780
  ...props,
6652
6781
  children: [
6653
- /* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(MagnifyingGlassIcon, { weight: "bold" }) }),
6782
+ /* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(Icon, { name: "search" }) }),
6654
6783
  /* @__PURE__ */ jsx(InputGroupInput, {
6655
6784
  placeholder,
6656
6785
  onChange: (event) => table.setGlobalFilter(event.target.value),
@@ -6678,9 +6807,9 @@ function MenuCheckboxItem({ className, children, ref, ...props }) {
6678
6807
  children
6679
6808
  }), /* @__PURE__ */ jsx(Menu$1.CheckboxItemIndicator, {
6680
6809
  className: "col-start-2 flex items-center justify-center place-self-end self-center",
6681
- children: /* @__PURE__ */ jsx(CheckIcon, {
6682
- className: "size-sm",
6683
- weight: "bold"
6810
+ children: /* @__PURE__ */ jsx(Icon, {
6811
+ name: "selected",
6812
+ className: "size-sm"
6684
6813
  })
6685
6814
  })]
6686
6815
  });
@@ -6780,9 +6909,9 @@ function MenuRadioItem({ className, children, ref, ...props }) {
6780
6909
  children
6781
6910
  }), /* @__PURE__ */ jsx(Menu$1.RadioItemIndicator, {
6782
6911
  className: "col-start-2 flex items-center justify-center place-self-end self-center",
6783
- children: /* @__PURE__ */ jsx(CheckIcon, {
6784
- className: "size-sm",
6785
- weight: "bold"
6912
+ children: /* @__PURE__ */ jsx(Icon, {
6913
+ name: "selected",
6914
+ className: "size-sm"
6786
6915
  })
6787
6916
  })]
6788
6917
  });
@@ -6820,9 +6949,9 @@ function MenuSubmenuTrigger({ tone, className, children, ref, ...props }) {
6820
6949
  children: [/* @__PURE__ */ jsx("div", {
6821
6950
  className: "col-start-1 flex min-w-3xl items-center gap-2xs pr-2xl [&>svg]:size-sm",
6822
6951
  children
6823
- }), /* @__PURE__ */ jsx(CaretRightIcon, {
6824
- className: "col-start-2 size-xs place-self-end self-center",
6825
- weight: "bold"
6952
+ }), /* @__PURE__ */ jsx(Icon, {
6953
+ name: "chevronRight",
6954
+ className: "col-start-2 size-xs place-self-end self-center"
6826
6955
  })]
6827
6956
  });
6828
6957
  }
@@ -6878,7 +7007,7 @@ function LayerTreeSort({ className, children, ref, ...props }) {
6878
7007
  variant: "ghost",
6879
7008
  size: "medium",
6880
7009
  tone: "neutral",
6881
- children: /* @__PURE__ */ jsx(ArrowsDownUpIcon, { weight: "bold" })
7010
+ children: /* @__PURE__ */ jsx(Icon, { name: "sort" })
6882
7011
  })
6883
7012
  }), /* @__PURE__ */ jsx(MenuPopup, {
6884
7013
  align: "end",
@@ -6889,12 +7018,12 @@ function LayerTreeSort({ className, children, ref, ...props }) {
6889
7018
  /* @__PURE__ */ jsxs(MenuCheckboxItem, {
6890
7019
  checked: column.getIsSorted() === "asc",
6891
7020
  onClick: () => handleSort(column.id, "asc"),
6892
- children: [/* @__PURE__ */ jsx(SortDescendingIcon, { weight: "bold" }), ascendingLabel]
7021
+ children: [/* @__PURE__ */ jsx(Icon, { name: "sortDescending" }), ascendingLabel]
6893
7022
  }),
6894
7023
  /* @__PURE__ */ jsxs(MenuCheckboxItem, {
6895
7024
  checked: column.getIsSorted() === "desc",
6896
7025
  onClick: () => handleSort(column.id, "desc"),
6897
- children: [/* @__PURE__ */ jsx(SortAscendingIcon, { weight: "bold" }), descendingLabel]
7026
+ children: [/* @__PURE__ */ jsx(Icon, { name: "sortAscending" }), descendingLabel]
6898
7027
  })
6899
7028
  ] })] }, column.id))
6900
7029
  })
@@ -6990,8 +7119,8 @@ function LayerTreeVisibilityAll({ className, children, ref, ...props }) {
6990
7119
  ...props,
6991
7120
  children: [
6992
7121
  children,
6993
- isVisible && /* @__PURE__ */ jsx(EyeIcon, { weight: "bold" }),
6994
- !isVisible && /* @__PURE__ */ jsx(EyeClosedIcon, { weight: "bold" })
7122
+ isVisible && /* @__PURE__ */ jsx(Icon, { name: "visible" }),
7123
+ !isVisible && /* @__PURE__ */ jsx(Icon, { name: "hidden" })
6995
7124
  ]
6996
7125
  });
6997
7126
  }
@@ -7020,8 +7149,8 @@ function LayerTreeVisibilityCell({ className, children, ref, ...props }) {
7020
7149
  ...props,
7021
7150
  children: [
7022
7151
  children,
7023
- isVisible && /* @__PURE__ */ jsx(EyeIcon, { weight: "bold" }),
7024
- !isVisible && /* @__PURE__ */ jsx(EyeClosedIcon, { weight: "bold" })
7152
+ isVisible && /* @__PURE__ */ jsx(Icon, { name: "visible" }),
7153
+ !isVisible && /* @__PURE__ */ jsx(Icon, { name: "hidden" })
7025
7154
  ]
7026
7155
  });
7027
7156
  }
@@ -7406,7 +7535,7 @@ function NumberField({ size, variant, children, label, disableInput: disabledInp
7406
7535
  variant: "ghost",
7407
7536
  size: size ?? "medium",
7408
7537
  className: "shrink-0 rounded-r-none",
7409
- children: /* @__PURE__ */ jsx(MinusIcon, { weight: "bold" })
7538
+ children: /* @__PURE__ */ jsx(Icon, { name: "minus" })
7410
7539
  }) }),
7411
7540
  /* @__PURE__ */ jsx(NumberField$1.Input, {
7412
7541
  "aria-label": getInputLabel(label),
@@ -7423,7 +7552,7 @@ function NumberField({ size, variant, children, label, disableInput: disabledInp
7423
7552
  variant: "ghost",
7424
7553
  size: size ?? "medium",
7425
7554
  className: "shrink-0 rounded-l-none",
7426
- children: /* @__PURE__ */ jsx(PlusIcon, { weight: "bold" })
7555
+ children: /* @__PURE__ */ jsx(Icon, { name: "add" })
7427
7556
  }) })
7428
7557
  ]
7429
7558
  })]
@@ -7932,7 +8061,7 @@ function SidebarContent({ className, children, ref, ...props }) {
7932
8061
  ref,
7933
8062
  ...props,
7934
8063
  children: /* @__PURE__ */ jsx(ScrollArea$1.Viewport, {
7935
- className: cn("flex h-full scrollbar-none flex-col items-center divide-y divide-border overflow-y-auto overscroll-contain [&::-webkit-scrollbar]:hidden", "before:pointer-events-none before:absolute before:top-0 before:left-0 before:block before:h-[min(40px,var(--scroll-area-overflow-y-start))] before:w-full before:bg-linear-to-b before:from-shadow/35 before:to-transparent before:transition-[height] before:duration-100 before:ease-out before:content-[\"\"] before:[--scroll-area-overflow-y-start:inherit]", "after:pointer-events-none after:absolute after:bottom-0 after:left-0 after:block after:h-[min(40px,var(--scroll-area-overflow-y-end,40px))] after:w-full after:bg-linear-to-t after:from-shadow/35 after:to-transparent after:transition-[height] after:duration-100 after:ease-out after:content-[\"\"] after:[--scroll-area-overflow-y-end:inherit]", open && "gap-md", !open && "gap-xs px-3xs pt-3xs"),
8064
+ className: cn("flex h-full scrollbar-none flex-col items-center overflow-y-auto overscroll-contain [&::-webkit-scrollbar]:hidden", "before:pointer-events-none before:absolute before:top-0 before:left-0 before:block before:h-[min(40px,var(--scroll-area-overflow-y-start))] before:w-full before:bg-linear-to-b before:from-shadow/35 before:to-transparent before:transition-[height] before:duration-100 before:ease-out before:content-[\"\"] before:[--scroll-area-overflow-y-start:inherit]", "after:pointer-events-none after:absolute after:bottom-0 after:left-0 after:block after:h-[min(40px,var(--scroll-area-overflow-y-end,40px))] after:w-full after:bg-linear-to-t after:from-shadow/35 after:to-transparent after:transition-[height] after:duration-100 after:ease-out after:content-[\"\"] after:[--scroll-area-overflow-y-end:inherit]", open && "gap-md", !open && "gap-xs px-3xs pt-3xs"),
7936
8065
  children
7937
8066
  })
7938
8067
  });
@@ -7952,7 +8081,7 @@ function SidebarFooter({ className, children, ref, ...props }) {
7952
8081
  //#region src/components/sidebar/sidebar-group.tsx
7953
8082
  function SidebarGroup({ className, ref, ...props }) {
7954
8083
  return /* @__PURE__ */ jsx("div", {
7955
- className: cn("flex w-full flex-col items-start gap-3xs not-last-of-type:pb-md", className),
8084
+ className: cn("flex w-full flex-col items-start gap-2xs not-last-of-type:pb-md", className),
7956
8085
  ref,
7957
8086
  ...props
7958
8087
  });
@@ -7972,7 +8101,7 @@ function SidebarGroupLabel({ className, ref, ...props }) {
7972
8101
  const { open, collapsible } = useSidebar();
7973
8102
  if (!(collapsible === "none" || open)) return;
7974
8103
  return /* @__PURE__ */ jsx("span", {
7975
- className: cn("inline-flex h-md w-full items-center justify-between truncate pr-3xs pl-sm style-text-default--1 text-on-surface-variant transition-all duration-200 ease-out", collapsible !== "none" && open && "animate-in fade-in-0 slide-in-from-left-2", className),
8104
+ className: cn("inline-flex h-md w-full items-center justify-between truncate pr-3xs pl-sm style-text-default--1 text-on-surface-muted transition-all duration-200 ease-out", collapsible !== "none" && open && "animate-in fade-in-0 slide-in-from-left-2", className),
7976
8105
  ref,
7977
8106
  ...props
7978
8107
  });
@@ -8072,8 +8201,8 @@ function SidebarMenuCollapsibleTrigger({ className, children, ref, style: _style
8072
8201
  if (!open) return /* @__PURE__ */ jsx(PopoverTrigger, { children: /* @__PURE__ */ jsxs("button", {
8073
8202
  type: "button",
8074
8203
  className: cn("flex size-xl items-center justify-center rounded-full shadow-none! transition-colors *:hidden hover:cursor-pointer hover:bg-neutral-container hover:text-neutral-on-container data-popup-open:bg-neutral-container [&>svg]:block"),
8075
- children: [children, /* @__PURE__ */ jsx(CaretRightIcon, {
8076
- weight: "bold",
8204
+ children: [children, /* @__PURE__ */ jsx(Icon, {
8205
+ name: "chevronRight",
8077
8206
  className: "absolute right-2xs size-xs text-on-surface-variant"
8078
8207
  })]
8079
8208
  }) });
@@ -8150,6 +8279,60 @@ const Sidebar = Object.assign(Sidebar$1, {
8150
8279
  Toggle: SidebarToggle
8151
8280
  });
8152
8281
  //#endregion
8282
+ //#region src/components/site-header/site-header.tsx
8283
+ function SiteHeader$1({ sticky = false, className, ref, ...props }) {
8284
+ return /* @__PURE__ */ jsx("div", {
8285
+ className: cn("z-50 grid auto-cols-fr grid-flow-col items-center gap-xs border-b border-border bg-surface-background px-lg py-xs", sticky && "sticky top-0", className),
8286
+ ref,
8287
+ ...props
8288
+ });
8289
+ }
8290
+ //#endregion
8291
+ //#region src/components/site-header/site-header.types.ts
8292
+ const siteHeaderGroupVariants = cva("flex items-center gap-xs", {
8293
+ defaultVariants: { position: "start" },
8294
+ variants: { position: {
8295
+ center: "justify-center",
8296
+ end: "justify-end",
8297
+ start: "justify-start"
8298
+ } }
8299
+ });
8300
+ //#endregion
8301
+ //#region src/components/site-header/site-header-group.tsx
8302
+ function SiteHeaderGroup({ position, className, ref, ...props }) {
8303
+ return /* @__PURE__ */ jsx("div", {
8304
+ className: cn(siteHeaderGroupVariants({ position }), className),
8305
+ ref,
8306
+ ...props
8307
+ });
8308
+ }
8309
+ //#endregion
8310
+ //#region src/components/site-header/site-header-separator.tsx
8311
+ function SiteHeaderSeparator({ className, ref, ...props }) {
8312
+ return /* @__PURE__ */ jsx(Separator, {
8313
+ orientation: "vertical",
8314
+ className: cn("h-md", className),
8315
+ ref,
8316
+ ...props
8317
+ });
8318
+ }
8319
+ //#endregion
8320
+ //#region src/components/site-header/site-header-title.tsx
8321
+ function SiteHeaderTitle({ className, ref, ...props }) {
8322
+ return /* @__PURE__ */ jsx("span", {
8323
+ className: cn("style-text-strong-2", className),
8324
+ ref,
8325
+ ...props
8326
+ });
8327
+ }
8328
+ //#endregion
8329
+ //#region src/components/site-header/index.ts
8330
+ const SiteHeader = Object.assign(SiteHeader$1, {
8331
+ Group: SiteHeaderGroup,
8332
+ Separator: SiteHeaderSeparator,
8333
+ Title: SiteHeaderTitle
8334
+ });
8335
+ //#endregion
8153
8336
  //#region src/components/slider-group/slider-description.tsx
8154
8337
  function SliderDescription({ className, ref, ...props }) {
8155
8338
  return /* @__PURE__ */ jsx("p", {
@@ -8967,7 +9150,7 @@ function TableDateFilterChip({ column, className, children, ref, ...props }) {
8967
9150
  size: "extraSmall",
8968
9151
  variant: "soft",
8969
9152
  children: [
8970
- /* @__PURE__ */ jsx(FunnelIcon, {}),
9153
+ /* @__PURE__ */ jsx(Icon, { name: "filter" }),
8971
9154
  /* @__PURE__ */ jsx("span", { children: getColumnHeaderLabel(column) }),
8972
9155
  /* @__PURE__ */ jsx("span", {
8973
9156
  className: "lowercase",
@@ -9064,7 +9247,7 @@ function TableNumberFilterChip({ column, className, children, ref, ...props }) {
9064
9247
  size: "extraSmall",
9065
9248
  variant: "soft",
9066
9249
  children: [
9067
- /* @__PURE__ */ jsx(FunnelIcon, {}),
9250
+ /* @__PURE__ */ jsx(Icon, { name: "filter" }),
9068
9251
  /* @__PURE__ */ jsx("span", { children: getColumnHeaderLabel(column) }),
9069
9252
  /* @__PURE__ */ jsx("span", {
9070
9253
  className: "font-light lowercase",
@@ -9120,7 +9303,7 @@ function TableSelectFilterForm({ column, className, children, ref, ...props }) {
9120
9303
  children: [/* @__PURE__ */ jsx(SelectValue, {
9121
9304
  placeholder: "Select values",
9122
9305
  children: (value) => getSelectValueLabel(value)
9123
- }), /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(CaretUpDownIcon, { weight: "bold" }) })]
9306
+ }), /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(Icon, { name: "chevronsUpDown" }) })]
9124
9307
  }), /* @__PURE__ */ jsx(SelectPopup, {
9125
9308
  alignItemWithTrigger: false,
9126
9309
  sideOffset: 8,
@@ -9157,7 +9340,7 @@ function TableSelectFilterChip({ column, className, children, ref, ...props }) {
9157
9340
  size: "extraSmall",
9158
9341
  variant: "soft",
9159
9342
  children: [
9160
- /* @__PURE__ */ jsx(FunnelIcon, {}),
9343
+ /* @__PURE__ */ jsx(Icon, { name: "filter" }),
9161
9344
  /* @__PURE__ */ jsx("span", { children: header }),
9162
9345
  /* @__PURE__ */ jsx("span", {
9163
9346
  className: "font-light lowercase",
@@ -9237,7 +9420,7 @@ function TableStringFilterChip({ column, className, children, ref, ...props }) {
9237
9420
  size: "extraSmall",
9238
9421
  variant: "soft",
9239
9422
  children: [
9240
- /* @__PURE__ */ jsx(FunnelIcon, {}),
9423
+ /* @__PURE__ */ jsx(Icon, { name: "filter" }),
9241
9424
  /* @__PURE__ */ jsx("span", { children: getColumnHeaderLabel(column) }),
9242
9425
  /* @__PURE__ */ jsx("span", {
9243
9426
  className: "font-light lowercase",
@@ -9322,7 +9505,7 @@ function TableFirstPage({ className, children, ref, ...props }) {
9322
9505
  const table = useTableContext$2(), handleClick = () => {
9323
9506
  table.setPageIndex(DEFAULT_PAGE_INDEX);
9324
9507
  };
9325
- return /* @__PURE__ */ jsxs(Button, {
9508
+ return /* @__PURE__ */ jsx(Button, {
9326
9509
  "aria-label": "Go to first page",
9327
9510
  className: cn("shrink-0", className),
9328
9511
  disabled: !table.getCanPreviousPage(),
@@ -9332,7 +9515,7 @@ function TableFirstPage({ className, children, ref, ...props }) {
9332
9515
  tone: "neutral",
9333
9516
  size: "medium",
9334
9517
  ...props,
9335
- children: [children, /* @__PURE__ */ jsx(CaretLineLeftIcon, { weight: "bold" })]
9518
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "firstPage" })
9336
9519
  });
9337
9520
  }
9338
9521
  //#endregion
@@ -9383,9 +9566,9 @@ function TableHeader({ className, children, ref, ...props }) {
9383
9566
  className: "flex items-center gap-2xs",
9384
9567
  children: /* @__PURE__ */ jsx(table.FlexRender, { header: renderHeader })
9385
9568
  }),
9386
- sorting === "asc" && /* @__PURE__ */ jsx(SortDescendingIcon, { weight: "bold" }),
9387
- sorting === "desc" && /* @__PURE__ */ jsx(SortAscendingIcon, { weight: "bold" }),
9388
- !sorting && renderHeader.column.getCanSort() && /* @__PURE__ */ jsx(FunnelSimpleIcon, { weight: "bold" })
9569
+ sorting === "asc" && /* @__PURE__ */ jsx(Icon, { name: "sortDescending" }),
9570
+ sorting === "desc" && /* @__PURE__ */ jsx(Icon, { name: "sortAscending" }),
9571
+ !sorting && renderHeader.column.getCanSort() && /* @__PURE__ */ jsx(Icon, { name: "columnFilter" })
9389
9572
  ]
9390
9573
  })
9391
9574
  }, renderHeader.id);
@@ -9414,7 +9597,7 @@ function TableLastPage({ className, children, ref, ...props }) {
9414
9597
  const table = useTableContext$2(), handleClick = () => {
9415
9598
  table.setPageIndex(table.getPageCount() - LAST_PAGE_OFFSET);
9416
9599
  };
9417
- return /* @__PURE__ */ jsxs(Button, {
9600
+ return /* @__PURE__ */ jsx(Button, {
9418
9601
  "aria-label": "Go to last page",
9419
9602
  className: cn("shrink-0", className),
9420
9603
  disabled: !table.getCanNextPage(),
@@ -9424,7 +9607,7 @@ function TableLastPage({ className, children, ref, ...props }) {
9424
9607
  tone: "neutral",
9425
9608
  size: "medium",
9426
9609
  ...props,
9427
- children: [children, /* @__PURE__ */ jsx(CaretLineRightIcon, { weight: "bold" })]
9610
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "lastPage" })
9428
9611
  });
9429
9612
  }
9430
9613
  //#endregion
@@ -9456,7 +9639,7 @@ function TableNextPage({ className, children, ref, ...props }) {
9456
9639
  const table = useTableContext$2(), handleClick = () => {
9457
9640
  table.nextPage();
9458
9641
  };
9459
- return /* @__PURE__ */ jsxs(Button, {
9642
+ return /* @__PURE__ */ jsx(Button, {
9460
9643
  "aria-label": "Go to next page",
9461
9644
  className: cn("shrink-0", className),
9462
9645
  disabled: !table.getCanNextPage(),
@@ -9466,7 +9649,7 @@ function TableNextPage({ className, children, ref, ...props }) {
9466
9649
  variant: "outline",
9467
9650
  tone: "neutral",
9468
9651
  ...props,
9469
- children: [children, /* @__PURE__ */ jsx(CaretRightIcon, { weight: "bold" })]
9652
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronRight" })
9470
9653
  });
9471
9654
  }
9472
9655
  //#endregion
@@ -9547,7 +9730,7 @@ function TablePaging({ min = DEFAULT_VISIBLE_START_PAGES, max = DEFAULT_VISIBLE_
9547
9730
  size: "medium",
9548
9731
  variant: "outline",
9549
9732
  className: "shrink-0",
9550
- children: /* @__PURE__ */ jsx(DotsThreeIcon, { weight: "bold" })
9733
+ children: /* @__PURE__ */ jsx(Icon, { name: "ellipsis" })
9551
9734
  }) }), /* @__PURE__ */ jsx(MenuPopup, {
9552
9735
  align: "center",
9553
9736
  children: /* @__PURE__ */ jsx(MenuRadioGroup, {
@@ -9593,7 +9776,7 @@ function TablePreviousPage({ className, children, ref, ...props }) {
9593
9776
  const table = useTableContext$2(), handleClick = () => {
9594
9777
  table.previousPage();
9595
9778
  };
9596
- return /* @__PURE__ */ jsxs(Button, {
9779
+ return /* @__PURE__ */ jsx(Button, {
9597
9780
  "aria-label": "Go to previous page",
9598
9781
  className: cn("shrink-0", className),
9599
9782
  disabled: !table.getCanPreviousPage(),
@@ -9603,7 +9786,7 @@ function TablePreviousPage({ className, children, ref, ...props }) {
9603
9786
  tone: "neutral",
9604
9787
  size: "medium",
9605
9788
  ...props,
9606
- children: [children, /* @__PURE__ */ jsx(CaretLeftIcon, { weight: "bold" })]
9789
+ children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronLeft" })
9607
9790
  });
9608
9791
  }
9609
9792
  //#endregion
@@ -9691,7 +9874,7 @@ function TableSearch({ className, ref, ...props }) {
9691
9874
  children: (globalFilter) => /* @__PURE__ */ jsxs(InputGroup, {
9692
9875
  variant: props.variant ?? "outline",
9693
9876
  className: "flex-1",
9694
- children: [/* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(MagnifyingGlassIcon, { weight: "bold" }) }), /* @__PURE__ */ jsx(InputGroupInput, {
9877
+ children: [/* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(Icon, { name: "search" }) }), /* @__PURE__ */ jsx(InputGroupInput, {
9695
9878
  className: cn("", className),
9696
9879
  onChange: handleChange,
9697
9880
  ref,
@@ -9723,11 +9906,11 @@ function TableSortMenu({ className, ref, ...props }) {
9723
9906
  children: () => table.getAllColumns().filter((column) => column.getCanSort()).map((column) => /* @__PURE__ */ jsxs(MenuSubmenu, { children: [/* @__PURE__ */ jsx(MenuSubmenuTrigger, { children: getColumnHeaderLabel(column) }), /* @__PURE__ */ jsxs(MenuPopup, { children: [/* @__PURE__ */ jsxs(MenuCheckboxItem, {
9724
9907
  checked: column.getIsSorted() === "asc",
9725
9908
  onClick: () => handleSort(column.id, "asc"),
9726
- children: [/* @__PURE__ */ jsx(SortDescendingIcon, { weight: "bold" }), ascendingLabel]
9909
+ children: [/* @__PURE__ */ jsx(Icon, { name: "sortDescending" }), ascendingLabel]
9727
9910
  }), /* @__PURE__ */ jsxs(MenuCheckboxItem, {
9728
9911
  checked: column.getIsSorted() === "desc",
9729
9912
  onClick: () => handleSort(column.id, "desc"),
9730
- children: [/* @__PURE__ */ jsx(SortAscendingIcon, { weight: "bold" }), descendingLabel]
9913
+ children: [/* @__PURE__ */ jsx(Icon, { name: "sortAscending" }), descendingLabel]
9731
9914
  })] })] }, column.id))
9732
9915
  })
9733
9916
  })] });
@@ -9750,8 +9933,8 @@ function TableSortChip({ column, className, children, ref, ...props }) {
9750
9933
  size: "extraSmall",
9751
9934
  variant: "soft",
9752
9935
  children: [
9753
- columnSort === "asc" && /* @__PURE__ */ jsx(SortDescendingIcon, {}),
9754
- columnSort === "desc" && /* @__PURE__ */ jsx(SortAscendingIcon, {}),
9936
+ columnSort === "asc" && /* @__PURE__ */ jsx(Icon, { name: "sortDescending" }),
9937
+ columnSort === "desc" && /* @__PURE__ */ jsx(Icon, { name: "sortAscending" }),
9755
9938
  /* @__PURE__ */ jsx("span", { children: getColumnHeaderLabel(column) }),
9756
9939
  /* @__PURE__ */ jsxs("span", {
9757
9940
  className: "font-light lowercase",
@@ -10010,12 +10193,24 @@ function getVariantBorderColor(variant) {
10010
10193
  }
10011
10194
  }
10012
10195
  function getVariantIcon(variant, icon) {
10013
- if (icon) return React.createElement(icon, { weight: "fill" });
10196
+ if (icon) return React.createElement(icon);
10014
10197
  switch (variant) {
10015
- case "error": return /* @__PURE__ */ jsx(WarningCircleIcon, { weight: "fill" });
10016
- case "success": return /* @__PURE__ */ jsx(CheckCircleIcon, { weight: "fill" });
10017
- case "warning": return /* @__PURE__ */ jsx(WarningIcon, { weight: "fill" });
10018
- default: return /* @__PURE__ */ jsx(InfoIcon, { weight: "fill" });
10198
+ case "error": return /* @__PURE__ */ jsx(Icon, {
10199
+ name: "error",
10200
+ weight: "fill"
10201
+ });
10202
+ case "success": return /* @__PURE__ */ jsx(Icon, {
10203
+ name: "success",
10204
+ weight: "fill"
10205
+ });
10206
+ case "warning": return /* @__PURE__ */ jsx(Icon, {
10207
+ name: "warning",
10208
+ weight: "fill"
10209
+ });
10210
+ default: return /* @__PURE__ */ jsx(Icon, {
10211
+ name: "info",
10212
+ weight: "fill"
10213
+ });
10019
10214
  }
10020
10215
  }
10021
10216
  function StackToastItem({ className, ref, toast, ...props }) {
@@ -10074,9 +10269,9 @@ function StackToastItem({ className, ref, toast, ...props }) {
10074
10269
  style: { animation: `toast-drain-${toast.id} ${duration}ms linear forwards` }
10075
10270
  })]
10076
10271
  })
10077
- }), /* @__PURE__ */ jsx(XIcon, {
10078
- className: "size-sm shrink-0",
10079
- weight: "bold"
10272
+ }), /* @__PURE__ */ jsx(Icon, {
10273
+ name: "close",
10274
+ className: "size-sm shrink-0"
10080
10275
  })]
10081
10276
  })
10082
10277
  ]
@@ -10180,6 +10375,6 @@ function ToggleGroup({ size = "medium", variant, className, ref, ...props }) {
10180
10375
  });
10181
10376
  }
10182
10377
  //#endregion
10183
- export { Accordion, AccordionHeader, AccordionIcon, AccordionItem, AccordionPanel, AccordionSubtitle, AccordionTitle, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogClose, AlertDialogConfirm, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogIcon, AlertDialogPopup, AlertDialogTitle, AlertDialogTrigger, AlertIcon, AlertTitle, AnchoredToastItem, AnchoredToasts, Autocomplete, AutocompleteCollection, AutocompleteContent, AutocompleteGridContent, AutocompleteGridItem, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteInputGroup, AutocompleteInputGroupAddon, AutocompleteInputGroupInput, AutocompleteItem, AutocompleteRow, AutocompleteStatus, AutocompleteTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarImage, Badge, BentoBox, BentoBoxAction, BentoBoxContent, BentoBoxDescription, BentoBoxFooter, BentoBoxHeader, BentoBoxTitle, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbSeparator, Button, ButtonGroup, Calendar, CalendarFooter, CalendarHeader, CalendarPanel, CalendarPicker, CalendarSummary, ChartContainer, ChartContainerContext, ChartLegend, ChartLegendContent, ChartLegendIcon, ChartLegendIndicator, ChartLegendLabel, ChartLinearGradient, ChartTooltip, ChartTooltipContent, ChartTooltipIcon, ChartTooltipIndicator, ChartTooltipLabel, ChartTooltipName, ChartTooltipPayload, ChartTooltipValue, Checkbox, CheckboxGroup, CheckboxIndicator, CodeBlock, CodeBlockActions, CodeBlockCopy, CodeBlockDownload, CodeBlockHeader, CodeBlockName, CodeBlockSelect, CodeBlockTabs, CodeBlockWindow, Collapsible, CollapsiblePanel, CollapsibleTrigger, ColorChannelSlider, ColorPicker, ColorPickerArea, ColorPickerGroup, ColorPickerHueSlider, ColorPickerInput, ColorPickerLabel, ColorPickerLightnessSlider, ColorPickerPaletteLimit, ColorPickerPaletteList, ColorPickerPaletteSwatch, ColorPickerRow, ColorPickerTransparencySlider, ColorPickerValueType, Combobox, ComboboxChip, ComboboxChips, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxVirtualizedList, ContextMenu, ContextMenuCheckboxItem, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuPopup, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSubmenu, ContextMenuSubmenuTrigger, ContextMenuTrigger, DEFAULT_THEME, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogHelper, DialogIcon, DialogPopup, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerHeader, DrawerPopup, DrawerProvider, DrawerTitle, DrawerTrigger, Dropzone, DropzoneActions, DropzoneClear, DropzoneConfirm, DropzoneContainer, DropzoneError, DropzoneFilesList as DropzoneFileList, DropzoneFileSizeLimit, DropzoneFiles, DropzoneFilesHeader, DropzoneFilesTitle, DropzoneFormats, DropzoneHeading, DropzoneIcon, DropzoneInfo, DropzoneSubtitle, DropzoneTrigger, Field, FieldCheckbox, FieldDescription, FieldErrors, FieldInput, FieldInputGroup, FieldInputGroupInput, FieldLabel, FieldRadio, FieldRadioGroup, FieldRow, FieldSelect, FieldSet, FieldSlider, FieldSwitch, FieldTextArea, FieldToggle, Form, FormErrors, FormFooter, FormReset, FormSet, FormSetContent, FormSetHeading, FormSubmit, IconContainer, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupSeparator, InputOTP, InputOTPSlot, InputOtpSeparator, Kbd, KbdGroup, Label, LayerTree, LayerTreeBody, LayerTreeExpandAll, LayerTreeFooter, LayerTreeIconCell, LayerTreeLockedAll, LayerTreeLockedCell, LayerTreeNodeIcon, LayerTreeRow, LayerTreeSearch, LayerTreeSort, LayerTreeTextCell, LayerTreeTriggerCell, LayerTreeVisibilityAll, LayerTreeVisibilityCell, Menu, MenuCheckboxItem, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, Meter, MeterFooter, MeterHeader, MeterIndicator, MeterLabel, MeterSubtitle, MeterTrack, MeterValue, NavBar, NavBarItem, NavBarItemIcon, NavBarItemLabel, NavigationMenu, NavigationMenuContent, NavigationMenuIcon, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPopup, NavigationMenuTrigger, NumberField, Popover, PopoverButton, PopoverContent, PopoverDescription, PopoverHeader, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCard, PreviewCardPopup, PreviewCardTrigger, Profile, ProfileAction, ProfileContent, ProfileName, ProfileSubname, Progress, ProgressBar, ProgressDescription, ProgressIndicator, ProgressLabel, ProgressTitle, RadarPing, Radio, RadioGroup, ResizeableHandle, ResizeablePanel, ResizeablePanelGroup, ScrollArea, Select, SelectDescription, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectList, SelectPopup, SelectTitle, SelectTrigger, SelectValue, Separator, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuBadge, SidebarMenuButton, SidebarMenuCollapsible, SidebarMenuCollapsiblePanel, SidebarMenuCollapsibleTrigger, SidebarMenuItem, SidebarProvider, SidebarToggle, Skeleton, Slider, SliderDescription, SliderGroup, SliderGroupSlider, SliderIcon, SliderInput, SliderLabel, SliderThumb, SliderValue, StackToastItem, StackToasts, Switch, THEME_STORAGE_KEY, TableAvatarCell, TableBadgeCell, TableBody, TableBooleanCell, TableBottomBar, TableCheckboxCell, TableCheckboxHeader, TableColumnToggle, TableContainer, TableCurrencyCell, TableDateFilterChip, TableDateFilterForm, TableEmpty as TableEmptyMessage, TableFilterList, TableFilterMenu, TableFirstPage, TableFooter, TableHeader, TableImageCell, TableLastPage, TableLayout, TableLinkCell, TableNextPage, TableNumberCell, TableNumberFilterChip, TableNumberFilterForm, TablePagination, TablePaging, TablePercentCell, TablePreviousPage, TableProgressCell, TableRelativeTimeCell, TableResults, TableSearch, TableSelectFilterChip, TableSelectFilterForm, TableSortChip, TableSortList, TableSortMenu, TableStringFilterChip, TableStringFilterForm, TableTagsCell, TableTextCell, TableToolbar, TableTopBar, TableViewModeToggle, TableViewport, Tabs, TabsIndicator, TabsList, TabsPanel, TabsTab, TextArea, ThemeProvider, Toast, ToastProvider, Toggle, ToggleGroup, Tooltip, TooltipContent, TooltipTrigger, anchoredToastManager, cn, createAppColumnHelper, createAppColumnHelper$1 as createLayerTreeColumnHelper, dateFilterFn, defaultFilterOperatorLabels, features, fieldContext, findLayerTreeNode, formContext, formatDate, getPayloadConfigFromPayload, getStoredSidebarOpen, getThemeByValue, insertLayerTreeNode, features$1 as layerTreeFeatures, moveLayerTreeNode, moveLayerTreeNodeToRoot, numberFilterFn, popoverHandle, removeLayerTreeNode, rowLockedFeature, rowVisibilityFeature, selectFilterFn, stackToastManager, stringFilterFn, useAppForm, useAppTable, useCellContext, useChart, useChartTooltipContent, useChartTooltipPayload, useFieldContext, useFilter, useFilteredItems, useFormContext, useHeaderContext, useLayerTree, useCellContext$1 as useLayerTreeCellContext, useTableContext as useLayerTreeContext, useHeaderContext$1 as useLayerTreeHeaderContext, useAppTable$1 as useLayerTreeTable, useMediaQuery, useSidebar, useSliderGroupContext, useTableContext$1 as useTableContext, useTheme, useToastManager, useTypedAppFormContext, withFieldGroup, withForm };
10378
+ export { Accordion, AccordionExpandIcon, AccordionHeader, AccordionHeaderContent, AccordionIcon, AccordionItem, AccordionPanel, AccordionSubtitle, AccordionTitle, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogClose, AlertDialogConfirm, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogIcon, AlertDialogPopup, AlertDialogTitle, AlertDialogTrigger, AlertIcon, AlertTitle, AnchoredToastItem, AnchoredToasts, Autocomplete, AutocompleteCollection, AutocompleteContent, AutocompleteGridContent, AutocompleteGridItem, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteInputGroup, AutocompleteInputGroupAddon, AutocompleteInputGroupInput, AutocompleteItem, AutocompleteRow, AutocompleteStatus, AutocompleteTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarImage, Badge, BentoBox, BentoBoxAction, BentoBoxContent, BentoBoxDescription, BentoBoxFooter, BentoBoxHeader, BentoBoxTitle, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbSeparator, Button, ButtonGroup, Calendar, CalendarChevron, CalendarDayButton, CalendarDropdown, CalendarFooter, CalendarHeader, CalendarNextMonthButton, CalendarPanel, CalendarPicker, CalendarPreviousMonthButton, CalendarSummary, ChartContainer, ChartContainerContext, ChartLegend, ChartLegendContent, ChartLegendIcon, ChartLegendIndicator, ChartLegendLabel, ChartLinearGradient, ChartTooltip, ChartTooltipContent, ChartTooltipIcon, ChartTooltipIndicator, ChartTooltipLabel, ChartTooltipName, ChartTooltipPayload, ChartTooltipValue, Checkbox, CheckboxGroup, CheckboxIndicator, CodeBlock, CodeBlockActions, CodeBlockCopy, CodeBlockDownload, CodeBlockHeader, CodeBlockName, CodeBlockSelect, CodeBlockTabs, CodeBlockWindow, Collapsible, CollapsiblePanel, CollapsibleTrigger, ColorChannelSlider, ColorPicker, ColorPickerArea, ColorPickerGroup, ColorPickerHueSlider, ColorPickerInput, ColorPickerLabel, ColorPickerLightnessSlider, ColorPickerPaletteLimit, ColorPickerPaletteList, ColorPickerPaletteSwatch, ColorPickerRow, ColorPickerTransparencySlider, ColorPickerValueType, Combobox, ComboboxChip, ComboboxChips, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxVirtualizedList, ContextMenu, ContextMenuCheckboxItem, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuPopup, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSubmenu, ContextMenuSubmenuTrigger, ContextMenuTrigger, DEFAULT_THEME, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogHelper, DialogIcon, DialogPopup, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerHeader, DrawerPopup, DrawerProvider, DrawerTitle, DrawerTrigger, Dropzone, DropzoneActions, DropzoneClear, DropzoneConfirm, DropzoneContainer, DropzoneError, DropzoneFilesList as DropzoneFileList, DropzoneFileSizeLimit, DropzoneFiles, DropzoneFilesHeader, DropzoneFilesTitle, DropzoneFormats, DropzoneHeading, DropzoneIcon, DropzoneInfo, DropzoneSubtitle, DropzoneTrigger, Field, FieldCheckbox, FieldDescription, FieldErrors, FieldInput, FieldInputGroup, FieldInputGroupInput, FieldLabel, FieldRadio, FieldRadioGroup, FieldRow, FieldSelect, FieldSet, FieldSlider, FieldSwitch, FieldTextArea, FieldToggle, Form, FormErrors, FormFooter, FormReset, FormSet, FormSetContent, FormSetHeading, FormSubmit, Icon, IconContainer, IconProvider, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupSeparator, InputOTP, InputOTPSlot, InputOtpSeparator, Kbd, KbdGroup, Label, LayerTree, LayerTreeBody, LayerTreeExpandAll, LayerTreeFooter, LayerTreeIconCell, LayerTreeLockedAll, LayerTreeLockedCell, LayerTreeNodeIcon, LayerTreeRow, LayerTreeSearch, LayerTreeSort, LayerTreeTextCell, LayerTreeTriggerCell, LayerTreeVisibilityAll, LayerTreeVisibilityCell, Menu, MenuCheckboxItem, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, Meter, MeterFooter, MeterHeader, MeterIndicator, MeterLabel, MeterSubtitle, MeterTrack, MeterValue, NavBar, NavBarItem, NavBarItemIcon, NavBarItemLabel, NavigationMenu, NavigationMenuContent, NavigationMenuIcon, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPopup, NavigationMenuTrigger, NumberField, Popover, PopoverButton, PopoverContent, PopoverDescription, PopoverHeader, PopoverPanel, PopoverTitle, PopoverTrigger, PreviewCard, PreviewCardPopup, PreviewCardTrigger, Profile, ProfileAction, ProfileContent, ProfileName, ProfileSubname, Progress, ProgressBar, ProgressDescription, ProgressIndicator, ProgressLabel, ProgressTitle, RadarPing, Radio, RadioGroup, ResizeableHandle, ResizeablePanel, ResizeablePanelGroup, ScrollArea, Select, SelectDescription, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectList, SelectPopup, SelectTitle, SelectTrigger, SelectValue, Separator, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuBadge, SidebarMenuButton, SidebarMenuCollapsible, SidebarMenuCollapsiblePanel, SidebarMenuCollapsibleTrigger, SidebarMenuItem, SidebarProvider, SidebarToggle, SiteHeader, SiteHeaderGroup, SiteHeaderSeparator, SiteHeaderTitle, Skeleton, Slider, SliderDescription, SliderGroup, SliderGroupSlider, SliderIcon, SliderInput, SliderLabel, SliderThumb, SliderValue, StackToastItem, StackToasts, Switch, THEME_STORAGE_KEY, TableAvatarCell, TableBadgeCell, TableBody, TableBooleanCell, TableBottomBar, TableCheckboxCell, TableCheckboxHeader, TableColumnToggle, TableContainer, TableCurrencyCell, TableDateFilterChip, TableDateFilterForm, TableEmpty as TableEmptyMessage, TableFilterList, TableFilterMenu, TableFirstPage, TableFooter, TableHeader, TableImageCell, TableLastPage, TableLayout, TableLinkCell, TableNextPage, TableNumberCell, TableNumberFilterChip, TableNumberFilterForm, TablePagination, TablePaging, TablePercentCell, TablePreviousPage, TableProgressCell, TableRelativeTimeCell, TableResults, TableSearch, TableSelectFilterChip, TableSelectFilterForm, TableSortChip, TableSortList, TableSortMenu, TableStringFilterChip, TableStringFilterForm, TableTagsCell, TableTextCell, TableToolbar, TableTopBar, TableViewModeToggle, TableViewport, Tabs, TabsIndicator, TabsList, TabsPanel, TabsTab, TextArea, ThemeProvider, Toast, ToastProvider, Toggle, ToggleGroup, Tooltip, TooltipContent, TooltipTrigger, anchoredToastManager, cn, createAppColumnHelper, createAppColumnHelper$1 as createLayerTreeColumnHelper, dateFilterFn, defaultFilterOperatorLabels, features, fieldContext, findLayerTreeNode, formContext, formatDate, getPayloadConfigFromPayload, getStoredSidebarOpen, getThemeByValue, insertLayerTreeNode, features$1 as layerTreeFeatures, moveLayerTreeNode, moveLayerTreeNodeToRoot, numberFilterFn, popoverHandle, removeLayerTreeNode, rowLockedFeature, rowVisibilityFeature, selectFilterFn, stackToastManager, stringFilterFn, useAppForm, useAppTable, useCellContext, useChart, useChartTooltipContent, useChartTooltipPayload, useFieldContext, useFilter, useFilteredItems, useFormContext, useHeaderContext, useLayerTree, useCellContext$1 as useLayerTreeCellContext, useTableContext as useLayerTreeContext, useHeaderContext$1 as useLayerTreeHeaderContext, useAppTable$1 as useLayerTreeTable, useMediaQuery, useSidebar, useSliderGroupContext, useTableContext$1 as useTableContext, useTheme, useToastManager, useTypedAppFormContext, withFieldGroup, withForm };
10184
10379
 
10185
10380
  //# sourceMappingURL=index.js.map