@uniformdev/design-system 19.119.0 → 19.121.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/LICENSE +1 -1
- package/dist/esm/index.js +265 -118
- package/dist/index.d.mts +42 -13
- package/dist/index.d.ts +42 -13
- package/dist/index.js +289 -139
- package/package.json +4 -4
package/dist/esm/index.js
CHANGED
|
@@ -639,7 +639,7 @@ var input = (whiteSpaceWrap) => css2`
|
|
|
639
639
|
border-radius: var(--rounded-sm);
|
|
640
640
|
color: var(--gray-700);
|
|
641
641
|
padding: var(--input-padding);
|
|
642
|
-
min-height:
|
|
642
|
+
min-height: 50px;
|
|
643
643
|
width: 100%;
|
|
644
644
|
position: relative;
|
|
645
645
|
white-space: ${whiteSpaceWrap};
|
|
@@ -1232,6 +1232,9 @@ var IconColorAction = css8`
|
|
|
1232
1232
|
var IconColorAccent = css8`
|
|
1233
1233
|
color: var(--accent-alt-dark);
|
|
1234
1234
|
`;
|
|
1235
|
+
var IconColorAccentDark = css8`
|
|
1236
|
+
color: var(--accent-dark);
|
|
1237
|
+
`;
|
|
1235
1238
|
var IconColorAccentLight = css8`
|
|
1236
1239
|
color: var(--accent-light);
|
|
1237
1240
|
`;
|
|
@@ -1275,6 +1278,7 @@ var IconInner = ({ icon, iconColor = "default", size = "1.5rem", ...otherProps }
|
|
|
1275
1278
|
red: IconColorRed,
|
|
1276
1279
|
accent: IconColorAccent,
|
|
1277
1280
|
currentColor: IconColorCurrent,
|
|
1281
|
+
"accent-dark": IconColorAccentDark,
|
|
1278
1282
|
"accent-light": IconColorAccentLight
|
|
1279
1283
|
};
|
|
1280
1284
|
if (isIconName && isLoading) {
|
|
@@ -12215,7 +12219,7 @@ var ButtonWithMenu = ({
|
|
|
12215
12219
|
};
|
|
12216
12220
|
|
|
12217
12221
|
// src/components/Calendar/Calendar.tsx
|
|
12218
|
-
import { parseDate, today } from "@internationalized/date";
|
|
12222
|
+
import { isToday, parseDate, today } from "@internationalized/date";
|
|
12219
12223
|
import { useCallback, useState as useState3 } from "react";
|
|
12220
12224
|
import {
|
|
12221
12225
|
Button as AriaButton,
|
|
@@ -12228,6 +12232,7 @@ import {
|
|
|
12228
12232
|
// src/components/Calendar/Calendar.styles.ts
|
|
12229
12233
|
import { css as css28 } from "@emotion/react";
|
|
12230
12234
|
var container = css28`
|
|
12235
|
+
--calendar-cell-size: 1.8rem;
|
|
12231
12236
|
width: fit-content;
|
|
12232
12237
|
max-width: 100%;
|
|
12233
12238
|
`;
|
|
@@ -12252,13 +12257,13 @@ var headerNavButton = css28`
|
|
|
12252
12257
|
}
|
|
12253
12258
|
`;
|
|
12254
12259
|
var cell = css28`
|
|
12255
|
-
width:
|
|
12256
|
-
line-height:
|
|
12260
|
+
width: var(--calendar-cell-size);
|
|
12261
|
+
line-height: var(--calendar-cell-size);
|
|
12257
12262
|
text-align: center;
|
|
12258
12263
|
border-radius: var(--rounded-sm);
|
|
12259
12264
|
cursor: default;
|
|
12260
12265
|
outline: none;
|
|
12261
|
-
margin: 1px;
|
|
12266
|
+
margin: 1px 0;
|
|
12262
12267
|
forced-color-adjust: none;
|
|
12263
12268
|
|
|
12264
12269
|
&:hover {
|
|
@@ -12284,6 +12289,12 @@ var cell = css28`
|
|
|
12284
12289
|
color: var(--white);
|
|
12285
12290
|
}
|
|
12286
12291
|
`;
|
|
12292
|
+
var cellIsOutsideRange = css28`
|
|
12293
|
+
color: var(--gray-400);
|
|
12294
|
+
`;
|
|
12295
|
+
var cellIsToday = css28`
|
|
12296
|
+
background: var(--gray-200);
|
|
12297
|
+
`;
|
|
12287
12298
|
var actions = css28`
|
|
12288
12299
|
display: flex;
|
|
12289
12300
|
justify-content: end;
|
|
@@ -12312,6 +12323,9 @@ var Calendar = ({
|
|
|
12312
12323
|
...props
|
|
12313
12324
|
}) => {
|
|
12314
12325
|
const [focusedValue, setFocusedValue] = useState3(void 0);
|
|
12326
|
+
const today_date = today(timeZone);
|
|
12327
|
+
const minDate = tryParseDate(minValue);
|
|
12328
|
+
const maxDate = tryParseDate(maxValue);
|
|
12315
12329
|
const handleChange = useCallback(
|
|
12316
12330
|
(value2) => {
|
|
12317
12331
|
onChange == null ? void 0 : onChange(value2.toString());
|
|
@@ -12319,10 +12333,9 @@ var Calendar = ({
|
|
|
12319
12333
|
[onChange]
|
|
12320
12334
|
);
|
|
12321
12335
|
const gotoToday = useCallback(() => {
|
|
12322
|
-
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
}, [onChange, timeZone]);
|
|
12336
|
+
onChange == null ? void 0 : onChange(today_date.toString());
|
|
12337
|
+
setFocusedValue(today_date);
|
|
12338
|
+
}, [onChange, today_date]);
|
|
12326
12339
|
return /* @__PURE__ */ jsxs18("div", { ...props, children: [
|
|
12327
12340
|
/* @__PURE__ */ jsxs18(
|
|
12328
12341
|
AriaCalendar,
|
|
@@ -12330,8 +12343,8 @@ var Calendar = ({
|
|
|
12330
12343
|
value: tryParseDate(value) || null,
|
|
12331
12344
|
focusedValue,
|
|
12332
12345
|
onFocusChange: setFocusedValue,
|
|
12333
|
-
minValue:
|
|
12334
|
-
maxValue:
|
|
12346
|
+
minValue: minDate,
|
|
12347
|
+
maxValue: maxDate,
|
|
12335
12348
|
onChange: handleChange,
|
|
12336
12349
|
css: container,
|
|
12337
12350
|
"aria-label": "Appointment date",
|
|
@@ -12358,7 +12371,18 @@ var Calendar = ({
|
|
|
12358
12371
|
}
|
|
12359
12372
|
)
|
|
12360
12373
|
] }),
|
|
12361
|
-
/* @__PURE__ */ jsx29(CalendarGrid, { children: (date) => /* @__PURE__ */ jsx29(
|
|
12374
|
+
/* @__PURE__ */ jsx29(CalendarGrid, { children: (date) => /* @__PURE__ */ jsx29(
|
|
12375
|
+
CalendarCell,
|
|
12376
|
+
{
|
|
12377
|
+
css: [
|
|
12378
|
+
cell,
|
|
12379
|
+
minDate && date.compare(minDate) < 0 ? cellIsOutsideRange : null,
|
|
12380
|
+
maxDate && date.compare(maxDate) > 0 ? cellIsOutsideRange : null,
|
|
12381
|
+
isToday(date, timeZone) ? cellIsToday : null
|
|
12382
|
+
],
|
|
12383
|
+
date
|
|
12384
|
+
}
|
|
12385
|
+
) })
|
|
12362
12386
|
]
|
|
12363
12387
|
}
|
|
12364
12388
|
),
|
|
@@ -13375,7 +13399,7 @@ var DashedBox = ({
|
|
|
13375
13399
|
};
|
|
13376
13400
|
|
|
13377
13401
|
// src/components/DateTimePicker/DateTimePicker.tsx
|
|
13378
|
-
import { getLocalTimeZone as getLocalTimeZone2, parseDate as parseDate2, parseTime as parseTime2 } from "@internationalized/date";
|
|
13402
|
+
import { getLocalTimeZone as getLocalTimeZone2, parseDate as parseDate2, parseTime as parseTime2, Time as Time3 } from "@internationalized/date";
|
|
13379
13403
|
import { createContext as createContext2, useCallback as useCallback3, useContext as useContext3, useEffect as useEffect4, useMemo, useState as useState6 } from "react";
|
|
13380
13404
|
import { Popover as Popover2, PopoverDisclosure, usePopoverState } from "reakit/Popover";
|
|
13381
13405
|
|
|
@@ -13817,6 +13841,12 @@ function InputComboBox(props) {
|
|
|
13817
13841
|
boxShadow: "none",
|
|
13818
13842
|
borderColor: "var(--accent-dark-hover)"
|
|
13819
13843
|
},
|
|
13844
|
+
'&:has([aria-readonly="true"])': {
|
|
13845
|
+
background: "var(--gray-100)",
|
|
13846
|
+
"&:hover": {
|
|
13847
|
+
borderColor: "var(--gray-300)"
|
|
13848
|
+
}
|
|
13849
|
+
},
|
|
13820
13850
|
...(_b = (_a2 = props.styles) == null ? void 0 : _a2.control) == null ? void 0 : _b.call(_a2, base, state)
|
|
13821
13851
|
};
|
|
13822
13852
|
},
|
|
@@ -14482,7 +14512,7 @@ var popover = css52`
|
|
|
14482
14512
|
padding: var(--spacing-md);
|
|
14483
14513
|
max-width: none;
|
|
14484
14514
|
gap: var(--spacing-md);
|
|
14485
|
-
grid-template-columns:
|
|
14515
|
+
grid-template-columns: 0.8fr 1fr;
|
|
14486
14516
|
grid-template-rows: 1fr 1fr;
|
|
14487
14517
|
|
|
14488
14518
|
[data-variant='date'] & {
|
|
@@ -14544,7 +14574,7 @@ import {
|
|
|
14544
14574
|
function getTimeZoneLabel(tz) {
|
|
14545
14575
|
var _a;
|
|
14546
14576
|
const offset = (_a = Intl.DateTimeFormat("en", { timeZoneName: "shortOffset", timeZone: tz }).formatToParts().find((p) => p.type === "timeZoneName")) == null ? void 0 : _a.value;
|
|
14547
|
-
return tz + (offset ? ` (${offset})` : "");
|
|
14577
|
+
return String(tz).replace(/_/g, " ") + (offset ? ` (${offset})` : "");
|
|
14548
14578
|
}
|
|
14549
14579
|
function tryParseAbsolute(isoDateTime, timeZone) {
|
|
14550
14580
|
try {
|
|
@@ -14579,7 +14609,8 @@ var DateTimePickerVariant = /* @__PURE__ */ ((DateTimePickerVariant2) => {
|
|
|
14579
14609
|
|
|
14580
14610
|
// src/components/DateTimePicker/DateTimePicker.tsx
|
|
14581
14611
|
import { jsx as jsx61, jsxs as jsxs38 } from "@emotion/react/jsx-runtime";
|
|
14582
|
-
var
|
|
14612
|
+
var timeZoneOptions = typeof Intl !== "undefined" && typeof Intl.supportedValuesOf === "function" ? Intl.supportedValuesOf("timeZone") : ["Etc/UTC"];
|
|
14613
|
+
var TIMEZONE_OPTIONS = timeZoneOptions.map((v) => ({
|
|
14583
14614
|
label: getTimeZoneLabel(v),
|
|
14584
14615
|
value: v
|
|
14585
14616
|
}));
|
|
@@ -14629,9 +14660,10 @@ var DateTimePicker = ({
|
|
|
14629
14660
|
return TIMEZONE_OPTIONS.find(({ value: value2 }) => value2 === timeZone);
|
|
14630
14661
|
});
|
|
14631
14662
|
useEffect4(() => {
|
|
14663
|
+
var _a;
|
|
14632
14664
|
if (popover2.visible) {
|
|
14633
14665
|
setDraftDate(tryToCalendarDate(parsedValue));
|
|
14634
|
-
setDraftTime(tryToTime(parsedValue));
|
|
14666
|
+
setDraftTime((_a = tryToTime(parsedValue)) != null ? _a : new Time3(0, 0));
|
|
14635
14667
|
}
|
|
14636
14668
|
}, [parsedValue, popover2.visible]);
|
|
14637
14669
|
const handleDateChange = useCallback3((isoDate) => {
|
|
@@ -20295,16 +20327,16 @@ var SYSTEM_FIELD_OPERATORS = [
|
|
|
20295
20327
|
// src/components/SearchAndFilter/styles/SearchAndFilter.styles.ts
|
|
20296
20328
|
import { css as css92 } from "@emotion/react";
|
|
20297
20329
|
var SearchAndFilterContainer = css92``;
|
|
20298
|
-
var SearchAndFilterControlsWrapper = css92`
|
|
20330
|
+
var SearchAndFilterControlsWrapper = (gridColumns) => css92`
|
|
20299
20331
|
align-items: stretch;
|
|
20300
20332
|
display: grid;
|
|
20301
|
-
grid-template-columns:
|
|
20333
|
+
grid-template-columns: ${gridColumns};
|
|
20302
20334
|
gap: var(--spacing-sm);
|
|
20303
20335
|
`;
|
|
20304
|
-
var SearchAndFilterOutterControlWrapper = css92`
|
|
20336
|
+
var SearchAndFilterOutterControlWrapper = (gridColumns) => css92`
|
|
20305
20337
|
align-items: stretch;
|
|
20306
20338
|
display: grid;
|
|
20307
|
-
grid-template-columns:
|
|
20339
|
+
grid-template-columns: ${gridColumns};
|
|
20308
20340
|
gap: var(--spacing-sm);
|
|
20309
20341
|
`;
|
|
20310
20342
|
var ConditionalFilterRow = css92`
|
|
@@ -20337,7 +20369,7 @@ var ConditionalInputRow = css92`
|
|
|
20337
20369
|
}
|
|
20338
20370
|
${cq("580px")} {
|
|
20339
20371
|
display: grid;
|
|
20340
|
-
grid-template-columns: 200px 160px
|
|
20372
|
+
grid-template-columns: 200px 160px 1fr 32px;
|
|
20341
20373
|
}
|
|
20342
20374
|
`;
|
|
20343
20375
|
var SearchInput = css92`
|
|
@@ -20472,7 +20504,7 @@ var SearchAndFilterOptionsContainer = css92`
|
|
|
20472
20504
|
padding: var(--spacing-md) var(--spacing-md) var(--spacing-base);
|
|
20473
20505
|
will-change: height;
|
|
20474
20506
|
position: relative;
|
|
20475
|
-
z-index:
|
|
20507
|
+
z-index: 2;
|
|
20476
20508
|
`;
|
|
20477
20509
|
var SearchAndFilterOptionsInnerContainer = css92`
|
|
20478
20510
|
display: flex;
|
|
@@ -20556,6 +20588,7 @@ var SearchAndFilterProvider = ({
|
|
|
20556
20588
|
filterOptions,
|
|
20557
20589
|
sortOptions,
|
|
20558
20590
|
defaultSortByValue,
|
|
20591
|
+
filterMode: filterMode3 = void 0,
|
|
20559
20592
|
onSearchChange,
|
|
20560
20593
|
onChange,
|
|
20561
20594
|
onSortChange,
|
|
@@ -20564,12 +20597,12 @@ var SearchAndFilterProvider = ({
|
|
|
20564
20597
|
}) => {
|
|
20565
20598
|
const [searchTerm, setSearchTerm] = useState16("");
|
|
20566
20599
|
const deferredSearchTerm = useDeferredValue2(searchTerm);
|
|
20567
|
-
const [filterVisibility, setFilterVisibility] = useState16(
|
|
20600
|
+
const [filterVisibility, setFilterVisibility] = useState16(filterMode3);
|
|
20568
20601
|
const [sortByValue, setSortByValue] = useState16(defaultSortByValue);
|
|
20569
20602
|
const handleSearchTerm = useCallback10(
|
|
20570
20603
|
(term) => {
|
|
20571
20604
|
setSearchTerm(term);
|
|
20572
|
-
onSearchChange(term);
|
|
20605
|
+
onSearchChange == null ? void 0 : onSearchChange(term);
|
|
20573
20606
|
},
|
|
20574
20607
|
[setSearchTerm, onSearchChange]
|
|
20575
20608
|
);
|
|
@@ -20648,7 +20681,8 @@ var useSearchAndFilter = () => {
|
|
|
20648
20681
|
// src/components/SearchAndFilter/FilterControls.tsx
|
|
20649
20682
|
import { Fragment as Fragment19, jsx as jsx119, jsxs as jsxs80 } from "@emotion/react/jsx-runtime";
|
|
20650
20683
|
var FilterControls = ({
|
|
20651
|
-
children
|
|
20684
|
+
children,
|
|
20685
|
+
hideSearchInput
|
|
20652
20686
|
}) => {
|
|
20653
20687
|
const { setFilterVisibility, filterVisibility, setSearchTerm, validFilterQuery, searchTerm, sortByValue } = useSearchAndFilter();
|
|
20654
20688
|
const [localeSearchTerm, setLocaleSearchTerm] = useState17("");
|
|
@@ -20699,7 +20733,7 @@ var FilterControls = ({
|
|
|
20699
20733
|
"data-testid": "sort-by-dropdown"
|
|
20700
20734
|
}
|
|
20701
20735
|
),
|
|
20702
|
-
/* @__PURE__ */ jsx119(
|
|
20736
|
+
hideSearchInput ? null : /* @__PURE__ */ jsx119(
|
|
20703
20737
|
InputKeywordSearch,
|
|
20704
20738
|
{
|
|
20705
20739
|
placeholder: "Search...",
|
|
@@ -20793,6 +20827,11 @@ var StatusUnknown = css93`
|
|
|
20793
20827
|
background: var(--gray-800);
|
|
20794
20828
|
}
|
|
20795
20829
|
`;
|
|
20830
|
+
var StatusDeleted = css93`
|
|
20831
|
+
&:before {
|
|
20832
|
+
background: var(--error);
|
|
20833
|
+
}
|
|
20834
|
+
`;
|
|
20796
20835
|
|
|
20797
20836
|
// src/components/Validation/StatusBullet.tsx
|
|
20798
20837
|
import { jsx as jsx120 } from "@emotion/react/jsx-runtime";
|
|
@@ -20811,7 +20850,8 @@ var StatusBullet = ({
|
|
|
20811
20850
|
Published: StatusPublished,
|
|
20812
20851
|
Draft: StatusDraft,
|
|
20813
20852
|
Previous: StatusDraft,
|
|
20814
|
-
Unknown: StatusUnknown
|
|
20853
|
+
Unknown: StatusUnknown,
|
|
20854
|
+
Deleted: StatusDeleted
|
|
20815
20855
|
};
|
|
20816
20856
|
const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
|
|
20817
20857
|
return /* @__PURE__ */ jsx120(
|
|
@@ -20827,13 +20867,20 @@ var StatusBullet = ({
|
|
|
20827
20867
|
};
|
|
20828
20868
|
|
|
20829
20869
|
// src/components/SearchAndFilter/FilterEditor.tsx
|
|
20830
|
-
import {
|
|
20870
|
+
import { jsx as jsx121, jsxs as jsxs81 } from "@emotion/react/jsx-runtime";
|
|
20871
|
+
var readOnlyAttributes = {
|
|
20872
|
+
isSearchable: false,
|
|
20873
|
+
menuIsOpen: false,
|
|
20874
|
+
isClearable: false
|
|
20875
|
+
};
|
|
20831
20876
|
var FilterMultiChoiceEditor = ({
|
|
20832
20877
|
value,
|
|
20833
20878
|
options,
|
|
20834
20879
|
isDisabled,
|
|
20880
|
+
readOnly,
|
|
20835
20881
|
...props
|
|
20836
20882
|
}) => {
|
|
20883
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20837
20884
|
return /* @__PURE__ */ jsx121(
|
|
20838
20885
|
InputComboBox,
|
|
20839
20886
|
{
|
|
@@ -20847,7 +20894,9 @@ var FilterMultiChoiceEditor = ({
|
|
|
20847
20894
|
var _a;
|
|
20848
20895
|
return props.onChange((_a = e.map((item) => item.value)) != null ? _a : []);
|
|
20849
20896
|
},
|
|
20850
|
-
value
|
|
20897
|
+
value,
|
|
20898
|
+
"aria-readonly": readOnly,
|
|
20899
|
+
...readOnlyProps
|
|
20851
20900
|
}
|
|
20852
20901
|
);
|
|
20853
20902
|
};
|
|
@@ -20855,8 +20904,10 @@ var FilterSingleChoiceEditor = ({
|
|
|
20855
20904
|
options,
|
|
20856
20905
|
value,
|
|
20857
20906
|
isDisabled,
|
|
20907
|
+
readOnly,
|
|
20858
20908
|
onChange
|
|
20859
20909
|
}) => {
|
|
20910
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20860
20911
|
return /* @__PURE__ */ jsx121(
|
|
20861
20912
|
InputComboBox,
|
|
20862
20913
|
{
|
|
@@ -20868,7 +20919,9 @@ var FilterSingleChoiceEditor = ({
|
|
|
20868
20919
|
return onChange((_a = e == null ? void 0 : e.value) != null ? _a : "");
|
|
20869
20920
|
},
|
|
20870
20921
|
isDisabled,
|
|
20871
|
-
value
|
|
20922
|
+
value,
|
|
20923
|
+
"aria-readonly": readOnly,
|
|
20924
|
+
...readOnlyProps
|
|
20872
20925
|
}
|
|
20873
20926
|
);
|
|
20874
20927
|
};
|
|
@@ -20879,8 +20932,10 @@ var StatusMultiEditor = ({
|
|
|
20879
20932
|
options,
|
|
20880
20933
|
value,
|
|
20881
20934
|
isDisabled,
|
|
20935
|
+
readOnly,
|
|
20882
20936
|
onChange
|
|
20883
20937
|
}) => {
|
|
20938
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20884
20939
|
return /* @__PURE__ */ jsx121(
|
|
20885
20940
|
InputComboBox,
|
|
20886
20941
|
{
|
|
@@ -20892,7 +20947,8 @@ var StatusMultiEditor = ({
|
|
|
20892
20947
|
},
|
|
20893
20948
|
formatOptionLabel: CustomOptions,
|
|
20894
20949
|
value,
|
|
20895
|
-
isDisabled
|
|
20950
|
+
isDisabled,
|
|
20951
|
+
...readOnlyProps
|
|
20896
20952
|
}
|
|
20897
20953
|
);
|
|
20898
20954
|
};
|
|
@@ -20900,8 +20956,10 @@ var StatusSingleEditor = ({
|
|
|
20900
20956
|
options,
|
|
20901
20957
|
value,
|
|
20902
20958
|
isDisabled,
|
|
20959
|
+
readOnly,
|
|
20903
20960
|
onChange
|
|
20904
20961
|
}) => {
|
|
20962
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20905
20963
|
return /* @__PURE__ */ jsx121(
|
|
20906
20964
|
InputComboBox,
|
|
20907
20965
|
{
|
|
@@ -20912,11 +20970,12 @@ var StatusSingleEditor = ({
|
|
|
20912
20970
|
},
|
|
20913
20971
|
formatOptionLabel: CustomOptions,
|
|
20914
20972
|
value,
|
|
20915
|
-
isDisabled
|
|
20973
|
+
isDisabled,
|
|
20974
|
+
...readOnlyProps
|
|
20916
20975
|
}
|
|
20917
20976
|
);
|
|
20918
20977
|
};
|
|
20919
|
-
var TextEditor = ({ onChange, ariaLabel, value }) => {
|
|
20978
|
+
var TextEditor = ({ onChange, ariaLabel, value, readOnly }) => {
|
|
20920
20979
|
useDebounce3(() => onChange, 500, [value]);
|
|
20921
20980
|
return /* @__PURE__ */ jsx121(
|
|
20922
20981
|
Input,
|
|
@@ -20925,11 +20984,12 @@ var TextEditor = ({ onChange, ariaLabel, value }) => {
|
|
|
20925
20984
|
label: ariaLabel,
|
|
20926
20985
|
onChange: (e) => onChange(e.currentTarget.value),
|
|
20927
20986
|
placeholder: "Enter phrase to search\u2026",
|
|
20928
|
-
value
|
|
20987
|
+
value,
|
|
20988
|
+
readOnly
|
|
20929
20989
|
}
|
|
20930
20990
|
);
|
|
20931
20991
|
};
|
|
20932
|
-
var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) => {
|
|
20992
|
+
var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value, readOnly }) => {
|
|
20933
20993
|
const [minValue, setMinValue] = useState18("");
|
|
20934
20994
|
const [maxValue, setMaxValue] = useState18("");
|
|
20935
20995
|
const [error, setError] = useState18("");
|
|
@@ -20952,7 +21012,7 @@ var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) =>
|
|
|
20952
21012
|
setError("");
|
|
20953
21013
|
onChange([minValue, maxValue]);
|
|
20954
21014
|
}, [maxValue, minValue, setError]);
|
|
20955
|
-
return /* @__PURE__ */ jsxs81(
|
|
21015
|
+
return /* @__PURE__ */ jsxs81("div", { css: twoColumnGrid, children: [
|
|
20956
21016
|
/* @__PURE__ */ jsx121(
|
|
20957
21017
|
Input,
|
|
20958
21018
|
{
|
|
@@ -20964,7 +21024,8 @@ var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) =>
|
|
|
20964
21024
|
onChange: (e) => setMinValue(e.currentTarget.value),
|
|
20965
21025
|
"aria-invalid": !error ? false : true,
|
|
20966
21026
|
disabled: disabled2,
|
|
20967
|
-
value: value ? value[0] : ""
|
|
21027
|
+
value: value ? value[0] : "",
|
|
21028
|
+
readOnly
|
|
20968
21029
|
}
|
|
20969
21030
|
),
|
|
20970
21031
|
/* @__PURE__ */ jsx121(
|
|
@@ -20978,13 +21039,14 @@ var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) =>
|
|
|
20978
21039
|
onChange: (e) => setMaxValue(e.currentTarget.value),
|
|
20979
21040
|
"aria-invalid": !error ? false : true,
|
|
20980
21041
|
disabled: disabled2,
|
|
20981
|
-
value: value ? value[1] : ""
|
|
21042
|
+
value: value ? value[1] : "",
|
|
21043
|
+
readOnly
|
|
20982
21044
|
}
|
|
20983
21045
|
),
|
|
20984
21046
|
/* @__PURE__ */ jsx121(ErrorContainer, { errorMessage: error })
|
|
20985
21047
|
] });
|
|
20986
21048
|
};
|
|
20987
|
-
var NumberEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
21049
|
+
var NumberEditor = ({ ariaLabel, onChange, disabled: disabled2, value, readOnly }) => {
|
|
20988
21050
|
return /* @__PURE__ */ jsx121(
|
|
20989
21051
|
Input,
|
|
20990
21052
|
{
|
|
@@ -20994,11 +21056,12 @@ var NumberEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
20994
21056
|
min: 0,
|
|
20995
21057
|
onChange: (e) => onChange(e.currentTarget.value),
|
|
20996
21058
|
disabled: disabled2,
|
|
20997
|
-
value
|
|
21059
|
+
value,
|
|
21060
|
+
readOnly
|
|
20998
21061
|
}
|
|
20999
21062
|
);
|
|
21000
21063
|
};
|
|
21001
|
-
var DateEditor = ({ onChange, ariaLabel, disabled: disabled2, value }) => {
|
|
21064
|
+
var DateEditor = ({ onChange, ariaLabel, disabled: disabled2, value, readOnly }) => {
|
|
21002
21065
|
return /* @__PURE__ */ jsx121(
|
|
21003
21066
|
Input,
|
|
21004
21067
|
{
|
|
@@ -21007,11 +21070,12 @@ var DateEditor = ({ onChange, ariaLabel, disabled: disabled2, value }) => {
|
|
|
21007
21070
|
showLabel: false,
|
|
21008
21071
|
onChange: (e) => onChange(e.currentTarget.value),
|
|
21009
21072
|
disabled: disabled2,
|
|
21010
|
-
value
|
|
21073
|
+
value,
|
|
21074
|
+
readOnly
|
|
21011
21075
|
}
|
|
21012
21076
|
);
|
|
21013
21077
|
};
|
|
21014
|
-
var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
21078
|
+
var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value, readOnly }) => {
|
|
21015
21079
|
const [minDateValue, setMinDateValue] = useState18(value ? value[0] : "");
|
|
21016
21080
|
const [maxDateValue, setMaxDateValue] = useState18(value ? value[1] : "");
|
|
21017
21081
|
const [error, setError] = useState18("");
|
|
@@ -21046,7 +21110,7 @@ var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
21046
21110
|
setError("");
|
|
21047
21111
|
onChange([minDateValue, maxDateValue]);
|
|
21048
21112
|
}, [minDateValue, maxDateValue, setError]);
|
|
21049
|
-
return /* @__PURE__ */ jsxs81(
|
|
21113
|
+
return /* @__PURE__ */ jsxs81("div", { css: twoColumnGrid, children: [
|
|
21050
21114
|
/* @__PURE__ */ jsx121(
|
|
21051
21115
|
Input,
|
|
21052
21116
|
{
|
|
@@ -21056,7 +21120,8 @@ var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
21056
21120
|
value: minDateValue,
|
|
21057
21121
|
onChange: (e) => setMinDateValue(e.currentTarget.value),
|
|
21058
21122
|
"aria-invalid": !error ? false : true,
|
|
21059
|
-
disabled: disabled2
|
|
21123
|
+
disabled: disabled2,
|
|
21124
|
+
readOnly
|
|
21060
21125
|
}
|
|
21061
21126
|
),
|
|
21062
21127
|
/* @__PURE__ */ jsx121(
|
|
@@ -21068,7 +21133,8 @@ var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
21068
21133
|
value: maxDateValue,
|
|
21069
21134
|
onChange: (e) => setMaxDateValue(e.currentTarget.value),
|
|
21070
21135
|
"aria-invalid": !error ? false : true,
|
|
21071
|
-
disabled: disabled2
|
|
21136
|
+
disabled: disabled2,
|
|
21137
|
+
readOnly
|
|
21072
21138
|
}
|
|
21073
21139
|
),
|
|
21074
21140
|
/* @__PURE__ */ jsx121(ErrorContainer, { errorMessage: error })
|
|
@@ -21108,6 +21174,11 @@ var ErrorContainer = ({ errorMessage }) => {
|
|
|
21108
21174
|
}
|
|
21109
21175
|
);
|
|
21110
21176
|
};
|
|
21177
|
+
var twoColumnGrid = {
|
|
21178
|
+
display: "grid",
|
|
21179
|
+
gridTemplateColumns: "1fr 1fr",
|
|
21180
|
+
gap: "var(--spacing-sm);"
|
|
21181
|
+
};
|
|
21111
21182
|
|
|
21112
21183
|
// src/components/SearchAndFilter/FilterMenu.tsx
|
|
21113
21184
|
import React24, { useEffect as useEffect20 } from "react";
|
|
@@ -21156,7 +21227,7 @@ var FilterMenu = ({ id, filterTitle = "Show records", menuControls, children })
|
|
|
21156
21227
|
};
|
|
21157
21228
|
|
|
21158
21229
|
// src/components/SearchAndFilter/FilterItem.tsx
|
|
21159
|
-
import { Fragment as
|
|
21230
|
+
import { Fragment as Fragment20, jsx as jsx123, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
|
|
21160
21231
|
var FilterItem = ({
|
|
21161
21232
|
index,
|
|
21162
21233
|
paramOptions,
|
|
@@ -21172,15 +21243,16 @@ var FilterItem = ({
|
|
|
21172
21243
|
const operatorLabel = filters[index].operator !== "" ? `operator ${filters[index].operator}` : "unknown operator";
|
|
21173
21244
|
const metaDataLabel = filters[index].value !== "" ? `value ${filters[index].value}` : "unknown value";
|
|
21174
21245
|
const metaDataPossibleOptions = (_b = (_a = operatorOptions.find((op) => filters[index].operator === op.value)) == null ? void 0 : _a.editorType) != null ? _b : "singleChoice";
|
|
21175
|
-
const { selectedFieldValue, selectedOperatorValue, selectedMetaValue } = useMemo7(() => {
|
|
21176
|
-
var _a2
|
|
21246
|
+
const { selectedFieldValue, selectedOperatorValue, selectedMetaValue, readOnly } = useMemo7(() => {
|
|
21247
|
+
var _a2;
|
|
21177
21248
|
const currentSelectedFilter = filterOptions.find((item) => {
|
|
21178
21249
|
var _a3;
|
|
21179
21250
|
return (_a3 = item.options) == null ? void 0 : _a3.find((op) => op.value === filters[index].field);
|
|
21180
21251
|
});
|
|
21181
|
-
const selectedFieldValue2 = (
|
|
21252
|
+
const selectedFieldValue2 = (_a2 = currentSelectedFilter == null ? void 0 : currentSelectedFilter.options) == null ? void 0 : _a2.find((item) => {
|
|
21182
21253
|
return filters[index].field === item.value;
|
|
21183
|
-
})
|
|
21254
|
+
});
|
|
21255
|
+
const isCurrentFieldReadOnly = selectedFieldValue2 == null ? void 0 : selectedFieldValue2.readOnly;
|
|
21184
21256
|
const selectedOperatorValue2 = operatorOptions == null ? void 0 : operatorOptions.find((item) => {
|
|
21185
21257
|
return filters[index].operator === item.value;
|
|
21186
21258
|
});
|
|
@@ -21193,9 +21265,16 @@ var FilterItem = ({
|
|
|
21193
21265
|
return {
|
|
21194
21266
|
selectedFieldValue: selectedFieldValue2,
|
|
21195
21267
|
selectedOperatorValue: selectedOperatorValue2 != null ? selectedOperatorValue2 : void 0,
|
|
21196
|
-
selectedMetaValue: selectedMetaValue2.length > 0 ? selectedMetaValue2 : filters[index].value
|
|
21268
|
+
selectedMetaValue: selectedMetaValue2.length > 0 ? selectedMetaValue2 : filters[index].value,
|
|
21269
|
+
readOnly: isCurrentFieldReadOnly
|
|
21197
21270
|
};
|
|
21198
21271
|
}, [filters, filterOptions, index, operatorOptions, valueOptions]);
|
|
21272
|
+
const readOnlyProps = readOnly ? {
|
|
21273
|
+
"aria-readonly": true,
|
|
21274
|
+
isSearchable: false,
|
|
21275
|
+
menuIsOpen: false,
|
|
21276
|
+
isClearable: false
|
|
21277
|
+
} : {};
|
|
21199
21278
|
return /* @__PURE__ */ jsxs83("div", { css: ConditionalFilterRow, children: [
|
|
21200
21279
|
/* @__PURE__ */ jsx123("span", { children: index === 0 ? "where" : "and" }),
|
|
21201
21280
|
/* @__PURE__ */ jsxs83("div", { css: ConditionalInputRow, children: [
|
|
@@ -21208,7 +21287,8 @@ var FilterItem = ({
|
|
|
21208
21287
|
var _a2;
|
|
21209
21288
|
onParamChange((_a2 = e == null ? void 0 : e.value) != null ? _a2 : "");
|
|
21210
21289
|
},
|
|
21211
|
-
value: selectedFieldValue
|
|
21290
|
+
value: selectedFieldValue,
|
|
21291
|
+
...readOnlyProps
|
|
21212
21292
|
}
|
|
21213
21293
|
),
|
|
21214
21294
|
/* @__PURE__ */ jsx123(
|
|
@@ -21221,7 +21301,8 @@ var FilterItem = ({
|
|
|
21221
21301
|
return onOperatorChange((_a2 = e == null ? void 0 : e.value) != null ? _a2 : "");
|
|
21222
21302
|
},
|
|
21223
21303
|
isDisabled: !filters[index].field,
|
|
21224
|
-
value: selectedOperatorValue
|
|
21304
|
+
value: selectedOperatorValue,
|
|
21305
|
+
...readOnlyProps
|
|
21225
21306
|
}
|
|
21226
21307
|
),
|
|
21227
21308
|
/* @__PURE__ */ jsx123(
|
|
@@ -21231,6 +21312,7 @@ var FilterItem = ({
|
|
|
21231
21312
|
editorType: metaDataPossibleOptions,
|
|
21232
21313
|
options: valueOptions,
|
|
21233
21314
|
onChange: (e) => onValueChange(e != null ? e : ""),
|
|
21315
|
+
readOnly,
|
|
21234
21316
|
isDisabled: !filters[index].operator,
|
|
21235
21317
|
value: selectedMetaValue
|
|
21236
21318
|
}
|
|
@@ -21252,15 +21334,7 @@ var FilterItems = ({
|
|
|
21252
21334
|
addButtonText = "add condition",
|
|
21253
21335
|
resetButtonText = "reset filters"
|
|
21254
21336
|
}) => {
|
|
21255
|
-
const {
|
|
21256
|
-
filterOptions,
|
|
21257
|
-
filters,
|
|
21258
|
-
setFilters,
|
|
21259
|
-
handleAddFilter,
|
|
21260
|
-
handleResetFilters,
|
|
21261
|
-
setFilterVisibility,
|
|
21262
|
-
validFilterQuery
|
|
21263
|
-
} = useSearchAndFilter();
|
|
21337
|
+
const { filterOptions, filters, setFilters, handleAddFilter, handleResetFilters, setFilterVisibility } = useSearchAndFilter();
|
|
21264
21338
|
const handleUpdateFilter = (index, prop, value) => {
|
|
21265
21339
|
const next = [...filters];
|
|
21266
21340
|
next[index] = { ...next[index], [prop]: value };
|
|
@@ -21283,21 +21357,12 @@ var FilterItems = ({
|
|
|
21283
21357
|
FilterMenu,
|
|
21284
21358
|
{
|
|
21285
21359
|
id: "search-and-filter-options",
|
|
21286
|
-
menuControls: /* @__PURE__ */ jsxs83(
|
|
21287
|
-
/* @__PURE__ */ jsxs83(
|
|
21288
|
-
"
|
|
21289
|
-
|
|
21290
|
-
|
|
21291
|
-
|
|
21292
|
-
onClick: handleAddFilter,
|
|
21293
|
-
disabled: !validFilterQuery,
|
|
21294
|
-
children: [
|
|
21295
|
-
/* @__PURE__ */ jsx123(Icon, { icon: "math-plus", iconColor: !validFilterQuery ? "currentColor" : "gray", size: "1rem" }),
|
|
21296
|
-
addButtonText
|
|
21297
|
-
]
|
|
21298
|
-
}
|
|
21299
|
-
),
|
|
21300
|
-
(validFilterQuery == null ? void 0 : validFilterQuery.length) ? /* @__PURE__ */ jsx123(
|
|
21360
|
+
menuControls: /* @__PURE__ */ jsxs83(Fragment20, { children: [
|
|
21361
|
+
/* @__PURE__ */ jsxs83("button", { type: "button", css: AddConditionalBtn, onClick: handleAddFilter, children: [
|
|
21362
|
+
/* @__PURE__ */ jsx123(Icon, { icon: "math-plus", iconColor: "currentColor", size: "1rem" }),
|
|
21363
|
+
addButtonText
|
|
21364
|
+
] }),
|
|
21365
|
+
(filters == null ? void 0 : filters.length) ? /* @__PURE__ */ jsx123(
|
|
21301
21366
|
"button",
|
|
21302
21367
|
{
|
|
21303
21368
|
type: "button",
|
|
@@ -21592,26 +21657,54 @@ var FilterModeView = () => {
|
|
|
21592
21657
|
};
|
|
21593
21658
|
|
|
21594
21659
|
// src/components/SearchAndFilter/SearchAndFilterResultContainer.tsx
|
|
21595
|
-
import { Fragment as
|
|
21660
|
+
import { Fragment as Fragment21, jsx as jsx127, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
|
|
21596
21661
|
var SearchAndFilterResultContainer = ({
|
|
21597
|
-
|
|
21662
|
+
buttonText,
|
|
21663
|
+
clearButtonLabel = "clear",
|
|
21664
|
+
calloutTitle: calloutTitle2,
|
|
21665
|
+
calloutText,
|
|
21666
|
+
onHandleClear
|
|
21598
21667
|
}) => {
|
|
21599
|
-
const { searchTerm, setSearchTerm, totalResults } = useSearchAndFilter();
|
|
21600
|
-
|
|
21668
|
+
const { searchTerm, setSearchTerm, totalResults, setFilters, filters } = useSearchAndFilter();
|
|
21669
|
+
const automateCalloutTitle = () => {
|
|
21670
|
+
if (searchTerm && !filters.length) {
|
|
21671
|
+
return "No search results found";
|
|
21672
|
+
}
|
|
21673
|
+
if (filters.length && !searchTerm) {
|
|
21674
|
+
return "No results match the selected filters";
|
|
21675
|
+
}
|
|
21676
|
+
return "No matching results found";
|
|
21677
|
+
};
|
|
21678
|
+
const handleResetFilters = () => {
|
|
21679
|
+
if (searchTerm && !filters.length) {
|
|
21680
|
+
setSearchTerm("");
|
|
21681
|
+
return;
|
|
21682
|
+
} else if (!searchTerm && filters.length) {
|
|
21683
|
+
setFilters([{ field: "", operator: "", value: "" }]);
|
|
21684
|
+
return;
|
|
21685
|
+
} else {
|
|
21686
|
+
setSearchTerm("");
|
|
21687
|
+
setFilters([{ field: "", operator: "", value: "" }]);
|
|
21688
|
+
return;
|
|
21689
|
+
}
|
|
21690
|
+
};
|
|
21691
|
+
if (totalResults && totalResults > 0) {
|
|
21692
|
+
return null;
|
|
21693
|
+
}
|
|
21694
|
+
return /* @__PURE__ */ jsxs86(Fragment21, { children: [
|
|
21601
21695
|
/* @__PURE__ */ jsxs86(HorizontalRhythm, { children: [
|
|
21602
21696
|
/* @__PURE__ */ jsxs86("span", { children: [
|
|
21603
21697
|
totalResults,
|
|
21604
|
-
" results
|
|
21605
|
-
|
|
21606
|
-
'"',
|
|
21607
|
-
searchTerm,
|
|
21608
|
-
'"'
|
|
21609
|
-
] })
|
|
21698
|
+
" results ",
|
|
21699
|
+
searchTerm ? `for "${searchTerm}"` : null
|
|
21610
21700
|
] }),
|
|
21611
|
-
/* @__PURE__ */ jsx127(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
|
|
21701
|
+
!searchTerm ? null : /* @__PURE__ */ jsx127(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
|
|
21612
21702
|
] }),
|
|
21613
|
-
totalResults === 0 ? /* @__PURE__ */
|
|
21614
|
-
|
|
21703
|
+
totalResults === 0 ? /* @__PURE__ */ jsxs86(Callout, { title: calloutTitle2 != null ? calloutTitle2 : automateCalloutTitle(), type: "note", children: [
|
|
21704
|
+
calloutText ? /* @__PURE__ */ jsx127(Paragraph, { children: calloutText }) : null,
|
|
21705
|
+
/* @__PURE__ */ jsx127(Button, { buttonType: "tertiaryOutline", size: "xs", onClick: onHandleClear != null ? onHandleClear : handleResetFilters, children: buttonText != null ? buttonText : "Clear search" })
|
|
21706
|
+
] }) : null
|
|
21707
|
+
] });
|
|
21615
21708
|
};
|
|
21616
21709
|
|
|
21617
21710
|
// src/components/SearchAndFilter/SearchAndFilter.tsx
|
|
@@ -21619,10 +21712,12 @@ import { jsx as jsx128, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
|
|
|
21619
21712
|
var SearchAndFilter = ({
|
|
21620
21713
|
filters,
|
|
21621
21714
|
filterOptions,
|
|
21715
|
+
filterMode: filterMode3,
|
|
21622
21716
|
sortOptions,
|
|
21623
21717
|
defaultSortByValue,
|
|
21624
|
-
filterControls
|
|
21718
|
+
filterControls,
|
|
21625
21719
|
viewSwitchControls,
|
|
21720
|
+
resultsContainerView = /* @__PURE__ */ jsx128(SearchAndFilterResultContainer, {}),
|
|
21626
21721
|
children = /* @__PURE__ */ jsx128(FilterModeView, {}),
|
|
21627
21722
|
onChange,
|
|
21628
21723
|
onSearchChange,
|
|
@@ -21634,6 +21729,7 @@ var SearchAndFilter = ({
|
|
|
21634
21729
|
{
|
|
21635
21730
|
filters,
|
|
21636
21731
|
filterOptions,
|
|
21732
|
+
filterMode: filterMode3,
|
|
21637
21733
|
defaultSortByValue,
|
|
21638
21734
|
sortOptions,
|
|
21639
21735
|
onChange,
|
|
@@ -21641,17 +21737,66 @@ var SearchAndFilter = ({
|
|
|
21641
21737
|
onSortChange,
|
|
21642
21738
|
totalResults,
|
|
21643
21739
|
children: /* @__PURE__ */ jsxs87(VerticalRhythm, { css: SearchAndFilterContainer, "data-testid": "search-and-filter", children: [
|
|
21644
|
-
/* @__PURE__ */ jsxs87("div", { css: SearchAndFilterOutterControlWrapper, children: [
|
|
21645
|
-
/* @__PURE__ */ jsx128(
|
|
21740
|
+
/* @__PURE__ */ jsxs87("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
|
|
21741
|
+
/* @__PURE__ */ jsx128(
|
|
21742
|
+
"div",
|
|
21743
|
+
{
|
|
21744
|
+
css: SearchAndFilterControlsWrapper(
|
|
21745
|
+
viewSwitchControls ? "auto auto 1fr 0.5fr" : "auto auto 1fr"
|
|
21746
|
+
),
|
|
21747
|
+
children: !filterControls ? /* @__PURE__ */ jsx128(FilterControls, { hideSearchInput: !onSearchChange }) : filterControls
|
|
21748
|
+
}
|
|
21749
|
+
),
|
|
21646
21750
|
viewSwitchControls
|
|
21647
21751
|
] }),
|
|
21648
21752
|
children,
|
|
21649
|
-
|
|
21753
|
+
resultsContainerView
|
|
21650
21754
|
] })
|
|
21651
21755
|
}
|
|
21652
21756
|
);
|
|
21653
21757
|
};
|
|
21654
21758
|
|
|
21759
|
+
// src/components/SearchAndFilter/SearchOnlyFilter.tsx
|
|
21760
|
+
import { createContext as createContext7, useState as useState19 } from "react";
|
|
21761
|
+
import { useDebounce as useDebounce4 } from "react-use";
|
|
21762
|
+
import { jsx as jsx129 } from "@emotion/react/jsx-runtime";
|
|
21763
|
+
var SearchOnlyContext = createContext7({
|
|
21764
|
+
searchTerm: "",
|
|
21765
|
+
setSearchTerm: () => {
|
|
21766
|
+
}
|
|
21767
|
+
});
|
|
21768
|
+
var SearchOnlyFilter = ({ onSearchChange, maxWidth }) => {
|
|
21769
|
+
const { searchTerm, setSearchTerm } = useSearchAndFilter();
|
|
21770
|
+
const [localeSearchTerm, setLocaleSearchTerm] = useState19("");
|
|
21771
|
+
useDebounce4(
|
|
21772
|
+
() => {
|
|
21773
|
+
setSearchTerm(localeSearchTerm);
|
|
21774
|
+
onSearchChange == null ? void 0 : onSearchChange(localeSearchTerm);
|
|
21775
|
+
},
|
|
21776
|
+
300,
|
|
21777
|
+
[localeSearchTerm]
|
|
21778
|
+
);
|
|
21779
|
+
return /* @__PURE__ */ jsx129(
|
|
21780
|
+
SearchOnlyContext.Provider,
|
|
21781
|
+
{
|
|
21782
|
+
value: {
|
|
21783
|
+
searchTerm,
|
|
21784
|
+
setSearchTerm: setLocaleSearchTerm
|
|
21785
|
+
},
|
|
21786
|
+
children: /* @__PURE__ */ jsx129("div", { css: { maxWidth: maxWidth != null ? maxWidth : "712px" }, children: /* @__PURE__ */ jsx129(
|
|
21787
|
+
InputKeywordSearch,
|
|
21788
|
+
{
|
|
21789
|
+
placeholder: "Search...",
|
|
21790
|
+
onSearchTextChanged: (e) => setLocaleSearchTerm(e),
|
|
21791
|
+
value: localeSearchTerm,
|
|
21792
|
+
compact: true,
|
|
21793
|
+
rounded: true
|
|
21794
|
+
}
|
|
21795
|
+
) })
|
|
21796
|
+
}
|
|
21797
|
+
);
|
|
21798
|
+
};
|
|
21799
|
+
|
|
21655
21800
|
// src/components/Skeleton/Skeleton.styles.ts
|
|
21656
21801
|
import { css as css96, keyframes as keyframes5 } from "@emotion/react";
|
|
21657
21802
|
var lightFadingOut = keyframes5`
|
|
@@ -21664,7 +21809,7 @@ var skeletonStyles = css96`
|
|
|
21664
21809
|
`;
|
|
21665
21810
|
|
|
21666
21811
|
// src/components/Skeleton/Skeleton.tsx
|
|
21667
|
-
import { jsx as
|
|
21812
|
+
import { jsx as jsx130 } from "@emotion/react/jsx-runtime";
|
|
21668
21813
|
var Skeleton = ({
|
|
21669
21814
|
width = "100%",
|
|
21670
21815
|
height = "1.25rem",
|
|
@@ -21672,7 +21817,7 @@ var Skeleton = ({
|
|
|
21672
21817
|
circle = false,
|
|
21673
21818
|
children,
|
|
21674
21819
|
...otherProps
|
|
21675
|
-
}) => /* @__PURE__ */
|
|
21820
|
+
}) => /* @__PURE__ */ jsx130(
|
|
21676
21821
|
"div",
|
|
21677
21822
|
{
|
|
21678
21823
|
css: [
|
|
@@ -21779,19 +21924,19 @@ var SwitchText = css97`
|
|
|
21779
21924
|
`;
|
|
21780
21925
|
|
|
21781
21926
|
// src/components/Switch/Switch.tsx
|
|
21782
|
-
import { Fragment as
|
|
21927
|
+
import { Fragment as Fragment22, jsx as jsx131, jsxs as jsxs88 } from "@emotion/react/jsx-runtime";
|
|
21783
21928
|
var Switch = React26.forwardRef(
|
|
21784
21929
|
({ label, infoText, toggleText, children, ...inputProps }, ref) => {
|
|
21785
21930
|
let additionalText = infoText;
|
|
21786
21931
|
if (infoText && toggleText) {
|
|
21787
21932
|
additionalText = inputProps.checked ? toggleText : infoText;
|
|
21788
21933
|
}
|
|
21789
|
-
return /* @__PURE__ */ jsxs88(
|
|
21934
|
+
return /* @__PURE__ */ jsxs88(Fragment22, { children: [
|
|
21790
21935
|
/* @__PURE__ */ jsxs88("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
|
|
21791
|
-
/* @__PURE__ */
|
|
21792
|
-
/* @__PURE__ */
|
|
21936
|
+
/* @__PURE__ */ jsx131("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
|
|
21937
|
+
/* @__PURE__ */ jsx131("span", { css: SwitchInputLabel, children: label })
|
|
21793
21938
|
] }),
|
|
21794
|
-
additionalText ? /* @__PURE__ */
|
|
21939
|
+
additionalText ? /* @__PURE__ */ jsx131("p", { css: SwitchText, children: additionalText }) : null,
|
|
21795
21940
|
children
|
|
21796
21941
|
] });
|
|
21797
21942
|
}
|
|
@@ -21828,40 +21973,40 @@ var tableCellHead = css98`
|
|
|
21828
21973
|
`;
|
|
21829
21974
|
|
|
21830
21975
|
// src/components/Table/Table.tsx
|
|
21831
|
-
import { jsx as
|
|
21976
|
+
import { jsx as jsx132 } from "@emotion/react/jsx-runtime";
|
|
21832
21977
|
var Table = React27.forwardRef(
|
|
21833
21978
|
({ children, cellPadding, ...otherProps }, ref) => {
|
|
21834
|
-
return /* @__PURE__ */
|
|
21979
|
+
return /* @__PURE__ */ jsx132("table", { ref, css: table({ cellPadding }), ...otherProps, children });
|
|
21835
21980
|
}
|
|
21836
21981
|
);
|
|
21837
21982
|
var TableHead = React27.forwardRef(
|
|
21838
21983
|
({ children, ...otherProps }, ref) => {
|
|
21839
|
-
return /* @__PURE__ */
|
|
21984
|
+
return /* @__PURE__ */ jsx132("thead", { ref, css: tableHead, ...otherProps, children });
|
|
21840
21985
|
}
|
|
21841
21986
|
);
|
|
21842
21987
|
var TableBody = React27.forwardRef(
|
|
21843
21988
|
({ children, ...otherProps }, ref) => {
|
|
21844
|
-
return /* @__PURE__ */
|
|
21989
|
+
return /* @__PURE__ */ jsx132("tbody", { ref, ...otherProps, children });
|
|
21845
21990
|
}
|
|
21846
21991
|
);
|
|
21847
21992
|
var TableFoot = React27.forwardRef(
|
|
21848
21993
|
({ children, ...otherProps }, ref) => {
|
|
21849
|
-
return /* @__PURE__ */
|
|
21994
|
+
return /* @__PURE__ */ jsx132("tfoot", { ref, ...otherProps, children });
|
|
21850
21995
|
}
|
|
21851
21996
|
);
|
|
21852
21997
|
var TableRow = React27.forwardRef(
|
|
21853
21998
|
({ children, ...otherProps }, ref) => {
|
|
21854
|
-
return /* @__PURE__ */
|
|
21999
|
+
return /* @__PURE__ */ jsx132("tr", { ref, css: tableRow, ...otherProps, children });
|
|
21855
22000
|
}
|
|
21856
22001
|
);
|
|
21857
22002
|
var TableCellHead = React27.forwardRef(
|
|
21858
22003
|
({ children, ...otherProps }, ref) => {
|
|
21859
|
-
return /* @__PURE__ */
|
|
22004
|
+
return /* @__PURE__ */ jsx132("th", { ref, css: tableCellHead, ...otherProps, children });
|
|
21860
22005
|
}
|
|
21861
22006
|
);
|
|
21862
22007
|
var TableCellData = React27.forwardRef(
|
|
21863
22008
|
({ children, ...otherProps }, ref) => {
|
|
21864
|
-
return /* @__PURE__ */
|
|
22009
|
+
return /* @__PURE__ */ jsx132("td", { ref, ...otherProps, children });
|
|
21865
22010
|
}
|
|
21866
22011
|
);
|
|
21867
22012
|
|
|
@@ -21901,7 +22046,7 @@ var tabButtonGroupStyles = css99`
|
|
|
21901
22046
|
`;
|
|
21902
22047
|
|
|
21903
22048
|
// src/components/Tabs/Tabs.tsx
|
|
21904
|
-
import { jsx as
|
|
22049
|
+
import { jsx as jsx133 } from "@emotion/react/jsx-runtime";
|
|
21905
22050
|
var useCurrentTab = () => {
|
|
21906
22051
|
const context = useAriakitTabStore();
|
|
21907
22052
|
if (!context) {
|
|
@@ -21939,23 +22084,23 @@ var Tabs = ({
|
|
|
21939
22084
|
tab.setSelectedId(selected);
|
|
21940
22085
|
}
|
|
21941
22086
|
}, [selected, tab]);
|
|
21942
|
-
return /* @__PURE__ */
|
|
22087
|
+
return /* @__PURE__ */ jsx133(AriakitTabProvider, { store: tab, setSelectedId: onTabSelect, children });
|
|
21943
22088
|
};
|
|
21944
22089
|
var TabButtonGroup = ({ children, ...props }) => {
|
|
21945
|
-
return /* @__PURE__ */
|
|
22090
|
+
return /* @__PURE__ */ jsx133(AriakitTabList, { ...props, css: tabButtonGroupStyles, children });
|
|
21946
22091
|
};
|
|
21947
22092
|
var TabButton = ({
|
|
21948
22093
|
children,
|
|
21949
22094
|
id,
|
|
21950
22095
|
...props
|
|
21951
22096
|
}) => {
|
|
21952
|
-
return /* @__PURE__ */
|
|
22097
|
+
return /* @__PURE__ */ jsx133(AriakitTab, { type: "button", id, ...props, css: tabButtonStyles, children });
|
|
21953
22098
|
};
|
|
21954
22099
|
var TabContent = ({
|
|
21955
22100
|
children,
|
|
21956
22101
|
...props
|
|
21957
22102
|
}) => {
|
|
21958
|
-
return /* @__PURE__ */
|
|
22103
|
+
return /* @__PURE__ */ jsx133(AriakitTabPanel, { ...props, children });
|
|
21959
22104
|
};
|
|
21960
22105
|
|
|
21961
22106
|
// src/components/Toast/Toast.tsx
|
|
@@ -22186,9 +22331,9 @@ var toastContainerStyles = css100`
|
|
|
22186
22331
|
`;
|
|
22187
22332
|
|
|
22188
22333
|
// src/components/Toast/Toast.tsx
|
|
22189
|
-
import { jsx as
|
|
22334
|
+
import { jsx as jsx134 } from "@emotion/react/jsx-runtime";
|
|
22190
22335
|
var ToastContainer = ({ limit = 4 }) => {
|
|
22191
|
-
return /* @__PURE__ */
|
|
22336
|
+
return /* @__PURE__ */ jsx134(
|
|
22192
22337
|
ToastifyContainer,
|
|
22193
22338
|
{
|
|
22194
22339
|
css: toastContainerStyles,
|
|
@@ -22333,6 +22478,8 @@ export {
|
|
|
22333
22478
|
SearchAndFilterOptionsContainer2 as SearchAndFilterOptionsContainer,
|
|
22334
22479
|
SearchAndFilterProvider,
|
|
22335
22480
|
SearchAndFilterResultContainer,
|
|
22481
|
+
SearchOnlyContext,
|
|
22482
|
+
SearchOnlyFilter,
|
|
22336
22483
|
SegmentedControl,
|
|
22337
22484
|
ShortcutContext,
|
|
22338
22485
|
ShortcutRevealer,
|