@entur/chip 0.9.1-beta.3 → 0.9.1-beta.4

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,235 +1,226 @@
1
- import { warnAboutMissingStyles } from "@entur/utils";
2
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
3
- import React from "react";
4
- import cx from "classnames";
5
- import { LoadingDots } from "@entur/loader";
6
- import { CloseSmallIcon } from "@entur/icons";
7
- import { Fieldset } from "@entur/form";
8
- const ChoiceChipGroupContext = React.createContext(null);
9
- const ChoiceChipGroupContextProvider = ChoiceChipGroupContext.Provider;
10
- const useChoiceChipGroupContext = () => {
11
- const context = React.useContext(ChoiceChipGroupContext);
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);
16
+ }
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;
25
+ }
26
+
27
+ var ChoiceChipGroupContext = /*#__PURE__*/React.createContext(null);
28
+ var ChoiceChipGroupContextProvider = ChoiceChipGroupContext.Provider;
29
+ var useChoiceChipGroupContext = function useChoiceChipGroupContext() {
30
+ var context = React.useContext(ChoiceChipGroupContext);
12
31
  if (!context) {
13
- throw new Error(
14
- "You need to wrap your ChoiceChips in a ChoiceChipGroup-component"
15
- );
32
+ throw new Error('You need to wrap your ChoiceChips in a ChoiceChipGroup-component');
16
33
  }
17
34
  return context;
18
35
  };
19
- const ChoiceChip = React.forwardRef(
20
- ({
21
- className,
22
- children,
23
- value,
24
- disabled = false,
25
- style,
26
- size = "medium",
27
- ...rest
28
- }, ref) => {
29
- const childrenArray = React.Children.toArray(children);
30
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
31
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
32
- const classList = cx(className, "eds-chip", `eds-chip--size-${size}`, {
33
- "eds-chip--disabled": disabled,
34
- "eds-chip--leading-icon": hasLeadingIcon,
35
- "eds-chip--trailing-icon": hasTrailingIcon
36
- });
37
- const {
38
- name,
39
- value: selectedValue,
40
- onChange
41
- } = useChoiceChipGroupContext();
42
- return /* @__PURE__ */ jsxs("label", { className: "eds-choice-chip", style, children: [
43
- /* @__PURE__ */ jsx(
44
- "input",
45
- {
46
- className: "eds-choice-chip__input",
47
- type: "radio",
48
- name,
49
- ref,
50
- value,
51
- disabled,
52
- checked: selectedValue === value,
53
- onChange,
54
- "aria-disabled": disabled,
55
- ...rest
56
- }
57
- ),
58
- /* @__PURE__ */ jsx("div", { className: classList, children })
59
- ] });
60
- }
61
- );
62
- const ActionChip = React.forwardRef(
63
- ({ children, className, loading = false, size = "medium", ...rest }, ref) => {
64
- const childrenArray = React.Children.toArray(children);
65
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
66
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
67
- const ariaLabelValue = () => {
68
- if (rest["aria-label"]) return rest["aria-label"];
69
- if (loading) return ariaLabelWhenLoading;
70
- return void 0;
71
- };
72
- const ariaLabelWhenLoading = childrenArray.filter((child) => typeof child === "string").join(" ");
73
- const classList = cx(
74
- className,
75
- "eds-chip",
76
- "eds-action-chip",
77
- `eds-chip--size-${size}`,
78
- {
79
- "eds-chip--leading-icon": hasLeadingIcon,
80
- "eds-chip--trailing-icon": hasTrailingIcon,
81
- "eds-action-chip--disabled": rest.disabled
82
- }
83
- );
84
- const actionChip = /* @__PURE__ */ jsx(
85
- "button",
86
- {
87
- className: classList,
88
- ref,
89
- "aria-busy": loading,
90
- "aria-label": ariaLabelValue(),
91
- type: "button",
92
- ...rest,
93
- children: loading ? /* @__PURE__ */ jsx(LoadingDots, { className: "eds-action-chip__loading-dots" }) : children
94
- }
95
- );
96
- if (rest.disabled) {
97
- return /* @__PURE__ */ jsx("div", { className: "eds-action-chip--disabled__wrapper", children: actionChip });
98
- }
99
- 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);
100
116
  }
