@uniformdev/design-system 19.119.0 → 19.122.1-alpha.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 +307 -123
- package/dist/index.d.mts +46 -13
- package/dist/index.d.ts +46 -13
- package/dist/index.js +332 -144
- 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) => {
|
|
@@ -20240,6 +20272,23 @@ var TEXTBOX_OPERATORS = [
|
|
|
20240
20272
|
editorType: "empty"
|
|
20241
20273
|
}
|
|
20242
20274
|
];
|
|
20275
|
+
var USER_OPERATORS = [
|
|
20276
|
+
{
|
|
20277
|
+
label: "is...",
|
|
20278
|
+
value: "eq",
|
|
20279
|
+
editorType: "text"
|
|
20280
|
+
},
|
|
20281
|
+
{
|
|
20282
|
+
label: "contains...",
|
|
20283
|
+
value: "match",
|
|
20284
|
+
editorType: "text"
|
|
20285
|
+
},
|
|
20286
|
+
{
|
|
20287
|
+
label: "is not...",
|
|
20288
|
+
value: "neq",
|
|
20289
|
+
editorType: "text"
|
|
20290
|
+
}
|
|
20291
|
+
];
|
|
20243
20292
|
var RICHTEXT_OPERATORS = [
|
|
20244
20293
|
{
|
|
20245
20294
|
label: "is empty...",
|
|
@@ -20295,16 +20344,16 @@ var SYSTEM_FIELD_OPERATORS = [
|
|
|
20295
20344
|
// src/components/SearchAndFilter/styles/SearchAndFilter.styles.ts
|
|
20296
20345
|
import { css as css92 } from "@emotion/react";
|
|
20297
20346
|
var SearchAndFilterContainer = css92``;
|
|
20298
|
-
var SearchAndFilterControlsWrapper = css92`
|
|
20347
|
+
var SearchAndFilterControlsWrapper = (gridColumns) => css92`
|
|
20299
20348
|
align-items: stretch;
|
|
20300
20349
|
display: grid;
|
|
20301
|
-
grid-template-columns:
|
|
20350
|
+
grid-template-columns: ${gridColumns};
|
|
20302
20351
|
gap: var(--spacing-sm);
|
|
20303
20352
|
`;
|
|
20304
|
-
var SearchAndFilterOutterControlWrapper = css92`
|
|
20353
|
+
var SearchAndFilterOutterControlWrapper = (gridColumns) => css92`
|
|
20305
20354
|
align-items: stretch;
|
|
20306
20355
|
display: grid;
|
|
20307
|
-
grid-template-columns:
|
|
20356
|
+
grid-template-columns: ${gridColumns};
|
|
20308
20357
|
gap: var(--spacing-sm);
|
|
20309
20358
|
`;
|
|
20310
20359
|
var ConditionalFilterRow = css92`
|
|
@@ -20337,7 +20386,7 @@ var ConditionalInputRow = css92`
|
|
|
20337
20386
|
}
|
|
20338
20387
|
${cq("580px")} {
|
|
20339
20388
|
display: grid;
|
|
20340
|
-
grid-template-columns: 200px 160px
|
|
20389
|
+
grid-template-columns: 200px 160px 1fr 32px;
|
|
20341
20390
|
}
|
|
20342
20391
|
`;
|
|
20343
20392
|
var SearchInput = css92`
|
|
@@ -20381,6 +20430,12 @@ var FilterButton = css92`
|
|
|
20381
20430
|
opacity: var(--opacity-50);
|
|
20382
20431
|
}
|
|
20383
20432
|
`;
|
|
20433
|
+
var FilterButtonText = css92`
|
|
20434
|
+
overflow: hidden;
|
|
20435
|
+
text-overflow: ellipsis;
|
|
20436
|
+
white-space: nowrap;
|
|
20437
|
+
max-width: 14ch;
|
|
20438
|
+
`;
|
|
20384
20439
|
var FilterButtonSelected = css92`
|
|
20385
20440
|
background: var(--gray-100);
|
|
20386
20441
|
border-color: var(--gray-300);
|
|
@@ -20472,7 +20527,7 @@ var SearchAndFilterOptionsContainer = css92`
|
|
|
20472
20527
|
padding: var(--spacing-md) var(--spacing-md) var(--spacing-base);
|
|
20473
20528
|
will-change: height;
|
|
20474
20529
|
position: relative;
|
|
20475
|
-
z-index:
|
|
20530
|
+
z-index: 2;
|
|
20476
20531
|
`;
|
|
20477
20532
|
var SearchAndFilterOptionsInnerContainer = css92`
|
|
20478
20533
|
display: flex;
|
|
@@ -20505,7 +20560,7 @@ var FilterButton2 = ({
|
|
|
20505
20560
|
"data-testid": "filters-button",
|
|
20506
20561
|
children: [
|
|
20507
20562
|
/* @__PURE__ */ jsx117(Icon, { icon, iconColor: "currentColor", size: "1rem" }),
|
|
20508
|
-
text,
|
|
20563
|
+
/* @__PURE__ */ jsx117("span", { css: FilterButtonText, children: text }),
|
|
20509
20564
|
filterCount ? /* @__PURE__ */ jsx117(Counter, { count: filterCount, bgColor: "var(--white)" }) : null
|
|
20510
20565
|
]
|
|
20511
20566
|
}
|
|
@@ -20556,6 +20611,7 @@ var SearchAndFilterProvider = ({
|
|
|
20556
20611
|
filterOptions,
|
|
20557
20612
|
sortOptions,
|
|
20558
20613
|
defaultSortByValue,
|
|
20614
|
+
filterMode: filterMode3 = void 0,
|
|
20559
20615
|
onSearchChange,
|
|
20560
20616
|
onChange,
|
|
20561
20617
|
onSortChange,
|
|
@@ -20564,12 +20620,12 @@ var SearchAndFilterProvider = ({
|
|
|
20564
20620
|
}) => {
|
|
20565
20621
|
const [searchTerm, setSearchTerm] = useState16("");
|
|
20566
20622
|
const deferredSearchTerm = useDeferredValue2(searchTerm);
|
|
20567
|
-
const [filterVisibility, setFilterVisibility] = useState16(
|
|
20623
|
+
const [filterVisibility, setFilterVisibility] = useState16(filterMode3);
|
|
20568
20624
|
const [sortByValue, setSortByValue] = useState16(defaultSortByValue);
|
|
20569
20625
|
const handleSearchTerm = useCallback10(
|
|
20570
20626
|
(term) => {
|
|
20571
20627
|
setSearchTerm(term);
|
|
20572
|
-
onSearchChange(term);
|
|
20628
|
+
onSearchChange == null ? void 0 : onSearchChange(term);
|
|
20573
20629
|
},
|
|
20574
20630
|
[setSearchTerm, onSearchChange]
|
|
20575
20631
|
);
|
|
@@ -20648,9 +20704,20 @@ var useSearchAndFilter = () => {
|
|
|
20648
20704
|
// src/components/SearchAndFilter/FilterControls.tsx
|
|
20649
20705
|
import { Fragment as Fragment19, jsx as jsx119, jsxs as jsxs80 } from "@emotion/react/jsx-runtime";
|
|
20650
20706
|
var FilterControls = ({
|
|
20651
|
-
children
|
|
20707
|
+
children,
|
|
20708
|
+
defaultSortByValue,
|
|
20709
|
+
hideSearchInput
|
|
20652
20710
|
}) => {
|
|
20653
|
-
|
|
20711
|
+
var _a, _b, _c;
|
|
20712
|
+
const {
|
|
20713
|
+
setFilterVisibility,
|
|
20714
|
+
filterVisibility,
|
|
20715
|
+
setSearchTerm,
|
|
20716
|
+
validFilterQuery,
|
|
20717
|
+
searchTerm,
|
|
20718
|
+
sortByValue,
|
|
20719
|
+
filterOptions
|
|
20720
|
+
} = useSearchAndFilter();
|
|
20654
20721
|
const [localeSearchTerm, setLocaleSearchTerm] = useState17("");
|
|
20655
20722
|
useDebounce2(
|
|
20656
20723
|
() => {
|
|
@@ -20670,9 +20737,12 @@ var FilterControls = ({
|
|
|
20670
20737
|
}
|
|
20671
20738
|
return setFilterVisibility(mode);
|
|
20672
20739
|
};
|
|
20673
|
-
const
|
|
20674
|
-
const
|
|
20675
|
-
const
|
|
20740
|
+
const sortValue = (sortByValue != null ? sortByValue : defaultSortByValue).split("_");
|
|
20741
|
+
const sortDirection = sortValue == null ? void 0 : sortValue.pop();
|
|
20742
|
+
const sortField = sortValue == null ? void 0 : sortValue.join("_");
|
|
20743
|
+
const sortOn = sortField.startsWith("fields.") ? "contentTypeFields" : "metadata";
|
|
20744
|
+
const sortByValueLabel = (_c = (_b = (_a = filterOptions == null ? void 0 : filterOptions.find((op) => op.value === sortOn)) == null ? void 0 : _a.options) == null ? void 0 : _b.find((f) => f.value === sortField)) == null ? void 0 : _c.label;
|
|
20745
|
+
const sortByIcon = sortDirection === "ASC" ? "arrow-up" : "arrow-down";
|
|
20676
20746
|
return /* @__PURE__ */ jsxs80(Fragment19, { children: [
|
|
20677
20747
|
/* @__PURE__ */ jsx119(
|
|
20678
20748
|
FilterButton2,
|
|
@@ -20699,7 +20769,7 @@ var FilterControls = ({
|
|
|
20699
20769
|
"data-testid": "sort-by-dropdown"
|
|
20700
20770
|
}
|
|
20701
20771
|
),
|
|
20702
|
-
/* @__PURE__ */ jsx119(
|
|
20772
|
+
hideSearchInput ? null : /* @__PURE__ */ jsx119(
|
|
20703
20773
|
InputKeywordSearch,
|
|
20704
20774
|
{
|
|
20705
20775
|
placeholder: "Search...",
|
|
@@ -20793,6 +20863,11 @@ var StatusUnknown = css93`
|
|
|
20793
20863
|
background: var(--gray-800);
|
|
20794
20864
|
}
|
|
20795
20865
|
`;
|
|
20866
|
+
var StatusDeleted = css93`
|
|
20867
|
+
&:before {
|
|
20868
|
+
background: var(--error);
|
|
20869
|
+
}
|
|
20870
|
+
`;
|
|
20796
20871
|
|
|
20797
20872
|
// src/components/Validation/StatusBullet.tsx
|
|
20798
20873
|
import { jsx as jsx120 } from "@emotion/react/jsx-runtime";
|
|
@@ -20811,7 +20886,8 @@ var StatusBullet = ({
|
|
|
20811
20886
|
Published: StatusPublished,
|
|
20812
20887
|
Draft: StatusDraft,
|
|
20813
20888
|
Previous: StatusDraft,
|
|
20814
|
-
Unknown: StatusUnknown
|
|
20889
|
+
Unknown: StatusUnknown,
|
|
20890
|
+
Deleted: StatusDeleted
|
|
20815
20891
|
};
|
|
20816
20892
|
const statusSize = size === "base" ? StatusBulletBase : StatusBulletSmall;
|
|
20817
20893
|
return /* @__PURE__ */ jsx120(
|
|
@@ -20827,13 +20903,20 @@ var StatusBullet = ({
|
|
|
20827
20903
|
};
|
|
20828
20904
|
|
|
20829
20905
|
// src/components/SearchAndFilter/FilterEditor.tsx
|
|
20830
|
-
import {
|
|
20906
|
+
import { jsx as jsx121, jsxs as jsxs81 } from "@emotion/react/jsx-runtime";
|
|
20907
|
+
var readOnlyAttributes = {
|
|
20908
|
+
isSearchable: false,
|
|
20909
|
+
menuIsOpen: false,
|
|
20910
|
+
isClearable: false
|
|
20911
|
+
};
|
|
20831
20912
|
var FilterMultiChoiceEditor = ({
|
|
20832
20913
|
value,
|
|
20833
20914
|
options,
|
|
20834
20915
|
isDisabled,
|
|
20916
|
+
readOnly,
|
|
20835
20917
|
...props
|
|
20836
20918
|
}) => {
|
|
20919
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20837
20920
|
return /* @__PURE__ */ jsx121(
|
|
20838
20921
|
InputComboBox,
|
|
20839
20922
|
{
|
|
@@ -20847,7 +20930,9 @@ var FilterMultiChoiceEditor = ({
|
|
|
20847
20930
|
var _a;
|
|
20848
20931
|
return props.onChange((_a = e.map((item) => item.value)) != null ? _a : []);
|
|
20849
20932
|
},
|
|
20850
|
-
value
|
|
20933
|
+
value,
|
|
20934
|
+
"aria-readonly": readOnly,
|
|
20935
|
+
...readOnlyProps
|
|
20851
20936
|
}
|
|
20852
20937
|
);
|
|
20853
20938
|
};
|
|
@@ -20855,8 +20940,10 @@ var FilterSingleChoiceEditor = ({
|
|
|
20855
20940
|
options,
|
|
20856
20941
|
value,
|
|
20857
20942
|
isDisabled,
|
|
20943
|
+
readOnly,
|
|
20858
20944
|
onChange
|
|
20859
20945
|
}) => {
|
|
20946
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20860
20947
|
return /* @__PURE__ */ jsx121(
|
|
20861
20948
|
InputComboBox,
|
|
20862
20949
|
{
|
|
@@ -20868,7 +20955,9 @@ var FilterSingleChoiceEditor = ({
|
|
|
20868
20955
|
return onChange((_a = e == null ? void 0 : e.value) != null ? _a : "");
|
|
20869
20956
|
},
|
|
20870
20957
|
isDisabled,
|
|
20871
|
-
value
|
|
20958
|
+
value,
|
|
20959
|
+
"aria-readonly": readOnly,
|
|
20960
|
+
...readOnlyProps
|
|
20872
20961
|
}
|
|
20873
20962
|
);
|
|
20874
20963
|
};
|
|
@@ -20879,8 +20968,10 @@ var StatusMultiEditor = ({
|
|
|
20879
20968
|
options,
|
|
20880
20969
|
value,
|
|
20881
20970
|
isDisabled,
|
|
20971
|
+
readOnly,
|
|
20882
20972
|
onChange
|
|
20883
20973
|
}) => {
|
|
20974
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20884
20975
|
return /* @__PURE__ */ jsx121(
|
|
20885
20976
|
InputComboBox,
|
|
20886
20977
|
{
|
|
@@ -20892,7 +20983,8 @@ var StatusMultiEditor = ({
|
|
|
20892
20983
|
},
|
|
20893
20984
|
formatOptionLabel: CustomOptions,
|
|
20894
20985
|
value,
|
|
20895
|
-
isDisabled
|
|
20986
|
+
isDisabled,
|
|
20987
|
+
...readOnlyProps
|
|
20896
20988
|
}
|
|
20897
20989
|
);
|
|
20898
20990
|
};
|
|
@@ -20900,8 +20992,10 @@ var StatusSingleEditor = ({
|
|
|
20900
20992
|
options,
|
|
20901
20993
|
value,
|
|
20902
20994
|
isDisabled,
|
|
20995
|
+
readOnly,
|
|
20903
20996
|
onChange
|
|
20904
20997
|
}) => {
|
|
20998
|
+
const readOnlyProps = readOnly ? readOnlyAttributes : {};
|
|
20905
20999
|
return /* @__PURE__ */ jsx121(
|
|
20906
21000
|
InputComboBox,
|
|
20907
21001
|
{
|
|
@@ -20912,11 +21006,12 @@ var StatusSingleEditor = ({
|
|
|
20912
21006
|
},
|
|
20913
21007
|
formatOptionLabel: CustomOptions,
|
|
20914
21008
|
value,
|
|
20915
|
-
isDisabled
|
|
21009
|
+
isDisabled,
|
|
21010
|
+
...readOnlyProps
|
|
20916
21011
|
}
|
|
20917
21012
|
);
|
|
20918
21013
|
};
|
|
20919
|
-
var TextEditor = ({ onChange, ariaLabel, value }) => {
|
|
21014
|
+
var TextEditor = ({ onChange, ariaLabel, value, readOnly }) => {
|
|
20920
21015
|
useDebounce3(() => onChange, 500, [value]);
|
|
20921
21016
|
return /* @__PURE__ */ jsx121(
|
|
20922
21017
|
Input,
|
|
@@ -20925,11 +21020,12 @@ var TextEditor = ({ onChange, ariaLabel, value }) => {
|
|
|
20925
21020
|
label: ariaLabel,
|
|
20926
21021
|
onChange: (e) => onChange(e.currentTarget.value),
|
|
20927
21022
|
placeholder: "Enter phrase to search\u2026",
|
|
20928
|
-
value
|
|
21023
|
+
value,
|
|
21024
|
+
readOnly
|
|
20929
21025
|
}
|
|
20930
21026
|
);
|
|
20931
21027
|
};
|
|
20932
|
-
var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) => {
|
|
21028
|
+
var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value, readOnly }) => {
|
|
20933
21029
|
const [minValue, setMinValue] = useState18("");
|
|
20934
21030
|
const [maxValue, setMaxValue] = useState18("");
|
|
20935
21031
|
const [error, setError] = useState18("");
|
|
@@ -20952,7 +21048,7 @@ var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) =>
|
|
|
20952
21048
|
setError("");
|
|
20953
21049
|
onChange([minValue, maxValue]);
|
|
20954
21050
|
}, [maxValue, minValue, setError]);
|
|
20955
|
-
return /* @__PURE__ */ jsxs81(
|
|
21051
|
+
return /* @__PURE__ */ jsxs81("div", { css: twoColumnGrid, children: [
|
|
20956
21052
|
/* @__PURE__ */ jsx121(
|
|
20957
21053
|
Input,
|
|
20958
21054
|
{
|
|
@@ -20964,7 +21060,8 @@ var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) =>
|
|
|
20964
21060
|
onChange: (e) => setMinValue(e.currentTarget.value),
|
|
20965
21061
|
"aria-invalid": !error ? false : true,
|
|
20966
21062
|
disabled: disabled2,
|
|
20967
|
-
value: value ? value[0] : ""
|
|
21063
|
+
value: value ? value[0] : "",
|
|
21064
|
+
readOnly
|
|
20968
21065
|
}
|
|
20969
21066
|
),
|
|
20970
21067
|
/* @__PURE__ */ jsx121(
|
|
@@ -20978,13 +21075,14 @@ var NumberRangeEditor = ({ onChange, disabled: disabled2, ariaLabel, value }) =>
|
|
|
20978
21075
|
onChange: (e) => setMaxValue(e.currentTarget.value),
|
|
20979
21076
|
"aria-invalid": !error ? false : true,
|
|
20980
21077
|
disabled: disabled2,
|
|
20981
|
-
value: value ? value[1] : ""
|
|
21078
|
+
value: value ? value[1] : "",
|
|
21079
|
+
readOnly
|
|
20982
21080
|
}
|
|
20983
21081
|
),
|
|
20984
21082
|
/* @__PURE__ */ jsx121(ErrorContainer, { errorMessage: error })
|
|
20985
21083
|
] });
|
|
20986
21084
|
};
|
|
20987
|
-
var NumberEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
21085
|
+
var NumberEditor = ({ ariaLabel, onChange, disabled: disabled2, value, readOnly }) => {
|
|
20988
21086
|
return /* @__PURE__ */ jsx121(
|
|
20989
21087
|
Input,
|
|
20990
21088
|
{
|
|
@@ -20994,11 +21092,12 @@ var NumberEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
20994
21092
|
min: 0,
|
|
20995
21093
|
onChange: (e) => onChange(e.currentTarget.value),
|
|
20996
21094
|
disabled: disabled2,
|
|
20997
|
-
value
|
|
21095
|
+
value,
|
|
21096
|
+
readOnly
|
|
20998
21097
|
}
|
|
20999
21098
|
);
|
|
21000
21099
|
};
|
|
21001
|
-
var DateEditor = ({ onChange, ariaLabel, disabled: disabled2, value }) => {
|
|
21100
|
+
var DateEditor = ({ onChange, ariaLabel, disabled: disabled2, value, readOnly }) => {
|
|
21002
21101
|
return /* @__PURE__ */ jsx121(
|
|
21003
21102
|
Input,
|
|
21004
21103
|
{
|
|
@@ -21007,11 +21106,12 @@ var DateEditor = ({ onChange, ariaLabel, disabled: disabled2, value }) => {
|
|
|
21007
21106
|
showLabel: false,
|
|
21008
21107
|
onChange: (e) => onChange(e.currentTarget.value),
|
|
21009
21108
|
disabled: disabled2,
|
|
21010
|
-
value
|
|
21109
|
+
value,
|
|
21110
|
+
readOnly
|
|
21011
21111
|
}
|
|
21012
21112
|
);
|
|
21013
21113
|
};
|
|
21014
|
-
var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
21114
|
+
var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value, readOnly }) => {
|
|
21015
21115
|
const [minDateValue, setMinDateValue] = useState18(value ? value[0] : "");
|
|
21016
21116
|
const [maxDateValue, setMaxDateValue] = useState18(value ? value[1] : "");
|
|
21017
21117
|
const [error, setError] = useState18("");
|
|
@@ -21046,7 +21146,7 @@ var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
21046
21146
|
setError("");
|
|
21047
21147
|
onChange([minDateValue, maxDateValue]);
|
|
21048
21148
|
}, [minDateValue, maxDateValue, setError]);
|
|
21049
|
-
return /* @__PURE__ */ jsxs81(
|
|
21149
|
+
return /* @__PURE__ */ jsxs81("div", { css: twoColumnGrid, children: [
|
|
21050
21150
|
/* @__PURE__ */ jsx121(
|
|
21051
21151
|
Input,
|
|
21052
21152
|
{
|
|
@@ -21056,7 +21156,8 @@ var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
21056
21156
|
value: minDateValue,
|
|
21057
21157
|
onChange: (e) => setMinDateValue(e.currentTarget.value),
|
|
21058
21158
|
"aria-invalid": !error ? false : true,
|
|
21059
|
-
disabled: disabled2
|
|
21159
|
+
disabled: disabled2,
|
|
21160
|
+
readOnly
|
|
21060
21161
|
}
|
|
21061
21162
|
),
|
|
21062
21163
|
/* @__PURE__ */ jsx121(
|
|
@@ -21068,7 +21169,8 @@ var DateRangeEditor = ({ ariaLabel, onChange, disabled: disabled2, value }) => {
|
|
|
21068
21169
|
value: maxDateValue,
|
|
21069
21170
|
onChange: (e) => setMaxDateValue(e.currentTarget.value),
|
|
21070
21171
|
"aria-invalid": !error ? false : true,
|
|
21071
|
-
disabled: disabled2
|
|
21172
|
+
disabled: disabled2,
|
|
21173
|
+
readOnly
|
|
21072
21174
|
}
|
|
21073
21175
|
),
|
|
21074
21176
|
/* @__PURE__ */ jsx121(ErrorContainer, { errorMessage: error })
|
|
@@ -21108,6 +21210,11 @@ var ErrorContainer = ({ errorMessage }) => {
|
|
|
21108
21210
|
}
|
|
21109
21211
|
);
|
|
21110
21212
|
};
|
|
21213
|
+
var twoColumnGrid = {
|
|
21214
|
+
display: "grid",
|
|
21215
|
+
gridTemplateColumns: "1fr 1fr",
|
|
21216
|
+
gap: "var(--spacing-sm);"
|
|
21217
|
+
};
|
|
21111
21218
|
|
|
21112
21219
|
// src/components/SearchAndFilter/FilterMenu.tsx
|
|
21113
21220
|
import React24, { useEffect as useEffect20 } from "react";
|
|
@@ -21156,7 +21263,7 @@ var FilterMenu = ({ id, filterTitle = "Show records", menuControls, children })
|
|
|
21156
21263
|
};
|
|
21157
21264
|
|
|
21158
21265
|
// src/components/SearchAndFilter/FilterItem.tsx
|
|
21159
|
-
import { Fragment as
|
|
21266
|
+
import { Fragment as Fragment20, jsx as jsx123, jsxs as jsxs83 } from "@emotion/react/jsx-runtime";
|
|
21160
21267
|
var FilterItem = ({
|
|
21161
21268
|
index,
|
|
21162
21269
|
paramOptions,
|
|
@@ -21172,15 +21279,16 @@ var FilterItem = ({
|
|
|
21172
21279
|
const operatorLabel = filters[index].operator !== "" ? `operator ${filters[index].operator}` : "unknown operator";
|
|
21173
21280
|
const metaDataLabel = filters[index].value !== "" ? `value ${filters[index].value}` : "unknown value";
|
|
21174
21281
|
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
|
|
21282
|
+
const { selectedFieldValue, selectedOperatorValue, selectedMetaValue, readOnly } = useMemo7(() => {
|
|
21283
|
+
var _a2;
|
|
21177
21284
|
const currentSelectedFilter = filterOptions.find((item) => {
|
|
21178
21285
|
var _a3;
|
|
21179
21286
|
return (_a3 = item.options) == null ? void 0 : _a3.find((op) => op.value === filters[index].field);
|
|
21180
21287
|
});
|
|
21181
|
-
const selectedFieldValue2 = (
|
|
21288
|
+
const selectedFieldValue2 = (_a2 = currentSelectedFilter == null ? void 0 : currentSelectedFilter.options) == null ? void 0 : _a2.find((item) => {
|
|
21182
21289
|
return filters[index].field === item.value;
|
|
21183
|
-
})
|
|
21290
|
+
});
|
|
21291
|
+
const isCurrentFieldReadOnly = selectedFieldValue2 == null ? void 0 : selectedFieldValue2.readOnly;
|
|
21184
21292
|
const selectedOperatorValue2 = operatorOptions == null ? void 0 : operatorOptions.find((item) => {
|
|
21185
21293
|
return filters[index].operator === item.value;
|
|
21186
21294
|
});
|
|
@@ -21193,9 +21301,16 @@ var FilterItem = ({
|
|
|
21193
21301
|
return {
|
|
21194
21302
|
selectedFieldValue: selectedFieldValue2,
|
|
21195
21303
|
selectedOperatorValue: selectedOperatorValue2 != null ? selectedOperatorValue2 : void 0,
|
|
21196
|
-
selectedMetaValue: selectedMetaValue2.length > 0 ? selectedMetaValue2 : filters[index].value
|
|
21304
|
+
selectedMetaValue: selectedMetaValue2.length > 0 ? selectedMetaValue2 : filters[index].value,
|
|
21305
|
+
readOnly: isCurrentFieldReadOnly
|
|
21197
21306
|
};
|
|
21198
21307
|
}, [filters, filterOptions, index, operatorOptions, valueOptions]);
|
|
21308
|
+
const readOnlyProps = readOnly ? {
|
|
21309
|
+
"aria-readonly": true,
|
|
21310
|
+
isSearchable: false,
|
|
21311
|
+
menuIsOpen: false,
|
|
21312
|
+
isClearable: false
|
|
21313
|
+
} : {};
|
|
21199
21314
|
return /* @__PURE__ */ jsxs83("div", { css: ConditionalFilterRow, children: [
|
|
21200
21315
|
/* @__PURE__ */ jsx123("span", { children: index === 0 ? "where" : "and" }),
|
|
21201
21316
|
/* @__PURE__ */ jsxs83("div", { css: ConditionalInputRow, children: [
|
|
@@ -21208,7 +21323,8 @@ var FilterItem = ({
|
|
|
21208
21323
|
var _a2;
|
|
21209
21324
|
onParamChange((_a2 = e == null ? void 0 : e.value) != null ? _a2 : "");
|
|
21210
21325
|
},
|
|
21211
|
-
value: selectedFieldValue
|
|
21326
|
+
value: selectedFieldValue,
|
|
21327
|
+
...readOnlyProps
|
|
21212
21328
|
}
|
|
21213
21329
|
),
|
|
21214
21330
|
/* @__PURE__ */ jsx123(
|
|
@@ -21221,7 +21337,8 @@ var FilterItem = ({
|
|
|
21221
21337
|
return onOperatorChange((_a2 = e == null ? void 0 : e.value) != null ? _a2 : "");
|
|
21222
21338
|
},
|
|
21223
21339
|
isDisabled: !filters[index].field,
|
|
21224
|
-
value: selectedOperatorValue
|
|
21340
|
+
value: selectedOperatorValue,
|
|
21341
|
+
...readOnlyProps
|
|
21225
21342
|
}
|
|
21226
21343
|
),
|
|
21227
21344
|
/* @__PURE__ */ jsx123(
|
|
@@ -21231,6 +21348,7 @@ var FilterItem = ({
|
|
|
21231
21348
|
editorType: metaDataPossibleOptions,
|
|
21232
21349
|
options: valueOptions,
|
|
21233
21350
|
onChange: (e) => onValueChange(e != null ? e : ""),
|
|
21351
|
+
readOnly,
|
|
21234
21352
|
isDisabled: !filters[index].operator,
|
|
21235
21353
|
value: selectedMetaValue
|
|
21236
21354
|
}
|
|
@@ -21252,15 +21370,7 @@ var FilterItems = ({
|
|
|
21252
21370
|
addButtonText = "add condition",
|
|
21253
21371
|
resetButtonText = "reset filters"
|
|
21254
21372
|
}) => {
|
|
21255
|
-
const {
|
|
21256
|
-
filterOptions,
|
|
21257
|
-
filters,
|
|
21258
|
-
setFilters,
|
|
21259
|
-
handleAddFilter,
|
|
21260
|
-
handleResetFilters,
|
|
21261
|
-
setFilterVisibility,
|
|
21262
|
-
validFilterQuery
|
|
21263
|
-
} = useSearchAndFilter();
|
|
21373
|
+
const { filterOptions, filters, setFilters, handleAddFilter, handleResetFilters, setFilterVisibility } = useSearchAndFilter();
|
|
21264
21374
|
const handleUpdateFilter = (index, prop, value) => {
|
|
21265
21375
|
const next = [...filters];
|
|
21266
21376
|
next[index] = { ...next[index], [prop]: value };
|
|
@@ -21283,21 +21393,12 @@ var FilterItems = ({
|
|
|
21283
21393
|
FilterMenu,
|
|
21284
21394
|
{
|
|
21285
21395
|
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(
|
|
21396
|
+
menuControls: /* @__PURE__ */ jsxs83(Fragment20, { children: [
|
|
21397
|
+
/* @__PURE__ */ jsxs83("button", { type: "button", css: AddConditionalBtn, onClick: handleAddFilter, children: [
|
|
21398
|
+
/* @__PURE__ */ jsx123(Icon, { icon: "math-plus", iconColor: "currentColor", size: "1rem" }),
|
|
21399
|
+
addButtonText
|
|
21400
|
+
] }),
|
|
21401
|
+
(filters == null ? void 0 : filters.length) ? /* @__PURE__ */ jsx123(
|
|
21301
21402
|
"button",
|
|
21302
21403
|
{
|
|
21303
21404
|
type: "button",
|
|
@@ -21592,26 +21693,54 @@ var FilterModeView = () => {
|
|
|
21592
21693
|
};
|
|
21593
21694
|
|
|
21594
21695
|
// src/components/SearchAndFilter/SearchAndFilterResultContainer.tsx
|
|
21595
|
-
import { Fragment as
|
|
21696
|
+
import { Fragment as Fragment21, jsx as jsx127, jsxs as jsxs86 } from "@emotion/react/jsx-runtime";
|
|
21596
21697
|
var SearchAndFilterResultContainer = ({
|
|
21597
|
-
|
|
21698
|
+
buttonText,
|
|
21699
|
+
clearButtonLabel = "clear",
|
|
21700
|
+
calloutTitle: calloutTitle2,
|
|
21701
|
+
calloutText,
|
|
21702
|
+
onHandleClear
|
|
21598
21703
|
}) => {
|
|
21599
|
-
const { searchTerm, setSearchTerm, totalResults } = useSearchAndFilter();
|
|
21600
|
-
|
|
21704
|
+
const { searchTerm, setSearchTerm, totalResults, setFilters, filters } = useSearchAndFilter();
|
|
21705
|
+
const automateCalloutTitle = () => {
|
|
21706
|
+
if (searchTerm && !filters.length) {
|
|
21707
|
+
return "No search results found";
|
|
21708
|
+
}
|
|
21709
|
+
if (filters.length && !searchTerm) {
|
|
21710
|
+
return "No results match the selected filters";
|
|
21711
|
+
}
|
|
21712
|
+
return "No matching results found";
|
|
21713
|
+
};
|
|
21714
|
+
const handleResetFilters = () => {
|
|
21715
|
+
if (searchTerm && !filters.length) {
|
|
21716
|
+
setSearchTerm("");
|
|
21717
|
+
return;
|
|
21718
|
+
} else if (!searchTerm && filters.length) {
|
|
21719
|
+
setFilters([{ field: "", operator: "", value: "" }]);
|
|
21720
|
+
return;
|
|
21721
|
+
} else {
|
|
21722
|
+
setSearchTerm("");
|
|
21723
|
+
setFilters([{ field: "", operator: "", value: "" }]);
|
|
21724
|
+
return;
|
|
21725
|
+
}
|
|
21726
|
+
};
|
|
21727
|
+
if (totalResults && totalResults > 0) {
|
|
21728
|
+
return null;
|
|
21729
|
+
}
|
|
21730
|
+
return /* @__PURE__ */ jsxs86(Fragment21, { children: [
|
|
21601
21731
|
/* @__PURE__ */ jsxs86(HorizontalRhythm, { children: [
|
|
21602
21732
|
/* @__PURE__ */ jsxs86("span", { children: [
|
|
21603
21733
|
totalResults,
|
|
21604
|
-
" results
|
|
21605
|
-
|
|
21606
|
-
'"',
|
|
21607
|
-
searchTerm,
|
|
21608
|
-
'"'
|
|
21609
|
-
] })
|
|
21734
|
+
" results ",
|
|
21735
|
+
searchTerm ? `for "${searchTerm}"` : null
|
|
21610
21736
|
] }),
|
|
21611
|
-
/* @__PURE__ */ jsx127(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
|
|
21737
|
+
!searchTerm ? null : /* @__PURE__ */ jsx127(Button, { buttonType: "ghostDestructive", size: "zero", onClick: () => setSearchTerm(""), children: clearButtonLabel })
|
|
21612
21738
|
] }),
|
|
21613
|
-
totalResults === 0 ? /* @__PURE__ */
|
|
21614
|
-
|
|
21739
|
+
totalResults === 0 ? /* @__PURE__ */ jsxs86(Callout, { title: calloutTitle2 != null ? calloutTitle2 : automateCalloutTitle(), type: "note", children: [
|
|
21740
|
+
calloutText ? /* @__PURE__ */ jsx127(Paragraph, { children: calloutText }) : null,
|
|
21741
|
+
/* @__PURE__ */ jsx127(Button, { buttonType: "tertiaryOutline", size: "xs", onClick: onHandleClear != null ? onHandleClear : handleResetFilters, children: buttonText != null ? buttonText : "Clear search" })
|
|
21742
|
+
] }) : null
|
|
21743
|
+
] });
|
|
21615
21744
|
};
|
|
21616
21745
|
|
|
21617
21746
|
// src/components/SearchAndFilter/SearchAndFilter.tsx
|
|
@@ -21619,10 +21748,12 @@ import { jsx as jsx128, jsxs as jsxs87 } from "@emotion/react/jsx-runtime";
|
|
|
21619
21748
|
var SearchAndFilter = ({
|
|
21620
21749
|
filters,
|
|
21621
21750
|
filterOptions,
|
|
21751
|
+
filterMode: filterMode3,
|
|
21622
21752
|
sortOptions,
|
|
21623
21753
|
defaultSortByValue,
|
|
21624
|
-
filterControls
|
|
21754
|
+
filterControls,
|
|
21625
21755
|
viewSwitchControls,
|
|
21756
|
+
resultsContainerView = /* @__PURE__ */ jsx128(SearchAndFilterResultContainer, {}),
|
|
21626
21757
|
children = /* @__PURE__ */ jsx128(FilterModeView, {}),
|
|
21627
21758
|
onChange,
|
|
21628
21759
|
onSearchChange,
|
|
@@ -21634,6 +21765,7 @@ var SearchAndFilter = ({
|
|
|
21634
21765
|
{
|
|
21635
21766
|
filters,
|
|
21636
21767
|
filterOptions,
|
|
21768
|
+
filterMode: filterMode3,
|
|
21637
21769
|
defaultSortByValue,
|
|
21638
21770
|
sortOptions,
|
|
21639
21771
|
onChange,
|
|
@@ -21641,17 +21773,66 @@ var SearchAndFilter = ({
|
|
|
21641
21773
|
onSortChange,
|
|
21642
21774
|
totalResults,
|
|
21643
21775
|
children: /* @__PURE__ */ jsxs87(VerticalRhythm, { css: SearchAndFilterContainer, "data-testid": "search-and-filter", children: [
|
|
21644
|
-
/* @__PURE__ */ jsxs87("div", { css: SearchAndFilterOutterControlWrapper, children: [
|
|
21645
|
-
/* @__PURE__ */ jsx128(
|
|
21776
|
+
/* @__PURE__ */ jsxs87("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
|
|
21777
|
+
/* @__PURE__ */ jsx128(
|
|
21778
|
+
"div",
|
|
21779
|
+
{
|
|
21780
|
+
css: SearchAndFilterControlsWrapper(
|
|
21781
|
+
viewSwitchControls ? "auto auto 1fr 0.5fr" : "auto auto 1fr"
|
|
21782
|
+
),
|
|
21783
|
+
children: !filterControls ? /* @__PURE__ */ jsx128(FilterControls, { hideSearchInput: !onSearchChange, defaultSortByValue }) : filterControls
|
|
21784
|
+
}
|
|
21785
|
+
),
|
|
21646
21786
|
viewSwitchControls
|
|
21647
21787
|
] }),
|
|
21648
21788
|
children,
|
|
21649
|
-
|
|
21789
|
+
resultsContainerView
|
|
21650
21790
|
] })
|
|
21651
21791
|
}
|
|
21652
21792
|
);
|
|
21653
21793
|
};
|
|
21654
21794
|
|
|
21795
|
+
// src/components/SearchAndFilter/SearchOnlyFilter.tsx
|
|
21796
|
+
import { createContext as createContext7, useState as useState19 } from "react";
|
|
21797
|
+
import { useDebounce as useDebounce4 } from "react-use";
|
|
21798
|
+
import { jsx as jsx129 } from "@emotion/react/jsx-runtime";
|
|
21799
|
+
var SearchOnlyContext = createContext7({
|
|
21800
|
+
searchTerm: "",
|
|
21801
|
+
setSearchTerm: () => {
|
|
21802
|
+
}
|
|
21803
|
+
});
|
|
21804
|
+
var SearchOnlyFilter = ({ onSearchChange, maxWidth }) => {
|
|
21805
|
+
const { searchTerm, setSearchTerm } = useSearchAndFilter();
|
|
21806
|
+
const [localeSearchTerm, setLocaleSearchTerm] = useState19("");
|
|
21807
|
+
useDebounce4(
|
|
21808
|
+
() => {
|
|
21809
|
+
setSearchTerm(localeSearchTerm);
|
|
21810
|
+
onSearchChange == null ? void 0 : onSearchChange(localeSearchTerm);
|
|
21811
|
+
},
|
|
21812
|
+
300,
|
|
21813
|
+
[localeSearchTerm]
|
|
21814
|
+
);
|
|
21815
|
+
return /* @__PURE__ */ jsx129(
|
|
21816
|
+
SearchOnlyContext.Provider,
|
|
21817
|
+
{
|
|
21818
|
+
value: {
|
|
21819
|
+
searchTerm,
|
|
21820
|
+
setSearchTerm: setLocaleSearchTerm
|
|
21821
|
+
},
|
|
21822
|
+
children: /* @__PURE__ */ jsx129("div", { css: { maxWidth: maxWidth != null ? maxWidth : "712px" }, children: /* @__PURE__ */ jsx129(
|
|
21823
|
+
InputKeywordSearch,
|
|
21824
|
+
{
|
|
21825
|
+
placeholder: "Search...",
|
|
21826
|
+
onSearchTextChanged: (e) => setLocaleSearchTerm(e),
|
|
21827
|
+
value: localeSearchTerm,
|
|
21828
|
+
compact: true,
|
|
21829
|
+
rounded: true
|
|
21830
|
+
}
|
|
21831
|
+
) })
|
|
21832
|
+
}
|
|
21833
|
+
);
|
|
21834
|
+
};
|
|
21835
|
+
|
|
21655
21836
|
// src/components/Skeleton/Skeleton.styles.ts
|
|
21656
21837
|
import { css as css96, keyframes as keyframes5 } from "@emotion/react";
|
|
21657
21838
|
var lightFadingOut = keyframes5`
|
|
@@ -21664,7 +21845,7 @@ var skeletonStyles = css96`
|
|
|
21664
21845
|
`;
|
|
21665
21846
|
|
|
21666
21847
|
// src/components/Skeleton/Skeleton.tsx
|
|
21667
|
-
import { jsx as
|
|
21848
|
+
import { jsx as jsx130 } from "@emotion/react/jsx-runtime";
|
|
21668
21849
|
var Skeleton = ({
|
|
21669
21850
|
width = "100%",
|
|
21670
21851
|
height = "1.25rem",
|
|
@@ -21672,7 +21853,7 @@ var Skeleton = ({
|
|
|
21672
21853
|
circle = false,
|
|
21673
21854
|
children,
|
|
21674
21855
|
...otherProps
|
|
21675
|
-
}) => /* @__PURE__ */
|
|
21856
|
+
}) => /* @__PURE__ */ jsx130(
|
|
21676
21857
|
"div",
|
|
21677
21858
|
{
|
|
21678
21859
|
css: [
|
|
@@ -21779,19 +21960,19 @@ var SwitchText = css97`
|
|
|
21779
21960
|
`;
|
|
21780
21961
|
|
|
21781
21962
|
// src/components/Switch/Switch.tsx
|
|
21782
|
-
import { Fragment as
|
|
21963
|
+
import { Fragment as Fragment22, jsx as jsx131, jsxs as jsxs88 } from "@emotion/react/jsx-runtime";
|
|
21783
21964
|
var Switch = React26.forwardRef(
|
|
21784
21965
|
({ label, infoText, toggleText, children, ...inputProps }, ref) => {
|
|
21785
21966
|
let additionalText = infoText;
|
|
21786
21967
|
if (infoText && toggleText) {
|
|
21787
21968
|
additionalText = inputProps.checked ? toggleText : infoText;
|
|
21788
21969
|
}
|
|
21789
|
-
return /* @__PURE__ */ jsxs88(
|
|
21970
|
+
return /* @__PURE__ */ jsxs88(Fragment22, { children: [
|
|
21790
21971
|
/* @__PURE__ */ jsxs88("label", { css: [SwitchInputContainer, inputProps.disabled ? SwitchInputDisabled : void 0], children: [
|
|
21791
|
-
/* @__PURE__ */
|
|
21792
|
-
/* @__PURE__ */
|
|
21972
|
+
/* @__PURE__ */ jsx131("input", { type: "checkbox", css: SwitchInput, ...inputProps, ref }),
|
|
21973
|
+
/* @__PURE__ */ jsx131("span", { css: SwitchInputLabel, children: label })
|
|
21793
21974
|
] }),
|
|
21794
|
-
additionalText ? /* @__PURE__ */
|
|
21975
|
+
additionalText ? /* @__PURE__ */ jsx131("p", { css: SwitchText, children: additionalText }) : null,
|
|
21795
21976
|
children
|
|
21796
21977
|
] });
|
|
21797
21978
|
}
|
|
@@ -21828,40 +22009,40 @@ var tableCellHead = css98`
|
|
|
21828
22009
|
`;
|
|
21829
22010
|
|
|
21830
22011
|
// src/components/Table/Table.tsx
|
|
21831
|
-
import { jsx as
|
|
22012
|
+
import { jsx as jsx132 } from "@emotion/react/jsx-runtime";
|
|
21832
22013
|
var Table = React27.forwardRef(
|
|
21833
22014
|
({ children, cellPadding, ...otherProps }, ref) => {
|
|
21834
|
-
return /* @__PURE__ */
|
|
22015
|
+
return /* @__PURE__ */ jsx132("table", { ref, css: table({ cellPadding }), ...otherProps, children });
|
|
21835
22016
|
}
|
|
21836
22017
|
);
|
|
21837
22018
|
var TableHead = React27.forwardRef(
|
|
21838
22019
|
({ children, ...otherProps }, ref) => {
|
|
21839
|
-
return /* @__PURE__ */
|
|
22020
|
+
return /* @__PURE__ */ jsx132("thead", { ref, css: tableHead, ...otherProps, children });
|
|
21840
22021
|
}
|
|
21841
22022
|
);
|
|
21842
22023
|
var TableBody = React27.forwardRef(
|
|
21843
22024
|
({ children, ...otherProps }, ref) => {
|
|
21844
|
-
return /* @__PURE__ */
|
|
22025
|
+
return /* @__PURE__ */ jsx132("tbody", { ref, ...otherProps, children });
|
|
21845
22026
|
}
|
|
21846
22027
|
);
|
|
21847
22028
|
var TableFoot = React27.forwardRef(
|
|
21848
22029
|
({ children, ...otherProps }, ref) => {
|
|
21849
|
-
return /* @__PURE__ */
|
|
22030
|
+
return /* @__PURE__ */ jsx132("tfoot", { ref, ...otherProps, children });
|
|
21850
22031
|
}
|
|
21851
22032
|
);
|
|
21852
22033
|
var TableRow = React27.forwardRef(
|
|
21853
22034
|
({ children, ...otherProps }, ref) => {
|
|
21854
|
-
return /* @__PURE__ */
|
|
22035
|
+
return /* @__PURE__ */ jsx132("tr", { ref, css: tableRow, ...otherProps, children });
|
|
21855
22036
|
}
|
|
21856
22037
|
);
|
|
21857
22038
|
var TableCellHead = React27.forwardRef(
|
|
21858
22039
|
({ children, ...otherProps }, ref) => {
|
|
21859
|
-
return /* @__PURE__ */
|
|
22040
|
+
return /* @__PURE__ */ jsx132("th", { ref, css: tableCellHead, ...otherProps, children });
|
|
21860
22041
|
}
|
|
21861
22042
|
);
|
|
21862
22043
|
var TableCellData = React27.forwardRef(
|
|
21863
22044
|
({ children, ...otherProps }, ref) => {
|
|
21864
|
-
return /* @__PURE__ */
|
|
22045
|
+
return /* @__PURE__ */ jsx132("td", { ref, ...otherProps, children });
|
|
21865
22046
|
}
|
|
21866
22047
|
);
|
|
21867
22048
|
|
|
@@ -21901,7 +22082,7 @@ var tabButtonGroupStyles = css99`
|
|
|
21901
22082
|
`;
|
|
21902
22083
|
|
|
21903
22084
|
// src/components/Tabs/Tabs.tsx
|
|
21904
|
-
import { jsx as
|
|
22085
|
+
import { jsx as jsx133 } from "@emotion/react/jsx-runtime";
|
|
21905
22086
|
var useCurrentTab = () => {
|
|
21906
22087
|
const context = useAriakitTabStore();
|
|
21907
22088
|
if (!context) {
|
|
@@ -21939,23 +22120,23 @@ var Tabs = ({
|
|
|
21939
22120
|
tab.setSelectedId(selected);
|
|
21940
22121
|
}
|
|
21941
22122
|
}, [selected, tab]);
|
|
21942
|
-
return /* @__PURE__ */
|
|
22123
|
+
return /* @__PURE__ */ jsx133(AriakitTabProvider, { store: tab, setSelectedId: onTabSelect, children });
|
|
21943
22124
|
};
|
|
21944
22125
|
var TabButtonGroup = ({ children, ...props }) => {
|
|
21945
|
-
return /* @__PURE__ */
|
|
22126
|
+
return /* @__PURE__ */ jsx133(AriakitTabList, { ...props, css: tabButtonGroupStyles, children });
|
|
21946
22127
|
};
|
|
21947
22128
|
var TabButton = ({
|
|
21948
22129
|
children,
|
|
21949
22130
|
id,
|
|
21950
22131
|
...props
|
|
21951
22132
|
}) => {
|
|
21952
|
-
return /* @__PURE__ */
|
|
22133
|
+
return /* @__PURE__ */ jsx133(AriakitTab, { type: "button", id, ...props, css: tabButtonStyles, children });
|
|
21953
22134
|
};
|
|
21954
22135
|
var TabContent = ({
|
|
21955
22136
|
children,
|
|
21956
22137
|
...props
|
|
21957
22138
|
}) => {
|
|
21958
|
-
return /* @__PURE__ */
|
|
22139
|
+
return /* @__PURE__ */ jsx133(AriakitTabPanel, { ...props, children });
|
|
21959
22140
|
};
|
|
21960
22141
|
|
|
21961
22142
|
// src/components/Toast/Toast.tsx
|
|
@@ -22186,9 +22367,9 @@ var toastContainerStyles = css100`
|
|
|
22186
22367
|
`;
|
|
22187
22368
|
|
|
22188
22369
|
// src/components/Toast/Toast.tsx
|
|
22189
|
-
import { jsx as
|
|
22370
|
+
import { jsx as jsx134 } from "@emotion/react/jsx-runtime";
|
|
22190
22371
|
var ToastContainer = ({ limit = 4 }) => {
|
|
22191
|
-
return /* @__PURE__ */
|
|
22372
|
+
return /* @__PURE__ */ jsx134(
|
|
22192
22373
|
ToastifyContainer,
|
|
22193
22374
|
{
|
|
22194
22375
|
css: toastContainerStyles,
|
|
@@ -22333,6 +22514,8 @@ export {
|
|
|
22333
22514
|
SearchAndFilterOptionsContainer2 as SearchAndFilterOptionsContainer,
|
|
22334
22515
|
SearchAndFilterProvider,
|
|
22335
22516
|
SearchAndFilterResultContainer,
|
|
22517
|
+
SearchOnlyContext,
|
|
22518
|
+
SearchOnlyFilter,
|
|
22336
22519
|
SegmentedControl,
|
|
22337
22520
|
ShortcutContext,
|
|
22338
22521
|
ShortcutRevealer,
|
|
@@ -22362,6 +22545,7 @@ export {
|
|
|
22362
22545
|
ToastContainer,
|
|
22363
22546
|
Tooltip,
|
|
22364
22547
|
TwoColumnLayout,
|
|
22548
|
+
USER_OPERATORS,
|
|
22365
22549
|
UniformBadge,
|
|
22366
22550
|
UniformLogo,
|
|
22367
22551
|
UniformLogoLarge,
|