@arc-ui/components 11.8.0 → 11.9.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.
Files changed (42) hide show
  1. package/dist/Badge/Badge.cjs.d.ts +4 -0
  2. package/dist/Badge/Badge.cjs.js +3 -3
  3. package/dist/Badge/Badge.esm.d.ts +4 -0
  4. package/dist/Badge/Badge.esm.js +3 -3
  5. package/dist/ProgressStepper/ProgressStepper.cjs.d.ts +1 -89
  6. package/dist/ProgressStepper/ProgressStepper.cjs.js +10 -144
  7. package/dist/ProgressStepper/ProgressStepper.esm.d.ts +1 -89
  8. package/dist/ProgressStepper/ProgressStepper.esm.js +9 -143
  9. package/dist/Tabs/Tabs.cjs.d.ts +1 -75
  10. package/dist/Tabs/Tabs.cjs.js +11 -505
  11. package/dist/Tabs/Tabs.esm.d.ts +1 -75
  12. package/dist/Tabs/Tabs.esm.js +10 -504
  13. package/dist/TextArea/TextArea.cjs.js +20 -8
  14. package/dist/TextArea/TextArea.esm.js +20 -8
  15. package/dist/Toast/Toast.cjs.d.ts +1 -52
  16. package/dist/Toast/Toast.cjs.js +14 -734
  17. package/dist/Toast/Toast.esm.d.ts +1 -52
  18. package/dist/Toast/Toast.esm.js +13 -733
  19. package/dist/_shared/cjs/MediaCard-9483ad5f.d.ts +60 -0
  20. package/dist/_shared/cjs/ProgressStepper-f740d7bb.d.ts +89 -0
  21. package/dist/_shared/cjs/ProgressStepper-f740d7bb.js +149 -0
  22. package/dist/_shared/cjs/Tabs-fda49692.d.ts +75 -0
  23. package/dist/_shared/cjs/Tabs-fda49692.js +510 -0
  24. package/dist/_shared/cjs/Toast-0cb23cae.d.ts +52 -0
  25. package/dist/_shared/cjs/Toast-0cb23cae.js +739 -0
  26. package/dist/_shared/esm/MediaCard-9483ad5f.d.ts +60 -0
  27. package/dist/_shared/esm/ProgressStepper-7ab88f4c.d.ts +89 -0
  28. package/dist/_shared/esm/ProgressStepper-7ab88f4c.js +143 -0
  29. package/dist/_shared/esm/Tabs-5af0b940.d.ts +75 -0
  30. package/dist/_shared/esm/Tabs-5af0b940.js +504 -0
  31. package/dist/_shared/esm/Toast-43795e91.d.ts +52 -0
  32. package/dist/_shared/esm/Toast-43795e91.js +733 -0
  33. package/dist/index.es.js +2312 -407
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/index.js +2667 -751
  36. package/dist/index.js.map +1 -1
  37. package/dist/styles.css +1 -1
  38. package/dist/types/components/Badge/Badge.d.ts +4 -0
  39. package/dist/types/components/Toast/Toast.d.ts +2 -2
  40. package/dist/types/components/Toast/ToastNotification.d.ts +1 -1
  41. package/dist/types/components/index.d.ts +17 -6
  42. package/package.json +4 -4
@@ -1,506 +1,12 @@
1
- import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/filter-data-attrs-afdb7d32.js';
2
- import React__default, { useContext, createContext, forwardRef, createElement, useRef, useState, useEffect, useCallback } from 'react';
3
- import { _ as _extends } from '../_shared/esm/extends-4575346e.js';
4
- import { d as $c512c27ab02ef895$export$50c7b4e9d9f19c1, a as $6ed0406888f73fc4$export$c7b2cbe3552a0d05, e as $71cd76cc60e0454e$export$6f32135080cb4c3, $ as $b1b2314f5f9a1d84$export$25bec8c6f54ee79a, b as $8927f6f2acc4f386$export$250ffa63cdc0d034, g as $e42e1063c40fb3ef$export$b9ecd428b558ff10, f as $921a889cee6df7e8$export$99c2b779aa4e8b8b } from '../_shared/esm/index-22aad354.js';
5
- import { $ as $e02a7d9cb1dc128c$export$c74125a8e3af6bb2 } from '../_shared/esm/index-8000d9e3.js';
6
- import { $ as $1746a345f3d73bb7$export$f680877a34711e37 } from '../_shared/esm/index-bed18a88.js';
7
- import { I as Icon } from '../_shared/esm/Icon-c1af47bc.js';
8
- import { C as Context } from '../_shared/esm/Surface-dde51789.js';
9
- import { c as classNames } from '../_shared/esm/index-2ae58626.js';
1
+ export { T as Tabs } from '../_shared/esm/Tabs-5af0b940.js';
2
+ import '../_shared/esm/filter-data-attrs-afdb7d32.js';
3
+ import 'react';
4
+ import '../_shared/esm/extends-4575346e.js';
5
+ import '../_shared/esm/index-22aad354.js';
10
6
  import 'react-dom';