101
- );
102
- const TagChip = React.forwardRef(
103
- ({
104
- children,
105
- className,
106
- onClose,
107
- closeButtonAriaLabel,
108
- size = "medium",
109
- ...rest
110
- }, ref) => {
111
- const childrenArray = React.Children.toArray(children);
112
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
113
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
114
- const selectedCloseLabel = closeButtonAriaLabel ?? "Fjern " + children?.toString();
115
- return /* @__PURE__ */ jsxs(
116
- "div",
117
- {
118
- className: cx(
119
- "eds-chip",
120
- "eds-tag-chip",
121
- `eds-chip--size-${size}`,
122
- className,
123
- {
124
- "eds-chip--leading-icon": hasLeadingIcon,
125
- "eds-chip--trailing-icon": hasTrailingIcon
126
- }
127
- ),
128
- ...rest,
129
- children: [
130
- children,
131
- /* @__PURE__ */ jsx(
132
- "button",
133
- {
134
- className: "eds-tag-chip__close-button",
135
- type: "button",
136
- onClick: onClose,
137
- "aria-label": selectedCloseLabel,
138
- ref,
139
- children: /* @__PURE__ */ jsx(CloseSmallIcon, { "aria-hidden": true })
140
- }
141
- )
142
- ]
143
- }
144
- );
145
- }
146
- );
147
- const FilterChip = React.forwardRef(
148
- ({
149
- className,
150
- children,
151
- value,
152
- disabled = false,
153
- name,
154
- style,
155
- size = "medium",
156
- ...rest
157
- }, ref) => {
158
- const childrenArray = React.Children.toArray(children);
159
- const hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== "string";
160
- const hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== "string";
161
- const classList = cx(className, "eds-filter-chip");
162
- return /* @__PURE__ */ jsxs("label", { className: classList, style, children: [
163
- /* @__PURE__ */ jsx(
164
- "input",
165
- {
166
- className: "eds-filter-chip__input",
167
- type: "checkbox",
168
- name,
169
- ref,
170
- value,
171
- disabled,
172
- ...rest
173
- }
174
- ),
175
- /* @__PURE__ */ jsxs(
176
- "div",
177
- {
178
- className: cx("eds-chip", `eds-chip--size-${size}`, {
179
- "eds-chip--leading-icon": hasLeadingIcon,
180
- "eds-chip--trailing-icon": hasTrailingIcon
181
- }),
182
- children: [
183
- /* @__PURE__ */ jsx("span", { className: "eds-filter-chip__icon", children: /* @__PURE__ */ jsx(CheckboxIcon, {}) }),
184
- children
185
- ]
186
- }
187
- )
188
- ] });
189
- }
190
- );
191
- const CheckboxIcon = () => {
192
- return /* @__PURE__ */ jsx(
193
- "svg",
194
- {
195
- className: "eds-filter-chip-icon",
196
- width: "16",
197
- height: "16",
198
- viewBox: "0 0 16 16",
199
- fill: "none",
200
- xmlns: "http://www.w3.org/2000/svg",
201
- children: /* @__PURE__ */ jsx(
202
- "path",
203
- {
204
- className: "eds-filter-chip-icon__path",
205
- d: "M1.71283 7.10801L5.6464 11.1377C5.84098 11.3371 6.16095 11.339 6.35786 11.1419L14.2916 3.20325",
206
- stroke: "#181C56",
207
- strokeWidth: "2"
208
- }
209
- )
210
- }
211
- );
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
+ }));
212
198
  };
213
- const ChoiceChipGroup = ({
214
- name,
215
- value,
216
- children,
217
- onChange,
218
- label,
219
- ...rest
220
- }) => {
221
- const contextValue = React.useMemo(
222
- () => ({ name, value, onChange }),
223
- [name, value, onChange]
224
- );
225
- return /* @__PURE__ */ jsx(ChoiceChipGroupContextProvider, { value: contextValue, children: /* @__PURE__ */ jsx(Fieldset, { className: "eds-choice-chips-group", label, ...rest, children }) });
226
- };
227
- warnAboutMissingStyles("chip", "form");
228
- export {
229
- ActionChip,
230
- ChoiceChip,
231
- ChoiceChipGroup,
232
- FilterChip,
233
- 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));
234
221
  };
222
+
223
+ warnAboutMissingStyles('chip', 'form');
224
+
225
+ export { ActionChip, ChoiceChip, ChoiceChipGroup, FilterChip, TagChip };
235
226
  //# sourceMappingURL=chip.esm.js.map
@@ -1 +1 @@
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":["classNames"],"mappings":"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"}
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":"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"}