@nsaa/core 0.1.0-alpha.1 → 0.1.0-alpha.2

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 (236) hide show
  1. package/dist/accordion/accordion.d.ts +7 -0
  2. package/dist/accordion/accordion.js +54 -0
  3. package/dist/accordion/index.d.ts +3 -0
  4. package/dist/alert/alert.d.ts +18 -0
  5. package/dist/alert/alert.js +53 -0
  6. package/dist/alert/index.d.ts +3 -0
  7. package/dist/alert-dialog/alert-dialog.d.ts +19 -0
  8. package/dist/alert-dialog/alert-dialog.js +100 -0
  9. package/dist/alert-dialog/index.d.ts +3 -0
  10. package/dist/avatar/avatar.d.ts +12 -0
  11. package/dist/avatar/avatar.js +50 -0
  12. package/dist/avatar/index.d.ts +3 -0
  13. package/dist/badge/badge.d.ts +8 -0
  14. package/dist/badge/badge.js +29 -0
  15. package/dist/badge/index.d.ts +3 -0
  16. package/dist/button/button.d.ts +25 -0
  17. package/dist/button/button.js +136 -0
  18. package/dist/button/index.d.ts +3 -0
  19. package/dist/calendar/calendar.d.ts +11 -0
  20. package/dist/calendar/calendar.js +131 -0
  21. package/dist/calendar/index.d.ts +3 -0
  22. package/dist/card/card.d.ts +12 -0
  23. package/dist/card/card.js +55 -0
  24. package/dist/card/index.d.ts +3 -0
  25. package/dist/checkbox/checkbox.d.ts +4 -0
  26. package/dist/checkbox/checkbox.js +35 -0
  27. package/dist/checkbox/index.d.ts +3 -0
  28. package/dist/collapsible/collapsible.d.ts +6 -0
  29. package/dist/collapsible/collapsible.js +24 -0
  30. package/dist/collapsible/index.d.ts +3 -0
  31. package/dist/combobox/combobox.d.ts +27 -0
  32. package/dist/combobox/combobox.js +226 -0
  33. package/dist/combobox/index.d.ts +3 -0
  34. package/dist/command/command.d.ts +20 -0
  35. package/dist/command/command.js +116 -0
  36. package/dist/command/index.d.ts +3 -0
  37. package/dist/context-menu/context-menu.d.ts +30 -0
  38. package/dist/context-menu/context-menu.js +173 -0
  39. package/dist/context-menu/index.d.ts +3 -0
  40. package/dist/dialog/dialog.d.ts +18 -0
  41. package/dist/dialog/dialog.js +106 -0
  42. package/dist/dialog/index.d.ts +3 -0
  43. package/dist/direction.d.ts +3 -0
  44. package/dist/direction.js +2 -0
  45. package/dist/drawer/drawer.d.ts +17 -0
  46. package/dist/drawer/drawer.js +136 -0
  47. package/dist/drawer/index.d.ts +3 -0
  48. package/dist/dropdown-menu/dropdown-menu.d.ts +30 -0
  49. package/dist/dropdown-menu/dropdown-menu.js +177 -0
  50. package/dist/dropdown-menu/index.d.ts +3 -0
  51. package/dist/empty/empty.d.ts +35 -0
  52. package/dist/empty/empty.js +93 -0
  53. package/dist/empty/index.d.ts +3 -0
  54. package/dist/field/field.d.ts +26 -0
  55. package/dist/field/field.js +109 -0
  56. package/dist/field/index.d.ts +3 -0
  57. package/dist/index.d.ts +89 -674
  58. package/dist/index.js +48 -3876
  59. package/dist/input/index.d.ts +3 -0
  60. package/dist/input/input.d.ts +4 -0
  61. package/dist/input/input.js +14 -0
  62. package/dist/input-group/index.d.ts +3 -0
  63. package/dist/input-group/input-group.d.ts +19 -0
  64. package/dist/input-group/input-group.js +78 -0
  65. package/dist/input-otp/index.d.ts +3 -0
  66. package/dist/input-otp/input-otp.d.ts +12 -0
  67. package/dist/input-otp/input-otp.js +73 -0
  68. package/dist/kbd/index.d.ts +3 -0
  69. package/dist/kbd/kbd.d.ts +5 -0
  70. package/dist/kbd/kbd.js +19 -0
  71. package/dist/label/index.d.ts +3 -0
  72. package/dist/label/label.d.ts +4 -0
  73. package/dist/label/label.js +13 -0
  74. package/dist/legacy/icon-button/icon-swap.js +58 -0
  75. package/dist/lib/cn.d.ts +3 -0
  76. package/dist/{cn-DxFBFdwT.js → lib/cn.js} +1 -1
  77. package/dist/lib/control-defaults.js +8 -0
  78. package/dist/lib/icon-swap.d.ts +15 -0
  79. package/dist/lib/icon-swap.js +26 -0
  80. package/dist/lib/input-modality.js +39 -0
  81. package/dist/lib/merge-refs.js +21 -0
  82. package/dist/lib/shortcut.js +50 -0
  83. package/dist/lib/track-input-modality.d.ts +2 -0
  84. package/dist/lib/track-input-modality.js +4 -0
  85. package/dist/lib/tv.js +7 -0
  86. package/dist/lib/use-press.js +48 -0
  87. package/dist/lib/user-action.js +13 -0
  88. package/dist/loaders/arc.d.ts +6 -0
  89. package/dist/loaders/arc.js +31 -0
  90. package/dist/loaders/atom.d.ts +5 -0
  91. package/dist/loaders/atom.js +70 -0
  92. package/dist/loaders/blocks.d.ts +8 -0
  93. package/dist/loaders/blocks.js +74 -0
  94. package/dist/loaders/bouncing-dots.d.ts +3 -0
  95. package/dist/loaders/bouncing-dots.js +45 -0
  96. package/dist/loaders/cap.d.ts +6 -0
  97. package/dist/loaders/cap.js +7 -0
  98. package/dist/loaders/cascade.d.ts +5 -0
  99. package/dist/loaders/cascade.js +50 -0
  100. package/dist/loaders/circular-dots.d.ts +3 -0
  101. package/dist/loaders/circular-dots.js +40 -0
  102. package/dist/loaders/classic-v2.d.ts +3 -0
  103. package/dist/loaders/classic-v2.js +41 -0
  104. package/dist/loaders/classic.d.ts +3 -0
  105. package/dist/loaders/classic.js +48 -0
  106. package/dist/loaders/clock.d.ts +5 -0
  107. package/dist/loaders/clock.js +31 -0
  108. package/dist/loaders/comet.d.ts +5 -0
  109. package/dist/loaders/comet.js +52 -0
  110. package/dist/loaders/compass.d.ts +3 -0
  111. package/dist/loaders/compass.js +39 -0
  112. package/dist/loaders/dual.d.ts +6 -0
  113. package/dist/loaders/dual.js +47 -0
  114. package/dist/loaders/easing.d.ts +6 -0
  115. package/dist/loaders/easing.js +34 -0
  116. package/dist/loaders/eclipse.d.ts +3 -0
  117. package/dist/loaders/eclipse.js +69 -0
  118. package/dist/loaders/fade.js +28 -0
  119. package/dist/loaders/flip.d.ts +3 -0
  120. package/dist/loaders/flip.js +41 -0
  121. package/dist/{frame-CK9IBOZB.js → loaders/frame.js} +2 -50
  122. package/dist/loaders/gather.d.ts +3 -0
  123. package/dist/loaders/gather.js +85 -0
  124. package/dist/loaders/leap.d.ts +3 -0
  125. package/dist/loaders/leap.js +67 -0
  126. package/dist/loaders/linear-dots.d.ts +3 -0
  127. package/dist/loaders/linear-dots.js +54 -0
  128. package/dist/loaders/loading.d.ts +3 -0
  129. package/dist/loaders/loading.js +64 -0
  130. package/dist/loaders/morph.d.ts +3 -0
  131. package/dist/loaders/morph.js +40 -0
  132. package/dist/loaders/motion.d.ts +35 -0
  133. package/dist/loaders/motion.js +51 -0
  134. package/dist/loaders/orbit.d.ts +5 -0
  135. package/dist/loaders/orbit.js +44 -0
  136. package/dist/loaders/pulse.d.ts +3 -0
  137. package/dist/loaders/pulse.js +52 -0
  138. package/dist/loaders/radar.d.ts +5 -0
  139. package/dist/loaders/radar.js +64 -0
  140. package/dist/loaders/ring.d.ts +6 -0
  141. package/dist/loaders/ring.js +38 -0
  142. package/dist/loaders/ripple.d.ts +8 -0
  143. package/dist/loaders/ripple.js +57 -0
  144. package/dist/loaders/slide.d.ts +3 -0
  145. package/dist/loaders/slide.js +74 -0
  146. package/dist/loaders/snake.d.ts +6 -0
  147. package/dist/loaders/snake.js +59 -0
  148. package/dist/loaders/spinners.d.ts +61 -0
  149. package/dist/loaders/spinners.js +63 -0
  150. package/dist/loaders/swirl.d.ts +3 -0
  151. package/dist/loaders/swirl.js +50 -0
  152. package/dist/loaders/text/shared.js +25 -0
  153. package/dist/loaders/text/text-loaders.d.ts +48 -0
  154. package/dist/loaders/text/text-loaders.js +723 -0
  155. package/dist/loaders/trace.d.ts +6 -0
  156. package/dist/loaders/trace.js +46 -0
  157. package/dist/loaders/types.d.ts +10 -0
  158. package/dist/loaders/wave.d.ts +8 -0
  159. package/dist/loaders/wave.js +59 -0
  160. package/dist/loaders-text.d.ts +2 -47
  161. package/dist/loaders-text.js +1 -743
  162. package/dist/loaders.d.ts +36 -132
  163. package/dist/loaders.js +35 -1096
  164. package/dist/native-select/index.d.ts +3 -0
  165. package/dist/native-select/native-select.d.ts +9 -0
  166. package/dist/native-select/native-select.js +44 -0
  167. package/dist/pagination/index.d.ts +3 -0
  168. package/dist/pagination/pagination.d.ts +18 -0
  169. package/dist/pagination/pagination.js +134 -0
  170. package/dist/popover/index.d.ts +3 -0
  171. package/dist/popover/popover.d.ts +10 -0
  172. package/dist/popover/popover.js +54 -0
  173. package/dist/radio-group/index.d.ts +3 -0
  174. package/dist/radio-group/radio-group.d.ts +6 -0
  175. package/dist/radio-group/radio-group.js +33 -0
  176. package/dist/select/index.d.ts +3 -0
  177. package/dist/select/select.d.ts +16 -0
  178. package/dist/select/select.js +148 -0
  179. package/dist/separator/index.d.ts +3 -0
  180. package/dist/separator/separator.d.ts +4 -0
  181. package/dist/separator/separator.js +15 -0
  182. package/dist/skeleton/index.d.ts +3 -0
  183. package/dist/skeleton/skeleton.d.ts +10 -0
  184. package/dist/skeleton/skeleton.js +24 -0
  185. package/dist/slider/index.d.ts +3 -0
  186. package/dist/slider/slider.d.ts +4 -0
  187. package/dist/slider/slider.js +39 -0
  188. package/dist/sound/sound-map.d.ts +70 -0
  189. package/dist/sound/sound-map.js +72 -0
  190. package/dist/sound/sound.d.ts +38 -0
  191. package/dist/sound/sound.js +136 -0
  192. package/dist/sound/uisfx.d.ts +37 -0
  193. package/dist/sound/uisfx.js +59 -0
  194. package/dist/sound-uisfx.d.ts +2 -37
  195. package/dist/sound-uisfx.js +1 -58
  196. package/dist/spinner/index.d.ts +5 -0
  197. package/dist/spinner/loader-provider.d.ts +16 -0
  198. package/dist/spinner/loader-provider.js +28 -0
  199. package/dist/spinner/registry.d.ts +9 -0
  200. package/dist/spinner/registry.js +15 -0
  201. package/dist/spinner/spinner.d.ts +26 -0
  202. package/dist/spinner/spinner.js +143 -0
  203. package/dist/switch/index.d.ts +3 -0
  204. package/dist/switch/switch.d.ts +6 -0
  205. package/dist/switch/switch.js +25 -0
  206. package/dist/table/index.d.ts +3 -0
  207. package/dist/table/table.d.ts +17 -0
  208. package/dist/table/table.js +66 -0
  209. package/dist/tabs/index.d.ts +3 -0
  210. package/dist/tabs/tabs.d.ts +11 -0
  211. package/dist/tabs/tabs.js +46 -0
  212. package/dist/textarea/index.d.ts +3 -0
  213. package/dist/textarea/textarea.d.ts +4 -0
  214. package/dist/textarea/textarea.js +12 -0
  215. package/dist/toast/index.d.ts +3 -0
  216. package/dist/toast/toast.d.ts +17 -0
  217. package/dist/toast/toast.js +211 -0
  218. package/dist/toggle-group/index.d.ts +3 -0
  219. package/dist/toggle-group/toggle-group.d.ts +64 -0
  220. package/dist/toggle-group/toggle-group.js +95 -0
  221. package/dist/tokens/dist/motion.d.ts +24 -0
  222. package/dist/{motion-NQq2BA78.js → tokens/dist/motion.js} +1 -1
  223. package/dist/toolbar/index.d.ts +3 -0
  224. package/dist/toolbar/overflow.d.ts +4 -0
  225. package/dist/toolbar/overflow.js +242 -0
  226. package/dist/toolbar/toolbar-item.d.ts +29 -0
  227. package/dist/toolbar/toolbar-item.js +71 -0
  228. package/dist/toolbar/toolbar.d.ts +73 -0
  229. package/dist/toolbar/toolbar.js +250 -0
  230. package/dist/tooltip/index.d.ts +3 -0
  231. package/dist/tooltip/tooltip.d.ts +7 -0
  232. package/dist/tooltip/tooltip.js +41 -0
  233. package/package.json +4 -3
  234. package/dist/registry-2PyPW9Xw.js +0 -390
  235. package/dist/registry-DjfWNw3R.d.ts +0 -18
  236. package/dist/sound-DiYNAnR_.d.ts +0 -61