7
+ import '../_shared/esm/index-8000d9e3.js';
8
+ import '../_shared/esm/index-bed18a88.js';
9
+ import '../_shared/esm/Icon-c1af47bc.js';
10
+ import '../_shared/esm/index-2ae58626.js';
11
11
  import '../_shared/esm/suffix-modifier-7e640670.js';
12
-
13
- const $f631663db3294ace$var$DirectionContext = /*#__PURE__*/ createContext(undefined);
14
- /* -----------------------------------------------------------------------------------------------*/ function $f631663db3294ace$export$b39126d51d94e6f3(localDir) {
15
- const globalDir = useContext($f631663db3294ace$var$DirectionContext);
16
- return localDir || globalDir || 'ltr';
17
- }
18
-
19
- const $d7bdfb9eb0fdf311$var$ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';
20
- const $d7bdfb9eb0fdf311$var$EVENT_OPTIONS = {
21
- bubbles: false,
22
- cancelable: true
23
- };
24
- /* -------------------------------------------------------------------------------------------------
25
- * RovingFocusGroup
26
- * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$GROUP_NAME = 'RovingFocusGroup';
27
- const [$d7bdfb9eb0fdf311$var$Collection, $d7bdfb9eb0fdf311$var$useCollection, $d7bdfb9eb0fdf311$var$createCollectionScope] = $e02a7d9cb1dc128c$export$c74125a8e3af6bb2($d7bdfb9eb0fdf311$var$GROUP_NAME);
28
- const [$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext, $d7bdfb9eb0fdf311$export$c7109489551a4f4] = $c512c27ab02ef895$export$50c7b4e9d9f19c1($d7bdfb9eb0fdf311$var$GROUP_NAME, [
29
- $d7bdfb9eb0fdf311$var$createCollectionScope
30
- ]);
31
- const [$d7bdfb9eb0fdf311$var$RovingFocusProvider, $d7bdfb9eb0fdf311$var$useRovingFocusContext] = $d7bdfb9eb0fdf311$var$createRovingFocusGroupContext($d7bdfb9eb0fdf311$var$GROUP_NAME);
32
- const $d7bdfb9eb0fdf311$export$8699f7c8af148338 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
33
- return /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$var$Collection.Provider, {
34
- scope: props.__scopeRovingFocusGroup
35
- }, /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$var$Collection.Slot, {
36
- scope: props.__scopeRovingFocusGroup
37
- }, /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$var$RovingFocusGroupImpl, _extends({}, props, {
38
- ref: forwardedRef
39
- }))));
40
- });
41
- /* -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$RovingFocusGroupImpl = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
42
- const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , orientation: orientation , loop: loop = false , dir: dir , currentTabStopId: currentTabStopIdProp , defaultCurrentTabStopId: defaultCurrentTabStopId , onCurrentTabStopIdChange: onCurrentTabStopIdChange , onEntryFocus: onEntryFocus , ...groupProps } = props;
43
- const ref = useRef(null);
44
- const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
45
- const direction = $f631663db3294ace$export$b39126d51d94e6f3(dir);
46
- const [currentTabStopId = null, setCurrentTabStopId] = $71cd76cc60e0454e$export$6f32135080cb4c3({
47
- prop: currentTabStopIdProp,
48
- defaultProp: defaultCurrentTabStopId,
49
- onChange: onCurrentTabStopIdChange
50
- });
51
- const [isTabbingBackOut, setIsTabbingBackOut] = useState(false);
52
- const handleEntryFocus = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onEntryFocus);
53
- const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);
54
- const isClickFocusRef = useRef(false);
55
- const [focusableItemsCount, setFocusableItemsCount] = useState(0);
56
- useEffect(()=>{
57
- const node = ref.current;
58
- if (node) {
59
- node.addEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus);
60
- return ()=>node.removeEventListener($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, handleEntryFocus)
61
- ;
62
- }
63
- }, [
64
- handleEntryFocus
65
- ]);
66
- return /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$var$RovingFocusProvider, {
67
- scope: __scopeRovingFocusGroup,
68
- orientation: orientation,
69
- dir: direction,
70
- loop: loop,
71
- currentTabStopId: currentTabStopId,
72
- onItemFocus: useCallback((tabStopId)=>setCurrentTabStopId(tabStopId)
73
- , [
74
- setCurrentTabStopId
75
- ]),
76
- onItemShiftTab: useCallback(()=>setIsTabbingBackOut(true)
77
- , []),
78
- onFocusableItemAdd: useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount + 1
79
- )
80
- , []),
81
- onFocusableItemRemove: useCallback(()=>setFocusableItemsCount((prevCount)=>prevCount - 1
82
- )
83
- , [])
84
- }, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
85
- tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
86
- "data-orientation": orientation
87
- }, groupProps, {
88
- ref: composedRefs,
89
- style: {
90
- outline: 'none',
91
- ...props.style
92
- },
93
- onMouseDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onMouseDown, ()=>{
94
- isClickFocusRef.current = true;
95
- }),
96
- onFocus: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocus, (event)=>{
97
- // We normally wouldn't need this check, because we already check
98
- // that the focus is on the current target and not bubbling to it.
99
- // We do this because Safari doesn't focus buttons when clicked, and
100
- // instead, the wrapper will get focused and not through a bubbling event.
101
- const isKeyboardFocus = !isClickFocusRef.current;
102
- if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
103
- const entryFocusEvent = new CustomEvent($d7bdfb9eb0fdf311$var$ENTRY_FOCUS, $d7bdfb9eb0fdf311$var$EVENT_OPTIONS);
104
- event.currentTarget.dispatchEvent(entryFocusEvent);
105
- if (!entryFocusEvent.defaultPrevented) {
106
- const items = getItems().filter((item)=>item.focusable
107
- );
108
- const activeItem = items.find((item)=>item.active
109
- );
110
- const currentItem = items.find((item)=>item.id === currentTabStopId
111
- );
112
- const candidateItems = [
113
- activeItem,
114
- currentItem,
115
- ...items
116
- ].filter(Boolean);
117
- const candidateNodes = candidateItems.map((item)=>item.ref.current
118
- );
119
- $d7bdfb9eb0fdf311$var$focusFirst(candidateNodes);
120
- }
121
- }
122
- isClickFocusRef.current = false;
123
- }),
124
- onBlur: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onBlur, ()=>setIsTabbingBackOut(false)
125
- )
126
- })));
127
- });
128
- /* -------------------------------------------------------------------------------------------------
129
- * RovingFocusGroupItem
130
- * -----------------------------------------------------------------------------------------------*/ const $d7bdfb9eb0fdf311$var$ITEM_NAME = 'RovingFocusGroupItem';
131
- const $d7bdfb9eb0fdf311$export$ab9df7c53fe8454 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
132
- const { __scopeRovingFocusGroup: __scopeRovingFocusGroup , focusable: focusable = true , active: active = false , tabStopId: tabStopId , ...itemProps } = props;
133
- const autoId = $1746a345f3d73bb7$export$f680877a34711e37();
134
- const id = tabStopId || autoId;
135
- const context = $d7bdfb9eb0fdf311$var$useRovingFocusContext($d7bdfb9eb0fdf311$var$ITEM_NAME, __scopeRovingFocusGroup);
136
- const isCurrentTabStop = context.currentTabStopId === id;
137
- const getItems = $d7bdfb9eb0fdf311$var$useCollection(__scopeRovingFocusGroup);
138
- const { onFocusableItemAdd: onFocusableItemAdd , onFocusableItemRemove: onFocusableItemRemove } = context;
139
- useEffect(()=>{
140
- if (focusable) {
141
- onFocusableItemAdd();
142
- return ()=>onFocusableItemRemove()
143
- ;
144
- }
145
- }, [
146
- focusable,
147
- onFocusableItemAdd,
148
- onFocusableItemRemove
149
- ]);
150
- return /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$var$Collection.ItemSlot, {
151
- scope: __scopeRovingFocusGroup,
152
- id: id,
153
- focusable: focusable,
154
- active: active
155
- }, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.span, _extends({
156
- tabIndex: isCurrentTabStop ? 0 : -1,
157
- "data-orientation": context.orientation
158
- }, itemProps, {
159
- ref: forwardedRef,
160
- onMouseDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onMouseDown, (event)=>{
161
- // We prevent focusing non-focusable items on `mousedown`.
162
- // Even though the item has tabIndex={-1}, that only means take it out of the tab order.
163
- if (!focusable) event.preventDefault(); // Safari doesn't focus a button when clicked so we run our logic on mousedown also
164
- else context.onItemFocus(id);
165
- }),
166
- onFocus: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocus, ()=>context.onItemFocus(id)
167
- ),
168
- onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
169
- if (event.key === 'Tab' && event.shiftKey) {
170
- context.onItemShiftTab();
171
- return;
172
- }
173
- if (event.target !== event.currentTarget) return;
174
- const focusIntent = $d7bdfb9eb0fdf311$var$getFocusIntent(event, context.orientation, context.dir);
175
- if (focusIntent !== undefined) {
176
- event.preventDefault();
177
- const items = getItems().filter((item)=>item.focusable
178
- );
179
- let candidateNodes = items.map((item)=>item.ref.current
180
- );
181
- if (focusIntent === 'last') candidateNodes.reverse();
182
- else if (focusIntent === 'prev' || focusIntent === 'next') {
183
- if (focusIntent === 'prev') candidateNodes.reverse();
184
- const currentIndex = candidateNodes.indexOf(event.currentTarget);
185
- candidateNodes = context.loop ? $d7bdfb9eb0fdf311$var$wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
186
- }
187
- /**
188
- * Imperative focus during keydown is risky so we prevent React's batching updates
189
- * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332
190
- */ setTimeout(()=>$d7bdfb9eb0fdf311$var$focusFirst(candidateNodes)
191
- );
192
- }
193
- })
194
- })));
195
- });
196
- /* -----------------------------------------------------------------------------------------------*/ // prettier-ignore
197
- const $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT = {
198
- ArrowLeft: 'prev',
199
- ArrowUp: 'prev',
200
- ArrowRight: 'next',
201
- ArrowDown: 'next',
202
- PageUp: 'first',
203
- Home: 'first',
204
- PageDown: 'last',
205
- End: 'last'
206
- };
207
- function $d7bdfb9eb0fdf311$var$getDirectionAwareKey(key, dir) {
208
- if (dir !== 'rtl') return key;
209
- return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;
210
- }
211
- function $d7bdfb9eb0fdf311$var$getFocusIntent(event, orientation, dir) {
212
- const key = $d7bdfb9eb0fdf311$var$getDirectionAwareKey(event.key, dir);
213
- if (orientation === 'vertical' && [
214
- 'ArrowLeft',
215
- 'ArrowRight'
216
- ].includes(key)) return undefined;
217
- if (orientation === 'horizontal' && [
218
- 'ArrowUp',
219
- 'ArrowDown'
220
- ].includes(key)) return undefined;
221
- return $d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT[key];
222
- }
223
- function $d7bdfb9eb0fdf311$var$focusFirst(candidates) {
224
- const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
225
- for (const candidate of candidates){
226
- // if focus is already where we want to go, we don't want to keep going through the candidates
227
- if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
228
- candidate.focus();
229
- if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
230
- }
231
- }
232
- /**
233
- * Wraps an array around itself at a given start index
234
- * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`
235
- */ function $d7bdfb9eb0fdf311$var$wrapArray(array, startIndex) {
236
- return array.map((_, index)=>array[(startIndex + index) % array.length]
237
- );
238
- }
239
- const $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9 = $d7bdfb9eb0fdf311$export$8699f7c8af148338;
240
- const $d7bdfb9eb0fdf311$export$6d08773d2e66f8f2 = $d7bdfb9eb0fdf311$export$ab9df7c53fe8454;
241
-
242
- /* -------------------------------------------------------------------------------------------------
243
- * Tabs
244
- * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TABS_NAME = 'Tabs';
245
- const [$69cb30bb0017df05$var$createTabsContext, $69cb30bb0017df05$export$355f5bd209d7b13a] = $c512c27ab02ef895$export$50c7b4e9d9f19c1($69cb30bb0017df05$var$TABS_NAME, [
246
- $d7bdfb9eb0fdf311$export$c7109489551a4f4
247
- ]);
248
- const $69cb30bb0017df05$var$useRovingFocusGroupScope = $d7bdfb9eb0fdf311$export$c7109489551a4f4();
249
- const [$69cb30bb0017df05$var$TabsProvider, $69cb30bb0017df05$var$useTabsContext] = $69cb30bb0017df05$var$createTabsContext($69cb30bb0017df05$var$TABS_NAME);
250
- const $69cb30bb0017df05$export$b2539bed5023c21c = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
251
- const { __scopeTabs: __scopeTabs , value: valueProp , onValueChange: onValueChange , defaultValue: defaultValue , orientation: orientation = 'horizontal' , dir: dir , activationMode: activationMode = 'automatic' , ...tabsProps } = props;
252
- const direction = $f631663db3294ace$export$b39126d51d94e6f3(dir);
253
- const [value, setValue] = $71cd76cc60e0454e$export$6f32135080cb4c3({
254
- prop: valueProp,
255
- onChange: onValueChange,
256
- defaultProp: defaultValue
257
- });
258
- return /*#__PURE__*/ createElement($69cb30bb0017df05$var$TabsProvider, {
259
- scope: __scopeTabs,
260
- baseId: $1746a345f3d73bb7$export$f680877a34711e37(),
261
- value: value,
262
- onValueChange: setValue,
263
- orientation: orientation,
264
- dir: direction,
265
- activationMode: activationMode
266
- }, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
267
- dir: direction,
268
- "data-orientation": orientation
269
- }, tabsProps, {
270
- ref: forwardedRef
271
- })));
272
- });
273
- /* -------------------------------------------------------------------------------------------------
274
- * TabsList
275
- * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TAB_LIST_NAME = 'TabsList';
276
- const $69cb30bb0017df05$export$9712d22edc0d78c1 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
277
- const { __scopeTabs: __scopeTabs , loop: loop = true , ...listProps } = props;
278
- const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$TAB_LIST_NAME, __scopeTabs);
279
- const rovingFocusGroupScope = $69cb30bb0017df05$var$useRovingFocusGroupScope(__scopeTabs);
280
- return /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9, _extends({
281
- asChild: true
282
- }, rovingFocusGroupScope, {
283
- orientation: context.orientation,
284
- dir: context.dir,
285
- loop: loop
286
- }), /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
287
- role: "tablist",
288
- "aria-orientation": context.orientation
289
- }, listProps, {
290
- ref: forwardedRef
291
- })));
292
- });
293
- /* -------------------------------------------------------------------------------------------------
294
- * TabsTrigger
295
- * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$TRIGGER_NAME = 'TabsTrigger';
296
- const $69cb30bb0017df05$export$8114b9fdfdf9f3ba = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
297
- const { __scopeTabs: __scopeTabs , value: value , disabled: disabled = false , ...triggerProps } = props;
298
- const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$TRIGGER_NAME, __scopeTabs);
299
- const rovingFocusGroupScope = $69cb30bb0017df05$var$useRovingFocusGroupScope(__scopeTabs);
300
- const triggerId = $69cb30bb0017df05$var$makeTriggerId(context.baseId, value);
301
- const contentId = $69cb30bb0017df05$var$makeContentId(context.baseId, value);
302
- const isSelected = value === context.value;
303
- return /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2, _extends({
304
- asChild: true
305
- }, rovingFocusGroupScope, {
306
- focusable: !disabled,
307
- active: isSelected
308
- }), /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.button, _extends({
309
- type: "button",
310
- role: "tab",
311
- "aria-selected": isSelected,
312
- "aria-controls": contentId,
313
- "data-state": isSelected ? 'active' : 'inactive',
314
- "data-disabled": disabled ? '' : undefined,
315
- disabled: disabled,
316
- id: triggerId
317
- }, triggerProps, {
318
- ref: forwardedRef,
319
- onMouseDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onMouseDown, (event)=>{
320
- // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
321
- // but not when the control key is pressed (avoiding MacOS right click)
322
- if (!disabled && event.button === 0 && event.ctrlKey === false) context.onValueChange(value);
323
- else // prevent focus to avoid accidental activation
324
- event.preventDefault();
325
- }),
326
- onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
327
- if ([
328
- ' ',
329
- 'Enter'
330
- ].includes(event.key)) context.onValueChange(value);
331
- }),
332
- onFocus: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocus, ()=>{
333
- // handle "automatic" activation if necessary
334
- // ie. activate tab following focus
335
- const isAutomaticActivation = context.activationMode !== 'manual';
336
- if (!isSelected && !disabled && isAutomaticActivation) context.onValueChange(value);
337
- })
338
- })));
339
- });
340
- /* -------------------------------------------------------------------------------------------------
341
- * TabsContent
342
- * -----------------------------------------------------------------------------------------------*/ const $69cb30bb0017df05$var$CONTENT_NAME = 'TabsContent';
343
- const $69cb30bb0017df05$export$bd905d70e8fd2ebb = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
344
- const { __scopeTabs: __scopeTabs , value: value , forceMount: forceMount , children: children , ...contentProps } = props;
345
- const context = $69cb30bb0017df05$var$useTabsContext($69cb30bb0017df05$var$CONTENT_NAME, __scopeTabs);
346
- const triggerId = $69cb30bb0017df05$var$makeTriggerId(context.baseId, value);
347
- const contentId = $69cb30bb0017df05$var$makeContentId(context.baseId, value);
348
- const isSelected = value === context.value;
349
- const isMountAnimationPreventedRef = useRef(isSelected);
350
- useEffect(()=>{
351
- const rAF = requestAnimationFrame(()=>isMountAnimationPreventedRef.current = false
352
- );
353
- return ()=>cancelAnimationFrame(rAF)
354
- ;
355
- }, []);
356
- return /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
357
- present: forceMount || isSelected
358
- }, ({ present: present })=>/*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
359
- "data-state": isSelected ? 'active' : 'inactive',
360
- "data-orientation": context.orientation,
361
- role: "tabpanel",
362
- "aria-labelledby": triggerId,
363
- hidden: !present,
364
- id: contentId,
365
- tabIndex: 0
366
- }, contentProps, {
367
- ref: forwardedRef,
368
- style: {
369
- ...props.style,
370
- animationDuration: isMountAnimationPreventedRef.current ? '0s' : undefined
371
- }
372
- }), present && children)
373
- );
374
- });
375
- /* ---------------------------------------------------------------------------------------------- */ function $69cb30bb0017df05$var$makeTriggerId(baseId, value) {
376
- return `${baseId}-trigger-${value}`;
377
- }
378
- function $69cb30bb0017df05$var$makeContentId(baseId, value) {
379
- return `${baseId}-content-${value}`;
380
- }
381
- const $69cb30bb0017df05$export$be92b6f5f03c0fe9 = $69cb30bb0017df05$export$b2539bed5023c21c;
382
- const $69cb30bb0017df05$export$54c2e3dc7acea9f5 = $69cb30bb0017df05$export$9712d22edc0d78c1;
383
- const $69cb30bb0017df05$export$41fb9f06171c75f4 = $69cb30bb0017df05$export$8114b9fdfdf9f3ba;
384
- const $69cb30bb0017df05$export$7c6e2c02157bb7d2 = $69cb30bb0017df05$export$bd905d70e8fd2ebb;
385
-
386
- var Tab = function (_a) {
387
- var label = _a.label, value = _a.value, icon = _a.icon, iconActive = _a.iconActive, props = __rest(_a, ["label", "value", "icon", "iconActive"]);
388
- var surface = useContext(Context).surface;
389
- return (React__default.createElement($69cb30bb0017df05$export$41fb9f06171c75f4, __assign({ className: classNames("arc-Tab-trigger", {
390
- "arc-Tab-trigger--onDarkSurface": surface === "dark",
391
- "arc-Tab-trigger--hasIcon": icon || iconActive
392
- }), value: value }, filterDataAttrs(props)),
393
- icon && (React__default.createElement("div", { className: "arc-Tab-triggerIcon", "data-testid": "arc-Tab-TriggerIcon" },
394
- React__default.createElement(Icon, { icon: icon }))),
395
- iconActive && (React__default.createElement("div", { className: "arc-Tab-triggerIcon arc-Tab-triggerIcon--active", "data-testid": "arc-Tab-TriggerIconActive" },
396
- React__default.createElement(Icon, { icon: iconActive }))),
397
- label));
398
- };
399
-
400
- var TabContent = function (_a) {
401
- var children = _a.children, value = _a.value;
402
- return (React__default.createElement($69cb30bb0017df05$export$7c6e2c02157bb7d2, { className: "arc-Tab-content", value: value }, children));
403
- };
404
-
405
- const React$1 = React__default;
406
- const BtIconArrowRightFill = props =>
407
- /*#__PURE__*/ React$1.createElement(
408
- "svg",
409
- Object.assign(
410
- {
411
- xmlns: "http://www.w3.org/2000/svg",
412
- viewBox: "0 0 32 32"
413
- },
414
- props
415
- ),
416
- /*#__PURE__*/ React$1.createElement("defs", null),
417
- /*#__PURE__*/ React$1.createElement("path", {
418
- d:
419
- "M2,16A14,14,0,1,0,16,2,14,14,0,0,0,2,16Zm16.85352-4.35352L23.207,16l-4.35351,4.35352a.5.5,0,0,1-.707-.707L21.293,16.5H9.5a.5.5,0,0,1,0-1H21.293l-3.14649-3.14648a.5.5,0,0,1,.707-.707Z",
420
- fill: "currentColor"
421
- })
422
- );
423
- var BtIconArrowRightFill_2 = BtIconArrowRightFill;
424
-
425
- const React = React__default;
426
- const BtIconArrowLeftFill = props =>
427
- /*#__PURE__*/ React.createElement(
428
- "svg",
429
- Object.assign(
430
- {
431
- xmlns: "http://www.w3.org/2000/svg",
432
- viewBox: "0 0 32 32"
433
- },
434
- props
435
- ),
436
- /*#__PURE__*/ React.createElement("defs", null),
437
- /*#__PURE__*/ React.createElement("path", {
438
- d:
439
- "M30,16A14,14,0,1,0,16,30,14,14,0,0,0,30,16ZM13.14648,20.35352,8.793,16l4.35351-4.35352a.5.5,0,0,1,.707.707L10.707,15.5H22.5a.5.5,0,0,1,0,1H10.707l3.14649,3.14648a.5.5,0,0,1-.707.707Z",
440
- fill: "currentColor"
441
- })
442
- );
443
- var BtIconArrowLeftFill_2 = BtIconArrowLeftFill;
444
-
445
- var TabsList = function (_a) {
446
- var children = _a.children, type = _a.type, isJustified = _a.isJustified, ariaLabel = _a.ariaLabel, props = __rest(_a, ["children", "type", "isJustified", "ariaLabel"]);
447
- var surface = useContext(Context).surface;
448
- var tabsRef = useRef(null);
449
- var _b = useState(false), rightOverflow = _b[0], setRightOverflow = _b[1];
450
- var _c = useState(false), leftOverflow = _c[0], setLeftOverflow = _c[1];
451
- var checkOverflow = function (element) {
452
- if (element) {
453
- if (element.scrollWidth > element.clientWidth) {
454
- setRightOverflow(true);
455
- }
456
- if (element.scrollLeft + 10 >=
457
- element.scrollWidth - element.clientWidth) {
458
- setRightOverflow(false);
459
- }
460
- if (element.scrollLeft >= 1) {
461
- setLeftOverflow(true);
462
- }
463
- else {
464
- setLeftOverflow(false);
465
- }
466
- }
467
- };
468
- useEffect(function () {
469
- checkOverflow(tabsRef.current);
470
- }, []);
471
- var scrollTabs = function (scrollAmount) {
472
- if (tabsRef.current) {
473
- tabsRef.current.scrollLeft += scrollAmount;
474
- }
475
- };
476
- var onScroll = function (event) {
477
- checkOverflow(event.currentTarget);
478
- };
479
- return (React__default.createElement(React__default.Fragment, null,
480
- React__default.createElement($69cb30bb0017df05$export$54c2e3dc7acea9f5, __assign({ onScroll: onScroll, className: classNames("arc-Tabs", {
481
- "arc-Tabs--contained": type === "contained",
482
- "arc-Tabs--isJustified": isJustified,
483
- "arc-Tabs--onDarkSurface": surface === "dark"
484
- }), ref: tabsRef, "aria-label": ariaLabel }, filterDataAttrs(props)), children),
485
- leftOverflow && (React__default.createElement("button", { className: classNames("arc-Tabs-overflowIcon arc-Tabs-overflowIcon--left", {
486
- "arc-Tabs-overflowIcon--onDarkSurface": surface === "dark"
487
- }), onClick: function () { return scrollTabs(-300); }, "aria-label": "Scroll Tabs Left", "data-testid": "arc-Tabs-overflowIconLeft" },
488
- React__default.createElement(Icon, { icon: BtIconArrowLeftFill_2, size: 40, color: "brand" }))),
489
- rightOverflow && (React__default.createElement("button", { className: classNames("arc-Tabs-overflowIcon", {
490
- "arc-Tabs-overflowIcon--onDarkSurface": surface === "dark"
491
- }), onClick: function () { return scrollTabs(300); }, "aria-label": "Scroll Tabs Right", "data-testid": "arc-Tabs-overflowIconRight" },
492
- React__default.createElement(Icon, { icon: BtIconArrowRightFill_2, size: 40, color: "brand" })))));
493
- };
494
-
495
- var Tabs = function (_a) {
496
- var children = _a.children, defaultValue = _a.defaultValue, onValueChange = _a.onValueChange, activationMode = _a.activationMode, props = __rest(_a, ["children", "defaultValue", "onValueChange", "activationMode"]);
497
- return (React__default.createElement($69cb30bb0017df05$export$be92b6f5f03c0fe9, __assign({ className: "arc-Tabs-root", defaultValue: defaultValue, onValueChange: onValueChange, activationMode: activationMode }, filterDataAttrs(props)), children));
498
- };
499
- Tab.displayName = "Tabs.Tab";
500
- TabsList.displayName = "Tabs.List";
501
- TabContent.displayName = "Tabs.Content";
502
- Tabs.Tab = Tab;
503
- Tabs.List = TabsList;
504
- Tabs.Content = TabContent;
505
-
506
- export { Tabs };
12
+ import '../_shared/esm/Surface-dde51789.js';
@@ -5,29 +5,32 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var filterDataAttrs = require('../_shared/cjs/filter-data-attrs-a30dcf5f.js');
6
6
  var React = require('react');
