@entur/chip 0.9.1-beta.0 → 0.9.1-beta.10

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/chip.esm.js CHANGED
@@ -1,302 +1,226 @@
1
- import { warnAboutMissingStyles } from "@entur/utils";
2
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
3
- import React from "react";
4
- import { LoadingDots } from "@entur/loader";
5
- import { CloseSmallIcon } from "@entur/icons";
6
- import { Fieldset } from "@entur/form";
7
- function getDefaultExportFromCjs(x) {
8
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
1
+ import { warnAboutMissingStyles } from '@entur/utils';
2
+ import React from 'react';
3
+ import cx from 'classnames';
4
+ import { LoadingDots } from '@entur/loader';
5
+ import { CloseSmallIcon } from '@entur/icons';
6
+ import { Fieldset } from '@entur/form';
7
+
8
+ function _extends() {
9
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
10
+ for (var e = 1; e < arguments.length; e++) {
11
+ var t = arguments[e];
12
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
13
+ }
14
+ return n;
15
+ }, _extends.apply(null, arguments);
9
16
  }
10
- var classnames = { exports: {} };
11
- /*!
12
- Copyright (c) 2018 Jed Watson.
13
- Licensed under the MIT License (MIT), see
14
- http://jedwatson.github.io/classnames
15
- */
16
- var hasRequiredClassnames;
17
- function requireClassnames() {
18
- if (hasRequiredClassnames) return classnames.exports;
19
- hasRequiredClassnames = 1;
20
- (function(module) {
21
- (function() {
22
- var hasOwn = {}.hasOwnProperty;
23
- function classNames() {
24
- var classes = "";
25
- for (var i = 0; i < arguments.length; i++) {
26
- var arg = arguments[i];
27
- if (arg) {
28
- classes = appendClass(classes, parseValue(arg));
29
- }
30
- }
31
- return classes;
32
- }
33
- function parseValue(arg) {
34
- if (typeof arg === "string" || typeof arg === "number") {
35
- return arg;
36
- }
37
- if (typeof arg !== "object") {
38
- return "";
39
- }
40
- if (Array.isArray(arg)) {
41
- return classNames.apply(null, arg);
42
- }
43
- if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
44
- return arg.toString();
45
- }
46
- var classes = "";
47
- for (var key in arg) {
48
- if (hasOwn.call(arg, key) && arg[key]) {
49
- classes = appendClass(classes, key);
50
- }
51
- }
52
- return classes;
53
- }
54
- function appendClass(value, newClass) {
55
- if (!newClass) {
56
- return value;
57
- }
58
- if (value) {
59
- return value + " " + newClass;
60
- }
61
- return value + newClass;
62
- }
63
- if (module.exports) {
64
- classNames.default = classNames;
65
- module.exports = classNames;
66
- } else {
67
- window.classNames = classNames;
68
- }
69
- })();
70
- })(classnames);
71
- return classnames.exports;
17
+ function _objectWithoutPropertiesLoose(r, e) {
18
+ if (null == r) return {};
19
+ var t = {};
20
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
21
+ if (-1 !== e.indexOf(n)) continue;
22
+ t[n] = r[n];
23
+ }
24
+ return t;
72
25
  }
