@neo-ui-kit/react 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +203 -2
  3. package/dist/artwork/icons.json.d.ts +2 -0
  4. package/dist/artwork/illustrations.json.d.ts +2 -0
  5. package/dist/chunks/chunk-347P6ZE4.js +104 -0
  6. package/dist/chunks/chunk-BJSFN52W.js +417 -0
  7. package/dist/chunks/chunk-FCOU3ODR.js +63 -0
  8. package/dist/chunks/chunk-JZ4GDTH5.js +87 -0
  9. package/dist/chunks/chunk-UGDRXR7P.js +3362 -0
  10. package/dist/chunks/chunk-VK6GHRLV.js +335 -0
  11. package/dist/chunks/chunk-YKCUOZ7V.js +777 -0
  12. package/dist/components/artwork/DatabaseArt/DatabaseArt.d.ts +6 -0
  13. package/dist/components/artwork/DatabaseArt/styles.css +58 -0
  14. package/dist/components/artwork/Landscape/Landscape.d.ts +7 -0
  15. package/dist/components/artwork/Landscape/styles.css +79 -0
  16. package/dist/components/artwork/NeonWaves/NeonWaves.d.ts +15 -0
  17. package/dist/components/artwork/NeonWaves/styles.css +48 -0
  18. package/dist/components/artwork/Planet/Planet.d.ts +4 -0
  19. package/dist/components/artwork/Planet/styles.css +52 -0
  20. package/dist/components/artwork/QuantumField/QuantumField.d.ts +42 -0
  21. package/dist/components/artwork/QuantumField/QuantumFieldExperience.d.ts +22 -0
  22. package/dist/components/artwork/QuantumField/UPSTREAM-LICENSE.txt +21 -0
  23. package/dist/components/artwork/QuantumField/audio.d.ts +15 -0
  24. package/dist/components/artwork/QuantumField/renderer.d.ts +24 -0
  25. package/dist/components/artwork/QuantumField/styles.css +77 -0
  26. package/dist/components/artwork/ServerArt/ServerArt.d.ts +8 -0
  27. package/dist/components/artwork/ServerArt/styles.css +43 -0
  28. package/dist/components/artwork/Spectrum/Spectrum.d.ts +7 -0
  29. package/dist/components/artwork/Spectrum/styles.css +35 -0
  30. package/dist/components/artwork/layers.d.ts +15 -0
  31. package/dist/components/artwork/useArtwork.d.ts +8 -0
  32. package/dist/components/controls/Autocomplete/Autocomplete.d.ts +2 -0
  33. package/dist/components/controls/Autocomplete/styles.css +1 -0
  34. package/dist/components/controls/Button/Button.d.ts +2 -0
  35. package/dist/components/controls/Button/styles.css +1 -0
  36. package/dist/components/controls/Checkbox/Checkbox.d.ts +2 -0
  37. package/dist/components/controls/Checkbox/styles.css +70 -0
  38. package/dist/components/controls/Chip/Chip.d.ts +21 -0
  39. package/dist/components/controls/Chip/styles.css +74 -0
  40. package/dist/components/controls/ChipField.d.ts +25 -0
  41. package/dist/components/controls/ColorPicker/ColorPicker.d.ts +16 -0
  42. package/dist/components/controls/ColorPicker/color.d.ts +9 -0
  43. package/dist/components/controls/ColorPicker/styles.css +103 -0
  44. package/dist/components/controls/DatePicker/DatePicker.d.ts +19 -0
  45. package/dist/components/controls/DatePicker/styles.css +69 -0
  46. package/dist/components/controls/FilePicker/FilePicker.d.ts +2 -0
  47. package/dist/components/controls/FilePicker/styles.css +149 -0
  48. package/dist/components/controls/IconButton/IconButton.d.ts +2 -0
  49. package/dist/components/controls/IconButton/styles.css +4 -0
  50. package/dist/components/controls/InputBase/InputBase.d.ts +21 -0
  51. package/dist/components/controls/InputBase/styles.css +379 -0
  52. package/dist/components/controls/Link/Link.d.ts +11 -0
  53. package/dist/components/controls/Link/styles.css +50 -0
  54. package/dist/components/controls/NumberField/NumberField.d.ts +2 -0
  55. package/dist/components/controls/NumberField/styles.css +1 -0
  56. package/dist/components/controls/PeoplePicker/PeoplePicker.d.ts +37 -0
  57. package/dist/components/controls/PeoplePicker/styles.css +7 -0
  58. package/dist/components/controls/SegmentedControl/SegmentedControl.d.ts +2 -0
  59. package/dist/components/controls/SegmentedControl/styles.css +9 -0
  60. package/dist/components/controls/Select/Select.d.ts +8 -0
  61. package/dist/components/controls/Select/styles.css +142 -0
  62. package/dist/components/controls/Slider/Slider.d.ts +3 -0
  63. package/dist/components/controls/Slider/styles.css +138 -0
  64. package/dist/components/controls/SplitButton/SplitButton.d.ts +2 -0
  65. package/dist/components/controls/SplitButton/styles.css +169 -0
  66. package/dist/components/controls/Switch/Switch.d.ts +2 -0
  67. package/dist/components/controls/Switch/styles.css +54 -0
  68. package/dist/components/controls/Tab/Tab.d.ts +2 -0
  69. package/dist/components/controls/Tab/styles.css +111 -0
  70. package/dist/components/controls/Tabs/Tabs.d.ts +2 -0
  71. package/dist/components/controls/Tabs/styles.css +239 -0
  72. package/dist/components/controls/TagInput/TagInput.d.ts +24 -0
  73. package/dist/components/controls/TagInput/styles.css +24 -0
  74. package/dist/components/controls/TextArea/TextArea.d.ts +2 -0
  75. package/dist/components/controls/TextArea/styles.css +15 -0
  76. package/dist/components/controls/TextField/TextField.d.ts +2 -0
  77. package/dist/components/controls/ThemePicker/ThemePicker.d.ts +24 -0
  78. package/dist/components/controls/ThemePicker/styles.css +128 -0
  79. package/dist/components/controls/ToggleButton/ToggleButton.d.ts +2 -0
  80. package/dist/components/controls/ToggleButton/styles.css +49 -0
  81. package/dist/components/controls/internal.d.ts +62 -0
  82. package/dist/components/controls/shared.css +694 -0
  83. package/dist/components/controls/shared.d.ts +204 -0
  84. package/dist/components/editor/PianoRoll/PianoRoll.d.ts +65 -0
  85. package/dist/components/editor/PianoRoll/styles.css +186 -0
  86. package/dist/components/editor/shared.css +1 -0
  87. package/dist/components/effects/AnimatedBorder/AnimatedBorder.d.ts +9 -0
  88. package/dist/components/effects/AnimatedBorder/styles.css +7 -0
  89. package/dist/components/effects/Beacon/Beacon.d.ts +9 -0
  90. package/dist/components/effects/Beacon/styles.css +38 -0
  91. package/dist/components/effects/Equalizer/Equalizer.d.ts +14 -0
  92. package/dist/components/effects/Equalizer/styles.css +38 -0
  93. package/dist/components/effects/GlowText/GlowText.d.ts +9 -0
  94. package/dist/components/effects/GlowText/styles.css +56 -0
  95. package/dist/components/effects/ImageShine/ImageShine.d.ts +13 -0
  96. package/dist/components/effects/ImageShine/styles.css +66 -0
  97. package/dist/components/effects/Marquee/Marquee.d.ts +9 -0
  98. package/dist/components/effects/Marquee/styles.css +46 -0
  99. package/dist/components/effects/MelodixText/MelodixText.d.ts +15 -0
  100. package/dist/components/effects/MelodixText/styles.css +28 -0
  101. package/dist/components/effects/Reveal/Reveal.d.ts +13 -0
  102. package/dist/components/effects/Reveal/styles.css +25 -0
  103. package/dist/components/effects/Shimmer/Shimmer.d.ts +10 -0
  104. package/dist/components/effects/Shimmer/styles.css +48 -0
  105. package/dist/components/effects/Sparkles/Sparkles.d.ts +9 -0
  106. package/dist/components/effects/Sparkles/styles.css +28 -0
  107. package/dist/components/effects/Spotlight/Spotlight.d.ts +11 -0
  108. package/dist/components/effects/Spotlight/styles.css +45 -0
  109. package/dist/components/effects/Tilt/Tilt.d.ts +11 -0
  110. package/dist/components/effects/Tilt/styles.css +67 -0
  111. package/dist/components/feedback/Badge/Badge.d.ts +3 -0
  112. package/dist/components/feedback/Badge/styles.css +91 -0
  113. package/dist/components/feedback/CollapsibleSection/CollapsibleSection.d.ts +2 -0
  114. package/dist/components/feedback/CollapsibleSection/styles.css +76 -0
  115. package/dist/components/feedback/DataTable/DataTable.d.ts +16 -0
  116. package/dist/components/feedback/DataTable/styles.css +522 -0
  117. package/dist/components/feedback/Dialog/Dialog.d.ts +2 -0
  118. package/dist/components/feedback/Dialog/styles.css +82 -0
  119. package/dist/components/feedback/EmptyState/EmptyState.d.ts +2 -0
  120. package/dist/components/feedback/EmptyState/styles.css +80 -0
  121. package/dist/components/feedback/KeyValueList/KeyValueList.d.ts +2 -0
  122. package/dist/components/feedback/KeyValueList/styles.css +51 -0
  123. package/dist/components/feedback/Menu/Menu.d.ts +2 -0
  124. package/dist/components/feedback/Menu/styles.css +123 -0
  125. package/dist/components/feedback/MenuItem/MenuItem.d.ts +2 -0
  126. package/dist/components/feedback/MenuItem/styles.css +71 -0
  127. package/dist/components/feedback/MessageBar/MessageBar.d.ts +2 -0
  128. package/dist/components/feedback/MessageBar/styles.css +116 -0
  129. package/dist/components/feedback/Popover/Popover.d.ts +2 -0
  130. package/dist/components/feedback/Popover/styles.css +44 -0
  131. package/dist/components/feedback/ProgressBar/ProgressBar.d.ts +2 -0
  132. package/dist/components/feedback/ProgressBar/styles.css +76 -0
  133. package/dist/components/feedback/SignalBars/SignalBars.d.ts +11 -0
  134. package/dist/components/feedback/SignalBars/styles.css +31 -0
  135. package/dist/components/feedback/StatusIndicator/StatusIndicator.d.ts +2 -0
  136. package/dist/components/feedback/StatusIndicator/styles.css +88 -0
  137. package/dist/components/feedback/Steps/Steps.d.ts +2 -0
  138. package/dist/components/feedback/Steps/styles.css +152 -0
  139. package/dist/components/feedback/Toast/Toast.d.ts +2 -0
  140. package/dist/components/feedback/Toast/styles.css +89 -0
  141. package/dist/components/feedback/Tooltip/Tooltip.d.ts +15 -0
  142. package/dist/components/feedback/Tooltip/styles.css +38 -0
  143. package/dist/components/feedback/shared.css +22 -0
  144. package/dist/components/feedback/shared.d.ts +231 -0
  145. package/dist/components/forms/Form/Form.d.ts +35 -0
  146. package/dist/components/forms/Form/styles.css +1 -0
  147. package/dist/components/forms/FormFields/FormFields.d.ts +20 -0
  148. package/dist/components/forms/FormFields/styles.css +72 -0
  149. package/dist/components/foundation/Loader/Loader.d.ts +30 -0
  150. package/dist/components/foundation/LoaderGenerator/LoaderGenerator.d.ts +38 -0
  151. package/dist/components/foundation/LoaderGenerator/styles.css +104 -0
  152. package/dist/components/foundation/ThemeEditor/ThemeEditor.d.ts +15 -0
  153. package/dist/components/foundation/ThemeEditor/styles.css +97 -0
  154. package/dist/components/foundation/ThemeEditor/themeConfig.d.ts +47 -0
  155. package/dist/components/foundation/ThemeProvider/ThemeProvider.d.ts +32 -0
  156. package/dist/components/foundation/ThemeProvider/styles.css +59 -0
  157. package/dist/components/foundation/Typography/Typography.d.ts +17 -0
  158. package/dist/components/foundation/Typography/styles.css +115 -0
  159. package/dist/components/layout/Avatar/Avatar.d.ts +2 -0
  160. package/dist/components/layout/Avatar/HostSeal.d.ts +5 -0
  161. package/dist/components/layout/Avatar/styles.css +166 -0
  162. package/dist/components/layout/BrandMark/BrandMark.d.ts +2 -0
  163. package/dist/components/layout/BrandMark/styles.css +39 -0
  164. package/dist/components/layout/ButtonGroup/ButtonGroup.d.ts +12 -0
  165. package/dist/components/layout/ButtonGroup/styles.css +36 -0
  166. package/dist/components/layout/Card/Card.d.ts +14 -0
  167. package/dist/components/layout/Card/styles.css +37 -0
  168. package/dist/components/layout/DialogActions/DialogActions.d.ts +12 -0
  169. package/dist/components/layout/DialogActions/styles.css +31 -0
  170. package/dist/components/layout/DialogBody/DialogBody.d.ts +12 -0
  171. package/dist/components/layout/DialogBody/styles.css +28 -0
  172. package/dist/components/layout/Divider/Divider.d.ts +2 -0
  173. package/dist/components/layout/Divider/styles.css +58 -0
  174. package/dist/components/layout/FloatingPanel/FloatingPanel.d.ts +15 -0
  175. package/dist/components/layout/FloatingPanel/styles.css +47 -0
  176. package/dist/components/layout/FloatingPanel/useFloatingPanel.d.ts +54 -0
  177. package/dist/components/layout/Grid/Grid.d.ts +24 -0
  178. package/dist/components/layout/Grid/styles.css +90 -0
  179. package/dist/components/layout/Header/Header.d.ts +2 -0
  180. package/dist/components/layout/Header/styles.css +42 -0
  181. package/dist/components/layout/Icon/Icon.d.ts +4 -0
  182. package/dist/components/layout/Icon/styles.css +62 -0
  183. package/dist/components/layout/Illustration/Illustration.d.ts +2 -0
  184. package/dist/components/layout/Illustration/styles.css +104 -0
  185. package/dist/components/layout/ScrollArea/ScrollArea.d.ts +2 -0
  186. package/dist/components/layout/ScrollArea/styles.css +61 -0
  187. package/dist/components/layout/Stack/Stack.d.ts +21 -0
  188. package/dist/components/layout/Stack/styles.css +53 -0
  189. package/dist/components/layout/StatTile/StatTile.d.ts +20 -0
  190. package/dist/components/layout/StatTile/styles.css +90 -0
  191. package/dist/components/layout/TabPanel/TabPanel.d.ts +2 -0
  192. package/dist/components/layout/TabPanel/styles.css +16 -0
  193. package/dist/components/layout/Text/Text.d.ts +2 -0
  194. package/dist/components/layout/Text/styles.css +29 -0
  195. package/dist/components/layout/Toolbar/Toolbar.d.ts +12 -0
  196. package/dist/components/layout/Toolbar/styles.css +7 -0
  197. package/dist/components/layout/shared.css +79 -0
  198. package/dist/components/layout/shared.d.ts +64 -0
  199. package/dist/components/media/AudioPlayer/AudioPlayer.d.ts +2 -0
  200. package/dist/components/media/AudioPlayer/styles.css +86 -0
  201. package/dist/components/media/KaraokeLyrics/KaraokeLyrics.d.ts +25 -0
  202. package/dist/components/media/KaraokeLyrics/styles.css +56 -0
  203. package/dist/components/media/LevelMeter/LevelMeter.d.ts +7 -0
  204. package/dist/components/media/LevelMeter/styles.css +30 -0
  205. package/dist/components/media/MediaCard/MediaCard.d.ts +24 -0
  206. package/dist/components/media/MediaCard/styles.css +108 -0
  207. package/dist/components/media/MelodyRoll/MelodyRoll.d.ts +48 -0
  208. package/dist/components/media/MelodyRoll/styles.css +196 -0
  209. package/dist/components/media/PianoKeyboard/PianoKeyboard.d.ts +24 -0
  210. package/dist/components/media/PianoKeyboard/styles.css +83 -0
  211. package/dist/components/media/RotaryKnob/RotaryKnob.d.ts +3 -0
  212. package/dist/components/media/RotaryKnob/styles.css +319 -0
  213. package/dist/components/media/Sparkline/Sparkline.d.ts +2 -0
  214. package/dist/components/media/Sparkline/styles.css +70 -0
  215. package/dist/components/media/WaveDecoration/WaveDecoration.d.ts +2 -0
  216. package/dist/components/media/WaveDecoration/styles.css +2 -0
  217. package/dist/components/media/Waveform/Waveform.d.ts +9 -0
  218. package/dist/components/media/Waveform/styles.css +375 -0
  219. package/dist/components/media/Waveform/useWaveformPeaks.d.ts +11 -0
  220. package/dist/components/media/shared.css +7 -0
  221. package/dist/components/media/shared.d.ts +80 -0
  222. package/dist/components/navigation/Router/Router.d.ts +32 -0
  223. package/dist/components/navigation/Router/styles.css +1 -0
  224. package/dist/components.css +102 -0
  225. package/dist/core/artwork.d.ts +17 -0
  226. package/dist/core/base.d.ts +65 -0
  227. package/dist/core/environment.d.ts +5 -0
  228. package/dist/core/i18n.d.ts +34 -0
  229. package/dist/core/messages.d.ts +1 -0
  230. package/dist/core/motion/hooks.d.ts +17 -0
  231. package/dist/core/motion-engine.d.ts +13 -0
  232. package/dist/core/noise.d.ts +20 -0
  233. package/dist/core/providers/context.d.ts +4 -0
  234. package/dist/core/responsive.d.ts +13 -0
  235. package/dist/core.d.ts +8 -0
  236. package/dist/core.js +56 -0
  237. package/dist/editor.d.ts +2 -0
  238. package/dist/editor.js +8 -0
  239. package/dist/fonts/melodix/Melodix-100.woff2 +0 -0
  240. package/dist/fonts/melodix/Melodix-200.woff2 +0 -0
  241. package/dist/fonts/melodix/Melodix-300.woff2 +0 -0
  242. package/dist/fonts/melodix/Melodix-400.woff2 +0 -0
  243. package/dist/fonts/melodix/Melodix-500.woff2 +0 -0
  244. package/dist/fonts/melodix/Melodix-600.woff2 +0 -0
  245. package/dist/fonts/melodix/Melodix-700.woff2 +0 -0
  246. package/dist/fonts/melodix/Melodix-800.woff2 +0 -0
  247. package/dist/fonts/melodix/Melodix-900.woff2 +0 -0
  248. package/dist/fonts/melodix/MelodixText-100.woff2 +0 -0
  249. package/dist/fonts/melodix/MelodixText-200.woff2 +0 -0
  250. package/dist/fonts/melodix/MelodixText-300.woff2 +0 -0
  251. package/dist/fonts/melodix/MelodixText-400.woff2 +0 -0
  252. package/dist/fonts/melodix/MelodixText-500.woff2 +0 -0
  253. package/dist/fonts/melodix/MelodixText-600.woff2 +0 -0
  254. package/dist/fonts/melodix/MelodixText-700.woff2 +0 -0
  255. package/dist/fonts/melodix/MelodixText-800.woff2 +0 -0
  256. package/dist/fonts/melodix/MelodixText-900.woff2 +0 -0
  257. package/dist/fonts/melodix/OFL-PlayfairDisplay.txt +93 -0
  258. package/dist/fonts/melodix.css +123 -0
  259. package/dist/forms.d.ts +4 -0
  260. package/dist/forms.js +17 -0
  261. package/dist/index.d.ts +163 -0
  262. package/dist/index.js +9683 -0
  263. package/dist/router.d.ts +2 -0
  264. package/dist/router.js +11 -0
  265. package/dist/styles.css +2 -0
  266. package/dist/theme/base.css +221 -0
  267. package/dist/theme/tokens.css +196 -0
  268. package/dist/theme/typography.d.ts +24 -0
  269. package/dist/tokens.css +1 -0
  270. package/package.json +83 -4