7
7
  var index = require('../_shared/cjs/index-45bfb67b.js');
8
+ var Surface = require('../_shared/cjs/Surface-b7c51b2b.js');
9
+ require('../_shared/cjs/Heading-e3332dcf.js');
10
+ var Text = require('../_shared/cjs/Text-fa447e2d.js');
8
11
  require('../_shared/cjs/Base-569e4334.js');
9
12
  require('../_shared/cjs/Breadcrumbs-0906dd10.js');
10
- var Surface = require('../_shared/cjs/Surface-b7c51b2b.js');
11
13
  require('../_shared/cjs/Button-5aaa6776.js');
12
14
  require('../_shared/cjs/Card-fd189ba8.js');
13
15
  require('../_shared/cjs/Checkbox-02c546ca.js');
14
16
  require('../_shared/cjs/Columns-e90798f8.js');
15
- require('../_shared/cjs/Heading-e3332dcf.js');
16
- var FormControl = require('../_shared/cjs/FormControl-1e1bf2bf.js');
17
17
  require('../_shared/cjs/Filter-a7574fe7.js');
18
+ var FormControl = require('../_shared/cjs/FormControl-1e1bf2bf.js');
18
19
  require('../_shared/cjs/Group-f85dd4c0.js');
19
20
  require('../_shared/cjs/Image-0e393cbf.js');
