@vinyasa/navigation 1.0.26

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 (98) hide show
  1. package/README.md +45 -0
  2. package/dist/cjs/breadcrumbs.cjs +240 -0
  3. package/dist/cjs/breadcrumbs.css +58 -0
  4. package/dist/cjs/command-navigation.cjs +215 -0
  5. package/dist/cjs/command-navigation.css +46 -0
  6. package/dist/cjs/index.cjs +2681 -0
  7. package/dist/cjs/index.css +1162 -0
  8. package/dist/cjs/navigation-menu.cjs +302 -0
  9. package/dist/cjs/navigation-menu.css +197 -0
  10. package/dist/cjs/pagination.cjs +462 -0
  11. package/dist/cjs/pagination.css +79 -0
  12. package/dist/cjs/sidebar.cjs +476 -0
  13. package/dist/cjs/sidebar.css +171 -0
  14. package/dist/cjs/stepper.cjs +270 -0
  15. package/dist/cjs/stepper.css +153 -0
  16. package/dist/cjs/tabs.cjs +260 -0
  17. package/dist/cjs/tabs.css +122 -0
  18. package/dist/cjs/top-navigation.cjs +363 -0
  19. package/dist/cjs/top-navigation.css +127 -0
  20. package/dist/cjs/tree-view.cjs +373 -0
  21. package/dist/cjs/tree-view.css +109 -0
  22. package/dist/cjs/workspace-switcher.cjs +249 -0
  23. package/dist/cjs/workspace-switcher.css +100 -0
  24. package/dist/esm/217.css +79 -0
  25. package/dist/esm/217.js +202 -0
  26. package/dist/esm/294.css +100 -0
  27. package/dist/esm/294.js +114 -0
  28. package/dist/esm/375.css +153 -0
  29. package/dist/esm/375.js +120 -0
  30. package/dist/esm/555.css +171 -0
  31. package/dist/esm/555.js +232 -0
  32. package/dist/esm/655.css +58 -0
  33. package/dist/esm/655.js +87 -0
  34. package/dist/esm/66.css +46 -0
  35. package/dist/esm/66.js +92 -0
  36. package/dist/esm/694.css +109 -0
  37. package/dist/esm/694.js +227 -0
  38. package/dist/esm/814.css +197 -0
  39. package/dist/esm/814.js +146 -0
  40. package/dist/esm/862.css +127 -0
  41. package/dist/esm/862.js +130 -0
  42. package/dist/esm/913.css +119 -0
  43. package/dist/esm/913.js +121 -0
  44. package/dist/esm/953.js +87 -0
  45. package/dist/esm/breadcrumbs.d.ts +2 -0
  46. package/dist/esm/breadcrumbs.js +1 -0
  47. package/dist/esm/command-navigation.d.ts +2 -0
  48. package/dist/esm/command-navigation.js +1 -0
  49. package/dist/esm/components/breadcrumbs/Breadcrumbs.css.d.ts +6 -0
  50. package/dist/esm/components/breadcrumbs/Breadcrumbs.d.ts +58 -0
  51. package/dist/esm/components/breadcrumbs/index.d.ts +1 -0
  52. package/dist/esm/components/command-navigation/CommandNavigation.css.d.ts +4 -0
  53. package/dist/esm/components/command-navigation/CommandNavigation.d.ts +50 -0
  54. package/dist/esm/components/command-navigation/index.d.ts +1 -0
  55. package/dist/esm/components/navigation-menu/NavigationMenu.css.d.ts +13 -0
  56. package/dist/esm/components/navigation-menu/NavigationMenu.d.ts +69 -0
  57. package/dist/esm/components/navigation-menu/index.d.ts +1 -0
  58. package/dist/esm/components/pagination/Pagination.css.d.ts +13 -0
  59. package/dist/esm/components/pagination/Pagination.d.ts +69 -0
  60. package/dist/esm/components/pagination/getPaginationRange.d.ts +15 -0
  61. package/dist/esm/components/pagination/index.d.ts +2 -0
  62. package/dist/esm/components/sidebar/Sidebar.css.d.ts +60 -0
  63. package/dist/esm/components/sidebar/Sidebar.d.ts +82 -0
  64. package/dist/esm/components/sidebar/index.d.ts +1 -0
  65. package/dist/esm/components/stepper/Stepper.css.d.ts +10 -0
  66. package/dist/esm/components/stepper/Stepper.d.ts +57 -0
  67. package/dist/esm/components/stepper/index.d.ts +1 -0
  68. package/dist/esm/components/tabs/Tabs.css.d.ts +6 -0
  69. package/dist/esm/components/tabs/Tabs.d.ts +39 -0
  70. package/dist/esm/components/tabs/index.d.ts +1 -0
  71. package/dist/esm/components/top-navigation/TopNavigation.css.d.ts +13 -0
  72. package/dist/esm/components/top-navigation/TopNavigation.d.ts +67 -0
  73. package/dist/esm/components/top-navigation/index.d.ts +1 -0
  74. package/dist/esm/components/tree-view/TreeView.css.d.ts +8 -0
  75. package/dist/esm/components/tree-view/TreeView.d.ts +43 -0
  76. package/dist/esm/components/tree-view/index.d.ts +1 -0
  77. package/dist/esm/components/workspace-switcher/WorkspaceSwitcher.css.d.ts +9 -0
  78. package/dist/esm/components/workspace-switcher/WorkspaceSwitcher.d.ts +43 -0
  79. package/dist/esm/components/workspace-switcher/index.d.ts +1 -0
  80. package/dist/esm/index.d.ts +10 -0
  81. package/dist/esm/index.js +10 -0
  82. package/dist/esm/navigation-menu.d.ts +2 -0
  83. package/dist/esm/navigation-menu.js +1 -0
  84. package/dist/esm/pagination.d.ts +2 -0
  85. package/dist/esm/pagination.js +1 -0
  86. package/dist/esm/sidebar.d.ts +2 -0
  87. package/dist/esm/sidebar.js +1 -0
  88. package/dist/esm/stepper.d.ts +2 -0
  89. package/dist/esm/stepper.js +1 -0
  90. package/dist/esm/tabs.d.ts +2 -0
  91. package/dist/esm/tabs.js +1 -0
  92. package/dist/esm/top-navigation.d.ts +2 -0
  93. package/dist/esm/top-navigation.js +1 -0
  94. package/dist/esm/tree-view.d.ts +2 -0
  95. package/dist/esm/tree-view.js +1 -0
  96. package/dist/esm/workspace-switcher.d.ts +2 -0
  97. package/dist/esm/workspace-switcher.js +1 -0
  98. package/package.json +146 -0