package/dist/loaders.js CHANGED
@@ -1,1097 +1,36 @@
1
1
  "use client";
2
- import { _ as DEFAULT_CAP, a as Wave, c as Orbit, d as fadeCss, f as BouncingDots, g as spinClass, h as rotationCss, i as DEFAULT_WAVE_ORIGIN, l as Classic, m as DEFAULT_EASING, n as registerLoader, o as Ring, p as Arc, r as registerLoaders, s as Pulse, u as CircularDots, v as linecap } from "./registry-2PyPW9Xw.js";
3
- import { a as spinnerRoot, c as PLAY_STATE_VAR, d as STEP_VAR, f as animation, i as reducedMotion, l as SIZE, n as SpinnerStyle, o as step, p as stagger, r as cssVars, s as DURATION_VAR, u as SPINNER_MOTION } from "./frame-CK9IBOZB.js";
4
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
- import { createElement, useId } from "react";
6
- // src/loaders/atom.tsx
7
- const ORBITS = Array.from({ length: 3 }, (_, index) => index);
8
- const TILT = 180 / ORBITS.length;
9
- const css$20 = `
10
- .nsaa-loader-atom {
11
- position: relative;
12
- }
13
-
14
- .nsaa-loader-atom-shell {
15
- position: absolute;
16
- inset: 0;
17
- box-sizing: border-box;
18
- border: ${`calc(${SIZE} * 0.055)`} solid currentColor;
19
- border-radius: 9999px;
20
- }
21
-
22
- .nsaa-loader-atom-orbit {
23
- position: absolute;
24
- inset: 0;
25
- transform-style: preserve-3d;
26
- transform: rotate(var(--nsaa-loader-atom-tilt)) rotateX(90deg);
27
- }
28
-
29
- .nsaa-loader-atom-ring {
30
- position: absolute;
31
- inset: 0;
32
- box-sizing: border-box;
33
- border: ${`calc(${SIZE} * 0.045)`} solid currentColor;
34
- border-radius: 9999px;
35
- transform: rotateX(90deg);
36
- }
37
-
38
- ${rotationCss("atom")}
39
-
40
- .nsaa-loader-atom-spin {
41
- position: absolute;
42
- inset: 0;
43
- transform-style: preserve-3d;
44
- animation-delay: ${stagger("atom", ORBITS.length)};
45
- }
46
-
47
- ${reducedMotion(`
48
- .nsaa-loader-atom-spin {
49
- transform: rotate(${TILT}deg);
50
- }
51
- `)}
52
- `;
53
- function Atom({ easing, ...rest }) {
54
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
55
- name: "atom",
56
- children: css$20
57
- }), /* @__PURE__ */ jsxs("div", {
58
- ...spinnerRoot("atom", rest),
59
- children: [/* @__PURE__ */ jsx("div", { className: "nsaa-loader-atom-shell" }), ORBITS.map((index) => /* @__PURE__ */ jsx("div", {
60
- className: "nsaa-loader-atom-orbit",
61
- style: cssVars({ "--nsaa-loader-atom-tilt": `${index * TILT}deg` }),
62
- children: /* @__PURE__ */ jsx("div", {
63
- className: spinClass("atom", easing),
64
- style: step(index),
65
- children: /* @__PURE__ */ jsx("div", { className: "nsaa-loader-atom-ring" })
66
- })
67
- }, index))]
68
- })] });
69
- }
70
- // src/loaders/blocks.tsx
71
- const DEFAULT_BLOCKS_SWEEP = "diagonal";
72
- const SIDE$1 = 3;
73
- const CELLS = Array.from({ length: 9 }, (_, index) => ({
74
- col: index % SIDE$1,
75
- row: Math.floor(index / SIDE$1)
76
- }));
77
- const SWEEPS = {
78
- columns: {
79
- count: SIDE$1,
80
- place: ({ col }) => col
81
- },
82
- diagonal: {
83
- count: 5,
84
- place: ({ col, row }) => row + col
85
- },
86
- rows: {
87
- count: SIDE$1,
88
- place: ({ row }) => row
89
- }
90
- };
91
- const css$19 = `
92
- .nsaa-loader-blocks {
93
- display: grid;
94
- grid-template-columns: repeat(${SIDE$1}, 1fr);
95
- grid-template-rows: repeat(${SIDE$1}, 1fr);
96
- gap: calc(${SIZE} * 0.1);
97
- }
98
-
99
- .nsaa-loader-blocks-cell {
100
- background: currentColor;
101
- border-radius: calc(${SIZE} * 0.0625);
102
- ${animation("blocks", "nsaa-loader-blocks-sweep", "ease-in-out")}
103
- }
104
- ${Object.entries(SWEEPS).map(([sweep, { count }]) => `
105
- .nsaa-loader-blocks-cell-${sweep} {
106
- animation-delay: ${stagger("blocks", count)};
107
- }
108
- `).join("")}
109
- @keyframes nsaa-loader-blocks-sweep {
110
- 0%,
111
- 70%,
112
- 100% {
113
- transform: scale(1);
114
- }
115
- 35% {
116
- transform: scale(0);
117
- }
118
- }
119
-
120
- ${reducedMotion(`
121
- .nsaa-loader-blocks-cell {
122
- transform: scale(0.8);
123
- }
124
- `)}
125
- `;
126
- function Blocks({ sweep = DEFAULT_BLOCKS_SWEEP, ...rest }) {
127
- const { place } = SWEEPS[sweep];
128
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
129
- name: "blocks",
130
- children: css$19
131
- }), /* @__PURE__ */ jsx("div", {
132
- ...spinnerRoot("blocks", rest),
133
- children: CELLS.map((cell) => /* @__PURE__ */ jsx("div", {
134
- className: `nsaa-loader-blocks-cell nsaa-loader-blocks-cell-${sweep}`,
135
- style: step(place(cell))
136
- }, `${cell.col}-${cell.row}`))
137
- })] });
138
- }
139
- // src/loaders/cascade.tsx
140
- const RADII = [
141
- 10.5,
142
- 7,
143
- 3.5
144
- ];
145
- const css$18 = `
146
- .nsaa-loader-cascade-arc {
147
- transform-origin: center;
148
- ${animation("cascade", "nsaa-loader-cascade-turn", "cubic-bezier(0.68, -0.75, 0.265, 1.75)")}
149
- animation-delay: ${stagger("cascade", 24)};
150
- }
151
-
152
- @keyframes nsaa-loader-cascade-turn {
153
- to {
154
- transform: rotate(360deg);
155
- }
156
- }
157
- `;
158
- function Cascade({ cap, ...rest }) {
159
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
160
- name: "cascade",
161
- children: css$18
162
- }), /* @__PURE__ */ jsx("svg", {
163
- ...spinnerRoot("cascade", rest),
164
- fill: "none",
165
- role: "presentation",
166
- stroke: "currentColor",
167
- strokeLinecap: linecap(cap),
168
- strokeWidth: "2",
169
- viewBox: "0 0 24 24",
170
- children: RADII.map((r, index) => {
171
- const circumference = 2 * Math.PI * r;
172
- return /* @__PURE__ */ jsx("circle", {
173
- className: "nsaa-loader-cascade-arc",
174
- cx: "12",
175
- cy: "12",
176
- r,
177
- strokeDasharray: `${circumference / 4} ${circumference * 3 / 4}`,
178
- style: step(index)
179
- }, r);
180
- })
181
- })] });
182
- }
183
- // src/loaders/classic-v2.tsx
184
- const TICKS = [
185
- "M7.33334 0.666667C7.33334 0.298477 7.63181 0 8 0C8.36819 0 8.66667 0.298477 8.66667 0.666667V3.33333C8.66667 3.70152 8.36819 4 8 4C7.63181 4 7.33334 3.70152 7.33334 3.33333V0.666667Z",
186
- "M11.7712 5.17154C11.5109 5.43189 11.0888 5.43189 10.8284 5.17154C10.5681 4.91119 10.5681 4.48908 10.8284 4.22873L12.714 2.34311C12.9744 2.08276 13.3965 2.08276 13.6568 2.34311C13.9172 2.60346 13.9172 3.02557 13.6568 3.28592L11.7712 5.17154Z",
187
- "M12.6667 8.66667C12.2985 8.66667 12 8.36819 12 8.00001C12 7.63182 12.2985 7.33334 12.6667 7.33334H15.3333C15.7015 7.33334 16 7.63182 16 8.00001C16 8.36819 15.7015 8.66667 15.3333 8.66667H12.6667Z",
188
- "M10.8284 11.7713C10.5681 11.5109 10.5681 11.0888 10.8284 10.8284C11.0888 10.5681 11.5109 10.5681 11.7712 10.8284L13.6568 12.7141C13.9172 12.9744 13.9172 13.3965 13.6568 13.6569C13.3965 13.9172 12.9744 13.9172 12.714 13.6569L10.8284 11.7713Z",
189
- "M7.33333 12.6667C7.33333 12.2985 7.63181 12 8 12C8.36819 12 8.66667 12.2985 8.66667 12.6667V15.3333C8.66667 15.7015 8.36819 16 8 16C7.63181 16 7.33333 15.7015 7.33333 15.3333V12.6667Z",
190
- "M3.28594 13.6569C3.02559 13.9172 2.60348 13.9172 2.34313 13.6569C2.08278 13.3965 2.08278 12.9744 2.34313 12.714L4.22875 10.8284C4.4891 10.5681 4.91121 10.5681 5.17156 10.8284C5.43191 11.0888 5.43191 11.5109 5.17156 11.7712L3.28594 13.6569Z",
191
- "M0.666667 8.66667C0.298477 8.66667 1.60941e-08 8.36819 0 8.00001C-1.60941e-08 7.63182 0.298477 7.33334 0.666667 7.33334H3.33333C3.70152 7.33334 4 7.63182 4 8.00001C4 8.36819 3.70152 8.66667 3.33333 8.66667H0.666667Z",
192
- "M2.34315 3.28594C2.0828 3.02559 2.0828 2.60348 2.34315 2.34314C2.6035 2.08279 3.02561 2.08279 3.28596 2.34313L5.17158 4.22875C5.43193 4.4891 5.43193 4.91121 5.17158 5.17156C4.91123 5.43191 4.48912 5.43191 4.22877 5.17156L2.34315 3.28594Z"
193
- ];
194
- const css$17 = `
195
- ${fadeCss("classic-v2", "tick", TICKS.length, {
196
- dim: .4,
197
- rest: .5
198
- })}
199
- `;
200
- function ClassicV2(props) {
201
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
202
- name: "classic-v2",
203
- children: css$17
204
- }), /* @__PURE__ */ jsx("svg", {
205
- ...spinnerRoot("classic-v2", props),
206
- fill: "none",
207
- role: "presentation",
208
- viewBox: "0 0 16 16",
209
- children: /* @__PURE__ */ jsx("g", {
210
- fill: "currentColor",
211
- children: TICKS.map((d, tick) => /* @__PURE__ */ jsx("path", {
212
- className: "nsaa-loader-classic-v2-tick",
213
- d,
214
- style: step(tick)
215
- }, d))
216
- })
217
- })] });
218
- }
219
- // src/loaders/clock.tsx
220
- const css$16 = `
221
- ${rotationCss("clock")}
222
- `;
223
- function Clock({ easing, ...rest }) {
224
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
225
- name: "clock",
226
- children: css$16
227
- }), /* @__PURE__ */ jsxs("svg", {
228
- ...spinnerRoot("clock", rest),
229
- fill: "none",
230
- role: "presentation",
231
- viewBox: "0 0 16 16",
232
- children: [/* @__PURE__ */ jsx("circle", {
233
- cx: "8",
234
- cy: "8",
235
- fill: "currentColor",
236
- opacity: "0.1",
237
- r: "8"
238
- }), /* @__PURE__ */ jsx("path", {
239
- className: spinClass("clock", easing),
240
- d: "M11.1937 2.92061C10.5206 2.49739 9.77304 2.21397 8.9954 2.08314C8.45076 1.99151 8 2.44772 8 3V7.20324C8 7.49211 8.12492 7.76686 8.34259 7.95677L11.8999 11.0603C12.3287 11.4344 12.9913 11.378 13.2643 10.8787C13.6356 10.1998 13.8736 9.45248 13.9617 8.67713C14.0892 7.55433 13.8971 6.41834 13.4074 5.39993C12.9177 4.38152 12.1503 3.5221 11.1937 2.92061Z",
241
- fill: "currentColor"
242
- })]
243
- })] });
244
- }
245
- // src/loaders/comet.tsx
246
- const css$15 = `
247
- .nsaa-loader-comet {
248
- --nsaa-loader-comet-stroke: calc(${SIZE} * 0.12);
249
- position: relative;
250
- }
251
-
252
- .nsaa-loader-comet-spin {
253
- position: absolute;
254
- inset: 0;
255
- }
256
-
257
- .nsaa-loader-comet-tail {
258
- position: absolute;
259
- inset: 0;
260
- border-radius: 9999px;
261
- background: conic-gradient(from 0deg, transparent, currentColor);
262
- -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--nsaa-loader-comet-stroke)), #000 0);
263
- mask: radial-gradient(farthest-side, transparent calc(100% - var(--nsaa-loader-comet-stroke)), #000 0);
264
- }
265
-
266
- .nsaa-loader-comet-head {
267
- position: absolute;
268
- top: 0;
269
- left: 50%;
270
- width: var(--nsaa-loader-comet-stroke);
271
- height: var(--nsaa-loader-comet-stroke);
272
- background: currentColor;
273
- border-radius: 9999px;
274
- transform: translateX(-50%);
275
- }
276
-
277
- ${rotationCss("comet")}
278
- `;
279
- function Comet({ easing, ...rest }) {
280
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
281
- name: "comet",
282
- children: css$15
283
- }), /* @__PURE__ */ jsx("div", {
284
- ...spinnerRoot("comet", rest),
285
- children: /* @__PURE__ */ jsxs("div", {
286
- className: spinClass("comet", easing),
287
- children: [/* @__PURE__ */ jsx("div", { className: "nsaa-loader-comet-tail" }), /* @__PURE__ */ jsx("div", { className: "nsaa-loader-comet-head" })]
288
- })
289
- })] });
290
- }
291
- // src/loaders/compass.tsx
292
- const css$14 = `
293
- .nsaa-loader-compass-ticks {
294
- transform-origin: center;
295
- ${animation("compass", "nsaa-loader-compass-turn", "ease-in-out")}
296
- }
297
-
298
- @keyframes nsaa-loader-compass-turn {
299
- to {
300
- transform: rotate(90deg);
301
- }
302
- }
303
- `;
304
- function Compass(props) {
305
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
306
- name: "compass",
307
- children: css$14
308
- }), /* @__PURE__ */ jsx("svg", {
309
- ...spinnerRoot("compass", props),
310
- fill: "none",
311
- role: "presentation",
312
- viewBox: "0 0 16 16",
313
- children: /* @__PURE__ */ jsxs("g", {
314
- className: "nsaa-loader-compass-ticks",
315
- fill: "currentColor",
316
- children: [
317
- /* @__PURE__ */ jsx("path", { d: "M7.33334 0.666667C7.33334 0.298477 7.63181 0 8 0C8.36819 0 8.66667 0.298477 8.66667 0.666667V3.33333C8.66667 3.70152 8.36819 4 8 4C7.63181 4 7.33334 3.70152 7.33334 3.33333V0.666667Z" }),
318
- /* @__PURE__ */ jsx("path", { d: "M12.6667 8.66667C12.2985 8.66667 12 8.3682 12 8.00001C12 7.63182 12.2985 7.33334 12.6667 7.33334H15.3333C15.7015 7.33334 16 7.63182 16 8.00001C16 8.3682 15.7015 8.66667 15.3333 8.66667H12.6667Z" }),
319
- /* @__PURE__ */ jsx("path", { d: "M7.33333 12.6667C7.33333 12.2985 7.63181 12 8 12C8.36819 12 8.66667 12.2985 8.66667 12.6667V15.3333C8.66667 15.7015 8.36819 16 8 16C7.63181 16 7.33333 15.7015 7.33333 15.3333V12.6667Z" }),
320
- /* @__PURE__ */ jsx("path", { d: "M0.666667 8.66667C0.298477 8.66667 1.60941e-08 8.3682 0 8.00001C-1.60941e-08 7.63182 0.298477 7.33334 0.666667 7.33334H3.33333C3.70152 7.33334 4 7.63182 4 8.00001C4 8.3682 3.70152 8.66667 3.33333 8.66667H0.666667Z" })
321
- ]
322
- })
323
- })] });
324
- }
325
- // src/loaders/dual.tsx
326
- const css$13 = `
327
- ${rotationCss("dual")}
328
-
329
- .nsaa-loader-dual-inner {
330
- animation-direction: reverse;
331
- }
332
-
333
- ${reducedMotion(`
334
- .nsaa-loader-dual-inner {
335
- transform: rotate(180deg);
336
- }
337
- `)}
338
- `;
339
- function Dual({ cap, easing, ...rest }) {
340
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
341
- name: "dual",
342
- children: css$13
343
- }), /* @__PURE__ */ jsxs("svg", {
344
- ...spinnerRoot("dual", rest),
345
- fill: "none",
346
- role: "presentation",
347
- stroke: "currentColor",
348
- strokeLinecap: linecap(cap),
349
- strokeWidth: "2.5",
350
- viewBox: "0 0 24 24",
351
- children: [/* @__PURE__ */ jsx("circle", {
352
- className: spinClass("dual", easing),
353
- cx: "12",
354
- cy: "12",
355
- r: "10",
356
- strokeDasharray: "18 44.8"
357
- }), /* @__PURE__ */ jsx("circle", {
358
- className: `nsaa-loader-dual-inner ${spinClass("dual", easing)}`,
359
- cx: "12",
360
- cy: "12",
361
- r: "5.5",
362
- strokeDasharray: "10 24.6"
363
- })]
364
- })] });
365
- }
366
- // src/loaders/eclipse.tsx
367
- const DOTS$2 = [0, 1];
368
- const css$12 = `
369
- .nsaa-loader-eclipse {
370
- position: relative;
371
- }
372
-
373
- .nsaa-loader-eclipse-dot {
374
- position: absolute;
375
- top: 30%;
376
- left: 30%;
377
- width: 40%;
378
- height: 40%;
379
- background: currentColor;
380
- border-radius: 50%;
381
- ${animation("eclipse", ["nsaa-loader-eclipse-slide", "nsaa-loader-eclipse-depth"], "ease-in-out")}
382
- animation-delay: ${stagger("eclipse", DOTS$2.length)};
383
- }
384
-
385
- @keyframes nsaa-loader-eclipse-slide {
386
- 0%,
387
- 100% {
388
- translate: 75% 0;
389
- }
390
- 50% {
391
- translate: -75% 0;
392
- }
393
- }
394
-
395
- @keyframes nsaa-loader-eclipse-depth {
396
- 0%,
397
- 50%,
398
- 100% {
399
- opacity: 0.75;
400
- scale: 1;
401
- }
402
- 25% {
403
- opacity: 1;
404
- scale: 1.3;
405
- }
406
- 75% {
407
- opacity: 0.5;
408
- scale: 0.7;
409
- }
410
- }
411
-
412
- ${reducedMotion(`
413
- .nsaa-loader-eclipse-dot {
414
- translate: calc(var(${STEP_VAR}) * 150% - 75%) 0;
415
- }
416
- `)}
417
- `;
418
- function Eclipse(props) {
419
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
420
- name: "eclipse",
421
- children: css$12
422
- }), /* @__PURE__ */ jsx("div", {
423
- ...spinnerRoot("eclipse", props),
424
- children: DOTS$2.map((index) => /* @__PURE__ */ jsx("div", {
425
- className: "nsaa-loader-eclipse-dot",
426
- style: step(index)
427
- }, index))
428
- })] });
429
- }
430
- // src/loaders/flip.tsx
431
- const css$11 = `
432
- .nsaa-loader-flip {
433
- perspective: calc(${SIZE} * 3);
434
- }
435
-
436
- .nsaa-loader-flip-face {
437
- width: 64%;
438
- height: 64%;
439
- margin: 18%;
440
- background: currentColor;
441
- border-radius: calc(${SIZE} * 0.06);
442
- ${animation("flip", "nsaa-loader-flip-turn", "ease-in-out")}
443
- }
444
-
445
- @keyframes nsaa-loader-flip-turn {
446
- 0% {
447
- transform: rotateX(0) rotateY(0);
448
- }
449
- 50% {
450
- transform: rotateX(-180deg) rotateY(0);
451
- }
452
- 100% {
453
- transform: rotateX(-180deg) rotateY(-180deg);
454
- }
455
- }
456
- `;
457
- function Flip(props) {
458
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
459
- name: "flip",
460
- children: css$11
461
- }), /* @__PURE__ */ jsx("div", {
462
- ...spinnerRoot("flip", props),
463
- children: /* @__PURE__ */ jsx("div", { className: "nsaa-loader-flip-face" })
464
- })] });
465
- }
466
- // src/loaders/gather.tsx
467
- const BLOCKS = [
468
- {
469
- x: 1,
470
- y: 1
471
- },
472
- {
473
- x: -1,
474
- y: 1
475
- },
476
- {
477
- x: 1,
478
- y: -1
479
- },
480
- {
481
- x: -1,
482
- y: -1
483
- }
484
- ];
485
- const GAP = 24;
486
- const PULL = `${(8 / 38 * 100).toFixed(1)}%`;
487
- const css$10 = `
488
- .nsaa-loader-gather-group {
489
- display: grid;
490
- grid-template-columns: 1fr 1fr;
491
- gap: ${GAP}%;
492
- width: 100%;
493
- height: 100%;
494
- ${animation("gather", "nsaa-loader-gather-turn", "ease-in-out")}
495
- }
496
-
497
- .nsaa-loader-gather-block {
498
- background: currentColor;
499
- border-radius: calc(${SIZE} * 0.14);
500
- ${animation("gather", "nsaa-loader-gather-pull", "ease-in-out")}
501
- }
502
-
503
- @keyframes nsaa-loader-gather-pull {
504
- 0%,
505
- 100% {
506
- transform: translate(0, 0);
507
- }
508
- 30%,
509
- 60% {
510
- transform: translate(
511
- calc(var(--nsaa-loader-gather-x) * ${PULL}),
512
- calc(var(--nsaa-loader-gather-y) * ${PULL})
513
- );
514
- }
515
- }
516
-
517
- @keyframes nsaa-loader-gather-turn {
518
- 0%,
519
- 30% {
520
- transform: rotate(0);
521
- }
522
- 60%,
523
- 100% {
524
- transform: rotate(90deg);
525
- }
526
- }
527
- `;
528
- function Gather(props) {
529
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
530
- name: "gather",
531
- children: css$10
532
- }), /* @__PURE__ */ jsx("div", {
533
- ...spinnerRoot("gather", props),
534
- children: /* @__PURE__ */ jsx("div", {
535
- className: "nsaa-loader-gather-group",
536
- children: BLOCKS.map(({ x, y }) => /* @__PURE__ */ jsx("div", {
537
- className: "nsaa-loader-gather-block",
538
- style: cssVars({
539
- "--nsaa-loader-gather-x": x,
540
- "--nsaa-loader-gather-y": y
541
- })
542
- }, `${x}${y}`))
543
- })
544
- })] });
545
- }
546
- // src/loaders/leap.tsx
547
- const DOTS$1 = Array.from({ length: 3 }, (_, index) => index);
548
- const css$9 = `
549
- .nsaa-loader-leap {
550
- --nsaa-loader-leap-dot: round(calc(${SIZE} * 0.22), 1px);
551
- --nsaa-loader-leap-gap: round(down, calc((${SIZE} - var(--nsaa-loader-leap-dot)) / 2), 1px);
552
- position: relative;
553
- }
554
-
555
- .nsaa-loader-leap-wrapper {
556
- position: absolute;
557
- top: round(calc((${SIZE} - var(--nsaa-loader-leap-dot)) / 2), 1px);
558
- left: calc(${SIZE} - var(--nsaa-loader-leap-dot) - var(--nsaa-loader-leap-gap) * 2);
559
- width: calc(var(--nsaa-loader-leap-gap) * 2 + var(--nsaa-loader-leap-dot));
560
- height: var(--nsaa-loader-leap-dot);
561
- ${animation("leap", "nsaa-loader-leap-hop", "ease-in-out")}
562
- animation-delay: ${stagger("leap", DOTS$1.length)};
563
- }
564
-
565
- .nsaa-loader-leap-dot {
566
- position: absolute;
567
- inset: 0 auto 0 0;
568
- width: var(--nsaa-loader-leap-dot);
569
- background: currentColor;
570
- border-radius: 50%;
571
- }
572
-
573
- @keyframes nsaa-loader-leap-hop {
574
- 0% {
575
- transform: translateX(0) rotate(0);
576
- }
577
- 33.33% {
578
- transform: translateX(0) rotate(180deg);
579
- }
580
- 66.66% {
581
- transform: translateX(calc(var(--nsaa-loader-leap-gap) * -1)) rotate(180deg);
582
- }
583
- 100% {
584
- transform: translateX(calc(var(--nsaa-loader-leap-gap) * -2)) rotate(180deg);
585
- }
586
- }
587
-
588
- ${reducedMotion(`
589
- .nsaa-loader-leap-wrapper {
590
- transform: translateX(calc(var(${STEP_VAR}) * var(--nsaa-loader-leap-gap)));
591
- }
592
- `)}
593
- `;
594
- function Leap(props) {
595
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
596
- name: "leap",
597
- children: css$9
598
- }), /* @__PURE__ */ createElement("div", {
599
- ...spinnerRoot("leap", props),
600
- key: props.size
601
- }, DOTS$1.map((index) => /* @__PURE__ */ jsx("div", {
602
- className: "nsaa-loader-leap-wrapper",
603
- style: step(index),
604
- children: /* @__PURE__ */ jsx("div", { className: "nsaa-loader-leap-dot" })
605
- }, index)))] });
606
- }
607
- // src/loaders/linear-dots.tsx
608
- const DOTS = Array.from({ length: 3 }, (_, index) => index);
609
- const css$8 = `
610
- .nsaa-loader-linear-dots {
611
- display: flex;
612
- align-items: center;
613
- gap: calc(${SIZE} * 0.1875);
614
- width: auto;
615
- }
616
-
617
- .nsaa-loader-linear-dots-dot {
618
- width: calc(${SIZE} * 0.1875);
619
- height: calc(${SIZE} * 0.1875);
620
- background: currentColor;
621
- border-radius: 9999px;
622
- ${animation("linear-dots", "nsaa-loader-linear-dots-fade", "linear")}
623
- animation-delay: ${stagger("linear-dots", DOTS.length)};
624
- }
625
-
626
- @keyframes nsaa-loader-linear-dots-fade {
627
- 0% {
628
- opacity: 1;
629
- }
630
- 66.67% {
631
- opacity: 0.5;
632
- }
633
- 100% {
634
- opacity: 1;
635
- }
636
- }
637
-
638
- ${reducedMotion(`
639
- .nsaa-loader-linear-dots-dot {
640
- opacity: 0.75;
641
- }
642
- `)}
643
- `;
644
- function LinearDots(props) {
645
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
646
- name: "linear-dots",
647
- children: css$8
648
- }), /* @__PURE__ */ jsx("div", {
649
- ...spinnerRoot("linear-dots", props),
650
- children: DOTS.map((dot) => /* @__PURE__ */ jsx("div", {
651
- className: "nsaa-loader-linear-dots-dot",
652
- style: step(dot)
653
- }, dot))
654
- })] });
655
- }
656
- // src/loaders/loading.tsx
657
- const BLOCK = "M0 0h1v1H0zM2 0h1v1H2zM0 2h1v1H0zM2 2h1v1H2z";
658
- const SEGMENTS = [
659
- {
660
- x: 12,
661
- y: 6
662
- },
663
- {
664
- x: 10,
665
- y: 10
666
- },
667
- {
668
- x: 6,
669
- y: 12
670
- },
671
- {
672
- x: 2,
673
- y: 10
674
- },
675
- {
676
- x: 0,
677
- y: 6
678
- },
679
- {
680
- x: 2,
681
- y: 2
682
- },
683
- {
684
- x: 6,
685
- y: 0
686
- },
687
- {
688
- x: 10,
689
- y: 2
690
- }
691
- ];
692
- const css$7 = `
693
- ${fadeCss("loading", "segment", SEGMENTS.length, {
694
- dim: .2,
695
- rest: .6
696
- })}
697
- `;
698
- function Loading(props) {
699
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
700
- name: "loading",
701
- children: css$7
702
- }), /* @__PURE__ */ jsx("svg", {
703
- ...spinnerRoot("loading", props),
704
- fill: "currentColor",
705
- role: "presentation",
706
- viewBox: "0 0 15 15",
707
- children: SEGMENTS.map(({ x, y }, segment) => /* @__PURE__ */ jsx("path", {
708
- className: "nsaa-loader-loading-segment",
709
- d: BLOCK,
710
- style: step(segment),
711
- transform: `translate(${x} ${y})`
712
- }, `${x}-${y}`))
713
- })] });
714
- }
715
- // src/loaders/morph.tsx
716
- const css$6 = `
717
- .nsaa-loader-morph-shape {
718
- width: 64%;
719
- height: 64%;
720
- margin: 18%;
721
- background: currentColor;
722
- border-radius: calc(${SIZE} * 0.08);
723
- ${animation("morph", "nsaa-loader-morph-round", "ease-in-out")}
724
- }
725
-
726
- @keyframes nsaa-loader-morph-round {
727
- 0% {
728
- border-radius: calc(${SIZE} * 0.08);
729
- transform: rotate(0);
730
- }
731
- 50% {
732
- border-radius: 50%;
733
- transform: rotate(45deg);
734
- }
735
- 100% {
736
- border-radius: calc(${SIZE} * 0.08);
737
- transform: rotate(90deg);
738
- }
739
- }
740
- `;
741
- function Morph(props) {
742
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
743
- name: "morph",
744
- children: css$6
745
- }), /* @__PURE__ */ jsx("div", {
746
- ...spinnerRoot("morph", props),
747
- children: /* @__PURE__ */ jsx("div", { className: "nsaa-loader-morph-shape" })
748
- })] });
749
- }
750
- // src/loaders/radar.tsx
751
- const css$5 = `
752
- ${rotationCss("radar")}
753
- `;
754
- function Radar({ easing, ...rest }) {
755
- const beamGradient = useId();
756
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
757
- name: "radar",
758
- children: css$5
759
- }), /* @__PURE__ */ jsxs("svg", {
760
- ...spinnerRoot("radar", rest),
761
- fill: "none",
762
- role: "presentation",
763
- viewBox: "0 0 16 16",
764
- children: [
765
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("radialGradient", {
766
- cx: "8",
767
- cy: "8",
768
- gradientUnits: "userSpaceOnUse",
769
- id: beamGradient,
770
- r: "8",
771
- children: [/* @__PURE__ */ jsx("stop", {
772
- offset: "0.3334",
773
- stopColor: "currentColor"
774
- }), /* @__PURE__ */ jsx("stop", {
775
- offset: "1",
776
- stopColor: "currentColor",
777
- stopOpacity: "0"
778
- })]
779
- }) }),
780
- /* @__PURE__ */ jsx("circle", {
781
- cx: "8",
782
- cy: "8",
783
- fill: "currentColor",
784
- opacity: "0.2",
785
- r: "8"
786
- }),
787
- /* @__PURE__ */ jsx("circle", {
788
- cx: "8",
789
- cy: "8",
790
- opacity: "0.2",
791
- r: "5.5",
792
- stroke: "currentColor"
793
- }),
794
- /* @__PURE__ */ jsx("path", {
795
- className: spinClass("radar", easing),
796
- d: "M8 0C9.50657 0 10.9824 0.425672 12.2578 1.22754C13.5333 2.02953 14.557 3.17533 15.21 4.5332C15.8629 5.89107 16.1193 7.40626 15.9492 8.90332C15.7791 10.4001 15.1896 11.8184 14.249 12.9951L10.4707 9.69922C10.8037 9.21598 11 8.63123 11 8C11 6.34315 9.65685 5 8 5V0Z",
797
- fill: `url(#${beamGradient})`
798
- }),
799
- /* @__PURE__ */ jsx("circle", {
800
- cx: "8",
801
- cy: "8",
802
- fill: "currentColor",
803
- r: "2"
804
- })
805
- ]
806
- })] });
807
- }
808
- // src/loaders/ripple.tsx
809
- const DEFAULT_RIPPLE_DIRECTION = "out";
810
- const RINGS = Array.from({ length: 3 }, (_, index) => index);
811
- const css$4 = `
812
- .nsaa-loader-ripple {
813
- position: relative;
814
- }
815
-
816
- .nsaa-loader-ripple-ring {
817
- position: absolute;
818
- inset: 0;
819
- box-sizing: border-box;
820
- border: calc(${SIZE} * 0.08) solid currentColor;
821
- border-radius: 9999px;
822
- ${animation("ripple", "nsaa-loader-ripple-spread", "ease-out")}
823
- animation-delay: ${stagger("ripple", RINGS.length)};
824
- }
825
-
826
- .nsaa-loader-ripple-ring-in {
827
- animation-direction: reverse;
828
- }
829
-
830
- @keyframes nsaa-loader-ripple-spread {
831
- from {
832
- opacity: 1;
833
- transform: scale(0);
834
- }
835
- to {
836
- opacity: 0;
837
- transform: scale(1);
838
- }
839
- }
840
-
841
- ${reducedMotion(`
842
- .nsaa-loader-ripple-ring {
843
- opacity: 0.4;
844
- transform: scale(calc((var(${STEP_VAR}) + 1) / ${RINGS.length}));
845
- }
846
- `)}
847
- `;
848
- function Ripple({ direction = "out", ...rest }) {
849
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
850
- name: "ripple",
851
- children: css$4
852
- }), /* @__PURE__ */ jsx("div", {
853
- ...spinnerRoot("ripple", rest),
854
- children: RINGS.map((index) => /* @__PURE__ */ jsx("div", {
855
- className: `nsaa-loader-ripple-ring nsaa-loader-ripple-ring-${direction}`,
856
- style: step(index)
857
- }, index))
858
- })] });
859
- }
860
- // src/loaders/slide.tsx
861
- const DOT = 34;
862
- const MARGIN = 6;
863
- const FAR = `${(54 / DOT * 100).toFixed(1)}%`;
864
- const RESTS = [
865
- `translate(${FAR}, 0)`,
866
- "translate(0, 0)",
867
- `translate(0, ${FAR})`
868
- ];
869
- const css$3 = `
870
- .nsaa-loader-slide {
871
- position: relative;
872
- }
873
-
874
- .nsaa-loader-slide-dot {
875
- position: absolute;
876
- top: ${MARGIN}%;
877
- left: ${MARGIN}%;
878
- width: ${DOT}%;
879
- height: ${DOT}%;
880
- background: currentColor;
881
- border-radius: 50%;
882
- ${animation("slide", "nsaa-loader-slide-walk", "ease-in-out")}
883
- animation-delay: ${stagger("slide", RESTS.length)};
884
- }
885
-
886
- @keyframes nsaa-loader-slide-walk {
887
- 0% {
888
- transform: translate(${FAR}, 0);
889
- }
890
- 8.33%,
891
- 25% {
892
- transform: translate(${FAR}, ${FAR});
893
- }
894
- 33.33%,
895
- 50% {
896
- transform: translate(0, ${FAR});
897
- }
898
- 58.33%,
899
- 75% {
900
- transform: translate(0, 0);
901
- }
902
- 83.33%,
903
- 100% {
904
- transform: translate(${FAR}, 0);
905
- }
906
- }
907
-
908
- ${reducedMotion(`
909
- .nsaa-loader-slide-dot {
910
- transform: var(--nsaa-loader-slide-rest);
911
- }
912
- `)}
913
- `;
914
- function Slide(props) {
915
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
916
- name: "slide",
917
- children: css$3
918
- }), /* @__PURE__ */ jsx("div", {
919
- ...spinnerRoot("slide", props),
920
- children: RESTS.map((rest, index) => /* @__PURE__ */ jsx("div", {
921
- className: "nsaa-loader-slide-dot",
922
- style: cssVars({
923
- ...step(index),
924
- "--nsaa-loader-slide-rest": rest
925
- })
926
- }, rest))
927
- })] });
928
- }
929
- // src/loaders/snake.tsx
930
- const css$2 = `
931
- ${rotationCss("snake")}
932
-
933
- .nsaa-loader-snake-dash {
934
- ${animation("snake", "nsaa-loader-snake-stretch", "ease-in-out")}
935
- }
936
-
937
- @keyframes nsaa-loader-snake-stretch {
938
- 0% {
939
- stroke-dasharray: 1 100;
940
- stroke-dashoffset: 0;
941
- }
942
- 50% {
943
- stroke-dasharray: 45 100;
944
- stroke-dashoffset: -17;
945
- }
946
- 100% {
947
- stroke-dasharray: 45 100;
948
- stroke-dashoffset: -62;
949
- }
950
- }
951
-
952
- ${reducedMotion(`
953
- .nsaa-loader-snake-dash {
954
- stroke-dasharray: 18 100;
955
- }
956
- `)}
957
- `;
958
- function Snake({ cap, easing, ...rest }) {
959
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
960
- name: "snake",
961
- children: css$2
962
- }), /* @__PURE__ */ jsx("svg", {
963
- ...spinnerRoot("snake", rest),
964
- fill: "none",
965
- role: "presentation",
966
- viewBox: "0 0 24 24",
967
- children: /* @__PURE__ */ jsx("g", {
968
- className: spinClass("snake", easing),
969
- children: /* @__PURE__ */ jsx("circle", {
970
- className: "nsaa-loader-snake-dash",
971
- cx: "12",
972
- cy: "12",
973
- r: "10",
974
- stroke: "currentColor",
975
- strokeLinecap: linecap(cap),
976
- strokeWidth: "2.5"
977
- })
978
- })
979
- })] });
980
- }
981
- // src/loaders/swirl.tsx
982
- const RING = [
983
- 0,
984
- 1,
985
- 2,
986
- 7,
987
- null,
988
- 3,
989
- 6,
990
- 5,
991
- 4
992
- ];
993
- const PLACES = RING.filter((place) => place !== null).length;
994
- const css$1 = `
995
- .nsaa-loader-swirl {
996
- display: grid;
997
- grid-template-columns: repeat(3, 1fr);
998
- grid-template-rows: repeat(3, 1fr);
999
- gap: calc(${SIZE} * 0.15625);
1000
- box-sizing: border-box;
1001
- padding: calc(${SIZE} * 0.0625);
1002
- }
1003
-
1004
- .nsaa-loader-swirl-cell {
1005
- background: currentColor;
1006
- border-radius: calc(${SIZE} * 0.0625);
1007
- }
1008
- ${fadeCss("swirl", "cell", PLACES, {
1009
- dim: .2,
1010
- rest: .6
1011
- })}
1012
- `;
1013
- function Swirl(props) {
1014
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
1015
- name: "swirl",
1016
- children: css$1
1017
- }), /* @__PURE__ */ jsx("div", {
1018
- ...spinnerRoot("swirl", props),
1019
- children: RING.map((place, index) => place === null ? /* @__PURE__ */ jsx("div", {}, index) : /* @__PURE__ */ jsx("div", {
1020
- className: "nsaa-loader-swirl-cell",
1021
- style: step(place)
1022
- }, index))
1023
- })] });
1024
- }
1025
- // src/loaders/trace.tsx
1026
- const VIEW = 20;
1027
- const SIDE = 17.5;
1028
- const RADIUS = 4;
1029
- const PERIMETER = 38 + 2 * Math.PI * RADIUS;
1030
- const DASH = 16;
1031
- const RECT = {
1032
- height: SIDE,
1033
- rx: RADIUS,
1034
- width: SIDE,
1035
- x: 2.5 / 2,
1036
- y: 2.5 / 2
1037
- };
1038
- const css = `
1039
- ${rotationCss("trace", `to {
1040
- stroke-dashoffset: ${-PERIMETER};
1041
- }`)}
1042
- `;
1043
- function Trace({ cap, easing, ...rest }) {
1044
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SpinnerStyle, {
1045
- name: "trace",
1046
- children: css
1047
- }), /* @__PURE__ */ jsxs("svg", {
1048
- ...spinnerRoot("trace", rest),
1049
- fill: "none",
1050
- role: "presentation",
1051
- stroke: "currentColor",
1052
- strokeWidth: "2.5",
1053
- viewBox: `0 0 ${VIEW} ${VIEW}`,
1054
- children: [/* @__PURE__ */ jsx("rect", {
1055
- ...RECT,
1056
- opacity: "0.2"
1057
- }), /* @__PURE__ */ jsx("rect", {
1058
- ...RECT,
1059
- className: spinClass("trace", easing),
1060
- strokeDasharray: `${DASH} ${PERIMETER - DASH}`,
1061
- strokeLinecap: linecap(cap)
1062
- })]
1063
- })] });
1064
- }
1065
- // src/loaders/spinners.ts
1066
- const SPINNERS = {
1067
- arc: Arc,
1068
- atom: Atom,
1069
- blocks: Blocks,
1070
- "bouncing-dots": BouncingDots,
1071
- cascade: Cascade,
1072
- "circular-dots": CircularDots,
1073
- classic: Classic,
1074
- "classic-v2": ClassicV2,
1075
- clock: Clock,
1076
- comet: Comet,
1077
- compass: Compass,
1078
- dual: Dual,
1079
- eclipse: Eclipse,
1080
- flip: Flip,
1081
- gather: Gather,
1082
- leap: Leap,
1083
- "linear-dots": LinearDots,
1084
- loading: Loading,
1085
- morph: Morph,
1086
- orbit: Orbit,
1087
- pulse: Pulse,
1088
- radar: Radar,
1089
- ring: Ring,
1090
- ripple: Ripple,
1091
- slide: Slide,
1092
- snake: Snake,
1093
- swirl: Swirl,
1094
- trace: Trace,
1095
- wave: Wave
1096
- };
1097
- export { Arc, Atom, Blocks, BouncingDots, Cascade, CircularDots, Classic, ClassicV2, Clock, Comet, Compass, DEFAULT_BLOCKS_SWEEP, DEFAULT_CAP, DEFAULT_EASING, DEFAULT_RIPPLE_DIRECTION, DEFAULT_WAVE_ORIGIN, DURATION_VAR, Dual, Eclipse, Flip, Gather, SPINNERS as LOADERS, SPINNERS, Leap, LinearDots, Loading, Morph, Orbit, PLAY_STATE_VAR, Pulse, Radar, Ring, Ripple, SPINNER_MOTION, Slide, Snake, Swirl, Trace, Wave, registerLoader, registerLoaders };
2
+ import { DEFAULT_CAP } from "./loaders/cap.js";
3
+ import { DURATION_VAR, PLAY_STATE_VAR, SPINNER_MOTION } from "./loaders/motion.js";
4
+ import { DEFAULT_EASING } from "./loaders/easing.js";
5
+ import { Arc } from "./loaders/arc.js";
6
+ import { BouncingDots } from "./loaders/bouncing-dots.js";
7
+ import { CircularDots } from "./loaders/circular-dots.js";
8
+ import { Classic } from "./loaders/classic.js";
9
+ import { Orbit } from "./loaders/orbit.js";
10
+ import { Pulse } from "./loaders/pulse.js";
11
+ import { Ring } from "./loaders/ring.js";
12
+ import { DEFAULT_WAVE_ORIGIN, Wave } from "./loaders/wave.js";
13
+ import { registerLoader, registerLoaders } from "./spinner/registry.js";
14
+ import { Atom } from "./loaders/atom.js";
15
+ import { Blocks, DEFAULT_BLOCKS_SWEEP } from "./loaders/blocks.js";
16
+ import { Cascade } from "./loaders/cascade.js";
17
+ import { ClassicV2 } from "./loaders/classic-v2.js";
18
+ import { Clock } from "./loaders/clock.js";
19
+ import { Comet } from "./loaders/comet.js";
20
+ import { Compass } from "./loaders/compass.js";
21
+ import { Dual } from "./loaders/dual.js";
22
+ import { Eclipse } from "./loaders/eclipse.js";
23
+ import { Flip } from "./loaders/flip.js";
24
+ import { Gather } from "./loaders/gather.js";
25
+ import { Leap } from "./loaders/leap.js";
26
+ import { LinearDots } from "./loaders/linear-dots.js";
27
+ import { Loading } from "./loaders/loading.js";
28
+ import { Morph } from "./loaders/morph.js";
29
+ import { Radar } from "./loaders/radar.js";
30
+ import { DEFAULT_RIPPLE_DIRECTION, Ripple } from "./loaders/ripple.js";
31
+ import { Slide } from "./loaders/slide.js";
32
+ import { Snake } from "./loaders/snake.js";
33
+ import { Swirl } from "./loaders/swirl.js";
34
+ import { Trace } from "./loaders/trace.js";
35
+ import { SPINNERS } from "./loaders/spinners.js";
36
+ export { Arc, Atom, Blocks, BouncingDots, Cascade, CircularDots, Classic, ClassicV2, Clock, Comet, Compass, DEFAULT_BLOCKS_SWEEP, DEFAULT_CAP, DEFAULT_EASING, DEFAULT_RIPPLE_DIRECTION, DEFAULT_WAVE_ORIGIN, DURATION_VAR, Dual, Eclipse, Flip, Gather, SPINNERS as LOADERS, Leap, LinearDots, Loading, Morph, Orbit, PLAY_STATE_VAR, Pulse, Radar, Ring, Ripple, SPINNERS, SPINNER_MOTION, Slide, Snake, Swirl, Trace, Wave, registerLoader, registerLoaders };