@uniformdev/design-system 19.137.1-alpha.4 → 19.138.1-alpha.4

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/esm/index.js CHANGED
@@ -13856,6 +13856,10 @@ function InputComboBox(props) {
13856
13856
  },
13857
13857
  '&:has([aria-readonly="true"])': {
13858
13858
  background: "var(--gray-100)",
13859
+ 'div[class^="input-combobox__multi-value__remove"]': {
13860
+ borderRight: "none",
13861
+ display: "none"
13862
+ },
13859
13863
  "&:hover": {
13860
13864
  borderColor: "var(--gray-300)"
13861
13865
  },
@@ -13911,7 +13915,7 @@ function InputComboBox(props) {
13911
13915
  color: "var(--typography-base)"
13912
13916
  };
13913
13917
  },
13914
- multiValueRemove: (styles) => {
13918
+ multiValueRemove: (styles, state) => {
13915
13919
  return {
13916
13920
  ...styles,
13917
13921
  background: "var(--gray-100)",
@@ -13919,7 +13923,8 @@ function InputComboBox(props) {
13919
13923
  color: "var(--white)",
13920
13924
  background: "var(--action-destructive-default)",
13921
13925
  transition: "color var(--duration-fast) var(--timing-ease-out), background-color var(--duration-fast) var(--timing-ease-out)"
13922
- }
13926
+ },
13927
+ ...state.isDisabled && { display: "none" }
13923
13928
  };
13924
13929
  }
13925
13930
  }
@@ -20692,22 +20697,6 @@ var SearchAndFilterButtonGroup = css92`
20692
20697
  margin-top: var(--spacing-xs);
20693
20698
  margin-left: calc(56px + var(--spacing-md));
20694
20699
  `;
20695
- var SortFilterWrapper = (hiddenLocaleInput) => css92`
20696
- border-top: 1px solid var(--gray-300);
20697
- align-items: center;
20698
- display: grid;
20699
- grid-template-columns: ${hiddenLocaleInput ? "1fr" : "1fr 200px"};
20700
- gap: var(--spacing-xl);
20701
- padding: var(--spacing-base) var(--spacing-md) 0;
20702
- position: relative;
20703
- z-index: 0;
20704
- `;
20705
- var SortFilterInputRow = css92`
20706
- align-items: center;
20707
- display: grid;
20708
- grid-template-columns: 1fr auto;
20709
- gap: var(--spacing-base);
20710
- `;
20711
20700
 
20712
20701
  // src/components/SearchAndFilter/FilterButton.tsx
20713
20702
  import { jsx as jsx118, jsxs as jsxs80 } from "@emotion/react/jsx-runtime";