20
- var Text = require('../_shared/cjs/Text-fa447e2d.js');
21
- require('../_shared/cjs/UniversalHeader-da622e1a.js');
22
21
  require('../_shared/cjs/Poster-faea1ad3.js');
22
+ require('../_shared/cjs/ProgressStepper-f740d7bb.js');
23
23
  require('../_shared/cjs/RadioGroup-d7664b0c.js');
24
+ require('../_shared/cjs/debounce-506538c5.js');
24
25
  require('../_shared/cjs/SiteFooter-5da774e1.js');
25
26
  require('../_shared/cjs/SiteHeader.rehydrator-acc9d8c4.js');
27
+ require('../_shared/cjs/Tabs-fda49692.js');
26
28
  require('../_shared/cjs/TextInput-f4549637.js');
27
- require('../_shared/cjs/debounce-506538c5.js');
29
+ require('../_shared/cjs/Toast-0cb23cae.js');
30
+ require('../_shared/cjs/UniversalHeader-da622e1a.js');
31
+ require('../_shared/cjs/suffix-modifier-1ee2da04.js');
28
32
  require('../_shared/cjs/BtIconChevronRight2Px-a8e40136.js');
29
33
  require('../_shared/cjs/Icon-e1dd45eb.js');
30
- require('../_shared/cjs/suffix-modifier-1ee2da04.js');
31
34
  require('../_shared/cjs/handle-link-click-17a44cf4.js');