@@ -0,0 +1,373 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ TreeView: ()=>TreeView
32
+ });
33
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
34
+ const icons_namespaceObject = require("@vinyasa/icons");
35
+ const tokens_namespaceObject = require("@vinyasa/tokens");
36
+ const external_react_namespaceObject = require("react");
37
+ var expandTrigger = '_1o0hep24';
38
+ var expandTriggerSpacer = '_1o0hep25';
39
+ var group = '_1o0hep21';
40
+ var icon = '_1o0hep26';
41
+ var item = '_1o0hep22';
42
+ var label = '_1o0hep27';
43
+ var root = '_1o0hep20';
44
+ var row = '_1o0hep23';
45
+ function _define_property(obj, key, value) {
46
+ if (key in obj) Object.defineProperty(obj, key, {
47
+ value: value,
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true
51
+ });
52
+ else obj[key] = value;
53
+ return obj;
54
+ }
55
+ function _object_spread(target) {
56
+ for(var i = 1; i < arguments.length; i++){
57
+ var source = null != arguments[i] ? arguments[i] : {};
58
+ var ownKeys = Object.keys(source);
59
+ if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
60
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
61
+ }));
62
+ ownKeys.forEach(function(key) {
63
+ _define_property(target, key, source[key]);
64
+ });
65
+ }
66
+ return target;
67
+ }
68
+ function TreeView_ownKeys(object, enumerableOnly) {
69
+ var keys = Object.keys(object);
70
+ if (Object.getOwnPropertySymbols) {
71
+ var symbols = Object.getOwnPropertySymbols(object);
72
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
73
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
74
+ });
75
+ keys.push.apply(keys, symbols);
76
+ }
77
+ return keys;
78
+ }
79
+ function _object_spread_props(target, source) {
80
+ source = null != source ? source : {};
81
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
82
+ else TreeView_ownKeys(Object(source)).forEach(function(key) {
83
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
84
+ });
85
+ return target;
86
+ }
87
+ function _object_without_properties(source, excluded) {
88
+ if (null == source) return {};
89
+ var target = {}, sourceKeys, key, i;
90
+ if ("u" > typeof Reflect && Reflect.ownKeys) {
91
+ sourceKeys = Reflect.ownKeys(Object(source));
92
+ for(i = 0; i < sourceKeys.length; i++){
93
+ key = sourceKeys[i];
94
+ if (!(excluded.indexOf(key) >= 0)) {
95
+ if (Object.prototype.propertyIsEnumerable.call(source, key)) target[key] = source[key];
96
+ }
97
+ }
98
+ return target;
99
+ }
100
+ target = _object_without_properties_loose(source, excluded);
101
+ if (Object.getOwnPropertySymbols) {
102
+ sourceKeys = Object.getOwnPropertySymbols(source);
103
+ for(i = 0; i < sourceKeys.length; i++){
104
+ key = sourceKeys[i];
105
+ if (!(excluded.indexOf(key) >= 0)) {
106
+ if (Object.prototype.propertyIsEnumerable.call(source, key)) target[key] = source[key];
107
+ }
108
+ }
109
+ }
110
+ return target;
111
+ }
112
+ function _object_without_properties_loose(source, excluded) {
113
+ if (null == source) return {};
114
+ var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
115
+ for(i = 0; i < sourceKeys.length; i++){
116
+ key = sourceKeys[i];
117
+ if (!(excluded.indexOf(key) >= 0)) {
118
+ if (Object.prototype.propertyIsEnumerable.call(source, key)) target[key] = source[key];
119
+ }
120
+ }
121
+ return target;
122
+ }
123
+ const TreeViewContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)(null);
124
+ const useTreeViewContext = ()=>{
125
+ const context = (0, external_react_namespaceObject.useContext)(TreeViewContext);
126
+ if (!context) throw new Error('TreeView parts must be rendered inside <TreeView.Root>.');
127
+ return context;
128
+ };
129
+ const TreeViewLevelContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)(1);
130
+ const TreeViewRoot = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)((_0, _1)=>{
131
+ let _ref = [
132
+ _0,
133
+ _1
134
+ ], [_ref1, ..._rest] = _ref, { selectedId, onSelect, expandedIds: expandedIdsProp, defaultExpandedIds = [], onExpandedChange, className, children } = _ref1, rest = _object_without_properties(_ref1, [
135
+ "selectedId",
136
+ "onSelect",
137
+ "expandedIds",
138
+ "defaultExpandedIds",
139
+ "onExpandedChange",
140
+ "className",
141
+ "children"
142
+ ]), [ref] = _rest;
143
+ const [internalExpandedIds, setInternalExpandedIds] = (0, external_react_namespaceObject.useState)(defaultExpandedIds);
144
+ const [activeId, setActiveId] = (0, external_react_namespaceObject.useState)(null);
145
+ const rootElementRef = (0, external_react_namespaceObject.useRef)(null);
146
+ const themedRef = (0, tokens_namespaceObject.useThemedRef)(ref);
147
+ const isControlled = void 0 !== expandedIdsProp;
148
+ const expandedIdsArray = isControlled ? expandedIdsProp : internalExpandedIds;
149
+ const expandedIds = new Set(expandedIdsArray);
150
+ const toggleExpanded = (id)=>{
151
+ const next = expandedIds.has(id) ? expandedIdsArray.filter((existing)=>existing !== id) : [
152
+ ...expandedIdsArray,
153
+ id
154
+ ];
155
+ if (!isControlled) setInternalExpandedIds(next);
156
+ null == onExpandedChange || onExpandedChange(next);
157
+ };
158
+ (0, external_react_namespaceObject.useLayoutEffect)(()=>{
159
+ var _rootElementRef_current;
160
+ if (null !== activeId) return;
161
+ const firstItem = null == (_rootElementRef_current = rootElementRef.current) ? void 0 : _rootElementRef_current.querySelector('[role="treeitem"]');
162
+ const firstId = null == firstItem ? void 0 : firstItem.dataset.treeId;
163
+ if (firstId) setActiveId(firstId);
164
+ }, [
165
+ activeId
166
+ ]);
167
+ const focusItem = (element)=>{
168
+ if (!element) return;
169
+ element.focus();
170
+ const id = element.dataset.treeId;
171
+ if (id) setActiveId(id);
172
+ };
173
+ const focusSibling = (rootElement, target, delta)=>{
174
+ const items = Array.from(rootElement.querySelectorAll('[role="treeitem"]'));
175
+ focusItem(items[items.indexOf(target) + delta]);
176
+ };
177
+ const focusFirst = (rootElement)=>{
178
+ focusItem(rootElement.querySelector('[role="treeitem"]'));
179
+ };
180
+ const focusLast = (rootElement)=>{
181
+ const items = rootElement.querySelectorAll('[role="treeitem"]');
182
+ focusItem(items[items.length - 1]);
183
+ };
184
+ const expandOrFocusFirstChild = (target, targetId)=>{
185
+ var _target_parentElement;
186
+ if ('true' !== target.dataset.hasChildren) return;
187
+ if ('true' !== target.getAttribute('aria-expanded')) return void toggleExpanded(targetId);
188
+ const childGroup = null == (_target_parentElement = target.parentElement) ? void 0 : _target_parentElement.querySelector(':scope > [role="group"]');
189
+ focusItem(null == childGroup ? void 0 : childGroup.querySelector('[role="treeitem"]'));
190
+ };
191
+ const collapseOrFocusParent = (target, targetId)=>{
192
+ var _parentGroup_parentElement;
193
+ if ('true' === target.getAttribute('aria-expanded')) return void toggleExpanded(targetId);
194
+ const parentGroup = target.closest('[role="group"]');
195
+ focusItem(null == parentGroup ? void 0 : null == (_parentGroup_parentElement = parentGroup.parentElement) ? void 0 : _parentGroup_parentElement.querySelector(':scope > [role="treeitem"]'));
196
+ };
197
+ const keyHandlers = {
198
+ ArrowDown: (rootElement, target)=>{
199
+ focusSibling(rootElement, target, 1);
200
+ },
201
+ ArrowUp: (rootElement, target)=>{
202
+ focusSibling(rootElement, target, -1);
203
+ },
204
+ Home: (rootElement)=>{
205
+ focusFirst(rootElement);
206
+ },
207
+ End: (rootElement)=>{
208
+ focusLast(rootElement);
209
+ },
210
+ ArrowRight: (_rootElement, target, targetId)=>{
211
+ expandOrFocusFirstChild(target, targetId);
212
+ },
213
+ ArrowLeft: (_rootElement, target, targetId)=>{
214
+ collapseOrFocusParent(target, targetId);
215
+ },
216
+ Enter: (_rootElement, _target, targetId)=>{
217
+ null == onSelect || onSelect(targetId);
218
+ },
219
+ ' ': (_rootElement, _target, targetId)=>{
220
+ null == onSelect || onSelect(targetId);
221
+ }
222
+ };
223
+ const handleKeyDown = (event)=>{
224
+ const target = event.target;
225
+ if (!(target instanceof HTMLElement) || 'treeitem' !== target.getAttribute('role')) return;
226
+ const rootElement = rootElementRef.current;
227
+ const targetId = target.dataset.treeId;
228
+ const handler = keyHandlers[event.key];
229
+ if (!rootElement || !targetId || !handler) return;
230
+ event.preventDefault();
231
+ handler(rootElement, target, targetId);
232
+ };
233
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(TreeViewContext.Provider, {
234
+ value: {
235
+ expandedIds,
236
+ toggleExpanded,
237
+ selectedId,
238
+ onSelect: null != onSelect ? onSelect : ()=>void 0,
239
+ activeId,
240
+ setActiveId
241
+ },
242
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("ul", _object_spread_props(_object_spread({
243
+ ref: (node)=>{
244
+ rootElementRef.current = node;
245
+ if ('function' == typeof themedRef) themedRef(node);
246
+ },
247
+ role: "tree",
248
+ className: className ? `${root} ${className}` : root,
249
+ onKeyDown: handleKeyDown
250
+ }, rest), {
251
+ children: children
252
+ }))
253
+ });
254
+ });
255
+ TreeViewRoot.displayName = 'TreeViewRoot';
256
+ const TreeViewGroup = (_0)=>{
257
+ let { className, children } = _0, rest = _object_without_properties(_0, [
258
+ "className",
259
+ "children"
260
+ ]);
261
+ const level = (0, external_react_namespaceObject.useContext)(TreeViewLevelContext);
262
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(TreeViewLevelContext.Provider, {
263
+ value: level + 1,
264
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("ul", _object_spread_props(_object_spread({
265
+ role: "group",
266
+ className: className ? `${group} ${className}` : group
267
+ }, rest), {
268
+ children: children
269
+ }))
270
+ });
271
+ };
272
+ TreeViewGroup.displayName = 'TreeViewGroup';
273
+ const TreeViewItem = (_0)=>{
274
+ let { id, label: labelContent, icon: iconContent, disabled, children, className } = _0, rest = _object_without_properties(_0, [
275
+ "id",
276
+ "label",
277
+ "icon",
278
+ "disabled",
279
+ "children",
280
+ "className"
281
+ ]);
282
+ const { expandedIds, toggleExpanded, selectedId, onSelect, activeId, setActiveId } = useTreeViewContext();
283
+ const level = (0, external_react_namespaceObject.useContext)(TreeViewLevelContext);
284
+ const hasChildren = Boolean(children);
285
+ const isExpanded = expandedIds.has(id);
286
+ const isSelected = selectedId === id;
287
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("li", _object_spread_props(_object_spread({
288
+ className: className ? `${item} ${className}` : item,
289
+ role: "none"
290
+ }, rest), {
291
+ children: [
292
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
293
+ role: "treeitem",
294
+ "data-tree-id": id,
295
+ "data-has-children": hasChildren,
296
+ "aria-expanded": hasChildren ? isExpanded : void 0,
297
+ "aria-selected": isSelected,
298
+ "aria-disabled": disabled,
299
+ "aria-level": level,
300
+ tabIndex: activeId === id ? 0 : -1,
301
+ className: row,
302
+ onFocus: ()=>{
303
+ setActiveId(id);
304
+ },
305
+ onClick: ()=>{
306
+ if (disabled) return;
307
+ onSelect(id);
308
+ if (hasChildren) toggleExpanded(id);
309
+ },
310
+ children: [
311
+ hasChildren ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
312
+ type: "button",
313
+ tabIndex: -1,
314
+ "aria-hidden": "true",
315
+ "data-expanded": isExpanded,
316
+ className: expandTrigger,
317
+ onClick: (event)=>{
318
+ event.stopPropagation();
319
+ if (!disabled) toggleExpanded(id);
320
+ },
321
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icons_namespaceObject.ChevronRightIcon, {})
322
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
323
+ className: expandTriggerSpacer,
324
+ "aria-hidden": "true"
325
+ }),
326
+ iconContent ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
327
+ className: icon,
328
+ "aria-hidden": "true",
329
+ children: iconContent
330
+ }) : null,
331
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
332
+ className: label,
333
+ children: labelContent
334
+ })
335
+ ]
336
+ }),
337
+ hasChildren && isExpanded ? children : null
338
+ ]
339
+ }));
340
+ };
341
+ TreeViewItem.displayName = 'TreeViewItem';
342
+ const renderNodes = (nodes)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
343
+ children: nodes.map((node)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(TreeViewItem, {
344
+ id: node.id,
345
+ label: node.label,
346
+ icon: node.icon,
347
+ disabled: node.disabled,
348
+ children: node.children && node.children.length > 0 ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(TreeViewGroup, {
349
+ children: renderNodes(node.children)
350
+ }) : void 0
351
+ }, node.id))
352
+ });
353
+ const TreeViewImpl = (_0)=>{
354
+ let { items } = _0, rest = _object_without_properties(_0, [
355
+ "items"
356
+ ]);
357
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(TreeViewRoot, _object_spread_props(_object_spread({}, rest), {
358
+ children: renderNodes(items)
359
+ }));
360
+ };
361
+ TreeViewImpl.displayName = 'TreeView';
362
+ const TreeView = Object.assign(TreeViewImpl, {
363
+ Root: TreeViewRoot,
364
+ Group: TreeViewGroup,
365
+ Item: TreeViewItem
366
+ });
367
+ exports.TreeView = __webpack_exports__.TreeView;
368
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
369
+ "TreeView"
370
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
371
+ Object.defineProperty(exports, '__esModule', {
372
+ value: true
373
+ });
@@ -0,0 +1,109 @@
1
+ ._1o0hep20 {
2
+ margin: 0;
3
+ padding: 0;
4
+ list-style: none;
5
+ }
6
+
7
+ ._1o0hep21 {
8
+ padding: 0;
9
+ padding-left: var(--vinyasa-space5);
10
+ margin: 0;
11
+ list-style: none;
12
+ }
13
+
14
+ ._1o0hep22 {
15
+ list-style: none;
16
+ }
17
+
18
+ ._1o0hep23 {
19
+ align-items: center;
20
+ gap: var(--vinyasa-space2);
21
+ min-width: 0;
22
+ padding: var(--vinyasa-space2) var(--vinyasa-space2) var(--vinyasa-space2) var(--vinyasa-space3);
23
+ border-radius: var(--vinyasa-radius-md);
24
+ color: var(--vinyasa-text-default);
25
+ font-family: var(--vinyasa-font-family-sans);
26
+ font-size: var(--vinyasa-font-size-sm);
27
+ cursor: pointer;
28
+ transition: background-color var(--vinyasa-motion-duration-fast) var(--vinyasa-motion-easing-standard), color var(--vinyasa-motion-duration-fast) var(--vinyasa-motion-easing-standard);
29
+ display: flex;
30
+ position: relative;
31
+ }
32
+
33
+ ._1o0hep23:hover:not([aria-disabled="true"]) {
34
+ background-color: var(--vinyasa-secondary);
35
+ }
36
+
37
+ ._1o0hep23:focus-visible {
38
+ outline: 2px solid var(--vinyasa-focus);
39
+ outline-offset: -2px;
40
+ }
41
+
42
+ ._1o0hep23[aria-disabled="true"] {
43
+ opacity: var(--vinyasa-opacity-disabled);
44
+ cursor: not-allowed;
45
+ }
46
+
47
+ ._1o0hep23[aria-selected="true"] {
48
+ background-color: var(--vinyasa-tertiary);
49
+ color: var(--vinyasa-primary);
50
+ font-weight: var(--vinyasa-font-weight-medium);
51
+ }
52
+
53
+ ._1o0hep23[aria-selected="true"]:before {
54
+ content: "";
55
+ border-radius: var(--vinyasa-radius-full);
56
+ background-color: var(--vinyasa-primary);
57
+ width: .1875rem;
58
+ position: absolute;
59
+ top: .25rem;
60
+ bottom: .25rem;
61
+ left: .125rem;
62
+ }
63
+
64
+ ._1o0hep24 {
65
+ border-radius: var(--vinyasa-radius-sm);
66
+ width: 1.25rem;
67
+ height: 1.25rem;
68
+ color: var(--vinyasa-text-muted);
69
+ cursor: pointer;
70
+ transition: transform var(--vinyasa-motion-duration-fast) var(--vinyasa-motion-easing-standard), color var(--vinyasa-motion-duration-fast) var(--vinyasa-motion-easing-standard);
71
+ background-color: rgba(0, 0, 0, 0);
72
+ border: none;
73
+ flex-shrink: 0;
74
+ justify-content: center;
75
+ align-items: center;
76
+ display: inline-flex;
77
+ }
78
+
79
+ ._1o0hep24:hover {
80
+ color: var(--vinyasa-text-default);
81
+ }
82
+
83
+ ._1o0hep24[data-expanded="true"] {
84
+ transform: rotate(90deg);
85
+ }
86
+
87
+ [aria-selected="true"] ._1o0hep24 {
88
+ color: var(--vinyasa-primary);
89
+ }
90
+
91
+ ._1o0hep25 {
92
+ flex-shrink: 0;
93
+ width: 1.25rem;
94
+ height: 1.25rem;
95
+ }
96
+
97
+ ._1o0hep26 {
98
+ flex-shrink: 0;
99
+ font-size: 1rem;
100
+ display: inline-flex;
101
+ }
102
+
103
+ ._1o0hep27 {
104
+ white-space: nowrap;
105
+ text-overflow: ellipsis;
106
+ min-width: 0;
107
+ overflow: hidden;
108
+ }
109
+