@viraui/react 1.0.15 → 1.0.17

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 (72) hide show
  1. package/dist/catalog.json +6 -0
  2. package/dist/components/autocomplete/autocomplete-group.d.ts +12 -0
  3. package/dist/components/autocomplete/autocomplete-group.js +34 -0
  4. package/dist/components/autocomplete/autocomplete-item.d.ts +23 -0
  5. package/dist/components/autocomplete/autocomplete-item.js +37 -0
  6. package/dist/components/autocomplete/autocomplete.css +1 -0
  7. package/dist/components/autocomplete/autocomplete.d.ts +96 -0
  8. package/dist/components/autocomplete/autocomplete.guide.json +95 -0
  9. package/dist/components/autocomplete/autocomplete.js +126 -0
  10. package/dist/components/autocomplete/autocomplete.module.js +31 -0
  11. package/dist/components/autocomplete/index.d.ts +2 -0
  12. package/dist/components/avatar/avatar.css +1 -1
  13. package/dist/components/avatar/avatar.js +1 -1
  14. package/dist/components/avatar-group/avatar-group.js +2 -2
  15. package/dist/components/basic-input/basic-input.js +1 -1
  16. package/dist/components/basic-input/field-label.css +1 -1
  17. package/dist/components/basic-input/field-label.js +1 -2
  18. package/dist/components/button/button-chrome.js +4 -1
  19. package/dist/components/button/button.css +1 -1
  20. package/dist/components/button/button.js +1 -1
  21. package/dist/components/checkbox/checkbox.js +1 -1
  22. package/dist/components/index.d.ts +1 -0
  23. package/dist/components/menu/menu-checkbox-item.d.ts +0 -13
  24. package/dist/components/menu/menu-checkbox-item.js +2 -7
  25. package/dist/components/menu/menu-group.js +4 -7
  26. package/dist/components/menu/menu-indicator-slot.d.ts +3 -7
  27. package/dist/components/menu/menu-indicator-slot.js +15 -21
  28. package/dist/components/menu/menu-item-row.d.ts +2 -4
  29. package/dist/components/menu/menu-item-row.js +15 -17
  30. package/dist/components/menu/menu-item.d.ts +1 -9
  31. package/dist/components/menu/menu-item.js +1 -4
  32. package/dist/components/menu/menu-link-item.d.ts +2 -10
  33. package/dist/components/menu/menu-link-item.js +4 -6
  34. package/dist/components/menu/menu-popup.d.ts +2 -1
  35. package/dist/components/menu/menu-radio-group.js +4 -7
  36. package/dist/components/menu/menu-radio-item.d.ts +0 -13
  37. package/dist/components/menu/menu-radio-item.js +2 -7
  38. package/dist/components/menu/menu-submenu-trigger.d.ts +0 -7
  39. package/dist/components/menu/menu-submenu-trigger.js +2 -7
  40. package/dist/components/menu/menu.css +1 -1
  41. package/dist/components/menu/menu.guide.json +14 -29
  42. package/dist/components/menu/menu.module.js +3 -3
  43. package/dist/components/select/select-group.js +1 -3
  44. package/dist/components/select/select.css +1 -1
  45. package/dist/components/select/select.guide.json +3 -2
  46. package/dist/components/select/select.js +1 -1
  47. package/dist/components/select/select.module.js +1 -3
  48. package/dist/components/spinner/index.d.ts +1 -1
  49. package/dist/components/spinner/spinner.css +1 -1
  50. package/dist/components/spinner/spinner.d.ts +8 -0
  51. package/dist/components/spinner/spinner.guide.json +3 -0
  52. package/dist/components/spinner/spinner.js +22 -20
  53. package/dist/components/spinner/spinner.module.js +2 -7
  54. package/dist/components/spinner/variants/bars.d.ts +2 -0
  55. package/dist/components/spinner/variants/bars.js +134 -0
  56. package/dist/components/spinner/variants/dot-grid.css +1 -0
  57. package/dist/components/spinner/variants/dot-grid.d.ts +2 -0
  58. package/dist/components/spinner/variants/dot-grid.js +57 -0
  59. package/dist/components/spinner/variants/dot-grid.module.js +16 -0
  60. package/dist/components/spinner/variants/dots.d.ts +2 -0
  61. package/dist/components/spinner/variants/dots.js +189 -0
  62. package/dist/components/spinner/variants/index.d.ts +5 -0
  63. package/dist/components/spinner/variants/index.js +16 -0
  64. package/dist/components/tabs/tabs-tab.js +1 -1
  65. package/dist/components/textfield/textfield.guide.json +1 -1
  66. package/dist/components/toast/toast-banner.js +1 -1
  67. package/dist/components/typewriter/typewriter.js +3 -3
  68. package/dist/index.js +4 -3
  69. package/dist/preflight-surface.json +1 -1
  70. package/dist/preflight.css +1 -1
  71. package/dist/theme-surface.json +5 -0
  72. package/package.json +2 -2