@@ -20886,6 +20875,7 @@ var FilterMultiChoiceEditor = ({
20886
20875
  ...props
20887
20876
  }) => {
20888
20877
  const readOnlyProps = readOnly ? readOnlyAttributes : {};
20878
+ const isClearable = !readOnly || !disabled2;
20889
20879
  return /* @__PURE__ */ jsx120("div", { "data-testid": valueTestId, children: /* @__PURE__ */ jsx120(
20890
20880
  InputComboBox,
20891
20881
  {
@@ -20893,7 +20883,7 @@ var FilterMultiChoiceEditor = ({
20893
20883
  placeholder: "Type to search...",
20894
20884
  options,
20895
20885
  isMulti: true,
20896
- isClearable: true,
20886
+ isClearable,
20897
20887
  isDisabled: disabled2,
20898
20888
  onChange: (e) => {
20899
20889
  var _a;
@@ -21282,31 +21272,17 @@ var SearchAndFilterContext = createContext6({
21282
21272
  },
21283
21273
  handleDeleteFilter: () => {
21284
21274
  },
21285
- handleLocaleChange: () => {
21286
- },
21287
- setSortBy: () => {
21288
- },
21289
- sortByValue: "",
21290
21275
  filterOptions: [],
21291
- sortOptions: [],
21292
21276
  validFilterQuery: [],
21293
21277
  filterMapper: {},
21294
- totalResults: 0,
21295
- localeOptions: [],
21296
- localeValue: ""
21278
+ totalResults: 0
21297
21279
  });
21298
21280
  var SearchAndFilterProvider = ({
21299
21281
  filters,
21300
21282
  filterOptions,
21301
- sortOptions,
21302
- defaultSortByValue,
21303
- defaultLocale = "",
21304
- localeOptions,
21305
- onLocaleChange,
21306
21283
  filterVisible = false,
21307
21284
  onSearchChange,
21308
21285
  onChange,
21309
- onSortChange,
21310
21286
  resetFilterValues = [{ field: "", operator: "", value: "" }],
21311
21287
  totalResults,
21312
21288
  filterMapper: filterMapper2 = filterMapper,
@@ -21315,8 +21291,6 @@ var SearchAndFilterProvider = ({
21315
21291
  const [searchTerm, setSearchTerm] = useState17("");
21316
21292
  const deferredSearchTerm = useDeferredValue2(searchTerm);
21317
21293
  const [filterVisibility, setFilterVisibility] = useState17(filterVisible);
21318
- const [sortByValue, setSortByValue] = useState17(defaultSortByValue);
21319
- const [localeValue, setLocale] = useState17(defaultLocale);
21320
21294
  const handleSearchTerm = useCallback10(
21321
21295
  (term) => {
21322
21296
  setSearchTerm(term);
@@ -21324,21 +21298,7 @@ var SearchAndFilterProvider = ({
21324
21298
  },
21325
21299
  [setSearchTerm, onSearchChange]
21326
21300
  );
21327
- const handleLocaleChange = useCallback10(
21328
- (locale) => {
21329
- setLocale(locale);
21330
- onLocaleChange == null ? void 0 : onLocaleChange(locale);
21331
- },
21332
- [onLocaleChange]
21333
- );
21334
- const handleOnSortChange = useCallback10(
21335
- (sort) => {
21336
- setSortByValue(sort);
21337
- onSortChange(sort);
21338
- },
21339
- [onSortChange]
21340
- );
21341
- const handleToggleFilterVisibilty = useCallback10(
21301
+ const handleToggleFilterVisibility = useCallback10(
21342
21302
  (visible) => setFilterVisibility(visible),
21343
21303
  [setFilterVisibility]
21344
21304
  );
@@ -21380,22 +21340,16 @@ var SearchAndFilterProvider = ({
21380
21340
  value: {
21381
21341
  searchTerm: deferredSearchTerm,
21382
21342
  setSearchTerm: (e) => handleSearchTerm(e),
21383
- setSortBy: (e) => handleOnSortChange(e),
21384
- sortByValue,
21385
21343
  filterVisibility,
21386
- setFilterVisibility: (e) => handleToggleFilterVisibilty(e),
21344
+ setFilterVisibility: (e) => handleToggleFilterVisibility(e),
21387
21345
  filters,
21388
21346
  setFilters: (e) => onChange(e),
21389
21347
  handleAddFilter,
21390
21348
  handleResetFilters,
21391
21349
  handleDeleteFilter,
21392
21350
  filterOptions,
21393
- sortOptions,
21394
21351
  validFilterQuery,
21395
21352
  totalResults,
21396
- localeOptions,
21397
- localeValue,
21398
- handleLocaleChange,
21399
21353
  filterMapper: filterMapper2
21400
21354
  },
21401
21355
  children: /* @__PURE__ */ jsx121(VerticalRhythm, { children })
@@ -21457,14 +21411,14 @@ var FilterControls = ({
21457
21411
  };
21458
21412
 
21459
21413
  // src/components/SearchAndFilter/FilterItem.tsx
21460
- import { useMemo as useMemo8 } from "react";
21414
+ import { useMemo as useMemo7 } from "react";
21461
21415
 
21462
21416
  // src/components/SearchAndFilter/FilterMenu.tsx
21463
21417
  import React24, { useEffect as useEffect20 } from "react";
21464
21418
  import { jsx as jsx123, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
21465
21419
  var SearchAndFilterOptionsContainer2 = ({
21466
21420
  buttonRow,
21467
- sortControls,
21421
+ additionalFiltersContainer,
21468
21422
  children
21469
21423
  }) => {
21470
21424
  return /* @__PURE__ */ jsxs83("div", { css: SearchAndFilterOptionsContainer, children: [
@@ -21479,14 +21433,14 @@ var SearchAndFilterOptionsContainer2 = ({
21479
21433
  children: buttonRow
21480
21434
  }
21481
21435
  ) : null,
21482
- sortControls ? /* @__PURE__ */ jsx123("div", { children: sortControls }) : null
21436
+ additionalFiltersContainer ? /* @__PURE__ */ jsx123("div", { children: additionalFiltersContainer }) : null
21483
21437
  ] });
21484
21438
  };
21485
21439
  var FilterMenu = ({
21486
21440
  id,
21487
21441
  filterTitle = "Show results",
21488
21442
  menuControls,
21489
- sortControls,
21443
+ additionalFiltersContainer,
21490
21444
  children,
21491
21445
  dataTestId,
21492
21446
  resetButtonText = "reset"
@@ -21499,334 +21453,36 @@ var FilterMenu = ({
21499
21453
  (_a = innerMenuRef.current) == null ? void 0 : _a.focus();
21500
21454
  }
21501
21455
  }, [filterVisibility]);
21502
- return /* @__PURE__ */ jsx123(VerticalRhythm, { gap: "sm", "aria-haspopup": "true", id, "data-testid": dataTestId, children: filterVisibility ? /* @__PURE__ */ jsxs83(SearchAndFilterOptionsContainer2, { buttonRow: menuControls, sortControls, children: [
21503
- /* @__PURE__ */ jsxs83(HorizontalRhythm, { gap: "sm", align: "center", justify: "space-between", children: [
21504
- /* @__PURE__ */ jsx123("span", { css: Title, ref: innerMenuRef, tabIndex: 0, children: filterTitle }),
21505
- (filters == null ? void 0 : filters.length) ? /* @__PURE__ */ jsx123(
21506
- "button",
21507
- {
21508
- type: "button",
21509
- css: ResetConditionsBtn,
21510
- onClick: () => {
21511
- handleResetFilters();
21512
- setFilterVisibility(false);
21513
- },
21514
- "data-testid": "reset-filters",
21515
- children: resetButtonText
21516
- }
21517
- ) : null
21518
- ] }),
21519
- children
21520
- ] }) : null });
21521
- };
21522
-
21523
- // src/components/SegmentedControl/SegmentedControl.tsx
21524
- import { css as css95 } from "@emotion/react";
21525
- import { CgCheck as CgCheck4 } from "@react-icons/all-files/cg/CgCheck";
21526
- import { useCallback as useCallback11, useMemo as useMemo7 } from "react";
21527
-
21528
- // src/components/SegmentedControl/SegmentedControl.styles.ts
21529
- import { css as css94 } from "@emotion/react";
21530
- var segmentedControlStyles = css94`
21531
- --segmented-control-rounded-value: var(--rounded-base);
21532
- --segmented-control-border-width: 1px;
21533
- --segmented-control-selected-color: var(--brand-secondary-3);
21534
- --segmented-control-first-border-radius: var(--segmented-control-rounded-value) 0 0
21535
- var(--segmented-control-rounded-value);
21536
- --segmented-control-last-border-radius: 0 var(--segmented-control-rounded-value)
21537
- var(--segmented-control-rounded-value) 0;
21538
-
21539
- position: relative;
21540
- display: flex;
21541
- justify-content: flex-start;
21542
- width: fit-content;
21543
- background-color: var(--gray-300);
21544
- padding: var(--segmented-control-border-width);
21545
- gap: var(--segmented-control-border-width);
21546
- border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
21547
- font-size: var(--fs-xs);
21548
- `;
21549
- var segmentedControlVerticalStyles = css94`
21550
- flex-direction: column;
21551
- --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
21552
- var(--segmented-control-rounded-value) 0 0;
21553
- --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
21554
- var(--segmented-control-rounded-value);
21555
- `;
21556
- var segmentedControlItemStyles = css94`
21557
- &:first-of-type label {
21558
- border-radius: var(--segmented-control-first-border-radius);
21559
- }
21560
- &:last-of-type label {
21561
- border-radius: var(--segmented-control-last-border-radius);
21562
- }
21563
- `;
21564
- var segmentedControlInputStyles = css94`
21565
- ${accessibleHidden}
21566
- `;
21567
- var segmentedControlLabelStyles = (checked, disabled2) => css94`
21568
- position: relative;
21569
- display: flex;
21570
- align-items: center;
21571
- justify-content: center;
21572
- height: 2rem;
21573
- padding-inline: var(--spacing-base);
21574
- background-color: white;
21575
- transition-property: background-color, color, box-shadow;
21576
- transition-duration: var(--duration-xfast);
21577
- transition-timing-function: ease-in-out;
21578
- z-index: 1;
21579
- cursor: pointer;
21580
-
21581
- &:has(:checked:not(:disabled)) {
21582
- background-color: var(--segmented-control-selected-color);
21583
- outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
21584
- box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
21585
- color: white;
21586
- -webkit-text-stroke-width: thin;
21587
- z-index: 0;
21588
- }
21589
-
21590
- &:hover:not(:has(:disabled, :checked)) {
21591
- background-color: var(--gray-100);
21592
- }
21593
-
21594
- &:has(:disabled) {
21595
- color: var(--gray-400);
21596
- cursor: default;
21597
- }
21598
-
21599
- &:has(:checked:disabled) {
21600
- color: var(--gray-50);
21601
- background-color: var(--gray-400);
21602
- }
21603
-
21604
- // Firefox fallback using emotion variables
21605
- // we can delete this whole block of code and variables in SegmentedControl.tsx
21606
- // once Firefox supports :has selector
21607
- @supports not selector(:has(*)) {
21608
- // equivalent to &:has(:checked:not(:disabled))
21609
- ${checked && !disabled2 ? `
21610
- background-color: var(--segmented-control-selected-color);
21611
- outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
21612
- box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
21613
- color: white;
21614
- -webkit-text-stroke-width: thin;
21615
- z-index: 0;` : void 0}
21616
-
21617
- // equivalent to &:hover:not(:has(:disabled, :checked))
21618
- &:hover {
21619
- ${!checked && !disabled2 ? `background-color: var(--gray-100);` : void 0}
21620
- }
21621
-
21622
- // equivalent to &:has(:disabled)
21623
- ${disabled2 ? `
21624
- color: var(--gray-400);
21625
- cursor: default;` : void 0}
21626
-
21627
- // equivalent to &:has(:checked:disabled)
21628
- ${checked && disabled2 && `
21629
- color: var(--gray-50);
21630
- background-color: var(--gray-400);
21631
- `}
21632
- }
21633
- `;
21634
- var segmentedControlLabelIconOnlyStyles = css94`
21635
- padding-inline: 0.5em;
21636
- `;
21637
- var segmentedControlLabelCheckStyles = css94`
21638
- opacity: 0.5;
21639
- `;
21640
- var segmentedControlLabelContentStyles = css94`
21641
- display: flex;
21642
- align-items: center;
21643
- justify-content: center;
21644
- gap: var(--spacing-sm);
21645
- height: 100%;
21646
- `;
21647
- var segmentedControlLabelTextStyles = css94``;
21648
-
21649
- // src/components/SegmentedControl/SegmentedControl.tsx
21650
- import { jsx as jsx124, jsxs as jsxs84 } from "@emotion/react/jsx-runtime";
21651
- var SegmentedControl = ({
21652
- name,
21653
- options,
21654
- value,
21655
- onChange,
21656
- noCheckmark = false,
21657
- disabled: disabled2 = false,
21658
- orientation = "horizontal",
21659
- size = "md",
21660
- hideOptionText = false,
21661
- iconSize = "1.5em",
21662
- ...props
21663
- }) => {
21664
- const onOptionChange = useCallback11(
21665
- (event) => {
21666
- if (event.target.checked) {
21667
- onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
21668
- }
21669
- },
21670
- [options, onChange]
21671
- );
21672
- const sizeStyles = useMemo7(() => {
21673
- const map = {
21674
- sm: css95({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
21675
- md: css95({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
21676
- lg: css95({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" }),
21677
- xl: css95({ height: "calc(48px - 2px)", fontSize: "var(--fs-base)" })
21678
- };
21679
- return map[size];
21680
- }, [size]);
21681
- const isIconOnly = useMemo7(() => {
21682
- return options.every((option) => option && option.icon && !option.label);
21683
- }, [options]);
21684
- return /* @__PURE__ */ jsx124(
21685
- "div",
21456
+ return /* @__PURE__ */ jsx123(VerticalRhythm, { gap: "sm", "aria-haspopup": "true", id, "data-testid": dataTestId, children: filterVisibility ? /* @__PURE__ */ jsxs83(
21457
+ SearchAndFilterOptionsContainer2,
21686
21458
  {
21687
- css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
21688
- ...props,
21689
- "data-testid": "segmented-control",
21690
- children: options.map((option, index) => {
21691
- var _a;
21692
- if (!option) {
21693
- return null;
21694
- }
21695
- const text = option.label ? option.label : option.icon ? null : String(option.value);
21696
- const isDisabled = disabled2 || option.disabled;
21697
- return /* @__PURE__ */ jsx124(Tooltip, { title: (_a = option.tooltip) != null ? _a : "", children: /* @__PURE__ */ jsx124(
21698
- "div",
21699
- {
21700
- css: segmentedControlItemStyles,
21701
- "data-testid": option["data-testid"] ? option["data-testid"] : "container-segmented-control",
21702
- children: /* @__PURE__ */ jsxs84(
21703
- "label",
21704
- {
21705
- css: [
21706
- segmentedControlLabelStyles(option.value === value, isDisabled),
21707
- sizeStyles,
21708
- isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
21709
- ],
21710
- children: [
21711
- /* @__PURE__ */ jsx124(
21712
- "input",
21713
- {
21714
- css: segmentedControlInputStyles,
21715
- type: "radio",
21716
- name,
21717
- value: index,
21718
- checked: option.value === value,
21719
- onChange: onOptionChange,
21720
- disabled: isDisabled
21721
- }
21722
- ),
21723
- option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx124(CgCheck4, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
21724
- /* @__PURE__ */ jsxs84("span", { css: segmentedControlLabelContentStyles, children: [
21725
- !option.icon ? null : /* @__PURE__ */ jsx124(Icon, { icon: option.icon, size: iconSize, iconColor: "currentColor" }),
21726
- !text || hideOptionText ? null : /* @__PURE__ */ jsx124("span", { css: segmentedControlLabelTextStyles, children: text })
21727
- ] })
21728
- ]
21729
- }
21730
- )
21731
- }
21732
- ) }, JSON.stringify(option.value));
21733
- })
21734
- }
21735
- );
21736
- };
21737
-
21738
- // src/components/SearchAndFilter/SortItems.tsx
21739
- import { jsx as jsx125, jsxs as jsxs85 } from "@emotion/react/jsx-runtime";
21740
- var SortItems = ({ sortByLabel = "Sort by", localeLabel = "Locale returned" }) => {
21741
- var _a, _b;
21742
- const { sortOptions, setSortBy, sortByValue, localeValue, localeOptions, handleLocaleChange } = useSearchAndFilter();
21743
- const hideLocaleOptions = !localeOptions;
21744
- const values = sortByValue.split("_");
21745
- const sortDirection = values.pop();
21746
- const sortField = values.join("_");
21747
- const currentSelectedOption = (_b = (_a = sortOptions.find((item) => {
21748
- var _a2;
21749
- return (_a2 = item.options) == null ? void 0 : _a2.find((option) => option.value === sortField);
21750
- })) == null ? void 0 : _a.options) == null ? void 0 : _b.find((nestedOption) => nestedOption.value === sortField);
21751
- return /* @__PURE__ */ jsxs85("div", { css: [SortFilterWrapper(hideLocaleOptions)], "data-testid": "sorting-options", children: [
21752
- /* @__PURE__ */ jsxs85(VerticalRhythm, { gap: "xs", children: [
21753
- /* @__PURE__ */ jsx125("span", { css: Title, children: sortByLabel }),
21754
- /* @__PURE__ */ jsxs85("div", { css: SortFilterInputRow, children: [
21755
- /* @__PURE__ */ jsx125(
21756
- InputComboBox,
21757
- {
21758
- id: "sort-by-field",
21759
- "aria-label": "Sort by",
21760
- options: sortOptions,
21761
- onChange: (e) => {
21762
- const fieldName = e == null ? void 0 : e.value;
21763
- setSortBy(`${fieldName}_${sortDirection}`);
21764
- },
21765
- styles: {
21766
- menu(base) {
21767
- return {
21768
- ...base,
21769
- minWidth: "max-content"
21770
- };
21771
- }
21772
- },
21773
- value: currentSelectedOption
21774
- }
21775
- ),
21776
- /* @__PURE__ */ jsx125(
21777
- SegmentedControl,
21778
- {
21779
- noCheckmark: true,
21780
- name: "sortBy",
21781
- hideOptionText: true,
21782
- iconSize: "1rem",
21783
- size: "xl",
21784
- options: [
21785
- {
21786
- label: "Ascending",
21787
- icon: "arrow-up",
21788
- value: `ASC`,
21789
- tooltip: "Ascending (e.g. A-Z, newest to oldest)",
21790
- "data-testid": "sort-ascending"
21459
+ buttonRow: menuControls,
21460
+ additionalFiltersContainer,
21461
+ children: [
21462
+ /* @__PURE__ */ jsxs83(HorizontalRhythm, { gap: "sm", align: "center", justify: "space-between", children: [
21463
+ /* @__PURE__ */ jsx123("span", { css: Title, ref: innerMenuRef, tabIndex: 0, children: filterTitle }),
21464
+ (filters == null ? void 0 : filters.length) ? /* @__PURE__ */ jsx123(
21465
+ "button",
21466
+ {
21467
+ type: "button",
21468
+ css: ResetConditionsBtn,
21469
+ onClick: () => {
21470
+ handleResetFilters();
21471
+ setFilterVisibility(false);
21791
21472
  },
21792
- {
21793
- label: "Descending",
21794
- icon: "arrow-down",
21795
- value: `DESC`,
21796
- tooltip: "Descending (e.g. Z-A, oldest to newest)",
21797
- "data-testid": "sort-descending"
21798
- }
21799
- ],
21800
- onChange: (e) => setSortBy(`${sortField}_${e}`),
21801
- value: sortDirection
21802
- }
21803
- )
21804
- ] })
21805
- ] }),
21806
- hideLocaleOptions ? null : /* @__PURE__ */ jsxs85(VerticalRhythm, { gap: "xs", children: [
21807
- /* @__PURE__ */ jsx125("span", { css: Title, children: localeLabel }),
21808
- /* @__PURE__ */ jsx125(
21809
- InputSelect,
21810
- {
21811
- name: "localeReturned",
21812
- "aria-label": "Locale returned",
21813
- label: "Locale returned",
21814
- showLabel: false,
21815
- "data-testid": "context-locale",
21816
- onChange: (e) => {
21817
- var _a2;
21818
- return handleLocaleChange((_a2 = e.currentTarget.value) != null ? _a2 : "");
21819
- },
21820
- options: localeOptions,
21821
- value: localeValue
21822
- }
21823
- )
21824
- ] })
21825
- ] });
21473
+ "data-testid": "reset-filters",
21474
+ children: resetButtonText
21475
+ }
21476
+ ) : null
21477
+ ] }),
21478
+ children
21479
+ ]
21480
+ }
21481
+ ) : null });
21826
21482
  };
21827
21483
 
21828
21484
  // src/components/SearchAndFilter/FilterItem.tsx
21829
- import { jsx as jsx126, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
21485
+ import { jsx as jsx124, jsxs as jsxs84 } from "@emotion/react/jsx-runtime";
21830
21486
  var FilterItem = ({
21831
21487
  index,
21832
21488
  paramOptions,
@@ -21842,7 +21498,7 @@ var FilterItem = ({
21842
21498
  const operatorLabel = filters[index].operator !== "" ? `operator ${filters[index].operator}` : "unknown operator";
21843
21499
  const metaDataLabel = filters[index].value !== "" ? `value ${filters[index].value}` : "unknown value";
21844
21500
  const metaDataPossibleOptions = (_b = (_a = operatorOptions.find((op) => filters[index].operator === op.value)) == null ? void 0 : _a.editorType) != null ? _b : "singleChoice";
21845
- const { selectedFieldValue, selectedOperatorValue, selectedMetaValue, readOnly, bindable } = useMemo8(() => {
21501
+ const { selectedFieldValue, selectedOperatorValue, selectedMetaValue, readOnly, bindable } = useMemo7(() => {
21846
21502
  var _a2;
21847
21503
  const currentSelectedFilter = filterOptions.find((item) => {
21848
21504
  var _a3;
@@ -21869,10 +21525,10 @@ var FilterItem = ({
21869
21525
  menuIsOpen: false,
21870
21526
  isClearable: false
21871
21527
  } : {};
21872
- return /* @__PURE__ */ jsxs86("div", { css: ConditionalFilterRow, "data-testid": "filter-item", children: [
21873
- /* @__PURE__ */ jsx126("span", { children: index === 0 ? "Where" : "and" }),
21874
- /* @__PURE__ */ jsxs86("div", { css: ConditionalInputRow, children: [
21875
- /* @__PURE__ */ jsx126(
21528
+ return /* @__PURE__ */ jsxs84("div", { css: ConditionalFilterRow, "data-testid": "filter-item", children: [
21529
+ /* @__PURE__ */ jsx124("span", { children: index === 0 ? "Where" : "and" }),
21530
+ /* @__PURE__ */ jsxs84("div", { css: ConditionalInputRow, children: [
21531
+ /* @__PURE__ */ jsx124(
21876
21532
  InputComboBox,
21877
21533
  {
21878
21534
  "aria-label": label,
@@ -21899,7 +21555,7 @@ var FilterItem = ({
21899
21555
  name: `filter-field-${index}`
21900
21556
  }
21901
21557
  ),
21902
- /* @__PURE__ */ jsx126(
21558
+ /* @__PURE__ */ jsx124(
21903
21559
  InputComboBox,
21904
21560
  {
21905
21561
  "aria-label": operatorLabel,
@@ -21923,7 +21579,7 @@ var FilterItem = ({
21923
21579
  name: `filter-operator-${index}`
21924
21580
  }
21925
21581
  ),
21926
- /* @__PURE__ */ jsx126(
21582
+ /* @__PURE__ */ jsx124(
21927
21583
  FilterEditorRenderer,
21928
21584
  {
21929
21585
  "aria-label": metaDataLabel,
@@ -21937,7 +21593,7 @@ var FilterItem = ({
21937
21593
  valueTestId: "filter-value"
21938
21594
  }
21939
21595
  ),
21940
- readOnly || index === 0 ? null : /* @__PURE__ */ jsx126(
21596
+ readOnly || index === 0 ? null : /* @__PURE__ */ jsx124(
21941
21597
  "button",
21942
21598
  {
21943
21599
  type: "button",
@@ -21945,13 +21601,16 @@ var FilterItem = ({
21945
21601
  "aria-label": "delete filter",
21946
21602
  css: IconBtn,
21947
21603
  "data-testid": "delete-filter",
21948
- children: /* @__PURE__ */ jsx126(Icon, { icon: "trash", iconColor: "red", size: "1rem" })
21604
+ children: /* @__PURE__ */ jsx124(Icon, { icon: "trash", iconColor: "red", size: "1rem" })
21949
21605
  }
21950
21606
  )
21951
21607
  ] })
21952
21608
  ] });
21953
21609
  };
21954
- var FilterItems = ({ addButtonText = "add condition" }) => {
21610
+ var FilterItems = ({
21611
+ addButtonText = "add condition",
21612
+ additionalFiltersContainer
21613
+ }) => {
21955
21614
  const { filterOptions, filters, setFilters, handleAddFilter } = useSearchAndFilter();
21956
21615
  const handleUpdateFilter = (index, prop, value) => {
21957
21616
  var _a, _b, _c, _d, _e;
@@ -21981,12 +21640,12 @@ var FilterItems = ({ addButtonText = "add condition" }) => {
21981
21640
  }
21982
21641
  setFilters(next);
21983
21642
  };
21984
- return /* @__PURE__ */ jsx126(
21643
+ return /* @__PURE__ */ jsx124(
21985
21644
  FilterMenu,
21986
21645
  {
21987
21646
  id: "search-and-filter-options",
21988
21647
  dataTestId: "search-and-filter-options",
21989
- menuControls: /* @__PURE__ */ jsxs86(
21648
+ menuControls: /* @__PURE__ */ jsxs84(
21990
21649
  "button",
21991
21650
  {
21992
21651
  type: "button",
@@ -21994,12 +21653,12 @@ var FilterItems = ({ addButtonText = "add condition" }) => {
21994
21653
  onClick: handleAddFilter,
21995
21654
  "data-testid": "add-filter",
21996
21655
  children: [
21997
- /* @__PURE__ */ jsx126(Icon, { icon: "math-plus", iconColor: "currentColor", size: "1rem" }),
21656
+ /* @__PURE__ */ jsx124(Icon, { icon: "math-plus", iconColor: "currentColor", size: "1rem" }),
21998
21657
  addButtonText
21999
21658
  ]
22000
21659
  }
22001
21660
  ),
22002
- sortControls: /* @__PURE__ */ jsx126(SortItems, {}),
21661
+ additionalFiltersContainer,
22003
21662
  children: filters.map((item, i) => {
22004
21663
  var _a, _b, _c, _d, _e, _f;
22005
21664
  const availableTypeOptions = (_b = (_a = filterOptions.find((fo) => {
@@ -22008,7 +21667,7 @@ var FilterItems = ({ addButtonText = "add condition" }) => {
22008
21667
  })) == null ? void 0 : _a.options) != null ? _b : [];
22009
21668
  const possibleValueOptions = (_d = (_c = availableTypeOptions == null ? void 0 : availableTypeOptions.find((op) => op.value === item.field)) == null ? void 0 : _c.valueOptions) != null ? _d : [];
22010
21669
  const possibleOperators = (_f = (_e = availableTypeOptions == null ? void 0 : availableTypeOptions.find((op) => op.value === item.field)) == null ? void 0 : _e.operatorOptions) != null ? _f : [];
22011
- return /* @__PURE__ */ jsx126(
21670
+ return /* @__PURE__ */ jsx124(
22012
21671
  FilterItem,
22013
21672
  {
22014
21673
  index: i,
@@ -22027,7 +21686,7 @@ var FilterItems = ({ addButtonText = "add condition" }) => {
22027
21686
  };
22028
21687
 
22029
21688
  // src/components/SearchAndFilter/SearchAndFilterResultContainer.tsx
22030
- import { Fragment as Fragment21, jsx as jsx127, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
21689
+ import { Fragment as Fragment21, jsx as jsx125, jsxs as jsxs85 } from "@emotion/react/jsx-runtime";
22031
21690
  var SearchAndFilterResultContainer = ({
22032
21691
  buttonText,
22033
21692
  clearButtonLabel = "clear",
@@ -22061,75 +21720,63 @@ var SearchAndFilterResultContainer = ({
22061
21720
  if (totalResults && totalResults > 0) {
22062
21721
  return null;
22063
21722
  }
22064
- return /* @__PURE__ */ jsxs87(Fragment21, { children: [
22065
- /* @__PURE__ */ jsxs87(HorizontalRhythm, { children: [
22066
- /* @__PURE__ */ jsxs87("span", { children: [
21723
+ return /* @__PURE__ */ jsxs85(Fragment21, { children: [
21724
+ /* @__PURE__ */ jsxs85(HorizontalRhythm, { children: [
21725
+ /* @__PURE__ */ jsxs85("span", { children: [
22067
21726
  totalResults,
22068
21727
  " results ",
22069
21728
  searchTerm ? `for "${searchTerm}"` : null
22070
21729
  ] }),
22071
- !searchTerm ? null : /* @__PURE__ */ jsx127(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
21730
+ !searchTerm ? null : /* @__PURE__ */ jsx125(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
22072
21731
  ] }),
22073
- totalResults === 0 ? /* @__PURE__ */ jsxs87(Callout, { title: calloutTitle2 != null ? calloutTitle2 : automateCalloutTitle(), type: "note", children: [
22074
- calloutText ? /* @__PURE__ */ jsx127(Paragraph, { children: calloutText }) : null,
22075
- /* @__PURE__ */ jsx127(Button, { buttonType: "tertiaryOutline", size: "xs", onClick: onHandleClear != null ? onHandleClear : handleResetFilters, children: buttonText != null ? buttonText : "Clear search" })
21732
+ totalResults === 0 ? /* @__PURE__ */ jsxs85(Callout, { title: calloutTitle2 != null ? calloutTitle2 : automateCalloutTitle(), type: "note", children: [
21733
+ calloutText ? /* @__PURE__ */ jsx125(Paragraph, { children: calloutText }) : null,
21734
+ /* @__PURE__ */ jsx125(Button, { buttonType: "tertiaryOutline", size: "xs", onClick: onHandleClear != null ? onHandleClear : handleResetFilters, children: buttonText != null ? buttonText : "Clear search" })
22076
21735
  ] }) : null
22077
21736
  ] });
22078
21737
  };
22079
21738
 
22080
21739
  // src/components/SearchAndFilter/SearchAndFilter.tsx
22081
- import { jsx as jsx128, jsxs as jsxs88 } from "@emotion/react/jsx-runtime";
21740
+ import { jsx as jsx126, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
22082
21741
  var SearchAndFilter = ({
22083
21742
  filters,
22084
21743
  filterOptions,
22085
21744
  filterVisible,
22086
- sortOptions,
22087
- defaultSortByValue,
22088
21745
  filterControls,
22089
21746
  viewSwitchControls,
22090
- resultsContainerView = /* @__PURE__ */ jsx128(SearchAndFilterResultContainer, {}),
22091
- children = /* @__PURE__ */ jsx128(FilterItems, {}),
21747
+ resultsContainerView = /* @__PURE__ */ jsx126(SearchAndFilterResultContainer, {}),
22092
21748
  filterMapper: filterMapper2 = filterMapper,
21749
+ additionalFiltersContainer,
22093
21750
  onChange,
22094
21751
  onSearchChange,
22095
- onSortChange,
22096
- onLocaleChange,
22097
21752
  totalResults,
22098
- resetFilterValues = [],
22099
- defaultLocale,
22100
- localeOptions
21753
+ resetFilterValues = []
22101
21754
  }) => {
22102
- return /* @__PURE__ */ jsx128(
21755
+ return /* @__PURE__ */ jsx126(
22103
21756
  SearchAndFilterProvider,
22104
21757
  {
22105
21758
  filters,
22106
21759
  filterOptions,
22107
21760
  filterVisible,
22108
- defaultSortByValue,
22109
- sortOptions,
22110
21761
  onChange,
22111
21762
  onSearchChange,
22112
- onSortChange,
22113
21763
  totalResults,
22114
21764
  resetFilterValues,
22115
- defaultLocale,
22116
- localeOptions,
22117
- onLocaleChange,
22118
21765
  filterMapper: filterMapper2,
22119
- children: /* @__PURE__ */ jsxs88(VerticalRhythm, { css: SearchAndFilterContainer, "data-testid": "search-and-filter", children: [
22120
- /* @__PURE__ */ jsxs88("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
22121
- /* @__PURE__ */ jsx128(
21766
+ children: /* @__PURE__ */ jsxs86(VerticalRhythm, { css: SearchAndFilterContainer, "data-testid": "search-and-filter", children: [
21767
+ /* @__PURE__ */ jsxs86("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
21768
+ /* @__PURE__ */ jsx126(
22122
21769
  "div",
22123
21770
  {
22124
21771
  css: SearchAndFilterControlsWrapper(
22125
21772
  viewSwitchControls ? "auto 1fr 0.05fr" : "auto auto 1fr"
22126
21773
  ),
22127
- children: !filterControls ? /* @__PURE__ */ jsx128(FilterControls, { hideSearchInput: !onSearchChange }) : filterControls
21774
+ children: !filterControls ? /* @__PURE__ */ jsx126(FilterControls, { hideSearchInput: !onSearchChange }) : filterControls
22128
21775
  }
22129
21776
  ),
22130
21777
  viewSwitchControls
22131
21778
  ] }),
22132
- children,
21779
+ /* @__PURE__ */ jsx126(FilterItems, { additionalFiltersContainer }),
22133
21780
  resultsContainerView
22134
21781
  ] })
22135
21782
  }
@@ -22139,7 +21786,7 @@ var SearchAndFilter = ({
22139
21786
  // src/components/SearchAndFilter/SearchOnlyFilter.tsx
22140
21787
  import { createContext as createContext7, useState as useState19 } from "react";
22141
21788
  import { useDebounce as useDebounce4 } from "react-use";
22142
- import { jsx as jsx129 } from "@emotion/react/jsx-runtime";
21789
+ import { jsx as jsx127 } from "@emotion/react/jsx-runtime";
22143
21790
  var SearchOnlyContext = createContext7({
22144
21791
  searchTerm: "",
22145
21792
  setSearchTerm: () => {
@@ -22156,14 +21803,14 @@ var SearchOnlyFilter = ({ onSearchChange, maxWidth }) => {
22156
21803
  300,
22157
21804
  [localeSearchTerm]
22158
21805
  );
22159
- return /* @__PURE__ */ jsx129(
21806
+ return /* @__PURE__ */ jsx127(
22160
21807
  SearchOnlyContext.Provider,
22161
21808
  {
22162
21809
  value: {
22163
21810
  searchTerm,
22164
21811
  setSearchTerm: setLocaleSearchTerm
22165
21812
  },
22166
- children: /* @__PURE__ */ jsx129("div", { css: { maxWidth: maxWidth != null ? maxWidth : "712px" }, children: /* @__PURE__ */ jsx129(
21813
+ children: /* @__PURE__ */ jsx127("div", { css: { maxWidth: maxWidth != null ? maxWidth : "712px" }, children: /* @__PURE__ */ jsx127(
22167
21814
  InputKeywordSearch,
22168
21815
  {
22169
21816
  placeholder: "Search...",
@@ -22177,6 +21824,221 @@ var SearchOnlyFilter = ({ onSearchChange, maxWidth }) => {
22177
21824
  );
22178
21825
  };
22179
21826
 
21827
+ // src/components/SegmentedControl/SegmentedControl.tsx
21828
+ import { css as css95 } from "@emotion/react";
21829
+ import { CgCheck as CgCheck4 } from "@react-icons/all-files/cg/CgCheck";
21830
+ import { useCallback as useCallback11, useMemo as useMemo8 } from "react";
21831
+
21832
+ // src/components/SegmentedControl/SegmentedControl.styles.ts
21833
+ import { css as css94 } from "@emotion/react";
21834
+ var segmentedControlStyles = css94`
21835
+ --segmented-control-rounded-value: var(--rounded-base);
21836
+ --segmented-control-border-width: 1px;
21837
+ --segmented-control-selected-color: var(--brand-secondary-3);
21838
+ --segmented-control-first-border-radius: var(--segmented-control-rounded-value) 0 0
21839
+ var(--segmented-control-rounded-value);
21840
+ --segmented-control-last-border-radius: 0 var(--segmented-control-rounded-value)
21841
+ var(--segmented-control-rounded-value) 0;
21842
+
21843
+ position: relative;
21844
+ display: flex;
21845
+ justify-content: flex-start;
21846
+ width: fit-content;
21847
+ background-color: var(--gray-300);
21848
+ padding: var(--segmented-control-border-width);
21849
+ gap: var(--segmented-control-border-width);
21850
+ border-radius: calc(var(--segmented-control-rounded-value) + var(--segmented-control-border-width));
21851
+ font-size: var(--fs-xs);
21852
+ `;
21853
+ var segmentedControlVerticalStyles = css94`
21854
+ flex-direction: column;
21855
+ --segmented-control-first-border-radius: var(--segmented-control-rounded-value)
21856
+ var(--segmented-control-rounded-value) 0 0;
21857
+ --segmented-control-last-border-radius: 0 0 var(--segmented-control-rounded-value)
21858
+ var(--segmented-control-rounded-value);
21859
+ `;
21860
+ var segmentedControlItemStyles = css94`
21861
+ &:first-of-type label {
21862
+ border-radius: var(--segmented-control-first-border-radius);
21863
+ }
21864
+ &:last-of-type label {
21865
+ border-radius: var(--segmented-control-last-border-radius);
21866
+ }
21867
+ `;
21868
+ var segmentedControlInputStyles = css94`
21869
+ ${accessibleHidden}
21870
+ `;
21871
+ var segmentedControlLabelStyles = (checked, disabled2) => css94`
21872
+ position: relative;
21873
+ display: flex;
21874
+ align-items: center;
21875
+ justify-content: center;
21876
+ height: 2rem;
21877
+ padding-inline: var(--spacing-base);
21878
+ background-color: white;
21879
+ transition-property: background-color, color, box-shadow;
21880
+ transition-duration: var(--duration-xfast);
21881
+ transition-timing-function: ease-in-out;
21882
+ z-index: 1;
21883
+ cursor: pointer;
21884
+
21885
+ &:has(:checked:not(:disabled)) {
21886
+ background-color: var(--segmented-control-selected-color);
21887
+ outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
21888
+ box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
21889
+ color: white;
21890
+ -webkit-text-stroke-width: thin;
21891
+ z-index: 0;
21892
+ }
21893
+
21894
+ &:hover:not(:has(:disabled, :checked)) {
21895
+ background-color: var(--gray-100);
21896
+ }
21897
+
21898
+ &:has(:disabled) {
21899
+ color: var(--gray-400);
21900
+ cursor: default;
21901
+ }
21902
+
21903
+ &:has(:checked:disabled) {
21904
+ color: var(--gray-50);
21905
+ background-color: var(--gray-400);
21906
+ }
21907
+
21908
+ // Firefox fallback using emotion variables
21909
+ // we can delete this whole block of code and variables in SegmentedControl.tsx
21910
+ // once Firefox supports :has selector
21911
+ @supports not selector(:has(*)) {
21912
+ // equivalent to &:has(:checked:not(:disabled))
21913
+ ${checked && !disabled2 ? `
21914
+ background-color: var(--segmented-control-selected-color);
21915
+ outline: var(--segmented-control-border-width) solid var(--segmented-control-selected-color);
21916
+ box-shadow: 0 0.43em 1.7em 0 rgba(0, 0, 0, 0.15);
21917
+ color: white;
21918
+ -webkit-text-stroke-width: thin;
21919
+ z-index: 0;` : void 0}
21920
+
21921
+ // equivalent to &:hover:not(:has(:disabled, :checked))
21922
+ &:hover {
21923
+ ${!checked && !disabled2 ? `background-color: var(--gray-100);` : void 0}
21924
+ }
21925
+
21926
+ // equivalent to &:has(:disabled)
21927
+ ${disabled2 ? `
21928
+ color: var(--gray-400);
21929
+ cursor: default;` : void 0}
21930
+
21931
+ // equivalent to &:has(:checked:disabled)
21932
+ ${checked && disabled2 && `
21933
+ color: var(--gray-50);
21934
+ background-color: var(--gray-400);
21935
+ `}
21936
+ }
21937
+ `;
21938
+ var segmentedControlLabelIconOnlyStyles = css94`
21939
+ padding-inline: 0.5em;
21940
+ `;
21941
+ var segmentedControlLabelCheckStyles = css94`
21942
+ opacity: 0.5;
21943
+ `;
21944
+ var segmentedControlLabelContentStyles = css94`
21945
+ display: flex;
21946
+ align-items: center;
21947
+ justify-content: center;
21948
+ gap: var(--spacing-sm);
21949
+ height: 100%;
21950
+ `;
21951
+ var segmentedControlLabelTextStyles = css94``;
21952
+
21953
+ // src/components/SegmentedControl/SegmentedControl.tsx
21954
+ import { jsx as jsx128, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
21955
+ var SegmentedControl = ({
21956
+ name,
21957
+ options,
21958
+ value,
21959
+ onChange,
21960
+ noCheckmark = false,
21961
+ disabled: disabled2 = false,
21962
+ orientation = "horizontal",
21963
+ size = "md",
21964
+ hideOptionText = false,
21965
+ iconSize = "1.5em",
21966
+ ...props
21967
+ }) => {
21968
+ const onOptionChange = useCallback11(
21969
+ (event) => {
21970
+ if (event.target.checked) {
21971
+ onChange == null ? void 0 : onChange(options[parseInt(event.target.value)].value);
21972
+ }
21973
+ },
21974
+ [options, onChange]
21975
+ );
21976
+ const sizeStyles = useMemo8(() => {
21977
+ const map = {
21978
+ sm: css95({ height: "calc(24px - 2px)", fontSize: "var(--fs-xs)" }),
21979
+ md: css95({ height: "calc(32px - 2px)", fontSize: "var(--fs-sm)" }),
21980
+ lg: css95({ height: "calc(40px - 2px)", fontSize: "var(--fs-base)" }),
21981
+ xl: css95({ height: "calc(48px - 2px)", fontSize: "var(--fs-base)" })
21982
+ };
21983
+ return map[size];
21984
+ }, [size]);
21985
+ const isIconOnly = useMemo8(() => {
21986
+ return options.every((option) => option && option.icon && !option.label);
21987
+ }, [options]);
21988
+ return /* @__PURE__ */ jsx128(
21989
+ "div",
21990
+ {
21991
+ css: [segmentedControlStyles, orientation === "vertical" ? segmentedControlVerticalStyles : void 0],
21992
+ ...props,
21993
+ "data-testid": "segmented-control",
21994
+ children: options.map((option, index) => {
21995
+ var _a;
21996
+ if (!option) {
21997
+ return null;
21998
+ }
21999
+ const text = option.label ? option.label : option.icon ? null : String(option.value);
22000
+ const isDisabled = disabled2 || option.disabled;
22001
+ return /* @__PURE__ */ jsx128(Tooltip, { title: (_a = option.tooltip) != null ? _a : "", children: /* @__PURE__ */ jsx128(
22002
+ "div",
22003
+ {
22004
+ css: segmentedControlItemStyles,
22005
+ "data-testid": option["data-testid"] ? option["data-testid"] : "container-segmented-control",
22006
+ children: /* @__PURE__ */ jsxs87(
22007
+ "label",
22008
+ {
22009
+ css: [
22010
+ segmentedControlLabelStyles(option.value === value, isDisabled),
22011
+ sizeStyles,
22012
+ isIconOnly ? segmentedControlLabelIconOnlyStyles : void 0
22013
+ ],
22014
+ children: [
22015
+ /* @__PURE__ */ jsx128(
22016
+ "input",
22017
+ {
22018
+ css: segmentedControlInputStyles,
22019
+ type: "radio",
22020
+ name,
22021
+ value: index,
22022
+ checked: option.value === value,
22023
+ onChange: onOptionChange,
22024
+ disabled: isDisabled
22025
+ }
22026
+ ),
22027
+ option.value !== value || noCheckmark ? null : /* @__PURE__ */ jsx128(CgCheck4, { css: segmentedControlLabelCheckStyles, "aria-label": "Selected", size: "1.5em" }),
22028
+ /* @__PURE__ */ jsxs87("span", { css: segmentedControlLabelContentStyles, children: [
22029
+ !option.icon ? null : /* @__PURE__ */ jsx128(Icon, { icon: option.icon, size: iconSize, iconColor: "currentColor" }),
22030
+ !text || hideOptionText ? null : /* @__PURE__ */ jsx128("span", { css: segmentedControlLabelTextStyles, children: text })
22031
+ ] })
22032
+ ]
22033
+ }
22034
+ )
22035
+ }
22036
+ ) }, JSON.stringify(option.value));
22037
+ })
22038
+ }
22039
+ );
22040
+ };
22041
+
22180
22042
  // src/components/Skeleton/Skeleton.styles.ts
22181
22043
  import { css as css96, keyframes as keyframes5 } from "@emotion/react";
22182
22044
  var lightFadingOut = keyframes5`
@@ -22189,7 +22051,7 @@ var skeletonStyles = css96`
22189
22051
  `;
22190
22052
 
22191
22053
  // src/components/Skeleton/Skeleton.tsx
22192
- import { jsx as jsx130 } from "@emotion/react/jsx-runtime";
22054
+ import { jsx as jsx129 } from "@emotion/react/jsx-runtime";
22193
22055
  var Skeleton = ({
22194
22056
  width = "100%",
22195
22057
  height = "1.25rem",
@@ -22197,7 +22059,7 @@ var Skeleton = ({
22197
22059
  circle = false,
22198
22060
  children,
22199
22061
  ...otherProps
22200
- }) => /* @__PURE__ */ jsx130(
22062
+ }) => /* @__PURE__ */ jsx129(
22201
22063
  "div",
22202
22064
  {
22203
22065
  css: [
@@ -22304,19 +22166,19 @@ var SwitchText = css97`
22304
22166
  `;
22305
22167
 
22306
22168
  // src/components/Switch/Switch.tsx
22307
- import { Fragment as Fragment22, jsx as jsx131, jsxs as jsxs89 } from "@emotion/react/jsx-runtime";
22169
+ import { Fragment as Fragment22, jsx as jsx130, jsxs as jsxs88 } from "@emotion/react/jsx-runtime";
22308
22170
  var Switch = React26.forwardRef(
22309
22171
  ({ label, infoText, toggleText, children, ...inputProps }, ref) => {
22310
22172
  let additionalText = infoText;
22311
22173
  if (infoText && toggleText) {
22312
22174
  additionalText = inputProps.checked ? toggleText : infoText;
22313
22175
  }
22314
- return /* @__PURE__ */ jsxs89(Fragment22, { children: [
22315
- /* @__PURE__ */ jsxs89("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
22316
- /* @__PURE__ */ jsx131("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
22317
- /* @__PURE__ */ jsx131("span", { css: SwitchInputLabel, children: label })
22176
+ return /* @__PURE__ */ jsxs88(Fragment22, { children: [
22177
+ /* @__PURE__ */ jsxs88("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
22178
+ /* @__PURE__ */ jsx130("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
22179
+ /* @__PURE__ */ jsx130("span", { css: SwitchInputLabel, children: label })
22318
22180
  ] }),
22319
- additionalText ? /* @__PURE__ */ jsx131("p", { css: SwitchText, children: additionalText }) : null,
22181
+ additionalText ? /* @__PURE__ */ jsx130("p", { css: SwitchText, children: additionalText }) : null,
22320
22182
  children
22321
22183
  ] });
22322
22184
  }
@@ -22353,40 +22215,40 @@ var tableCellHead = css98`
22353
22215
  `;
22354
22216
 
22355
22217
  // src/components/Table/Table.tsx
22356
- import { jsx as jsx132 } from "@emotion/react/jsx-runtime";
22218
+ import { jsx as jsx131 } from "@emotion/react/jsx-runtime";
22357
22219
  var Table = React27.forwardRef(
22358
22220
  ({ children, cellPadding, ...otherProps }, ref) => {
22359
- return /* @__PURE__ */ jsx132("table", { ref, css: table({ cellPadding }), ...otherProps, children });
22221
+ return /* @__PURE__ */ jsx131("table", { ref, css: table({ cellPadding }), ...otherProps, children });
22360
22222
  }
22361
22223
  );
22362
22224
  var TableHead = React27.forwardRef(
22363
22225
  ({ children, ...otherProps }, ref) => {
22364
- return /* @__PURE__ */ jsx132("thead", { ref, css: tableHead, ...otherProps, children });
22226
+ return /* @__PURE__ */ jsx131("thead", { ref, css: tableHead, ...otherProps, children });
22365
22227
  }
22366
22228
  );
22367
22229
  var TableBody = React27.forwardRef(
22368
22230
  ({ children, ...otherProps }, ref) => {
22369
- return /* @__PURE__ */ jsx132("tbody", { ref, ...otherProps, children });
22231
+ return /* @__PURE__ */ jsx131("tbody", { ref, ...otherProps, children });
22370
22232
  }
22371
22233
  );
22372
22234
  var TableFoot = React27.forwardRef(
22373
22235
  ({ children, ...otherProps }, ref) => {
22374
- return /* @__PURE__ */ jsx132("tfoot", { ref, ...otherProps, children });
22236
+ return /* @__PURE__ */ jsx131("tfoot", { ref, ...otherProps, children });
22375
22237
  }
22376
22238
  );
22377
22239
  var TableRow = React27.forwardRef(
22378
22240
  ({ children, ...otherProps }, ref) => {
22379
- return /* @__PURE__ */ jsx132("tr", { ref, css: tableRow, ...otherProps, children });
22241
+ return /* @__PURE__ */ jsx131("tr", { ref, css: tableRow, ...otherProps, children });
22380
22242
  }
22381
22243
  );
22382
22244
  var TableCellHead = React27.forwardRef(
22383
22245
  ({ children, ...otherProps }, ref) => {
22384
- return /* @__PURE__ */ jsx132("th", { ref, css: tableCellHead, ...otherProps, children });
22246
+ return /* @__PURE__ */ jsx131("th", { ref, css: tableCellHead, ...otherProps, children });
22385
22247
  }
22386
22248
  );
22387
22249
  var TableCellData = React27.forwardRef(
22388
22250
  ({ children, ...otherProps }, ref) => {
22389
- return /* @__PURE__ */ jsx132("td", { ref, ...otherProps, children });
22251
+ return /* @__PURE__ */ jsx131("td", { ref, ...otherProps, children });
22390
22252
  }
22391
22253
  );
22392
22254
 
@@ -22426,7 +22288,7 @@ var tabButtonGroupStyles = css99`
22426
22288
  `;
22427
22289
 
22428
22290
  // src/components/Tabs/Tabs.tsx
22429
- import { jsx as jsx133 } from "@emotion/react/jsx-runtime";
22291
+ import { jsx as jsx132 } from "@emotion/react/jsx-runtime";
22430
22292
  var useCurrentTab = () => {
22431
22293
  const context = useAriakitTabStore();
22432
22294
  if (!context) {
@@ -22464,23 +22326,23 @@ var Tabs = ({
22464
22326
  tab.setSelectedId(selected);
22465
22327
  }
22466
22328
  }, [selected, tab]);
22467
- return /* @__PURE__ */ jsx133(AriakitTabProvider, { store: tab, setSelectedId: onTabSelect, children });
22329
+ return /* @__PURE__ */ jsx132(AriakitTabProvider, { store: tab, setSelectedId: onTabSelect, children });
22468
22330
  };
22469
22331
  var TabButtonGroup = ({ children, ...props }) => {
22470
- return /* @__PURE__ */ jsx133(AriakitTabList, { ...props, css: tabButtonGroupStyles, children });
22332
+ return /* @__PURE__ */ jsx132(AriakitTabList, { ...props, css: tabButtonGroupStyles, children });
22471
22333
  };
22472
22334
  var TabButton = ({
22473
22335
  children,
22474
22336
  id,
22475
22337
  ...props
22476
22338
  }) => {
22477
- return /* @__PURE__ */ jsx133(AriakitTab, { type: "button", id, ...props, css: tabButtonStyles, children });
22339
+ return /* @__PURE__ */ jsx132(AriakitTab, { type: "button", id, ...props, css: tabButtonStyles, children });
22478
22340
  };
22479
22341
  var TabContent = ({
22480
22342
  children,
22481
22343
  ...props
22482
22344
  }) => {
22483
- return /* @__PURE__ */ jsx133(AriakitTabPanel, { ...props, children });
22345
+ return /* @__PURE__ */ jsx132(AriakitTabPanel, { ...props, children });
22484
22346
  };
22485
22347
 
22486
22348
  // src/components/Toast/Toast.tsx
@@ -22711,9 +22573,9 @@ var toastContainerStyles = css100`
22711
22573
  `;
22712
22574
 
22713
22575
  // src/components/Toast/Toast.tsx
22714
- import { jsx as jsx134 } from "@emotion/react/jsx-runtime";
22576
+ import { jsx as jsx133 } from "@emotion/react/jsx-runtime";
22715
22577
  var ToastContainer = ({ limit = 4 }) => {
22716
- return /* @__PURE__ */ jsx134(
22578
+ return /* @__PURE__ */ jsx133(
22717
22579
  ToastifyContainer,
22718
22580
  {
22719
22581
  css: toastContainerStyles,