32
35
  require('../_shared/cjs/BtIconChevronLeftMid-df952a3e.js');
33
36
  require('../_shared/cjs/BtIconChevronRightMid-5a38d855.js');
@@ -35,11 +38,20 @@ require('../_shared/cjs/BtIconTickAlt2Px-bdf06f8c.js');
35
38
  require('../_shared/cjs/BtIconAlert-637db790.js');
36
39
  require('../_shared/cjs/DisclosureMini-52706ee6.js');
37
40
  require('../_shared/cjs/BtIconChevronDown2Px-8fb4e2eb.js');
41
+ require('../_shared/cjs/VerticalSpace-86f697e7.js');
42
+ require('../_shared/cjs/VisuallyHidden-e2c8b291.js');
38
43
  require('../_shared/cjs/index.es-77def0c9.js');
39
44
  require('../_shared/cjs/BrandLogo-8107d59f.js');
40
45
  require('../_shared/cjs/Curve-781ef633.js');
41
46
  require('../_shared/cjs/Section-48aca5f5.js');
42
- require('../_shared/cjs/VisuallyHidden-e2c8b291.js');
47
+ require('../_shared/cjs/extends-bb8ffacd.js');
48
+ require('../_shared/cjs/index-952918c9.js');
49
+ require('react-dom');
50
+ require('../_shared/cjs/index-27b53d49.js');
51
+ require('../_shared/cjs/index-fb4b8fda.js');
52
+ require('../_shared/cjs/index-96c4d581.js');
53
+ require('../_shared/cjs/BtIconCrossAlt2Px-30dc2688.js');
54
+ require('../_shared/cjs/BtIconTick-42fcc5ec.js');
43
55
 