@@ -1 +1 @@
1
- @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-select-input-height{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-control-group-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-start{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-end{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-list-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-list-padding{syntax:"<length>";inherits:true;initial-value:0}@property --__select-list-appear-offset{syntax:"<length>";inherits:false;initial-value:8px}.viraui__select-module__Select_eXv4Y{--vui-select-input-height:var(--space-x-large);--vui-select-control-group-background:var(--base-1);--vui-select-control-group-color:var(--global-foreground);--vui-select-control-group-border-color:var(--global-contrast);--vui-select-control-group-border-radius:var(--radius-medium);--vui-select-trigger-padding-inline-start:var(--space-small);--vui-select-trigger-padding-inline-end:var(--space-x-small);--vui-field-label-padding-inline:calc((var(--vui-select-control-group-border-radius) + 0px) / 2);z-index:0;&:has([required]) .viraui__select-module__Label_-Y1fR:after{content:" *";color:var(--highlight-red)}&[data-invalid]>.viraui__select-module__Trigger_-wBsg:not(:disabled):not([data-disabled]){--vui-select-control-group-border-color:var(--highlight-red);box-shadow:none;outline-color:oklab(from var(--highlight-red) l a b/.5)}}.viraui__select-module__Trigger_-wBsg{box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--vui-select-input-height);padding-inline:var(--vui-select-trigger-padding-inline-start) var(--vui-select-trigger-padding-inline-end);border:1px solid var(--vui-select-control-group-border-color);border-radius:var(--vui-select-control-group-border-radius);background:var(--vui-select-control-group-background);color:var(--vui-select-control-group-color);font:inherit;text-align:start;cursor:pointer;&[data-popup-open]{outline:none}&:disabled,&[data-disabled]{--vui-select-control-group-background:var(--global-disabled-background);--vui-select-control-group-border-color:#0000;--vui-select-control-group-color:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__select-module__Icon_EOwki{font-size:var(--font-scale-body-small);pointer-events:none}.viraui__select-module__Description_OmwmV{padding-inline:calc((var(--vui-select-control-group-border-radius) + 0px) / 2)}.viraui__select-module__SelectPopup_UzGXL{--vui-select-list-border-radius:var(--radius-medium);--vui-select-list-padding:var(--space-x-small);box-sizing:border-box;min-inline-size:var(--anchor-width);overflow:visible;color:var(--global-foreground);outline:none;position:relative;transform-origin:var(--transform-origin);transition:opacity var(--duration-instant) var(--easing-entrance),scale var(--duration-instant) var(--easing-entrance),translate var(--duration-instant) var(--easing-entrance);&[data-ending-style],&[data-starting-style]{opacity:0;scale:.96}&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{translate:0 calc(var(--__select-list-appear-offset) * -1)}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{translate:0 var(--__select-list-appear-offset)}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style],&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{translate:var(--__select-list-appear-offset) 0}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style],&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{translate:calc(var(--__select-list-appear-offset) * -1) 0}&[data-side=none]{transition:none;scale:1;translate:0;opacity:1}}.viraui__select-module__ScrollArrow_kHlEi{position:absolute;inset-inline:0;z-index:1;inline-size:100%;block-size:var(--space-large);cursor:default;background:var(--base-1);border:1px solid var(--global-contrast);@container root not style(--vibrancy-enable: initial){background:oklab(from var(--base-1) l a b/80%);backdrop-filter:brightness(var(--vibrancy-brightness)) blur(calc(var(--vibrancy-blur) * 1px))}}.viraui__select-module__ScrollButton_sHBOa{pointer-events:none}.viraui__select-module__ScrollArrowUp_DGXS-{inset-block-start:0;border-radius:var(--vui-select-list-border-radius) var(--vui-select-list-border-radius) 0 0}.viraui__select-module__ScrollArrowDown_vhJy0{inset-block-end:0;border-radius:0 0 var(--vui-select-list-border-radius) var(--vui-select-list-border-radius)}.viraui__select-module__List_jdUWx{box-sizing:border-box;inline-size:100%;max-block-size:var(--available-height);scroll-padding-block:var(--vui-select-list-padding);overscroll-behavior:contain;&:focus,&:focus-visible{outline:none}}.viraui__select-module__Indicator_YNUuz{min-inline-size:var(--space-medium);min-block-size:var(--space-medium);inline-size:fit-content;block-size:fit-content;color:var(--global-primary);opacity:0;transition:opacity var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard);&[data-selected]{opacity:1}}.viraui__select-module__Group_xzkuA+.viraui__select-module__Group_xzkuA{margin-block-start:var(--space-medium)}}@layer viraui.overrides{.viraui__select-module__Value_uWHPX{flex:1 1 auto;min-inline-size:0;overflow:hidden;display:block;text-overflow:ellipsis;&[data-placeholder]{color:var(--global-disabled-foreground)}}.viraui__select-module__Option_KgYqz{cursor:pointer;&:focus{outline:none}&:focus-visible{outline:none;box-shadow:none}&:not([data-disabled]):hover,&:not([data-disabled])[data-highlighted]{background:var(--global-contrast);@container root not style(--vibrancy-enable: initial){background:oklab(from var(--global-contrast) l a b/12%)}}&:not([data-disabled],:hover)[data-selected]{background:light-dark(oklab(from var(--global-contrast) l a b/8%),oklab(from var(--global-contrast) l a b/5%))}&[data-disabled]{color:var(--global-disabled-foreground);cursor:not-allowed}}}
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-select-input-height{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-control-group-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-start{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-end{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-list-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-list-padding{syntax:"<length>";inherits:true;initial-value:0}@property --__select-list-appear-offset{syntax:"<length>";inherits:false;initial-value:8px}.viraui__select-module__Select_eXv4Y{--vui-select-input-height:var(--space-x-large);--vui-select-control-group-background:var(--base-1);--vui-select-control-group-color:var(--global-foreground);--vui-select-control-group-border-color:var(--global-contrast);--vui-select-control-group-border-radius:var(--radius-medium);--vui-select-trigger-padding-inline-start:var(--space-small);--vui-select-trigger-padding-inline-end:var(--space-x-small);--vui-field-label-padding-inline:calc((var(--vui-select-control-group-border-radius) + 0px) / 2);z-index:0;&:has([required]) .viraui__select-module__Label_-Y1fR{&:after{content:" *";color:var(--highlight-red)}&:dir(rtl){&:after{content:none}&:before{content:"* ";color:var(--highlight-red)}}}&[data-invalid]>.viraui__select-module__Trigger_-wBsg:not(:disabled):not([data-disabled]){--vui-select-control-group-border-color:var(--highlight-red);box-shadow:none;outline-color:oklab(from var(--highlight-red) l a b/.5)}}.viraui__select-module__Trigger_-wBsg{box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--vui-select-input-height);padding-inline:var(--vui-select-trigger-padding-inline-start) var(--vui-select-trigger-padding-inline-end);border:1px solid var(--vui-select-control-group-border-color);border-radius:var(--vui-select-control-group-border-radius);background:var(--vui-select-control-group-background);color:var(--vui-select-control-group-color);font:inherit;text-align:start;cursor:pointer;&[data-popup-open]{outline:none}&:disabled,&[data-disabled]{--vui-select-control-group-background:var(--global-disabled-background);--vui-select-control-group-border-color:#0000;--vui-select-control-group-color:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__select-module__Icon_EOwki{font-size:var(--font-scale-body-small);pointer-events:none}.viraui__select-module__Description_OmwmV{padding-inline:calc((var(--vui-select-control-group-border-radius) + 0px) / 2)}.viraui__select-module__SelectPopup_UzGXL{--vui-select-list-border-radius:var(--radius-medium);--vui-select-list-padding:var(--space-x-small);box-sizing:border-box;min-inline-size:var(--anchor-width);overflow:visible;color:var(--global-foreground);outline:none;position:relative;transform-origin:var(--transform-origin);transition:opacity var(--duration-instant) var(--easing-entrance),scale var(--duration-instant) var(--easing-entrance),translate var(--duration-instant) var(--easing-entrance);&[data-ending-style],&[data-starting-style]{opacity:0;scale:.96}&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{translate:0 calc(var(--__select-list-appear-offset) * -1)}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{translate:0 var(--__select-list-appear-offset)}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style],&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{translate:var(--__select-list-appear-offset) 0}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style],&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{translate:calc(var(--__select-list-appear-offset) * -1) 0}&[data-side=none]{transition:none;scale:1;translate:0;opacity:1}}.viraui__select-module__ScrollArrow_kHlEi{position:absolute;inset-inline:0;z-index:1;inline-size:100%;block-size:var(--space-large);cursor:default;background:var(--base-1);border:1px solid var(--global-contrast);@container root not style(--vibrancy-enable: initial){background:oklab(from var(--base-1) l a b/80%);backdrop-filter:brightness(var(--vibrancy-brightness)) blur(calc(var(--vibrancy-blur) * 1px))}}.viraui__select-module__ScrollButton_sHBOa{pointer-events:none}.viraui__select-module__ScrollArrowUp_DGXS-{inset-block-start:0;border-radius:var(--vui-select-list-border-radius) var(--vui-select-list-border-radius) 0 0}.viraui__select-module__ScrollArrowDown_vhJy0{inset-block-end:0;border-radius:0 0 var(--vui-select-list-border-radius) var(--vui-select-list-border-radius)}.viraui__select-module__List_jdUWx{box-sizing:border-box;inline-size:100%;max-block-size:var(--available-height);scroll-padding-block:var(--vui-select-list-padding);overscroll-behavior:contain;&:focus,&:focus-visible{outline:none}}.viraui__select-module__Indicator_YNUuz{min-inline-size:var(--space-medium);min-block-size:var(--space-medium);inline-size:fit-content;block-size:fit-content;color:var(--global-primary);opacity:0;transition:opacity var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard);&[data-selected]{opacity:1}}}@layer viraui.overrides{.viraui__select-module__Value_uWHPX{flex:1 1 auto;min-inline-size:0;overflow:hidden;display:block;text-overflow:ellipsis;&[data-placeholder]{color:var(--global-disabled-foreground)}}.viraui__select-module__Option_KgYqz{cursor:pointer;&:focus{outline:none}&:focus-visible{outline:none;box-shadow:none}&:not([data-disabled]):hover,&:not([data-disabled])[data-highlighted]{background:var(--global-contrast);@container root not style(--vibrancy-enable: initial){background:oklab(from var(--global-contrast) l a b/12%)}}&:not([data-disabled],:hover)[data-selected]{background:light-dark(oklab(from var(--global-contrast) l a b/8%),oklab(from var(--global-contrast) l a b/5%))}&[data-disabled]{color:var(--global-disabled-foreground);cursor:not-allowed}}}
@@ -11,7 +11,8 @@
11
11
  ],
12
12
  "whenNotToUse": [
13
13
  "Multiple selection",
14
- "Combobox, filterable search, or custom anchor positioning",
14
+ "Free-form filterable suggestions use Autocomplete",
15
+ "Combobox selection state, or custom anchor positioning",
15
16
  "Wrapping a lone Select in Fieldset when its own label is sufficient"
16
17
  ],
17
18
  "accessibility": [
@@ -24,7 +25,7 @@
24
25
  "Leaving the trigger without label or aria-label",
25
26
  "Never set the size prop (if present) of Buttons, IconButtons or other interactive elements passed as addon other than small"
26
27
  ],
27
- "related": ["Fieldset", "Textfield", "Stack", "Surface", "Icon"],
28
+ "related": ["Autocomplete", "Fieldset", "Textfield", "Stack", "Surface", "Icon"],
28
29
  "properties": {
29
30
  "react": {
30
31
  "addon": {
@@ -14,8 +14,8 @@ import { SelectGroup } from "./select-group.js";
14
14
  import { SelectOption } from "./select-option.js";
15
15
  import { SelectSeparator } from "./select-separator.js";
16
16
  import { jsx, jsxs } from "react/jsx-runtime";
17
- import { useId } from "react";
18
17
  import { Field } from "@base-ui/react/field";
18
+ import { useId } from "react";
19
19
  import { Select } from "@base-ui/react/select";
20
20
  //#region src/components/select/select.tsx
21
21
  function SelectRootComponent({ alignListWithTrigger = true, children, className, description, dirty, disabled, error, addon = /* @__PURE__ */ jsx(ChromeChevronExpandY, { size: 16 }), invalid, label, name, placeholder, ref, touched, validate, validationDebounceTime, validationMode, ...selectRootProps }) {
@@ -11,7 +11,6 @@ var ScrollArrowUp = "viraui__select-module__ScrollArrowUp_DGXS-";
11
11
  var ScrollArrowDown = "viraui__select-module__ScrollArrowDown_vhJy0";
12
12
  var List = "viraui__select-module__List_jdUWx";
13
13
  var Indicator = "viraui__select-module__Indicator_YNUuz";
14
- var Group = "viraui__select-module__Group_xzkuA";
15
14
  var Value = "viraui__select-module__Value_uWHPX";
16
15
  var Option = "viraui__select-module__Option_KgYqz";
17
16
  var select_module_default = {
@@ -27,9 +26,8 @@ var select_module_default = {
27
26
  ScrollArrowDown,
28
27
  List,
29
28
  Indicator,
30
- Group,
31
29
  Value,
32
30
  Option
33
31
  };
34
32
  //#endregion
35
- export { Description, Group, Icon, Indicator, Label, List, Option, ScrollArrow, ScrollArrowDown, ScrollArrowUp, ScrollButton, Select, SelectPopup, Trigger, Value, select_module_default as default };
33
+ export { Description, Icon, Indicator, Label, List, Option, ScrollArrow, ScrollArrowDown, ScrollArrowUp, ScrollButton, Select, SelectPopup, Trigger, Value, select_module_default as default };
@@ -1,2 +1,2 @@
1
1
  export { Spinner } from './spinner';
2
- export type { SpinnerProps } from './spinner';
2
+ export type { SpinnerProps, SpinnerVariant } from './spinner';
@@ -1 +1 @@
1
- @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-spinner-size{syntax:"<length>";inherits:false;initial-value:0}.viraui__spinner-module__Spinner_qCQzj{--vui-spinner-size:var(--space-x-large);display:inline-block;inline-size:var(--vui-spinner-size);block-size:var(--vui-spinner-size);flex:none;vertical-align:middle;color:currentColor;&[data-dimension=small]{--vui-spinner-size:var(--space-medium)}&[data-dimension=regular]{--vui-spinner-size:var(--space-large)}}.viraui__spinner-module__Glyph_OV-cy>path{transform-origin:8px 8px;animation:viraui__spinner-module__spinner-bars_jDmaB var(--duration-slowest) infinite}.viraui__spinner-module__Glyph_OV-cy>path:first-child,.viraui__spinner-module__Glyph_OV-cy>path:nth-child(3){opacity:.3;transform:scaleY(.5);animation-delay:calc(var(--duration-slowest) / -2)}@keyframes viraui__spinner-module__spinner-bars_jDmaB{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.5)}}}
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-spinner-size{syntax:"<length>";inherits:false;initial-value:0}.viraui__spinner-module__Spinner_qCQzj{--vui-spinner-size:var(--space-x-large);display:inline-block;inline-size:var(--vui-spinner-size);block-size:var(--vui-spinner-size);flex:none;vertical-align:middle;color:currentColor;&[data-dimension=small]{--vui-spinner-size:var(--space-medium)}&[data-dimension=regular]{--vui-spinner-size:var(--space-large)}}}
@@ -1,3 +1,5 @@
1
+ import { SpinnerVariant } from './variants';
2
+ export type { SpinnerVariant };
1
3
  export type SpinnerProps = Omit<React.ComponentProps<'svg'>, 'color'> & {
2
4
  /**
3
5
  * Sets the rendered spinner size.
@@ -11,5 +13,11 @@ export type SpinnerProps = Omit<React.ComponentProps<'svg'>, 'color'> & {
11
13
  * @default No default; inherits `currentColor`.
12
14
  */
13
15
  color?: string;
16
+ /**
17
+ * Visual animation style.
18
+ *
19
+ * @default 'bars'
20
+ */
21
+ variant?: SpinnerVariant;
14
22
  };
15
23
  export declare const Spinner: React.FC<SpinnerProps>;
@@ -28,6 +28,9 @@
28
28
  },
29
29
  "size": {
30
30
  "description": "Sets the rendered spinner size."
31
+ },
32
+ "variant": {
33
+ "description": "Visual animation style."
31
34
  }
32
35
  },
33
36
  "css": {
@@ -1,26 +1,28 @@
1
1
  import './spinner.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
3
  import spinner_module_default from "./spinner.module.js";
4
- import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { SPINNER_GLYPHS, SPINNER_VIEW_BOXES, isLazySpinnerVariant } from "./variants/index.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { Suspense } from "react";
5
7
  //#region src/components/spinner/spinner.tsx
6
- var Spinner = ({ className, color, size = "big", ref, style, ...otherProps }) => /* @__PURE__ */ jsx("svg", {
7
- ...otherProps,
8
- ref,
9
- className: clsx(spinner_module_default.Spinner, className),
10
- "data-dimension": size,
11
- viewBox: "0 0 16 16",
12
- xmlns: "http://www.w3.org/2000/svg",
13
- color,
14
- style,
15
- children: /* @__PURE__ */ jsxs("g", {
16
- className: spinner_module_default.Glyph,
17
- fill: "currentColor",
18
- children: [
19
- /* @__PURE__ */ jsx("path", { d: "M0 2h2v12H0z" }),
20
- /* @__PURE__ */ jsx("path", { d: "M7 2h2v12H7z" }),
21
- /* @__PURE__ */ jsx("path", { d: "M14 2h2v12h-2z" })
22
- ]
23
- })
24
- });
8
+ var Spinner = ({ className, color, size = "big", variant = "bars", ref, style, ...otherProps }) => {
9
+ const Glyph = SPINNER_GLYPHS[variant];
10
+ const glyph = /* @__PURE__ */ jsx(Glyph, {});
11
+ return /* @__PURE__ */ jsx("svg", {
12
+ ...otherProps,
13
+ ref,
14
+ className: clsx(spinner_module_default.Spinner, className),
15
+ "data-dimension": size,
16
+ "data-variant": variant,
17
+ viewBox: SPINNER_VIEW_BOXES[variant],
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ color,
20
+ style,
21
+ children: isLazySpinnerVariant(variant) ? /* @__PURE__ */ jsx(Suspense, {
22
+ fallback: null,
23
+ children: glyph
24
+ }) : glyph
25
+ });
26
+ };
25
27
  //#endregion
26
28
  export { Spinner };
@@ -1,10 +1,5 @@
1
1
  //#region src/components/spinner/spinner.module.css
2
2
  var Spinner = "viraui__spinner-module__Spinner_qCQzj";
3
- var Glyph = "viraui__spinner-module__Glyph_OV-cy";
4
- var spinner_module_default = {
5
- Spinner,
6
- Glyph,
7
- "spinner-bars": "viraui__spinner-module__spinner-bars_jDmaB"
8
- };
3
+ var spinner_module_default = { Spinner };
9
4
  //#endregion
10
- export { Glyph, Spinner, spinner_module_default as default };
5
+ export { Spinner, spinner_module_default as default };
@@ -0,0 +1,2 @@
1
+ declare const BarsGlyph: React.FC;
2
+ export default BarsGlyph;
@@ -0,0 +1,134 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useId } from "react";
3
+ //#region src/components/spinner/variants/bars.tsx
4
+ /** Sanitize React useId for SVG id / begin references (strip `:`). */
5
+ var smilId = (reactId, name) => `${reactId.replaceAll(":", "")}${name}`;
6
+ var BarsGlyph = () => {
7
+ const reactId = useId();
8
+ const ccmt = smilId(reactId, "ccmt");
9
+ const izzb = smilId(reactId, "izzb");
10
+ const pulse = {
11
+ y: {
12
+ values: "6;1;6",
13
+ keySplines: ".36,.61,.3,.98;.36,.61,.3,.98"
14
+ },
15
+ height: {
16
+ values: "12;22;12",
17
+ keySplines: ".36,.61,.3,.98;.36,.61,.3,.98"
18
+ }
19
+ };
20
+ return /* @__PURE__ */ jsxs("g", {
21
+ fill: "currentColor",
22
+ children: [
23
+ /* @__PURE__ */ jsxs("rect", {
24
+ x: "1",
25
+ y: "6",
26
+ width: "2.8",
27
+ height: "12",
28
+ children: [/* @__PURE__ */ jsx("animate", {
29
+ id: ccmt,
30
+ begin: `0;${izzb}.end-0.1s`,
31
+ attributeName: "y",
32
+ calcMode: "spline",
33
+ dur: "0.6s",
34
+ values: pulse.y.values,
35
+ keySplines: pulse.y.keySplines
36
+ }), /* @__PURE__ */ jsx("animate", {
37
+ begin: `0;${izzb}.end-0.1s`,
38
+ attributeName: "height",
39
+ calcMode: "spline",
40
+ dur: "0.6s",
41
+ values: pulse.height.values,
42
+ keySplines: pulse.height.keySplines
43
+ })]
44
+ }),
45
+ /* @__PURE__ */ jsxs("rect", {
46
+ x: "5.8",
47
+ y: "6",
48
+ width: "2.8",
49
+ height: "12",
50
+ children: [/* @__PURE__ */ jsx("animate", {
51
+ begin: `${ccmt}.begin+0.1s`,
52
+ attributeName: "y",
53
+ calcMode: "spline",
54
+ dur: "0.6s",
55
+ values: pulse.y.values,
56
+ keySplines: pulse.y.keySplines
57
+ }), /* @__PURE__ */ jsx("animate", {
58
+ begin: `${ccmt}.begin+0.1s`,
59
+ attributeName: "height",
60
+ calcMode: "spline",
61
+ dur: "0.6s",
62
+ values: pulse.height.values,
63
+ keySplines: pulse.height.keySplines
64
+ })]
65
+ }),
66
+ /* @__PURE__ */ jsxs("rect", {
67
+ x: "10.6",
68
+ y: "6",
69
+ width: "2.8",
70
+ height: "12",
71
+ children: [/* @__PURE__ */ jsx("animate", {
72
+ begin: `${ccmt}.begin+0.2s`,
73
+ attributeName: "y",
74
+ calcMode: "spline",
75
+ dur: "0.6s",
76
+ values: pulse.y.values,
77
+ keySplines: pulse.y.keySplines
78
+ }), /* @__PURE__ */ jsx("animate", {
79
+ begin: `${ccmt}.begin+0.2s`,
80
+ attributeName: "height",
81
+ calcMode: "spline",
82
+ dur: "0.6s",
83
+ values: pulse.height.values,
84
+ keySplines: pulse.height.keySplines
85
+ })]
86
+ }),
87
+ /* @__PURE__ */ jsxs("rect", {
88
+ x: "15.4",
89
+ y: "6",
90
+ width: "2.8",
91
+ height: "12",
92
+ children: [/* @__PURE__ */ jsx("animate", {
93
+ begin: `${ccmt}.begin+0.3s`,
94
+ attributeName: "y",
95
+ calcMode: "spline",
96
+ dur: "0.6s",
97
+ values: pulse.y.values,
98
+ keySplines: pulse.y.keySplines
99
+ }), /* @__PURE__ */ jsx("animate", {
100
+ begin: `${ccmt}.begin+0.3s`,
101
+ attributeName: "height",
102
+ calcMode: "spline",
103
+ dur: "0.6s",
104
+ values: pulse.height.values,
105
+ keySplines: pulse.height.keySplines
106
+ })]
107
+ }),
108
+ /* @__PURE__ */ jsxs("rect", {
109
+ x: "20.2",
110
+ y: "6",
111
+ width: "2.8",
112
+ height: "12",
113
+ children: [/* @__PURE__ */ jsx("animate", {
114
+ id: izzb,
115
+ begin: `${ccmt}.begin+0.4s`,
116
+ attributeName: "y",
117
+ calcMode: "spline",
118
+ dur: "0.6s",
119
+ values: pulse.y.values,
120
+ keySplines: pulse.y.keySplines
121
+ }), /* @__PURE__ */ jsx("animate", {
122
+ begin: `${ccmt}.begin+0.4s`,
123
+ attributeName: "height",
124
+ calcMode: "spline",
125
+ dur: "0.6s",
126
+ values: pulse.height.values,
127
+ keySplines: pulse.height.keySplines
128
+ })]
129
+ })
130
+ ]
131
+ });
132
+ };
133
+ //#endregion
134
+ export { BarsGlyph as default };
@@ -0,0 +1 @@
1
+ @layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@keyframes viraui__dot-grid-module__spinner-dot-grid-1_X76yC{9.0909090909%{transform:translate(-12px)}18.1818181818%{transform:translate(0)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(12px)}45.4545454545%{transform:translate(12px,12px)}54.5454545455%{transform:translate(12px,12px)}63.6363636364%{transform:translate(12px,12px)}72.7272727273%{transform:translate(12px)}81.8181818182%{transform:translate(0)}90.9090909091%{transform:translate(-12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-2_ntLgO{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(12px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(12px)}45.4545454545%{transform:translate(12px,12px)}54.5454545455%{transform:translate(12px,12px)}63.6363636364%{transform:translate(12px,12px)}72.7272727273%{transform:translate(12px,12px)}81.8181818182%{transform:translateY(12px)}90.9090909091%{transform:translateY(12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-3_6XjPw{9.0909090909%{transform:translate(-12px)}18.1818181818%{transform:translate(-12px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(-12px)}45.4545454545%{transform:translate(-12px)}54.5454545455%{transform:translate(-12px)}63.6363636364%{transform:translate(-12px)}72.7272727273%{transform:translate(-12px)}81.8181818182%{transform:translate(-12px,-12px)}90.9090909091%{transform:translateY(-12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-4_xy0HO{9.0909090909%{transform:translate(-12px)}18.1818181818%{transform:translate(-12px)}27.2727272727%{transform:translate(-12px,-12px)}36.3636363636%{transform:translateY(-12px)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translateY(-12px)}63.6363636364%{transform:translateY(-12px)}72.7272727273%{transform:translateY(-12px)}81.8181818182%{transform:translate(-12px,-12px)}90.9090909091%{transform:translate(-12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-5_lJzYz{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(0)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(12px)}45.4545454545%{transform:translate(12px)}54.5454545455%{transform:translate(12px)}63.6363636364%{transform:translate(12px)}72.7272727273%{transform:translate(12px)}81.8181818182%{transform:translate(12px,-12px)}90.9090909091%{transform:translateY(-12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-6_ZjVjH{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(-12px)}27.2727272727%{transform:translate(-12px)}36.3636363636%{transform:translate(0)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translate(0)}63.6363636364%{transform:translate(0)}72.7272727273%{transform:translateY(12px)}81.8181818182%{transform:translate(-12px,12px)}90.9090909091%{transform:translate(-12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-7_sEfp9{9.0909090909%{transform:translate(12px)}18.1818181818%{transform:translate(12px)}27.2727272727%{transform:translate(12px)}36.3636363636%{transform:translate(0)}45.4545454545%{transform:translateY(-12px)}54.5454545455%{transform:translate(12px,-12px)}63.6363636364%{transform:translateY(-12px)}72.7272727273%{transform:translateY(-12px)}81.8181818182%{transform:translate(0)}90.9090909091%{transform:translate(12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-8_L2-uH{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(-12px)}27.2727272727%{transform:translate(-12px,-12px)}36.3636363636%{transform:translateY(-12px)}45.4545454545%{transform:translateY(-12px)}54.5454545455%{transform:translateY(-12px)}63.6363636364%{transform:translateY(-12px)}72.7272727273%{transform:translateY(-12px)}81.8181818182%{transform:translate(12px,-12px)}90.9090909091%{transform:translate(12px)}to{transform:translate(0)}}@keyframes viraui__dot-grid-module__spinner-dot-grid-9_CrL1l{9.0909090909%{transform:translate(-12px)}18.1818181818%{transform:translate(-12px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(-12px)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translate(0)}63.6363636364%{transform:translate(-12px)}72.7272727273%{transform:translate(-12px)}81.8181818182%{transform:translate(-24px)}90.9090909091%{transform:translate(-12px)}to{transform:translate(0)}}.viraui__dot-grid-module__Glyph_sf2Sf{&>circle{transform-origin:50% 50%}&>circle:first-child{animation:viraui__dot-grid-module__spinner-dot-grid-1_X76yC 4s infinite}&>circle:nth-child(2){animation:viraui__dot-grid-module__spinner-dot-grid-2_ntLgO 4s infinite}&>circle:nth-child(3){animation:viraui__dot-grid-module__spinner-dot-grid-3_6XjPw 4s infinite}&>circle:nth-child(4){animation:viraui__dot-grid-module__spinner-dot-grid-4_xy0HO 4s infinite}&>circle:nth-child(5){animation:viraui__dot-grid-module__spinner-dot-grid-5_lJzYz 4s infinite}&>circle:nth-child(6){animation:viraui__dot-grid-module__spinner-dot-grid-6_ZjVjH 4s infinite}&>circle:nth-child(7){animation:viraui__dot-grid-module__spinner-dot-grid-7_sEfp9 4s infinite}&>circle:nth-child(8){animation:viraui__dot-grid-module__spinner-dot-grid-8_L2-uH 4s infinite}&>circle:nth-child(9){animation:viraui__dot-grid-module__spinner-dot-grid-9_CrL1l 4s infinite}}}
@@ -0,0 +1,2 @@
1
+ declare const DotGridGlyph: React.FC;
2
+ export default DotGridGlyph;
@@ -0,0 +1,57 @@
1
+ import './dot-grid.css';
2
+ import dot_grid_module_default from "./dot-grid.module.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/spinner/variants/dot-grid.tsx
5
+ var DotGridGlyph = () => /* @__PURE__ */ jsxs("g", {
6
+ className: dot_grid_module_default.Glyph,
7
+ fill: "currentColor",
8
+ children: [
9
+ /* @__PURE__ */ jsx("circle", {
10
+ cx: "13",
11
+ cy: "1",
12
+ r: "5"
13
+ }),
14
+ /* @__PURE__ */ jsx("circle", {
15
+ cx: "13",
16
+ cy: "1",
17
+ r: "5"
18
+ }),
19
+ /* @__PURE__ */ jsx("circle", {
20
+ cx: "25",
21
+ cy: "25",
22
+ r: "5"
23
+ }),
24
+ /* @__PURE__ */ jsx("circle", {
25
+ cx: "13",
26
+ cy: "13",
27
+ r: "5"
28
+ }),
29
+ /* @__PURE__ */ jsx("circle", {
30
+ cx: "13",
31
+ cy: "13",
32
+ r: "5"
33
+ }),
34
+ /* @__PURE__ */ jsx("circle", {
35
+ cx: "25",
36
+ cy: "13",
37
+ r: "5"
38
+ }),
39
+ /* @__PURE__ */ jsx("circle", {
40
+ cx: "1",
41
+ cy: "25",
42
+ r: "5"
43
+ }),
44
+ /* @__PURE__ */ jsx("circle", {
45
+ cx: "13",
46
+ cy: "25",
47
+ r: "5"
48
+ }),
49
+ /* @__PURE__ */ jsx("circle", {
50
+ cx: "25",
51
+ cy: "25",
52
+ r: "5"
53
+ })
54
+ ]
55
+ });
56
+ //#endregion
57
+ export { DotGridGlyph as default };
@@ -0,0 +1,16 @@
1
+ //#region src/components/spinner/variants/dot-grid.module.css
2
+ var Glyph = "viraui__dot-grid-module__Glyph_sf2Sf";
3
+ var dot_grid_module_default = {
4
+ Glyph,
5
+ "spinner-dot-grid-1": "viraui__dot-grid-module__spinner-dot-grid-1_X76yC",
6
+ "spinner-dot-grid-2": "viraui__dot-grid-module__spinner-dot-grid-2_ntLgO",
7
+ "spinner-dot-grid-3": "viraui__dot-grid-module__spinner-dot-grid-3_6XjPw",
8
+ "spinner-dot-grid-4": "viraui__dot-grid-module__spinner-dot-grid-4_xy0HO",
9
+ "spinner-dot-grid-5": "viraui__dot-grid-module__spinner-dot-grid-5_lJzYz",
10
+ "spinner-dot-grid-6": "viraui__dot-grid-module__spinner-dot-grid-6_ZjVjH",
11
+ "spinner-dot-grid-7": "viraui__dot-grid-module__spinner-dot-grid-7_sEfp9",
12
+ "spinner-dot-grid-8": "viraui__dot-grid-module__spinner-dot-grid-8_L2-uH",
13
+ "spinner-dot-grid-9": "viraui__dot-grid-module__spinner-dot-grid-9_CrL1l"
14
+ };
15
+ //#endregion
16
+ export { Glyph, dot_grid_module_default as default };
@@ -0,0 +1,2 @@
1
+ declare const DotsGlyph: React.FC;
2
+ export default DotsGlyph;
@@ -0,0 +1,189 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useId } from "react";
3
+ //#region src/components/spinner/variants/dots.tsx
4
+ /** Sanitize React useId for SVG id / begin references (strip `:`). */
5
+ var smilId = (reactId, name) => `${reactId.replaceAll(":", "")}${name}`;
6
+ var spline = {
7
+ calcMode: "spline",
8
+ dur: "0.5s",
9
+ keySplines: ".36,.6,.31,1",
10
+ fill: "freeze"
11
+ };
12
+ var DotsGlyph = () => {
13
+ const reactId = useId();
14
+ const z0Or = smilId(reactId, "z0Or");
15
+ const lo66 = smilId(reactId, "lo66");
16
+ const OLMs = smilId(reactId, "OLMs");
17
+ const UHR2 = smilId(reactId, "UHR2");
18
+ const Aguh = smilId(reactId, "Aguh");
19
+ const JsnR = smilId(reactId, "JsnR");
20
+ const hSjk = smilId(reactId, "hSjk");
21
+ const v4v5M = smilId(reactId, "4v5M");
22
+ return /* @__PURE__ */ jsxs("g", {
23
+ fill: "currentColor",
24
+ children: [
25
+ /* @__PURE__ */ jsxs("circle", {
26
+ cx: "4",
27
+ cy: "12",
28
+ r: "0",
29
+ children: [
30
+ /* @__PURE__ */ jsx("animate", {
31
+ begin: `0;${z0Or}.end`,
32
+ attributeName: "r",
33
+ ...spline,
34
+ values: "0;3"
35
+ }),
36
+ /* @__PURE__ */ jsx("animate", {
37
+ begin: `${OLMs}.end`,
38
+ attributeName: "cx",
39
+ ...spline,
40
+ values: "4;12"
41
+ }),
42
+ /* @__PURE__ */ jsx("animate", {
43
+ begin: `${UHR2}.end`,
44
+ attributeName: "cx",
45
+ ...spline,
46
+ values: "12;20"
47
+ }),
48
+ /* @__PURE__ */ jsx("animate", {
49
+ id: lo66,
50
+ begin: `${Aguh}.end`,
51
+ attributeName: "r",
52
+ ...spline,
53
+ values: "3;0"
54
+ }),
55
+ /* @__PURE__ */ jsx("animate", {
56
+ id: z0Or,
57
+ begin: `${lo66}.end`,
58
+ attributeName: "cx",
59
+ dur: "0.001s",
60
+ values: "20;4",
61
+ fill: "freeze"
62
+ })
63
+ ]
64
+ }),
65
+ /* @__PURE__ */ jsxs("circle", {
66
+ cx: "4",
67
+ cy: "12",
68
+ r: "3",
69
+ children: [
70
+ /* @__PURE__ */ jsx("animate", {
71
+ begin: `0;${z0Or}.end`,
72
+ attributeName: "cx",
73
+ ...spline,
74
+ values: "4;12"
75
+ }),
76
+ /* @__PURE__ */ jsx("animate", {
77
+ begin: `${OLMs}.end`,
78
+ attributeName: "cx",
79
+ ...spline,
80
+ values: "12;20"
81
+ }),
82
+ /* @__PURE__ */ jsx("animate", {
83
+ id: JsnR,
84
+ begin: `${UHR2}.end`,
85
+ attributeName: "r",
86
+ ...spline,
87
+ values: "3;0"
88
+ }),
89
+ /* @__PURE__ */ jsx("animate", {
90
+ id: Aguh,
91
+ begin: `${JsnR}.end`,
92
+ attributeName: "cx",
93
+ dur: "0.001s",
94
+ values: "20;4",
95
+ fill: "freeze"
96
+ }),
97
+ /* @__PURE__ */ jsx("animate", {
98
+ begin: `${Aguh}.end`,
99
+ attributeName: "r",
100
+ ...spline,
101
+ values: "0;3"
102
+ })
103
+ ]
104
+ }),
105
+ /* @__PURE__ */ jsxs("circle", {
106
+ cx: "12",
107
+ cy: "12",
108
+ r: "3",
109
+ children: [
110
+ /* @__PURE__ */ jsx("animate", {
111
+ begin: `0;${z0Or}.end`,
112
+ attributeName: "cx",
113
+ ...spline,
114
+ values: "12;20"
115
+ }),
116
+ /* @__PURE__ */ jsx("animate", {
117
+ id: hSjk,
118
+ begin: `${OLMs}.end`,
119
+ attributeName: "r",
120
+ ...spline,
121
+ values: "3;0"
122
+ }),
123
+ /* @__PURE__ */ jsx("animate", {
124
+ id: UHR2,
125
+ begin: `${hSjk}.end`,
126
+ attributeName: "cx",
127
+ dur: "0.001s",
128
+ values: "20;4",
129
+ fill: "freeze"
130
+ }),
131
+ /* @__PURE__ */ jsx("animate", {
132
+ begin: `${UHR2}.end`,
133
+ attributeName: "r",
134
+ ...spline,
135
+ values: "0;3"
136
+ }),
137
+ /* @__PURE__ */ jsx("animate", {
138
+ begin: `${Aguh}.end`,
139
+ attributeName: "cx",
140
+ ...spline,
141
+ values: "4;12"
142
+ })
143
+ ]
144
+ }),
145
+ /* @__PURE__ */ jsxs("circle", {
146
+ cx: "20",
147
+ cy: "12",
148
+ r: "3",
149
+ children: [
150
+ /* @__PURE__ */ jsx("animate", {
151
+ id: v4v5M,
152
+ begin: `0;${z0Or}.end`,
153
+ attributeName: "r",
154
+ ...spline,
155
+ values: "3;0"
156
+ }),
157
+ /* @__PURE__ */ jsx("animate", {
158
+ id: OLMs,
159
+ begin: `${v4v5M}.end`,
160
+ attributeName: "cx",
161
+ dur: "0.001s",
162
+ values: "20;4",
163
+ fill: "freeze"
164
+ }),
165
+ /* @__PURE__ */ jsx("animate", {
166
+ begin: `${OLMs}.end`,
167
+ attributeName: "r",
168
+ ...spline,
169
+ values: "0;3"
170
+ }),
171
+ /* @__PURE__ */ jsx("animate", {
172
+ begin: `${UHR2}.end`,
173
+ attributeName: "cx",
174
+ ...spline,
175
+ values: "4;12"
176
+ }),
177
+ /* @__PURE__ */ jsx("animate", {
178
+ begin: `${Aguh}.end`,
179
+ attributeName: "cx",
180
+ ...spline,
181
+ values: "12;20"
182
+ })
183
+ ]
184
+ })
185
+ ]
186
+ });
187
+ };
188
+ //#endregion
189
+ export { DotsGlyph as default };
@@ -0,0 +1,5 @@
1
+ import { ComponentType } from 'react';
2
+ export type SpinnerVariant = 'bars' | 'dot-grid' | 'dots';
3
+ export declare const SPINNER_VIEW_BOXES: Record<SpinnerVariant, string>;
4
+ export declare const SPINNER_GLYPHS: Record<SpinnerVariant, ComponentType>;
5
+ export declare const isLazySpinnerVariant: (variant: SpinnerVariant) => boolean;
@@ -0,0 +1,16 @@
1
+ import BarsGlyph from "./bars.js";
2
+ import { lazy } from "react";
3
+ //#region src/components/spinner/variants/index.ts
4
+ var SPINNER_VIEW_BOXES = {
5
+ bars: "0 0 24 24",
6
+ "dot-grid": "-13 -13 45 45",
7
+ dots: "0 0 24 24"
8
+ };
9
+ var SPINNER_GLYPHS = {
10
+ bars: BarsGlyph,
11
+ "dot-grid": lazy(() => import("./dot-grid.js")),
12
+ dots: lazy(() => import("./dots.js"))
13
+ };
14
+ var isLazySpinnerVariant = (variant) => variant === "dot-grid" || variant === "dots";
15
+ //#endregion
16
+ export { SPINNER_GLYPHS, SPINNER_VIEW_BOXES, isLazySpinnerVariant };
@@ -1,6 +1,6 @@
1
1
  import { clsx } from "../../core/clsx.js";
2
- import { Button } from "../button/button.js";
3
2
  import { Text } from "../text/text.js";
3
+ import { Button } from "../button/button.js";
4
4
  import tabs_module_default from "./tabs.module.js";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import { Tabs } from "@base-ui/react/tabs";
@@ -23,7 +23,7 @@
23
23
  "Passing unsupported size or variant props",
24
24
  "Expecting a focus ring when focus is only on addon controls"
25
25
  ],
26
- "related": ["Fieldset", "Textarea", "Select", "Text"],
26
+ "related": ["Autocomplete", "Fieldset", "Textarea", "Select", "Text"],
27
27
  "properties": {
28
28
  "react": {
29
29
  "description": {