draft-components 4.4.1 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/draft-components.css +51 -28
- package/dist/components/alert/alert.js +3 -1
- package/dist/components/alert/alert.js.map +1 -1
- package/dist/components/date-picker/calendar-header.js +6 -2
- package/dist/components/date-picker/calendar-header.js.map +1 -1
- package/dist/components/dialog/dialog-header.js +4 -2
- package/dist/components/dialog/dialog-header.js.map +1 -1
- package/dist/components/filtered-search/{filter-value-list.css → checkbox-group.css} +4 -5
- package/dist/components/filtered-search/checkbox-group.d.ts +15 -0
- package/dist/components/filtered-search/checkbox-group.js +37 -0
- package/dist/components/filtered-search/checkbox-group.js.map +1 -0
- package/dist/components/filtered-search/filter-item.js +5 -1
- package/dist/components/filtered-search/filter-item.js.map +1 -1
- package/dist/components/filtered-search/filter-token.js +3 -1
- package/dist/components/filtered-search/filter-token.js.map +1 -1
- package/dist/components/filtered-search/filtered-search.css +21 -5
- package/dist/components/filtered-search/filtered-search.js +12 -2
- package/dist/components/filtered-search/filtered-search.js.map +1 -1
- package/dist/components/filtered-search/model/radio-group-filter.d.ts +47 -0
- package/dist/components/filtered-search/model/radio-group-filter.js +42 -0
- package/dist/components/filtered-search/model/radio-group-filter.js.map +1 -0
- package/dist/components/filtered-search/model/string-set-filter.d.ts +10 -4
- package/dist/components/filtered-search/model/string-set-filter.js.map +1 -1
- package/dist/components/filtered-search/radio-group-filter-item.d.ts +14 -0
- package/dist/components/filtered-search/radio-group-filter-item.js +71 -0
- package/dist/components/filtered-search/radio-group-filter-item.js.map +1 -0
- package/dist/components/filtered-search/radio-group.css +16 -0
- package/dist/components/filtered-search/radio-group.d.ts +15 -0
- package/dist/components/filtered-search/radio-group.js +34 -0
- package/dist/components/filtered-search/radio-group.js.map +1 -0
- package/dist/components/filtered-search/string-filter-input.js +3 -1
- package/dist/components/filtered-search/string-filter-input.js.map +1 -1
- package/dist/components/filtered-search/string-filter-item.js +12 -11
- package/dist/components/filtered-search/string-filter-item.js.map +1 -1
- package/dist/components/filtered-search/string-set-filter-item.js +13 -12
- package/dist/components/filtered-search/string-set-filter-item.js.map +1 -1
- package/dist/components/filtered-search/types.d.ts +5 -4
- package/dist/components/filtered-search/types.js +1 -2
- package/dist/components/filtered-search/types.js.map +1 -1
- package/dist/components/form-field/form-field.js +3 -1
- package/dist/components/form-field/form-field.js.map +1 -1
- package/dist/components/password-input/password-input.js +7 -3
- package/dist/components/password-input/password-input.js.map +1 -1
- package/dist/components/popover/popover.js +7 -1
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/table/table-head-cell.js +34 -18
- package/dist/components/table/table-head-cell.js.map +1 -1
- package/dist/components/table/table.css +30 -23
- package/dist/components/toast/toast.js +3 -1
- package/dist/components/toast/toast.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/filtered-search/filter-value-list.d.ts +0 -8
- package/dist/components/filtered-search/filter-value-list.js +0 -17
- package/dist/components/filtered-search/filter-value-list.js.map +0 -1
- package/dist/components/hero-icons/24/outline/arrow-down-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/arrow-down-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/arrow-down-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/arrow-up-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/arrow-up-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/arrow-up-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/arrows-up-down-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/arrows-up-down-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/arrows-up-down-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/chevron-left-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/chevron-left-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/chevron-left-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/chevron-right-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/chevron-right-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/chevron-right-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/eye-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/eye-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/eye-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/eye-slash-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/eye-slash-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/eye-slash-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/magnifying-glass-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/magnifying-glass-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/magnifying-glass-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/trash-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/trash-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/trash-icon.js.map +0 -1
- package/dist/components/hero-icons/24/outline/x-mark-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/outline/x-mark-icon.js +0 -6
- package/dist/components/hero-icons/24/outline/x-mark-icon.js.map +0 -1
- package/dist/components/hero-icons/24/solid/exclamation-triangle-icon.d.ts +0 -2
- package/dist/components/hero-icons/24/solid/exclamation-triangle-icon.js +0 -6
- package/dist/components/hero-icons/24/solid/exclamation-triangle-icon.js.map +0 -1
package/css/draft-components.css
CHANGED
|
@@ -4434,9 +4434,14 @@
|
|
|
4434
4434
|
--row-background-highlighted: rgb(var(--dc-neutral-300-rgb) / 30%);
|
|
4435
4435
|
--cell-background-hover: var(--dc-neutral-100);
|
|
4436
4436
|
--cell-background-focus: var(--dc-neutral-100);
|
|
4437
|
-
--cell-padding
|
|
4438
|
-
--
|
|
4439
|
-
--sort-
|
|
4437
|
+
--cell-padding: 8px 12px;
|
|
4438
|
+
--sort-btn-focus-ring: 2px solid var(--dc-focus-ring-color);
|
|
4439
|
+
--sort-btn-focus-ring-offset: 2px;
|
|
4440
|
+
--sort-icon-size: 20px;
|
|
4441
|
+
--sort-icon-gap: 4px;
|
|
4442
|
+
--sort-icon-color: var(--dc-neutral-900);
|
|
4443
|
+
--sort-icon-background: rgb(var(--dc-neutral-900-rgb) / 7.5%);
|
|
4444
|
+
--sort-icon-radius: 4px;
|
|
4440
4445
|
|
|
4441
4446
|
color-scheme: light;
|
|
4442
4447
|
}
|
|
@@ -4483,7 +4488,7 @@
|
|
|
4483
4488
|
|
|
4484
4489
|
.dc-table-cell {
|
|
4485
4490
|
box-sizing: border-box;
|
|
4486
|
-
padding: var(--cell-padding
|
|
4491
|
+
padding: var(--cell-padding);
|
|
4487
4492
|
scroll-snap-align: start;
|
|
4488
4493
|
background: var(--background);
|
|
4489
4494
|
border-bottom: 1px solid var(--border-color);
|
|
@@ -4497,25 +4502,16 @@
|
|
|
4497
4502
|
}
|
|
4498
4503
|
|
|
4499
4504
|
.dc-table_cell_sm .dc-table-cell {
|
|
4500
|
-
--cell-padding
|
|
4501
|
-
--cell-padding-x: 8px;
|
|
4505
|
+
--cell-padding: 4px 8px;
|
|
4502
4506
|
}
|
|
4503
4507
|
|
|
4504
4508
|
.dc-table_cell_lg .dc-table-cell {
|
|
4505
|
-
--cell-padding
|
|
4506
|
-
--cell-padding-x: 16px;
|
|
4507
|
-
}
|
|
4508
|
-
|
|
4509
|
-
.dc-table-cell_sortable {
|
|
4510
|
-
padding: 0;
|
|
4509
|
+
--cell-padding: 12px 16px;
|
|
4511
4510
|
}
|
|
4512
4511
|
|
|
4513
4512
|
.dc-table-cell__sort-btn {
|
|
4514
4513
|
position: relative;
|
|
4515
|
-
|
|
4516
|
-
width: 100%;
|
|
4517
|
-
padding: var(--cell-padding-y) var(--cell-padding-x);
|
|
4518
|
-
padding-right: calc(var(--cell-padding-x) + var(--sort-icon-size) + var(--cell-padding-x));
|
|
4514
|
+
padding: 0 calc(var(--sort-icon-gap) + var(--sort-icon-size)) 0 0;
|
|
4519
4515
|
margin: 0;
|
|
4520
4516
|
font: inherit;
|
|
4521
4517
|
color: inherit;
|
|
@@ -4525,10 +4521,7 @@
|
|
|
4525
4521
|
appearance: none;
|
|
4526
4522
|
background: transparent;
|
|
4527
4523
|
border: none;
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
.dc-table-cell__sort-btn:hover {
|
|
4531
|
-
background: var(--cell-background-hover);
|
|
4524
|
+
border-radius: var(--sort-icon-radius);
|
|
4532
4525
|
}
|
|
4533
4526
|
|
|
4534
4527
|
.dc-table-cell__sort-btn:focus {
|
|
@@ -4536,18 +4529,30 @@
|
|
|
4536
4529
|
}
|
|
4537
4530
|
|
|
4538
4531
|
.dc-table-cell__sort-btn:focus-visible {
|
|
4539
|
-
|
|
4532
|
+
outline: var(--sort-btn-focus-ring);
|
|
4533
|
+
outline-offset: var(--sort-btn-focus-ring-offset);
|
|
4540
4534
|
}
|
|
4541
4535
|
|
|
4542
|
-
.dc-table-cell__sort-icon {
|
|
4536
|
+
.dc-table-cell__sort-btn-icon {
|
|
4543
4537
|
position: absolute;
|
|
4544
4538
|
top: 50%;
|
|
4545
|
-
right:
|
|
4539
|
+
right: 0;
|
|
4540
|
+
display: inline-flex;
|
|
4541
|
+
align-items: center;
|
|
4542
|
+
justify-content: center;
|
|
4546
4543
|
width: var(--sort-icon-size);
|
|
4547
4544
|
height: var(--sort-icon-size);
|
|
4545
|
+
color: var(--sort-icon-color);
|
|
4546
|
+
background: var(--sort-icon-background);
|
|
4547
|
+
border-radius: var(--sort-icon-radius);
|
|
4548
4548
|
transform: translateY(-50%);
|
|
4549
4549
|
}
|
|
4550
4550
|
|
|
4551
|
+
.dc-table-cell__sort-btn-icon > svg {
|
|
4552
|
+
width: 90%;
|
|
4553
|
+
height: 90%;
|
|
4554
|
+
}
|
|
4555
|
+
|
|
4551
4556
|
.dc-table-head_tinted .dc-table-cell {
|
|
4552
4557
|
background: var(--head-background);
|
|
4553
4558
|
}
|
|
@@ -4589,6 +4594,8 @@
|
|
|
4589
4594
|
--row-background-highlighted: rgb(var(--dc-neutral-600-rgb) / 30%);
|
|
4590
4595
|
--cell-background-hover: var(--dc-neutral-800);
|
|
4591
4596
|
--cell-background-focus: var(--dc-neutral-800);
|
|
4597
|
+
--sort-icon-color: var(--dc-neutral-100);
|
|
4598
|
+
--sort-icon-background: rgb(var(--dc-neutral-100-rgb) / 15%);
|
|
4592
4599
|
|
|
4593
4600
|
color-scheme: dark;
|
|
4594
4601
|
}
|
|
@@ -5579,7 +5586,7 @@
|
|
|
5579
5586
|
grid-column: 1/3;
|
|
5580
5587
|
}
|
|
5581
5588
|
|
|
5582
|
-
.dc-filter-
|
|
5589
|
+
.dc-filter-checkbox-group {
|
|
5583
5590
|
box-sizing: border-box;
|
|
5584
5591
|
max-height: 192px;
|
|
5585
5592
|
padding: 0;
|
|
@@ -5590,10 +5597,26 @@
|
|
|
5590
5597
|
scroll-snap-type: y mandatory;
|
|
5591
5598
|
}
|
|
5592
5599
|
|
|
5593
|
-
.dc-filter-
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5600
|
+
.dc-filter-checkbox-group > li {
|
|
5601
|
+
padding-top: 4px;
|
|
5602
|
+
padding-bottom: 4px;
|
|
5603
|
+
scroll-snap-align: start;
|
|
5604
|
+
}
|
|
5605
|
+
|
|
5606
|
+
.dc-filter-radio-group {
|
|
5607
|
+
box-sizing: border-box;
|
|
5608
|
+
max-height: 192px;
|
|
5609
|
+
padding: 0;
|
|
5610
|
+
margin: 0;
|
|
5611
|
+
overflow-y: auto;
|
|
5612
|
+
list-style: none;
|
|
5613
|
+
scroll-behavior: smooth;
|
|
5614
|
+
scroll-snap-type: y mandatory;
|
|
5615
|
+
}
|
|
5616
|
+
|
|
5617
|
+
.dc-filter-radio-group > li {
|
|
5618
|
+
padding-top: 4px;
|
|
5619
|
+
padding-bottom: 4px;
|
|
5597
5620
|
scroll-snap-align: start;
|
|
5598
5621
|
}
|
|
5599
5622
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import {} from 'react';
|
|
3
3
|
import { classNames } from '../../lib/react-helpers.js';
|
|
4
|
-
import { XMarkIcon } from '../hero-icons/24/outline/x-mark-icon.js';
|
|
5
4
|
export function Alert({ shouldShowDismissButton, alertStyle = 'default', tint = 'gray', icon, title, children, className, onClickDismissButton, ...props }) {
|
|
6
5
|
return (_jsxs("div", { ...props, className: classNames(className, 'dc-alert', {
|
|
7
6
|
[`dc-alert_style_${alertStyle}`]: alertStyle,
|
|
@@ -10,4 +9,7 @@ export function Alert({ shouldShowDismissButton, alertStyle = 'default', tint =
|
|
|
10
9
|
'dc-alert_has_dismiss-button': shouldShowDismissButton,
|
|
11
10
|
}), children: [icon ? _jsx("div", { className: "dc-alert__icon", children: icon }) : null, _jsxs("div", { className: "dc-alert__body", children: [title ? _jsx("h2", { className: "dc-alert__title", children: title }) : null, children] }), shouldShowDismissButton && (_jsx("button", { type: "button", className: "dc-alert__dismiss-button", onClick: onClickDismissButton, children: _jsx(XMarkIcon, { width: 18, height: 18, strokeWidth: 2 }) }))] }));
|
|
12
11
|
}
|
|
12
|
+
function XMarkIcon(props) {
|
|
13
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, stroke: "currentColor", strokeWidth: 1.5, fill: "none", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18 18 6M6 6l12 12" }) }));
|
|
14
|
+
}
|
|
13
15
|
//# sourceMappingURL=alert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/components/alert/alert.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA+D,MAAM,OAAO,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/components/alert/alert.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA+D,MAAM,OAAO,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA6BxD,MAAM,UAAU,KAAK,CAAC,EACpB,uBAAuB,EACvB,UAAU,GAAG,SAAS,EACtB,IAAI,GAAG,MAAM,EACb,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,GAAG,KAAK,EACG;IACX,OAAO,CACL,kBACM,KAAK,EACT,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE;YAC3C,CAAC,kBAAkB,UAAU,EAAE,CAAC,EAAE,UAAU;YAC5C,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,IAAI;YAC/B,mBAAmB,EAAE,IAAI;YACzB,6BAA6B,EAAE,uBAAuB;SACvD,CAAC,aAED,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gBAAgB,YAAE,IAAI,GAAO,CAAC,CAAC,CAAC,IAAI,EAC3D,eAAK,SAAS,EAAC,gBAAgB,aAC5B,KAAK,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,iBAAiB,YAAE,KAAK,GAAM,CAAC,CAAC,CAAC,IAAI,EAC3D,QAAQ,IACL,EACL,uBAAuB,IAAI,CAC1B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,oBAAoB,YAE7B,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GAC7C,CACV,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA4B;IAC7C,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,GAAG,EAChB,IAAI,EAAC,MAAM,KACP,KAAK,YAET,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,CAAC,EAAC,sBAAsB,GAAG,GAC1E,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -5,8 +5,6 @@ import { useEffect, useState } from 'react';
|
|
|
5
5
|
import { IconButton } from '../button/index.js';
|
|
6
6
|
import { Select } from '../select/index.js';
|
|
7
7
|
import { TextInput } from '../text-input/index.js';
|
|
8
|
-
import { ChevronLeftIcon } from '../hero-icons/24/outline/chevron-left-icon.js';
|
|
9
|
-
import { ChevronRightIcon } from '../hero-icons/24/outline/chevron-right-icon.js';
|
|
10
8
|
export function CalendarHeader({ focusDay, onChangeFocusDay, className, locale, nextMonthButtonLabel = 'next month', prevMonthButtonLabel = 'previous month', monthSelectLabel = 'month', yearInputLabel = 'year', }) {
|
|
11
9
|
const selectedYear = focusDay.getFullYear();
|
|
12
10
|
const selectedMonth = focusDay.getMonth();
|
|
@@ -41,4 +39,10 @@ function formatYear(year) {
|
|
|
41
39
|
function parseYear(year) {
|
|
42
40
|
return Number(year);
|
|
43
41
|
}
|
|
42
|
+
function ChevronLeftIcon(props) {
|
|
43
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, stroke: "currentColor", strokeWidth: 1.5, fill: "none", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 19.5 8.25 12l7.5-7.5" }) }));
|
|
44
|
+
}
|
|
45
|
+
function ChevronRightIcon(props) {
|
|
46
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, stroke: "currentColor", strokeWidth: 1.5, fill: "none", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m8.25 4.5 7.5 7.5-7.5 7.5" }) }));
|
|
47
|
+
}
|
|
44
48
|
//# sourceMappingURL=calendar-header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-header.js","sourceRoot":"","sources":["../../../src/components/date-picker/calendar-header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"calendar-header.js","sourceRoot":"","sources":["../../../src/components/date-picker/calendar-header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import {} from 'react';
|
|
2
3
|
import { classNames } from '../../lib/react-helpers.js';
|
|
3
4
|
import { useDialogContext } from './dialog-context.js';
|
|
4
|
-
import {} from 'react';
|
|
5
5
|
import { IconButton } from '../button/index.js';
|
|
6
|
-
import { XMarkIcon } from '../hero-icons/24/outline/x-mark-icon.js';
|
|
7
6
|
export function DialogHeader({ className, title, children, contentAlign = 'left', ...props }) {
|
|
8
7
|
const { titleId, isBodyHasScroll, onClose } = useDialogContext();
|
|
9
8
|
return (_jsxs("div", { className: classNames(className, {
|
|
@@ -17,4 +16,7 @@ export function DialogHeader({ className, title, children, contentAlign = 'left'
|
|
|
17
16
|
? _jsx("div", { className: "dc-dialog__header-body", children: children })
|
|
18
17
|
: null] }));
|
|
19
18
|
}
|
|
19
|
+
function XMarkIcon(props) {
|
|
20
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, stroke: "currentColor", strokeWidth: 1.5, fill: "none", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18 18 6M6 6l12 12" }) }));
|
|
21
|
+
}
|
|
20
22
|
//# sourceMappingURL=dialog-header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-header.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog-header.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dialog-header.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog-header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAahD,MAAM,UAAU,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,GAAG,MAAM,EACrB,GAAG,KAAK,EACU;IAClB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEjE,OAAO,CACL,eACE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YAC/B,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,IAAI;YACzB,qCAAqC,EAAE,eAAe;YACtD,CAAC,mCAAmC,YAAY,EAAE,CAAC,EAAE,YAAY;SAClE,CAAC,KACE,KAAK,aAER,KAAK;gBACJ,CAAC,CAAC,aAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,kBAAkB,YAAE,KAAK,GAAM;gBAC5D,CAAC,CAAC,IAAI,EACR,KAAC,UAAU,IACT,SAAS,EAAC,yBAAyB,EACnC,WAAW,EAAC,OAAO,EACnB,OAAO,EAAE,OAAO,YAEhB,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,GACzC,EACZ,QAAQ;gBACP,CAAC,CAAC,cAAK,SAAS,EAAC,wBAAwB,YAAE,QAAQ,GAAO;gBAC1D,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA4B;IAC7C,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,GAAG,EAChB,IAAI,EAAC,MAAM,KACP,KAAK,YAET,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,CAAC,EAAC,sBAAsB,GAAG,GAC1E,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.dc-filter-
|
|
1
|
+
.dc-filter-checkbox-group {
|
|
2
2
|
box-sizing: border-box;
|
|
3
3
|
max-height: 192px;
|
|
4
4
|
padding: 0;
|
|
@@ -9,9 +9,8 @@
|
|
|
9
9
|
scroll-snap-type: y mandatory;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
.dc-filter-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
min-height: 32px;
|
|
12
|
+
.dc-filter-checkbox-group > li {
|
|
13
|
+
padding-top: 4px;
|
|
14
|
+
padding-bottom: 4px;
|
|
16
15
|
scroll-snap-align: start;
|
|
17
16
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
type Option = string | {
|
|
3
|
+
value: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
caption?: ReactNode;
|
|
6
|
+
};
|
|
7
|
+
export type FilterValueListProps = {
|
|
8
|
+
className?: string;
|
|
9
|
+
options: Option[];
|
|
10
|
+
values: string[];
|
|
11
|
+
onChange: (values: string[]) => void;
|
|
12
|
+
formatValue: (value: string) => ReactNode;
|
|
13
|
+
};
|
|
14
|
+
export declare function CheckboxGroup({ className, options, values: selectedValues, onChange, formatValue, }: FilterValueListProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useId, useRef } from 'react';
|
|
3
|
+
import { classNames } from '../../lib/react-helpers.js';
|
|
4
|
+
import { SelectionControl } from '../selection-control/index.js';
|
|
5
|
+
import { Checkbox } from '../checkbox/index.js';
|
|
6
|
+
export function CheckboxGroup({ className, options, values: selectedValues, onChange, formatValue, }) {
|
|
7
|
+
const id = useId();
|
|
8
|
+
const ref = useRef(null);
|
|
9
|
+
const name = `checkbox-group-${id}`;
|
|
10
|
+
const handleChange = () => {
|
|
11
|
+
const containerElement = ref.current;
|
|
12
|
+
if (containerElement) {
|
|
13
|
+
const inputElements = containerElement.querySelectorAll(`input[name="${name}"]`);
|
|
14
|
+
const newSelectedValues = Array.from(inputElements)
|
|
15
|
+
.filter((el) => el.checked)
|
|
16
|
+
.map((el) => el.value);
|
|
17
|
+
onChange(newSelectedValues);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
return (_jsx("ul", { ref: ref, className: classNames('dc-filter-checkbox-group', className), children: options.map((option) => {
|
|
21
|
+
let value;
|
|
22
|
+
let label;
|
|
23
|
+
let caption;
|
|
24
|
+
if (typeof option === 'string') {
|
|
25
|
+
value = option;
|
|
26
|
+
label = formatValue(option);
|
|
27
|
+
caption = null;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
value = option.value;
|
|
31
|
+
label = option.label;
|
|
32
|
+
caption = option.caption;
|
|
33
|
+
}
|
|
34
|
+
return (_jsx("li", { children: _jsx(SelectionControl, { label: label, caption: caption, children: _jsx(Checkbox, { name: name, value: value, checked: selectedValues.includes(value), onChange: handleChange }) }) }, value));
|
|
35
|
+
}) }));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=checkbox-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-group.js","sourceRoot":"","sources":["../../../src/components/filtered-search/checkbox-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAA2C,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAgBhD,MAAM,UAAU,aAAa,CAAC,EAC5B,SAAS,EACT,OAAO,EACP,MAAM,EAAE,cAAc,EACtB,QAAQ,EACR,WAAW,GACU;IACrB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,kBAAkB,EAAE,EAAE,CAAC;IACpC,MAAM,YAAY,GAAyC,GAAG,EAAE;QAC9D,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC;QACrC,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAmB,eAAe,IAAI,IAAI,CAAC,CAAC;YACnG,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;iBAChD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;iBAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACzB,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,aAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,0BAA0B,EAAE,SAAS,CAAC,YACvE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,IAAI,KAAa,CAAC;YAClB,IAAI,KAAgB,CAAC;YACrB,IAAI,OAAkB,CAAC;YACvB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,GAAG,MAAM,CAAC;gBACf,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC5B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3B,CAAC;YACD,OAAO,CACL,uBACE,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,YAC9C,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvC,QAAQ,EAAE,YAAY,GACtB,GACe,IARZ,KAAK,CAST,CACN,CAAC;QACJ,CAAC,CAAC,GACC,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import {} from './types.js';
|
|
3
|
+
import { exhaustiveCheck } from '../../lib/helpers.js';
|
|
3
4
|
import { StringFilter } from './model/string-filter.js';
|
|
4
5
|
import { StringSetFilter } from './model/string-set-filter.js';
|
|
5
|
-
import { exhaustiveCheck } from '../../lib/helpers.js';
|
|
6
6
|
import { StringFilterItem } from './string-filter-item.js';
|
|
7
7
|
import { StringSetFilterItem } from './string-set-filter-item.js';
|
|
8
|
+
import { RadioGroupFilter } from './model/radio-group-filter.js';
|
|
9
|
+
import { RadioGroupFilterItem } from './radio-group-filter-item.js';
|
|
8
10
|
export function FilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }) {
|
|
9
11
|
const filterType = filter.type;
|
|
10
12
|
switch (filterType) {
|
|
@@ -12,6 +14,8 @@ export function FilterItem({ filter, isEditing, onEditStart, onEditCancel, onRem
|
|
|
12
14
|
return (_jsx(StringFilterItem, { filter: filter, isEditing: isEditing, onEditStart: onEditStart, onEditCancel: onEditCancel, onRemove: onRemove, onChange: onChange }));
|
|
13
15
|
case StringSetFilter.Type:
|
|
14
16
|
return (_jsx(StringSetFilterItem, { filter: filter, isEditing: isEditing, onEditStart: onEditStart, onEditCancel: onEditCancel, onRemove: onRemove, onChange: onChange }));
|
|
17
|
+
case RadioGroupFilter.Type:
|
|
18
|
+
return (_jsx(RadioGroupFilterItem, { filter: filter, isEditing: isEditing, onEditStart: onEditStart, onEditCancel: onEditCancel, onRemove: onRemove, onChange: onChange }));
|
|
15
19
|
default:
|
|
16
20
|
exhaustiveCheck(filterType, `Unable to render filter type ${filterType}.`);
|
|
17
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-item.js","sourceRoot":"","sources":["../../../src/components/filtered-search/filter-item.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"filter-item.js","sourceRoot":"","sources":["../../../src/components/filtered-search/filter-item.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAWpE,MAAM,UAAU,UAAU,CAAC,EACzB,MAAM,EACN,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,QAAQ,GACQ;IAChB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,YAAY,CAAC,IAAI;YACpB,OAAO,CACL,KAAC,gBAAgB,IACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,eAAe,CAAC,IAAI;YACvB,OAAO,CACL,KAAC,mBAAmB,IAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,gBAAgB,CAAC,IAAI;YACxB,OAAO,CACL,KAAC,oBAAoB,IACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ;YACE,eAAe,CAAC,UAAU,EAAE,gCAAgC,UAAU,GAAG,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import {} from 'react';
|
|
3
3
|
import { classNames } from '../../lib/react-helpers.js';
|
|
4
4
|
import { useTranslations } from './use-translations.js';
|
|
5
|
-
import { XMarkIcon } from '../hero-icons/24/outline/x-mark-icon.js';
|
|
6
5
|
export function FilterToken({ ref, className, isHighlighted, children, onClickLabel, onClickCloseButton, }) {
|
|
7
6
|
const { removeFilterButton } = useTranslations();
|
|
8
7
|
return (_jsxs("div", { ref: ref, "data-testid": "filter-token", className: classNames(className, {
|
|
@@ -10,4 +9,7 @@ export function FilterToken({ ref, className, isHighlighted, children, onClickLa
|
|
|
10
9
|
'dc-filter-token_highlighted': isHighlighted,
|
|
11
10
|
}), children: [_jsx("button", { className: "dc-filter-token__label", onClick: onClickLabel, children: children }), _jsx("button", { className: "dc-filter-token__button", type: "button", "aria-label": removeFilterButton, onClick: onClickCloseButton, children: _jsx(XMarkIcon, { width: 16, height: 16 }) })] }));
|
|
12
11
|
}
|
|
12
|
+
function XMarkIcon(props) {
|
|
13
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, stroke: "currentColor", strokeWidth: 1.5, fill: "none", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18 18 6M6 6l12 12" }) }));
|
|
14
|
+
}
|
|
13
15
|
//# sourceMappingURL=filter-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-token.js","sourceRoot":"","sources":["../../../src/components/filtered-search/filter-token.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA+D,MAAM,OAAO,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"filter-token.js","sourceRoot":"","sources":["../../../src/components/filtered-search/filter-token.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA+D,MAAM,OAAO,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAgBxD,MAAM,UAAU,WAAW,CAAC,EAC1B,GAAG,EACH,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,kBAAkB,GACD;IACjB,MAAM,EAAE,kBAAkB,EAAE,GAAG,eAAe,EAAE,CAAC;IACjD,OAAO,CACL,eACE,GAAG,EAAE,GAAG,iBACI,cAAc,EAC1B,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YAC/B,iBAAiB,EAAE,IAAI;YACvB,6BAA6B,EAAE,aAAa;SAC7C,CAAC,aAEF,iBAAQ,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,YAAY,YAC7D,QAAQ,GACF,EACT,iBACE,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAC,QAAQ,gBACD,kBAAkB,EAC9B,OAAO,EAAE,kBAAkB,YAE3B,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAC7B,IACL,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA4B;IAC7C,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,GAAG,EAChB,IAAI,EAAC,MAAM,KACP,KAAK,YAET,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,CAAC,EAAC,sBAAsB,GAAG,GAC1E,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
grid-column: 1/3;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
.dc-filter-
|
|
84
|
+
.dc-filter-checkbox-group {
|
|
85
85
|
box-sizing: border-box;
|
|
86
86
|
max-height: 192px;
|
|
87
87
|
padding: 0;
|
|
@@ -92,10 +92,26 @@
|
|
|
92
92
|
scroll-snap-type: y mandatory;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
.dc-filter-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
.dc-filter-checkbox-group > li {
|
|
96
|
+
padding-top: 4px;
|
|
97
|
+
padding-bottom: 4px;
|
|
98
|
+
scroll-snap-align: start;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.dc-filter-radio-group {
|
|
102
|
+
box-sizing: border-box;
|
|
103
|
+
max-height: 192px;
|
|
104
|
+
padding: 0;
|
|
105
|
+
margin: 0;
|
|
106
|
+
overflow-y: auto;
|
|
107
|
+
list-style: none;
|
|
108
|
+
scroll-behavior: smooth;
|
|
109
|
+
scroll-snap-type: y mandatory;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.dc-filter-radio-group > li {
|
|
113
|
+
padding-top: 4px;
|
|
114
|
+
padding-bottom: 4px;
|
|
99
115
|
scroll-snap-align: start;
|
|
100
116
|
}
|
|
101
117
|
|
|
@@ -3,6 +3,7 @@ import { useMemo, useRef, useState, } from 'react';
|
|
|
3
3
|
import {} from './types.js';
|
|
4
4
|
import { StringFilter } from './model/string-filter.js';
|
|
5
5
|
import { StringSetFilter } from './model/string-set-filter.js';
|
|
6
|
+
import { RadioGroupFilter } from './model/radio-group-filter.js';
|
|
6
7
|
import { TranslationsProvider } from './use-translations.js';
|
|
7
8
|
import { useComboboxIds } from './use-combobox-ids.js';
|
|
8
9
|
import { KeyboardKey } from '../../lib/keyboard-key.js';
|
|
@@ -10,8 +11,6 @@ import { classNames, tryToFocusElement } from '../../lib/react-helpers.js';
|
|
|
10
11
|
import { exhaustiveCheck } from '../../lib/helpers.js';
|
|
11
12
|
import { IconButton } from '../button/index.js';
|
|
12
13
|
import { FilterItem } from './filter-item.js';
|
|
13
|
-
import { TrashIcon } from '../hero-icons/24/outline/trash-icon.js';
|
|
14
|
-
import { MagnifyingGlassIcon } from '../hero-icons/24/outline/magnifying-glass-icon.js';
|
|
15
14
|
export function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, onChangeFilters, onMouseDown, ...props }) {
|
|
16
15
|
const containerRef = useRef(null);
|
|
17
16
|
const [newFilter, setNewFilter] = useState(null);
|
|
@@ -214,8 +213,19 @@ function createFilter(config) {
|
|
|
214
213
|
value: [],
|
|
215
214
|
operator: config.operators[0] || StringSetFilter.Operators.in,
|
|
216
215
|
});
|
|
216
|
+
case RadioGroupFilter.Type:
|
|
217
|
+
return new RadioGroupFilter(config, {
|
|
218
|
+
value: '',
|
|
219
|
+
operator: config.operators[0] || RadioGroupFilter.Operators.equal,
|
|
220
|
+
});
|
|
217
221
|
default:
|
|
218
222
|
exhaustiveCheck(filterType, `Unable to create a filter with ${filterType} type.`);
|
|
219
223
|
}
|
|
220
224
|
}
|
|
225
|
+
function MagnifyingGlassIcon(props) {
|
|
226
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, stroke: "currentColor", strokeWidth: 1.5, fill: "none", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" }) }));
|
|
227
|
+
}
|
|
228
|
+
function TrashIcon(props) {
|
|
229
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, stroke: "currentColor", strokeWidth: 1.5, fill: "none", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" }) }));
|
|
230
|
+
}
|
|
221
231
|
//# sourceMappingURL=filtered-search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filtered-search.js","sourceRoot":"","sources":["../../../src/components/filtered-search/filtered-search.tsx"],"names":[],"mappings":";AAAA,OAAO,EAOL,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAkC,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"filtered-search.js","sourceRoot":"","sources":["../../../src/components/filtered-search/filtered-search.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { AbstractFilter } from './abstract-filter.js';
|
|
3
|
+
declare const TYPE: "RADIO_GROUP";
|
|
4
|
+
declare const OPERATORS: {
|
|
5
|
+
readonly equal: "EQUAL";
|
|
6
|
+
readonly notEqual: "NOT_EQUAL";
|
|
7
|
+
};
|
|
8
|
+
export type RadioGroupFilterType = typeof TYPE;
|
|
9
|
+
export type RadioGroupFilterOperator = typeof OPERATORS[keyof typeof OPERATORS];
|
|
10
|
+
export type RadioGroupOption = string | {
|
|
11
|
+
value: string;
|
|
12
|
+
label: ReactNode;
|
|
13
|
+
caption?: ReactNode;
|
|
14
|
+
};
|
|
15
|
+
export type RadioGroupFilterConfig = {
|
|
16
|
+
type: RadioGroupFilterType;
|
|
17
|
+
field: string;
|
|
18
|
+
label: string;
|
|
19
|
+
options: RadioGroupOption[];
|
|
20
|
+
operators: RadioGroupFilterOperator[];
|
|
21
|
+
operatorSelectAccessibleName?: string;
|
|
22
|
+
valueFormatter?: (value: string) => ReactNode;
|
|
23
|
+
operatorFormatter?: (operator: RadioGroupFilterOperator) => string;
|
|
24
|
+
};
|
|
25
|
+
export type RadioGroupFilterState = {
|
|
26
|
+
value: string;
|
|
27
|
+
operator: RadioGroupFilterOperator;
|
|
28
|
+
};
|
|
29
|
+
export declare class RadioGroupFilter extends AbstractFilter {
|
|
30
|
+
static readonly Type: "RADIO_GROUP";
|
|
31
|
+
static readonly Operators: {
|
|
32
|
+
readonly equal: "EQUAL";
|
|
33
|
+
readonly notEqual: "NOT_EQUAL";
|
|
34
|
+
};
|
|
35
|
+
readonly config: Readonly<RadioGroupFilterConfig>;
|
|
36
|
+
readonly state: Readonly<RadioGroupFilterState>;
|
|
37
|
+
constructor(config: RadioGroupFilterConfig, state: RadioGroupFilterState);
|
|
38
|
+
get type(): "RADIO_GROUP";
|
|
39
|
+
get field(): string;
|
|
40
|
+
get label(): string;
|
|
41
|
+
get value(): string;
|
|
42
|
+
get operator(): RadioGroupFilterOperator;
|
|
43
|
+
setValue(value: string): RadioGroupFilter;
|
|
44
|
+
setOperator(operator: RadioGroupFilterOperator): RadioGroupFilter;
|
|
45
|
+
isEmpty(): boolean;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AbstractFilter } from './abstract-filter.js';
|
|
2
|
+
const TYPE = 'RADIO_GROUP';
|
|
3
|
+
const OPERATORS = {
|
|
4
|
+
equal: 'EQUAL',
|
|
5
|
+
notEqual: 'NOT_EQUAL',
|
|
6
|
+
};
|
|
7
|
+
export class RadioGroupFilter extends AbstractFilter {
|
|
8
|
+
static Type = TYPE;
|
|
9
|
+
static Operators = OPERATORS;
|
|
10
|
+
config;
|
|
11
|
+
state;
|
|
12
|
+
constructor(config, state) {
|
|
13
|
+
super();
|
|
14
|
+
this.config = config;
|
|
15
|
+
this.state = state;
|
|
16
|
+
}
|
|
17
|
+
get type() {
|
|
18
|
+
return this.config.type;
|
|
19
|
+
}
|
|
20
|
+
get field() {
|
|
21
|
+
return this.config.field;
|
|
22
|
+
}
|
|
23
|
+
get label() {
|
|
24
|
+
return this.config.label;
|
|
25
|
+
}
|
|
26
|
+
get value() {
|
|
27
|
+
return this.state.value;
|
|
28
|
+
}
|
|
29
|
+
get operator() {
|
|
30
|
+
return this.state.operator;
|
|
31
|
+
}
|
|
32
|
+
setValue(value) {
|
|
33
|
+
return new RadioGroupFilter(this.config, { ...this.state, value });
|
|
34
|
+
}
|
|
35
|
+
setOperator(operator) {
|
|
36
|
+
return new RadioGroupFilter(this.config, { ...this.state, operator });
|
|
37
|
+
}
|
|
38
|
+
isEmpty() {
|
|
39
|
+
return !this.config.options.includes(this.value);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=radio-group-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group-filter.js","sourceRoot":"","sources":["../../../../src/components/filtered-search/model/radio-group-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,IAAI,GAAG,aAAsB,CAAC;AACpC,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,WAAW;CACb,CAAC;AA2BX,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAClD,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAU,SAAS,GAAG,SAAS,CAAC;IAE7B,MAAM,CAAmC;IACzC,KAAK,CAAkC;IAEhD,YACE,MAA8B,EAC9B,KAA4B;QAE5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,WAAW,CAAC,QAAkC;QAC5C,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
import { AbstractFilter } from './abstract-filter.js';
|
|
2
3
|
declare const TYPE: "STRING_SET";
|
|
3
4
|
declare const OPERATORS: {
|
|
@@ -6,15 +7,20 @@ declare const OPERATORS: {
|
|
|
6
7
|
};
|
|
7
8
|
export type StringSetFilterType = typeof TYPE;
|
|
8
9
|
export type StringSetFilterOperator = typeof OPERATORS[keyof typeof OPERATORS];
|
|
10
|
+
export type StringSetFilterOption = string | {
|
|
11
|
+
value: string;
|
|
12
|
+
label: ReactNode;
|
|
13
|
+
caption?: ReactNode;
|
|
14
|
+
};
|
|
9
15
|
export type StringSetFilterConfig = {
|
|
10
16
|
type: StringSetFilterType;
|
|
11
17
|
field: string;
|
|
12
18
|
label: string;
|
|
13
|
-
|
|
14
|
-
valueFormatter?: (value: string) => string;
|
|
15
|
-
valuesFormatter?: (values: string[]) => string;
|
|
16
|
-
operatorSelectAccessibleName?: string;
|
|
19
|
+
options: StringSetFilterOption[];
|
|
17
20
|
operators: StringSetFilterOperator[];
|
|
21
|
+
operatorSelectAccessibleName?: string;
|
|
22
|
+
valueFormatter?: (value: string) => ReactNode;
|
|
23
|
+
valuesFormatter?: (values: string[]) => ReactNode;
|
|
18
24
|
operatorFormatter?: (operator: StringSetFilterOperator) => string;
|
|
19
25
|
};
|
|
20
26
|
export type StringSetFilterState = {
|