@ngrok/mantle 0.76.3 → 0.76.5

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 (243) hide show
  1. package/README.md +8 -8
  2. package/dist/accordion.d.ts +1 -2
  3. package/dist/accordion.js +1 -2
  4. package/dist/agent.json +1 -1
  5. package/dist/alert-dialog.d.ts +4 -45
  6. package/dist/alert-dialog.js +1 -2
  7. package/dist/alert.d.ts +2 -3
  8. package/dist/alert.js +1 -2
  9. package/dist/anchor-CcTY5SIz.js +1 -2
  10. package/dist/anchor.d.ts +1 -2
  11. package/dist/as-child-uN_018tj.d.ts +1 -2
  12. package/dist/badge.d.ts +1 -2
  13. package/dist/badge.js +1 -2
  14. package/dist/booleanish-BfvnW6vy.js +1 -2
  15. package/dist/browser-only-BSl_hruR.js +1 -2
  16. package/dist/browser-only.d.ts +1 -2
  17. package/dist/button-BAxneEMu.js +1 -2
  18. package/dist/{button-uMIZVKit.js → button-BfMn3PgP.js} +1 -2
  19. package/dist/button-mfYak6Rx.d.ts +71 -0
  20. package/dist/button.d.ts +3 -3
  21. package/dist/button.js +1 -1
  22. package/dist/calendar.d.ts +2 -3
  23. package/dist/calendar.js +1 -2
  24. package/dist/card.d.ts +1 -2
  25. package/dist/card.js +1 -2
  26. package/dist/checkbox.d.ts +1 -2
  27. package/dist/checkbox.js +1 -2
  28. package/dist/code-block.d.ts +76 -2
  29. package/dist/code-block.js +7 -3
  30. package/dist/code-block_highlight-utils.js +1 -1
  31. package/dist/code.d.ts +1 -2
  32. package/dist/code.js +1 -2
  33. package/dist/color.js +1 -2
  34. package/dist/combobox.d.ts +1 -2
  35. package/dist/combobox.js +1 -2
  36. package/dist/command.d.ts +2 -3
  37. package/dist/command.js +1 -2
  38. package/dist/compose-refs-Cjf2gfB8.js +1 -2
  39. package/dist/copy-to-clipboard-Baw30q9O.js +1 -2
  40. package/dist/cx-CBSnSC36.js +1 -2
  41. package/dist/cx.d.ts +1 -2
  42. package/dist/data-table.d.ts +319 -5
  43. package/dist/data-table.js +1 -2
  44. package/dist/description-list.d.ts +1 -2
  45. package/dist/description-list.js +1 -2
  46. package/dist/{dialog-DR2V7zsR.js → dialog-ebkUwitP.js} +1 -2
  47. package/dist/dialog.d.ts +2 -3
  48. package/dist/dialog.js +1 -1
  49. package/dist/direction-CcTY0FmA.d.ts +1 -2
  50. package/dist/direction-Wa9W2F61.js +1 -2
  51. package/dist/{dropdown-menu-C3YZJBkV.js → dropdown-menu-BHyYWtrH.js} +1 -2
  52. package/dist/dropdown-menu-BqdyTFLu.d.ts +1 -2
  53. package/dist/dropdown-menu.js +1 -1
  54. package/dist/empty.d.ts +1 -2
  55. package/dist/empty.js +1 -2
  56. package/dist/field-context-4k1kI7Bo.js +1 -2
  57. package/dist/field.d.ts +2 -3
  58. package/dist/field.js +1 -2
  59. package/dist/flag.d.ts +1 -2
  60. package/dist/flag.js +1 -2
  61. package/dist/hooks.d.ts +1 -2
  62. package/dist/hooks.js +1 -2
  63. package/dist/hover-card.d.ts +1 -2
  64. package/dist/hover-card.js +1 -2
  65. package/dist/icon-C8bYBIHW.js +1 -2
  66. package/dist/{icon-button-ntupABbM.d.ts → icon-button-D7hs6bX2.d.ts} +52 -44
  67. package/dist/{icon-button-C_Ht_g1C.js → icon-button-DUNHVWpb.js} +1 -2
  68. package/dist/icon-n49kOh4_.d.ts +1 -2
  69. package/dist/icons.d.ts +1 -2
  70. package/dist/icons.js +1 -2
  71. package/dist/in-view-BC3wmz-a.d.ts +1 -2
  72. package/dist/in-view-C2DpZ6s0.js +1 -2
  73. package/dist/{index-L3NmbHi5.d.ts → index-Bed_XLWa.d.ts} +16 -2
  74. package/dist/index-CJbKEKr2.d.ts +1 -2
  75. package/dist/{index-DBZ3eRsl.d.ts → index-CTU6apE6.d.ts} +2 -3
  76. package/dist/index-DorCusfG.d.ts +1 -2
  77. package/dist/input.d.ts +4 -5
  78. package/dist/input.js +1 -2
  79. package/dist/is-input-CXmS0OFN.js +1 -2
  80. package/dist/kbd-Bv6tefdB.js +1 -2
  81. package/dist/kbd.d.ts +1 -2
  82. package/dist/label-DhIUmTN2.js +1 -2
  83. package/dist/label.d.ts +1 -2
  84. package/dist/llms.txt +1 -1
  85. package/dist/main.d.ts +1 -2
  86. package/dist/main.js +1 -2
  87. package/dist/mantle.css +13 -6
  88. package/dist/media-object.d.ts +1 -2
  89. package/dist/media-object.js +1 -2
  90. package/dist/multi-select.d.ts +1 -2
  91. package/dist/multi-select.js +1 -2
  92. package/dist/otp-input.d.ts +1 -2
  93. package/dist/otp-input.js +1 -2
  94. package/dist/pagination.d.ts +2 -3
  95. package/dist/pagination.js +1 -2
  96. package/dist/popover-DponNBot.js +1 -2
  97. package/dist/popover.d.ts +1 -2
  98. package/dist/primitive-Cn3h4DJg.js +1 -2
  99. package/dist/primitive-FoWela9a.d.ts +1 -2
  100. package/dist/progress.d.ts +1 -2
  101. package/dist/progress.js +1 -2
  102. package/dist/qr-code.d.ts +1 -2
  103. package/dist/qr-code.js +1 -2
  104. package/dist/radio-group.d.ts +1 -2
  105. package/dist/radio-group.js +1 -2
  106. package/dist/resolve-pre-rendered-props-CF9-Qy2H.js +12 -0
  107. package/dist/resolve-pre-rendered-props-DxJ9-DAl.d.ts +1 -2
  108. package/dist/sandboxed-on-click.d.ts +1 -2
  109. package/dist/sandboxed-on-click.js +1 -2
  110. package/dist/select-C15-XvRT.d.ts +1 -2
  111. package/dist/{select-Cxc9VmP8.js → select-g0E_TsXr.js} +1 -2
  112. package/dist/select.js +1 -1
  113. package/dist/{separator-Bqjy77rG.js → separator-BXFUCWFa.js} +1 -2
  114. package/dist/separator.d.ts +1 -2
  115. package/dist/separator.js +1 -1
  116. package/dist/sheet.d.ts +2 -3
  117. package/dist/sheet.js +1 -2
  118. package/dist/skeleton.d.ts +1 -2
  119. package/dist/skeleton.js +1 -2
  120. package/dist/skip-to-main-link.d.ts +1 -2
  121. package/dist/skip-to-main-link.js +1 -2
  122. package/dist/slider.d.ts +1 -2
  123. package/dist/slider.js +1 -2
  124. package/dist/slot-CV5fmqFr.js +1 -2
  125. package/dist/sort-BPX2Fk9t.js +1 -2
  126. package/dist/split-button.d.ts +5 -6
  127. package/dist/split-button.js +1 -2
  128. package/dist/svg-only-Cz1cby8y.js +1 -2
  129. package/dist/svg-only-f6ToFLH0.d.ts +1 -2
  130. package/dist/switch.d.ts +1 -2
  131. package/dist/switch.js +1 -2
  132. package/dist/table-BWD9IlIN.d.ts +1 -2
  133. package/dist/table-DWy_oNta.js +1 -2
  134. package/dist/tabs.d.ts +1 -2
  135. package/dist/tabs.js +1 -2
  136. package/dist/text-area.d.ts +1 -2
  137. package/dist/text-area.js +1 -2
  138. package/dist/theme-provider-MMwxHEfw.js +1 -2
  139. package/dist/theme.d.ts +4 -5
  140. package/dist/theme.js +1 -2
  141. package/dist/themes-CYNpplwN.d.ts +1 -2
  142. package/dist/toast-CR3MVChj.js +1 -2
  143. package/dist/toast.d.ts +1 -2
  144. package/dist/tooltip.d.ts +1 -2
  145. package/dist/tooltip.js +1 -2
  146. package/dist/traffic-policy-file-0g5RXFqu.js +1 -2
  147. package/dist/types-BvUzforF.d.ts +1 -2
  148. package/dist/types-D85fCNV3.js +1 -2
  149. package/dist/types.d.ts +1 -3
  150. package/dist/use-copy-to-clipboard-BLpquU9d.js +1 -2
  151. package/dist/use-isomorphic-layout-effect-DdTRtMY-.js +1 -2
  152. package/dist/use-matches-media-query-CMSxHR9n.js +1 -2
  153. package/dist/use-prefers-reduced-motion-CWIoFA6W.js +1 -2
  154. package/dist/utils.d.ts +1 -2
  155. package/dist/utils.js +1 -2
  156. package/dist/validation-DCyx-ceH.js +1 -2
  157. package/dist/validation-xyX_6kph.d.ts +1 -2
  158. package/dist/well.d.ts +1 -2
  159. package/dist/well.js +1 -2
  160. package/dist/with-style-props-CyImx7vd.d.ts +1 -2
  161. package/package.json +5 -5
  162. package/dist/accordion.js.map +0 -1
  163. package/dist/alert-dialog.js.map +0 -1
  164. package/dist/alert.js.map +0 -1
  165. package/dist/anchor-CcTY5SIz.js.map +0 -1
  166. package/dist/badge.js.map +0 -1
  167. package/dist/booleanish-BfvnW6vy.js.map +0 -1
  168. package/dist/browser-only-BSl_hruR.js.map +0 -1
  169. package/dist/button-BAxneEMu.js.map +0 -1
  170. package/dist/button-BXZ_JTu_.d.ts +0 -172
  171. package/dist/button-uMIZVKit.js.map +0 -1
  172. package/dist/calendar.js.map +0 -1
  173. package/dist/card.js.map +0 -1
  174. package/dist/checkbox.js.map +0 -1
  175. package/dist/code-block.js.map +0 -1
  176. package/dist/code.js.map +0 -1
  177. package/dist/color.js.map +0 -1
  178. package/dist/combobox.js.map +0 -1
  179. package/dist/command.js.map +0 -1
  180. package/dist/compose-refs-Cjf2gfB8.js.map +0 -1
  181. package/dist/copy-to-clipboard-Baw30q9O.js.map +0 -1
  182. package/dist/cx-CBSnSC36.js.map +0 -1
  183. package/dist/data-table.js.map +0 -1
  184. package/dist/deep-non-nullable-BxRoySYR.d.ts +0 -8
  185. package/dist/description-list.js.map +0 -1
  186. package/dist/dialog-DR2V7zsR.js.map +0 -1
  187. package/dist/direction-Wa9W2F61.js.map +0 -1
  188. package/dist/dropdown-menu-C3YZJBkV.js.map +0 -1
  189. package/dist/empty.js.map +0 -1
  190. package/dist/field-context-4k1kI7Bo.js.map +0 -1
  191. package/dist/field.js.map +0 -1
  192. package/dist/flag.js.map +0 -1
  193. package/dist/hooks.js.map +0 -1
  194. package/dist/hover-card.js.map +0 -1
  195. package/dist/icon-C8bYBIHW.js.map +0 -1
  196. package/dist/icon-button-C_Ht_g1C.js.map +0 -1
  197. package/dist/icons.js.map +0 -1
  198. package/dist/in-view-C2DpZ6s0.js.map +0 -1
  199. package/dist/input.js.map +0 -1
  200. package/dist/is-input-CXmS0OFN.js.map +0 -1
  201. package/dist/kbd-Bv6tefdB.js.map +0 -1
  202. package/dist/label-DhIUmTN2.js.map +0 -1
  203. package/dist/main.js.map +0 -1
  204. package/dist/media-object.js.map +0 -1
  205. package/dist/multi-select.js.map +0 -1
  206. package/dist/otp-input.js.map +0 -1
  207. package/dist/pagination.js.map +0 -1
  208. package/dist/popover-DponNBot.js.map +0 -1
  209. package/dist/primitive-Cn3h4DJg.js.map +0 -1
  210. package/dist/progress.js.map +0 -1
  211. package/dist/qr-code.js.map +0 -1
  212. package/dist/radio-group.js.map +0 -1
  213. package/dist/resolve-pre-rendered-props-C-vrNxH1.js +0 -13
  214. package/dist/resolve-pre-rendered-props-C-vrNxH1.js.map +0 -1
  215. package/dist/sandboxed-on-click.js.map +0 -1
  216. package/dist/select-Cxc9VmP8.js.map +0 -1
  217. package/dist/separator-Bqjy77rG.js.map +0 -1
  218. package/dist/sheet.js.map +0 -1
  219. package/dist/skeleton.js.map +0 -1
  220. package/dist/skip-to-main-link.js.map +0 -1
  221. package/dist/slider.js.map +0 -1
  222. package/dist/slot-CV5fmqFr.js.map +0 -1
  223. package/dist/sort-BPX2Fk9t.js.map +0 -1
  224. package/dist/split-button.js.map +0 -1
  225. package/dist/svg-only-Cz1cby8y.js.map +0 -1
  226. package/dist/switch.js.map +0 -1
  227. package/dist/table-DWy_oNta.js.map +0 -1
  228. package/dist/tabs.js.map +0 -1
  229. package/dist/text-area.js.map +0 -1
  230. package/dist/theme-provider-MMwxHEfw.js.map +0 -1
  231. package/dist/theme.js.map +0 -1
  232. package/dist/toast-CR3MVChj.js.map +0 -1
  233. package/dist/tooltip.js.map +0 -1
  234. package/dist/traffic-policy-file-0g5RXFqu.js.map +0 -1
  235. package/dist/types-D85fCNV3.js.map +0 -1
  236. package/dist/use-copy-to-clipboard-BLpquU9d.js.map +0 -1
  237. package/dist/use-isomorphic-layout-effect-DdTRtMY-.js.map +0 -1
  238. package/dist/use-matches-media-query-CMSxHR9n.js.map +0 -1
  239. package/dist/use-prefers-reduced-motion-CWIoFA6W.js.map +0 -1
  240. package/dist/utils.js.map +0 -1
  241. package/dist/validation-DCyx-ceH.js.map +0 -1
  242. package/dist/variant-props-CVymuSfa.d.ts +0 -13
  243. package/dist/well.js.map +0 -1
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <p align="center">
2
2
  <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ngrok-oss/mantle/HEAD/.github/mantle-dark.svg">
