@cloudgrid-io/ui 0.31.6 → 0.32.3

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 (139) hide show
  1. package/dist/badge/bubble.d.ts +6 -1
  2. package/dist/badge/bubble.d.ts.map +1 -1
  3. package/dist/badge/bubble.js +10 -5
  4. package/dist/badge/bubble.js.map +1 -1
  5. package/dist/badge/css-base.d.ts +5 -0
  6. package/dist/badge/css-base.d.ts.map +1 -1
  7. package/dist/badge/css-base.js +7 -0
  8. package/dist/badge/css-base.js.map +1 -1
  9. package/dist/badge/css-bubble.d.ts +9 -6
  10. package/dist/badge/css-bubble.d.ts.map +1 -1
  11. package/dist/badge/css-bubble.js +17 -16
  12. package/dist/badge/css-bubble.js.map +1 -1
  13. package/dist/badge/css-live.d.ts +21 -0
  14. package/dist/badge/css-live.d.ts.map +1 -0
  15. package/dist/badge/css-live.js +53 -0
  16. package/dist/badge/css-live.js.map +1 -0
  17. package/dist/badge/css-owner.d.ts.map +1 -1
  18. package/dist/badge/css-owner.js +12 -5
  19. package/dist/badge/css-owner.js.map +1 -1
  20. package/dist/badge/css-visitor.d.ts.map +1 -1
  21. package/dist/badge/css-visitor.js +28 -19
  22. package/dist/badge/css-visitor.js.map +1 -1
  23. package/dist/badge/index.d.ts +6 -4
  24. package/dist/badge/index.d.ts.map +1 -1
  25. package/dist/badge/index.js +8 -5
  26. package/dist/badge/index.js.map +1 -1
  27. package/dist/badge/live.d.ts +41 -0
  28. package/dist/badge/live.d.ts.map +1 -0
  29. package/dist/badge/live.js +41 -0
  30. package/dist/badge/live.js.map +1 -0
  31. package/dist/badge/marks.d.ts +5 -1
  32. package/dist/badge/marks.d.ts.map +1 -1
  33. package/dist/badge/marks.js +11 -1
  34. package/dist/badge/marks.js.map +1 -1
  35. package/dist/badge/owner.d.ts.map +1 -1
  36. package/dist/badge/owner.js +4 -3
  37. package/dist/badge/owner.js.map +1 -1
  38. package/dist/badge/palette.d.ts +1 -1
  39. package/dist/badge/palette.d.ts.map +1 -1
  40. package/dist/badge/palette.js +10 -1
  41. package/dist/badge/palette.js.map +1 -1
  42. package/dist/badge/visitor.d.ts +19 -5
  43. package/dist/badge/visitor.d.ts.map +1 -1
  44. package/dist/badge/visitor.js +18 -8
  45. package/dist/badge/visitor.js.map +1 -1
  46. package/dist/blocks/agent-prompt.d.ts.map +1 -1
  47. package/dist/blocks/agent-prompt.js +11 -1
  48. package/dist/blocks/agent-prompt.js.map +1 -1
  49. package/dist/blocks/compare-table.d.ts.map +1 -1
  50. package/dist/blocks/compare-table.js +1 -1
  51. package/dist/blocks/compare-table.js.map +1 -1
  52. package/dist/blocks/entity-card.d.ts.map +1 -1
  53. package/dist/blocks/entity-card.js +13 -33
  54. package/dist/blocks/entity-card.js.map +1 -1
  55. package/dist/blocks/eyebrow.d.ts +5 -0
  56. package/dist/blocks/eyebrow.d.ts.map +1 -1
  57. package/dist/blocks/eyebrow.js +6 -1
  58. package/dist/blocks/eyebrow.js.map +1 -1
  59. package/dist/blocks/feature-cells.d.ts.map +1 -1
  60. package/dist/blocks/feature-cells.js +1 -1
  61. package/dist/blocks/feature-cells.js.map +1 -1
  62. package/dist/blocks/icons.d.ts +23 -0
  63. package/dist/blocks/icons.d.ts.map +1 -1
  64. package/dist/blocks/icons.js +23 -0
  65. package/dist/blocks/icons.js.map +1 -1
  66. package/dist/blocks/phosphor-marks.d.ts +8 -0
  67. package/dist/blocks/phosphor-marks.d.ts.map +1 -1
  68. package/dist/blocks/phosphor-marks.js +12 -0
  69. package/dist/blocks/phosphor-marks.js.map +1 -1
  70. package/dist/blocks/pricing-tier-cards.d.ts.map +1 -1
  71. package/dist/blocks/pricing-tier-cards.js +1 -1
  72. package/dist/blocks/pricing-tier-cards.js.map +1 -1
  73. package/dist/blocks/side-nav.d.ts +6 -1
  74. package/dist/blocks/side-nav.d.ts.map +1 -1
  75. package/dist/blocks/side-nav.js.map +1 -1
  76. package/dist/blocks/stat-tile.d.ts.map +1 -1
  77. package/dist/blocks/stat-tile.js +6 -2
  78. package/dist/blocks/stat-tile.js.map +1 -1
  79. package/dist/blocks/tab-bar.d.ts +105 -2
  80. package/dist/blocks/tab-bar.d.ts.map +1 -1
  81. package/dist/blocks/tab-bar.js +15 -2
  82. package/dist/blocks/tab-bar.js.map +1 -1
  83. package/dist/blocks/tool-setup.js +1 -1
  84. package/dist/blocks/tool-setup.js.map +1 -1
  85. package/dist/brand/email/headline-access-request.png +0 -0
  86. package/dist/brand/email/headline-approval-needed.png +0 -0
  87. package/dist/brand/email/headline-new-reaction.png +0 -0
  88. package/dist/brand/email/headline-new-version.png +0 -0
  89. package/dist/brand/email/headline-picked-up.png +0 -0
  90. package/dist/brand/email/headline-remixed.png +0 -0
  91. package/dist/brand/email/headline-request-approved.png +0 -0
  92. package/dist/brand/email/headline-sign-in-link.png +0 -0
  93. package/dist/email/assets.d.ts +48 -0
  94. package/dist/email/assets.d.ts.map +1 -1
  95. package/dist/email/assets.js +8 -0
  96. package/dist/email/assets.js.map +1 -1
  97. package/dist/email/index.d.ts +34 -0
  98. package/dist/email/index.d.ts.map +1 -1
  99. package/dist/email/index.js +81 -25
  100. package/dist/email/index.js.map +1 -1
  101. package/dist/index.d.ts +2 -0
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +2 -0
  104. package/dist/index.js.map +1 -1
  105. package/dist/shadcn.css +26 -0
  106. package/dist/tokens/base.json +76 -0
  107. package/dist/tokens.css +36 -0
  108. package/dist/tokens.json +8 -0
  109. package/dist/ui/dialog.d.ts +1 -1
  110. package/dist/ui/dialog.d.ts.map +1 -1
  111. package/dist/ui/dialog.js +14 -3
  112. package/dist/ui/dialog.js.map +1 -1
  113. package/dist/ui/drawer.d.ts +1 -1
  114. package/dist/ui/drawer.d.ts.map +1 -1
  115. package/dist/ui/drawer.js +11 -3
  116. package/dist/ui/drawer.js.map +1 -1
  117. package/dist/ui/dropdown-menu.d.ts +14 -1
  118. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  119. package/dist/ui/dropdown-menu.js +21 -2
  120. package/dist/ui/dropdown-menu.js.map +1 -1
  121. package/dist/ui/popover.d.ts +1 -72
  122. package/dist/ui/popover.d.ts.map +1 -1
  123. package/dist/ui/popover.js +35 -9
  124. package/dist/ui/popover.js.map +1 -1
  125. package/dist/ui/progress-bar.d.ts +7 -0
  126. package/dist/ui/progress-bar.d.ts.map +1 -0
  127. package/dist/ui/progress-bar.js +44 -0
  128. package/dist/ui/progress-bar.js.map +1 -0
  129. package/dist/ui/separator.js +1 -1
  130. package/dist/ui/separator.js.map +1 -1
  131. package/dist/ui/spinner.d.ts +44 -0
  132. package/dist/ui/spinner.d.ts.map +1 -0
  133. package/dist/ui/spinner.js +54 -0
  134. package/dist/ui/spinner.js.map +1 -0
  135. package/dist/ui/tabs.d.ts +6 -0
  136. package/dist/ui/tabs.d.ts.map +1 -1
  137. package/dist/ui/tabs.js +11 -5
  138. package/dist/ui/tabs.js.map +1 -1
  139. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/ui/dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/ui/dialog.tsx"],"names":[],"mappings":"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"}