44
56
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
45
57
 
@@ -1,29 +1,32 @@
1
1
  import { _ as __rest, a as __assign, f as filterDataAttrs } from '../_shared/esm/filter-data-attrs-afdb7d32.js';
2
2
  import React__default, { forwardRef, useContext, useRef, useState } from 'react';
3
3
  import { c as classNames } from '../_shared/esm/index-2ae58626.js';
4
+ import { C as Context } from '../_shared/esm/Surface-dde51789.js';
5
+ import '../_shared/esm/Heading-0f629151.js';
6
+ import { T as Text } from '../_shared/esm/Text-40457811.js';
4
7
  import '../_shared/esm/Base-6c01e0ec.js';
5
8
  import '../_shared/esm/Breadcrumbs-dafa8dde.js';
6
- import { C as Context } from '../_shared/esm/Surface-dde51789.js';
7
9
  import '../_shared/esm/Button-d1dbcf79.js';
8
10
  import '../_shared/esm/Card-e62c3ff6.js';
9
11
  import '../_shared/esm/Checkbox-d8891198.js';
10
12
  import '../_shared/esm/Columns-8704515b.js';
11
- import '../_shared/esm/Heading-0f629151.js';
12
- import { F as FormControl } from '../_shared/esm/FormControl-f18e2f59.js';
13
13
  import '../_shared/esm/Filter-a01aed11.js';