73
- var classnamesExports = requireClassnames();
74
- const cx = /* @__PURE__ */ getDefaultExportFromCjs(classnamesExports);
75
- const ChoiceChipGroupContext = React.createContext(null);
76
- const ChoiceChipGroupContextProvider = ChoiceChipGroupContext.Provider;
77
- const useChoiceChipGroupContext = () => {
78
- const context = React.useContext(ChoiceChipGroupContext);
26
+
27
+ var ChoiceChipGroupContext = /*#__PURE__*/React.createContext(null);
28
+ var ChoiceChipGroupContextProvider = ChoiceChipGroupContext.Provider;
29
+ var useChoiceChipGroupContext = function useChoiceChipGroupContext() {
30
+ var context = React.useContext(ChoiceChipGroupContext);
79
31
  if (!context) {
80
- throw new Error(
81
- "You need to wrap your ChoiceChips in a ChoiceChipGroup-component"
82
- );
32
+ throw new Error('You need to wrap your ChoiceChips in a ChoiceChipGroup-component');
83
33
  }
84
34
  return context;
85
35
  };
86
- const ChoiceChip = React.forwardRef(
87
- ({
88
- className,
89
- children,
90
- value,
91
- disabled = false,
92
- style,
93
- size = "medium",
94
- ...rest
95
- }, ref) => {
96
- const childrenArray = React.Children.toArray(children);
97
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
98
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
99
- const classList = cx(className, "eds-chip", `eds-chip--size-${size}`, {
100
- "eds-chip--disabled": disabled,
101
- "eds-chip--leading-icon": hasLeadingIcon,
102
- "eds-chip--trailing-icon": hasTrailingIcon
103
- });
104
- const {
105
- name,
106
- value: selectedValue,
107
- onChange
108
- } = useChoiceChipGroupContext();
109
- return /* @__PURE__ */ jsxs("label", { className: "eds-choice-chip", style, children: [
110
- /* @__PURE__ */ jsx(
111
- "input",
112
- {
113
- className: "eds-choice-chip__input",
114
- type: "radio",
115
- name,
116
- ref,
117
- value,
118
- disabled,
119
- checked: selectedValue === value,
120
- onChange,
121
- "aria-disabled": disabled,
122
- ...rest
123
- }
124
- ),
125
- /* @__PURE__ */ jsx("div", { className: classList, children })
126
- ] });
127
- }
128
- );
129
- const ActionChip = React.forwardRef(
130
- ({ children, className, loading = false, size = "medium", ...rest }, ref) => {
131
- const childrenArray = React.Children.toArray(children);
132
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
133
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
134
- const ariaLabelValue = () => {
135
- if (rest["aria-label"]) return rest["aria-label"];
136
- if (loading) return ariaLabelWhenLoading;
137
- return void 0;
138
- };
139
- const ariaLabelWhenLoading = childrenArray.filter((child) => typeof child === "string").join(" ");
140
- const classList = cx(
141
- className,
142
- "eds-chip",
143
- "eds-action-chip",
144
- `eds-chip--size-${size}`,
145
- {
146
- "eds-chip--leading-icon": hasLeadingIcon,
147
- "eds-chip--trailing-icon": hasTrailingIcon,
148
- "eds-action-chip--disabled": rest.disabled
149
- }
150
- );
151
- const actionChip = /* @__PURE__ */ jsx(
152
- "button",
153
- {
154
- className: classList,
155
- ref,
156
- "aria-busy": loading,
157
- "aria-label": ariaLabelValue(),
158
- type: "button",
159
- ...rest,
160
- children: loading ? /* @__PURE__ */ jsx(LoadingDots, { className: "eds-action-chip__loading-dots" }) : children
161
- }
162
- );
163
- if (rest.disabled) {
164
- return /* @__PURE__ */ jsx("div", { className: "eds-action-chip--disabled__wrapper", children: actionChip });
165
- }
166
- return /* @__PURE__ */ jsx(Fragment, { children: actionChip });
36
+
37
+ var _excluded$4 = ["className", "children", "value", "disabled", "style", "size"];
38
+ var ChoiceChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
39
+ var className = _ref.className,
40
+ children = _ref.children,
41
+ value = _ref.value,
42
+ _ref$disabled = _ref.disabled,
43
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
44
+ style = _ref.style,
45
+ _ref$size = _ref.size,
46
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
47
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
48
+ var childrenArray = React.Children.toArray(children);
49
+ var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
50
+ var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
51
+ var classList = cx(className, 'eds-chip', "eds-chip--size-" + size, {
52
+ 'eds-chip--disabled': disabled,
53
+ 'eds-chip--leading-icon': hasLeadingIcon,
54
+ 'eds-chip--trailing-icon': hasTrailingIcon
55
+ });
56
+ var _useChoiceChipGroupCo = useChoiceChipGroupContext(),
57
+ name = _useChoiceChipGroupCo.name,
58
+ selectedValue = _useChoiceChipGroupCo.value,
59
+ onChange = _useChoiceChipGroupCo.onChange;
60
+ return React.createElement("label", {
61
+ className: "eds-choice-chip",
62
+ style: style
63
+ }, React.createElement("input", _extends({
64
+ className: "eds-choice-chip__input",
65
+ type: "radio",
66
+ name: name,
67
+ ref: ref,
68
+ value: value,
69
+ disabled: disabled,
70
+ checked: selectedValue === value,
71
+ onChange: onChange,
72
+ "aria-disabled": disabled
73
+ }, rest)), React.createElement("div", {
74
+ className: classList
75
+ }, children));
76
+ });
77
+
78
+ var _excluded$3 = ["children", "className", "loading", "size"];
79
+ var ActionChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
80
+ var children = _ref.children,
81
+ className = _ref.className,
82
+ _ref$loading = _ref.loading,
83
+ loading = _ref$loading === void 0 ? false : _ref$loading,
84
+ _ref$size = _ref.size,
85
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
86
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
87
+ var childrenArray = React.Children.toArray(children);
88
+ var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
89
+ var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
90
+ var ariaLabelValue = function ariaLabelValue() {
91
+ if (rest['aria-label']) return rest['aria-label'];
92
+ if (loading) return ariaLabelWhenLoading;
93
+ return undefined;
94
+ };
95
+ var ariaLabelWhenLoading = childrenArray.filter(function (child) {
96
+ return typeof child === 'string';
97
+ }).join(' ');
98
+ var classList = cx(className, 'eds-chip', 'eds-action-chip', "eds-chip--size-" + size, {
99
+ 'eds-chip--leading-icon': hasLeadingIcon,
100
+ 'eds-chip--trailing-icon': hasTrailingIcon,
101
+ 'eds-action-chip--disabled': rest.disabled
102
+ });
103
+ var actionChip = React.createElement("button", _extends({
104
+ className: classList,
105
+ ref: ref,
106
+ "aria-busy": loading,
107
+ "aria-label": ariaLabelValue(),
108
+ type: "button"
109
+ }, rest), loading ? React.createElement(LoadingDots, {
110
+ className: "eds-action-chip__loading-dots"
111
+ }) : children);
112
+ if (rest.disabled) {
113
+ return React.createElement("div", {
114
+ className: "eds-action-chip--disabled__wrapper"
115
+ }, actionChip);
167
116
  }
168
- );
169
- const TagChip = React.forwardRef(
170
- ({
171
- children,
172
- className,
173
- onClose,
174
- closeButtonAriaLabel,
175
- size = "medium",
176
- ...rest
177
- }, ref) => {
178
- const childrenArray = React.Children.toArray(children);
179
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
180
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
181
- const selectedCloseLabel = closeButtonAriaLabel ?? "Fjern " + children?.toString();
182
- return /* @__PURE__ */ jsxs(
183
- "div",
184
- {
185
- className: cx(
186
- "eds-chip",
187
- "eds-tag-chip",
188
- `eds-chip--size-${size}`,
189
- className,
190
- {
191
- "eds-chip--leading-icon": hasLeadingIcon,
192
- "eds-chip--trailing-icon": hasTrailingIcon
193
- }
194
- ),
195
- ...rest,
196
- children: [
197
- children,
198
- /* @__PURE__ */ jsx(
199
- "button",
200
- {
201
- className: "eds-tag-chip__close-button",
202
- type: "button",
203
- onClick: onClose,
204
- "aria-label": selectedCloseLabel,
205
- ref,
206
- children: /* @__PURE__ */ jsx(CloseSmallIcon, { "aria-hidden": true })
207
- }
208
- )
209
- ]
210
- }
211
- );
212
- }
213
- );
214
- const FilterChip = React.forwardRef(
215
- ({
216
- className,
217
- children,
218
- value,
219
- disabled = false,
220
- name,
221
- style,
222
- size = "medium",
223
- ...rest
224
- }, ref) => {
225
- const childrenArray = React.Children.toArray(children);
226
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
227
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
228
- const classList = cx(className, "eds-filter-chip");
229
- return /* @__PURE__ */ jsxs("label", { className: classList, style, children: [
230
- /* @__PURE__ */ jsx(
231
- "input",
232
- {
233
- className: "eds-filter-chip__input",
234
- type: "checkbox",
235
- name,
236
- ref,
237
- value,
238
- disabled,
239
- ...rest
240
- }
241
- ),
242
- /* @__PURE__ */ jsxs(
243
- "div",
244
- {
245
- className: cx("eds-chip", `eds-chip--size-${size}`, {
246
- "eds-chip--leading-icon": hasLeadingIcon,
247
- "eds-chip--trailing-icon": hasTrailingIcon
248
- }),
249
- children: [
250
- /* @__PURE__ */ jsx("span", { className: "eds-filter-chip__icon", children: /* @__PURE__ */ jsx(CheckboxIcon, {}) }),
251
- children
252
- ]
253
- }
254
- )
255
- ] });
256
- }
257
- );
258
- const CheckboxIcon = () => {
259
- return /* @__PURE__ */ jsx(
260
- "svg",
261
- {
262
- className: "eds-filter-chip-icon",
263
- width: "16",
264
- height: "16",
265
- viewBox: "0 0 16 16",
266
- fill: "none",
267
- xmlns: "http://www.w3.org/2000/svg",
268
- children: /* @__PURE__ */ jsx(
269
- "path",
270
- {
271
- className: "eds-filter-chip-icon__path",
272
- d: "M1.71283 7.10801L5.6464 11.1377C5.84098 11.3371 6.16095 11.339 6.35786 11.1419L14.2916 3.20325",
273
- stroke: "#181C56",
274
- strokeWidth: "2"
275
- }
276
- )
277
- }
278
- );
117
+ return React.createElement(React.Fragment, null, actionChip);
118
+ });
119
+
120
+ var _excluded$2 = ["children", "className", "onClose", "closeButtonAriaLabel", "size"];
121
+ var TagChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
122
+ var children = _ref.children,
123
+ className = _ref.className,
124
+ onClose = _ref.onClose,
125
+ closeButtonAriaLabel = _ref.closeButtonAriaLabel,
126
+ _ref$size = _ref.size,
127
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
128
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
129
+ var childrenArray = React.Children.toArray(children);
130
+ var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
131
+ var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
132
+ var selectedCloseLabel = closeButtonAriaLabel != null ? closeButtonAriaLabel : 'Fjern ' + (children == null ? void 0 : children.toString());
133
+ return React.createElement("div", _extends({
134
+ className: cx('eds-chip', 'eds-tag-chip', "eds-chip--size-" + size, className, {
135
+ 'eds-chip--leading-icon': hasLeadingIcon,
136
+ 'eds-chip--trailing-icon': hasTrailingIcon
137
+ })
138
+ }, rest), children, React.createElement("button", {
139
+ className: "eds-tag-chip__close-button",
140
+ type: "button",
141
+ onClick: onClose,
142
+ "aria-label": selectedCloseLabel,
143
+ ref: ref
144
+ }, React.createElement(CloseSmallIcon, {
145
+ "aria-hidden": true
146
+ })));
147
+ });
148
+
149
+ var _excluded$1 = ["className", "children", "value", "disabled", "name", "style", "size"];
150
+ var FilterChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
151
+ var className = _ref.className,
152
+ children = _ref.children,
153
+ value = _ref.value,
154
+ _ref$disabled = _ref.disabled,
155
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
156
+ name = _ref.name,
157
+ style = _ref.style,
158
+ _ref$size = _ref.size,
159
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
160
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
161
+ var childrenArray = React.Children.toArray(children);
162
+ var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
163
+ var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
164
+ var classList = cx(className, 'eds-filter-chip');
165
+ return React.createElement("label", {
166
+ className: classList,
167
+ style: style
168
+ }, React.createElement("input", _extends({
169
+ className: "eds-filter-chip__input",
170
+ type: "checkbox",
171
+ name: name,
172
+ ref: ref,
173
+ value: value,
174
+ disabled: disabled
175
+ }, rest)), React.createElement("div", {
176
+ className: cx('eds-chip', "eds-chip--size-" + size, {
177
+ 'eds-chip--leading-icon': hasLeadingIcon,
178
+ 'eds-chip--trailing-icon': hasTrailingIcon
179
+ })
180
+ }, React.createElement("span", {
181
+ className: "eds-filter-chip__icon"
182
+ }, React.createElement(CheckboxIcon, null)), children));
183
+ });
184
+ var CheckboxIcon = function CheckboxIcon() {
185
+ return React.createElement("svg", {
186
+ className: "eds-filter-chip-icon",
187
+ width: "16",
188
+ height: "16",
189
+ viewBox: "0 0 16 16",
190
+ fill: "none",
191
+ xmlns: "http://www.w3.org/2000/svg"
192
+ }, React.createElement("path", {
193
+ className: "eds-filter-chip-icon__path",
194
+ d: "M1.71283 7.10801L5.6464 11.1377C5.84098 11.3371 6.16095 11.339 6.35786 11.1419L14.2916 3.20325",
195
+ stroke: "#181C56",
196
+ strokeWidth: "2"
197
+ }));
279
198
  };
