@rescui/chip-list 0.14.4 → 0.15.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.
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { c } from 'react-compiler-runtime';
2
3
  import React from 'react';
3
4
  import cn from 'classnames';
4
5
  import { useThemeWithUndefined } from '@rescui/ui-contexts';
@@ -33,28 +34,52 @@ const calculateAutoPattern = _ref => {
33
34
  }; // eslint-disable-next-line complexity
34
35
 
35
36
 
36
- function ChipListBase(_ref2) {
37
- let {
38
- size = 'm',
39
- sparse = false,
40
- compact = false,
41
- disabled = false,
37
+ function ChipListBase(t0) {
38
+ const $ = c(47);
39
+ const {
40
+ size: t1,
41
+ sparse: t2,
42
+ compact: t3,
43
+ disabled: t4,
42
44
  className,
43
- mode = 'classic',
44
- alignItems = 'left',
45
- pattern = 'auto',
45
+ mode: t5,
46
+ alignItems: t6,
47
+ pattern: t7,
46
48
  theme: themeFromProps,
47
49
  value,
48
50
  onChange,
49
51
  compareValues,
50
52
  children,
51
53
  name,
52
- ['aria-label']: ariaLabel,
53
- ['aria-labelledby']: ariaLabelledBy,
54
- ['data-e2e']: e2eId,
54
+ "aria-label": ariaLabel,
55
+ "aria-labelledby": ariaLabelledBy,
56
+ "data-e2e": e2eId,
55
57
  style
56
- } = _ref2;
58
+ } = t0;
59
+ const size = t1 === undefined ? "m" : t1;
60
+ const sparse = t2 === undefined ? false : t2;
61
+ const compact = t3 === undefined ? false : t3;
62
+ const disabled = t4 === undefined ? false : t4;
63
+ const mode = t5 === undefined ? "classic" : t5;
64
+ const alignItems = t6 === undefined ? "left" : t6;
65
+ const pattern = t7 === undefined ? "auto" : t7;
57
66
  const theme = useThemeWithUndefined(themeFromProps);
67
+ let t8;
68
+
69
+ if ($[0] !== children || $[1] !== compareValues || $[2] !== value) {
70
+ t8 = {
71
+ children,
72
+ compareValues,
73
+ value
74
+ };
75
+ $[0] = children;
76
+ $[1] = compareValues;
77
+ $[2] = value;
78
+ $[3] = t8;
79
+ } else {
80
+ t8 = $[3];
81
+ }
82
+
58
83
  const {
59
84
  childrenWithValues,
60
85
  selectedIds,
@@ -62,58 +87,171 @@ function ChipListBase(_ref2) {
62
87
  hasControls,
63
88
  allItemsHaveControls,
64
89
  tabRefs
65
- } = useItemsIds({
66
- children,
67
- compareValues,
68
- value
69
- });
70
- const resolvedPattern = pattern === 'auto' ? calculateAutoPattern({
71
- hasHref,
72
- hasControls
73
- }) : pattern;
74
- const rovingTabIndex = useRovingTabIndex({
75
- enabled: resolvedPattern === 'tablist' && !disabled,
76
- selectedId: selectedIds[0],
77
- tabRefs
78
- }); // eslint-disable-next-line complexity
79
-
80
- React.useEffect(() => {
81
- if (!IS_PRODUCTION && resolvedPattern === 'radiogroup' && hasHref) {
82
- // eslint-disable-next-line no-console
83
- console.warn('[RescUI] ChipList with pattern="radiogroup" contains Chip with href. href is ignored. Use pattern="navigation" or pattern="auto" for link chips.');
84
- }
85
-
86
- if (!IS_PRODUCTION && resolvedPattern !== 'tablist' && hasControls) {
87
- // eslint-disable-next-line no-console
88
- console.warn('[RescUI] ChipList with pattern other than "tablist" contains Chip with aria-controls. Use pattern="tablist" or pattern="auto" for controlled tab panels.');
89
- }
90
-
91
- if (!IS_PRODUCTION && resolvedPattern === 'tablist' && !allItemsHaveControls) {
92
- // eslint-disable-next-line no-console
93
- console.warn('[RescUI] ChipList with pattern="tablist" requires every Chip to have aria-controls. Every tab should control a panel.');
94
- }
95
- }, [allItemsHaveControls, hasControls, hasHref, resolvedPattern]);
96
- return /*#__PURE__*/React.createElement(ChipListContext.Provider, {
97
- value: {
90
+ } = useItemsIds(t8);
91
+ let t9;
92
+
93
+ if ($[4] !== hasControls || $[5] !== hasHref || $[6] !== pattern) {
94
+ t9 = pattern === "auto" ? calculateAutoPattern({
95
+ hasHref,
96
+ hasControls
97
+ }) : pattern;
98
+ $[4] = hasControls;
99
+ $[5] = hasHref;
100
+ $[6] = pattern;
101
+ $[7] = t9;
102
+ } else {
103
+ t9 = $[7];
104
+ }
105
+
106
+ const resolvedPattern = t9;
107
+ const t10 = resolvedPattern === "tablist" && !disabled;
108
+ let t11;
109
+
110
+ if ($[8] !== selectedIds[0] || $[9] !== t10 || $[10] !== tabRefs) {
111
+ t11 = {
112
+ enabled: t10,
113
+ selectedId: selectedIds[0],
114
+ tabRefs
115
+ };
116
+ $[8] = selectedIds[0];
117
+ $[9] = t10;
118
+ $[10] = tabRefs;
119
+ $[11] = t11;
120
+ } else {
121
+ t11 = $[11];
122
+ }
123
+
124
+ const rovingTabIndex = useRovingTabIndex(t11);
125
+ let t12;
126
+ let t13;
127
+
128
+ if ($[12] !== allItemsHaveControls || $[13] !== hasControls || $[14] !== hasHref || $[15] !== resolvedPattern) {
129
+ t12 = () => {
130
+ if (!IS_PRODUCTION && resolvedPattern === "radiogroup" && hasHref) {
131
+ console.warn("[RescUI] ChipList with pattern=\"radiogroup\" contains Chip with href. href is ignored. Use pattern=\"navigation\" or pattern=\"auto\" for link chips.");
132
+ }
133
+
134
+ if (!IS_PRODUCTION && resolvedPattern !== "tablist" && hasControls) {
135
+ console.warn("[RescUI] ChipList with pattern other than \"tablist\" contains Chip with aria-controls. Use pattern=\"tablist\" or pattern=\"auto\" for controlled tab panels.");
136
+ }
137
+
138
+ if (!IS_PRODUCTION && resolvedPattern === "tablist" && !allItemsHaveControls) {
139
+ console.warn("[RescUI] ChipList with pattern=\"tablist\" requires every Chip to have aria-controls. Every tab should control a panel.");
140
+ }
141
+ };
142
+
143
+ t13 = [allItemsHaveControls, hasControls, hasHref, resolvedPattern];
144
+ $[12] = allItemsHaveControls;
145
+ $[13] = hasControls;
146
+ $[14] = hasHref;
147
+ $[15] = resolvedPattern;
148
+ $[16] = t12;
149
+ $[17] = t13;
150
+ } else {
151
+ t12 = $[16];
152
+ t13 = $[17];
153
+ }
154
+
155
+ React.useEffect(t12, t13);
156
+ const t14 = resolvedPattern === "tablist" ? rovingTabIndex : undefined;
157
+ let t15;
158
+
159
+ if ($[18] !== disabled || $[19] !== name || $[20] !== onChange || $[21] !== resolvedPattern || $[22] !== selectedIds || $[23] !== t14) {
160
+ t15 = {
98
161
  onChange,
99
162
  selectedIds,
100
163
  disabled,
101
164
  pattern: resolvedPattern,
102
165
  name,
103
- rovingTabIndex: resolvedPattern === 'tablist' ? rovingTabIndex : undefined
104
- }
105
- }, /*#__PURE__*/React.createElement("div", {
106
- className: cn(styles.main, styles[theme], styles[mode], STYLES_SIZES[size], sparse ? styles.innerOffsetL : styles.innerOffsetM, compact && styles.compact, disabled && styles.disabled, ALIGN_ITEMS_STYLES[alignItems], className),
107
- "data-e2e": e2eId ? `${e2eId}__chips-container` : null,
108
- "data-rs-internal": 'chip-list',
109
- "data-test": 'chip-list',
110
- role: resolvedPattern,
111
- "aria-label": ariaLabel,
112
- "aria-labelledby": ariaLabelledBy,
113
- style: style
114
- }, /*#__PURE__*/React.createElement("div", {
115
- className: styles.chipsContainer
116
- }, childrenWithValues)));
166
+ rovingTabIndex: t14
167
+ };
168
+ $[18] = disabled;
169
+ $[19] = name;
170
+ $[20] = onChange;
171
+ $[21] = resolvedPattern;
172
+ $[22] = selectedIds;
173
+ $[23] = t14;
174
+ $[24] = t15;
175
+ } else {
176
+ t15 = $[24];
177
+ }
178
+
179
+ const t16 = styles[theme];
180
+ const t17 = styles[mode];
181
+ const t18 = STYLES_SIZES[size];
182
+ const t19 = sparse ? styles.innerOffsetL : styles.innerOffsetM;
183
+ const t20 = compact && styles.compact;
184
+ const t21 = disabled && styles.disabled;
185
+ const t22 = ALIGN_ITEMS_STYLES[alignItems];
186
+ let t23;
187
+
188
+ if ($[25] !== className || $[26] !== t16 || $[27] !== t17 || $[28] !== t18 || $[29] !== t19 || $[30] !== t20 || $[31] !== t21 || $[32] !== t22) {
189
+ t23 = cn(styles.main, t16, t17, t18, t19, t20, t21, t22, className);
190
+ $[25] = className;
191
+ $[26] = t16;
192
+ $[27] = t17;
193
+ $[28] = t18;
194
+ $[29] = t19;
195
+ $[30] = t20;
196
+ $[31] = t21;
197
+ $[32] = t22;
198
+ $[33] = t23;
199
+ } else {
200
+ t23 = $[33];
201
+ }
202
+
203
+ const t24 = e2eId ? `${e2eId}__chips-container` : null;
204
+ let t25;
205
+
206
+ if ($[34] !== childrenWithValues) {
207
+ t25 = /*#__PURE__*/React.createElement("div", {
208
+ className: styles.chipsContainer
209
+ }, childrenWithValues);
210
+ $[34] = childrenWithValues;
211
+ $[35] = t25;
212
+ } else {
213
+ t25 = $[35];
214
+ }
215
+
216
+ let t26;
217
+
218
+ if ($[36] !== ariaLabel || $[37] !== ariaLabelledBy || $[38] !== resolvedPattern || $[39] !== style || $[40] !== t23 || $[41] !== t24 || $[42] !== t25) {
219
+ t26 = /*#__PURE__*/React.createElement("div", {
220
+ className: t23,
221
+ "data-e2e": t24,
222
+ "data-rs-internal": "chip-list",
223
+ "data-test": "chip-list",
224
+ role: resolvedPattern,
225
+ "aria-label": ariaLabel,
226
+ "aria-labelledby": ariaLabelledBy,
227
+ style: style
228
+ }, t25);
229
+ $[36] = ariaLabel;
230
+ $[37] = ariaLabelledBy;
231
+ $[38] = resolvedPattern;
232
+ $[39] = style;
233
+ $[40] = t23;
234
+ $[41] = t24;
235
+ $[42] = t25;
236
+ $[43] = t26;
237
+ } else {
238
+ t26 = $[43];
239
+ }
240
+
241
+ let t27;
242
+
243
+ if ($[44] !== t15 || $[45] !== t26) {
244
+ t27 = /*#__PURE__*/React.createElement(ChipListContext.Provider, {
245
+ value: t15
246
+ }, t26);
247
+ $[44] = t15;
248
+ $[45] = t26;
249
+ $[46] = t27;
250
+ } else {
251
+ t27 = $[46];
252
+ }
253
+
254
+ return t27;
117
255
  }
118
256
 
119
257
  export { ChipListBase };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { createContext, useContext } from 'react';
2
+ import { useContext, createContext } from 'react';
3
3
  const ChipListContext = /*#__PURE__*/createContext({
4
4
  // eslint-disable-next-line @typescript-eslint/no-empty-function
5
5
  onChange: () => {},
@@ -8,6 +8,8 @@ const ChipListContext = /*#__PURE__*/createContext({
8
8
  pattern: 'navigation'
9
9
  });
10
10
 
11
- const useChipListContext = () => useContext(ChipListContext);
11
+ const useChipListContext = () => {
12
+ return useContext(ChipListContext);
13
+ };
12
14
 
13
15
  export { ChipListContext, useChipListContext };
@@ -1,27 +1,27 @@
1
1
  var styles = {
2
- "light": "_light_obqqq4_8",
3
- "dark": "_dark_obqqq4_11",
4
- "alignLeft": "_alignLeft_obqqq4_15",
5
- "alignCenter": "_alignCenter_obqqq4_18",
6
- "alignRight": "_alignRight_obqqq4_21",
7
- "sizeXs": "_sizeXs_obqqq4_25",
8
- "sizeS": "_sizeS_obqqq4_28",
9
- "sizeM": "_sizeM_obqqq4_31",
10
- "sizeL": "_sizeL_obqqq4_34",
11
- "innerOffsetL": "_innerOffsetL_obqqq4_38",
12
- "innerOffsetM": "_innerOffsetM_obqqq4_41",
13
- "classic": "_classic_obqqq4_45",
14
- "rock": "_rock_obqqq4_48",
15
- "compact": "_compact_obqqq4_52",
16
- "main": "_main_obqqq4_56",
17
- "chipsContainer": "_chipsContainer_obqqq4_62",
18
- "alignIconLeft": "_alignIconLeft_obqqq4_72",
19
- "alignIconRight": "_alignIconRight_obqqq4_75",
20
- "chip": "_chip_obqqq4_62",
21
- "selected": "_selected_obqqq4_176",
22
- "disabled": "_disabled_obqqq4_183",
23
- "icon": "_icon_obqqq4_216",
24
- "hiddenInput": "_hiddenInput_obqqq4_227",
25
- "withoutText": "_withoutText_obqqq4_244"
2
+ "light": "_light_lybc4g_8",
3
+ "dark": "_dark_lybc4g_11",
4
+ "alignLeft": "_alignLeft_lybc4g_15",
5
+ "alignCenter": "_alignCenter_lybc4g_18",
6
+ "alignRight": "_alignRight_lybc4g_21",
7
+ "sizeXs": "_sizeXs_lybc4g_25",
8
+ "sizeS": "_sizeS_lybc4g_28",
9
+ "sizeM": "_sizeM_lybc4g_31",
10
+ "sizeL": "_sizeL_lybc4g_34",
11
+ "innerOffsetL": "_innerOffsetL_lybc4g_38",
12
+ "innerOffsetM": "_innerOffsetM_lybc4g_41",
13
+ "classic": "_classic_lybc4g_45",
14
+ "rock": "_rock_lybc4g_48",
15
+ "compact": "_compact_lybc4g_52",
16
+ "main": "_main_lybc4g_56",
17
+ "chipsContainer": "_chipsContainer_lybc4g_62",
18
+ "alignIconLeft": "_alignIconLeft_lybc4g_72",
19
+ "alignIconRight": "_alignIconRight_lybc4g_75",
20
+ "chip": "_chip_lybc4g_62",
21
+ "selected": "_selected_lybc4g_176",
22
+ "disabled": "_disabled_lybc4g_183",
23
+ "icon": "_icon_lybc4g_216",
24
+ "hiddenInput": "_hiddenInput_lybc4g_227",
25
+ "withoutText": "_withoutText_lybc4g_244"
26
26
  };
27
27
  export { styles as default };