14
+ import { F as FormControl } from '../_shared/esm/FormControl-f18e2f59.js';
14
15
  import '../_shared/esm/Group-fb26fd32.js';
15
16
  import '../_shared/esm/Image-3ed3863c.js';
16
- import { T as Text } from '../_shared/esm/Text-40457811.js';
17
- import '../_shared/esm/UniversalHeader-1c5a886d.js';
18
17
  import '../_shared/esm/Poster-a83ae770.js';
18
+ import '../_shared/esm/ProgressStepper-7ab88f4c.js';
19
19
  import '../_shared/esm/RadioGroup-be16d5d3.js';
20
+ import '../_shared/esm/debounce-e228705f.js';
20
21
  import '../_shared/esm/SiteFooter-a182cb18.js';
21
22
  import '../_shared/esm/SiteHeader.rehydrator-023b7b76.js';
23
+ import '../_shared/esm/Tabs-5af0b940.js';
22
24
  import '../_shared/esm/TextInput-4424c195.js';
23
- import '../_shared/esm/debounce-e228705f.js';
25
+ import '../_shared/esm/Toast-43795e91.js';
26
+ import '../_shared/esm/UniversalHeader-1c5a886d.js';
27
+ import '../_shared/esm/suffix-modifier-7e640670.js';
24
28
  import '../_shared/esm/BtIconChevronRight2Px-b8e7b4ad.js';
