@preply/ds-web-lib 0.89.0 → 0.90.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/dist/components/Chips/Chips.d.ts +80 -0
- package/dist/components/Chips/Chips.d.ts.map +1 -0
- package/dist/components/Chips/Chips.js +36 -0
- package/dist/components/Chips/Chips.stories.d.ts +10 -0
- package/dist/components/Chips/Chips.stories.d.ts.map +1 -0
- package/dist/components/Chips/Chips.stories.js +76 -0
- package/dist/components/Chips/style/index.module.less +94 -0
- package/dist/components/Chips/style/index.module.less.js +9 -0
- package/package.json +12 -12
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Dataset } from '@preply/ds-core';
|
|
2
|
+
import { ReactSVGComponentType } from '@preply/ds-web-core';
|
|
3
|
+
import { FC, ReactNode } from 'react';
|
|
4
|
+
interface ChipsProps {
|
|
5
|
+
/**
|
|
6
|
+
* The Chip list variant;
|
|
7
|
+
* - For simple checkbox-like behaviour, use `choice`.
|
|
8
|
+
* - For more complex filtering controls, use `filter`.
|
|
9
|
+
*
|
|
10
|
+
* @default choice
|
|
11
|
+
*/
|
|
12
|
+
variant?: 'choice' | 'filter';
|
|
13
|
+
/**
|
|
14
|
+
* Allows assistive technologies to correctly identify and announce
|
|
15
|
+
* the Chip list.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <Chips aria-label="tutor filter">
|
|
19
|
+
* // When the Chip below is in focus, screen readers may announce it as:
|
|
20
|
+
* // "tutor filter list, option 1, Availability, press to toggle"
|
|
21
|
+
* <Chips.Item label="Availability" />
|
|
22
|
+
* </Chips>
|
|
23
|
+
*/
|
|
24
|
+
'aria-label': string;
|
|
25
|
+
/**
|
|
26
|
+
* These should be {@link Chips.Item}s.
|
|
27
|
+
*/
|
|
28
|
+
children: ReactNode;
|
|
29
|
+
dataset?: Dataset;
|
|
30
|
+
}
|
|
31
|
+
interface ChipsSubcomponents {
|
|
32
|
+
/**
|
|
33
|
+
* A single {@link Chips} list item.
|
|
34
|
+
*/
|
|
35
|
+
Item: FC<ChipsItemProps>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A Chips container; add {@link Chips.Item} children to render a list of Chips.
|
|
39
|
+
*/
|
|
40
|
+
export declare const Chips: FC<ChipsProps> & ChipsSubcomponents;
|
|
41
|
+
interface ChipsItemProps {
|
|
42
|
+
label: ReactNode;
|
|
43
|
+
leadingSvgIcon?: ReactSVGComponentType;
|
|
44
|
+
/**
|
|
45
|
+
* The current state of the Chip; this needs to be controlled manually,
|
|
46
|
+
* to cater for cases in which a Chip also controls a seperate filter menu.
|
|
47
|
+
*/
|
|
48
|
+
pressed: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Called when the Chip is pressed, and returns the resulting state udpate.
|
|
51
|
+
*
|
|
52
|
+
* @see {@link ChipItemProps.pressed} for controlling the Chip state.
|
|
53
|
+
* @see {@link ChipItemProps.onRemove} for when the user removes the Chip.
|
|
54
|
+
*/
|
|
55
|
+
onToggle?: (newState: boolean) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Called when the Chip's remove (`X`) button is clicked.
|
|
58
|
+
* This is only available for `filter` Chips.
|
|
59
|
+
*/
|
|
60
|
+
onRemove?: () => void;
|
|
61
|
+
/**
|
|
62
|
+
* If the Chip toggles the presence or content of another element, set this
|
|
63
|
+
* prop to the ID of that element.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* <Chips variant="filter">
|
|
67
|
+
* <Chips.Item
|
|
68
|
+
* label="Availability"
|
|
69
|
+
* pressed={filterByAvailability}
|
|
70
|
+
* aria-controls="tutor-search-list"
|
|
71
|
+
* />
|
|
72
|
+
* </Chips>
|
|
73
|
+
* ...
|
|
74
|
+
* <TutorSearchList id="tutor-search-list" />
|
|
75
|
+
*/
|
|
76
|
+
'aria-controls'?: string;
|
|
77
|
+
dataset?: Dataset;
|
|
78
|
+
}
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=Chips.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chips.d.ts","sourceRoot":"","sources":["../../../src/components/Chips/Chips.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAmB,MAAM,qBAAqB,CAAC;AAC7E,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAM7C,UAAU,UAAU;IAChB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,kBAAkB;IACxB;;OAEG;IACH,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,kBAYpC,CAAC;AAEF,UAAU,cAAc;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import CloseIcon from '@preply/ds-media-icons/dist/24/Close.svg';
|
|
2
|
+
import { getDatasetProps } from '@preply/ds-web-core';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { Icon } from '../Icon/Icon.js';
|
|
5
|
+
import styles from './style/index.module.less.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A Chips container; add {@link Chips.Item} children to render a list of Chips.
|
|
9
|
+
*/
|
|
10
|
+
const Chips = ({ variant = 'choice', children, 'aria-label': ariaLabel, dataset, }) => {
|
|
11
|
+
const dataAttributes = { ...dataset, variant };
|
|
12
|
+
return (React__default.createElement("ul", { "aria-label": ariaLabel, className: styles.chips, ...getDatasetProps(dataAttributes) }, children));
|
|
13
|
+
};
|
|
14
|
+
Chips.Item = function ChipsItem({ label, leadingSvgIcon, pressed, onToggle, onRemove, 'aria-controls': ariaControls, dataset, }) {
|
|
15
|
+
const toggle = () => onToggle === null || onToggle === void 0 ? void 0 : onToggle(!pressed);
|
|
16
|
+
const remove = onRemove !== null && onRemove !== void 0 ? onRemove : toggle;
|
|
17
|
+
return (React__default.createElement("li", { role: "group", className: styles.chip, ...getDatasetProps(dataset, { preplyDsComponent: 'Chip' }) },
|
|
18
|
+
React__default.createElement("button", { type: "button", className: styles['chip-toggle'], "aria-pressed": pressed, "aria-controls": ariaControls, onClick: toggle, onKeyUp: e => {
|
|
19
|
+
switch (e.key) {
|
|
20
|
+
case 'Backspace':
|
|
21
|
+
case 'Delete':
|
|
22
|
+
if (!pressed) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
toggle();
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
} },
|
|
29
|
+
leadingSvgIcon && React__default.createElement(Icon, { size: "24", svg: leadingSvgIcon }),
|
|
30
|
+
label),
|
|
31
|
+
React__default.createElement("button", { type: "button", className: styles['chip-remove'], onClick: remove, "aria-label": "Remove", "aria-controls": ariaControls },
|
|
32
|
+
React__default.createElement(Icon, { size: "24", svg: CloseIcon }))));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { Chips };
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hpcHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NoaXBzL0NoaXBzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhc2V0IH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCBDbG9zZUljb24gZnJvbSAnQHByZXBseS9kcy1tZWRpYS1pY29ucy9kaXN0LzI0L0Nsb3NlLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdFNWR0NvbXBvbmVudFR5cGUsIGdldERhdGFzZXRQcm9wcyB9IGZyb20gJ0BwcmVwbHkvZHMtd2ViLWNvcmUnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi9JY29uL0ljb24nO1xuXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vc3R5bGUvaW5kZXgubW9kdWxlLmxlc3MnO1xuXG5pbnRlcmZhY2UgQ2hpcHNQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIENoaXAgbGlzdCB2YXJpYW50O1xuICAgICAqIC0gRm9yIHNpbXBsZSBjaGVja2JveC1saWtlIGJlaGF2aW91ciwgdXNlIGBjaG9pY2VgLlxuICAgICAqIC0gRm9yIG1vcmUgY29tcGxleCBmaWx0ZXJpbmcgY29udHJvbHMsIHVzZSBgZmlsdGVyYC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGNob2ljZVxuICAgICAqL1xuICAgIHZhcmlhbnQ/OiAnY2hvaWNlJyB8ICdmaWx0ZXInO1xuICAgIC8qKlxuICAgICAqIEFsbG93cyBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIHRvIGNvcnJlY3RseSBpZGVudGlmeSBhbmQgYW5ub3VuY2VcbiAgICAgKiB0aGUgQ2hpcCBsaXN0LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiA8Q2hpcHMgYXJpYS1sYWJlbD1cInR1dG9yIGZpbHRlclwiPlxuICAgICAqICAgLy8gV2hlbiB0aGUgQ2hpcCBiZWxvdyBpcyBpbiBmb2N1cywgc2NyZWVuIHJlYWRlcnMgbWF5IGFubm91bmNlIGl0IGFzOlxuICAgICAqICAgLy8gXCJ0dXRvciBmaWx0ZXIgbGlzdCwgb3B0aW9uIDEsIEF2YWlsYWJpbGl0eSwgcHJlc3MgdG8gdG9nZ2xlXCJcbiAgICAgKiAgIDxDaGlwcy5JdGVtIGxhYmVsPVwiQXZhaWxhYmlsaXR5XCIgLz5cbiAgICAgKiA8L0NoaXBzPlxuICAgICAqL1xuICAgICdhcmlhLWxhYmVsJzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZXNlIHNob3VsZCBiZSB7QGxpbmsgQ2hpcHMuSXRlbX1zLlxuICAgICAqL1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gICAgZGF0YXNldD86IERhdGFzZXQ7XG59XG5cbmludGVyZmFjZSBDaGlwc1N1YmNvbXBvbmVudHMge1xuICAgIC8qKlxuICAgICAqIEEgc2luZ2xlIHtAbGluayBDaGlwc30gbGlzdCBpdGVtLlxuICAgICAqL1xuICAgIEl0ZW06IEZDPENoaXBzSXRlbVByb3BzPjtcbn1cblxuLyoqXG4gKiBBIENoaXBzIGNvbnRhaW5lcjsgYWRkIHtAbGluayBDaGlwcy5JdGVtfSBjaGlsZHJlbiB0byByZW5kZXIgYSBsaXN0IG9mIENoaXBzLlxuICovXG5leHBvcnQgY29uc3QgQ2hpcHM6IEZDPENoaXBzUHJvcHM+ICYgQ2hpcHNTdWJjb21wb25lbnRzID0gKHtcbiAgICB2YXJpYW50ID0gJ2Nob2ljZScsXG4gICAgY2hpbGRyZW4sXG4gICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgZGF0YXNldCxcbn0pID0+IHtcbiAgICBjb25zdCBkYXRhQXR0cmlidXRlcyA9IHsgLi4uZGF0YXNldCwgdmFyaWFudCB9O1xuICAgIHJldHVybiAoXG4gICAgICAgIDx1bCBhcmlhLWxhYmVsPXthcmlhTGFiZWx9IGNsYXNzTmFtZT17c3R5bGVzLmNoaXBzfSB7Li4uZ2V0RGF0YXNldFByb3BzKGRhdGFBdHRyaWJ1dGVzKX0+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvdWw+XG4gICAgKTtcbn07XG5cbmludGVyZmFjZSBDaGlwc0l0ZW1Qcm9wcyB7XG4gICAgbGFiZWw6IFJlYWN0Tm9kZTtcbiAgICBsZWFkaW5nU3ZnSWNvbj86IFJlYWN0U1ZHQ29tcG9uZW50VHlwZTtcbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgQ2hpcDsgdGhpcyBuZWVkcyB0byBiZSBjb250cm9sbGVkIG1hbnVhbGx5LFxuICAgICAqIHRvIGNhdGVyIGZvciBjYXNlcyBpbiB3aGljaCBhIENoaXAgYWxzbyBjb250cm9scyBhIHNlcGVyYXRlIGZpbHRlciBtZW51LlxuICAgICAqL1xuICAgIHByZXNzZWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIENoaXAgaXMgcHJlc3NlZCwgYW5kIHJldHVybnMgdGhlIHJlc3VsdGluZyBzdGF0ZSB1ZHBhdGUuXG4gICAgICpcbiAgICAgKiBAc2VlIHtAbGluayBDaGlwSXRlbVByb3BzLnByZXNzZWR9IGZvciBjb250cm9sbGluZyB0aGUgQ2hpcCBzdGF0ZS5cbiAgICAgKiBAc2VlIHtAbGluayBDaGlwSXRlbVByb3BzLm9uUmVtb3ZlfSBmb3Igd2hlbiB0aGUgdXNlciByZW1vdmVzIHRoZSBDaGlwLlxuICAgICAqL1xuICAgIG9uVG9nZ2xlPzogKG5ld1N0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIENhbGxlZCB3aGVuIHRoZSBDaGlwJ3MgcmVtb3ZlIChgWGApIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgICAqIFRoaXMgaXMgb25seSBhdmFpbGFibGUgZm9yIGBmaWx0ZXJgIENoaXBzLlxuICAgICAqL1xuICAgIG9uUmVtb3ZlPzogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgQ2hpcCB0b2dnbGVzIHRoZSBwcmVzZW5jZSBvciBjb250ZW50IG9mIGFub3RoZXIgZWxlbWVudCwgc2V0IHRoaXNcbiAgICAgKiBwcm9wIHRvIHRoZSBJRCBvZiB0aGF0IGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIDxDaGlwcyB2YXJpYW50PVwiZmlsdGVyXCI+XG4gICAgICogICA8Q2hpcHMuSXRlbVxuICAgICAqICAgICBsYWJlbD1cIkF2YWlsYWJpbGl0eVwiXG4gICAgICogICAgIHByZXNzZWQ9e2ZpbHRlckJ5QXZhaWxhYmlsaXR5fVxuICAgICAqICAgICBhcmlhLWNvbnRyb2xzPVwidHV0b3Itc2VhcmNoLWxpc3RcIlxuICAgICAqICAgLz5cbiAgICAgKiA8L0NoaXBzPlxuICAgICAqIC4uLlxuICAgICAqIDxUdXRvclNlYXJjaExpc3QgaWQ9XCJ0dXRvci1zZWFyY2gtbGlzdFwiIC8+XG4gICAgICovXG4gICAgJ2FyaWEtY29udHJvbHMnPzogc3RyaW5nO1xuICAgIGRhdGFzZXQ/OiBEYXRhc2V0O1xufVxuXG5DaGlwcy5JdGVtID0gZnVuY3Rpb24gQ2hpcHNJdGVtKHtcbiAgICBsYWJlbCxcbiAgICBsZWFkaW5nU3ZnSWNvbixcbiAgICBwcmVzc2VkLFxuICAgIG9uVG9nZ2xlLFxuICAgIG9uUmVtb3ZlLFxuICAgICdhcmlhLWNvbnRyb2xzJzogYXJpYUNvbnRyb2xzLFxuICAgIGRhdGFzZXQsXG59KSB7XG4gICAgY29uc3QgdG9nZ2xlID0gKCkgPT4gb25Ub2dnbGU/LighcHJlc3NlZCk7XG4gICAgY29uc3QgcmVtb3ZlID0gb25SZW1vdmUgPz8gdG9nZ2xlO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxsaVxuICAgICAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmNoaXB9XG4gICAgICAgICAgICB7Li4uZ2V0RGF0YXNldFByb3BzKGRhdGFzZXQsIHsgcHJlcGx5RHNDb21wb25lbnQ6ICdDaGlwJyB9KX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydjaGlwLXRvZ2dsZSddfVxuICAgICAgICAgICAgICAgIGFyaWEtcHJlc3NlZD17cHJlc3NlZH1cbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPXthcmlhQ29udHJvbHN9XG4gICAgICAgICAgICAgICAgb25DbGljaz17dG9nZ2xlfVxuICAgICAgICAgICAgICAgIG9uS2V5VXA9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGUua2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdCYWNrc3BhY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnRGVsZXRlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXNzZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtsZWFkaW5nU3ZnSWNvbiAmJiA8SWNvbiBzaXplPVwiMjRcIiBzdmc9e2xlYWRpbmdTdmdJY29ufSAvPn1cbiAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snY2hpcC1yZW1vdmUnXX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtyZW1vdmV9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlJlbW92ZVwiXG4gICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJY29uIHNpemU9XCIyNFwiIHN2Zz17Q2xvc2VJY29ufSAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgKTtcbn07XG4iXSwibmFtZXMiOlsiUmVhY3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQTRDQTs7O01BR2EsS0FBSyxHQUF3QyxDQUFDLEVBQ3ZELE9BQU8sR0FBRyxRQUFRLEVBQ2xCLFFBQVEsRUFDUixZQUFZLEVBQUUsU0FBUyxFQUN2QixPQUFPLEdBQ1Y7SUFDRyxNQUFNLGNBQWMsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQy9DLFFBQ0lBLG1EQUFnQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEtBQU0sZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUNsRixRQUFRLENBQ1IsRUFDUDtBQUNOLEVBQUU7QUF5Q0YsS0FBSyxDQUFDLElBQUksR0FBRyxTQUFTLFNBQVMsQ0FBQyxFQUM1QixLQUFLLEVBQ0wsY0FBYyxFQUNkLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxFQUNSLGVBQWUsRUFBRSxZQUFZLEVBQzdCLE9BQU8sR0FDVjtJQUNHLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxhQUFSLFFBQVEsY0FBUixRQUFRLEdBQUksTUFBTSxDQUFDO0lBQ2xDLFFBQ0lBLHFDQUNJLElBQUksRUFBQyxPQUFPLEVBQ1osU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQ2xCLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUUzREEseUNBQ0ksSUFBSSxFQUFDLFFBQVEsRUFDYixTQUFTLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFDbEIsT0FBTyxtQkFDTixZQUFZLEVBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsT0FBTyxFQUFFLENBQUM7Z0JBQ04sUUFBUSxDQUFDLENBQUMsR0FBRztvQkFDVCxLQUFLLFdBQVcsQ0FBQztvQkFDakIsS0FBSyxRQUFRO3dCQUNULElBQUksQ0FBQyxPQUFPLEVBQUU7NEJBQ1YsT0FBTzt5QkFDVjt3QkFDRCxNQUFNLEVBQUUsQ0FBQzt3QkFDVCxNQUFNO2lCQUViO2FBQ0o7WUFFQSxjQUFjLElBQUlBLDZCQUFDLElBQUksSUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLEdBQUcsRUFBRSxjQUFjLEdBQUk7WUFDekQsS0FBSyxDQUNEO1FBQ1RBLHlDQUNJLElBQUksRUFBQyxRQUFRLEVBQ2IsU0FBUyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFDaEMsT0FBTyxFQUFFLE1BQU0sZ0JBQ0osUUFBUSxtQkFDSixZQUFZO1lBRTNCQSw2QkFBQyxJQUFJLElBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxHQUFHLEVBQUUsU0FBUyxHQUFJLENBQzdCLENBQ1IsRUFDUDtBQUNOLENBQUM7Ozs7In0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StoryFn } from '@storybook/react';
|
|
2
|
+
import { Chips } from './Chips';
|
|
3
|
+
declare type ChipsStory = StoryFn<typeof Chips>;
|
|
4
|
+
export declare const Choice: ChipsStory;
|
|
5
|
+
export declare const ChoiceWithIcons: StoryFn<typeof Chips>;
|
|
6
|
+
export declare const Filter: StoryFn<typeof Chips>;
|
|
7
|
+
export declare const FilterWithIcons: StoryFn<typeof Chips>;
|
|
8
|
+
export declare const ComplexFilter: StoryFn<typeof Chips>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Chips.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chips.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Chips/Chips.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,aAAK,UAAU,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;AAExC,eAAO,MAAM,MAAM,EAAE,UAqBpB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,OAAO,KAAK,CAsBjD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,OAAO,KAAK,CAqBxC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,OAAO,KAAK,CAsBjD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,OAAO,KAAK,CAkD/C,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import FavIcon from '@preply/ds-media-icons/dist/24/TokyoUIFav.svg';
|
|
2
|
+
import React__default, { useState } from 'react';
|
|
3
|
+
import { Chips } from './Chips.js';
|
|
4
|
+
|
|
5
|
+
const Choice = () => {
|
|
6
|
+
const [choices, setChoices] = useState({
|
|
7
|
+
Ambition: false,
|
|
8
|
+
Boldness: false,
|
|
9
|
+
Collaboration: false,
|
|
10
|
+
});
|
|
11
|
+
return (React__default.createElement(Chips, { variant: "choice", "aria-label": "Principle choices" }, Object.entries(choices).map(([name, pressed]) => (React__default.createElement(Chips.Item, { key: name, label: name, pressed: pressed, onToggle: newState => {
|
|
12
|
+
setChoices(prev => ({ ...prev, [name]: newState }));
|
|
13
|
+
} })))));
|
|
14
|
+
};
|
|
15
|
+
const ChoiceWithIcons = () => {
|
|
16
|
+
const [choices, setChoices] = useState({
|
|
17
|
+
Ambition: false,
|
|
18
|
+
Boldness: false,
|
|
19
|
+
Collaboration: false,
|
|
20
|
+
});
|
|
21
|
+
return (React__default.createElement(Chips, { variant: "choice", "aria-label": "Principle choices" }, Object.entries(choices).map(([name, pressed]) => (React__default.createElement(Chips.Item, { key: name, label: name, leadingSvgIcon: FavIcon, pressed: pressed, onToggle: newState => {
|
|
22
|
+
setChoices(prev => ({ ...prev, [name]: newState }));
|
|
23
|
+
} })))));
|
|
24
|
+
};
|
|
25
|
+
const Filter = () => {
|
|
26
|
+
const [filters, setFilters] = useState({
|
|
27
|
+
Ambition: false,
|
|
28
|
+
Boldness: false,
|
|
29
|
+
Collaboration: false,
|
|
30
|
+
});
|
|
31
|
+
return (React__default.createElement(Chips, { variant: "filter", "aria-label": "Principle filters" }, Object.entries(filters).map(([name, pressed]) => (React__default.createElement(Chips.Item, { key: name, label: name, pressed: pressed, onToggle: newState => {
|
|
32
|
+
setFilters(prev => ({ ...prev, [name]: newState }));
|
|
33
|
+
} })))));
|
|
34
|
+
};
|
|
35
|
+
const FilterWithIcons = () => {
|
|
36
|
+
const [filters, setFilters] = useState({
|
|
37
|
+
Ambition: false,
|
|
38
|
+
Boldness: false,
|
|
39
|
+
Collaboration: false,
|
|
40
|
+
});
|
|
41
|
+
return (React__default.createElement(Chips, { variant: "filter", "aria-label": "Principle filters" }, Object.entries(filters).map(([name, pressed]) => (React__default.createElement(Chips.Item, { key: name, label: name, leadingSvgIcon: FavIcon, pressed: pressed, onToggle: newState => {
|
|
42
|
+
setFilters(prev => ({ ...prev, [name]: newState }));
|
|
43
|
+
} })))));
|
|
44
|
+
};
|
|
45
|
+
const ComplexFilter = () => {
|
|
46
|
+
const [filterPrinciple, setFilterPrinciple] = useState(false);
|
|
47
|
+
const [principle, setPrinciple] = useState(undefined);
|
|
48
|
+
return (React__default.createElement("div", null,
|
|
49
|
+
React__default.createElement(Chips, { variant: "filter", "aria-label": "Principle filters" },
|
|
50
|
+
React__default.createElement(Chips.Item, { label: "Principles", pressed: filterPrinciple, onToggle: newState => {
|
|
51
|
+
if (principle !== undefined) {
|
|
52
|
+
setPrinciple(undefined);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
setFilterPrinciple(newState);
|
|
56
|
+
}, onRemove: () => {
|
|
57
|
+
setPrinciple(undefined);
|
|
58
|
+
setFilterPrinciple(false);
|
|
59
|
+
}, "aria-controls": "principle-menu" })),
|
|
60
|
+
React__default.createElement("div", { id: "principle-menu" }, filterPrinciple &&
|
|
61
|
+
(principle ? (React__default.createElement(React__default.Fragment, null,
|
|
62
|
+
React__default.createElement("p", null, "Your favorite principle is:"),
|
|
63
|
+
React__default.createElement("p", null, principle))) : (React__default.createElement(React__default.Fragment, null,
|
|
64
|
+
React__default.createElement("p", null, "What's your favorite principle?"),
|
|
65
|
+
React__default.createElement("form", { onSubmit: e => {
|
|
66
|
+
e.preventDefault();
|
|
67
|
+
// @ts-expect-error - submitter exists https://developer.mozilla.org/en-US/docs/Web/API/SubmitEvent/submitter
|
|
68
|
+
setPrinciple(e.nativeEvent.submitter.value);
|
|
69
|
+
} },
|
|
70
|
+
React__default.createElement("input", { type: "submit", value: "Ambition" }),
|
|
71
|
+
React__default.createElement("input", { type: "submit", value: "Boldness" }),
|
|
72
|
+
React__default.createElement("input", { type: "submit", value: "Collaboration" }))))))));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export { Choice, ChoiceWithIcons, ComplexFilter, Filter, FilterWithIcons };
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hpcHMuc3Rvcmllcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ2hpcHMvQ2hpcHMuc3Rvcmllcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZhdkljb24gZnJvbSAnQHByZXBseS9kcy1tZWRpYS1pY29ucy9kaXN0LzI0L1Rva3lvVUlGYXYuc3ZnJztcbmltcG9ydCB7IFN0b3J5Rm4gfSBmcm9tICdAc3Rvcnlib29rL3JlYWN0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgQ2hpcHMgfSBmcm9tICcuL0NoaXBzJztcblxudHlwZSBDaGlwc1N0b3J5ID0gU3RvcnlGbjx0eXBlb2YgQ2hpcHM+O1xuXG5leHBvcnQgY29uc3QgQ2hvaWNlOiBDaGlwc1N0b3J5ID0gKCkgPT4ge1xuICAgIGNvbnN0IFtjaG9pY2VzLCBzZXRDaG9pY2VzXSA9IHVzZVN0YXRlKHtcbiAgICAgICAgQW1iaXRpb246IGZhbHNlLFxuICAgICAgICBCb2xkbmVzczogZmFsc2UsXG4gICAgICAgIENvbGxhYm9yYXRpb246IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPENoaXBzIHZhcmlhbnQ9XCJjaG9pY2VcIiBhcmlhLWxhYmVsPVwiUHJpbmNpcGxlIGNob2ljZXNcIj5cbiAgICAgICAgICAgIHtPYmplY3QuZW50cmllcyhjaG9pY2VzKS5tYXAoKFtuYW1lLCBwcmVzc2VkXSkgPT4gKFxuICAgICAgICAgICAgICAgIDxDaGlwcy5JdGVtXG4gICAgICAgICAgICAgICAgICAgIGtleT17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHByZXNzZWQ9e3ByZXNzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uVG9nZ2xlPXtuZXdTdGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRDaG9pY2VzKHByZXYgPT4gKHsgLi4ucHJldiwgW25hbWVdOiBuZXdTdGF0ZSB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L0NoaXBzPlxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ2hvaWNlV2l0aEljb25zOiBTdG9yeUZuPHR5cGVvZiBDaGlwcz4gPSAoKSA9PiB7XG4gICAgY29uc3QgW2Nob2ljZXMsIHNldENob2ljZXNdID0gdXNlU3RhdGUoe1xuICAgICAgICBBbWJpdGlvbjogZmFsc2UsXG4gICAgICAgIEJvbGRuZXNzOiBmYWxzZSxcbiAgICAgICAgQ29sbGFib3JhdGlvbjogZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8Q2hpcHMgdmFyaWFudD1cImNob2ljZVwiIGFyaWEtbGFiZWw9XCJQcmluY2lwbGUgY2hvaWNlc1wiPlxuICAgICAgICAgICAge09iamVjdC5lbnRyaWVzKGNob2ljZXMpLm1hcCgoW25hbWUsIHByZXNzZWRdKSA9PiAoXG4gICAgICAgICAgICAgICAgPENoaXBzLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZ1N2Z0ljb249e0Zhdkljb259XG4gICAgICAgICAgICAgICAgICAgIHByZXNzZWQ9e3ByZXNzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uVG9nZ2xlPXtuZXdTdGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRDaG9pY2VzKHByZXYgPT4gKHsgLi4ucHJldiwgW25hbWVdOiBuZXdTdGF0ZSB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L0NoaXBzPlxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgRmlsdGVyOiBTdG9yeUZuPHR5cGVvZiBDaGlwcz4gPSAoKSA9PiB7XG4gICAgY29uc3QgW2ZpbHRlcnMsIHNldEZpbHRlcnNdID0gdXNlU3RhdGUoe1xuICAgICAgICBBbWJpdGlvbjogZmFsc2UsXG4gICAgICAgIEJvbGRuZXNzOiBmYWxzZSxcbiAgICAgICAgQ29sbGFib3JhdGlvbjogZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8Q2hpcHMgdmFyaWFudD1cImZpbHRlclwiIGFyaWEtbGFiZWw9XCJQcmluY2lwbGUgZmlsdGVyc1wiPlxuICAgICAgICAgICAge09iamVjdC5lbnRyaWVzKGZpbHRlcnMpLm1hcCgoW25hbWUsIHByZXNzZWRdKSA9PiAoXG4gICAgICAgICAgICAgICAgPENoaXBzLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgcHJlc3NlZD17cHJlc3NlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Ub2dnbGU9e25ld1N0YXRlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZpbHRlcnMocHJldiA9PiAoeyAuLi5wcmV2LCBbbmFtZV06IG5ld1N0YXRlIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvQ2hpcHM+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJXaXRoSWNvbnM6IFN0b3J5Rm48dHlwZW9mIENoaXBzPiA9ICgpID0+IHtcbiAgICBjb25zdCBbZmlsdGVycywgc2V0RmlsdGVyc10gPSB1c2VTdGF0ZSh7XG4gICAgICAgIEFtYml0aW9uOiBmYWxzZSxcbiAgICAgICAgQm9sZG5lc3M6IGZhbHNlLFxuICAgICAgICBDb2xsYWJvcmF0aW9uOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxDaGlwcyB2YXJpYW50PVwiZmlsdGVyXCIgYXJpYS1sYWJlbD1cIlByaW5jaXBsZSBmaWx0ZXJzXCI+XG4gICAgICAgICAgICB7T2JqZWN0LmVudHJpZXMoZmlsdGVycykubWFwKChbbmFtZSwgcHJlc3NlZF0pID0+IChcbiAgICAgICAgICAgICAgICA8Q2hpcHMuSXRlbVxuICAgICAgICAgICAgICAgICAgICBrZXk9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nU3ZnSWNvbj17RmF2SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgcHJlc3NlZD17cHJlc3NlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Ub2dnbGU9e25ld1N0YXRlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEZpbHRlcnMocHJldiA9PiAoeyAuLi5wcmV2LCBbbmFtZV06IG5ld1N0YXRlIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvQ2hpcHM+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBDb21wbGV4RmlsdGVyOiBTdG9yeUZuPHR5cGVvZiBDaGlwcz4gPSAoKSA9PiB7XG4gICAgY29uc3QgW2ZpbHRlclByaW5jaXBsZSwgc2V0RmlsdGVyUHJpbmNpcGxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbcHJpbmNpcGxlLCBzZXRQcmluY2lwbGVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxDaGlwcyB2YXJpYW50PVwiZmlsdGVyXCIgYXJpYS1sYWJlbD1cIlByaW5jaXBsZSBmaWx0ZXJzXCI+XG4gICAgICAgICAgICAgICAgPENoaXBzLkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJQcmluY2lwbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgcHJlc3NlZD17ZmlsdGVyUHJpbmNpcGxlfVxuICAgICAgICAgICAgICAgICAgICBvblRvZ2dsZT17bmV3U3RhdGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByaW5jaXBsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJpbmNpcGxlKHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0RmlsdGVyUHJpbmNpcGxlKG5ld1N0YXRlKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgb25SZW1vdmU9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFByaW5jaXBsZSh1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0RmlsdGVyUHJpbmNpcGxlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cInByaW5jaXBsZS1tZW51XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9DaGlwcz5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJwcmluY2lwbGUtbWVudVwiPlxuICAgICAgICAgICAgICAgIHtmaWx0ZXJQcmluY2lwbGUgJiZcbiAgICAgICAgICAgICAgICAgICAgKHByaW5jaXBsZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WW91ciBmYXZvcml0ZSBwcmluY2lwbGUgaXM6PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntwcmluY2lwbGV9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldoYXQmYXBvcztzIHlvdXIgZmF2b3JpdGUgcHJpbmNpcGxlPzwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblN1Ym1pdD17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gc3VibWl0dGVyIGV4aXN0cyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU3VibWl0RXZlbnQvc3VibWl0dGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcmluY2lwbGUoZS5uYXRpdmVFdmVudC5zdWJtaXR0ZXIudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIkFtYml0aW9uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIkJvbGRuZXNzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIkNvbGxhYm9yYXRpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCJdLCJtYXBwaW5ncyI6Ijs7OztNQVFhLE1BQU0sR0FBZTtJQUM5QixNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUNuQyxRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxLQUFLO1FBQ2YsYUFBYSxFQUFFLEtBQUs7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsUUFDSUEsNkJBQUMsS0FBSyxJQUFDLE9BQU8sRUFBQyxRQUFRLGdCQUFZLG1CQUFtQixJQUNqRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUN6Q0EsNkJBQUMsS0FBSyxDQUFDLElBQUksSUFDUCxHQUFHLEVBQUUsSUFBSSxFQUNULEtBQUssRUFBRSxJQUFJLEVBQ1gsT0FBTyxFQUFFLE9BQU8sRUFDaEIsUUFBUSxFQUFFLFFBQVE7WUFDZCxVQUFVLENBQUMsSUFBSSxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZELEdBQ0gsQ0FDTCxDQUFDLENBQ0UsRUFDVjtBQUNOLEVBQUU7TUFFVyxlQUFlLEdBQTBCO0lBQ2xELE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQ25DLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLEtBQUs7UUFDZixhQUFhLEVBQUUsS0FBSztLQUN2QixDQUFDLENBQUM7SUFFSCxRQUNJQSw2QkFBQyxLQUFLLElBQUMsT0FBTyxFQUFDLFFBQVEsZ0JBQVksbUJBQW1CLElBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQ3pDQSw2QkFBQyxLQUFLLENBQUMsSUFB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
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
@import '@preply/ds-web-core/dist/generated/tokens.less';
|
|
2
|
+
@import '@preply/ds-web-core/dist/generated/hover.less';
|
|
3
|
+
|
|
4
|
+
.chips {
|
|
5
|
+
&:is(ul) {
|
|
6
|
+
list-style: none;
|
|
7
|
+
margin: 0;
|
|
8
|
+
padding: 0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
display: flex;
|
|
12
|
+
gap: @spacing-12;
|
|
13
|
+
flex-wrap: wrap;
|
|
14
|
+
|
|
15
|
+
& .chip {
|
|
16
|
+
& button {
|
|
17
|
+
all: unset;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
cursor: pointer;
|
|
22
|
+
height: @sizing-40;
|
|
23
|
+
width: fit-content;
|
|
24
|
+
font-size: @text-default-semibold-body-fontSize;
|
|
25
|
+
font-weight: @text-default-semibold-body-fontWeight;
|
|
26
|
+
line-height: @text-default-semibold-body-lineHeight;
|
|
27
|
+
color: @color-text-primary;
|
|
28
|
+
background-color: @color-background-primary;
|
|
29
|
+
border: solid @sizing-2;
|
|
30
|
+
border-radius: @radius-8;
|
|
31
|
+
border-color: @color-border-primary;
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
|
|
35
|
+
.onHover({
|
|
36
|
+
background-color: @color-background-secondary;
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
&:has(.chip-toggle:focus-visible) {
|
|
40
|
+
outline: solid @sizing-2 @color-border-focus;
|
|
41
|
+
outline-offset: @spacing-2;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&:has(.chip-toggle:active) {
|
|
45
|
+
border-color: @color-border-secondary;
|
|
46
|
+
background-color: @color-background-tertiary;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&:has(.chip-toggle[aria-pressed="true"]) {
|
|
50
|
+
border-color: @color-border-secondary;
|
|
51
|
+
background-color: @color-background-tertiary;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
& .chip-toggle {
|
|
55
|
+
padding: @spacing-8 @spacing-12;
|
|
56
|
+
display: flex;
|
|
57
|
+
gap: @spacing-8;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
& .chip-remove {
|
|
61
|
+
height: fit-content;
|
|
62
|
+
width: fit-content;
|
|
63
|
+
display: flex;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
align-items: center;
|
|
66
|
+
padding: @spacing-8 @spacing-12 @spacing-8 0;
|
|
67
|
+
border-radius: inherit;
|
|
68
|
+
|
|
69
|
+
&:focus-visible {
|
|
70
|
+
outline: solid @sizing-2 @color-border-focus;
|
|
71
|
+
outline-offset: @spacing-1 @spacing-2;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&[data-variant="choice"] .chip {
|
|
77
|
+
&:has(.chip-toggle[aria-pressed="true"]) {
|
|
78
|
+
color: @color-text-inverted;
|
|
79
|
+
background-color: @color-background-primaryInverted;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
& .chip-remove {
|
|
83
|
+
display: none;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&[data-variant="filter"] .chip {
|
|
88
|
+
&:has(.chip-toggle[aria-pressed="false"]) {
|
|
89
|
+
& .chip-remove {
|
|
90
|
+
display: none;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import styleInject from '../../../external/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".YZ85AY{grid-gap:var(--813599);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--813599)}.YZ85AY:is(ul){list-style:none;margin:0;padding:0}.YZ85AY ._34L6G2{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--3546c3);border:solid var(--26b8e3);border-color:var(--c03289);border-radius:var(--fa4b1a);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--628fb7);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:var(--475c79);font-weight:var(--a3f251);height:var(--ece0fe);line-height:var(--e33d9e);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.YZ85AY ._34L6G2 button{all:unset}@media (hover:hover) and (pointer:fine){.YZ85AY ._34L6G2:hover{background-color:var(--302ecf)}}.YZ85AY ._34L6G2[\\:has\\(\\.chip-toggle\\.focus-visible\\)]{outline:solid var(--26b8e3) var(--5b4fe9);outline-offset:var(--05dd73)}.YZ85AY ._34L6G2:has(._1cn67N._3uUAAw){outline:solid var(--26b8e3) var(--5b4fe9);outline-offset:var(--05dd73)}.YZ85AY ._34L6G2[\\:has\\(\\.chip-toggle\\:focus-visible\\)]{outline:solid var(--26b8e3) var(--5b4fe9);outline-offset:var(--05dd73)}.YZ85AY ._34L6G2:has(._1cn67N:focus-visible){outline:solid var(--26b8e3) var(--5b4fe9);outline-offset:var(--05dd73)}.YZ85AY ._34L6G2[\\:has\\(\\.chip-toggle\\:active\\)]{background-color:var(--a5c761);border-color:var(--11d206)}.YZ85AY ._34L6G2:has(._1cn67N:active){background-color:var(--a5c761);border-color:var(--11d206)}.YZ85AY ._34L6G2[\\:has\\(\\.chip-toggle\\[aria-pressed\\%3D\\%22true\\%22\\]\\)]{background-color:var(--a5c761);border-color:var(--11d206)}.YZ85AY ._34L6G2:has(._1cn67N[aria-pressed=true]){background-color:var(--a5c761);border-color:var(--11d206)}.YZ85AY ._34L6G2 ._1cn67N{grid-gap:var(--66b80b);gap:var(--66b80b);padding:var(--66b80b) var(--813599)}.YZ85AY ._34L6G2 ._1cn67N,.YZ85AY ._34L6G2 ._3JN2XO{display:-webkit-box;display:-ms-flexbox;display:flex}.YZ85AY ._34L6G2 ._3JN2XO{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:inherit;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;justify-content:center;padding:var(--66b80b) var(--813599) var(--66b80b) 0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.YZ85AY ._34L6G2 ._3JN2XO._3uUAAw{outline:solid var(--26b8e3) var(--5b4fe9);outline-offset:var(--109103) var(--05dd73)}.YZ85AY ._34L6G2 ._3JN2XO:focus-visible{outline:solid var(--26b8e3) var(--5b4fe9);outline-offset:var(--109103) var(--05dd73)}.YZ85AY[data-variant=choice] ._34L6G2[\\:has\\(\\.chip-toggle\\[aria-pressed\\%3D\\%22true\\%22\\]\\)]{background-color:var(--4983fe);color:var(--c2b191)}.YZ85AY[data-variant=choice] ._34L6G2:has(._1cn67N[aria-pressed=true]){background-color:var(--4983fe);color:var(--c2b191)}.YZ85AY[data-variant=choice] ._34L6G2 ._3JN2XO,.YZ85AY[data-variant=filter] ._34L6G2[\\:has\\(\\.chip-toggle\\[aria-pressed\\%3D\\%22false\\%22\\]\\)] ._3JN2XO{display:none}.YZ85AY[data-variant=filter] ._34L6G2:has(._1cn67N[aria-pressed=false]) ._3JN2XO{display:none}";
|
|
4
|
+
var styles = {__id:"/home/jenkins/workspace/design-system_main/packages/web-lib/src/components/Chips/style/index.module.less",__css:css_248z,"chips":"YZ85AY","chip":"_34L6G2","chip-toggle":"_1cn67N","focus-visible":"_3uUAAw","chip-remove":"_3JN2XO"};
|
|
5
|
+
var stylesheet=css_248z;
|
|
6
|
+
styleInject(css_248z);
|
|
7
|
+
|
|
8
|
+
export { styles as default, stylesheet };
|
|
9
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@preply/ds-web-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.90.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -19,26 +19,26 @@
|
|
|
19
19
|
"dev": "run build:rollup -w"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@preply/ds-core": "0.
|
|
23
|
-
"@preply/ds-media-icons": "0.
|
|
24
|
-
"@preply/ds-web-core": "0.
|
|
25
|
-
"@preply/ds-web-root": "0.
|
|
22
|
+
"@preply/ds-core": "0.90.0",
|
|
23
|
+
"@preply/ds-media-icons": "0.90.0",
|
|
24
|
+
"@preply/ds-web-core": "0.90.0",
|
|
25
|
+
"@preply/ds-web-root": "0.90.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@preply/ds-core": "0.
|
|
29
|
-
"@preply/ds-media-icons": "0.
|
|
30
|
-
"@preply/ds-web-core": "0.
|
|
31
|
-
"@preply/ds-web-root": "0.
|
|
28
|
+
"@preply/ds-core": "0.90.0",
|
|
29
|
+
"@preply/ds-media-icons": "0.90.0",
|
|
30
|
+
"@preply/ds-web-core": "0.90.0",
|
|
31
|
+
"@preply/ds-web-root": "0.90.0",
|
|
32
32
|
"react": "^16.8.3",
|
|
33
33
|
"react-dom": "^16.8.3"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@preply/ds-docs-toolkit": "0.
|
|
37
|
-
"@preply/ds-theme-base-ui": "0.
|
|
36
|
+
"@preply/ds-docs-toolkit": "0.90.0",
|
|
37
|
+
"@preply/ds-theme-base-ui": "0.90.0",
|
|
38
38
|
"@storybook/addon-docs": "6.4.18",
|
|
39
39
|
"@storybook/react": "6.4.18",
|
|
40
40
|
"@testing-library/react": "11.2.7",
|
|
41
41
|
"jsdom-testing-mocks": "^1.7.0"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "8e1681043308f1b95c899e56ae48d76c094406df"
|
|
44
44
|
}
|