@@ -144,7 +144,7 @@ declare const drawerPopupVariants: (props?: ({
144
144
  side?: "bottom" | "left" | "right" | null | undefined;
145
145
  size?: "lg" | "md" | null | undefined;
146
146
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
147
- declare function Drawer({ ...props }: DialogPrimitive.Root.Props): React.JSX.Element;
147
+ declare function Drawer({ modal, ...props }: DialogPrimitive.Root.Props): React.JSX.Element;
148
148
  declare function DrawerTrigger({ ...props }: DialogPrimitive.Trigger.Props): React.JSX.Element;
149
149
  declare function DrawerPortal({ ...props }: DialogPrimitive.Portal.Props): React.JSX.Element;
150
150
  declare function DrawerClose({ ...props }: DialogPrimitive.Close.Props): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../src/ui/drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AAEH;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB;;8EAW1B,CAAA;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;8EAmCxB,CAAA;AAED,iBAAS,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,qBAEvD;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,qBAEjE;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,qBAE/D;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,qBAE7D;AAED;;;;;;;;;;GAUG;AACH,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,WAAkB,EAClB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,qBAYhC;AAED,iBAAS,aAAa,CAAC,EACrB,IAAc,EACd,IAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,GAC5B,YAAY,CAAC,OAAO,mBAAmB,CAAC,GACxC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,qBAiBhD;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,WAAW,EACX,UAAoB,EACpB,eAAsB,EACtB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,qBAyBA;AAED;;;;;;;;GAQG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQvE;AAED;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWzE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,qBAWxE;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,qBAQnC;AAED,OAAO,EACL,MAAM,EACN,UAAU,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,sBAAsB,GACvB,CAAA"}
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../src/ui/drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwHG;AAEH;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB;;8EAW1B,CAAA;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;8EAmCxB,CAAA;AAUD,iBAAS,MAAM,CAAC,EAAE,KAAY,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,qBAMrE;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,qBAEjE;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,qBAE/D;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,qBAE7D;AAED;;;;;;;;;;GAUG;AACH,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,WAAkB,EAClB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,qBAYhC;AAED,iBAAS,aAAa,CAAC,EACrB,IAAc,EACd,IAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,GAC5B,YAAY,CAAC,OAAO,mBAAmB,CAAC,GACxC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,qBAmBhD;AAED;;;;;;;;;;;;;GAaG;AACH,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,WAAW,EACX,UAAoB,EACpB,eAAsB,EACtB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,qBAyBA;AAED;;;;;;;;GAQG;AACH,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQvE;AAED;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWzE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,qBAWxE;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,qBAQnC;AAED,OAAO,EACL,MAAM,EACN,UAAU,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,sBAAsB,GACvB,CAAA"}
package/dist/ui/drawer.js CHANGED
@@ -185,8 +185,15 @@ const drawerPopupVariants = cva([
185
185
  size: "md",
186
186
  },
187
187
  });
188
- function Drawer({ ...props }) {
189
- return _jsx(DialogPrimitive.Root, { "data-slot": "drawer", ...props });
188
+ /**
189
+ * The root's `modal`, handed to the popup so it can say `aria-modal` (#247).
190
+ * Same reason as `Dialog`'s: Base UI marks everything outside a modal drawer
191
+ * `aria-hidden` but never sets `aria-modal` on the popup itself, and the popup
192
+ * cannot read `modal` from its own state.
193
+ */
194
+ const DrawerModalContext = React.createContext(true);
195
+ function Drawer({ modal = true, ...props }) {
196
+ return (_jsx(DrawerModalContext.Provider, { value: modal, children: _jsx(DialogPrimitive.Root, { "data-slot": "drawer", modal: modal, ...props }) }));
190
197
  }
191
198
  function DrawerTrigger({ ...props }) {
192
199
  return _jsx(DialogPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
@@ -212,7 +219,8 @@ function DrawerOverlay({ className, forceRender = true, ...props }) {
212
219
  return (_jsx(DialogPrimitive.Backdrop, { "data-slot": "drawer-overlay", forceRender: forceRender, className: cn("fixed inset-0 isolate z-50 bg-scrim duration-150 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className), ...props }));
213
220
  }
214
221
  function DrawerContent({ side = "right", size = "md", container, className, children, ...props }) {
215
- return (_jsxs(DrawerPortal, { container: container, children: [_jsx(DrawerOverlay, {}), _jsx(DialogPrimitive.Viewport, { className: drawerViewportVariants({ side }), children: _jsx(DialogPrimitive.Popup, { "data-slot": "drawer-content", "data-side": side, "data-size": size, className: cn(drawerPopupVariants({ side, size }), className), ...props, children: children }) })] }));
222
+ const modal = React.useContext(DrawerModalContext);
223
+ return (_jsxs(DrawerPortal, { container: container, children: [_jsx(DrawerOverlay, {}), _jsx(DialogPrimitive.Viewport, { className: drawerViewportVariants({ side }), children: _jsx(DialogPrimitive.Popup, { "data-slot": "drawer-content", "aria-modal": modal !== false ? true : undefined, "data-side": side, "data-size": size, className: cn(drawerPopupVariants({ side, size }), className), ...props, children: children }) })] }));
216
224
  }
217
225
  /**
218
226
  * The title row, with the close affordance built in.
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/ui/drawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/ui/drawer.tsx"],"names":[],"mappings":"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"}
@@ -19,6 +19,19 @@ declare function DropdownMenuItem({ className, inset, variant, ...props }: MenuP
19
19
  inset?: boolean;
20
20
  variant?: "default" | "destructive";
21
21
  }): React.JSX.Element;
22
+ /**
23
+ * A menu row that is a real link (#163). `<a href>` rather than a button that
24
+ * calls `router.push`, so middle-click, open-in-new-tab and link semantics all
25
+ * work, and it is still a `menuitem` that arrow keys reach: Base UI's
26
+ * `Menu.LinkItem` takes part in the menu's roving focus like any other item.
27
+ *
28
+ * Same look as `DropdownMenuItem`, without the destructive variant: a link
29
+ * navigates, it does not destroy. For a framework router pass its link as
30
+ * `render`, e.g. `render={<Link href="/profile" />}`.
31
+ */
32
+ declare function DropdownMenuLinkItem({ className, inset, ...props }: MenuPrimitive.LinkItem.Props & {
33
+ inset?: boolean;
34
+ }): React.JSX.Element;
22
35
  declare function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props): React.JSX.Element;
23
36
  declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: MenuPrimitive.SubmenuTrigger.Props & {
24
37
  inset?: boolean;
@@ -33,5 +46,5 @@ declare function DropdownMenuRadioItem({ className, children, inset, ...props }:
33
46
  }): React.JSX.Element;
34
47
  declare function DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props): React.JSX.Element;
35
48
  declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
36
- export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
49
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuLinkItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
37
50
  //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../src/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../src/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -29,8 +29,27 @@ function DropdownMenuGroup({ ...props }) {
29
29
  function DropdownMenuLabel({ className, inset, ...props }) {
30
30
  return (_jsx(MenuPrimitive.GroupLabel, { "data-slot": "dropdown-menu-label", "data-inset": inset, className: cn("px-1.5 py-1 text-caption font-medium text-muted-foreground data-inset:pl-7", className), ...props }));
31
31
  }
32
+ /**
33
+ * The item look, shared by the button item and the link item so the two cannot
34
+ * drift: a menu that mixes "Profile" (a link) with "Sign out" (an action) must
35
+ * not show two kinds of row.
36
+ */
37
+ const ITEM_CLASS = "group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-body-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive";
32
38
  function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
33
- return (_jsx(MenuPrimitive.Item, { "data-slot": "dropdown-menu-item", "data-inset": inset, "data-variant": variant, className: cn("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-body-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", className), ...props }));
39
+ return (_jsx(MenuPrimitive.Item, { "data-slot": "dropdown-menu-item", "data-inset": inset, "data-variant": variant, className: cn(ITEM_CLASS, className), ...props }));
40
+ }
41
+ /**
42
+ * A menu row that is a real link (#163). `<a href>` rather than a button that
43
+ * calls `router.push`, so middle-click, open-in-new-tab and link semantics all
44
+ * work, and it is still a `menuitem` that arrow keys reach: Base UI's
45
+ * `Menu.LinkItem` takes part in the menu's roving focus like any other item.
46
+ *
47
+ * Same look as `DropdownMenuItem`, without the destructive variant: a link
48
+ * navigates, it does not destroy. For a framework router pass its link as
49
+ * `render`, e.g. `render={<Link href="/profile" />}`.
50
+ */
51
+ function DropdownMenuLinkItem({ className, inset, ...props }) {
52
+ return (_jsx(MenuPrimitive.LinkItem, { "data-slot": "dropdown-menu-link-item", "data-inset": inset, "data-variant": "default", className: cn(ITEM_CLASS, "no-underline", className), ...props }));
34
53
  }
35
54
  function DropdownMenuSub({ ...props }) {
36
55
  return _jsx(MenuPrimitive.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
@@ -56,5 +75,5 @@ function DropdownMenuSeparator({ className, ...props }) {
56
75
  function DropdownMenuShortcut({ className, ...props }) {
57
76
  return (_jsx("span", { "data-slot": "dropdown-menu-shortcut", className: cn("ml-auto text-caption tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground", className), ...props }));
58
77
  }
59
- export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
78
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuLinkItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
60
79
  //# sourceMappingURL=dropdown-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/ui/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -1,77 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
3
- /**
4
- * An anchored panel: a button, and a container that opens against it (#228).
5
- *
6
- * The third overlay in this library and the first one that is neither centred
7
- * nor a menu. `Dialog` is modal and sits in the middle of the viewport, which is
8
- * wrong for an editor attached to the control that opened it. `DropdownMenu` is
9
- * a menu: its children are `role="menuitem"`, arrow keys move between them, and
10
- * typing jumps to a label. A panel holding two radio groups, a checkbox list and
11
- * two buttons is not a menu, and announcing it as one tells a screen reader user
12
- * that Escape and the arrow keys mean something they do not.
13
- *
14
- * The console hand-rolls exactly this in `HeaderVisibilityPopover.tsx` — its own
15
- * portal, its own outside-click listener, its own Escape handler, its own focus
16
- * return. All four are Base UI defaults here, which is the whole reason this is a
17
- * library primitive rather than a copy of that file.
18
- *
19
- * ## What comes from Base UI, and is therefore asserted rather than written
20
- *
21
- * `role="dialog"` on the popup, `aria-labelledby` pointing at `PopoverTitle`
22
- * whenever one is rendered and absent when one is not, Escape and outside-press
23
- * dismiss, focus moving to the first tabbable element on open, and focus
24
- * returning to the trigger on close. None of it is reimplemented here. All of it
25
- * is covered in `registry/e2e/radio-group-popover.spec.ts`, because "the library
26
- * gives us this" is a claim and this repo measures claims.
27
- *
28
- * It is NOT modal by default. Page scroll stays live and the rest of the document
29
- * stays interactive, which is right for an editor anchored to a header button.
30
- * Pass `modal` through to `Popover` for the other behaviour.
31
- *
32
- * ## `container`, and the surface it exists for
33
- *
34
- * Base UI portals the popup to `<body>`. Every `--cg-*` value in this system is
35
- * inherited, and `data-cg-surface` is a container attribute, so a popup portaled
36
- * to the body escapes its surface scope entirely: a popover opened from a button
37
- * inside an ink header renders with the page's tokens, and looks completely
38
- * correct in the only place anyone checks.
39
- *
40
- * `container` forwards to `Popover.Portal`'s own prop, so a consumer can anchor
41
- * the portal inside the surface. The gallery uses it to render this component on
42
- * the panel and on ink for real; without it the three frames would be three
43
- * copies of the page one wearing different borders.
44
- *
45
- * ## Tokens, and the one thing an overlay cannot inherit
46
- *
47
- * Card ground, control border, raised shadow, per #228. `bg-popover` resolves to
48
- * `--cg-surface-card` and `--popover` is declared once per surface scope, so the
49
- * ground flips with the surface (rule 2).
50
- *
51
- * On the two dark surfaces that card ground is `transparent` (panel) and a 4%
52
- * white wash (ink), because a CARD on a purple panel is meant to let the purple
53
- * through — `shadcn.css` says so in as many words. An OVERLAY is the one thing
54
- * that cannot: it is drawn over arbitrary content, and a transparent panel over a
55
- * list renders both sets of words on top of each other. Measured, not assumed:
56
- * the first version of this component was completely illegible on both dark
57
- * frames in the gallery and completely correct on white, which is the only place
58
- * anyone would have looked.
59
- *
60
- * So the ground is opaque in every scope, out of values this system already has:
61
- * the card ground on the page, and each dark surface's OWN ground on the dark
62
- * surfaces. No new token and no new colour — `bg-panel` is `--cg-surface-panel`
63
- * and `bg-code` is `--cg-surface-code`. The panel is then told apart from what is
64
- * behind it by the border and the shadow rather than by a tint, which is what
65
- * both of those are for.
66
- *
67
- * KNOWN, and not fixed here: `Dialog`, `DropdownMenu`, `Select` and `Combobox`
68
- * are all authored with `bg-popover` and have the same hole on the same two
69
- * surfaces. The one-line fix is `--popover` per scope in `shadcn.css`, beside the
70
- * four backgrounds that already get that treatment, and it changes what four
71
- * shipped components render on dark grounds — which is a design-system decision
72
- * rather than a line in a PR about two primitives.
73
- */
74
- declare function Popover({ ...props }: PopoverPrimitive.Root.Props): React.JSX.Element;
3
+ declare function Popover({ modal, ...props }: PopoverPrimitive.Root.Props): React.JSX.Element;
75
4
  declare function PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props): React.JSX.Element;
76
5
  declare function PopoverPortal({ ...props }: PopoverPrimitive.Portal.Props): React.JSX.Element;
77
6
  declare function PopoverClose({ ...props }: PopoverPrimitive.Close.Props): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../src/ui/popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAIpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,iBAAS,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,qBAEzD;AAED,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,qBAEnE;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,qBAEjE;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,qBAE/D;AAED,iBAAS,cAAc,CAAC,EACtB,KAAe,EACf,WAAe,EACf,IAAe,EACf,UAAc,EACd,SAAS,EACT,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAC7B,IAAI,CACF,gBAAgB,CAAC,UAAU,CAAC,KAAK,EACjC,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,CAChD,GACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,qBA2BjD;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,qBAW1E;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,qBAQpC;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ1E;AAED,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,GACf,CAAA"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../src/ui/popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AA6FpE,iBAAS,OAAO,CAAC,EAAE,KAAa,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,qBAMxE;AAED,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,qBAEnE;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,qBAEjE;AAED,iBAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,qBAQ/D;AAED,iBAAS,cAAc,CAAC,EACtB,KAAe,EACf,WAAe,EACf,IAAe,EACf,UAAc,EACd,SAAS,EACT,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAC7B,IAAI,CACF,gBAAgB,CAAC,UAAU,CAAC,KAAK,EACjC,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,CAChD,GACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,qBAkCjD;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,qBAW1E;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,qBAQpC;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ1E;AAED,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,GACf,CAAA"}
@@ -67,15 +67,30 @@ import { cn } from "../lib/cloudgrid-cn.js";
67
67
  * behind it by the border and the shadow rather than by a tint, which is what
68
68
  * both of those are for.
69
69
  *
70
- * KNOWN, and not fixed here: `Dialog`, `DropdownMenu`, `Select` and `Combobox`
71
- * are all authored with `bg-popover` and have the same hole on the same two
72
- * surfaces. The one-line fix is `--popover` per scope in `shadcn.css`, beside the
73
- * four backgrounds that already get that treatment, and it changes what four
74
- * shipped components render on dark grounds — which is a design-system decision
75
- * rather than a line in a PR about two primitives.
70
+ * `Dialog`, `DropdownMenu`, `Select` and `Combobox` are authored with
71
+ * `bg-popover` and had the same hole on the same two surfaces. #230 closed it at
72
+ * the bridge: `shadcn.css` now declares `--popover` per scope with these same
73
+ * two values, so `bg-popover` alone is opaque everywhere. The explicit
74
+ * `bg-panel` / `bg-code` here are kept; they now agree with the bridge.
76
75
  */
77
- function Popover({ ...props }) {
78
- return _jsx(PopoverPrimitive.Root, { ...props });
76
+ /**
77
+ * `aria-modal`, claimed only when the popover really is modal (#247).
78
+ *
79
+ * Base UI traps focus in a popover only when the root is `modal` AND a
80
+ * `Popover.Close` part is rendered inside the popup (`focusManagerModal` in
81
+ * `PopoverPopup`). It never sets `aria-modal`, and the popup cannot read either
82
+ * half from its own state. A popover that does not trap must not announce
83
+ * itself as modal, so the same two halves are tracked here: the root records
84
+ * `modal`, and each `PopoverClose` inside `PopoverContent` registers itself.
85
+ *
86
+ * A raw `PopoverPrimitive.Close` does not register, so a popover built with one
87
+ * traps focus without saying `aria-modal`. Use `PopoverClose`.
88
+ */
89
+ const PopoverModalContext = React.createContext(false);
90
+ const PopoverCloseRegistry = React.createContext(null);
91
+ const useIsoLayoutEffect = typeof document === "undefined" ? React.useEffect : React.useLayoutEffect;
92
+ function Popover({ modal = false, ...props }) {
93
+ return (_jsx(PopoverModalContext.Provider, { value: modal, children: _jsx(PopoverPrimitive.Root, { modal: modal, ...props }) }));
79
94
  }
80
95
  function PopoverTrigger({ ...props }) {
81
96
  return _jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
@@ -84,10 +99,21 @@ function PopoverPortal({ ...props }) {
84
99
  return _jsx(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
85
100
  }
86
101
  function PopoverClose({ ...props }) {
102
+ const register = React.useContext(PopoverCloseRegistry);
103
+ useIsoLayoutEffect(() => {
104
+ if (!register)
105
+ return;
106
+ register(1);
107
+ return () => register(-1);
108
+ }, [register]);
87
109
  return _jsx(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
88
110
  }
89
111
  function PopoverContent({ align = "start", alignOffset = 0, side = "bottom", sideOffset = 8, container, className, ...props }) {
90
- return (_jsx(PopoverPrimitive.Portal, { container: container, children: _jsx(PopoverPrimitive.Positioner, { className: "isolate z-50 outline-none", align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, children: _jsx(PopoverPrimitive.Popup, { "data-slot": "popover-content", className: cn("grid max-h-(--available-height) w-80 max-w-[calc(100vw-2rem)] origin-(--transform-origin) gap-3 overflow-y-auto rounded-xl border border-line bg-popover p-4 text-body-sm text-popover-foreground shadow-raised duration-100 outline-none in-data-[cg-surface=ink]:bg-code in-data-[cg-surface=panel]:bg-panel data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }) }) }));
112
+ const modal = React.useContext(PopoverModalContext);
113
+ const [closeParts, setCloseParts] = React.useState(0);
114
+ const register = React.useCallback((delta) => setCloseParts((n) => n + delta), []);
115
+ const trapsFocus = modal !== false && closeParts > 0;
116
+ return (_jsx(PopoverCloseRegistry.Provider, { value: register, children: _jsx(PopoverPrimitive.Portal, { container: container, children: _jsx(PopoverPrimitive.Positioner, { className: "isolate z-50 outline-none", align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, children: _jsx(PopoverPrimitive.Popup, { "data-slot": "popover-content", "aria-modal": trapsFocus ? true : undefined, className: cn("grid max-h-(--available-height) w-80 max-w-[calc(100vw-2rem)] origin-(--transform-origin) gap-3 overflow-y-auto rounded-xl border border-line bg-popover p-4 text-body-sm text-popover-foreground shadow-raised duration-100 outline-none in-data-[cg-surface=ink]:bg-code in-data-[cg-surface=panel]:bg-panel data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props }) }) }) }));
91
117
  }
92
118
  function PopoverTitle({ className, ...props }) {
93
119
  return (_jsx(PopoverPrimitive.Title, { "data-slot": "popover-title", className: cn("font-heading text-body-md leading-none font-medium", className), ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/ui/popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,SAAS,OAAO,CAAC,EAAE,GAAG,KAAK,EAA+B;IACxD,OAAO,KAAC,gBAAgB,CAAC,IAAI,OAAK,KAAK,GAAI,CAAA;AAC7C,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAkC;IAClE,OAAO,KAAC,gBAAgB,CAAC,OAAO,iBAAW,iBAAiB,KAAK,KAAK,GAAI,CAAA;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAiC;IAChE,OAAO,KAAC,gBAAgB,CAAC,MAAM,iBAAW,gBAAgB,KAAK,KAAK,GAAI,CAAA;AAC1E,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,GAAG,KAAK,EAAgC;IAC9D,OAAO,KAAC,gBAAgB,CAAC,KAAK,iBAAW,eAAe,KAAK,KAAK,GAAI,CAAA;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,KAAK,GAAG,OAAO,EACf,WAAW,GAAG,CAAC,EACf,IAAI,GAAG,QAAQ,EACf,UAAU,GAAG,CAAC,EACd,SAAS,EACT,SAAS,EACT,GAAG,KAAK,EAMwC;IAChD,OAAO,CACL,KAAC,gBAAgB,CAAC,MAAM,IAAC,SAAS,EAAE,SAAS,YAC3C,KAAC,gBAAgB,CAAC,UAAU,IAC1B,SAAS,EAAC,2BAA2B,EACrC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,YAQtB,KAAC,gBAAgB,CAAC,KAAK,iBACX,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CACX,ilBAAilB,EACjlB,SAAS,CACV,KACG,KAAK,GACT,GAC0B,GACN,CAC3B,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgC;IACzE,OAAO,CACL,KAAC,gBAAgB,CAAC,KAAK,iBACX,eAAe,EACzB,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EAC2B;IACnC,OAAO,CACL,KAAC,gBAAgB,CAAC,WAAW,iBACjB,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,KAC9C,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACzE,OAAO,CACL,2BACY,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE,SAAS,CAAC,KAC7D,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EACL,OAAO,EACP,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,GACf,CAAA"}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/ui/popover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ declare function ProgressBar({ label, className, ...props }: Omit<React.ComponentProps<"div">, "children" | "role"> & {
3
+ /** The accessible name. */
4
+ label?: string;
5
+ }): React.JSX.Element;
6
+ export { ProgressBar };
7
+ //# sourceMappingURL=progress-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../src/ui/progress-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAyC9B,iBAAS,WAAW,CAAC,EACnB,KAAiB,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG;IAC1D,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,qBAkBA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../lib/cloudgrid-cn.js";
4
+ /**
5
+ * An indeterminate progress bar (#164): work is happening and its length is
6
+ * unknown (a grid provisioning, a build, a plug in flight).
7
+ *
8
+ * A segment slides across a track. The track is `--cg-hover`, the wash declared
9
+ * in all three scopes; the segment is `--cg-text-accent` (purple on the page,
10
+ * white on the panel, lime on ink), the same pair `Spinner` uses.
11
+ *
12
+ * ## Reduced motion keeps a bar, not a blank
13
+ *
14
+ * With `prefers-reduced-motion: reduce` the segment stops, parked at the start
15
+ * of the track, so the bar still reads as "in progress".
16
+ *
17
+ * ## The keyframes ship with the component
18
+ *
19
+ * Like `ShowcaseScroll`, the stylesheet is a React 19 hoisted `<style>` with an
20
+ * `href` and `precedence`, so it is emitted once however many bars render and
21
+ * needs nothing from the consumer's Tailwind config.
22
+ *
23
+ * ## It is a progressbar with no value
24
+ *
25
+ * `role="progressbar"` and an accessible name (`label`, default "Loading"), and
26
+ * deliberately no `aria-valuenow`: an indeterminate bar has no value to report.
27
+ */
28
+ const PROGRESS_BAR_CSS = `
29
+ [data-slot="progress-bar-segment"] {
30
+ animation: cg-progress-indeterminate 1.4s var(--cg-ease-in-out, ease-in-out) infinite;
31
+ }
32
+ @media (prefers-reduced-motion: reduce) {
33
+ [data-slot="progress-bar-segment"] { animation: none; transform: none; }
34
+ }
35
+ @keyframes cg-progress-indeterminate {
36
+ from { transform: translateX(-100%); }
37
+ to { transform: translateX(250%); }
38
+ }
39
+ `;
40
+ function ProgressBar({ label = "Loading", className, ...props }) {
41
+ return (_jsxs("div", { "data-slot": "progress-bar", role: "progressbar", "aria-label": label, className: cn("relative h-1 w-full overflow-hidden rounded-pill bg-(--cg-hover)", className), ...props, children: [_jsx("style", { href: "cg-progress-bar", precedence: "medium", children: PROGRESS_BAR_CSS }), _jsx("div", { "data-slot": "progress-bar-segment", className: "absolute inset-y-0 left-0 w-2/5 rounded-pill bg-(--cg-text-accent)" })] }));
42
+ }
43
+ export { ProgressBar };
44
+ //# sourceMappingURL=progress-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../src/ui/progress-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;;;;CAWxB,CAAA;AAED,SAAS,WAAW,CAAC,EACnB,KAAK,GAAG,SAAS,EACjB,SAAS,EACT,GAAG,KAAK,EAIT;IACC,OAAO,CACL,4BACY,cAAc,EACxB,IAAI,EAAC,aAAa,gBACN,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,kEAAkE,EAAE,SAAS,CAAC,KACxF,KAAK,aAET,gBAAO,IAAI,EAAC,iBAAiB,EAAC,UAAU,EAAC,QAAQ,YAC9C,gBAAgB,GACX,EACR,2BACY,sBAAsB,EAChC,SAAS,EAAC,oEAAoE,GAC9E,IACE,CACP,CAAA;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { Separator as SeparatorPrimitive } from "@base-ui/react/separator";
4
4
  import { cn } from "../lib/cloudgrid-cn.js";
5
5
  function Separator({ className, orientation = "horizontal", ...props }) {
6
- return (_jsx(SeparatorPrimitive, { "data-slot": "separator", orientation: orientation, className: cn("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch", className), ...props }));
6
+ return (_jsx(SeparatorPrimitive, { "data-slot": "separator", orientation: orientation, className: cn("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch", className), ...props }));
7
7
  }
8
8
  export { Separator };
9
9
  //# sourceMappingURL=separator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../src/ui/separator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAW,GAAG,YAAY,EAC1B,GAAG,KAAK,EACiB;IACzB,OAAO,CACL,KAAC,kBAAkB,iBACP,WAAW,EACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,8GAA8G,EAC9G,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../src/ui/separator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAW,GAAG,YAAY,EAC1B,GAAG,KAAK,EACiB;IACzB,OAAO,CACL,KAAC,kBAAkB,iBACP,WAAW,EACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,sKAAsK,EACtK,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,44 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ /**
4
+ * A loading indicator for work with no known length (#164).
5
+ *
6
+ * Every consumer was hand-rolling one: the Console animated its provisioning
7
+ * rows with an opacity pulse that read as static. This is the library's.
8
+ *
9
+ * ## Sizes are Button's glyph sizes
10
+ *
11
+ * `xs` 12px, `sm` 14px, `default` 16px, `lg` 20px: the glyph rungs `Button`
12
+ * already uses at `xs`, `sm` and `default`, so a spinner swapped in for a
13
+ * button's icon while it works does not move the label.
14
+ *
15
+ * ## Colour reads tokens that flip
16
+ *
17
+ * The arc is `--cg-text-accent` (the brand purple on the page, white on the
18
+ * purple panel, lime on ink) and the track is `--cg-border-hairline`. Both are
19
+ * declared in all three scopes, so the spinner is visible on every surface.
20
+ * `--cg-primary` would be purple on purple inside a panel.
21
+ *
22
+ * ## Reduced motion keeps a glyph, not a blank
23
+ *
24
+ * The arc is drawn whether or not it turns: `motion-safe:animate-spin` only
25
+ * rotates it. With `prefers-reduced-motion: reduce` it is a still quarter-arc on
26
+ * its track, which still says "working" without moving.
27
+ *
28
+ * ## It announces itself
29
+ *
30
+ * `role="status"` with an accessible name (`label`, default "Loading"). Inside a
31
+ * control that already says what is happening (a button labelled "Plugging"),
32
+ * pass `decorative` and it is hidden from assistive technology instead.
33
+ */
34
+ declare const spinnerVariants: (props?: ({
35
+ size?: "default" | "xs" | "sm" | "lg" | null | undefined;
36
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
37
+ declare function Spinner({ size, label, decorative, className, ...props }: Omit<React.ComponentProps<"span">, "children"> & VariantProps<typeof spinnerVariants> & {
38
+ /** The accessible name. Ignored when `decorative`. */
39
+ label?: string;
40
+ /** Hide it from assistive technology, for a control that already names the work. */
41
+ decorative?: boolean;
42
+ }): React.JSX.Element;
43
+ export { Spinner, spinnerVariants };
44
+ //# sourceMappingURL=spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/ui/spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,eAAe;;8EAUnB,CAAA;AAEF,iBAAS,OAAO,CAAC,EACf,IAAgB,EAChB,KAAiB,EACjB,UAAkB,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAC/C,YAAY,CAAC,OAAO,eAAe,CAAC,GAAG;IACrC,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,qBAkCF;AAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../lib/cloudgrid-cn.js";
5
+ /**
6
+ * A loading indicator for work with no known length (#164).
7
+ *
8
+ * Every consumer was hand-rolling one: the Console animated its provisioning
9
+ * rows with an opacity pulse that read as static. This is the library's.
10
+ *
11
+ * ## Sizes are Button's glyph sizes
12
+ *
13
+ * `xs` 12px, `sm` 14px, `default` 16px, `lg` 20px: the glyph rungs `Button`
14
+ * already uses at `xs`, `sm` and `default`, so a spinner swapped in for a
15
+ * button's icon while it works does not move the label.
16
+ *
17
+ * ## Colour reads tokens that flip
18
+ *
19
+ * The arc is `--cg-text-accent` (the brand purple on the page, white on the
20
+ * purple panel, lime on ink) and the track is `--cg-border-hairline`. Both are
21
+ * declared in all three scopes, so the spinner is visible on every surface.
22
+ * `--cg-primary` would be purple on purple inside a panel.
23
+ *
24
+ * ## Reduced motion keeps a glyph, not a blank
25
+ *
26
+ * The arc is drawn whether or not it turns: `motion-safe:animate-spin` only
27
+ * rotates it. With `prefers-reduced-motion: reduce` it is a still quarter-arc on
28
+ * its track, which still says "working" without moving.
29
+ *
30
+ * ## It announces itself
31
+ *
32
+ * `role="status"` with an accessible name (`label`, default "Loading"). Inside a
33
+ * control that already says what is happening (a button labelled "Plugging"),
34
+ * pass `decorative` and it is hidden from assistive technology instead.
35
+ */
36
+ const spinnerVariants = cva("inline-block shrink-0", {
37
+ variants: {
38
+ size: {
39
+ xs: "size-3",
40
+ sm: "size-3.5",
41
+ default: "size-4",
42
+ lg: "size-5",
43
+ },
44
+ },
45
+ defaultVariants: { size: "default" },
46
+ });
47
+ function Spinner({ size = "default", label = "Loading", decorative = false, className, ...props }) {
48
+ const a11y = decorative
49
+ ? { "aria-hidden": true }
50
+ : { role: "status", "aria-label": label };
51
+ return (_jsx("span", { "data-slot": "spinner", "data-size": size, ...a11y, className: cn(spinnerVariants({ size }), className), ...props, children: _jsxs("svg", { viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", className: "size-full motion-safe:animate-spin", children: [_jsx("circle", { cx: "8", cy: "8", r: "6.5", strokeWidth: "1.5", className: "stroke-(--cg-border-hairline)" }), _jsx("path", { d: "M8 1.5a6.5 6.5 0 0 1 6.5 6.5", strokeWidth: "1.5", strokeLinecap: "round", className: "stroke-(--cg-text-accent)" })] }) }));
52
+ }
53
+ export { Spinner, spinnerVariants };
54
+ //# sourceMappingURL=spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/ui/spinner.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,eAAe,GAAG,GAAG,CAAC,uBAAuB,EAAE;IACnD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,QAAQ;YACjB,EAAE,EAAE,QAAQ;SACb;KACF;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CACrC,CAAC,CAAA;AAEF,SAAS,OAAO,CAAC,EACf,IAAI,GAAG,SAAS,EAChB,KAAK,GAAG,SAAS,EACjB,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,GAAG,KAAK,EAOP;IACD,MAAM,IAAI,GAAG,UAAU;QACrB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAa,EAAE;QAClC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAC3C,OAAO,CACL,4BACY,SAAS,eACR,IAAI,KACX,IAAI,EACR,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,KAC/C,KAAK,YAET,eACE,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,iBACC,MAAM,EAClB,SAAS,EAAC,oCAAoC,aAE9C,iBACE,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,CAAC,EAAC,KAAK,EACP,WAAW,EAAC,KAAK,EACjB,SAAS,EAAC,+BAA+B,GACzC,EACF,eACE,CAAC,EAAC,8BAA8B,EAChC,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,SAAS,EAAC,2BAA2B,GACrC,IACE,GACD,CACR,CAAA;AACH,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAA"}
package/dist/ui/tabs.d.ts CHANGED
@@ -20,6 +20,12 @@ import { type VariantProps } from "class-variance-authority";
20
20
  * The cost of a scroller is that the active chip can start off-screen, which is
21
21
  * the one thing a reader needs to see. `scrollActiveTabIntoView` pays it on
22
22
  * mount.
23
+ *
24
+ * Orientation is matched as `data-[orientation=…]`, the attribute Base UI emits
25
+ * (#246). shadcn's `data-horizontal:` spelling compiles to `[data-horizontal]`
26
+ * unless the consumer imports `shadcn/tailwind.css`, which the Console does not,
27
+ * so every horizontal tab set there laid its list beside the panel. Guarded by
28
+ * `test/orientation-variant.test.mjs`.
23
29
  */
24
30
  /**
25
31
  * Bring the active chip into view inside its own scroll port, on mount.
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/ui/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,uBAAuB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,QAapE;AAUD,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,WAA0B,EAC1B,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,qBAY1B;AAED,QAAA,MAAM,gBAAgB;;8EAkCrB,CAAA;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAmB,EACnB,GAAG,EACH,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBA+BlE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,qBAqCpE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,qBAmBtE;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/ui/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,uBAAuB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,QAapE;AAUD,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,WAA0B,EAC1B,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,qBAY1B;AAED,QAAA,MAAM,gBAAgB;;8EAkCrB,CAAA;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,OAAmB,EACnB,GAAG,EACH,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,qBA+BlE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,qBAqCpE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,qBAmBtE;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAA"}