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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-set-filter.js","sourceRoot":"","sources":["../../../../src/components/filtered-search/model/string-set-filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"string-set-filter.js","sourceRoot":"","sources":["../../../../src/components/filtered-search/model/string-set-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,IAAI,GAAG,YAAqB,CAAC;AACnC,MAAM,SAAS,GAAG;IAChB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,QAAQ;CACP,CAAC;AA4BX,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAU,SAAS,GAAG,SAAS,CAAC;IAE7B,MAAM,CAAkC;IACxC,KAAK,CAAiC;IAE/C,YACE,MAA6B,EAC7B,KAA2B;QAE3B,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,KAAe;QACtB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,QAAiC;QAC3C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RadioGroupFilter, type RadioGroupFilterOperator } from './model/radio-group-filter.js';
|
|
2
|
+
export type RadioGroupFilterItemProps = {
|
|
3
|
+
filter: RadioGroupFilter;
|
|
4
|
+
isEditing: boolean;
|
|
5
|
+
onEditStart: (filter: RadioGroupFilter) => void;
|
|
6
|
+
onEditCancel: (filter: RadioGroupFilter) => void;
|
|
7
|
+
onRemove: (filter: RadioGroupFilter) => void;
|
|
8
|
+
onChange: (filter: RadioGroupFilter) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare function RadioGroupFilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }: RadioGroupFilterItemProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare namespace RadioGroupFilterItem {
|
|
12
|
+
var defaultValueFormatter: (value: string) => string;
|
|
13
|
+
var defaultOperatorFormatter: (operator: RadioGroupFilterOperator) => string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { RadioGroupFilter } from './model/radio-group-filter.js';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { useTranslations } from './use-translations.js';
|
|
5
|
+
import { Popover } from '../popover/index.js';
|
|
6
|
+
import { FilterToken } from './filter-token.js';
|
|
7
|
+
import { FilterOperatorSelect } from './filter-operator-select.js';
|
|
8
|
+
import { RadioGroup } from './radio-group.js';
|
|
9
|
+
import { Button } from '../button/index.js';
|
|
10
|
+
export function RadioGroupFilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }) {
|
|
11
|
+
const translations = useTranslations();
|
|
12
|
+
const [operator, setOperator] = useState(filter.operator);
|
|
13
|
+
const [value, setValue] = useState(filter.value);
|
|
14
|
+
const { label, options, operators, operatorSelectAccessibleName, valueFormatter: formatValue = defaultValueFormatter, operatorFormatter: formatOperator = defaultOperatorFormatter, } = filter.config;
|
|
15
|
+
const isAnyOptionSelected = options.some((option) => {
|
|
16
|
+
if (typeof option === 'string') {
|
|
17
|
+
return option === value;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return option.value === value;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const cancelEdit = () => {
|
|
24
|
+
onEditCancel(filter);
|
|
25
|
+
};
|
|
26
|
+
const startEdit = () => {
|
|
27
|
+
if (isEditing) {
|
|
28
|
+
cancelEdit();
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
setOperator(filter.operator);
|
|
32
|
+
setValue(filter.value);
|
|
33
|
+
onEditStart(filter);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const onClickCloseButton = () => {
|
|
37
|
+
onRemove(filter);
|
|
38
|
+
};
|
|
39
|
+
const onSubmit = (event) => {
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
if (!isAnyOptionSelected) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
let changedFilter = filter;
|
|
46
|
+
if (operator !== filter.operator) {
|
|
47
|
+
changedFilter = changedFilter.setOperator(operator);
|
|
48
|
+
}
|
|
49
|
+
if (value !== filter.value) {
|
|
50
|
+
changedFilter = changedFilter.setValue(value);
|
|
51
|
+
}
|
|
52
|
+
onChange(changedFilter);
|
|
53
|
+
};
|
|
54
|
+
const renderAnchor = ({ ref }) => (_jsxs(FilterToken, { ref: ref, isHighlighted: isEditing, onClickLabel: startEdit, onClickCloseButton: onClickCloseButton, children: [label, filter.value.length > 0
|
|
55
|
+
? _jsxs(_Fragment, { children: [" ", _jsx("span", { children: formatOperator(filter.operator) }), " ", _jsx("b", { children: formatValue(filter.value) })] })
|
|
56
|
+
: null] }));
|
|
57
|
+
return (_jsx(Popover, { className: "dc-filter-popover", anchorPadding: 2, isOpen: isEditing, onClose: cancelEdit, renderAnchor: renderAnchor, children: _jsxs("form", { className: "dc-filter-form", onSubmit: onSubmit, children: [_jsx(FilterOperatorSelect, { className: "dc-filter-form__operator", accessibleName: operatorSelectAccessibleName, label: label, values: operators, value: operator, onChange: setOperator, formatValue: formatOperator }), _jsx(RadioGroup, { className: "dc-filter-form__value-list", options: options, value: value, onChange: setValue, formatValue: formatValue }), _jsxs("div", { className: "dc-filter-form__buttons", children: [_jsx(Button, { onClick: cancelEdit, children: translations.cancelButton }), _jsx(Button, { type: "submit", tint: "blue", disabled: !isAnyOptionSelected, children: translations.applyButton })] })] }) }));
|
|
58
|
+
}
|
|
59
|
+
RadioGroupFilterItem.defaultValueFormatter = defaultValueFormatter;
|
|
60
|
+
RadioGroupFilterItem.defaultOperatorFormatter = defaultOperatorFormatter;
|
|
61
|
+
function defaultValueFormatter(value) {
|
|
62
|
+
return value[0].toUpperCase() + value.slice(1);
|
|
63
|
+
}
|
|
64
|
+
function defaultOperatorFormatter(operator) {
|
|
65
|
+
const messages = {
|
|
66
|
+
[RadioGroupFilter.Operators.equal]: 'is',
|
|
67
|
+
[RadioGroupFilter.Operators.notEqual]: 'is not',
|
|
68
|
+
};
|
|
69
|
+
return messages[operator];
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=radio-group-filter-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group-filter-item.js","sourceRoot":"","sources":["../../../src/components/filtered-search/radio-group-filter-item.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.dc-filter-radio-group {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
max-height: 192px;
|
|
4
|
+
padding: 0;
|
|
5
|
+
margin: 0;
|
|
6
|
+
overflow-y: auto;
|
|
7
|
+
list-style: none;
|
|
8
|
+
scroll-behavior: smooth;
|
|
9
|
+
scroll-snap-type: y mandatory;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.dc-filter-radio-group > li {
|
|
13
|
+
padding-top: 4px;
|
|
14
|
+
padding-bottom: 4px;
|
|
15
|
+
scroll-snap-align: start;
|
|
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 RadioGroupProps = {
|
|
8
|
+
className?: string;
|
|
9
|
+
options: Option[];
|
|
10
|
+
value: string;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
formatValue: (value: string) => ReactNode;
|
|
13
|
+
};
|
|
14
|
+
export declare function RadioGroup({ className, options, value: selectedValue, onChange, formatValue, }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { classNames } from '../../lib/react-helpers.js';
|
|
4
|
+
import { SelectionControl } from '../selection-control/index.js';
|
|
5
|
+
import { Radio } from '../radio/index.js';
|
|
6
|
+
export function RadioGroup({ className, options, value: selectedValue, onChange, formatValue, }) {
|
|
7
|
+
const id = useId();
|
|
8
|
+
const name = `radio-group-${id}`;
|
|
9
|
+
const handleChange = (event) => {
|
|
10
|
+
const radioButtonElement = event.currentTarget;
|
|
11
|
+
const value = radioButtonElement.value;
|
|
12
|
+
const checked = radioButtonElement.checked;
|
|
13
|
+
if (checked) {
|
|
14
|
+
onChange(value);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
return (_jsx("ul", { className: classNames('dc-filter-radio-group', className), children: options.map((option) => {
|
|
18
|
+
let value;
|
|
19
|
+
let label;
|
|
20
|
+
let caption;
|
|
21
|
+
if (typeof option === 'string') {
|
|
22
|
+
value = option;
|
|
23
|
+
label = formatValue(option);
|
|
24
|
+
caption = null;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
value = option.value;
|
|
28
|
+
label = option.label;
|
|
29
|
+
caption = option.caption;
|
|
30
|
+
}
|
|
31
|
+
return (_jsx("li", { children: _jsx(SelectionControl, { label: label, caption: caption, children: _jsx(Radio, { name: name, value: value, checked: value === selectedValue, onChange: handleChange }) }) }, value));
|
|
32
|
+
}) }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=radio-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/filtered-search/radio-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA2C,KAAK,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAgB1C,MAAM,UAAU,UAAU,CAAC,EACzB,SAAS,EACT,OAAO,EACP,KAAK,EAAE,aAAa,EACpB,QAAQ,EACR,WAAW,GACK;IAChB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,IAAI,GAAG,eAAe,EAAE,EAAE,CAAC;IACjC,MAAM,YAAY,GAAyC,CAAC,KAAK,EAAE,EAAE;QACnE,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC;QAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;QACvC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,aAAI,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,SAAS,CAAC,YAC1D,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,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAK,KAAK,aAAa,EAChC,QAAQ,EAAE,YAAY,GACtB,GACe,IARZ,KAAK,CAST,CACN,CAAC;QACJ,CAAC,CAAC,GACC,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,6 @@ import { useId } from 'react';
|
|
|
3
3
|
import { classNames } from '../../lib/react-helpers.js';
|
|
4
4
|
import { TextInput } from '../text-input/index.js';
|
|
5
5
|
import { Caption } from '../caption/index.js';
|
|
6
|
-
import { ExclamationTriangleIcon } from '../hero-icons/24/solid/exclamation-triangle-icon.js';
|
|
7
6
|
export function StringFilterInput({ className, accessibleName, placeholder, error, value, onChangeValue, }) {
|
|
8
7
|
const id = useId();
|
|
9
8
|
const alertId = `${id}alert`;
|
|
@@ -13,4 +12,7 @@ export function StringFilterInput({ className, accessibleName, placeholder, erro
|
|
|
13
12
|
function ArrowReturnRightIcon(props) {
|
|
14
13
|
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", width: 16, height: 16, fill: "currentColor", ...props, children: _jsx("path", { fillRule: "evenodd", d: "M1.5 1.5A.5.5 0 0 0 1 2v4.8a2.5 2.5 0 0 0 2.5 2.5h9.793l-3.347 3.346a.5.5 0 0 0 .708.708l4.2-4.2a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 8.3H3.5A1.5 1.5 0 0 1 2 6.8V2a.5.5 0 0 0-.5-.5z" }) }));
|
|
15
14
|
}
|
|
15
|
+
function ExclamationTriangleIcon(props) {
|
|
16
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, fill: "currentColor", ...props, children: _jsx("path", { fillRule: "evenodd", d: "M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z", clipRule: "evenodd" }) }));
|
|
17
|
+
}
|
|
16
18
|
//# sourceMappingURL=string-filter-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-filter-input.js","sourceRoot":"","sources":["../../../src/components/filtered-search/string-filter-input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuB,KAAK,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"string-filter-input.js","sourceRoot":"","sources":["../../../src/components/filtered-search/string-filter-input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuB,KAAK,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAW9C,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,cAAc,EACd,WAAW,EACX,KAAK,EACL,KAAK,EACL,aAAa,GACU;IACvB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,SAAS,CAAC,aAC7D,KAAC,oBAAoB,KAAG,EAExB,KAAC,SAAS,mBACI,qBAAqB,EACjC,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,IAAI,gBACH,cAAc,sBACR,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACxC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,IAAI,EACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,GAC5B,EACD,OAAO,IAAI,CACV,KAAC,OAAO,IACN,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,+BAA+B,EACzC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,KAAK,EACX,IAAI,EAAE,KAAC,uBAAuB,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,YAEvD,KAAK,GACE,CACX,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA4B;IACxD,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,IAAI,EAAC,cAAc,KACf,KAAK,YAET,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,oMAAoM,GACtM,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA4B;IAC3D,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,IAAI,EAAC,cAAc,KACf,KAAK,YAET,eAAM,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,oPAAoP,EAAC,QAAQ,EAAC,SAAS,GAAG,GACjS,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -9,10 +9,11 @@ import { StringFilterInput } from './string-filter-input.js';
|
|
|
9
9
|
import { Button } from '../button/index.js';
|
|
10
10
|
export function StringFilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }) {
|
|
11
11
|
const translations = useTranslations();
|
|
12
|
-
const [
|
|
13
|
-
const [
|
|
12
|
+
const [operator, setOperator] = useState(filter.operator);
|
|
13
|
+
const [value, setValue] = useState(filter.value);
|
|
14
14
|
const [error, setError] = useState('');
|
|
15
15
|
const { label, operators, valueInputAccessibleName, valueInputPlaceholder, operatorSelectAccessibleName, valueValidator, operatorFormatter: formatOperator = defaultOperatorFormatter, } = filter.config;
|
|
16
|
+
const isValueEmpty = !value;
|
|
16
17
|
const cancelEdit = () => {
|
|
17
18
|
onEditCancel(filter);
|
|
18
19
|
};
|
|
@@ -21,8 +22,8 @@ export function StringFilterItem({ filter, isEditing, onEditStart, onEditCancel,
|
|
|
21
22
|
cancelEdit();
|
|
22
23
|
}
|
|
23
24
|
else {
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
setOperator(filter.operator);
|
|
26
|
+
setValue(filter.value);
|
|
26
27
|
onEditStart(filter);
|
|
27
28
|
}
|
|
28
29
|
};
|
|
@@ -32,28 +33,28 @@ export function StringFilterItem({ filter, isEditing, onEditStart, onEditCancel,
|
|
|
32
33
|
const onSubmit = (event) => {
|
|
33
34
|
event.preventDefault();
|
|
34
35
|
event.stopPropagation();
|
|
35
|
-
if (
|
|
36
|
+
if (isValueEmpty) {
|
|
36
37
|
return;
|
|
37
38
|
}
|
|
38
39
|
if (typeof valueValidator === 'function') {
|
|
39
|
-
const result = valueValidator(
|
|
40
|
+
const result = valueValidator(value);
|
|
40
41
|
if (!result.valid) {
|
|
41
42
|
return setError(result.error);
|
|
42
43
|
}
|
|
43
44
|
setError('');
|
|
44
45
|
}
|
|
45
|
-
if (
|
|
46
|
-
filter = filter.setOperator(
|
|
46
|
+
if (operator !== filter.operator) {
|
|
47
|
+
filter = filter.setOperator(operator);
|
|
47
48
|
}
|
|
48
|
-
if (
|
|
49
|
-
filter = filter.setValue(
|
|
49
|
+
if (value !== filter.value) {
|
|
50
|
+
filter = filter.setValue(value);
|
|
50
51
|
}
|
|
51
52
|
onChange(filter);
|
|
52
53
|
};
|
|
53
54
|
const renderAnchor = ({ ref }) => (_jsxs(FilterToken, { ref: ref, isHighlighted: isEditing, onClickLabel: startEdit, onClickCloseButton: onClickCloseButton, children: [label, filter.value
|
|
54
55
|
? _jsxs(_Fragment, { children: [" ", _jsx("span", { children: formatOperator(filter.operator) }), " ", _jsx("b", { children: filter.value })] })
|
|
55
56
|
: null] }));
|
|
56
|
-
return (_jsx(Popover, { className: "dc-filter-popover", anchorPadding: 2, isOpen: isEditing, onClose: cancelEdit, renderAnchor: renderAnchor, children: _jsxs("form", { className: "dc-filter-form", onSubmit: onSubmit, children: [_jsx(FilterOperatorSelect, { className: "dc-filter-form__operator", accessibleName: operatorSelectAccessibleName, label: label, values: operators, value:
|
|
57
|
+
return (_jsx(Popover, { className: "dc-filter-popover", anchorPadding: 2, isOpen: isEditing, onClose: cancelEdit, renderAnchor: renderAnchor, children: _jsxs("form", { className: "dc-filter-form", onSubmit: onSubmit, children: [_jsx(FilterOperatorSelect, { className: "dc-filter-form__operator", accessibleName: operatorSelectAccessibleName, label: label, values: operators, value: operator, onChange: setOperator, formatValue: formatOperator }), _jsx(StringFilterInput, { placeholder: valueInputPlaceholder, accessibleName: valueInputAccessibleName, error: error, value: value, onChangeValue: setValue }), _jsxs("div", { className: "dc-filter-form__buttons", children: [_jsx(Button, { onClick: cancelEdit, children: translations.cancelButton }), _jsx(Button, { type: "submit", tint: "blue", disabled: isValueEmpty, children: translations.applyButton })] })] }) }));
|
|
57
58
|
}
|
|
58
59
|
StringFilterItem.defaultOperatorFormatter = defaultOperatorFormatter;
|
|
59
60
|
function defaultOperatorFormatter(operator) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-filter-item.js","sourceRoot":"","sources":["../../../src/components/filtered-search/string-filter-item.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAA6B,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAyB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAA4B,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAW5C,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,QAAQ,GACc;IACtB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"string-filter-item.js","sourceRoot":"","sources":["../../../src/components/filtered-search/string-filter-item.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,14 @@ import { useTranslations } from './use-translations.js';
|
|
|
5
5
|
import { Popover } from '../popover/index.js';
|
|
6
6
|
import { FilterToken } from './filter-token.js';
|
|
7
7
|
import { FilterOperatorSelect } from './filter-operator-select.js';
|
|
8
|
-
import {
|
|
8
|
+
import { CheckboxGroup } from './checkbox-group.js';
|
|
9
9
|
import { Button } from '../button/index.js';
|
|
10
10
|
export function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }) {
|
|
11
11
|
const translations = useTranslations();
|
|
12
|
-
const [
|
|
13
|
-
const [
|
|
14
|
-
const { label,
|
|
12
|
+
const [operator, setOperator] = useState(filter.operator);
|
|
13
|
+
const [value, setValue] = useState(filter.value);
|
|
14
|
+
const { label, options, operators, operatorSelectAccessibleName, valueFormatter: formatValue = defaultValueFormatter, valuesFormatter: formatValues = defaultValuesFormatter, operatorFormatter: formatOperator = defaultOperatorFormatter, } = filter.config;
|
|
15
|
+
const isAnyOptionSelected = value.length > 0;
|
|
15
16
|
const cancelEdit = () => {
|
|
16
17
|
onEditCancel(filter);
|
|
17
18
|
};
|
|
@@ -20,8 +21,8 @@ export function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCanc
|
|
|
20
21
|
cancelEdit();
|
|
21
22
|
}
|
|
22
23
|
else {
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
setOperator(filter.operator);
|
|
25
|
+
setValue(filter.value);
|
|
25
26
|
onEditStart(filter);
|
|
26
27
|
}
|
|
27
28
|
};
|
|
@@ -31,22 +32,22 @@ export function StringSetFilterItem({ filter, isEditing, onEditStart, onEditCanc
|
|
|
31
32
|
const onSubmit = (event) => {
|
|
32
33
|
event.preventDefault();
|
|
33
34
|
event.stopPropagation();
|
|
34
|
-
if (
|
|
35
|
+
if (!isAnyOptionSelected) {
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
38
|
let changedFilter = filter;
|
|
38
|
-
if (
|
|
39
|
-
changedFilter = changedFilter.setOperator(
|
|
39
|
+
if (operator !== filter.operator) {
|
|
40
|
+
changedFilter = changedFilter.setOperator(operator);
|
|
40
41
|
}
|
|
41
|
-
if (
|
|
42
|
-
changedFilter = changedFilter.setValue(
|
|
42
|
+
if (value !== filter.value) {
|
|
43
|
+
changedFilter = changedFilter.setValue(value);
|
|
43
44
|
}
|
|
44
45
|
onChange(changedFilter);
|
|
45
46
|
};
|
|
46
47
|
const renderAnchor = ({ ref }) => (_jsxs(FilterToken, { ref: ref, isHighlighted: isEditing, onClickLabel: startEdit, onClickCloseButton: onClickCloseButton, children: [label, filter.value.length > 0
|
|
47
48
|
? _jsxs(_Fragment, { children: [" ", _jsx("span", { children: formatOperator(filter.operator) }), " ", _jsx("b", { children: formatValues(filter.value) })] })
|
|
48
49
|
: null] }));
|
|
49
|
-
return (_jsx(Popover, { className: "dc-filter-popover", anchorPadding: 2, isOpen: isEditing, onClose: cancelEdit, renderAnchor: renderAnchor, children: _jsxs("form", { className: "dc-filter-form", onSubmit: onSubmit, children: [_jsx(FilterOperatorSelect, { className: "dc-filter-form__operator", accessibleName: operatorSelectAccessibleName, label: label, values: operators, value:
|
|
50
|
+
return (_jsx(Popover, { className: "dc-filter-popover", anchorPadding: 2, isOpen: isEditing, onClose: cancelEdit, renderAnchor: renderAnchor, children: _jsxs("form", { className: "dc-filter-form", onSubmit: onSubmit, children: [_jsx(FilterOperatorSelect, { className: "dc-filter-form__operator", accessibleName: operatorSelectAccessibleName, label: label, values: operators, value: operator, onChange: setOperator, formatValue: formatOperator }), _jsx(CheckboxGroup, { className: "dc-filter-form__value-list", options: options, values: value, onChange: setValue, formatValue: formatValue }), _jsxs("div", { className: "dc-filter-form__buttons", children: [_jsx(Button, { onClick: cancelEdit, children: translations.cancelButton }), _jsx(Button, { type: "submit", tint: "blue", disabled: !isAnyOptionSelected, children: translations.applyButton })] })] }) }));
|
|
50
51
|
}
|
|
51
52
|
StringSetFilterItem.defaultValueFormatter = defaultValueFormatter;
|
|
52
53
|
StringSetFilterItem.defaultValuesFormatter = defaultValuesFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-set-filter-item.js","sourceRoot":"","sources":["../../../src/components/filtered-search/string-set-filter-item.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAgC,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAyB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAA4B,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"string-set-filter-item.js","sourceRoot":"","sources":["../../../src/components/filtered-search/string-set-filter-item.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export type
|
|
1
|
+
import type { RadioGroupFilter, RadioGroupFilterConfig } from './model/radio-group-filter.js';
|
|
2
|
+
import type { StringFilter, StringFilterConfig } from './model/string-filter.js';
|
|
3
|
+
import type { StringSetFilter, StringSetFilterConfig } from './model/string-set-filter.js';
|
|
4
|
+
export type FilterConfig = StringFilterConfig | StringSetFilterConfig | RadioGroupFilterConfig;
|
|
5
|
+
export type Filter = StringFilter | StringSetFilter | RadioGroupFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/filtered-search/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/filtered-search/types.ts"],"names":[],"mappings":""}
|
|
@@ -3,7 +3,6 @@ import { useId } from 'react';
|
|
|
3
3
|
import { classNames } from '../../lib/react-helpers.js';
|
|
4
4
|
import { Label } from '../label/index.js';
|
|
5
5
|
import { Caption } from '../caption/index.js';
|
|
6
|
-
import { ExclamationTriangleIcon } from '../hero-icons/24/solid/exclamation-triangle-icon.js';
|
|
7
6
|
export function FormField({ required = false, labelFor = '', label, error, hint, className = '', children, ...props }) {
|
|
8
7
|
const id = useId();
|
|
9
8
|
const invalid = Boolean(error);
|
|
@@ -37,4 +36,7 @@ export function FormField({ required = false, labelFor = '', label, error, hint,
|
|
|
37
36
|
? (_jsx(Label, { className: "dc-form-field__label", required: required, htmlFor: inputId, children: label }))
|
|
38
37
|
: null, _jsx("div", { className: "dc-form-field__input", children: inputElement }), errorElement, hintElement] }));
|
|
39
38
|
}
|
|
39
|
+
function ExclamationTriangleIcon(props) {
|
|
40
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: 24, height: 24, fill: "currentColor", ...props, children: _jsx("path", { fillRule: "evenodd", d: "M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z", clipRule: "evenodd" }) }));
|
|
41
|
+
}
|
|
40
42
|
//# sourceMappingURL=form-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../src/components/form-field/form-field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuC,KAAK,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../src/components/form-field/form-field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAuC,KAAK,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAwB9C,MAAM,UAAU,SAAS,CAAC,EACxB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,EAAE,EACb,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,EAAE,EACd,QAAQ,EACR,GAAG,KAAK,EACO;IACf,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,QAAQ,CAAC;IAC1C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,IAAI,WAAW,GAAc,IAAI,CAAC;IAClC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC;QACjC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,WAAW,GAAG,CACZ,KAAC,OAAO,IAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAC,qBAAqB,YACjD,IAAI,GACG,CACX,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,GAAc,IAAI,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,GAAG,OAAO,QAAQ,CAAC;QACnC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,YAAY,GAAG,CACb,KAAC,OAAO,IACN,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,sBAAsB,EAChC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,KAAK,EACX,IAAI,EAAE,KAAC,uBAAuB,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,YAEvD,KAAK,GACE,CACX,CAAC;IACJ,CAAC;IAED,IAAI,YAAuB,CAAC;IAC5B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,YAAY,GAAG,QAAQ,CAAC;YACtB,OAAO;YACP,QAAQ;YACR,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,gBAAgB;SAC9B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,OAAO,CACL,kBAAS,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,aAC9D,KAAK;gBACJ,CAAC,CAAC,CACE,KAAC,KAAK,IACJ,SAAS,EAAC,sBAAsB,EAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,YAEf,KAAK,GACA,CACT;gBACH,CAAC,CAAC,IAAI,EACR,cAAK,SAAS,EAAC,sBAAsB,YAClC,YAAY,GACT,EACL,YAAY,EACZ,WAAW,IACR,CACP,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA4B;IAC3D,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,IAAI,EAAC,cAAc,KACf,KAAK,YAET,eAAM,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,oPAAoP,EAAC,QAAQ,EAAC,SAAS,GAAG,GACjS,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { classNames } from '../../lib/react-helpers.js';
|
|
4
4
|
import { TextInput } from '../text-input/index.js';
|
|
5
5
|
import { Tooltip } from '../tooltip/index.js';
|
|
6
|
-
import { EyeIcon } from '../hero-icons/24/outline/eye-icon.js';
|
|
7
|
-
import { EyeSlashIcon } from '../hero-icons/24/outline/eye-slash-icon.js';
|
|
8
6
|
import { Spinner } from '../spinner/index.js';
|
|
9
7
|
import { Button } from '../button/index.js';
|
|
10
8
|
const getDefaultTooltipText = (visible) => (visible
|
|
@@ -25,4 +23,10 @@ export function PasswordInput({ className, loading = false, defaultVisible = fal
|
|
|
25
23
|
? _jsx(Spinner, { width: "1.15em" })
|
|
26
24
|
: renderToggleButtonIcon(visible) })) })) }));
|
|
27
25
|
}
|
|
26
|
+
function EyeIcon(props) {
|
|
27
|
+
return (_jsxs("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: "M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" }), _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" })] }));
|
|
28
|
+
}
|
|
29
|
+
function EyeSlashIcon(props) {
|
|
30
|
+
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: "M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88" }) }));
|
|
31
|
+
}
|
|
28
32
|
//# sourceMappingURL=password-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-input.js","sourceRoot":"","sources":["../../../src/components/password-input/password-input.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"password-input.js","sourceRoot":"","sources":["../../../src/components/password-input/password-input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA+D,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAuB,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAY5C,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,OAAO;IAC1D,CAAC,CAAC,eAAe;IACjB,CAAC,CAAC,eAAe,CAAC,CAAC;AAErB,MAAM,6BAA6B,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC,OAAO;IAClE,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAC,QAAQ,EAAC,MAAM,EAAC,QAAQ,GAAG;IACjD,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,EAAC,MAAM,EAAC,QAAQ,GAAG,CAAC,CAAC;AAEhD,MAAM,UAAU,aAAa,CAAC,EAC5B,SAAS,EACT,OAAO,GAAG,KAAK,EACf,cAAc,GAAG,KAAK,EACtB,cAAc,GAAG,qBAAqB,EACtC,sBAAsB,GAAG,6BAA6B,EACtD,mBAAmB,EACnB,GAAG,KAAK,EACW;IACnB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEvD,MAAM,uBAAuB,GAAyC,CAAC,KAAK,EAAE,EAAE;QAC9E,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAC9C,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,OACJ,KAAK,EACT,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,SAAS,CAAC,EACrD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EACnC,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC,QAAQ,EACnC,SAAS,EAAE,GAAG,EAAE,CAAC,CACf,KAAC,OAAO,IAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,YACpC,CAAC,KAAK,EAAE,EAAE,CAAC,CACV,KAAC,MAAM,OACD,KAAK,EACT,SAAS,EAAC,kCAAkC,EAC5C,WAAW,EAAC,OAAO,EACnB,OAAO,EAAE,uBAAuB,YAE/B,OAAO;oBACN,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,GAAG;oBAC5B,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAC5B,CACV,GACO,CACX,GACD,CACH,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAA4B;IAC3C,OAAO,CACL,eACE,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,aAET,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,CAAC,EAAC,0LAA0L,GAAG,EAClP,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,CAAC,EAAC,qCAAqC,GAAG,IACzF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAA4B;IAChD,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,8UAA8U,GAAG,GAClY,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { classNames, tryToFocusElement } from '../../lib/react-helpers.js';
|
|
3
3
|
import { observeElementMove } from '../../lib/observe-element-move.js';
|
|
4
|
+
import { observeElementChange } from '../../lib/observe-element-change.js';
|
|
4
5
|
import { calcElementPosition } from '../../lib/calc-element-position.js';
|
|
5
6
|
import { deleteKeys } from '../../lib/helpers.js';
|
|
6
7
|
import { useRefCallback } from '../../hooks/use-ref-callback.js';
|
|
@@ -62,7 +63,12 @@ export function Popover({ className, role = 'dialog', 'aria-modal': ariaModal =
|
|
|
62
63
|
popover.style.setProperty('max-height', `${result.maxHeight}px`);
|
|
63
64
|
};
|
|
64
65
|
positionPopover();
|
|
65
|
-
|
|
66
|
+
const stopObserveAnchorMove = observeElementMove(anchor, positionPopover);
|
|
67
|
+
const stopObservePopoverChange = observeElementChange(popover, positionPopover);
|
|
68
|
+
return () => {
|
|
69
|
+
stopObserveAnchorMove();
|
|
70
|
+
stopObservePopoverChange();
|
|
71
|
+
};
|
|
66
72
|
}
|
|
67
73
|
else {
|
|
68
74
|
popover.dataset.animation = 'leave';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,34 @@
|
|
|
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 { ArrowsUpDownIcon } from '../hero-icons/24/outline/arrows-up-down-icon.js';
|
|
5
|
-
import { ArrowUpIcon } from '../hero-icons/24/outline/arrow-up-icon.js';
|
|
6
|
-
import { ArrowDownIcon } from '../hero-icons/24/outline/arrow-down-icon.js';
|
|
7
|
-
const iconMapping = {
|
|
8
|
-
none: ArrowsUpDownIcon,
|
|
9
|
-
ascending: ArrowUpIcon,
|
|
10
|
-
descending: ArrowDownIcon,
|
|
11
|
-
};
|
|
12
|
-
const stateMapping = {
|
|
13
|
-
none: 'ascending',
|
|
14
|
-
ascending: 'descending',
|
|
15
|
-
descending: 'none',
|
|
16
|
-
};
|
|
17
4
|
export function TableHeadCell({ isSortable = false, sort = 'none', className, children, onChangeSort, ...props }) {
|
|
18
5
|
if (isSortable) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
let icon;
|
|
7
|
+
if (sort === 'ascending') {
|
|
8
|
+
icon = _jsx(ChevronUpIcon, {});
|
|
9
|
+
}
|
|
10
|
+
else if (sort === 'descending') {
|
|
11
|
+
icon = _jsx(ChevronDownIcon, {});
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
icon = _jsx(ChevronUpDownIcon, {});
|
|
15
|
+
}
|
|
16
|
+
const handleClick = () => {
|
|
17
|
+
if (typeof onChangeSort === 'function') {
|
|
18
|
+
let nextSort;
|
|
19
|
+
if (sort === 'ascending') {
|
|
20
|
+
nextSort = 'descending';
|
|
23
21
|
}
|
|
24
|
-
|
|
22
|
+
else if (sort === 'descending') {
|
|
23
|
+
nextSort = 'none';
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
nextSort = 'ascending';
|
|
27
|
+
}
|
|
28
|
+
onChangeSort(nextSort);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
children = (_jsxs("button", { className: "dc-table-cell__sort-btn", type: "button", onClick: handleClick, children: [children, icon && (_jsx("span", { className: "dc-table-cell__sort-btn-icon", "aria-hidden": true, children: icon }))] }));
|
|
25
32
|
}
|
|
26
33
|
return (_jsx("th", { ...props, className: classNames(className, {
|
|
27
34
|
'dc-table-cell': true,
|
|
@@ -29,4 +36,13 @@ export function TableHeadCell({ isSortable = false, sort = 'none', className, ch
|
|
|
29
36
|
'dc-table-cell_sortable': isSortable,
|
|
30
37
|
}), "aria-sort": isSortable ? sort : props['aria-sort'], children: children }));
|
|
31
38
|
}
|
|
39
|
+
function ChevronUpIcon({ width = 20, height = 20, ...props }) {
|
|
40
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", width: width, height: height, fill: "currentColor", ...props, children: _jsx("path", { d: "M9.47 6.47a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 1 1-1.06 1.06L10 8.06l-3.72 3.72a.75.75 0 0 1-1.06-1.06l4.25-4.25Z", clipRule: "evenodd", fillRule: "evenodd" }) }));
|
|
41
|
+
}
|
|
42
|
+
function ChevronDownIcon({ width = 20, height = 20, ...props }) {
|
|
43
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", width: width, height: height, fill: "currentColor", ...props, children: _jsx("path", { d: "M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z", clipRule: "evenodd", fillRule: "evenodd" }) }));
|
|
44
|
+
}
|
|
45
|
+
function ChevronUpDownIcon({ width = 20, height = 20, ...props }) {
|
|
46
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", width: width, height: height, fill: "currentColor", ...props, children: _jsx("path", { d: "M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z", clipRule: "evenodd", fillRule: "evenodd" }) }));
|
|
47
|
+
}
|
|
32
48
|
//# sourceMappingURL=table-head-cell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-head-cell.js","sourceRoot":"","sources":["../../../src/components/table/table-head-cell.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"table-head-cell.js","sourceRoot":"","sources":["../../../src/components/table/table-head-cell.tsx"],"names":[],"mappings":"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"}
|