4
- <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/ngrok-oss/mantle/HEAD/.github/mantle-light.svg">
5
- <img alt="Mantle" src="https://raw.githubusercontent.com/ngrok-oss/mantle/HEAD/.github/mantle-light.svg" width="176" height="34" style="max-width: 100%;">
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ngrok/mantle/HEAD/.github/mantle-dark.svg">
4
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/ngrok/mantle/HEAD/.github/mantle-light.svg">
5
+ <img alt="Mantle" src="https://raw.githubusercontent.com/ngrok/mantle/HEAD/.github/mantle-light.svg" width="176" height="34" style="max-width: 100%;">
6
6
  </picture>
7
7
  </p>
8
8
  <h1 align="center">
@@ -74,11 +74,11 @@ const result = await highlighter.highlight({
74
74
 
75
75
  ## Related Packages
76
76
 
77
- | Package | Description | Links |
78
- | ----------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
79
- | `@ngrok/mantle-vite-plugins` | Vite + rehype plugins for code block highlighting and Tailwind CSS source optimization | [GitHub](https://github.com/ngrok-oss/mantle/tree/main/packages/mantle-vite-plugins) · [npm](https://www.npmjs.com/package/@ngrok/mantle-vite-plugins) |
80
- | `@ngrok/mantle-server-syntax-highlighter` | Server-side syntax highlighting engine powered by Shiki | [GitHub](https://github.com/ngrok-oss/mantle/tree/main/packages/mantle-server-syntax-highlighter) · [npm](https://www.npmjs.com/package/@ngrok/mantle-server-syntax-highlighter) |
77
+ | Package | Description | Links |
78
+ | ----------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
79
+ | `@ngrok/mantle-vite-plugins` | Vite + rehype plugins for code block highlighting and Tailwind CSS source optimization | [GitHub](https://github.com/ngrok/mantle/tree/main/packages/mantle-vite-plugins) · [npm](https://www.npmjs.com/package/@ngrok/mantle-vite-plugins) |
80
+ | `@ngrok/mantle-server-syntax-highlighter` | Server-side syntax highlighting engine powered by Shiki | [GitHub](https://github.com/ngrok/mantle/tree/main/packages/mantle-server-syntax-highlighter) · [npm](https://www.npmjs.com/package/@ngrok/mantle-server-syntax-highlighter) |
81
81
 
82
82
  ## Contributing
83
83
 
84
- Please read our [contribution guide](https://github.com/ngrok-oss/mantle/blob/main/CONTRIBUTING.md) and [conventions](https://github.com/ngrok-oss/mantle/blob/main/CONVENTIONS.md).
84
+ Please read our [contribution guide](https://github.com/ngrok/mantle/blob/main/CONTRIBUTING.md) and [conventions](https://github.com/ngrok/mantle/blob/main/CONVENTIONS.md).
@@ -189,5 +189,4 @@ declare const Accordion: {
189
189
  };
190
190
  };
191
191
  //#endregion
192
- export { Accordion };
193
- //# sourceMappingURL=accordion.d.ts.map
192
+ export { Accordion };
package/dist/accordion.js CHANGED
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{CaretDownIcon as n}from"@phosphor-icons/react/CaretDown";import*as r from"@radix-ui/react-accordion";import{forwardRef as i}from"react";import{jsx as a}from"react/jsx-runtime";const o=i(({className:t,...n},i)=>a(r.Root,{ref:i,"data-slot":`accordion`,className:e(`w-full space-y-2.5`,t),...n}));o.displayName=`Accordion`;const s=i(({...e},t)=>a(r.Item,{ref:t,"data-slot":`accordion-item`,...e}));s.displayName=`AccordionItem`;const c=i(({className:t,...n},i)=>a(r.Header,{ref:i,"data-slot":`accordion-heading`,className:e(`flex items-center gap-2`,t),...n}));c.displayName=`AccordionHeading`;const l=i(({className:t,children:n,...i},o)=>a(r.Trigger,{ref:o,"data-slot":`accordion-trigger`,className:e(`group flex items-center gap-1.5`,t),...i,children:n}));l.displayName=`AccordionTrigger`;const u=({className:r,...i})=>a(t,{...i,"data-slot":`accordion-trigger-icon`,svg:a(n,{weight:`fill`}),className:e(`group-data-[state=open]:rotate-0 -rotate-90`,r)});u.displayName=`AccordionTriggerIcon`;const d=i(({className:t,children:n,...i},o)=>a(r.Content,{ref:o,"data-slot":`accordion-content`,className:e(`data-state-closed:animate-accordion-up data-state-open:animate-accordion-down overflow-hidden *:first:mt-4`,t),...i,children:n}));d.displayName=`AccordionContent`;const f={Root:o,Content:d,Heading:c,Item:s,Trigger:l,TriggerIcon:u};export{f as Accordion};
2
- //# sourceMappingURL=accordion.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{CaretDownIcon as n}from"@phosphor-icons/react/CaretDown";import*as r from"@radix-ui/react-accordion";import{forwardRef as i}from"react";import{jsx as a}from"react/jsx-runtime";const o=i(({className:t,...n},i)=>a(r.Root,{ref:i,"data-slot":`accordion`,className:e(`w-full space-y-2.5`,t),...n}));o.displayName=`Accordion`;const s=i(({...e},t)=>a(r.Item,{ref:t,"data-slot":`accordion-item`,...e}));s.displayName=`AccordionItem`;const c=i(({className:t,...n},i)=>a(r.Header,{ref:i,"data-slot":`accordion-heading`,className:e(`flex items-center gap-2`,t),...n}));c.displayName=`AccordionHeading`;const l=i(({className:t,children:n,...i},o)=>a(r.Trigger,{ref:o,"data-slot":`accordion-trigger`,className:e(`group flex items-center gap-1.5`,t),...i,children:n}));l.displayName=`AccordionTrigger`;const u=({className:r,...i})=>a(t,{...i,"data-slot":`accordion-trigger-icon`,svg:a(n,{weight:`fill`}),className:e(`group-data-[state=open]:rotate-0 -rotate-90`,r)});u.displayName=`AccordionTriggerIcon`;const d=i(({className:t,children:n,...i},o)=>a(r.Content,{ref:o,"data-slot":`accordion-content`,className:e(`data-state-closed:animate-accordion-up data-state-open:animate-accordion-down overflow-hidden *:first:mt-4`,t),...i,children:n}));d.displayName=`AccordionContent`;const f={Root:o,Content:d,Heading:c,Item:s,Trigger:l,TriggerIcon:u};export{f as Accordion};
package/dist/agent.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngrok/mantle",
3
- "version": "0.76.3",
3
+ "version": "0.76.5",
4
4
  "origin": "https://mantle.ngrok.com",
5
5
  "endpoints": {
6
6
  "docs": "https://mantle.ngrok.com/",
@@ -1,6 +1,6 @@
1
1
  import { t as SvgAttributes } from "./types-BvUzforF.js";
2
- import { t as DeepNonNullable } from "./deep-non-nullable-BxRoySYR.js";
3
2
  import { t as WithAsChild } from "./as-child-uN_018tj.js";
3
+ import { n as ButtonProps } from "./button-mfYak6Rx.js";
4
4
  import { t as Root$1 } from "./primitive-FoWela9a.js";
5
5
  import { ComponentProps, ReactNode } from "react";
6
6
 
@@ -197,27 +197,7 @@ declare const AlertDialog: {
197
197
  * </AlertDialog.Root>
198
198
  * ```
199
199
  */
200
- readonly Action: import("react").ForwardRefExoticComponent<(Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & Partial<DeepNonNullable<import("class-variance-authority").VariantProps<(props?: ({
201
- appearance?: "link" | "ghost" | "outlined" | "filled" | null | undefined;
202
- isLoading?: boolean | null | undefined;
203
- priority?: "danger" | "neutral" | "default" | null | undefined;
204
- } & import("class-variance-authority/types").ClassProp) | undefined) => string>>> & {
205
- icon?: ReactNode;
206
- iconPlacement?: "start" | "end";
207
- } & {
208
- asChild: true;
209
- type?: ComponentProps<"button">["type"];
210
- }, "ref"> | Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & Partial<DeepNonNullable<import("class-variance-authority").VariantProps<(props?: ({
211
- appearance?: "link" | "ghost" | "outlined" | "filled" | null | undefined;
212
- isLoading?: boolean | null | undefined;
213
- priority?: "danger" | "neutral" | "default" | null | undefined;
214
- } & import("class-variance-authority/types").ClassProp) | undefined) => string>>> & {
215
- icon?: ReactNode;
216
- iconPlacement?: "start" | "end";
217
- } & {
218
- asChild?: false | undefined;
219
- type: Exclude<ComponentProps<"button">["type"], undefined>;
220
- }, "ref">) & import("react").RefAttributes<HTMLButtonElement>>;
200
+ readonly Action: import("react").ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
221
201
  /**
222
202
  * Contains the main content of the alert dialog. Wraps the header and footer
223
203
  * inside `AlertDialog.Content` next to `AlertDialog.Icon`.
@@ -292,27 +272,7 @@ declare const AlertDialog: {
292
272
  * </AlertDialog.Root>
293
273
  * ```
294
274
  */
295
- readonly Cancel: import("react").ForwardRefExoticComponent<(Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & Partial<DeepNonNullable<import("class-variance-authority").VariantProps<(props?: ({
296
- appearance?: "link" | "ghost" | "outlined" | "filled" | null | undefined;
297
- isLoading?: boolean | null | undefined;
298
- priority?: "danger" | "neutral" | "default" | null | undefined;
299
- } & import("class-variance-authority/types").ClassProp) | undefined) => string>>> & {
300
- icon?: ReactNode;
301
- iconPlacement?: "start" | "end";
302
- } & {
303
- asChild: true;
304
- type?: ComponentProps<"button">["type"];
305
- }, "ref"> | Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & Partial<DeepNonNullable<import("class-variance-authority").VariantProps<(props?: ({
306
- appearance?: "link" | "ghost" | "outlined" | "filled" | null | undefined;
307
- isLoading?: boolean | null | undefined;
308
- priority?: "danger" | "neutral" | "default" | null | undefined;
309
- } & import("class-variance-authority/types").ClassProp) | undefined) => string>>> & {
310
- icon?: ReactNode;
311
- iconPlacement?: "start" | "end";
312
- } & {
313
- asChild?: false | undefined;
314
- type: Exclude<ComponentProps<"button">["type"], undefined>;
315
- }, "ref">) & import("react").RefAttributes<HTMLButtonElement>>;
275
+ readonly Cancel: import("react").ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
316
276
  /**
317
277
  * A button that closes the Alert Dialog. (Unstyled) Typically wrapped
318
278
  * around `AlertDialog.Action` with `asChild` so the action both performs
@@ -625,5 +585,4 @@ declare const AlertDialog: {
625
585
  readonly Trigger: import("react").ForwardRefExoticComponent<Omit<import("@radix-ui/react-dialog").DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
626
586
  };
627
587
  //#endregion
628
- export { AlertDialog };
629
- //# sourceMappingURL=alert-dialog.d.ts.map
588
+ export { AlertDialog };
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./svg-only-Cz1cby8y.js";import{t as n}from"./slot-CV5fmqFr.js";import{t as r}from"./button-uMIZVKit.js";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./primitive-Cn3h4DJg.js";import{createContext as f,forwardRef as p,useContext as m,useMemo as h}from"react";import g from"tiny-invariant";import{jsx as _,jsxs as v}from"react/jsx-runtime";import{InfoIcon as y}from"@phosphor-icons/react/Info";import{WarningIcon as b}from"@phosphor-icons/react/Warning";const x=f(null);function S(){let e=m(x);return g(e,`AlertDialog child component used outside of AlertDialog parent!`),e}function C({priority:e,...t}){let n=h(()=>({priority:e}),[e]);return _(x.Provider,{value:n,children:_(c,{...t})})}C.displayName=`AlertDialog`;const w=p(({...e},t)=>_(a,{ref:t,"data-slot":`alert-dialog-trigger`,...e}));w.displayName=`AlertDialogTrigger`;const T=i;T.displayName=`AlertDialogPortal`;const E=p(({className:t,...n},r)=>_(o,{"data-slot":`alert-dialog-overlay`,className:e(`data-state-open:animate-in data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:fade-in-0 bg-overlay fixed inset-0 z-50 backdrop-blur-xs`,t),...n,ref:r}));E.displayName=`AlertDialogOverlay`;const D=p(({className:t,preferredWidth:n=`max-w-md`,...r},i)=>v(T,{children:[_(E,{}),_(`div`,{className:`fixed inset-4 z-50 flex items-center justify-center`,children:_(s,{"data-slot":`alert-dialog-content`,"data-mantle-modal-content":!0,ref:i,className:e(`flex w-full flex-1 flex-col items-center gap-4 sm:flex-row sm:items-start`,`outline-hidden focus-within:outline-hidden`,`p-6`,`border-dialog bg-dialog rounded-xl border shadow-lg transition-transform duration-200`,`data-state-closed:animate-out data-state-closed:fade-out-0 data-state-closed:zoom-out-95 data-state-open:animate-in data-state-open:fade-in-0 data-state-open:zoom-in-95`,n,t),...r})})]}));D.displayName=`AlertDialogContent`;const O=p(({asChild:t=!1,className:r,...i},a)=>_(t?n:`div`,{"data-slot":`alert-dialog-body`,className:e(`flex-1 space-y-4`,r),ref:a,...i}));O.displayName=`AlertDialogBody`;const k=p(({asChild:t=!1,className:r,...i},a)=>_(t?n:`div`,{"data-slot":`alert-dialog-header`,className:e(`flex flex-col space-y-2 text-center sm:text-start`,r),ref:a,...i}));k.displayName=`AlertDialogHeader`;const A=p(({asChild:t=!1,className:r,...i},a)=>_(t?n:`div`,{"data-slot":`alert-dialog-footer`,className:e(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,r),ref:a,...i}));A.displayName=`AlertDialogFooter`;const j=p(({className:t,...n},r)=>_(u,{ref:r,"data-slot":`alert-dialog-title`,className:e(`text-strong text-center text-lg font-medium sm:text-start`,t),...n}));j.displayName=`AlertDialogTitle`;const M=p(({className:t,...n},r)=>_(l,{ref:r,"data-slot":`alert-dialog-description`,className:e(`text-body text-center text-sm font-normal sm:text-start`,t),...n}));M.displayName=`AlertDialogDescription`;const N=p(({appearance:e=`filled`,...t},n)=>{let i=S(),a=`default`;return i.priority===`danger`&&(a=`danger`),_(r,{appearance:e,"data-slot":`alert-dialog-action`,priority:a,ref:n,...t})});N.displayName=`AlertDialogAction`;const P=p(({appearance:t=`outlined`,className:n,priority:i=`neutral`,...a},o)=>_(d,{asChild:!0,children:_(r,{appearance:t,"data-slot":`alert-dialog-cancel`,className:e(`mt-2 sm:mt-0`,n),priority:i,ref:o,...a})}));P.displayName=`AlertDialogCancel`;const F=p(({className:n,svg:r,...i},a)=>{let o=S(),s=o.priority===`danger`?`text-danger-600`:`text-accent-600`,c=o.priority===`danger`?_(b,{}):_(y,{});return _(t,{ref:a,"data-slot":`alert-dialog-icon`,className:e(`size-12 sm:size-7`,s,n),svg:r??c,...i})});F.displayName=`AlertDialogIcon`;const I=p(({...e},t)=>_(d,{ref:t,"data-slot":`alert-dialog-close`,...e}));I.displayName=`AlertDialogClose`;const L={Root:C,Action:N,Body:O,Cancel:P,Close:I,Content:D,Description:M,Footer:A,Header:k,Icon:F,Title:j,Trigger:w};export{L as AlertDialog};
2
- //# sourceMappingURL=alert-dialog.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./svg-only-Cz1cby8y.js";import{t as n}from"./slot-CV5fmqFr.js";import{t as r}from"./button-BfMn3PgP.js";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./primitive-Cn3h4DJg.js";import{createContext as f,forwardRef as p,useContext as m,useMemo as h}from"react";import g from"tiny-invariant";import{jsx as _,jsxs as v}from"react/jsx-runtime";import{InfoIcon as y}from"@phosphor-icons/react/Info";import{WarningIcon as b}from"@phosphor-icons/react/Warning";const x=f(null);function S(){let e=m(x);return g(e,`AlertDialog child component used outside of AlertDialog parent!`),e}function C({priority:e,...t}){let n=h(()=>({priority:e}),[e]);return _(x.Provider,{value:n,children:_(c,{...t})})}C.displayName=`AlertDialog`;const w=p(({...e},t)=>_(a,{ref:t,"data-slot":`alert-dialog-trigger`,...e}));w.displayName=`AlertDialogTrigger`;const T=i;T.displayName=`AlertDialogPortal`;const E=p(({className:t,...n},r)=>_(o,{"data-slot":`alert-dialog-overlay`,className:e(`data-state-open:animate-in data-state-closed:animate-out data-state-closed:fade-out-0 data-state-open:fade-in-0 bg-overlay fixed inset-0 z-50 backdrop-blur-xs`,t),...n,ref:r}));E.displayName=`AlertDialogOverlay`;const D=p(({className:t,preferredWidth:n=`max-w-md`,...r},i)=>v(T,{children:[_(E,{}),_(`div`,{className:`fixed inset-4 z-50 flex items-center justify-center`,children:_(s,{"data-slot":`alert-dialog-content`,"data-mantle-modal-content":!0,ref:i,className:e(`flex w-full flex-1 flex-col items-center gap-4 sm:flex-row sm:items-start`,`outline-hidden focus-within:outline-hidden`,`p-6`,`border-dialog bg-dialog rounded-xl border shadow-lg transition-transform duration-200`,`data-state-closed:animate-out data-state-closed:fade-out-0 data-state-closed:zoom-out-95 data-state-open:animate-in data-state-open:fade-in-0 data-state-open:zoom-in-95`,n,t),...r})})]}));D.displayName=`AlertDialogContent`;const O=p(({asChild:t=!1,className:r,...i},a)=>_(t?n:`div`,{"data-slot":`alert-dialog-body`,className:e(`flex-1 space-y-4`,r),ref:a,...i}));O.displayName=`AlertDialogBody`;const k=p(({asChild:t=!1,className:r,...i},a)=>_(t?n:`div`,{"data-slot":`alert-dialog-header`,className:e(`flex flex-col space-y-2 text-center sm:text-start`,r),ref:a,...i}));k.displayName=`AlertDialogHeader`;const A=p(({asChild:t=!1,className:r,...i},a)=>_(t?n:`div`,{"data-slot":`alert-dialog-footer`,className:e(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,r),ref:a,...i}));A.displayName=`AlertDialogFooter`;const j=p(({className:t,...n},r)=>_(u,{ref:r,"data-slot":`alert-dialog-title`,className:e(`text-strong text-center text-lg font-medium sm:text-start`,t),...n}));j.displayName=`AlertDialogTitle`;const M=p(({className:t,...n},r)=>_(l,{ref:r,"data-slot":`alert-dialog-description`,className:e(`text-body text-center text-sm font-normal sm:text-start`,t),...n}));M.displayName=`AlertDialogDescription`;const N=p(({appearance:e=`filled`,...t},n)=>{let i=S(),a=`default`;return i.priority===`danger`&&(a=`danger`),_(r,{appearance:e,"data-slot":`alert-dialog-action`,priority:a,ref:n,...t})});N.displayName=`AlertDialogAction`;const P=p(({appearance:t=`outlined`,className:n,priority:i=`neutral`,...a},o)=>_(d,{asChild:!0,children:_(r,{appearance:t,"data-slot":`alert-dialog-cancel`,className:e(`mt-2 sm:mt-0`,n),priority:i,ref:o,...a})}));P.displayName=`AlertDialogCancel`;const F=p(({className:n,svg:r,...i},a)=>{let o=S(),s=o.priority===`danger`?`text-danger-600`:`text-accent-600`,c=o.priority===`danger`?_(b,{}):_(y,{});return _(t,{ref:a,"data-slot":`alert-dialog-icon`,className:e(`size-12 sm:size-7`,s,n),svg:r??c,...i})});F.displayName=`AlertDialogIcon`;const I=p(({...e},t)=>_(d,{ref:t,"data-slot":`alert-dialog-close`,...e}));I.displayName=`AlertDialogClose`;const L={Root:C,Action:N,Body:O,Cancel:P,Close:I,Content:D,Description:M,Footer:A,Header:k,Icon:F,Title:j,Trigger:w};export{L as AlertDialog};
package/dist/alert.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { t as SvgAttributes } from "./types-BvUzforF.js";
2
2
  import { t as WithAsChild } from "./as-child-uN_018tj.js";
3
- import { n as IconButtonProps } from "./icon-button-ntupABbM.js";
3
+ import { n as IconButtonProps } from "./icon-button-D7hs6bX2.js";
4
4
  import { ComponentProps, HTMLAttributes, ReactNode } from "react";
5
5
 
6
6
  //#region src/components/alert/alert.d.ts
@@ -184,5 +184,4 @@ declare const Alert: {
184
184
  readonly Title: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLHeadingElement> & WithAsChild & import("react").RefAttributes<HTMLHeadingElement>>;
185
185
  };
186
186
  //#endregion
187
- export { Alert };
188
- //# sourceMappingURL=alert.d.ts.map
187
+ export { Alert };
package/dist/alert.js CHANGED
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./svg-only-Cz1cby8y.js";import{t as n}from"./types-D85fCNV3.js";import{t as r}from"./slot-CV5fmqFr.js";import{t as i}from"./icon-button-C_Ht_g1C.js";import{createContext as a,forwardRef as o,useContext as s,useMemo as c}from"react";import l from"tiny-invariant";import{jsx as u}from"react/jsx-runtime";import{CheckCircleIcon as d}from"@phosphor-icons/react/CheckCircle";import{InfoIcon as f}from"@phosphor-icons/react/Info";import{MegaphoneIcon as p}from"@phosphor-icons/react/Megaphone";import{WarningIcon as m}from"@phosphor-icons/react/Warning";import{WarningDiamondIcon as h}from"@phosphor-icons/react/WarningDiamond";import{XIcon as g}from"@phosphor-icons/react/X";import{cva as _}from"class-variance-authority";const v=a(null),y=u(g,{});function b(){let e=s(v);return l(e,`useAlertContext hook used outside of Alert parent!`),e}const x=_(`relative flex w-full gap-1.5 rounded-md border p-2.5 text-sm font-sans`,{variants:{priority:{danger:`border-danger-500/50 bg-danger-500/10 text-danger-700 [&_code]:bg-danger-500/10 [&_code]:border-danger-500/20 [&_code]:text-danger-900 [&_a]:text-danger-700 [&_a]:underline`,important:`border-important-500/50 bg-important-500/10 text-important-700 [&_code]:bg-important-500/10 [&_code]:border-important-500/20 [&_code]:text-important-900 [&_a]:text-important-700 [&_a]:underline`,info:`border-info-500/50 bg-info-500/10 text-info-700 [&_code]:bg-info-500/10 [&_code]:border-info-500/20 [&_code]:text-info-900 [&_a]:text-info-700 [&_a]:underline`,success:`border-success-500/50 bg-success-500/10 text-success-700 [&_code]:bg-success-500/10 [&_code]:border-success-500/20 [&_code]:text-success-900 [&_a]:text-success-700 [&_a]:underline`,warning:`border-warning-500/50 bg-warning-500/10 text-warning-700 [&_code]:bg-warning-500/10 [&_code]:border-warning-500/20 [&_code]:text-warning-900 [&_a]:text-warning-700 [&_a]:underline`},appearance:{banner:`border-x-0 border-t-0 rounded-none z-50 sticky`,default:``}},compoundVariants:[{priority:`danger`,appearance:`banner`,className:``},{priority:`important`,appearance:`banner`,className:``},{priority:`info`,appearance:`banner`,className:``},{priority:`success`,appearance:`banner`,className:``},{priority:`warning`,appearance:`banner`,className:``}]}),S=o(({appearance:t=`default`,className:n,priority:r,...i},a)=>{let o=c(()=>({priority:r}),[r]);return u(v.Provider,{value:o,children:u(`div`,{ref:a,"data-slot":`alert`,className:e(x({appearance:t,priority:r}),n),...i})})});S.displayName=`Alert`;const C={danger:u(m,{}),important:u(p,{mirrored:!0}),info:u(f,{}),success:u(d,{}),warning:u(h,{})},w=o(({className:n,svg:r,...i},a)=>{let o=C[b().priority];return u(t,{ref:a,"data-slot":`alert-icon`,className:e(`size-5`,n),svg:r??o,...i})});w.displayName=`AlertIcon`;const T=o(({className:t,...n},r)=>u(`div`,{ref:r,"data-slot":`alert-content`,className:e(`min-w-0 flex-1 has-data-alert-dismiss:pr-6`,t),...n}));T.displayName=`AlertContent`;const E=o(({asChild:t=!1,className:n,...i},a)=>u(t?r:`h5`,{ref:a,"data-slot":`alert-title`,className:e(`font-medium`,n),...i}));E.displayName=`AlertTitle`;const D=o(({asChild:t=!1,className:n,...i},a)=>u(t?r:`div`,{ref:a,"data-slot":`alert-description`,className:e(`text-sm`,n),...i}));D.displayName=`AlertDescription`;const O=e=>`var(--color-${e}-700)`,k=e=>`var(--color-${e}-800)`,A=e=>`color-mix(in oklab, var(--color-${e}-500) 10%, transparent)`,j=({size:t=`sm`,type:r=`button`,label:a=`Dismiss Alert`,appearance:o=`ghost`,className:s,icon:c=y,style:l,...d})=>{let f=b();return u(i,{appearance:o,icon:c,label:a,size:t,"data-slot":`alert-dismiss-icon-button`,"data-alert-dismiss":!0,className:e(`right-1.5 top-1.5 absolute`,`text-(--alert-dismiss-icon-color)`,`not-disabled:hover:bg-(--alert-dismiss-hover-bg) not-disabled:hover:text-(--alert-dismiss-icon-hover-color)`,s),type:r,style:n({...l,"--alert-dismiss-icon-color":O(f.priority),"--alert-dismiss-icon-hover-color":k(f.priority),"--alert-dismiss-hover-bg":A(f.priority)}),...d})};j.displayName=`AlertDismissIconButton`;const M={Root:S,Content:T,Description:D,DismissIconButton:j,Icon:w,Title:E};export{M as Alert};
2
- //# sourceMappingURL=alert.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./svg-only-Cz1cby8y.js";import{t as n}from"./types-D85fCNV3.js";import{t as r}from"./slot-CV5fmqFr.js";import{t as i}from"./icon-button-DUNHVWpb.js";import{createContext as a,forwardRef as o,useContext as s,useMemo as c}from"react";import l from"tiny-invariant";import{jsx as u}from"react/jsx-runtime";import{CheckCircleIcon as d}from"@phosphor-icons/react/CheckCircle";import{InfoIcon as f}from"@phosphor-icons/react/Info";import{MegaphoneIcon as p}from"@phosphor-icons/react/Megaphone";import{WarningIcon as m}from"@phosphor-icons/react/Warning";import{WarningDiamondIcon as h}from"@phosphor-icons/react/WarningDiamond";import{XIcon as g}from"@phosphor-icons/react/X";import{cva as _}from"class-variance-authority";const v=a(null),y=u(g,{});function b(){let e=s(v);return l(e,`useAlertContext hook used outside of Alert parent!`),e}const x=_(`relative flex w-full gap-1.5 rounded-md border p-2.5 text-sm font-sans`,{variants:{priority:{danger:`border-danger-500/50 bg-danger-500/10 text-danger-700 [&_code]:bg-danger-500/10 [&_code]:border-danger-500/20 [&_code]:text-danger-900 [&_a]:text-danger-700 [&_a]:underline`,important:`border-important-500/50 bg-important-500/10 text-important-700 [&_code]:bg-important-500/10 [&_code]:border-important-500/20 [&_code]:text-important-900 [&_a]:text-important-700 [&_a]:underline`,info:`border-info-500/50 bg-info-500/10 text-info-700 [&_code]:bg-info-500/10 [&_code]:border-info-500/20 [&_code]:text-info-900 [&_a]:text-info-700 [&_a]:underline`,success:`border-success-500/50 bg-success-500/10 text-success-700 [&_code]:bg-success-500/10 [&_code]:border-success-500/20 [&_code]:text-success-900 [&_a]:text-success-700 [&_a]:underline`,warning:`border-warning-500/50 bg-warning-500/10 text-warning-700 [&_code]:bg-warning-500/10 [&_code]:border-warning-500/20 [&_code]:text-warning-900 [&_a]:text-warning-700 [&_a]:underline`},appearance:{banner:`border-x-0 border-t-0 rounded-none z-50 sticky`,default:``}},compoundVariants:[{priority:`danger`,appearance:`banner`,className:``},{priority:`important`,appearance:`banner`,className:``},{priority:`info`,appearance:`banner`,className:``},{priority:`success`,appearance:`banner`,className:``},{priority:`warning`,appearance:`banner`,className:``}]}),S=o(({appearance:t=`default`,className:n,priority:r,...i},a)=>{let o=c(()=>({priority:r}),[r]);return u(v.Provider,{value:o,children:u(`div`,{ref:a,"data-slot":`alert`,className:e(x({appearance:t,priority:r}),n),...i})})});S.displayName=`Alert`;const C={danger:u(m,{}),important:u(p,{mirrored:!0}),info:u(f,{}),success:u(d,{}),warning:u(h,{})},w=o(({className:n,svg:r,...i},a)=>{let o=C[b().priority];return u(t,{ref:a,"data-slot":`alert-icon`,className:e(`size-5`,n),svg:r??o,...i})});w.displayName=`AlertIcon`;const T=o(({className:t,...n},r)=>u(`div`,{ref:r,"data-slot":`alert-content`,className:e(`min-w-0 flex-1 has-data-alert-dismiss:pr-6`,t),...n}));T.displayName=`AlertContent`;const E=o(({asChild:t=!1,className:n,...i},a)=>u(t?r:`h5`,{ref:a,"data-slot":`alert-title`,className:e(`font-medium`,n),...i}));E.displayName=`AlertTitle`;const D=o(({asChild:t=!1,className:n,...i},a)=>u(t?r:`div`,{ref:a,"data-slot":`alert-description`,className:e(`text-sm`,n),...i}));D.displayName=`AlertDescription`;const O=e=>`var(--color-${e}-700)`,k=e=>`var(--color-${e}-800)`,A=e=>`color-mix(in oklab, var(--color-${e}-500) 10%, transparent)`,j=({size:t=`sm`,type:r=`button`,label:a=`Dismiss Alert`,appearance:o=`ghost`,className:s,icon:c=y,style:l,...d})=>{let f=b();return u(i,{appearance:o,icon:c,label:a,size:t,"data-slot":`alert-dismiss-icon-button`,"data-alert-dismiss":!0,className:e(`right-1.5 top-1.5 absolute`,`text-(--alert-dismiss-icon-color)`,`not-disabled:hover:bg-(--alert-dismiss-hover-bg) not-disabled:hover:text-(--alert-dismiss-icon-hover-color)`,s),type:r,style:n({...l,"--alert-dismiss-icon-color":O(f.priority),"--alert-dismiss-icon-hover-color":k(f.priority),"--alert-dismiss-hover-bg":A(f.priority)}),...d})};j.displayName=`AlertDismissIconButton`;const M={Root:S,Content:T,Description:D,DismissIconButton:j,Icon:w,Title:E};export{M as Alert};
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{t as n}from"./slot-CV5fmqFr.js";import{Children as r,cloneElement as i,forwardRef as a,isValidElement as o}from"react";import s from"tiny-invariant";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";const d=t=>e(`cursor-pointer rounded bg-transparent text-accent-600 hover:underline focus:outline-hidden focus-visible:ring-3 focus-visible:ring-focus-accent`,t),f=a(({asChild:e,children:a,className:f,rel:m,icon:h,iconPlacement:g=`start`,..._},v)=>{let y=p(m),b={"data-slot":`anchor`,className:d(f),ref:v,rel:y,..._};if(e){let e=r.only(a);s(o(e),"When using `asChild`, Anchor must be passed a single child as a JSX tag.");let d=e.props?.children;return l(n,{...b,children:i(e,{},u(c,{children:[h&&g===`start`&&l(t,{className:`inline-block mr-1.5`,svg:h}),d,h&&g===`end`&&l(t,{className:`inline-block ml-1.5`,svg:h})]}))})}return u(`a`,{...b,children:[h&&g===`start`&&l(t,{className:`inline-block mr-1.5`,svg:h}),a,h&&g===`end`&&l(t,{className:`inline-block ml-1.5`,svg:h})]})});f.displayName=`Anchor`;function p(e){return Array.isArray(e)?[...new Set(e)].map(e=>e?.trim()).filter(Boolean).toSorted().join(` `)||void 0:e?.trim()||void 0}export{d as n,p as r,f as t};
2
- //# sourceMappingURL=anchor-CcTY5SIz.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{t as n}from"./slot-CV5fmqFr.js";import{Children as r,cloneElement as i,forwardRef as a,isValidElement as o}from"react";import s from"tiny-invariant";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";const d=t=>e(`cursor-pointer rounded bg-transparent text-accent-600 hover:underline focus:outline-hidden focus-visible:ring-3 focus-visible:ring-focus-accent`,t),f=a(({asChild:e,children:a,className:f,rel:m,icon:h,iconPlacement:g=`start`,..._},v)=>{let y=p(m),b={"data-slot":`anchor`,className:d(f),ref:v,rel:y,..._};if(e){let e=r.only(a);s(o(e),"When using `asChild`, Anchor must be passed a single child as a JSX tag.");let d=e.props?.children;return l(n,{...b,children:i(e,{},u(c,{children:[h&&g===`start`&&l(t,{className:`inline-block mr-1.5`,svg:h}),d,h&&g===`end`&&l(t,{className:`inline-block ml-1.5`,svg:h})]}))})}return u(`a`,{...b,children:[h&&g===`start`&&l(t,{className:`inline-block mr-1.5`,svg:h}),a,h&&g===`end`&&l(t,{className:`inline-block ml-1.5`,svg:h})]})});f.displayName=`Anchor`;function p(e){return Array.isArray(e)?[...new Set(e)].map(e=>e?.trim()).filter(Boolean).toSorted().join(` `)||void 0:e?.trim()||void 0}export{d as n,p as r,f as t};
package/dist/anchor.d.ts CHANGED
@@ -104,5 +104,4 @@ declare const Anchor: import("react").ForwardRefExoticComponent<Omit<AnchorProps
104
104
  */
105
105
  declare function resolveRel(rel: Rel | (string & {}) | undefined | null | (Rel | (string & {}) | undefined | null)[]): string | undefined;
106
106
  //#endregion
107
- export { Anchor, type AnchorProps, type Rel, anchorClassNames, resolveRel };
108
- //# sourceMappingURL=anchor.d.ts.map
107
+ export { Anchor, type AnchorProps, type Rel, anchorClassNames, resolveRel };
@@ -27,5 +27,4 @@ type WithAsChild = {
27
27
  * support the `asChild` prop.
28
28
  */
29
29
  //#endregion
30
- export { WithAsChild as t };
31
- //# sourceMappingURL=as-child-uN_018tj.d.ts.map
30
+ export { WithAsChild as t };
package/dist/badge.d.ts CHANGED
@@ -74,5 +74,4 @@ declare const Badge: {
74
74
  displayName: string;
75
75
  };
76
76
  //#endregion
77
- export { Badge, type BadgeProps };
78
- //# sourceMappingURL=badge.d.ts.map
77
+ export { Badge, type BadgeProps };
package/dist/badge.js CHANGED
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./svg-only-Cz1cby8y.js";import{t as n}from"./slot-CV5fmqFr.js";import{Children as r,cloneElement as i,isValidElement as a}from"react";import o from"tiny-invariant";import{Fragment as s,jsx as c,jsxs as l}from"react/jsx-runtime";const u=({appearance:u,asChild:d=!1,children:p,className:h,color:g=`neutral`,icon:_,...v})=>{let y=f(g,u),b=m(g,u),x=e(`inline-flex w-fit shrink-0 cursor-default items-center gap-1 rounded px-1.5 py-0.5 font-medium text-xs font-sans`,_&&`ps-1`,y,b,h);if(d){let e=r.only(p);o(a(e),"When using `asChild`, Badge must be passed a single child as a JSX tag.");let u=e.props?.children;return c(n,{"data-slot":`badge`,className:x,...v,children:i(e,{},l(s,{children:[_&&c(t,{className:`size-4`,svg:_}),u]}))})}return l(`span`,{"data-slot":`badge`,className:x,...v,children:[_&&c(t,{className:`size-4`,svg:_}),p]})};u.displayName=`Badge`;const d={amber:`bg-amber-500/20`,blue:`bg-blue-500/20`,cyan:`bg-cyan-500/20`,emerald:`bg-emerald-500/20`,fuchsia:`bg-fuchsia-500/20`,gray:`bg-gray-500/20`,green:`bg-green-500/20`,indigo:`bg-indigo-500/20`,lime:`bg-lime-500/20`,orange:`bg-orange-500/20`,pink:`bg-pink-500/20`,purple:`bg-purple-500/20`,red:`bg-red-500/20`,rose:`bg-rose-500/20`,sky:`bg-sky-500/20`,teal:`bg-teal-500/20`,violet:`bg-violet-500/20`,yellow:`bg-yellow-500/20`,accent:`bg-accent-500/20`,danger:`bg-danger-500/20`,important:`bg-important-500/20`,info:`bg-info-500/20`,neutral:`bg-neutral-500/20`,success:`bg-success-500/20`,warning:`bg-warning-500/20`};function f(e,t){switch(t){case`muted`:return d[e];default:o(!1,`Invalid appearance: ${String(t)}`)}}const p={amber:`text-amber-700`,blue:`text-blue-700`,cyan:`text-cyan-700`,emerald:`text-emerald-700`,fuchsia:`text-fuchsia-700`,gray:`text-gray-700`,green:`text-green-700`,indigo:`text-indigo-700`,lime:`text-lime-700`,orange:`text-orange-700`,pink:`text-pink-700`,purple:`text-purple-700`,red:`text-red-700`,rose:`text-rose-700`,sky:`text-sky-700`,teal:`text-teal-700`,violet:`text-violet-700`,yellow:`text-yellow-700`,accent:`text-accent-700`,danger:`text-danger-700`,important:`text-important-700`,info:`text-info-700`,neutral:`text-neutral-700`,success:`text-success-700`,warning:`text-warning-700`};function m(e,t){switch(t){case`muted`:return p[e];default:o(!1,`Invalid appearance: ${String(t)}`)}}export{u as Badge};
2
- //# sourceMappingURL=badge.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./svg-only-Cz1cby8y.js";import{t as n}from"./slot-CV5fmqFr.js";import{Children as r,cloneElement as i,isValidElement as a}from"react";import o from"tiny-invariant";import{Fragment as s,jsx as c,jsxs as l}from"react/jsx-runtime";const u=({appearance:u,asChild:d=!1,children:p,className:h,color:g=`neutral`,icon:_,...v})=>{let y=f(g,u),b=m(g,u),x=e(`inline-flex w-fit shrink-0 cursor-default items-center gap-1 rounded px-1.5 py-0.5 font-medium text-xs font-sans`,_&&`ps-1`,y,b,h);if(d){let e=r.only(p);o(a(e),"When using `asChild`, Badge must be passed a single child as a JSX tag.");let u=e.props?.children;return c(n,{"data-slot":`badge`,className:x,...v,children:i(e,{},l(s,{children:[_&&c(t,{className:`size-4`,svg:_}),u]}))})}return l(`span`,{"data-slot":`badge`,className:x,...v,children:[_&&c(t,{className:`size-4`,svg:_}),p]})};u.displayName=`Badge`;const d={amber:`bg-amber-500/20`,blue:`bg-blue-500/20`,cyan:`bg-cyan-500/20`,emerald:`bg-emerald-500/20`,fuchsia:`bg-fuchsia-500/20`,gray:`bg-gray-500/20`,green:`bg-green-500/20`,indigo:`bg-indigo-500/20`,lime:`bg-lime-500/20`,orange:`bg-orange-500/20`,pink:`bg-pink-500/20`,purple:`bg-purple-500/20`,red:`bg-red-500/20`,rose:`bg-rose-500/20`,sky:`bg-sky-500/20`,teal:`bg-teal-500/20`,violet:`bg-violet-500/20`,yellow:`bg-yellow-500/20`,accent:`bg-accent-500/20`,danger:`bg-danger-500/20`,important:`bg-important-500/20`,info:`bg-info-500/20`,neutral:`bg-neutral-500/20`,success:`bg-success-500/20`,warning:`bg-warning-500/20`};function f(e,t){switch(t){case`muted`:return d[e];default:o(!1,`Invalid appearance: ${String(t)}`)}}const p={amber:`text-amber-700`,blue:`text-blue-700`,cyan:`text-cyan-700`,emerald:`text-emerald-700`,fuchsia:`text-fuchsia-700`,gray:`text-gray-700`,green:`text-green-700`,indigo:`text-indigo-700`,lime:`text-lime-700`,orange:`text-orange-700`,pink:`text-pink-700`,purple:`text-purple-700`,red:`text-red-700`,rose:`text-rose-700`,sky:`text-sky-700`,teal:`text-teal-700`,violet:`text-violet-700`,yellow:`text-yellow-700`,accent:`text-accent-700`,danger:`text-danger-700`,important:`text-important-700`,info:`text-info-700`,neutral:`text-neutral-700`,success:`text-success-700`,warning:`text-warning-700`};function m(e,t){switch(t){case`muted`:return p[e];default:o(!1,`Invalid appearance: ${String(t)}`)}}export{u as Badge};
@@ -1,2 +1 @@
1
- function e(e){return typeof e==`boolean`?e:e===`true`}export{e as t};
2
- //# sourceMappingURL=booleanish-BfvnW6vy.js.map
1
+ function e(e){return typeof e==`boolean`?e:e===`true`}export{e as t};
@@ -1,2 +1 @@
1
- import{useSyncExternalStore as e}from"react";function t(){return e(n,()=>!0,()=>!1)}function n(){return()=>{}}function r({children:e,fallback:n=null}){return t()?e():n}function i(){return typeof window<`u`&&typeof document<`u`}export{i as n,t as r,r as t};
2
- //# sourceMappingURL=browser-only-BSl_hruR.js.map
1
+ import{useSyncExternalStore as e}from"react";function t(){return e(n,()=>!0,()=>!1)}function n(){return()=>{}}function r({children:e,fallback:n=null}){return t()?e():n}function i(){return typeof window<`u`&&typeof document<`u`}export{i as n,t as r,r as t};
@@ -60,5 +60,4 @@ declare function BrowserOnly({
60
60
  */
61
61
  declare function canUseDOM(): boolean;
62
62
  //#endregion
63
- export { BrowserOnly, canUseDOM };
64
- //# sourceMappingURL=browser-only.d.ts.map
63
+ export { BrowserOnly, canUseDOM };
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./slot-CV5fmqFr.js";import{forwardRef as n}from"react";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`border-form inline-flex items-center rounded-md`,{variants:{appearance:{panel:`bg-form gap-0.5 border p-0.75 [--icon-button-border-radius:0.125rem] [&>.separator]:mx-px`,ghost:`gap-0.5`,outlined:``}}}),o=n(({appearance:n,asChild:i,className:o,children:s,...c},l)=>r(i?t:`div`,{"data-slot":`button-group`,className:e(a({appearance:n}),o),ref:l,...c,children:s}));o.displayName=`ButtonGroup`;export{o as t};
2
- //# sourceMappingURL=button-BAxneEMu.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./slot-CV5fmqFr.js";import{forwardRef as n}from"react";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`border-form inline-flex items-center rounded-md`,{variants:{appearance:{panel:`bg-form gap-0.5 border p-0.75 [--icon-button-border-radius:0.125rem] [&>.separator]:mx-px`,ghost:`gap-0.5`,outlined:``}}}),o=n(({appearance:n,asChild:i,className:o,children:s,...c},l)=>r(i?t:`div`,{"data-slot":`button-group`,className:e(a({appearance:n}),o),ref:l,...c,children:s}));o.displayName=`ButtonGroup`;export{o as t};
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{t as n}from"./booleanish-BfvnW6vy.js";import{t as r}from"./slot-CV5fmqFr.js";import{Children as i,cloneElement as a,forwardRef as o,isValidElement as s}from"react";import c from"clsx";import l from"tiny-invariant";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{CircleNotchIcon as m}from"@phosphor-icons/react/CircleNotch";const h=p(``,{variants:{appearance:{filled:`bg-filled-accent text-white focus-visible:ring-focus-accent not-disabled:hover:bg-filled-accent-hover h-9 border border-transparent px-3 text-sm font-medium`,ghost:`text-accent-600 focus-visible:ring-focus-accent not-disabled:hover:bg-accent-500/10 not-disabled:hover:text-accent-700 h-9 border border-transparent px-3 text-sm font-medium`,outlined:`border-accent-600 bg-form text-accent-600 focus-visible:ring-focus-accent not-disabled:hover:border-accent-700 not-disabled:hover:bg-accent-500/10 not-disabled:hover:text-accent-700 h-9 border px-3 text-sm font-medium`,link:`text-accent-600 focus-visible:ring-focus-accent not-disabled:hover:underline group/button-link border-transparent`},isLoading:{false:``,true:`opacity-50`},priority:{danger:``,default:``,neutral:``}},defaultVariants:{appearance:`outlined`,isLoading:!1,priority:`default`},compoundVariants:[{appearance:`ghost`,priority:`danger`,class:`text-danger-600 focus-visible:ring-focus-danger not-disabled:hover:bg-danger-500/10 not-disabled:hover:text-danger-700 border-transparent`},{appearance:`outlined`,priority:`danger`,class:`border-danger-600 bg-form text-danger-600 focus-visible:ring-focus-danger not-disabled:hover:border-danger-700 not-disabled:hover:bg-danger-500/10 not-disabled:hover:text-danger-700`},{appearance:`filled`,priority:`danger`,class:`bg-filled-danger focus-visible:ring-focus-danger not-disabled:hover:bg-filled-danger-hover border-transparent`},{appearance:`link`,priority:`danger`,class:`text-danger-600 focus-visible:ring-focus-danger`},{appearance:`ghost`,priority:`neutral`,class:`text-strong focus-visible:ring-focus-accent not-disabled:hover:bg-neutral-500/10 not-disabled:hover:text-strong border-transparent`},{appearance:`outlined`,priority:`neutral`,class:`border-form bg-form text-strong focus-visible:border-accent-600 focus-visible:ring-focus-accent not-disabled:hover:border-neutral-400 not-disabled:hover:bg-form-hover not-disabled:hover:text-strong focus-visible:not-disabled:hover:border-accent-600`},{appearance:`filled`,priority:`neutral`,class:`bg-filled-neutral not-disabled:hover:bg-filled-neutral-hover border-transparent focus-visible:border-transparent text-neutral-50`},{appearance:`link`,priority:`neutral`,class:`text-strong focus-visible:ring-focus-accent`}]}),g=o(({"aria-disabled":o,appearance:p=`outlined`,asChild:g,children:_,className:v,disabled:y,icon:b,iconPlacement:x=`start`,isLoading:S=!1,priority:C=`default`,type:w,...T},E)=>{let D=n(o??y??S),O=S?d(m,{className:`animate-spin`}):b,k=O&&p!==`link`,A={"aria-disabled":D,"data-slot":`button`,className:e(`inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md`,`focus:outline-hidden focus-visible:ring-4`,`disabled:cursor-default disabled:opacity-50`,`not-disabled:active:scale-97 ease-out transition-transform duration-150`,h({appearance:p,priority:C,isLoading:S}),p!==`link`&&`font-sans`,k&&x===`start`&&`ps-2.5`,k&&x===`end`&&`pe-2.5`,v),"data-appearance":p,"data-disabled":D,"data-loading":S,"data-priority":C,disabled:D,ref:E,...T};return g?(l(s(_)&&i.only(_),"When using `asChild`, Button must be passed a single child as a JSX tag."),d(r,{...A,children:a(_,{},f(u,{children:[O&&d(t,{svg:O,className:c(x===`end`&&`order-last`)}),_.props.children]}))})):f(`button`,{...A,type:w,children:[O&&d(t,{svg:O,className:c(x===`end`&&`order-last`)}),_]})});g.displayName=`Button`;export{g as t};
2
- //# sourceMappingURL=button-uMIZVKit.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{t as n}from"./booleanish-BfvnW6vy.js";import{t as r}from"./slot-CV5fmqFr.js";import{Children as i,cloneElement as a,forwardRef as o,isValidElement as s}from"react";import c from"clsx";import l from"tiny-invariant";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{CircleNotchIcon as m}from"@phosphor-icons/react/CircleNotch";const h=p(``,{variants:{appearance:{filled:`bg-filled-accent text-white focus-visible:ring-focus-accent not-disabled:hover:bg-filled-accent-hover h-9 border border-transparent px-3 text-sm font-medium`,ghost:`text-accent-600 focus-visible:ring-focus-accent not-disabled:hover:bg-accent-500/10 not-disabled:hover:text-accent-700 h-9 border border-transparent px-3 text-sm font-medium`,outlined:`border-accent-600 bg-form text-accent-600 focus-visible:ring-focus-accent not-disabled:hover:border-accent-700 not-disabled:hover:bg-accent-500/10 not-disabled:hover:text-accent-700 h-9 border px-3 text-sm font-medium`,link:`text-accent-600 focus-visible:ring-focus-accent not-disabled:hover:underline group/button-link border-transparent`},isLoading:{false:``,true:`opacity-50`},priority:{danger:``,default:``,neutral:``}},defaultVariants:{appearance:`outlined`,isLoading:!1,priority:`default`},compoundVariants:[{appearance:`ghost`,priority:`danger`,class:`text-danger-600 focus-visible:ring-focus-danger not-disabled:hover:bg-danger-500/10 not-disabled:hover:text-danger-700 border-transparent`},{appearance:`outlined`,priority:`danger`,class:`border-danger-600 bg-form text-danger-600 focus-visible:ring-focus-danger not-disabled:hover:border-danger-700 not-disabled:hover:bg-danger-500/10 not-disabled:hover:text-danger-700`},{appearance:`filled`,priority:`danger`,class:`bg-filled-danger focus-visible:ring-focus-danger not-disabled:hover:bg-filled-danger-hover border-transparent`},{appearance:`link`,priority:`danger`,class:`text-danger-600 focus-visible:ring-focus-danger`},{appearance:`ghost`,priority:`neutral`,class:`text-strong focus-visible:ring-focus-accent not-disabled:hover:bg-neutral-500/10 not-disabled:hover:text-strong border-transparent`},{appearance:`outlined`,priority:`neutral`,class:`border-form bg-form text-strong focus-visible:border-accent-600 focus-visible:ring-focus-accent not-disabled:hover:border-neutral-400 not-disabled:hover:bg-form-hover not-disabled:hover:text-strong focus-visible:not-disabled:hover:border-accent-600`},{appearance:`filled`,priority:`neutral`,class:`bg-filled-neutral not-disabled:hover:bg-filled-neutral-hover border-transparent focus-visible:border-transparent text-neutral-50`},{appearance:`link`,priority:`neutral`,class:`text-strong focus-visible:ring-focus-accent`}]}),g=o(({"aria-disabled":o,appearance:p=`outlined`,asChild:g,children:_,className:v,disabled:y,icon:b,iconPlacement:x=`start`,isLoading:S=!1,priority:C=`default`,type:w,...T},E)=>{let D=n(o??y??S),O=S?d(m,{className:`animate-spin`}):b,k=O&&p!==`link`,A={"aria-disabled":D,"data-slot":`button`,className:e(`inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md`,`focus:outline-hidden focus-visible:ring-4`,`disabled:cursor-default disabled:opacity-50`,`not-disabled:active:scale-97 ease-out transition-transform duration-150`,h({appearance:p,priority:C,isLoading:S}),p!==`link`&&`font-sans`,k&&x===`start`&&`ps-2.5`,k&&x===`end`&&`pe-2.5`,v),"data-appearance":p,"data-disabled":D,"data-loading":S,"data-priority":C,disabled:D,ref:E,...T};return g?(l(s(_)&&i.only(_),"When using `asChild`, Button must be passed a single child as a JSX tag."),d(r,{...A,children:a(_,{},f(u,{children:[O&&d(t,{svg:O,className:c(x===`end`&&`order-last`)}),_.props.children]}))})):f(`button`,{...A,type:w??`button`,children:[O&&d(t,{svg:O,className:c(x===`end`&&`order-last`)}),_]})});g.displayName=`Button`;export{g as t};
@@ -0,0 +1,71 @@
1
+ import { t as WithAsChild } from "./as-child-uN_018tj.js";
2
+ import { r as VariantProps } from "./index-Bed_XLWa.js";
3
+ import { ComponentProps, ReactNode } from "react";
4
+
5
+ //#region src/components/button/button.d.ts
6
+ declare const buttonVariants: (props?: ({
7
+ appearance?: "link" | "filled" | "ghost" | "outlined" | null | undefined;
8
+ isLoading?: boolean | null | undefined;
9
+ priority?: "danger" | "neutral" | "default" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ type ButtonVariants = VariantProps<typeof buttonVariants>;
12
+ /**
13
+ * The props for the `Button` component.
14
+ */
15
+ type ButtonProps = ComponentProps<"button"> & ButtonVariants & WithAsChild & {
16
+ /**
17
+ * An icon to render inside the button. If the `state` is `"pending"`, then
18
+ * the icon will automatically be replaced with a spinner.
19
+ */
20
+ icon?: ReactNode;
21
+ /**
22
+ * The side that the icon will render on, if one is present. If `state="pending"`,
23
+ * then the loading icon will also render on this side.
24
+ * @default "start"
25
+ */
26
+ iconPlacement?: "start" | "end";
27
+ /**
28
+ * The behavior of the button when activated. Defaults to `"button"`, so the
29
+ * button does not accidentally submit a surrounding `<form>` — pass
30
+ * `type="submit"` to submit a form, or `type="reset"` to reset it.
31
+ *
32
+ * When `asChild` is used, `type` has no effect and is not forwarded to the
33
+ * child, so a wrapped anchor never inherits a `button` `type`. See:
34
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#type
35
+ *
36
+ * @default "button"
37
+ * @enum
38
+ * - `"button"`: The button has no default behavior, and does nothing when pressed by default. It can have client-side scripts listen to the element's events, which are triggered when the events occur.
39
+ * - `"reset"`: The button resets all the controls to their initial values.
40
+ * - `"submit"`: The button submits the form data to the server.
41
+ *
42
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#type
43
+ */
44
+ type?: ComponentProps<"button">["type"];
45
+ };
46
+ /**
47
+ * Renders a button or a component that looks like a button, an interactive
48
+ * element activated by a user with a mouse, keyboard, finger, voice command, or
49
+ * other assistive technology. Once activated, it then performs an action, such
50
+ * as submitting a form or opening a dialog.
51
+ *
52
+ * @see https://mantle.ngrok.com/components/button
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * <Button appearance="filled" onClick={handleClick}>
57
+ * Click me
58
+ * </Button>
59
+ * ```
60
+ *
61
+ * @example
62
+ * Submit a form — opt in with `type="submit"` (the default `"button"` does not submit):
63
+ * ```tsx
64
+ * <Button type="submit" appearance="filled">
65
+ * Save
66
+ * </Button>
67
+ * ```
68
+ */
69
+ declare const Button: import("react").ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
70
+ //#endregion
71
+ export { ButtonProps as n, Button as t };
package/dist/button.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { n as IconButtonProps, t as IconButton } from "./icon-button-ntupABbM.js";
2
- import { n as ButtonProps, t as Button } from "./button-BXZ_JTu_.js";
3
- import { n as ButtonGroupProps, t as ButtonGroup } from "./index-DBZ3eRsl.js";
1
+ import { n as ButtonProps, t as Button } from "./button-mfYak6Rx.js";
2
+ import { n as IconButtonProps, t as IconButton } from "./icon-button-D7hs6bX2.js";
3
+ import { n as ButtonGroupProps, t as ButtonGroup } from "./index-CTU6apE6.js";
4
4
  export { Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, IconButton, type IconButtonProps };
package/dist/button.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./icon-button-C_Ht_g1C.js";import{t}from"./button-uMIZVKit.js";import{t as n}from"./button-BAxneEMu.js";export{t as Button,n as ButtonGroup,e as IconButton};
1
+ import{t as e}from"./icon-button-DUNHVWpb.js";import{t}from"./button-BfMn3PgP.js";import{t as n}from"./button-BAxneEMu.js";export{t as Button,n as ButtonGroup,e as IconButton};
@@ -26,7 +26,7 @@ type CalendarProps = ComponentProps<typeof DayPicker>;
26
26
  * />
27
27
  * ```
28
28
  *
29
- * https://github.com/ngrok-oss/mantle/issues
29
+ * https://github.com/ngrok/mantle/issues
30
30
  */
31
31
  declare function Calendar({
32
32
  className,
@@ -38,5 +38,4 @@ declare namespace Calendar {
38
38
  var displayName: string;
39
39
  }
40
40
  //#endregion
41
- export { Calendar, type CalendarProps, type DateRange };
42
- //# sourceMappingURL=calendar.d.ts.map
41
+ export { Calendar, type CalendarProps, type DateRange };
package/dist/calendar.js CHANGED
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{n,r}from"./icon-button-C_Ht_g1C.js";import{jsx as i}from"react/jsx-runtime";import{CaretLeftIcon as a}from"@phosphor-icons/react/CaretLeft";import{CaretRightIcon as o}from"@phosphor-icons/react/CaretRight";import{DayPicker as s}from"react-day-picker";function c({className:c,classNames:l,showOutsideDays:u=!1,...d}){return i(s,{"data-slot":`calendar`,animate:!1,components:{Chevron:e=>i(t,{svg:e.orientation===`left`?i(a,{}):i(o,{}),className:`size-4`})},classNames:{root:e(`isolate`,c),button_next:e(n,r({appearance:`ghost`,size:`sm`}),`absolute right-0`),button_previous:e(n,r({appearance:`ghost`,size:`sm`}),`absolute left-0`),caption_label:`text-sm font-medium`,day:e(`overflow-hidden text-center text-sm p-0 relative focus-within:relative focus-within:z-20 size-7 rounded-md`,d.mode===`range`?`first:has-aria-selected:rounded-l-md last:has-aria-selected:rounded-r-md`:``),day_button:`day size-full rounded-md not-aria-selected:not-disabled:hover:bg-filled-accent/15`,disabled:`text-muted opacity-50`,hidden:`invisible`,month:`space-y-4`,month_caption:`flex justify-center pt-1 relative items-center`,month_grid:`w-full border-collapse space-y-1`,months:`flex flex-col sm:flex-row gap-y-4 sm:gap-x-4 sm:gap-y-0 relative max-w-min`,nav:`flex items-center absolute inset-x-0 top-1 h-5 justify-between z-10`,outside:`day-outside aria-selected:text-on-filled opacity-50 text-muted`,range_end:`day-range-end [&:not(.day-range-start)]:rounded-l-none`,range_middle:`day-range-middle not-disabled:aria-selected:bg-filled-accent/15 aria-selected:text-strong rounded-none not-disabled:aria-selected:hover:bg-filled-accent/25`,range_start:`day-range-start [&:not(.day-range-end)]:rounded-r-none`,selected:`not-disabled:bg-filled-accent text-on-filled not-disabled:hover:bg-filled-accent`,today:`not-aria-selected:not-disabled:text-accent-600 font-medium not-aria-selected:not-disabled:bg-filled-accent/10 rounded-md`,week:`flex w-full mt-1`,weekday:`text-body w-7 text-[0.8rem] text-center font-normal`,weekdays:`flex`,...l},showOutsideDays:u,...d})}c.displayName=`Calendar`;export{c as Calendar};
2
- //# sourceMappingURL=calendar.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./icon-C8bYBIHW.js";import{n,r}from"./icon-button-DUNHVWpb.js";import{jsx as i}from"react/jsx-runtime";import{CaretLeftIcon as a}from"@phosphor-icons/react/CaretLeft";import{CaretRightIcon as o}from"@phosphor-icons/react/CaretRight";import{DayPicker as s}from"react-day-picker";function c({className:c,classNames:l,showOutsideDays:u=!1,...d}){return i(s,{"data-slot":`calendar`,animate:!1,components:{Chevron:e=>i(t,{svg:e.orientation===`left`?i(a,{}):i(o,{}),className:`size-4`})},classNames:{root:e(`isolate`,c),button_next:e(n,r({appearance:`ghost`,size:`sm`}),`absolute right-0`),button_previous:e(n,r({appearance:`ghost`,size:`sm`}),`absolute left-0`),caption_label:`text-sm font-medium`,day:e(`overflow-hidden text-center text-sm p-0 relative focus-within:relative focus-within:z-20 size-7 rounded-md`,d.mode===`range`?`first:has-aria-selected:rounded-l-md last:has-aria-selected:rounded-r-md`:``),day_button:`day size-full rounded-md not-aria-selected:not-disabled:hover:bg-filled-accent/15`,disabled:`text-muted opacity-50`,hidden:`invisible`,month:`space-y-4`,month_caption:`flex justify-center pt-1 relative items-center`,month_grid:`w-full border-collapse space-y-1`,months:`flex flex-col sm:flex-row gap-y-4 sm:gap-x-4 sm:gap-y-0 relative max-w-min`,nav:`flex items-center absolute inset-x-0 top-1 h-5 justify-between z-10`,outside:`day-outside aria-selected:text-on-filled opacity-50 text-muted`,range_end:`day-range-end [&:not(.day-range-start)]:rounded-l-none`,range_middle:`day-range-middle not-disabled:aria-selected:bg-filled-accent/15 aria-selected:text-strong rounded-none not-disabled:aria-selected:hover:bg-filled-accent/25`,range_start:`day-range-start [&:not(.day-range-end)]:rounded-r-none`,selected:`not-disabled:bg-filled-accent text-on-filled not-disabled:hover:bg-filled-accent`,today:`not-aria-selected:not-disabled:text-accent-600 font-medium not-aria-selected:not-disabled:bg-filled-accent/10 rounded-md`,week:`flex w-full mt-1`,weekday:`text-body w-7 text-[0.8rem] text-center font-normal`,weekdays:`flex`,...l},showOutsideDays:u,...d})}c.displayName=`Calendar`;export{c as Calendar};
package/dist/card.d.ts CHANGED
@@ -137,5 +137,4 @@ declare const Card: {
137
137
  readonly Title: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLHeadingElement> & WithAsChild & import("react").RefAttributes<HTMLHeadingElement>>;
138
138
  };
139
139
  //#endregion
140
- export { Card, type CardProps, type CardTitleProps };
141
- //# sourceMappingURL=card.d.ts.map
140
+ export { Card, type CardProps, type CardTitleProps };
package/dist/card.js CHANGED
@@ -1,2 +1 @@
1
- import{t as e}from"./cx-CBSnSC36.js";import{t}from"./slot-CV5fmqFr.js";import{forwardRef as n}from"react";import{jsx as r}from"react/jsx-runtime";const i=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card`,className:e(`border-card bg-card relative rounded-md border`,i),...o,children:a}));i.displayName=`Card`;const a=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card-body`,className:e(`p-6 border-t border-card-muted first:border-t-0`,i),...o,children:a}));a.displayName=`CardBody`;const o=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card-footer`,className:e(`px-6 py-3 border-t border-card-muted first:border-t-0`,i),...o,children:a}));o.displayName=`CardFooter`;const s=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card-header`,className:e(`px-6 py-3 border-t border-card-muted first:border-t-0`,i),...o,children:a}));s.displayName=`CardHeader`;const c=n(({className:n,asChild:i,...a},o)=>r(i?t:`h3`,{ref:o,"data-slot":`card-title`,className:e(`text-strong text-base font-medium`,n),...a}));c.displayName=`CardTitle`;const l={Root:i,Body:a,Footer:o,Header:s,Title:c};export{l as Card};
2
- //# sourceMappingURL=card.js.map
1
+ import{t as e}from"./cx-CBSnSC36.js";import{t}from"./slot-CV5fmqFr.js";import{forwardRef as n}from"react";import{jsx as r}from"react/jsx-runtime";const i=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card`,className:e(`border-card bg-card relative rounded-md border`,i),...o,children:a}));i.displayName=`Card`;const a=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card-body`,className:e(`p-6 border-t border-card-muted first:border-t-0`,i),...o,children:a}));a.displayName=`CardBody`;const o=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card-footer`,className:e(`px-6 py-3 border-t border-card-muted first:border-t-0`,i),...o,children:a}));o.displayName=`CardFooter`;const s=n(({asChild:n=!1,className:i,children:a,...o},s)=>r(n?t:`div`,{ref:s,"data-slot":`card-header`,className:e(`px-6 py-3 border-t border-card-muted first:border-t-0`,i),...o,children:a}));s.displayName=`CardHeader`;const c=n(({className:n,asChild:i,...a},o)=>r(i?t:`h3`,{ref:o,"data-slot":`card-title`,className:e(`text-strong text-base font-medium`,n),...a}));c.displayName=`CardTitle`;const l={Root:i,Body:a,Footer:o,Header:s,Title:c};export{l as Card};
@@ -58,5 +58,4 @@ declare function selectAllChecked({
58
58
  someSelected: boolean;
59
59
  }): CheckedState;
60
60
  //#endregion
61
- export { Checkbox, type CheckedState, selectAllChecked };
62
- //# sourceMappingURL=checkbox.d.ts.map
61
+ export { Checkbox, type CheckedState, selectAllChecked };
package/dist/checkbox.js CHANGED
@@ -1,2 +1 @@
1
- import{t as e}from"./compose-refs-Cjf2gfB8.js";import{a as t,r as n}from"./validation-DCyx-ceH.js";import{forwardRef as r,useEffect as i,useRef as a,useState as o}from"react";import s from"clsx";import{jsx as c}from"react/jsx-runtime";const l=e=>e===`indeterminate`,u=r(({"aria-invalid":r,className:u,checked:d,defaultChecked:f,defaultValue:p=`on`,onClick:m,readOnly:h,validation:g,..._},v)=>{let y=a(null),[b]=o(f),x=t(),{ariaInvalid:S,validation:C}=n({"aria-invalid":r,validation:g??x}),w=d??b;i(()=>{y.current&&(y.current.indeterminate=l(w))},[w]);let T=d==null?{defaultChecked:l(b)?void 0:b}:{checked:l(d)?!1:d};return c(`input`,{"aria-checked":l(d)?`mixed`:d,"aria-invalid":S,"data-slot":`checkbox`,className:s(`border-form bg-form shrink-0 cursor-pointer select-none appearance-none rounded border disabled:cursor-default disabled:opacity-50`,`bg-center bg-no-repeat focus:outline-hidden`,`focus-visible:border-accent-600 focus-visible:ring-focus-accent focus-visible:outline-hidden focus-visible:ring-4`,`checked:border-accent-600 checked:bg-accent-600 checked:bg-checked-icon`,`indeterminate:border-accent-600 indeterminate:bg-accent-600 indeterminate:bg-indeterminate-icon`,`data-validation-success:border-success-600 data-validation-success:checked:bg-success-600 data-validation-success:indeterminate:bg-success-600 focus-visible:data-validation-success:border-success-600 focus-visible:data-validation-success:ring-focus-success`,`data-validation-warning:border-warning-600 data-validation-warning:checked:bg-warning-600 data-validation-warning:indeterminate:bg-warning-600 focus-visible:data-validation-warning:border-warning-600 focus-visible:data-validation-warning:ring-focus-warning`,`data-validation-error:border-danger-600 data-validation-error:checked:bg-danger-600 data-validation-error:indeterminate:bg-danger-600 focus-visible:data-validation-error:border-danger-600 focus-visible:data-validation-error:ring-focus-danger`,`where:block where:size-4 where:p-0`,u),...T,"data-validation":C||void 0,defaultValue:p,onClick:e=>{if(h){e.preventDefault();return}m?.(e)},readOnly:h,ref:e(y,v),type:`checkbox`,..._})});u.displayName=`Checkbox`;function d({allSelected:e,someSelected:t}){return e?!0:t?`indeterminate`:!1}export{u as Checkbox,d as selectAllChecked};
2
- //# sourceMappingURL=checkbox.js.map
1
+ import{t as e}from"./compose-refs-Cjf2gfB8.js";import{a as t,r as n}from"./validation-DCyx-ceH.js";import{forwardRef as r,useEffect as i,useRef as a,useState as o}from"react";import s from"clsx";import{jsx as c}from"react/jsx-runtime";const l=e=>e===`indeterminate`,u=r(({"aria-invalid":r,className:u,checked:d,defaultChecked:f,defaultValue:p=`on`,onClick:m,readOnly:h,validation:g,..._},v)=>{let y=a(null),[b]=o(f),x=t(),{ariaInvalid:S,validation:C}=n({"aria-invalid":r,validation:g??x}),w=d??b;i(()=>{y.current&&(y.current.indeterminate=l(w))},[w]);let T=d==null?{defaultChecked:l(b)?void 0:b}:{checked:l(d)?!1:d};return c(`input`,{"aria-checked":l(d)?`mixed`:d,"aria-invalid":S,"data-slot":`checkbox`,className:s(`border-form bg-form shrink-0 cursor-pointer select-none appearance-none rounded border disabled:cursor-default disabled:opacity-50`,`bg-center bg-no-repeat focus:outline-hidden`,`focus-visible:border-accent-600 focus-visible:ring-focus-accent focus-visible:outline-hidden focus-visible:ring-4`,`checked:border-accent-600 checked:bg-accent-600 checked:bg-checked-icon`,`indeterminate:border-accent-600 indeterminate:bg-accent-600 indeterminate:bg-indeterminate-icon`,`data-validation-success:border-success-600 data-validation-success:checked:bg-success-600 data-validation-success:indeterminate:bg-success-600 focus-visible:data-validation-success:border-success-600 focus-visible:data-validation-success:ring-focus-success`,`data-validation-warning:border-warning-600 data-validation-warning:checked:bg-warning-600 data-validation-warning:indeterminate:bg-warning-600 focus-visible:data-validation-warning:border-warning-600 focus-visible:data-validation-warning:ring-focus-warning`,`data-validation-error:border-danger-600 data-validation-error:checked:bg-danger-600 data-validation-error:indeterminate:bg-danger-600 focus-visible:data-validation-error:border-danger-600 focus-visible:data-validation-error:ring-focus-danger`,`where:block where:size-4 where:p-0`,u),...T,"data-validation":C||void 0,defaultValue:p,onClick:e=>{if(h){e.preventDefault();return}m?.(e)},readOnly:h,ref:e(y,v),type:`checkbox`,..._})});u.displayName=`Checkbox`;function d({allSelected:e,someSelected:t}){return e?!0:t?`indeterminate`:!1}export{u as Checkbox,d as selectAllChecked};
@@ -416,6 +416,81 @@ declare const CodeBlock: {
416
416
  } & import("react").RefAttributes<HTMLHeadingElement>>;
417
417
  };
418
418
  //#endregion
419
+ //#region src/components/code-block/json-highlight.d.ts
420
+ /**
421
+ * Tokenize a JSON string into the same per-line, CSS-variable-colored span markup
422
+ * that Mantle's server/build-time Shiki highlighter produces — without shipping
423
+ * Shiki (or any grammar/theme/WASM) to the browser.
424
+ *
425
+ * Byte-for-byte parity with `extractHighlightedCodeInnerHtml(shiki.codeToHtml(code, …))`
426
+ * is guaranteed for **canonical `JSON.stringify` output** — the only shape
427
+ * {@link jsonCodeBlockValue} ever feeds it (2-space indent: an opener is always
428
+ * followed by a newline, never inline whitespace; line endings are `\n`). That
429
+ * exact-parity set is locked by the `json-*.fixtures` golden tests. Other valid
430
+ * but non-canonical JSON is highlighted on a best-effort basis and may diverge
431
+ * from Shiki in cosmetic ways: arbitrary inter-token whitespace attaches to the
432
+ * following token rather than the preceding one, and scopes Shiki treats
433
+ * specially (e.g. `invalid.illegal` escapes) are colored as ordinary tokens.
434
+ * CRLF input is normalized to `\n`.
435
+ *
436
+ * Expects well-formed JSON. The result is the inner HTML for a `<code>` element;
437
+ * feed it through `decorateHighlightedHtml` (as `jsonCodeBlockValue` does) for the
438
+ * final `CodeBlock.Code` markup.
439
+ *
440
+ * @example
441
+ * ```ts
442
+ * jsonToShikiHtml('{\n "id": 1\n}');
443
+ * // '<span class="line"><span style="color:var(--shiki-foreground)">{</span></span>\n…'
444
+ * ```
445
+ */
446
+ declare function jsonToShikiHtml(code: string): string;
447
+ /** Options for {@link jsonCodeBlockValue}. */
448
+ type JsonCodeBlockValueOptions = {
449
+ /**
450
+ * Whether to render line numbers. Defaults to `false` — detail panels usually
451
+ * read better without a gutter.
452
+ */
453
+ showLineNumbers?: boolean | undefined;
454
+ /**
455
+ * Whether multi-line objects and arrays get collapsible fold toggles, matching
456
+ * every other JSON `CodeBlock`. Uses the same `computeJsonFoldRanges` the
457
+ * server/build pipeline uses, so the fold markup is identical. Defaults to
458
+ * `true`; set `false` for a flat, non-collapsible panel.
459
+ */
460
+ foldable?: boolean | undefined;
461
+ };
462
+ /**
463
+ * Build a `MantleCodeBlockValue` that renders a value as syntax-highlighted JSON
464
+ * entirely on the client — no Shiki runtime, no build-time plugin, no server
465
+ * roundtrip. The value is `JSON.stringify`'d (2-space indent), tokenized to
466
+ * Shiki-identical markup by {@link jsonToShikiHtml}, and decorated with the same
467
+ * `decorateHighlightedHtml` the server pipeline uses, so it looks identical to a
468
+ * server/build-time highlighted block and adapts to light/dark themes for free.
469
+ *
470
+ * By default, multi-line objects and arrays get collapsible fold toggles (opt
471
+ * out with `foldable: false`) — also identical to server/build-time blocks,
472
+ * since both compute ranges with the same `computeJsonFoldRanges`.
473
+ *
474
+ * Pass the result straight to `CodeBlock.Code`'s `value` prop. Ideal for
475
+ * inspecting a row's underlying object inside a `DataTable.ExpandedRow`.
476
+ *
477
+ * @example
478
+ * ```tsx
479
+ * import { CodeBlock, jsonCodeBlockValue } from "@ngrok/mantle/code-block";
480
+ *
481
+ * <CodeBlock.Root>
482
+ * <CodeBlock.Body>
483
+ * <CodeBlock.CopyButton />
484
+ * <CodeBlock.Code value={jsonCodeBlockValue(row.original)} />
485
+ * </CodeBlock.Body>
486
+ * </CodeBlock.Root>
487
+ * ```
488
+ */
489
+ declare function jsonCodeBlockValue(value: unknown, {
490
+ showLineNumbers,
491
+ foldable
492
+ }?: JsonCodeBlockValueOptions): MantleCodeBlockValue;
493
+ //#endregion
419
494
  //#region src/components/code-block/escape-html.d.ts
420
495
  /**
421
496
  * Escapes special HTML characters in a string to their corresponding
@@ -447,5 +522,4 @@ declare function escapeHtml(value: string): string;
447
522
  */
448
523
  declare function hasMoreThanNLines(value: string, maxLines: number): boolean;
449
524
  //#endregion
450
- export { CodeBlock, type CodeBlockPreElementInput, type ComputeFoldRangesInput, type DefaultMeta, type FoldExplanation, type FoldLine, type FoldScope, type FoldStrategy, type FoldToken, type FoldableRange, type Indentation, type LineRange, type MantleCodeBlockValue, type MantleCodeOptions, type Meta, type MetaInput, type Mode, type ResolvePreRenderedCodeBlockPropsInput, type ResolvePreRenderedCodeBlockPropsResult, type ResolvedPreRenderedCodeBlockProps, type SupportedLanguage, computeFoldRanges, computeJsonFoldRanges, createMantleCodeBlockValue, decorateHighlightedHtml, defaultMeta, escapeHtml, finalizeFoldRanges, foldStrategyFor, hasMoreThanNLines, inferIndentation, isIndentation, isSupportedLanguage, mantleCode, normalizeIndentation, normalizeValue, parseCodeBlockHighlightLines, parseCodeBlockLineNumberStart, parseCodeBlockShowLineNumbers, parseLanguage, parseMetastring, resolvePreRenderedCodeBlockProps, supportedLanguages, tokenizeMetastring };
451
- //# sourceMappingURL=code-block.d.ts.map
525
+ export { CodeBlock, type CodeBlockPreElementInput, type ComputeFoldRangesInput, type DefaultMeta, type FoldExplanation, type FoldLine, type FoldScope, type FoldStrategy, type FoldToken, type FoldableRange, type Indentation, type JsonCodeBlockValueOptions, type LineRange, type MantleCodeBlockValue, type MantleCodeOptions, type Meta, type MetaInput, type Mode, type ResolvePreRenderedCodeBlockPropsInput, type ResolvePreRenderedCodeBlockPropsResult, type ResolvedPreRenderedCodeBlockProps, type SupportedLanguage, computeFoldRanges, computeJsonFoldRanges, createMantleCodeBlockValue, decorateHighlightedHtml, defaultMeta, escapeHtml, finalizeFoldRanges, foldStrategyFor, hasMoreThanNLines, inferIndentation, isIndentation, isSupportedLanguage, jsonCodeBlockValue, jsonToShikiHtml, mantleCode, normalizeIndentation, normalizeValue, parseCodeBlockHighlightLines, parseCodeBlockLineNumberStart, parseCodeBlockShowLineNumbers, parseLanguage, parseMetastring, resolvePreRenderedCodeBlockProps, supportedLanguages, tokenizeMetastring };