25
29
  import '../_shared/esm/Icon-c1af47bc.js';
26
- import '../_shared/esm/suffix-modifier-7e640670.js';
27
30
  import '../_shared/esm/handle-link-click-f64f55a2.js';
28
31
  import '../_shared/esm/BtIconChevronLeftMid-9f4f3a3d.js';
29
32
  import '../_shared/esm/BtIconChevronRightMid-d9b11761.js';
@@ -31,11 +34,20 @@ import '../_shared/esm/BtIconTickAlt2Px-da97e9ae.js';
31
34
  import '../_shared/esm/BtIconAlert-55a6ed5c.js';
32
35
  import '../_shared/esm/DisclosureMini-9b819941.js';
33
36
  import '../_shared/esm/BtIconChevronDown2Px-782876e2.js';
37
+ import '../_shared/esm/VerticalSpace-93980c9c.js';
38
+ import '../_shared/esm/VisuallyHidden-b9eebf71.js';
34
39
  import '../_shared/esm/index.es-00cb3bcb.js';
35
40
  import '../_shared/esm/BrandLogo-9ec620e8.js';
36
41
  import '../_shared/esm/Curve-bbc5589c.js';
37
42
  import '../_shared/esm/Section-b8038d66.js';
38
- import '../_shared/esm/VisuallyHidden-b9eebf71.js';
43
+ import '../_shared/esm/extends-4575346e.js';
44
+ import '../_shared/esm/index-22aad354.js';
45
+ import 'react-dom';
46
+ import '../_shared/esm/index-8000d9e3.js';
47
+ import '../_shared/esm/index-bed18a88.js';
48
+ import '../_shared/esm/index-94ecc5f8.js';
49
+ import '../_shared/esm/BtIconCrossAlt2Px-a6a9f431.js';
50
+ import '../_shared/esm/BtIconTick-5fe50cc7.js';
39
51
 
40
52
  /** Use `TextArea` to allow custom user text entry via keyboard, for long-form and multi-line descriptions */
41
53
  var TextArea = forwardRef(function (_a, ref) {