@@ -0,0 +1,522 @@
1
+ /* A quiet framed data surface; light accents stay on controls rather than filling cells. */
2
+ .ad-data-table {
3
+ display: grid;
4
+ gap: var(--ad-space-3);
5
+ min-width: 0;
6
+ container: ad-data-table / inline-size;
7
+ font-size: 0.8125rem;
8
+ font-variant-numeric: tabular-nums;
9
+ }
10
+ .ad-data-table-bar {
11
+ display: flex;
12
+ flex-wrap: wrap;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ gap: var(--ad-space-3);
16
+ color: var(--ad-text);
17
+ }
18
+ .ad-data-table-bar > .ad-field {
19
+ flex: 0 1 16rem;
20
+ }
21
+ .ad-data-table-bar > strong {
22
+ margin-inline-end: auto;
23
+ font-size: 0.875rem;
24
+ letter-spacing: 0.01em;
25
+ }
26
+ .ad-data-table-tools {
27
+ display: inline-flex;
28
+ align-items: center;
29
+ gap: 0.25rem;
30
+ padding: 0.15rem;
31
+ border: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.22);
32
+ border-radius: var(--ad-radius-pill);
33
+ background: rgb(from var(--ad-neutral-850) r g b / 0.7);
34
+ }
35
+ .ad-data-table-columns {
36
+ display: grid;
37
+ gap: 0.5rem;
38
+ min-width: 12rem;
39
+ }
40
+ .ad-data-table-scroll {
41
+ overflow: auto;
42
+ border: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.35);
43
+ border-radius: var(--ad-radius);
44
+ background: linear-gradient(155deg, rgb(from var(--ad-primary) r g b / 0.035), transparent 45%), var(--ad-neutral-900);
45
+ box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 0.12), inset 0 0.0625rem 0 rgb(255 255 255 / 0.05);
46
+ scrollbar-width: thin;
47
+ scrollbar-color: var(--ad-primary-700) transparent;
48
+ }
49
+ .ad-data-table table {
50
+ width: 100%;
51
+ table-layout: fixed;
52
+ border-collapse: separate;
53
+ border-spacing: 0;
54
+ text-align: left;
55
+ }
56
+ .ad-data-table thead { position: relative; z-index: 3; }
57
+ .ad-data-table th {
58
+ position: sticky;
59
+ top: 0;
60
+ z-index: 1;
61
+ font-weight: 600;
62
+ color: var(--ad-text);
63
+ white-space: nowrap;
64
+ background: linear-gradient(180deg, var(--ad-neutral-850), var(--ad-neutral-900));
65
+ box-shadow: inset 0 -0.0625rem 0 rgb(from var(--ad-primary) r g b / 0.3);
66
+ }
67
+ .ad-data-table th,
68
+ .ad-data-table td {
69
+ padding: 0.7rem 0.85rem;
70
+ border-bottom: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.13);
71
+ }
72
+ .ad-data-table[data-dense] :is(th, td) {
73
+ padding: 0.35rem 0.6rem;
74
+ }
75
+ .ad-data-table :is(th, td)[data-align="center"] {
76
+ text-align: center;
77
+ }
78
+ .ad-data-table :is(th, td)[data-align="end"] {
79
+ text-align: end;
80
+ }
81
+ .ad-data-table td {
82
+ padding-block: 0.55rem;
83
+ overflow: hidden;
84
+ color: var(--ad-text);
85
+ text-overflow: ellipsis;
86
+ white-space: nowrap;
87
+ transition:
88
+ background 0.25s,
89
+ color 0.25s,
90
+ box-shadow 0.25s;
91
+ }
92
+ .ad-data-table[data-striped] tbody tr:nth-child(even) td {
93
+ background: rgb(from var(--ad-neutral-850) r g b / 0.24);
94
+ }
95
+ .ad-data-table tbody tr:hover td,
96
+ .ad-data-table tbody tr[data-selected] td {
97
+ background: rgb(from var(--ad-primary) r g b / 0.07);
98
+ color: var(--ad-text);
99
+ }
100
+ .ad-data-table tbody tr td:first-child {
101
+ box-shadow: inset 0 0 0 var(--ad-primary);
102
+ }
103
+ .ad-data-table tbody tr:hover td:first-child,
104
+ .ad-data-table tbody tr[data-selected] td:first-child {
105
+ box-shadow: inset 0.1875rem 0 0 var(--ad-primary);
106
+ }
107
+ .ad-data-table tbody tr[data-clickable] {
108
+ cursor: pointer;
109
+ }
110
+ .ad-data-table-check {
111
+ width: 40px;
112
+ }
113
+ .ad-data-table-select-all-label { display: none; }
114
+ .ad-data-table-column-option { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
115
+ .ad-data-table-column-actions { display: inline-flex; gap: 0.1rem; }
116
+ .ad-data-table :is(th, td)[data-pinned] { position: sticky; z-index: 2; background: var(--ad-neutral-900); }
117
+ .ad-data-table th[data-pinned] { z-index: 3; background: var(--ad-neutral-850); }
118
+ .ad-data-table [data-pinned="left"] { box-shadow: inset -0.0625rem 0 rgb(from var(--ad-primary) r g b / 0.2); }
119
+ .ad-data-table [data-pinned="right"] { box-shadow: inset 0.0625rem 0 rgb(from var(--ad-primary) r g b / 0.2); }
120
+ .ad-data-table :is(td.ad-data-table-check, td.ad-data-table-expand, td.ad-data-table-row-number, td.ad-data-table-actions) { background: var(--ad-neutral-900); }
121
+ .ad-data-table tbody tr:is(:hover, [data-selected]) td:is([data-pinned], .ad-data-table-check, .ad-data-table-expand, .ad-data-table-row-number, .ad-data-table-actions) {
122
+ background: linear-gradient(rgb(from var(--ad-primary) r g b / 0.07), rgb(from var(--ad-primary) r g b / 0.07)), var(--ad-neutral-900);
123
+ }
124
+ .ad-data-table :is(.ad-data-table-check, .ad-data-table-expand, .ad-data-table-row-number, .ad-data-table-actions) { padding-inline: 0.3rem; text-align: center; }
125
+ .ad-data-table-row-number { overflow: visible; font-size: 0.7rem; }
126
+ .ad-data-table-expand [data-expanded] .ad-icon { rotate: 180deg; }
127
+ .ad-data-table-sort-priority { display: grid; place-items: center; min-width: 1rem; height: 1rem; border-radius: 50%; background: rgb(from var(--ad-primary) r g b / 0.14); font-size: 0.65rem; color: var(--ad-muted); }
128
+ .ad-data-table tr.ad-data-table-details td { padding: 1rem; white-space: normal; background: rgb(from var(--ad-primary) r g b / 0.035); }
129
+ .ad-data-table tr.ad-data-table-spacer td { padding: 0; border: 0; pointer-events: none; background: none; box-shadow: none; }
130
+ .ad-data-table[data-virtual] .ad-data-table-scroll { overflow-anchor: none; }
131
+ /* Sortable headers: a soft arrow that lights and turns with the direction. */
132
+ .ad-data-table-sort {
133
+ display: inline-flex;
134
+ align-items: center;
135
+ gap: 0.35em;
136
+ padding: 0;
137
+ border: 0;
138
+ background: none;
139
+ color: inherit;
140
+ font: inherit;
141
+ cursor: pointer;
142
+ min-width: 0;
143
+ line-height: 1.35;
144
+ white-space: normal;
145
+ overflow-wrap: anywhere;
146
+ text-align: inherit;
147
+ }
148
+ .ad-data-table-sort > .ad-icon {
149
+ flex: none;
150
+ --ad-icon-size: 0.75rem;
151
+ opacity: 0;
152
+ transition:
153
+ opacity 0.2s,
154
+ rotate 0.3s cubic-bezier(0.34, 1.56, 0.5, 1),
155
+ color 0.2s;
156
+ }
157
+ .ad-data-table-sort:hover > .ad-icon {
158
+ opacity: 0.5;
159
+ }
160
+ .ad-data-table-sort[data-direction] {
161
+ color: var(--ad-text);
162
+ }
163
+ .ad-data-table-sort[data-direction] > .ad-icon {
164
+ opacity: 1;
165
+ color: var(--ad-secondary);
166
+ }
167
+ .ad-data-table-sort[data-direction="asc"] > .ad-icon {
168
+ rotate: 180deg;
169
+ }
170
+ .ad-data-table-empty {
171
+ padding: 2rem 0.8rem !important;
172
+ text-align: center;
173
+ color: var(--ad-muted) !important;
174
+ }
175
+ /* Loading: shimmering bars in place of cells. */
176
+ .ad-data-table-loading td > i {
177
+ position: relative;
178
+ display: block;
179
+ height: 0.6rem;
180
+ overflow: hidden;
181
+ border-radius: 999rem;
182
+ background: rgb(from var(--ad-neutral-700) r g b / 0.5);
183
+ }
184
+ /* The sweep: two periods of the light side by side, slid one period on its own layer. */
185
+ .ad-data-table-loading td > i::after {
186
+ content: "";
187
+ position: absolute;
188
+ top: 0;
189
+ bottom: 0;
190
+ left: 0;
191
+ width: 400%;
192
+ background: linear-gradient(
193
+ 90deg,
194
+ transparent,
195
+ rgb(from var(--ad-secondary) r g b / 0.18),
196
+ transparent
197
+ )
198
+ 0 0 / 50% 100%;
199
+ transform: translateX(-50%);
200
+ animation: ad-table-shimmer 1.4s linear infinite;
201
+ will-change: transform;
202
+ }
203
+ .ad-data-table-foot {
204
+ display: flex;
205
+ flex-wrap: wrap;
206
+ align-items: center;
207
+ justify-content: space-between;
208
+ gap: var(--ad-space-3);
209
+ color: var(--ad-muted);
210
+ }
211
+ .ad-data-table-page-controls {
212
+ display: inline-flex;
213
+ align-items: center;
214
+ gap: var(--ad-space-3);
215
+ margin-inline-start: auto;
216
+ }
217
+ .ad-data-table-page-controls > .ad-field {
218
+ display: inline-flex;
219
+ align-items: center;
220
+ gap: 0.5rem;
221
+ }
222
+ .ad-data-table-page-controls .ad-field-label {
223
+ white-space: nowrap;
224
+ color: var(--ad-muted);
225
+ }
226
+ .ad-data-table-page-controls .ad-input-base {
227
+ min-width: 4.5rem;
228
+ }
229
+ .ad-data-table-pages {
230
+ display: inline-flex;
231
+ align-items: center;
232
+ gap: var(--ad-space-2);
233
+ font-variant-numeric: tabular-nums;
234
+ }
235
+ .ad-data-table-next .ad-icon {
236
+ rotate: 180deg;
237
+ }
238
+ @keyframes ad-table-shimmer {
239
+ to {
240
+ transform: translateX(0);
241
+ }
242
+ }
243
+ /* Header cell: the sort button and the filter funnel side by side. */
244
+ .ad-data-table-head {
245
+ display: flex;
246
+ align-items: center;
247
+ justify-content: space-between;
248
+ gap: 0.25rem;
249
+ min-width: 0;
250
+ width: 100%;
251
+ }
252
+ .ad-data-table-resize {
253
+ position: absolute;
254
+ inset-block: 0;
255
+ inset-inline-end: 0;
256
+ z-index: 2;
257
+ width: 0.55rem;
258
+ cursor: col-resize;
259
+ touch-action: none;
260
+ }
261
+ .ad-data-table-resize::after {
262
+ position: absolute;
263
+ inset-block: 25%;
264
+ inset-inline-end: 0.2rem;
265
+ width: 0.1rem;
266
+ border-radius: 99rem;
267
+ background: var(--ad-secondary);
268
+ opacity: 0;
269
+ transition: opacity var(--ad-duration-fast);
270
+ content: "";
271
+ }
272
+ .ad-data-table th:hover .ad-data-table-resize::after,
273
+ .ad-data-table-resize:focus-visible::after {
274
+ opacity: 0.9;
275
+ }
276
+ .ad-data-table-resize:focus-visible {
277
+ outline: 0.125rem solid var(--ad-secondary);
278
+ outline-offset: -0.125rem;
279
+ }
280
+ .ad-data-table th[data-align="end"] > .ad-data-table-head {
281
+ justify-content: flex-end;
282
+ }
283
+ .ad-data-table th[data-align="end"] .ad-data-table-filter { order: -1; }
284
+ .ad-data-table th[data-align="end"] .ad-data-table-sort { flex-direction: row-reverse; }
285
+ .ad-data-table th[data-align="center"] > .ad-data-table-head { justify-content: center; }
286
+ .ad-data-table-filter.ad-icon-button {
287
+ opacity: 0.45;
288
+ transition: opacity var(--ad-duration-fast);
289
+ }
290
+ .ad-data-table th:hover .ad-data-table-filter.ad-icon-button,
291
+ .ad-data-table-filter.ad-icon-button[data-active],
292
+ .ad-data-table-filter.ad-icon-button[aria-expanded="true"] {
293
+ opacity: 1;
294
+ }
295
+ .ad-data-table-filter.ad-icon-button[data-active] {
296
+ color: var(--ad-secondary-100);
297
+ filter: drop-shadow(0 0 0.35rem var(--ad-primary));
298
+ }
299
+ .ad-data-table-filter-popover {
300
+ min-width: 14rem;
301
+ }
302
+ .ad-data-table-values,
303
+ .ad-data-table-values-list {
304
+ display: grid;
305
+ gap: 0.35rem;
306
+ }
307
+ .ad-data-table-values-list {
308
+ display: flex;
309
+ flex-wrap: wrap;
310
+ gap: 0.35rem;
311
+ max-width: 20rem;
312
+ }
313
+ .ad-data-table-range {
314
+ display: grid;
315
+ grid-template-columns: 1fr 1fr;
316
+ gap: var(--ad-space-2);
317
+ }
318
+ /* Active filters as chips above the table. */
319
+ .ad-data-table-chips {
320
+ display: flex;
321
+ flex-wrap: wrap;
322
+ align-items: center;
323
+ gap: var(--ad-space-2);
324
+ }
325
+ .ad-data-table-chip {
326
+ display: inline-flex;
327
+ align-items: center;
328
+ gap: 0.35rem;
329
+ padding: 0.2rem 0.3rem 0.2rem 0.65rem;
330
+ border: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.45);
331
+ border-radius: var(--ad-radius-pill);
332
+ background: rgb(from var(--ad-primary) r g b / 0.12);
333
+ color: var(--ad-neutral-200);
334
+ }
335
+ .ad-data-table-chip > strong {
336
+ color: var(--ad-secondary-100);
337
+ }
338
+ .ad-data-table-chip > button {
339
+ display: grid;
340
+ place-items: center;
341
+ padding: 0.15rem;
342
+ border: 0;
343
+ border-radius: 50%;
344
+ background: none;
345
+ color: inherit;
346
+ cursor: pointer;
347
+ --ad-icon-size: 0.7rem;
348
+ }
349
+ .ad-data-table-chip > button:hover {
350
+ background: rgb(from var(--ad-primary) r g b / 0.3);
351
+ }
352
+ /* Group header rows: a lit band with the group's value, its count and summaries. */
353
+ .ad-data-table-group-by {
354
+ flex: 0 1 13rem;
355
+ }
356
+ .ad-data-table tr.ad-data-table-group td {
357
+ padding-block: 0.45rem;
358
+ background: linear-gradient(90deg, rgb(from var(--ad-primary) r g b / 0.12), rgb(from var(--ad-neutral-850) r g b / 0.46));
359
+ color: var(--ad-text);
360
+ font-weight: 600;
361
+ white-space: normal;
362
+ }
363
+ .ad-data-table-group-content {
364
+ display: flex;
365
+ align-items: center;
366
+ flex-wrap: wrap;
367
+ gap: 0.5rem 1.25rem;
368
+ }
369
+ .ad-data-table-group-summaries {
370
+ display: flex;
371
+ align-items: center;
372
+ flex-wrap: wrap;
373
+ justify-content: flex-end;
374
+ gap: 0.5rem 1.25rem;
375
+ margin-inline-start: auto;
376
+ }
377
+ .ad-data-table-group-summary {
378
+ display: inline-flex;
379
+ align-items: center;
380
+ gap: 0.45rem;
381
+ color: var(--ad-muted);
382
+ font-size: 0.75rem;
383
+ font-weight: 400;
384
+ }
385
+ .ad-data-table-group-summary > strong {
386
+ color: var(--ad-text);
387
+ font-weight: 600;
388
+ }
389
+ .ad-data-table-group-toggle {
390
+ display: inline-flex;
391
+ align-items: center;
392
+ gap: 0.5rem;
393
+ padding: 0;
394
+ border: 0;
395
+ background: none;
396
+ color: inherit;
397
+ font: inherit;
398
+ cursor: pointer;
399
+ --ad-icon-size: 0.85rem;
400
+ min-width: 0;
401
+ text-align: start;
402
+ overflow-wrap: anywhere;
403
+ }
404
+ .ad-data-table-group-toggle > :is(.ad-icon, .ad-data-table-group-count) { flex: none; }
405
+ .ad-data-table-group-toggle > .ad-icon {
406
+ transition: rotate var(--ad-duration-normal) var(--ad-ease-spring);
407
+ }
408
+ .ad-data-table-group[data-collapsed] .ad-data-table-group-toggle > .ad-icon {
409
+ rotate: -90deg;
410
+ }
411
+ .ad-data-table-group-count {
412
+ min-width: 1.4rem;
413
+ padding: 0 0.4rem;
414
+ border-radius: var(--ad-radius-pill);
415
+ background: rgb(from var(--ad-primary) r g b / 0.35);
416
+ font-size: var(--ad-font-size-caption);
417
+ text-align: center;
418
+ }
419
+ @container ad-data-table (max-width: 48rem) {
420
+ /* Keep horizontally scrolling pinned tables usable when their fixed sides would overlap. */
421
+ .ad-data-table-scroll {
422
+ --ad-table-pin-left: auto;
423
+ --ad-table-pin-right: auto;
424
+ }
425
+ .ad-data-table:not([data-virtual]):not([data-pinned]) table,
426
+ .ad-data-table:not([data-virtual]):not([data-pinned]) tbody {
427
+ display: block;
428
+ width: 100%;
429
+ }
430
+ .ad-data-table:not([data-virtual]):not([data-pinned]) thead {
431
+ display: block;
432
+ position: static;
433
+ padding: 0.5rem;
434
+ border-bottom: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.2);
435
+ }
436
+ .ad-data-table:not([data-virtual]):not([data-pinned]) thead tr {
437
+ display: grid;
438
+ gap: 0.25rem;
439
+ }
440
+ .ad-data-table:not([data-virtual]):not([data-pinned]) th {
441
+ position: relative;
442
+ display: block;
443
+ padding: 0.35rem 0.6rem;
444
+ min-width: 0;
445
+ border: 0;
446
+ border-radius: 0.25rem;
447
+ box-shadow: none;
448
+ text-align: start;
449
+ background: rgb(from var(--ad-primary) r g b / 0.035);
450
+ }
451
+ .ad-data-table:not([data-virtual]):not([data-pinned]) th:is(.ad-data-table-expand, .ad-data-table-row-number, .ad-data-table-actions) {
452
+ display: none;
453
+ }
454
+ .ad-data-table:not([data-virtual]):not([data-pinned]) th.ad-data-table-check {
455
+ width: auto;
456
+ }
457
+ .ad-data-table:not([data-virtual]):not([data-pinned]) .ad-data-table-select-all-label {
458
+ display: inline;
459
+ }
460
+ .ad-data-table:not([data-virtual]):not([data-pinned]) .ad-data-table-head {
461
+ justify-content: space-between;
462
+ }
463
+ .ad-data-table:not([data-virtual]):not([data-pinned]) .ad-data-table-sort {
464
+ flex-direction: row;
465
+ }
466
+ .ad-data-table:not([data-virtual]):not([data-pinned]) .ad-data-table-filter {
467
+ order: 0;
468
+ }
469
+ .ad-data-table:not([data-virtual]):not([data-pinned]) .ad-data-table-page-controls {
470
+ width: 100%;
471
+ justify-content: space-between;
472
+ }
473
+ .ad-data-table:not([data-virtual]):not([data-pinned]) tbody tr:not(.ad-data-table-group):not(.ad-data-table-details) {
474
+ display: grid;
475
+ grid-template-columns: minmax(0, 1fr);
476
+ margin: 0.55rem;
477
+ overflow: hidden;
478
+ border: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.22);
479
+ border-radius: calc(var(--ad-radius) * 0.75);
480
+ background: rgb(from var(--ad-neutral-850) r g b / 0.34);
481
+ }
482
+ .ad-data-table:not([data-virtual]):not([data-pinned])[data-selectable] tbody tr:not(.ad-data-table-group):not(.ad-data-table-details) {
483
+ grid-template-columns: 2.4rem minmax(0, 1fr);
484
+ }
485
+ .ad-data-table:not([data-virtual]):not([data-pinned]) tbody tr:not(.ad-data-table-group):not(.ad-data-table-details) td {
486
+ display: flex;
487
+ grid-column: -2 / -1;
488
+ align-items: center;
489
+ justify-content: space-between;
490
+ gap: 0.75rem;
491
+ min-width: 0;
492
+ padding: 0.45rem 0.75rem;
493
+ border-bottom: 0.0625rem solid rgb(from var(--ad-primary) r g b / 0.1);
494
+ text-align: end;
495
+ white-space: normal;
496
+ }
497
+ .ad-data-table:not([data-virtual]):not([data-pinned]) tbody tr:not(.ad-data-table-group):not(.ad-data-table-details) td[data-primary] {
498
+ grid-row: 1;
499
+ justify-content: flex-start;
500
+ font-weight: 700;
501
+ text-align: start;
502
+ }
503
+ .ad-data-table:not([data-virtual]):not([data-pinned]) tbody tr:not(.ad-data-table-group):not(.ad-data-table-details) td:not([data-primary]):not(.ad-data-table-check)::before {
504
+ content: attr(data-label);
505
+ flex: none;
506
+ color: var(--ad-muted);
507
+ font-size: 0.72rem;
508
+ text-align: start;
509
+ }
510
+ .ad-data-table:not([data-virtual]):not([data-pinned])[data-selectable] tbody tr:not(.ad-data-table-group):not(.ad-data-table-details) td.ad-data-table-check {
511
+ display: grid;
512
+ grid-column: 1;
513
+ grid-row: 1;
514
+ place-items: center;
515
+ padding: 0.4rem;
516
+ }
517
+ .ad-data-table:not([data-virtual]):not([data-pinned]) tbody tr.ad-data-table-group,
518
+ .ad-data-table:not([data-virtual]):not([data-pinned]) tbody tr.ad-data-table-group td {
519
+ display: block;
520
+ width: 100%;
521
+ }
522
+ }
@@ -0,0 +1,2 @@
1
+ import type { DialogProps } from "../shared";
2
+ export declare const Dialog: (p: DialogProps) => import("react").JSX.Element | null;
@@ -0,0 +1,82 @@
1
+ /* Styles owned by Dialog: the page blurs away and the window rises into place. */
2
+ html:has(.ad-dialog[open]) {
3
+ overflow: hidden;
4
+ }
5
+ .ad-dialog {
6
+ display: grid;
7
+ grid-template-columns: minmax(0, 1fr);
8
+ grid-template-rows: auto auto auto;
9
+ position: fixed;
10
+ margin: auto;
11
+ width: min(32.5rem, calc(100vw - 2rem));
12
+ max-height: calc(100dvh - 2rem);
13
+ padding: clamp(1.25rem, 3vw, 1.75rem);
14
+ border: 0.0625rem solid rgb(from var(--ad-secondary) r g b / 0.51) !important;
15
+ border-radius: 1.4375rem;
16
+ overflow: hidden;
17
+ isolation: isolate;
18
+ color: var(--ad-text);
19
+ }
20
+ /* Pointer light: a soft glow under the cursor, painted over the window's own surface. */
21
+ .ad-dialog[data-ad-material] {
22
+ --ad-material-bg:
23
+ radial-gradient(26rem circle at var(--ad-spot-x, -40rem) var(--ad-spot-y, -40rem), rgb(from var(--ad-primary) r g b / 0.11), transparent 60%),
24
+ var(--ad-surface-dialog);
25
+ }
26
+ .ad-dialog > .ad-header {
27
+ flex-wrap: nowrap;
28
+ align-items: flex-start;
29
+ }
30
+ .ad-dialog > .ad-header .ad-header-copy {
31
+ flex-basis: 0;
32
+ }
33
+ .ad-dialog > .ad-header .ad-header-actions {
34
+ flex: none;
35
+ }
36
+ /* The art layer spans the window under its content and never takes input. */
37
+ .ad-dialog-art {
38
+ position: absolute;
39
+ inset: 0;
40
+ z-index: -1;
41
+ overflow: hidden;
42
+ border-radius: inherit;
43
+ pointer-events: none;
44
+ }
45
+ /* A closed dialog stays hidden even when its consumer lays it out as a grid or flex box. */
46
+ .ad-dialog:not([open]) {
47
+ display: none !important;
48
+ }
49
+ .ad-dialog[open] {
50
+ animation: ad-dialog-in 0.38s cubic-bezier(0.2, 0.9, 0.3, 1.15) both;
51
+ }
52
+ .ad-dialog::backdrop {
53
+ background: rgb(from var(--ad-neutral-950) r g b / 0.67);
54
+ backdrop-filter: blur(0.4375rem);
55
+ animation: ad-backdrop-in 0.3s ease-out both;
56
+ }
57
+ @keyframes ad-dialog-in {
58
+ from {
59
+ opacity: 0;
60
+ transform: translateY(1.25rem) scale(0.94);
61
+ filter: blur(0.3rem);
62
+ }
63
+ }
64
+ @keyframes ad-backdrop-in {
65
+ from {
66
+ background: rgb(from var(--ad-neutral-950) r g b / 0);
67
+ backdrop-filter: blur(0);
68
+ }
69
+ }
70
+ /* Window widths by `width`: a short question, the default, a form with columns, a whole workspace. */
71
+ .ad-dialog[data-ad-width="narrow"] {
72
+ width: min(28rem, calc(100vw - 2rem));
73
+ }
74
+ .ad-dialog[data-ad-width="wide"] {
75
+ width: min(44rem, calc(100vw - 2rem));
76
+ }
77
+ .ad-dialog[data-ad-width="large"] {
78
+ width: min(60rem, calc(100vw - 2rem));
79
+ }
80
+ .ad-dialog[data-ad-width="full"] {
81
+ width: min(84rem, calc(100vw - 2rem));
82
+ }
@@ -0,0 +1,2 @@
1
+ import { type EmptyStateProps } from "../shared";
2
+ export declare const EmptyState: (p: EmptyStateProps) => import("react").JSX.Element;
@@ -0,0 +1,80 @@
1
+ /* Styles owned by EmptyState: the icon floats in a breathing halo, the text rises in after it. */
2
+ .ad-empty-state {
3
+ padding: 1.5625rem 0.9375rem;
4
+ text-align: center;
5
+ display: flex;
6
+ flex-direction: column;
7
+ align-items: center;
8
+ min-width: 0;
9
+ overflow-wrap: anywhere;
10
+ }
11
+ .ad-empty-state > * {
12
+ min-width: 0;
13
+ max-width: 100%;
14
+ }
15
+ .ad-empty-state > .ad-button {
16
+ height: auto;
17
+ min-height: var(--ad-size-h);
18
+ padding-block: 0.5em;
19
+ }
20
+ .ad-empty-state .ad-button-label {
21
+ white-space: normal;
22
+ }
23
+ .ad-empty-state > .ad-icon {
24
+ position: relative;
25
+ isolation: isolate;
26
+ animation: ad-empty-float 4s ease-in-out infinite;
27
+ }
28
+ .ad-empty-state > .ad-icon::before {
29
+ content: "";
30
+ position: absolute;
31
+ z-index: -1;
32
+ inset: -55%;
33
+ border-radius: 50%;
34
+ background: radial-gradient(closest-side, rgb(from var(--ad-primary) r g b / 0.33), transparent);
35
+ animation: ad-empty-halo 4s ease-in-out infinite;
36
+ }
37
+ .ad-empty-state > :not(.ad-icon) {
38
+ animation: ad-empty-rise 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
39
+ }
40
+ .ad-empty-state > :nth-child(3) {
41
+ animation-delay: 0.08s;
42
+ }
43
+ .ad-empty-state > :nth-child(4) {
44
+ animation-delay: 0.16s;
45
+ }
46
+ .ad-empty-state h3 {
47
+ font-size: 1.125rem;
48
+ margin: 0.9375rem 0 0.3125rem;
49
+ }
50
+ .ad-empty-state p {
51
+ font-size: 0.8125rem;
52
+ color: var(--ad-muted);
53
+ margin: 0 0 1.0625rem;
54
+ }
55
+ @keyframes ad-empty-float {
56
+ 0%,
57
+ 100% {
58
+ transform: translateY(0) rotate(-4deg);
59
+ }
60
+ 50% {
61
+ transform: translateY(-0.5rem) rotate(4deg);
62
+ }
63
+ }
64
+ @keyframes ad-empty-halo {
65
+ 0%,
66
+ 100% {
67
+ opacity: 0.55;
68
+ scale: 0.85;
69
+ }
70
+ 50% {
71
+ opacity: 1;
72
+ scale: 1.1;
73
+ }
74
+ }
75
+ @keyframes ad-empty-rise {
76
+ from {
77
+ opacity: 0;
78
+ transform: translateY(0.75rem);
79
+ }
80
+ }
@@ -0,0 +1,2 @@
1
+ import { type KeyValueListProps } from "../shared";
2
+ export declare const KeyValueList: (p: KeyValueListProps) => import("react").JSX.Element;