280
- const ChoiceChipGroup = ({
281
- name,
282
- value,
283
- children,
284
- onChange,
285
- label,
286
- ...rest
287
- }) => {
288
- const contextValue = React.useMemo(
289
- () => ({ name, value, onChange }),
290
- [name, value, onChange]
291
- );
292
- return /* @__PURE__ */ jsx(ChoiceChipGroupContextProvider, { value: contextValue, children: /* @__PURE__ */ jsx(Fieldset, { className: "eds-choice-chips-group", label, ...rest, children }) });
293
- };
294
- warnAboutMissingStyles("chip", "form");
295
- export {
296
- ActionChip,
297
- ChoiceChip,
298
- ChoiceChipGroup,
299
- FilterChip,
300
- TagChip
199
+
200
+ var _excluded = ["name", "value", "children", "onChange", "label"];
201
+ var ChoiceChipGroup = function ChoiceChipGroup(_ref) {
202
+ var name = _ref.name,
203
+ value = _ref.value,
204
+ children = _ref.children,
205
+ onChange = _ref.onChange,
206
+ label = _ref.label,
207
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
208
+ var contextValue = React.useMemo(function () {
209
+ return {
210
+ name: name,
211
+ value: value,
212
+ onChange: onChange
213
+ };
214
+ }, [name, value, onChange]);
215
+ return React.createElement(ChoiceChipGroupContextProvider, {
216
+ value: contextValue
217
+ }, React.createElement(Fieldset, _extends({
218
+ className: "eds-choice-chips-group",
219
+ label: label
220
+ }, rest), children));
301
221
  };
222
+
223
+ warnAboutMissingStyles('chip', 'form');
224
+
225
+ export { ActionChip, ChoiceChip, ChoiceChipGroup, FilterChip, TagChip };
302
226
  //# sourceMappingURL=chip.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chip.esm.js","sources":["../../../node_modules/classnames/index.js","../src/ChoiceChipGroupContext.tsx","../src/ChoiceChip.tsx","../src/ActionChip.tsx","../src/TagChip.tsx","../src/FilterChip.tsx","../src/ChoiceChipGroup.tsx","../src/index.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react';\n\ntype ChoiceChipGroupContextProps = {\n name: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n value: string | null;\n};\n\nconst ChoiceChipGroupContext =\n React.createContext<ChoiceChipGroupContextProps | null>(null);\n\nexport const ChoiceChipGroupContextProvider = ChoiceChipGroupContext.Provider;\n\nexport const useChoiceChipGroupContext: () => ChoiceChipGroupContextProps =\n () => {\n const context = React.useContext(ChoiceChipGroupContext);\n if (!context) {\n throw new Error(\n 'You need to wrap your ChoiceChips in a ChoiceChipGroup-component',\n );\n }\n return context;\n };\n","import React from 'react';\nimport cx from 'classnames';\nimport { useChoiceChipGroupContext } from './ChoiceChipGroupContext';\nimport './BaseChip.scss';\nimport './ChoiceChip.scss';\n\nexport type ChoiceChipProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Om Choicechip er deaktivert eller ikke\n * @default false\n */\n disabled?: boolean;\n /** Label til ChoiceChip */\n children?: React.ReactNode;\n /** Verdien til ChoiceChip */\n value: string;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n} & Omit<\n React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n >,\n 'value' | 'size'\n>;\n\nexport const ChoiceChip = React.forwardRef<HTMLInputElement, ChoiceChipProps>(\n (\n {\n className,\n children,\n value,\n disabled = false,\n style,\n size = 'medium',\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const classList = cx(className, 'eds-chip', `eds-chip--size-${size}`, {\n 'eds-chip--disabled': disabled,\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n });\n const {\n name,\n value: selectedValue,\n onChange,\n } = useChoiceChipGroupContext();\n return (\n <label className=\"eds-choice-chip\" style={style}>\n <input\n className=\"eds-choice-chip__input\"\n type=\"radio\"\n name={name}\n ref={ref}\n value={value}\n disabled={disabled}\n checked={selectedValue === value}\n onChange={onChange}\n aria-disabled={disabled}\n {...rest}\n />\n <div className={classList}>{children}</div>\n </label>\n );\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LoadingDots } from '@entur/loader';\nimport './BaseChip.scss';\nimport './ActionChip.scss';\n\nexport type ActionChipProps = {\n /** Teksten som vises i ActionChip */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Om chip-en er opptatt, f.eks med å oppdatere informasjon\n * @default false\n */\n loading?: boolean;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nexport const ActionChip = React.forwardRef<HTMLButtonElement, ActionChipProps>(\n (\n { children, className, loading = false, size = 'medium', ...rest },\n ref: React.Ref<HTMLButtonElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelValue = () => {\n if (rest['aria-label']) return rest['aria-label'];\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const classList = classNames(\n className,\n 'eds-chip',\n 'eds-action-chip',\n `eds-chip--size-${size}`,\n {\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n 'eds-action-chip--disabled': rest.disabled,\n },\n );\n\n const actionChip = (\n <button\n className={classList}\n ref={ref}\n aria-busy={loading}\n aria-label={ariaLabelValue()}\n type=\"button\"\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-action-chip__loading-dots\" />\n ) : (\n children\n )}\n </button>\n );\n\n if (rest.disabled) {\n return (\n <div className=\"eds-action-chip--disabled__wrapper\">{actionChip}</div>\n );\n }\n return <>{actionChip}</>;\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport { CloseSmallIcon } from '@entur/icons';\nimport './BaseChip.scss';\nimport './TagChip.scss';\n\nexport type TagChipProps = {\n /** Teksten som vises i TagChip */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback for når man klikker på krysset */\n onClose: () => void;\n /** Skjermlesertekst for X-knappen */\n closeButtonAriaLabel?: string;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n};\n\nexport const TagChip = React.forwardRef<HTMLButtonElement, TagChipProps>(\n (\n {\n children,\n className,\n onClose,\n closeButtonAriaLabel,\n size = 'medium',\n ...rest\n },\n ref: React.Ref<HTMLButtonElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const selectedCloseLabel =\n closeButtonAriaLabel ?? 'Fjern ' + children?.toString();\n\n return (\n <div\n className={classNames(\n 'eds-chip',\n 'eds-tag-chip',\n `eds-chip--size-${size}`,\n className,\n {\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n },\n )}\n {...rest}\n >\n {children}\n <button\n className=\"eds-tag-chip__close-button\"\n type=\"button\"\n onClick={onClose}\n aria-label={selectedCloseLabel}\n ref={ref}\n >\n <CloseSmallIcon aria-hidden />\n </button>\n </div>\n );\n },\n);\n","import React from 'react';\nimport cx from 'classnames';\nimport './BaseChip.scss';\nimport './FilterChip.scss';\n\nexport type FilterChipProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label til FilterChip */\n children?: React.ReactNode;\n /** Verdien til FilterChip */\n value: string;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'size'>;\n\nexport const FilterChip = React.forwardRef<HTMLInputElement, FilterChipProps>(\n (\n {\n className,\n children,\n value,\n disabled = false,\n name,\n style,\n size = 'medium',\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const classList = cx(className, 'eds-filter-chip');\n\n return (\n <label className={classList} style={style}>\n <input\n className=\"eds-filter-chip__input\"\n type=\"checkbox\"\n name={name}\n ref={ref}\n value={value}\n disabled={disabled}\n {...rest}\n />\n <div\n className={cx('eds-chip', `eds-chip--size-${size}`, {\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n })}\n >\n <span className=\"eds-filter-chip__icon\">\n <CheckboxIcon />\n </span>\n {children}\n </div>\n </label>\n );\n },\n);\n\nconst CheckboxIcon: React.FC = () => {\n return (\n <svg\n className=\"eds-filter-chip-icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n className=\"eds-filter-chip-icon__path\"\n d=\"M1.71283 7.10801L5.6464 11.1377C5.84098 11.3371 6.16095 11.339 6.35786 11.1419L14.2916 3.20325\"\n stroke=\"#181C56\"\n strokeWidth=\"2\"\n />\n </svg>\n );\n};\n","import React from 'react';\nimport { ChoiceChipGroupContextProvider } from './ChoiceChipGroupContext';\nimport { Fieldset } from '@entur/form';\n\nimport './ChoiceChipGroup.scss';\n\nexport type ChoiceChipGroupProps = {\n /** Navnet til ChoiceChipsGroup */\n name: string;\n /** Verdien til den valgte ChoiceChipen */\n value: string | null;\n /** ChoiceChip-komponentene sendes inn som children */\n children: React.ReactNode;\n /** En callback som blir kalles hver gang en ChoiceChip klikkes på */\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** Labelen til ChoiceChip-gruppen. */\n label?: React.ReactNode;\n [key: string]: any;\n};\n\nexport const ChoiceChipGroup: React.FC<ChoiceChipGroupProps> = ({\n name,\n value,\n children,\n onChange,\n label,\n ...rest\n}) => {\n const contextValue = React.useMemo(\n () => ({ name, value, onChange }),\n [name, value, onChange],\n );\n return (\n <ChoiceChipGroupContextProvider value={contextValue}>\n <Fieldset className=\"eds-choice-chips-group\" label={label} {...rest}>\n {children}\n </Fieldset>\n </ChoiceChipGroupContextProvider>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('chip', 'form');\n\nexport * from './ChoiceChip';\nexport * from './ActionChip';\nexport * from './TagChip';\nexport * from './FilterChip';\nexport * from './ChoiceChipGroup';\n"],"names":["classNames"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"chip.esm.js","sources":["../src/ChoiceChipGroupContext.tsx","../src/ChoiceChip.tsx","../src/ActionChip.tsx","../src/TagChip.tsx","../src/FilterChip.tsx","../src/ChoiceChipGroup.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\n\ntype ChoiceChipGroupContextProps = {\n name: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n value: string | null;\n};\n\nconst ChoiceChipGroupContext =\n React.createContext<ChoiceChipGroupContextProps | null>(null);\n\nexport const ChoiceChipGroupContextProvider = ChoiceChipGroupContext.Provider;\n\nexport const useChoiceChipGroupContext: () => ChoiceChipGroupContextProps =\n () => {\n const context = React.useContext(ChoiceChipGroupContext);\n if (!context) {\n throw new Error(\n 'You need to wrap your ChoiceChips in a ChoiceChipGroup-component',\n );\n }\n return context;\n };\n","import React from 'react';\nimport cx from 'classnames';\nimport { useChoiceChipGroupContext } from './ChoiceChipGroupContext';\nimport './BaseChip.scss';\nimport './ChoiceChip.scss';\n\nexport type ChoiceChipProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Om Choicechip er deaktivert eller ikke\n * @default false\n */\n disabled?: boolean;\n /** Label til ChoiceChip */\n children?: React.ReactNode;\n /** Verdien til ChoiceChip */\n value: string;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n} & Omit<\n React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n >,\n 'value' | 'size'\n>;\n\nexport const ChoiceChip = React.forwardRef<HTMLInputElement, ChoiceChipProps>(\n (\n {\n className,\n children,\n value,\n disabled = false,\n style,\n size = 'medium',\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const classList = cx(className, 'eds-chip', `eds-chip--size-${size}`, {\n 'eds-chip--disabled': disabled,\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n });\n const {\n name,\n value: selectedValue,\n onChange,\n } = useChoiceChipGroupContext();\n return (\n <label className=\"eds-choice-chip\" style={style}>\n <input\n className=\"eds-choice-chip__input\"\n type=\"radio\"\n name={name}\n ref={ref}\n value={value}\n disabled={disabled}\n checked={selectedValue === value}\n onChange={onChange}\n aria-disabled={disabled}\n {...rest}\n />\n <div className={classList}>{children}</div>\n </label>\n );\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport { LoadingDots } from '@entur/loader';\nimport './BaseChip.scss';\nimport './ActionChip.scss';\n\nexport type ActionChipProps = {\n /** Teksten som vises i ActionChip */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Om chip-en er opptatt, f.eks med å oppdatere informasjon\n * @default false\n */\n loading?: boolean;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nexport const ActionChip = React.forwardRef<HTMLButtonElement, ActionChipProps>(\n (\n { children, className, loading = false, size = 'medium', ...rest },\n ref: React.Ref<HTMLButtonElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelValue = () => {\n if (rest['aria-label']) return rest['aria-label'];\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const classList = classNames(\n className,\n 'eds-chip',\n 'eds-action-chip',\n `eds-chip--size-${size}`,\n {\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n 'eds-action-chip--disabled': rest.disabled,\n },\n );\n\n const actionChip = (\n <button\n className={classList}\n ref={ref}\n aria-busy={loading}\n aria-label={ariaLabelValue()}\n type=\"button\"\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-action-chip__loading-dots\" />\n ) : (\n children\n )}\n </button>\n );\n\n if (rest.disabled) {\n return (\n <div className=\"eds-action-chip--disabled__wrapper\">{actionChip}</div>\n );\n }\n return <>{actionChip}</>;\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport { CloseSmallIcon } from '@entur/icons';\nimport './BaseChip.scss';\nimport './TagChip.scss';\n\nexport type TagChipProps = {\n /** Teksten som vises i TagChip */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback for når man klikker på krysset */\n onClose: () => void;\n /** Skjermlesertekst for X-knappen */\n closeButtonAriaLabel?: string;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n};\n\nexport const TagChip = React.forwardRef<HTMLButtonElement, TagChipProps>(\n (\n {\n children,\n className,\n onClose,\n closeButtonAriaLabel,\n size = 'medium',\n ...rest\n },\n ref: React.Ref<HTMLButtonElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const selectedCloseLabel =\n closeButtonAriaLabel ?? 'Fjern ' + children?.toString();\n\n return (\n <div\n className={classNames(\n 'eds-chip',\n 'eds-tag-chip',\n `eds-chip--size-${size}`,\n className,\n {\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n },\n )}\n {...rest}\n >\n {children}\n <button\n className=\"eds-tag-chip__close-button\"\n type=\"button\"\n onClick={onClose}\n aria-label={selectedCloseLabel}\n ref={ref}\n >\n <CloseSmallIcon aria-hidden />\n </button>\n </div>\n );\n },\n);\n","import React from 'react';\nimport cx from 'classnames';\nimport './BaseChip.scss';\nimport './FilterChip.scss';\n\nexport type FilterChipProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label til FilterChip */\n children?: React.ReactNode;\n /** Verdien til FilterChip */\n value: string;\n /** Størrelsen på chip\n * @default 'medium'\n */\n size?: 'small' | 'medium';\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'size'>;\n\nexport const FilterChip = React.forwardRef<HTMLInputElement, FilterChipProps>(\n (\n {\n className,\n children,\n value,\n disabled = false,\n name,\n style,\n size = 'medium',\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const classList = cx(className, 'eds-filter-chip');\n\n return (\n <label className={classList} style={style}>\n <input\n className=\"eds-filter-chip__input\"\n type=\"checkbox\"\n name={name}\n ref={ref}\n value={value}\n disabled={disabled}\n {...rest}\n />\n <div\n className={cx('eds-chip', `eds-chip--size-${size}`, {\n 'eds-chip--leading-icon': hasLeadingIcon,\n 'eds-chip--trailing-icon': hasTrailingIcon,\n })}\n >\n <span className=\"eds-filter-chip__icon\">\n <CheckboxIcon />\n </span>\n {children}\n </div>\n </label>\n );\n },\n);\n\nconst CheckboxIcon: React.FC = () => {\n return (\n <svg\n className=\"eds-filter-chip-icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n className=\"eds-filter-chip-icon__path\"\n d=\"M1.71283 7.10801L5.6464 11.1377C5.84098 11.3371 6.16095 11.339 6.35786 11.1419L14.2916 3.20325\"\n stroke=\"#181C56\"\n strokeWidth=\"2\"\n />\n </svg>\n );\n};\n","import React from 'react';\nimport { ChoiceChipGroupContextProvider } from './ChoiceChipGroupContext';\nimport { Fieldset } from '@entur/form';\n\nimport './ChoiceChipGroup.scss';\n\nexport type ChoiceChipGroupProps = {\n /** Navnet til ChoiceChipsGroup */\n name: string;\n /** Verdien til den valgte ChoiceChipen */\n value: string | null;\n /** ChoiceChip-komponentene sendes inn som children */\n children: React.ReactNode;\n /** En callback som blir kalles hver gang en ChoiceChip klikkes på */\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** Labelen til ChoiceChip-gruppen. */\n label?: React.ReactNode;\n [key: string]: any;\n};\n\nexport const ChoiceChipGroup: React.FC<ChoiceChipGroupProps> = ({\n name,\n value,\n children,\n onChange,\n label,\n ...rest\n}) => {\n const contextValue = React.useMemo(\n () => ({ name, value, onChange }),\n [name, value, onChange],\n );\n return (\n <ChoiceChipGroupContextProvider value={contextValue}>\n <Fieldset className=\"eds-choice-chips-group\" label={label} {...rest}>\n {children}\n </Fieldset>\n </ChoiceChipGroupContextProvider>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('chip', 'form');\n\nexport * from './ChoiceChip';\nexport * from './ActionChip';\nexport * from './TagChip';\nexport * from './FilterChip';\nexport * from './ChoiceChipGroup';\n"],"names":["ChoiceChipGroupContext","React","createContext","ChoiceChipGroupContextProvider","Provider","useChoiceChipGroupContext","context","useContext","Error","ChoiceChip","forwardRef","_ref","ref","className","children","value","_ref$disabled","disabled","style","_ref$size","size","rest","_objectWithoutPropertiesLoose","_excluded","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","classList","cx","_useChoiceChipGroupCo","name","selectedValue","onChange","createElement","_extends","type","checked","ActionChip","_ref$loading","loading","ariaLabelValue","ariaLabelWhenLoading","undefined","filter","child","join","classNames","actionChip","LoadingDots","Fragment","TagChip","onClose","closeButtonAriaLabel","selectedCloseLabel","toString","onClick","CloseSmallIcon","FilterChip","CheckboxIcon","width","height","viewBox","fill","xmlns","d","stroke","strokeWidth","ChoiceChipGroup","label","contextValue","useMemo","Fieldset","warnAboutMissingStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,sBAAsB,gBAC1BC,KAAK,CAACC,aAAa,CAAqC,IAAI,CAAC,CAAA;AAExD,IAAMC,8BAA8B,GAAGH,sBAAsB,CAACI,QAAQ,CAAA;AAEtE,IAAMC,yBAAyB,GACpC,SADWA,yBAAyBA,GAC/B;AACH,EAAA,IAAMC,OAAO,GAAGL,KAAK,CAACM,UAAU,CAACP,sBAAsB,CAAC,CAAA;EACxD,IAAI,CAACM,OAAO,EAAE;AACZ,IAAA,MAAM,IAAIE,KAAK,CACb,kEAAkE,CACnE,CAAA;AACH,GAAA;AACA,EAAA,OAAOF,OAAO,CAAA;AAChB,CAAC;;;ACOI,IAAMG,UAAU,gBAAGR,KAAK,CAACS,UAAU,CACxC,UAAAC,IAAA,EAUEC,GAAgC,EAC9B;AAAA,EAAA,IATAC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAAC,aAAA,GAAAL,IAAA,CACLM,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBE,KAAK,GAAAP,IAAA,CAALO,KAAK;IAAAC,SAAA,GAAAR,IAAA,CACLS,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;AACZE,IAAAA,IAAI,GAAAC,6BAAA,CAAAX,IAAA,EAAAY,WAAA,CAAA,CAAA;EAIT,IAAMC,aAAa,GAAGvB,KAAK,CAACwB,QAAQ,CAACC,OAAO,CAACZ,QAAQ,CAAC,CAAA;AACtD,EAAA,IAAMa,cAAc,GAClBH,aAAa,CAACI,MAAM,GAAG,CAAC,IAAI,OAAOJ,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAClE,EAAA,IAAMK,eAAe,GACnBL,aAAa,CAACI,MAAM,GAAG,CAAC,IACxB,OAAOJ,aAAa,CAACA,aAAa,CAACI,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAA;EAE7D,IAAME,SAAS,GAAGC,EAAE,CAAClB,SAAS,EAAE,UAAU,EAAoBO,iBAAAA,GAAAA,IAAI,EAAI;AACpE,IAAA,oBAAoB,EAAEH,QAAQ;AAC9B,IAAA,wBAAwB,EAAEU,cAAc;AACxC,IAAA,yBAAyB,EAAEE,eAAAA;AAC5B,GAAA,CAAC,CAAA;AACF,EAAA,IAAAG,qBAAA,GAII3B,yBAAyB,EAAE;IAH7B4B,IAAI,GAAAD,qBAAA,CAAJC,IAAI;IACGC,aAAa,GAAAF,qBAAA,CAApBjB,KAAK;IACLoB,QAAQ,GAAAH,qBAAA,CAARG,QAAQ,CAAA;AAEV,EAAA,OACElC;AAAOY,IAAAA,SAAS,EAAC,iBAAiB;AAACK,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EAC7CjB,KAAA,CAAAmC,aAAA,CAAA,OAAA,EAAAC,QAAA,CAAA;AACExB,IAAAA,SAAS,EAAC,wBAAwB;AAClCyB,IAAAA,IAAI,EAAC,OAAO;AACZL,IAAAA,IAAI,EAAEA,IAAI;AACVrB,IAAAA,GAAG,EAAEA,GAAG;AACRG,IAAAA,KAAK,EAAEA,KAAK;AACZE,IAAAA,QAAQ,EAAEA,QAAQ;IAClBsB,OAAO,EAAEL,aAAa,KAAKnB,KAAK;AAChCoB,IAAAA,QAAQ,EAAEA,QAAQ;qBACHlB,QAAAA;GACXI,EAAAA,IAAI,CACR,CAAA,EACFpB,KAAK,CAAAmC,aAAA,CAAA,KAAA,EAAA;AAAAvB,IAAAA,SAAS,EAAEiB,SAAAA;GAAS,EAAGhB,QAAQ,CAAO,CACrC,CAAA;AAEZ,CAAC;;;ACpDI,IAAM0B,UAAU,gBAAGvC,KAAK,CAACS,UAAU,CACxC,UAAAC,IAAA,EAEEC,GAAiC,EAC/B;AAAA,EAAA,IAFAE,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAED,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAA4B,YAAA,GAAA9B,IAAA,CAAE+B,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;IAAAtB,SAAA,GAAAR,IAAA,CAAES,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;AAAKE,IAAAA,IAAI,GAAAC,6BAAA,CAAAX,IAAA,EAAAY,WAAA,CAAA,CAAA;EAGhE,IAAMC,aAAa,GAAGvB,KAAK,CAACwB,QAAQ,CAACC,OAAO,CAACZ,QAAQ,CAAC,CAAA;AACtD,EAAA,IAAMa,cAAc,GAClBH,aAAa,CAACI,MAAM,GAAG,CAAC,IAAI,OAAOJ,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAClE,EAAA,IAAMK,eAAe,GACnBL,aAAa,CAACI,MAAM,GAAG,CAAC,IACxB,OAAOJ,aAAa,CAACA,aAAa,CAACI,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAA;AAE7D,EAAA,IAAMe,cAAc,GAAG,SAAjBA,cAAcA,GAAQ;IAC1B,IAAItB,IAAI,CAAC,YAAY,CAAC,EAAE,OAAOA,IAAI,CAAC,YAAY,CAAC,CAAA;IACjD,IAAIqB,OAAO,EAAE,OAAOE,oBAAoB,CAAA;AACxC,IAAA,OAAOC,SAAS,CAAA;GACjB,CAAA;AAED,EAAA,IAAMD,oBAAoB,GAAGpB,aAAa,CACvCsB,MAAM,CAAC,UAAAC,KAAK,EAAA;IAAA,OAAI,OAAOA,KAAK,KAAK,QAAQ,CAAA;AAAA,GAAA,CAAC,CAC1CC,IAAI,CAAC,GAAG,CAAC,CAAA;EAEZ,IAAMlB,SAAS,GAAGmB,EAAU,CAC1BpC,SAAS,EACT,UAAU,EACV,iBAAiB,EACCO,iBAAAA,GAAAA,IAAI,EACtB;AACE,IAAA,wBAAwB,EAAEO,cAAc;AACxC,IAAA,yBAAyB,EAAEE,eAAe;IAC1C,2BAA2B,EAAER,IAAI,CAACJ,QAAAA;AACnC,GAAA,CACF,CAAA;EAED,IAAMiC,UAAU,GACdjD,KAAA,CAAAmC,aAAA,CAAA,QAAA,EAAAC,QAAA,CAAA;AACExB,IAAAA,SAAS,EAAEiB,SAAS;AACpBlB,IAAAA,GAAG,EAAEA,GAAG;AACG,IAAA,WAAA,EAAA8B,OAAO;kBACNC,cAAc,EAAE;AAC5BL,IAAAA,IAAI,EAAC,QAAA;GACDjB,EAAAA,IAAI,GAEPqB,OAAO,GACNzC,oBAACkD,WAAW,EAAA;AAACtC,IAAAA,SAAS,EAAC,+BAAA;IAAkC,GAEzDC,QACD,CAEJ,CAAA;EAED,IAAIO,IAAI,CAACJ,QAAQ,EAAE;AACjB,IAAA,OACEhB;AAAKY,MAAAA,SAAS,EAAC,oCAAA;KAAsC,EAAAqC,UAAU,CAAO,CAAA;AAE1E,GAAA;EACA,OAAOjD,KAAA,CAAAmC,aAAA,CAAAnC,KAAA,CAAAmD,QAAA,EAAA,IAAA,EAAGF,UAAU,CAAI,CAAA;AAC1B,CAAC;;;AC5DI,IAAMG,OAAO,gBAAGpD,KAAK,CAACS,UAAU,CACrC,UAAAC,IAAA,EASEC,GAAiC,EAC/B;AAAA,EAAA,IARAE,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRD,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTyC,OAAO,GAAA3C,IAAA,CAAP2C,OAAO;IACPC,oBAAoB,GAAA5C,IAAA,CAApB4C,oBAAoB;IAAApC,SAAA,GAAAR,IAAA,CACpBS,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;AACZE,IAAAA,IAAI,GAAAC,6BAAA,CAAAX,IAAA,EAAAY,WAAA,CAAA,CAAA;EAIT,IAAMC,aAAa,GAAGvB,KAAK,CAACwB,QAAQ,CAACC,OAAO,CAACZ,QAAQ,CAAC,CAAA;AACtD,EAAA,IAAMa,cAAc,GAClBH,aAAa,CAACI,MAAM,GAAG,CAAC,IAAI,OAAOJ,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAClE,EAAA,IAAMK,eAAe,GACnBL,aAAa,CAACI,MAAM,GAAG,CAAC,IACxB,OAAOJ,aAAa,CAACA,aAAa,CAACI,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAA;AAE7D,EAAA,IAAM4B,kBAAkB,GACtBD,oBAAoB,IAAA,IAAA,GAApBA,oBAAoB,GAAI,QAAQ,IAAGzC,QAAQ,IAARA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAE2C,QAAQ,EAAE,CAAA,CAAA;AAEzD,EAAA,OACExD,KAAA,CAAAmC,aAAA,CAAA,KAAA,EAAAC,QAAA,CAAA;IACExB,SAAS,EAAEoC,EAAU,CACnB,UAAU,EACV,cAAc,EACI7B,iBAAAA,GAAAA,IAAI,EACtBP,SAAS,EACT;AACE,MAAA,wBAAwB,EAAEc,cAAc;AACxC,MAAA,yBAAyB,EAAEE,eAAAA;KAC5B,CAAA;GAECR,EAAAA,IAAI,GAEPP,QAAQ,EACTb,KAAA,CAAAmC,aAAA,CAAA,QAAA,EAAA;AACEvB,IAAAA,SAAS,EAAC,4BAA4B;AACtCyB,IAAAA,IAAI,EAAC,QAAQ;AACboB,IAAAA,OAAO,EAAEJ,OAAO;AACJ,IAAA,YAAA,EAAAE,kBAAkB;AAC9B5C,IAAAA,GAAG,EAAEA,GAAAA;AAAG,GAAA,EAERX,KAAA,CAAAmC,aAAA,CAACuB,cAAc,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;GAAA,CAAe,CACvB,CACL,CAAA;AAEV,CAAC;;;ACnDI,IAAMC,UAAU,gBAAG3D,KAAK,CAACS,UAAU,CACxC,UAAAC,IAAA,EAWEC,GAAgC,EAC9B;AAAA,EAAA,IAVAC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAAC,aAAA,GAAAL,IAAA,CACLM,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBiB,IAAI,GAAAtB,IAAA,CAAJsB,IAAI;IACJf,KAAK,GAAAP,IAAA,CAALO,KAAK;IAAAC,SAAA,GAAAR,IAAA,CACLS,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;AACZE,IAAAA,IAAI,GAAAC,6BAAA,CAAAX,IAAA,EAAAY,WAAA,CAAA,CAAA;EAIT,IAAMC,aAAa,GAAGvB,KAAK,CAACwB,QAAQ,CAACC,OAAO,CAACZ,QAAQ,CAAC,CAAA;AACtD,EAAA,IAAMa,cAAc,GAClBH,aAAa,CAACI,MAAM,GAAG,CAAC,IAAI,OAAOJ,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAClE,EAAA,IAAMK,eAAe,GACnBL,aAAa,CAACI,MAAM,GAAG,CAAC,IACxB,OAAOJ,aAAa,CAACA,aAAa,CAACI,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAA;AAE7D,EAAA,IAAME,SAAS,GAAGC,EAAE,CAAClB,SAAS,EAAE,iBAAiB,CAAC,CAAA;AAElD,EAAA,OACEZ;AAAOY,IAAAA,SAAS,EAAEiB,SAAS;AAAEZ,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EACvCjB,KACE,CAAAmC,aAAA,CAAA,OAAA,EAAAC,QAAA,CAAA;AAAAxB,IAAAA,SAAS,EAAC,wBAAwB;AAClCyB,IAAAA,IAAI,EAAC,UAAU;AACfL,IAAAA,IAAI,EAAEA,IAAI;AACVrB,IAAAA,GAAG,EAAEA,GAAG;AACRG,IAAAA,KAAK,EAAEA,KAAK;AACZE,IAAAA,QAAQ,EAAEA,QAAAA;GACNI,EAAAA,IAAI,CACR,CAAA,EACFpB,KACE,CAAAmC,aAAA,CAAA,KAAA,EAAA;AAAAvB,IAAAA,SAAS,EAAEkB,EAAE,CAAC,UAAU,EAAA,iBAAA,GAAoBX,IAAI,EAAI;AAClD,MAAA,wBAAwB,EAAEO,cAAc;AACxC,MAAA,yBAAyB,EAAEE,eAAAA;KAC5B,CAAA;AAAC,GAAA,EAEF5B,KAAM,CAAAmC,aAAA,CAAA,MAAA,EAAA;AAAAvB,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,EACrCZ,KAAC,CAAAmC,aAAA,CAAAyB,YAAY,OAAG,CACX,EACN/C,QAAQ,CACL,CACA,CAAA;AAEZ,CAAC,EACF;AAED,IAAM+C,YAAY,GAAa,SAAzBA,YAAYA,GAAkB;AAClC,EAAA,OACE5D,KACE,CAAAmC,aAAA,CAAA,KAAA,EAAA;AAAAvB,IAAAA,SAAS,EAAC,sBAAsB;AAChCiD,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,IAAI;AACXC,IAAAA,OAAO,EAAC,WAAW;AACnBC,IAAAA,IAAI,EAAC,MAAM;AACXC,IAAAA,KAAK,EAAC,4BAAA;AAA4B,GAAA,EAElCjE,KAAA,CAAAmC,aAAA,CAAA,MAAA,EAAA;AACEvB,IAAAA,SAAS,EAAC,4BAA4B;AACtCsD,IAAAA,CAAC,EAAC,gGAAgG;AAClGC,IAAAA,MAAM,EAAC,SAAS;AAChBC,IAAAA,WAAW,EAAC,GAAA;AACZ,GAAA,CAAA,CACE,CAAA;AAEV,CAAC;;;IClEYC,eAAe,GAAmC,SAAlDA,eAAeA,CAAA3D,IAAA,EAOvB;AAAA,EAAA,IANHsB,IAAI,GAAAtB,IAAA,CAAJsB,IAAI;IACJlB,KAAK,GAAAJ,IAAA,CAALI,KAAK;IACLD,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRqB,QAAQ,GAAAxB,IAAA,CAARwB,QAAQ;IACRoC,KAAK,GAAA5D,IAAA,CAAL4D,KAAK;AACFlD,IAAAA,IAAI,GAAAC,6BAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;AAEP,EAAA,IAAMiD,YAAY,GAAGvE,KAAK,CAACwE,OAAO,CAChC,YAAA;IAAA,OAAO;AAAExC,MAAAA,IAAI,EAAJA,IAAI;AAAElB,MAAAA,KAAK,EAALA,KAAK;AAAEoB,MAAAA,QAAQ,EAARA,QAAAA;KAAU,CAAA;GAAC,EACjC,CAACF,IAAI,EAAElB,KAAK,EAAEoB,QAAQ,CAAC,CACxB,CAAA;AACD,EAAA,OACElC,KAAC,CAAAmC,aAAA,CAAAjC,8BAA8B,EAAC;AAAAY,IAAAA,KAAK,EAAEyD,YAAAA;AAAY,GAAA,EACjDvE,KAAA,CAAAmC,aAAA,CAACsC,QAAQ,EAAArC,QAAA,CAAA;AAACxB,IAAAA,SAAS,EAAC,wBAAwB;AAAC0D,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EAAMlD,IAAI,CAAA,EAChEP,QAAQ,CACA,CACoB,CAAA;AAErC;;ACpCA6D,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;"}