@gentleduck/docs 0.0.14 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/arrow-CU5T6t_D-BA13FgoC.js +2 -0
  2. package/dist/arrow-CU5T6t_D-BA13FgoC.js.map +1 -0
  3. package/dist/{callout-C_FrO3-r.d.ts → callout-BljL1am5.d.ts} +6 -3
  4. package/dist/callout-BljL1am5.d.ts.map +1 -0
  5. package/dist/callout-DkKMc7na.js +2 -0
  6. package/dist/callout-DkKMc7na.js.map +1 -0
  7. package/dist/client.d.ts +35 -35
  8. package/dist/client.js +1 -1
  9. package/dist/{code-block-B-PLa30f.d.ts → code-block-m30mdI9p.d.ts} +3 -3
  10. package/dist/{code-block-B-PLa30f.d.ts.map → code-block-m30mdI9p.d.ts.map} +1 -1
  11. package/dist/{code-block-wrapper-BM4jRJHq.d.ts → code-block-wrapper-B03D2UFo.d.ts} +3 -3
  12. package/dist/{code-block-wrapper-BM4jRJHq.d.ts.map → code-block-wrapper-B03D2UFo.d.ts.map} +1 -1
  13. package/dist/{code-preview-DST_xvt7.d.ts → code-preview-C_w-RQJy.d.ts} +3 -3
  14. package/dist/{code-preview-DST_xvt7.d.ts.map → code-preview-C_w-RQJy.d.ts.map} +1 -1
  15. package/dist/code-preview-CosZjiht.js +2 -0
  16. package/dist/code-preview-CosZjiht.js.map +1 -0
  17. package/dist/command-menu-Da3HJhYE.d.ts +7 -0
  18. package/dist/command-menu-Da3HJhYE.d.ts.map +1 -0
  19. package/dist/{component-preview-K8cndl5t.d.ts → component-preview-BFirIcu2.d.ts} +4 -4
  20. package/dist/{component-preview-K8cndl5t.d.ts.map → component-preview-BFirIcu2.d.ts.map} +1 -1
  21. package/dist/{component-source-Ch59vA1U.d.ts → component-source-BV9w0kxF.d.ts} +3 -3
  22. package/dist/{component-source-Ch59vA1U.d.ts.map → component-source-BV9w0kxF.d.ts.map} +1 -1
  23. package/dist/components/copy-button.d.ts +1 -1
  24. package/dist/components/docs/docs-copy-page.d.ts +1 -1
  25. package/dist/components/docs/docs-copy-page.js +1 -1
  26. package/dist/components/docs/docs-pager.d.ts +2 -2
  27. package/dist/components/docs/docs-sidebar.d.ts +2 -2
  28. package/dist/components/docs/docs-toc.d.ts +2 -2
  29. package/dist/components/docs/docs-toc.js +1 -1
  30. package/dist/components/docs/index.d.ts +5 -5
  31. package/dist/components/docs/index.js +1 -1
  32. package/dist/components/icons.d.ts +1 -1
  33. package/dist/components/index.d.ts +32 -32
  34. package/dist/components/index.js +1 -1
  35. package/dist/components/layouts/command-menu.d.ts +1 -1
  36. package/dist/components/layouts/header-shell.d.ts +1 -1
  37. package/dist/components/layouts/index.d.ts +5 -5
  38. package/dist/components/layouts/site-footer.d.ts +1 -1
  39. package/dist/components/layouts/site-header.d.ts +2 -2
  40. package/dist/components/layouts/tailwind-indicator.d.ts +1 -1
  41. package/dist/components/main-nav.d.ts +1 -1
  42. package/dist/components/mdx/mdx-components/callout.d.ts +1 -1
  43. package/dist/components/mdx/mdx-components/callout.js +1 -1
  44. package/dist/components/mdx/mdx-components/code/code-block-wrapper.d.ts +1 -1
  45. package/dist/components/mdx/mdx-components/code/code-block.d.ts +1 -1
  46. package/dist/components/mdx/mdx-components/code/code-preview.d.ts +1 -1
  47. package/dist/components/mdx/mdx-components/code/code-preview.js +1 -1
  48. package/dist/components/mdx/mdx-components/code/component-preview.d.ts +1 -1
  49. package/dist/components/mdx/mdx-components/code/component-source.d.ts +1 -1
  50. package/dist/components/mdx/mdx-components/code/figcaption-block.d.ts +1 -1
  51. package/dist/components/mdx/mdx-components/code/index.d.ts +8 -8
  52. package/dist/components/mdx/mdx-components/code/index.js +1 -1
  53. package/dist/components/mdx/mdx-components/code/mermaid-block.d.ts +1 -1
  54. package/dist/components/mdx/mdx-components/code/mermaid-block.js +1 -1
  55. package/dist/components/mdx/mdx-components/code/pre-block/index.d.ts +1 -1
  56. package/dist/components/mdx/mdx-components/code/pre-block/pre-block.d.ts +1 -1
  57. package/dist/components/mdx/mdx-components/code/pre-block/shell-command.d.ts +2 -2
  58. package/dist/components/mdx/mdx-components/code/span-block.d.ts +2 -2
  59. package/dist/components/mdx/mdx-components/components-list.d.ts +2 -2
  60. package/dist/components/mdx/mdx-components/exalidraw.d.ts +2 -2
  61. package/dist/components/mdx/mdx-components/exalidraw.d.ts.map +1 -1
  62. package/dist/components/mdx/mdx-components/index.d.ts +14 -14
  63. package/dist/components/mdx/mdx-components/index.js +1 -1
  64. package/dist/components/mdx/mdx-components/table.d.ts +1 -1
  65. package/dist/components/mdx/mdx-components/tabs.d.ts +1 -1
  66. package/dist/components/mdx/mdx-components/typepography.d.ts +1 -1
  67. package/dist/components/mdx/mdx-components/typography.d.ts +1 -1
  68. package/dist/components/mdx/mdx-components-base.d.ts +35 -35
  69. package/dist/components/mdx/mdx-components-base.d.ts.map +1 -1
  70. package/dist/components/mdx/mdx-components-base.js +1 -1
  71. package/dist/components/mdx/mdx-components-registry.d.ts +54 -54
  72. package/dist/components/mdx/mdx-components-registry.js +1 -1
  73. package/dist/components/mdx/mdx-components-ui.d.ts +17 -17
  74. package/dist/components/mdx/mdx-icons.d.ts +9 -9
  75. package/dist/components/mdx/mdx-icons.d.ts.map +1 -1
  76. package/dist/components/mdx/mdx.d.ts +1 -1
  77. package/dist/components/mdx/mdx.js +1 -1
  78. package/dist/components/mobile-nav.d.ts +1 -1
  79. package/dist/components/mode-toggle.d.ts +1 -1
  80. package/dist/components/page-header.d.ts +1 -1
  81. package/dist/components/providers.d.ts +1 -1
  82. package/dist/components/style-switcher.d.ts +1 -1
  83. package/dist/components/style-switcher.js +1 -1
  84. package/dist/{components-list-COrPlZeD.d.ts → components-list-C67E8feA.d.ts} +3 -3
  85. package/dist/{components-list-COrPlZeD.d.ts.map → components-list-C67E8feA.d.ts.map} +1 -1
  86. package/dist/context/context.d.ts +1 -1
  87. package/dist/context/index.d.ts +1 -1
  88. package/dist/{context-jLJ1ef7m.d.ts → context-G6fO8z8e.d.ts} +3 -3
  89. package/dist/{context-jLJ1ef7m.d.ts.map → context-G6fO8z8e.d.ts.map} +1 -1
  90. package/dist/{copy-button-CCqEsELt.d.ts → copy-button-DTBIjulx.d.ts} +3 -3
  91. package/dist/{copy-button-CCqEsELt.d.ts.map → copy-button-DTBIjulx.d.ts.map} +1 -1
  92. package/dist/{docs-copy-page-Dr_nxgGI.d.ts → docs-copy-page-B2M0pWVO.d.ts} +3 -3
  93. package/dist/{docs-copy-page-Dr_nxgGI.d.ts.map → docs-copy-page-B2M0pWVO.d.ts.map} +1 -1
  94. package/dist/{docs-copy-page-CPk7TsfY.js → docs-copy-page-QXgUbioW.js} +2 -2
  95. package/dist/{docs-copy-page-CPk7TsfY.js.map → docs-copy-page-QXgUbioW.js.map} +1 -1
  96. package/dist/{docs-pager-B8tRIKlg.d.ts → docs-pager-DJz0NlHj.d.ts} +4 -4
  97. package/dist/{docs-pager-B8tRIKlg.d.ts.map → docs-pager-DJz0NlHj.d.ts.map} +1 -1
  98. package/dist/{docs-sidebar-DfybXB8i.d.ts → docs-sidebar-COOZU42U.d.ts} +5 -5
  99. package/dist/{docs-sidebar-DfybXB8i.d.ts.map → docs-sidebar-COOZU42U.d.ts.map} +1 -1
  100. package/dist/docs-toc-Bjmkbd6l.js +2 -0
  101. package/dist/docs-toc-Bjmkbd6l.js.map +1 -0
  102. package/dist/{docs-toc-D-y66YCw.d.ts → docs-toc-DFIdveuV.d.ts} +3 -3
  103. package/dist/docs-toc-DFIdveuV.d.ts.map +1 -0
  104. package/dist/drawer-kwSiurIF.js.map +1 -1
  105. package/dist/{figcaption-block-BywypQCe.d.ts → figcaption-block-CE5oSXqV.d.ts} +3 -3
  106. package/dist/{figcaption-block-BywypQCe.d.ts.map → figcaption-block-CE5oSXqV.d.ts.map} +1 -1
  107. package/dist/{header-shell-DkmS4hnL.d.ts → header-shell-BD_KZp5P.d.ts} +6 -6
  108. package/dist/{header-shell-DkmS4hnL.d.ts.map → header-shell-BD_KZp5P.d.ts.map} +1 -1
  109. package/dist/hooks/index.d.ts +3 -3
  110. package/dist/hooks/use-colors.d.ts +1 -1
  111. package/dist/hooks/use-config.d.ts +1 -1
  112. package/dist/hooks/use-themes-config.d.ts +1 -1
  113. package/dist/icons-CEKc8KIK.d.ts +33 -0
  114. package/dist/{icons-DyZHG9BC.d.ts.map → icons-CEKc8KIK.d.ts.map} +1 -1
  115. package/dist/main-nav-Ctrj2x2N.d.ts +7 -0
  116. package/dist/main-nav-Ctrj2x2N.d.ts.map +1 -0
  117. package/dist/{mdx-D0Kp6lsv.js → mdx-CpGlQTio.js} +2 -2
  118. package/dist/{mdx-D0Kp6lsv.js.map → mdx-CpGlQTio.js.map} +1 -1
  119. package/dist/{mdx-components-base-CXqWNN8M.js → mdx-components-base-ByG7D4Kc.js} +2 -2
  120. package/dist/{mdx-components-base-CXqWNN8M.js.map → mdx-components-base-ByG7D4Kc.js.map} +1 -1
  121. package/dist/mdx-components-registry-H3xD8Epe.js +2 -0
  122. package/dist/{mdx-components-registry-C12f6wSV.js.map → mdx-components-registry-H3xD8Epe.js.map} +1 -1
  123. package/dist/mdx-h6JettMS.d.ts +12 -0
  124. package/dist/{mdx-Cjg68fQA.d.ts.map → mdx-h6JettMS.d.ts.map} +1 -1
  125. package/dist/{mermaid-block-zasLfGio.js → mermaid-block-BfbjIpjJ.js} +2 -2
  126. package/dist/{mermaid-block-zasLfGio.js.map → mermaid-block-BfbjIpjJ.js.map} +1 -1
  127. package/dist/{mermaid-block--sl7UWp2.d.ts → mermaid-block-rybOJWpg.d.ts} +3 -3
  128. package/dist/{mermaid-block--sl7UWp2.d.ts.map → mermaid-block-rybOJWpg.d.ts.map} +1 -1
  129. package/dist/mobile-nav-AFA-q06-.d.ts +7 -0
  130. package/dist/mobile-nav-AFA-q06-.d.ts.map +1 -0
  131. package/dist/mode-toggle-DWWbLZRs.d.ts +7 -0
  132. package/dist/mode-toggle-DWWbLZRs.d.ts.map +1 -0
  133. package/dist/{page-header-BNqr7gpZ.d.ts → page-header-DQCmkWDX.d.ts} +6 -6
  134. package/dist/{page-header-BNqr7gpZ.d.ts.map → page-header-DQCmkWDX.d.ts.map} +1 -1
  135. package/dist/{pre-block-DvvPHwIA.d.ts → pre-block-F_4-UA8l.d.ts} +3 -3
  136. package/dist/{pre-block-DvvPHwIA.d.ts.map → pre-block-F_4-UA8l.d.ts.map} +1 -1
  137. package/dist/{providers-BI7hm1su.d.ts → providers-B0ODnIm1.d.ts} +3 -3
  138. package/dist/providers-B0ODnIm1.d.ts.map +1 -0
  139. package/dist/rehype-mermaid-Be9A3aSw.js +17 -0
  140. package/dist/rehype-mermaid-Be9A3aSw.js.map +1 -0
  141. package/dist/rehype-mermaid-DPZ6UzOu.d.ts.map +1 -1
  142. package/dist/site-footer-w_qK7a_h.d.ts +8 -0
  143. package/dist/site-footer-w_qK7a_h.d.ts.map +1 -0
  144. package/dist/site-header-O1FU0XVF.d.ts +8 -0
  145. package/dist/site-header-O1FU0XVF.d.ts.map +1 -0
  146. package/dist/{style-switcher-BFkgsXlx.js → style-switcher--saWXPVm.js} +2 -2
  147. package/dist/{style-switcher-BFkgsXlx.js.map → style-switcher--saWXPVm.js.map} +1 -1
  148. package/dist/{style-switcher-B0i_slue.d.ts → style-switcher-DNuoC5KO.d.ts} +3 -3
  149. package/dist/{style-switcher-B0i_slue.d.ts.map → style-switcher-DNuoC5KO.d.ts.map} +1 -1
  150. package/dist/{table-5xep6A9Y.d.ts → table-DRHiU2Ab.d.ts} +6 -6
  151. package/dist/table-DRHiU2Ab.d.ts.map +1 -0
  152. package/dist/{tabs-BJcH-Dvh.d.ts → tabs-DwusxM55.d.ts} +6 -6
  153. package/dist/{tabs-BJcH-Dvh.d.ts.map → tabs-DwusxM55.d.ts.map} +1 -1
  154. package/dist/tailwind-indicator-BffzhANl.d.ts +7 -0
  155. package/dist/tailwind-indicator-BffzhANl.d.ts.map +1 -0
  156. package/dist/{typepography-D0UONiAu.d.ts → typepography-DMTlGGcT.d.ts} +13 -13
  157. package/dist/typepography-DMTlGGcT.d.ts.map +1 -0
  158. package/dist/{use-colors-BF9FOADD.d.ts → use-colors-CBAXuqtP.d.ts} +2 -2
  159. package/dist/use-colors-CBAXuqtP.d.ts.map +1 -0
  160. package/dist/{use-config-DKOEW76q.d.ts → use-config-3gNoFPn6.d.ts} +3 -3
  161. package/dist/{use-config-DKOEW76q.d.ts.map → use-config-3gNoFPn6.d.ts.map} +1 -1
  162. package/dist/{use-themes-config-I8d5A3YB.d.ts → use-themes-config-DfxLBbQI.d.ts} +3 -3
  163. package/dist/use-themes-config-DfxLBbQI.d.ts.map +1 -0
  164. package/dist/velite/config.d.ts.map +1 -1
  165. package/dist/velite/config.js +1 -1
  166. package/dist/velite/config.js.map +1 -1
  167. package/dist/velite/index.js +1 -1
  168. package/dist/velite/plugins/index.js +1 -1
  169. package/dist/velite/plugins/rehype-mermaid.js +1 -1
  170. package/package.json +15 -15
  171. package/src/components/docs/docs-toc.tsx +41 -39
  172. package/src/components/mdx/mdx-components/callout.tsx +21 -1
  173. package/src/components/mdx/mdx-components/code/code-preview.tsx +4 -4
  174. package/src/velite/config.ts +5 -1
  175. package/src/velite/plugins/rehype-mermaid.ts +17 -2
  176. package/dist/arrow-CU5T6t_D-Cs2Ykttv.js +0 -2
  177. package/dist/arrow-CU5T6t_D-Cs2Ykttv.js.map +0 -1
  178. package/dist/callout-C_FrO3-r.d.ts.map +0 -1
  179. package/dist/callout-WZt8I4Tj.js +0 -2
  180. package/dist/callout-WZt8I4Tj.js.map +0 -1
  181. package/dist/code-preview--lq9QGa0.js +0 -2
  182. package/dist/code-preview--lq9QGa0.js.map +0 -1
  183. package/dist/command-menu-D4LwSLnr.d.ts +0 -7
  184. package/dist/command-menu-D4LwSLnr.d.ts.map +0 -1
  185. package/dist/docs-toc-D-y66YCw.d.ts.map +0 -1
  186. package/dist/docs-toc-hcordVHk.js +0 -2
  187. package/dist/docs-toc-hcordVHk.js.map +0 -1
  188. package/dist/icons-DyZHG9BC.d.ts +0 -33
  189. package/dist/main-nav-vyEIJEhN.d.ts +0 -7
  190. package/dist/main-nav-vyEIJEhN.d.ts.map +0 -1
  191. package/dist/mdx-Cjg68fQA.d.ts +0 -12
  192. package/dist/mdx-components-registry-C12f6wSV.js +0 -2
  193. package/dist/mobile-nav-CRH545YU.d.ts +0 -7
  194. package/dist/mobile-nav-CRH545YU.d.ts.map +0 -1
  195. package/dist/mode-toggle-CNBqTwkg.d.ts +0 -7
  196. package/dist/mode-toggle-CNBqTwkg.d.ts.map +0 -1
  197. package/dist/providers-BI7hm1su.d.ts.map +0 -1
  198. package/dist/rehype-mermaid-Ctag2Ywx.js +0 -17
  199. package/dist/rehype-mermaid-Ctag2Ywx.js.map +0 -1
  200. package/dist/site-footer-By5G_jLv.d.ts +0 -8
  201. package/dist/site-footer-By5G_jLv.d.ts.map +0 -1
  202. package/dist/site-header-lVtvm8N5.d.ts +0 -8
  203. package/dist/site-header-lVtvm8N5.d.ts.map +0 -1
  204. package/dist/table-5xep6A9Y.d.ts.map +0 -1
  205. package/dist/tailwind-indicator-DoT2AWBN.d.ts +0 -7
  206. package/dist/tailwind-indicator-DoT2AWBN.d.ts.map +0 -1
  207. package/dist/typepography-D0UONiAu.d.ts.map +0 -1
  208. package/dist/use-colors-BF9FOADD.d.ts.map +0 -1
  209. package/dist/use-themes-config-I8d5A3YB.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid-block--sl7UWp2.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/code/mermaid-block.tsx"],"sourcesContent":[],"mappings":";;;UAQiB,iBAAA;;;EAAA,OAAA,CAAA,EAAA,MAAA;EAWD,SAAA,CAAA,EAAA,MAAY;;;;;;iBAAZ,YAAA,QAAoB,oBAAiB,mBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"mermaid-block-rybOJWpg.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/code/mermaid-block.tsx"],"sourcesContent":[],"mappings":";;;UAQiB,iBAAA;;;EAAA,OAAA,CAAA,EAAA,MAAA;EAWD,SAAA,CAAA,EAAA,MAAY;;;;;;iBAAZ,YAAA,QAAoB,oBAAiB,mBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime48 from "react/jsx-runtime";
2
+
3
+ //#region src/components/mobile-nav.d.ts
4
+ declare function MobileNav(): react_jsx_runtime48.JSX.Element;
5
+ //#endregion
6
+ export { MobileNav as t };
7
+ //# sourceMappingURL=mobile-nav-AFA-q06-.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile-nav-AFA-q06-.d.ts","names":[],"sources":["../src/components/mobile-nav.tsx"],"sourcesContent":[],"mappings":";;;iBAagB,SAAA,CAAA,GAAS,mBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime26 from "react/jsx-runtime";
2
+
3
+ //#region src/components/mode-toggle.d.ts
4
+ declare function ModeSwitcher(): react_jsx_runtime26.JSX.Element;
5
+ //#endregion
6
+ export { ModeSwitcher as t };
7
+ //# sourceMappingURL=mode-toggle-DWWbLZRs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-toggle-DWWbLZRs.d.ts","names":[],"sources":["../src/components/mode-toggle.tsx"],"sourcesContent":[],"mappings":";;;iBAcgB,YAAA,CAAA,GAAY,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,23 +1,23 @@
1
- import * as react_jsx_runtime81 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime49 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/page-header.d.ts
4
4
  declare function PageHeader({
5
5
  className,
6
6
  children,
7
7
  ...props
8
- }: React.ComponentProps<'section'>): react_jsx_runtime81.JSX.Element;
8
+ }: React.ComponentProps<'section'>): react_jsx_runtime49.JSX.Element;
9
9
  declare function PageHeaderHeading({
10
10
  className,
11
11
  ...props
12
- }: React.ComponentProps<'h1'>): react_jsx_runtime81.JSX.Element;
12
+ }: React.ComponentProps<'h1'>): react_jsx_runtime49.JSX.Element;
13
13
  declare function PageHeaderDescription({
14
14
  className,
15
15
  ...props
16
- }: React.ComponentProps<'p'>): react_jsx_runtime81.JSX.Element;
16
+ }: React.ComponentProps<'p'>): react_jsx_runtime49.JSX.Element;
17
17
  declare function PageActions({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<'div'>): react_jsx_runtime81.JSX.Element;
20
+ }: React.ComponentProps<'div'>): react_jsx_runtime49.JSX.Element;
21
21
  //#endregion
22
22
  export { PageHeaderHeading as i, PageHeader as n, PageHeaderDescription as r, PageActions as t };
23
- //# sourceMappingURL=page-header-BNqr7gpZ.d.ts.map
23
+ //# sourceMappingURL=page-header-DQCmkWDX.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-header-BNqr7gpZ.d.ts","names":[],"sources":["../src/components/page-header.tsx"],"sourcesContent":[],"mappings":";;;iBAES,UAAA;;;;GAA8C,KAAA,CAAM,4BAAyB,mBAAA,CAAA,GAAA,CAAA;iBAY7E,iBAAA;;;GAA2C,KAAA,CAAM,uBAAoB,mBAAA,CAAA,GAAA,CAAA;iBAYrE,qBAAA;;;GAA+C,KAAA,CAAM,sBAAmB,mBAAA,CAAA,GAAA,CAAA;AAxBK,iBA8B7E,WAAA,CA9BU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8B2B,KAAA,CAAM,cA9BjC,CAAA,KAAA,CAAA,CAAA,EA8BsD,mBAAA,CAAA,GAAA,CAAA,OA9BtD"}
1
+ {"version":3,"file":"page-header-DQCmkWDX.d.ts","names":[],"sources":["../src/components/page-header.tsx"],"sourcesContent":[],"mappings":";;;iBAES,UAAA;;;;GAA8C,KAAA,CAAM,4BAAyB,mBAAA,CAAA,GAAA,CAAA;iBAY7E,iBAAA;;;GAA2C,KAAA,CAAM,uBAAoB,mBAAA,CAAA,GAAA,CAAA;iBAYrE,qBAAA;;;GAA+C,KAAA,CAAM,sBAAmB,mBAAA,CAAA,GAAA,CAAA;AAxBK,iBA8B7E,WAAA,CA9BU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8B2B,KAAA,CAAM,cA9BjC,CAAA,KAAA,CAAA,CAAA,EA8BsD,mBAAA,CAAA,GAAA,CAAA,OA9BtD"}
@@ -1,5 +1,5 @@
1
1
  import { t as CodeBlockProps } from "./types-DsWNixhq.js";
2
- import * as react_jsx_runtime88 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime84 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/mdx/mdx-components/code/pre-block/pre-block.d.ts
5
5
  declare function PreBlock({
@@ -13,7 +13,7 @@ declare function PreBlock({
13
13
  __event__,
14
14
  children,
15
15
  ...props
16
- }: CodeBlockProps): react_jsx_runtime88.JSX.Element;
16
+ }: CodeBlockProps): react_jsx_runtime84.JSX.Element;
17
17
  //#endregion
18
18
  export { PreBlock as t };
19
- //# sourceMappingURL=pre-block-DvvPHwIA.d.ts.map
19
+ //# sourceMappingURL=pre-block-F_4-UA8l.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-block-DvvPHwIA.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/code/pre-block/pre-block.tsx"],"sourcesContent":[],"mappings":";;;;iBAKgB,QAAA;;;;;;;;;;;GAWb,iBAAc,mBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"pre-block-F_4-UA8l.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/code/pre-block/pre-block.tsx"],"sourcesContent":[],"mappings":";;;;iBAKgB,QAAA;;;;;;;;;;;GAWb,iBAAc,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,11 +1,11 @@
1
- import * as react_jsx_runtime85 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime54 from "react/jsx-runtime";
2
2
  import { ThemeProviderProps } from "next-themes";
3
3
 
4
4
  //#region src/components/providers.d.ts
5
5
  declare function ThemeProvider$1({
6
6
  children,
7
7
  ...props
8
- }: ThemeProviderProps): react_jsx_runtime85.JSX.Element;
8
+ }: ThemeProviderProps): react_jsx_runtime54.JSX.Element;
9
9
  //#endregion
10
10
  export { ThemeProvider$1 as t };
11
- //# sourceMappingURL=providers-BI7hm1su.d.ts.map
11
+ //# sourceMappingURL=providers-B0ODnIm1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers-B0ODnIm1.d.ts","names":[],"sources":["../src/components/providers.tsx"],"sourcesContent":[],"mappings":";;;;iBAMgB,eAAA;;;GAAsC,qBAAkB,mBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,17 @@
1
+ import{visit as e}from"unist-util-visit";import{execSync as t}from"node:child_process";import{mkdtempSync as n,rmSync as r,writeFileSync as i}from"node:fs";import{createRequire as a}from"node:module";import{tmpdir as o}from"node:os";import{join as s}from"node:path";import{toString as c}from"hast-util-to-string";function l(e){let t=e.children?.[0];if(!t||t.type!==`element`||t.tagName!==`code`)return!1;let n=t.properties?.[`data-language`],r=t.properties?.className;return n===`mermaid`||Array.isArray(r)&&r.includes(`language-mermaid`)}function u(e){if(!e?.value)return null;if(typeof e.value==`string`)return e.value;if(e.value?.type===`mdxJsxAttributeValueExpression`)try{return Function(`return `+e.value.value)()}catch{return null}return null}function d(e,t){return{type:`mdxJsxAttribute`,name:e,value:{type:`mdxJsxAttributeValueExpression`,value:JSON.stringify(t),data:{estree:{type:`Program`,sourceType:`module`,body:[{type:`ExpressionStatement`,expression:{type:`Literal`,value:t,raw:JSON.stringify(t)}}],comments:[]}}}}}function f(){for(let e of[`chromium`,`google-chrome-stable`,`google-chrome`,`chromium-browser`])try{let n=t(`which ${e}`,{encoding:`utf-8`,stdio:[`pipe`,`pipe`,`pipe`]}).trim();if(n)return n}catch{}throw Error(`[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.`)}let p=null;function m(){try{return s(a(import.meta.url).resolve(`mermaid/package.json`),`..`,`dist`,`mermaid.esm.min.mjs`)}catch{return``}}function h(e){let t=m();return`<!DOCTYPE html><html><head>
2
+ <script type="module">
3
+ import mermaid from '${t?`file://${t}`:`https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs`}';
4
+ const diagrams = ${JSON.stringify(e)};
5
+ const results = {};
6
+ for (const d of diagrams) {
7
+ try {
8
+ mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });
9
+ const { svg } = await mermaid.render(d.id, d.source);
10
+ results[d.id] = svg;
11
+ } catch (e) {
12
+ results[d.id] = '';
13
+ }
14
+ }
15
+ document.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));
16
+ <\/script></head><body></body></html>`}async function g(e){p||=f();let a=n(s(o(),`mermaid-`));try{let n=s(a,`render.html`);i(n,h(e));let r=t(`"${p}" --headless --disable-gpu --no-sandbox --allow-file-access-from-files --virtual-time-budget=15000 --dump-dom "file://${n}"`,{timeout:6e4,encoding:`utf-8`,maxBuffer:50*1024*1024,stdio:[`pipe`,`pipe`,`pipe`]}).match(/<title>DONE:([\s\S]*?)<\/title>/);if(!r)throw Error(`Chromium did not produce output`);let o=decodeURIComponent(escape(Buffer.from(r[1],`base64`).toString(`binary`))),c=JSON.parse(o);for(let[e,t]of Object.entries(c))t&&(c[e]=t.replace(/\bwidth="[\d.]+"/,`width="100%"`));return c}finally{r(a,{recursive:!0,force:!0})}}function _(){return async t=>{let n=[];if(e(t,e=>{if(e.type===`mdxJsxFlowElement`&&e.name===`MermaidDiagram`){let t=u((e.attributes||[]).find(e=>e.type===`mdxJsxAttribute`&&e.name===`chart`));t&&n.push({kind:`jsx`,node:e,source:t.trim()});return}if(e.type===`element`&&e.tagName===`div`&&e.properties&&`data-rehype-pretty-code-fragment`in e.properties){let t=(e.children||[]).filter(e=>e.type===`element`&&e.tagName===`pre`).find(e=>l(e));if(!t)return;let r=t.properties?.__rawString__||c(t);r&&n.push({kind:`fence`,node:e,pre:t,source:r.trim()});return}if(e.type===`element`&&e.tagName===`pre`&&l(e)){let t=e.properties?.__rawString__||c(e);t&&n.push({kind:`fence`,node:e,pre:e,source:t.trim()})}}),n.length===0)return;let r=[];for(let e=0;e<n.length;e++){let t=n[e].source;r.push({source:t,id:`ml${e}`,theme:`default`}),r.push({source:t,id:`md${e}`,theme:`dark`})}let i={};try{i=await g(r)}catch(e){console.warn(`[rehype-mermaid] Build-time render failed:`,e.message);return}for(let e=0;e<n.length;e++){let t=n[e],r=i[`ml${e}`]||``,a=i[`md${e}`]||``;if(!r&&!a){console.warn(`[rehype-mermaid] No SVG produced for diagram ${e}`);continue}if(t.kind===`jsx`){let e=t.node.attributes||[];r&&e.push(d(`lightSvg`,r)),a&&e.push(d(`darkSvg`,a)),t.node.attributes=e}else t.node!==t.pre&&(t.node.children=[t.pre]),t.pre.properties={...t.pre.properties,__isMermaid__:!0,__mermaidLightSvg__:r,__mermaidDarkSvg__:a}}}}export{_ as t};
17
+ //# sourceMappingURL=rehype-mermaid-Be9A3aSw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehype-mermaid-Be9A3aSw.js","names":["chromiumPath: string | null","results: Record<string, string>","entries: Entry[]","diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]"],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\nimport { mkdtempSync, rmSync, writeFileSync } from 'node:fs'\nimport { createRequire } from 'node:module'\nimport { tmpdir } from 'node:os'\nimport { join } from 'node:path'\nimport type { UnistNode, UnistTree } from '@duck-docs/types'\nimport type { Nodes } from 'hast'\nimport { toString } from 'hast-util-to-string'\nimport { visit } from 'unist-util-visit'\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction isMermaidCode(node: UnistNode): boolean {\n const codeChild = node.children?.[0]\n if (!codeChild || codeChild.type !== 'element' || codeChild.tagName !== 'code') return false\n const dataLang = codeChild.properties?.['data-language']\n const classes = codeChild.properties?.className\n return dataLang === 'mermaid' || (Array.isArray(classes) && classes.includes('language-mermaid'))\n}\n\n/** Safely extract a string value from an mdxJsxAttribute. */\nfunction extractAttrValue(attr: any): string | null {\n if (!attr?.value) return null\n if (typeof attr.value === 'string') return attr.value\n if (attr.value?.type === 'mdxJsxAttributeValueExpression') {\n try {\n // eslint-disable-next-line no-new-func\n return new Function('return ' + attr.value.value)()\n } catch {\n return null\n }\n }\n return null\n}\n\n/** Create an mdxJsxAttribute with an expression value (properly escaped). */\nfunction makeJsxStringAttr(name: string, value: string) {\n return {\n type: 'mdxJsxAttribute',\n name,\n value: {\n type: 'mdxJsxAttributeValueExpression',\n value: JSON.stringify(value),\n data: {\n estree: {\n type: 'Program',\n sourceType: 'module',\n body: [\n {\n type: 'ExpressionStatement',\n expression: { type: 'Literal', value, raw: JSON.stringify(value) },\n },\n ],\n comments: [],\n },\n },\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Headless Chromium renderer - produces pixel-perfect SVGs using a real browser\n// ---------------------------------------------------------------------------\n\n/** Find the system Chromium / Chrome binary. */\nfunction findChromium(): string {\n for (const bin of ['chromium', 'google-chrome-stable', 'google-chrome', 'chromium-browser']) {\n try {\n const p = execSync(`which ${bin}`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim()\n if (p) return p\n } catch {\n /* next */\n }\n }\n throw new Error('[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.')\n}\n\nlet chromiumPath: string | null = null\n\nfunction resolveMermaidPath(): string {\n try {\n const req = createRequire(import.meta.url)\n const pkgPath = req.resolve('mermaid/package.json')\n return join(pkgPath, '..', 'dist', 'mermaid.esm.min.mjs')\n } catch {\n return ''\n }\n}\n\nfunction buildRenderHtml(diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]): string {\n const localMermaid = resolveMermaidPath()\n const mermaidSrc = localMermaid\n ? `file://${localMermaid}`\n : 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'\n return `<!DOCTYPE html><html><head>\n<script type=\"module\">\nimport mermaid from '${mermaidSrc}';\nconst diagrams = ${JSON.stringify(diagrams)};\nconst results = {};\nfor (const d of diagrams) {\n try {\n mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });\n const { svg } = await mermaid.render(d.id, d.source);\n results[d.id] = svg;\n } catch (e) {\n results[d.id] = '';\n }\n}\ndocument.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));\n</script></head><body></body></html>`\n}\n\nasync function renderSvgBatch(\n diagrams: { source: string; id: string; theme: 'default' | 'dark' }[],\n): Promise<Record<string, string>> {\n if (!chromiumPath) chromiumPath = findChromium()\n\n const dir = mkdtempSync(join(tmpdir(), 'mermaid-'))\n try {\n const htmlFile = join(dir, 'render.html')\n writeFileSync(htmlFile, buildRenderHtml(diagrams))\n\n const output = execSync(\n `\"${chromiumPath}\" --headless --disable-gpu --no-sandbox --allow-file-access-from-files --virtual-time-budget=15000 --dump-dom \"file://${htmlFile}\"`,\n { timeout: 60000, encoding: 'utf-8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe'] },\n )\n\n const titleMatch = output.match(/<title>DONE:([\\s\\S]*?)<\\/title>/)\n if (!titleMatch) throw new Error('Chromium did not produce output')\n\n const json = decodeURIComponent(escape(Buffer.from(titleMatch[1]!, 'base64').toString('binary')))\n const results: Record<string, string> = JSON.parse(json)\n\n // Make SVGs responsive\n for (const [id, svg] of Object.entries(results)) {\n if (svg) {\n results[id] = svg.replace(/\\bwidth=\"[\\d.]+\"/, 'width=\"100%\"')\n }\n }\n\n return results\n } finally {\n rmSync(dir, { recursive: true, force: true })\n }\n}\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nexport function rehypeMermaid() {\n return async (tree: UnistTree) => {\n // Two kinds of entries: code-fence <pre> blocks and <MermaidDiagram> JSX elements\n type CodeFenceEntry = { kind: 'fence'; node: UnistNode; pre: UnistNode; source: string }\n type JsxEntry = { kind: 'jsx'; node: UnistNode; source: string }\n type Entry = CodeFenceEntry | JsxEntry\n\n const entries: Entry[] = []\n\n visit(tree, (node: UnistNode) => {\n // 1. <MermaidDiagram chart={`...`} /> JSX elements\n if ((node as any).type === 'mdxJsxFlowElement' && (node as any).name === 'MermaidDiagram') {\n const attrs = (node as any).attributes || []\n const chartAttr = attrs.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'chart')\n const chart = extractAttrValue(chartAttr)\n if (chart) {\n entries.push({ kind: 'jsx', node, source: chart.trim() })\n }\n return\n }\n\n // 2. rehypePrettyCode wrapper div (dual themes, two pre elements)\n if (\n node.type === 'element' &&\n node.tagName === 'div' &&\n node.properties &&\n 'data-rehype-pretty-code-fragment' in node.properties\n ) {\n const pres = (node.children || []).filter((c: UnistNode) => c.type === 'element' && c.tagName === 'pre')\n const mPre = pres.find((c: UnistNode) => isMermaidCode(c))\n if (!mPre) return\n const src = (mPre.properties?.__rawString__ as string) || toString(mPre as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: mPre, source: src.trim() })\n return\n }\n\n // 3. Standalone <pre>\n if (node.type === 'element' && node.tagName === 'pre' && isMermaidCode(node)) {\n const src = (node.properties?.__rawString__ as string) || toString(node as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: node, source: src.trim() })\n }\n })\n\n if (entries.length === 0) return\n\n // Build all diagrams in a single Chromium invocation (both themes)\n const diagrams: { source: string; id: string; theme: 'default' | 'dark' }[] = []\n for (let i = 0; i < entries.length; i++) {\n const src = entries[i]!.source\n diagrams.push({ source: src, id: `ml${i}`, theme: 'default' })\n diagrams.push({ source: src, id: `md${i}`, theme: 'dark' })\n }\n\n let results: Record<string, string> = {}\n try {\n results = await renderSvgBatch(diagrams)\n } catch (err) {\n console.warn(`[rehype-mermaid] Build-time render failed:`, (err as Error).message)\n return\n }\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i]!\n const lightSvg = results[`ml${i}`] || ''\n const darkSvg = results[`md${i}`] || ''\n\n if (!lightSvg && !darkSvg) {\n console.warn(`[rehype-mermaid] No SVG produced for diagram ${i}`)\n continue\n }\n\n if (entry.kind === 'jsx') {\n const attrs = (entry.node as any).attributes || []\n if (lightSvg) attrs.push(makeJsxStringAttr('lightSvg', lightSvg))\n if (darkSvg) attrs.push(makeJsxStringAttr('darkSvg', darkSvg))\n ;(entry.node as any).attributes = attrs\n } else {\n if (entry.node !== entry.pre) {\n entry.node.children = [entry.pre]\n }\n entry.pre.properties = {\n ...entry.pre.properties,\n __isMermaid__: true,\n __mermaidLightSvg__: lightSvg,\n __mermaidDarkSvg__: darkSvg,\n }\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rehype-mermaid-DPZ6UzOu.d.ts","names":[],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":[],"mappings":";;;iBAyIgB,aAAA,CAAA,UACM,cAAS"}
1
+ {"version":3,"file":"rehype-mermaid-DPZ6UzOu.d.ts","names":[],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":[],"mappings":";;;iBAwJgB,aAAA,CAAA,UACM,cAAS"}
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime57 from "react/jsx-runtime";
2
+
3
+ //#region src/components/layouts/site-footer.d.ts
4
+ declare function SiteFooter(): react_jsx_runtime57.JSX.Element;
5
+ declare function FooterButtons(): react_jsx_runtime57.JSX.Element;
6
+ //#endregion
7
+ export { SiteFooter as n, FooterButtons as t };
8
+ //# sourceMappingURL=site-footer-w_qK7a_h.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-footer-w_qK7a_h.d.ts","names":[],"sources":["../src/components/layouts/site-footer.tsx"],"sourcesContent":[],"mappings":";;;iBAOgB,UAAA,CAAA,GAAU,mBAAA,CAAA,GAAA,CAAA;iBA4CV,aAAA,CAAA,GAAa,mBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime60 from "react/jsx-runtime";
2
+
3
+ //#region src/components/layouts/site-header.d.ts
4
+ declare function SiteHeader(): react_jsx_runtime60.JSX.Element;
5
+ declare function FontStyleButton(): react_jsx_runtime60.JSX.Element;
6
+ //#endregion
7
+ export { SiteHeader as n, FontStyleButton as t };
8
+ //# sourceMappingURL=site-header-O1FU0XVF.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-header-O1FU0XVF.d.ts","names":[],"sources":["../src/components/layouts/site-header.tsx"],"sourcesContent":[],"mappings":";;;iBAmBgB,UAAA,CAAA,GAAU,mBAAA,CAAA,GAAA,CAAA;iBAiIV,eAAA,CAAA,GAAe,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import{o as e,r as t}from"./slot-B-X2-pKU-DOhFF3E_.js";import{a as n,d as r,f as i,i as a,l as o,n as s,o as c,p as l,r as u,t as d,u as f}from"./portal-BNuCvTAR-DDrsnIMA.js";import{t as p}from"./direction-B-anGbxM-BdqxtlGV.js";import{a as m,i as h,n as g,r as _,t as v}from"./arrow-CU5T6t_D-Cs2Ykttv.js";import{t as y}from"./create-collection-S3CvffX1-DA20ZU15.js";import{i as b,n as x,r as S,t as C}from"./list-navigation-LJg-1TD2-DsfZPowW.js";import{n as w}from"./visibility-hidden-CAHx9RLp-CN32k1Im.js";import{t as T}from"./use-config-CkoOe8Fw.js";import{t as E}from"./registry-styles-DwoJ9Qa9.js";import{cn as D}from"@gentleduck/libs/cn";import*as O from"react";import{Fragment as k,jsx as A,jsxs as j}from"react/jsx-runtime";import{Check as M,ChevronDown as N,ChevronUp as ee}from"lucide-react";import*as P from"react-dom";import{hideOthers as F}from"aria-hidden";import{RemoveScroll as I}from"react-remove-scroll";function L(e){let t=O.useRef({value:e,previous:e});return O.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}const te=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ne=[` `,`Enter`],R=`Select`,[z,B,re]=y(R),[V,ie]=o(R,[re,h]),H=h(),[U,W]=V(R),[G,ae]=V(R),K=`SelectContent`,[oe,q]=V(K),[se,J]=V(K,{}),[ce,Y]=V(`SelectItem`),[X,le]=V(`SelectGroup`),ue=e=>{let{__scopeSelect:t,children:n,open:i,defaultOpen:a,onOpenChange:o,value:s,defaultValue:c,onValueChange:l,dir:u,name:d,autoComplete:h,disabled:g,required:_,form:v}=e,y=H(t),[b,x]=O.useState(null),[S,C]=O.useState(null),[w,T]=O.useState(!1),E=p(u),[D,k]=r({prop:i,defaultProp:a??!1,onChange:o,caller:R}),[M,N]=r({prop:s,defaultProp:c,onChange:l,caller:R}),ee=O.useRef(null),P=b?v||!!b.closest(`form`):!0,[F,I]=O.useState(new Set),L=Array.from(F).map(e=>e.props.value).join(`;`);return A(m,{...y,children:j(U,{required:_,scope:t,trigger:b,onTriggerChange:x,valueNode:S,onValueNodeChange:C,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:f(),value:M,onValueChange:N,open:D,onOpenChange:k,dir:E,triggerPointerDownPosRef:ee,disabled:g,children:[A(z.Provider,{scope:t,children:A(G,{scope:e.__scopeSelect,onNativeOptionAdd:O.useCallback(e=>{I(t=>new Set(t).add(e))},[]),onNativeOptionRemove:O.useCallback(e=>{I(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),P?j(de,{"aria-hidden":!0,required:_,tabIndex:-1,name:d,autoComplete:h,value:M,onChange:e=>N(e.target.value),disabled:g,form:v,children:[M===void 0?A(`option`,{value:``}):null,Array.from(F)]},L):null]})})};ue.displayName=R;const de=O.forwardRef((t,n)=>{let{value:r,...i}=t,a=O.useRef(null),o=e(n,a),s=L(r);return O.useEffect(()=>{let e=a.current,t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(s!==r&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,r),e.dispatchEvent(t)}},[s,r]),A(w,{asChild:!0,children:A(`select`,{...i,ref:o,defaultValue:r})})});de.displayName=`BubbleSelect`;const fe=`SelectArrow`,pe=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=H(n),a=W(fe,n),o=q(fe,n);return a.open&&o.position===`popper`?A(v,{"data-slot":`select-arrow`,...i,...r,ref:t}):null});pe.displayName=fe;function me(e){return e===``||e===void 0}function he(e,[t,n]){return Math.min(n,Math.max(t,e))}const Z=`SelectContent`,ge=O.forwardRef((e,t)=>{let{forceMount:n,...r}=e,a=W(Z,e.__scopeSelect),[o,c]=O.useState();return i(()=>{c(new DocumentFragment)},[]),j(k,{children:[!a.open&&o?P.createPortal(A(oe,{scope:e.__scopeSelect,children:A(z.Slot,{scope:e.__scopeSelect,children:A(`div`,{children:r.children})})}),o):null,A(s,{present:n||a.open,children:A(ve,{...r,ref:t})})]})});ge.displayName=Z;const _e=t(`SelectContent.RemoveScroll`),ve=O.forwardRef((t,r)=>{let{__scopeSelect:i,position:o=`item-aligned`,onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:d,side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:w,avoidCollisions:T,...E}=t,D=W(Z,i),[k,j]=O.useState(null),[M,N]=O.useState(null),ee=e(r,e=>j(e)),[P,L]=O.useState(null),[te,ne]=O.useState(null),R=B(i),[z,re]=O.useState(!1),V=O.useRef(!1);O.useEffect(()=>{if(k)return F(k)},[k]),u();let ie=O.useCallback(e=>{let[t,...n]=R().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&M&&(M.scrollTop=0),n===r&&M&&(M.scrollTop=M.scrollHeight),n?.focus(),document.activeElement!==i))return},[R,M]),H=O.useCallback(()=>ie([P,k]),[ie,P,k]);O.useEffect(()=>{z&&H()},[z,H]);let{onOpenChange:U,triggerPointerDownPosRef:G}=D;O.useEffect(()=>{if(k){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():k.contains(n.target)||U(!1),document.removeEventListener(`pointermove`,t),G.current=null};return G.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[k,U,G]),O.useEffect(()=>{let e=()=>U(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[U]);let[ae,K,q]=x({getItems:()=>R().filter(e=>!e.disabled),getItemElement:e=>e.ref.current,getItemTextValue:e=>e.textValue||(e.ref.current?.textContent??``).trim(),onMatch:e=>{let t=e.ref.current;t&&setTimeout(()=>t.focus())}}),se=b({onNavigate:q}),J=O.useCallback((e,t,n)=>{let r=!V.current&&!n;(D.value!==void 0&&D.value===t||r)&&(L(e),r&&(V.current=!0))},[D.value]),ce=O.useCallback(()=>k?.focus(),[k]),Y=O.useCallback((e,t,n)=>{let r=!V.current&&!n;(D.value!==void 0&&D.value===t||r)&&ne(e)},[D.value]),X=o===`popper`?be:ye,le=X===be?{side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:w,avoidCollisions:T}:{};return A(oe,{scope:i,content:k,viewport:M,onViewportChange:N,itemRefCallback:J,selectedItem:P,onItemLeave:ce,itemTextRefCallback:Y,focusSelectedItem:H,selectedItemText:te,position:o,isPositioned:z,searchRef:ae,allowTextPortal:D.open,children:A(I,{as:_e,allowPinchZoom:!0,children:A(a,{asChild:!0,trapped:D.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:c(s,e=>{D.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:A(n,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>D.onOpenChange(!1),children:A(X,{"data-slot":`select-content`,role:`listbox`,id:D.contentId,"data-state":D.open?`open`:`closed`,dir:D.dir,onContextMenu:e=>e.preventDefault(),...E,...le,onPlaced:()=>re(!0),ref:ee,style:{display:`flex`,flexDirection:`column`,outline:`none`,...E.style},onKeyDown:c(E.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;e.key===`Tab`&&e.preventDefault();let n=R().filter(e=>!e.disabled).map(e=>e.ref.current);if(!se(e,n)&&(!t&&e.key.length===1&&K(e.key),S.includes(e.key))){let t=C(n,e.key,e.target);setTimeout(()=>ie(t)),e.preventDefault()}})})})})})})});ve.displayName=`SelectContentImpl`;const ye=O.forwardRef((t,n)=>{let{__scopeSelect:r,onPlaced:a,...o}=t,s=W(Z,r),c=q(Z,r),[u,d]=O.useState(null),[f,p]=O.useState(null),m=e(n,e=>p(e)),h=B(r),g=O.useRef(!1),_=O.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=c,S=O.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&f&&v&&y&&b){let e=s.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=b.getBoundingClientRect();if(s.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,d=he(a,[10,Math.max(10,l-c)]);u.style.minWidth=s+`px`,u.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,d=he(a,[10,Math.max(10,l-c)]);u.style.minWidth=s+`px`,u.style.right=d+`px`}let i=h(),o=window.innerHeight-20,c=v.scrollHeight,l=window.getComputedStyle(f),d=parseInt(l.borderTopWidth,10),p=parseInt(l.paddingTop,10),m=parseInt(l.borderBottomWidth,10),_=parseInt(l.paddingBottom,10),x=d+p+c+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=o-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=d+p+k,j=x-A;if(A<=E){let e=i.length>0&&y===i[i.length-1].ref.current;u.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);u.style.height=n+`px`}else{let e=i.length>0&&y===i[0].ref.current;u.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?w:0)+O)+j;u.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}u.style.margin=`10px 0`,u.style.minHeight=S+`px`,u.style.maxHeight=o+`px`,a?.(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,u,f,v,y,b,s.dir,a]);i(()=>S(),[S]);let[C,w]=O.useState();return i(()=>{f&&w(window.getComputedStyle(f).zIndex)},[f]),A(se,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:O.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]),children:A(`div`,{ref:d,dir:s.dir,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:A(l.div,{"data-slot":`select-item-aligned-position`,...o,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...o.style}})})})});ye.displayName=`SelectItemAlignedPosition`;const be=O.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=10,...a}=e,o=H(n);return A(g,{"data-slot":`select-popper-position`,...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--gentleduck-select-content-transform-origin":`var(--gentleduck-popper-transform-origin)`,"--gentleduck-select-content-available-width":`var(--gentleduck-popper-available-width)`,"--gentleduck-select-content-available-height":`var(--gentleduck-popper-available-height)`,"--gentleduck-select-trigger-width":`var(--gentleduck-popper-anchor-width)`,"--gentleduck-select-trigger-height":`var(--gentleduck-popper-anchor-height)`}})});be.displayName=`SelectPopperPosition`;const xe=`SelectGroup`,Se=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(xe,n),a=f();return A(X,{scope:n,id:a,children:A(l.div,{"data-slot":`select-group`,role:`group`,"aria-labelledby":a,dir:i.dir,...r,ref:t})})});Se.displayName=xe;const Ce=`SelectIcon`,we=O.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e,a=W(Ce,n);return A(l.span,{"data-slot":`select-icon`,"aria-hidden":!0,dir:a.dir,...i,ref:t,children:r||`▼`})});we.displayName=Ce;const Te=`SelectItem`,Ee=O.forwardRef((t,n)=>{let{__scopeSelect:r,value:i,disabled:a=!1,textValue:o,...s}=t,u=W(Te,r),d=q(Te,r),p=u.value===i,[m,h]=O.useState(o??``),[g,_]=O.useState(!1),v=e(n,e=>d.itemRefCallback?.(e,i,a)),y=f(),b=O.useRef(`touch`),x=()=>{a||(u.onValueChange(i),u.onOpenChange(!1))};if(i===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return A(ce,{scope:r,...O.useMemo(()=>({value:i,disabled:a,textId:y,isSelected:p,onItemTextChange:e=>{h(t=>t||(e?.textContent??``).trim())}}),[i,a,y,p]),children:A(z.ItemSlot,{scope:r,value:i,disabled:a,textValue:m,children:A(l.div,{"data-slot":`select-item`,role:`option`,"aria-labelledby":y,dir:u.dir,"data-highlighted":g?``:void 0,"aria-selected":p&&g,"data-state":p?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...s,ref:v,onFocus:c(s.onFocus,()=>_(!0)),onBlur:c(s.onBlur,()=>_(!1)),onClick:c(s.onClick,()=>{b.current!==`mouse`&&x()}),onPointerUp:c(s.onPointerUp,()=>{b.current===`mouse`&&x()}),onPointerDown:c(s.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:c(s.onPointerMove,e=>{b.current=e.pointerType,a?d.onItemLeave?.():b.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:c(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:c(s.onKeyDown,e=>{d.searchRef?.current!==``&&e.key===` `||(ne.includes(e.key)&&x(),e.key===` `&&e.preventDefault())})})})})});Ee.displayName=Te;const De=`SelectItemIndicator`,Oe=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(De,n);return Y(De,n).isSelected?A(l.span,{"data-slot":`select-item-indicator`,"aria-hidden":!0,dir:i.dir,...r,ref:t}):null});Oe.displayName=De;const Q=`SelectItemText`,ke=O.forwardRef((t,n)=>{let{__scopeSelect:r,className:a,style:o,...s}=t,c=W(Q,r),u=q(Q,r),d=Y(Q,r),f=ae(Q,r),[p,m]=O.useState(null),h=e(n,e=>m(e),d.onItemTextChange,e=>u.itemTextRefCallback?.(e,d.value,d.disabled)),g=p?.textContent,_=O.useMemo(()=>A(`option`,{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:v,onNativeOptionRemove:y}=f;return i(()=>(v(_),()=>y(_)),[v,y,_]),j(k,{children:[A(l.span,{"data-slot":`select-item-text`,id:d.textId,dir:c.dir,...s,ref:h}),d.isSelected&&c.valueNode&&!c.valueNodeHasChildren&&u.allowTextPortal!==!1?P.createPortal(s.children,c.valueNode):null]})});ke.displayName=Q;const Ae=`SelectLabel`,je=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(Ae,n),a=le(Ae,n);return A(l.div,{"data-slot":`select-label`,id:a.id,dir:i.dir,...r,ref:t})});je.displayName=Ae;const Me=e=>A(d,{asChild:!0,...e});Me.displayName=`SelectPortal`;const Ne=`SelectScrollUpButton`,Pe=O.forwardRef((t,n)=>{let r=q(Ne,t.__scopeSelect),a=J(Ne,t.__scopeSelect),[o,s]=O.useState(!1),c=e(n,a.onScrollButtonChange);return i(()=>{if(r.viewport&&r.isPositioned){let e=r.viewport,t=()=>{s(e.scrollTop>0)};return t(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[r.viewport,r.isPositioned]),o?A(Le,{...t,"data-slot":`select-scroll-up-button`,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Pe.displayName=Ne;const Fe=`SelectScrollDownButton`,Ie=O.forwardRef((t,n)=>{let r=q(Fe,t.__scopeSelect),a=J(Fe,t.__scopeSelect),[o,s]=O.useState(!1),c=e(n,a.onScrollButtonChange);return i(()=>{if(r.viewport&&r.isPositioned){let e=r.viewport,t=()=>{let t=e.scrollHeight-e.clientHeight;s(Math.ceil(e.scrollTop)<t)};return t(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[r.viewport,r.isPositioned]),o?A(Le,{...t,"data-slot":`select-scroll-down-button`,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Ie.displayName=Fe;const Le=O.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...a}=e,o=W(`SelectScrollButton`,n),s=q(`SelectScrollButton`,n),u=O.useRef(null),d=B(n),f=O.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return O.useEffect(()=>()=>f(),[f]),i(()=>{d().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[d]),A(l.div,{"data-slot":`select-scroll-button`,"aria-hidden":!0,dir:o.dir,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:c(a.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(r,50))}),onPointerMove:c(a.onPointerMove,()=>{s.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(r,50))}),onPointerLeave:c(a.onPointerLeave,()=>{f()})})});Le.displayName=`SelectScrollButtonImpl`;const Re=`SelectSeparator`,ze=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(Re,n);return A(l.div,{"data-slot":`select-separator`,"aria-hidden":!0,dir:i.dir,...r,ref:t})});ze.displayName=Re;const Be=`SelectTrigger`,Ve=O.forwardRef((t,n)=>{let{__scopeSelect:r,disabled:i=!1,...a}=t,o=H(r),s=W(Be,r),u=s.disabled||i,d=e(n,s.onTriggerChange),f=B(r),p=O.useRef(`touch`),[m,h,g]=x({getItems:()=>f().filter(e=>!e.disabled),getItemElement:e=>e.ref.current,getItemTextValue:e=>e.textValue||(e.ref.current?.textContent??``).trim(),getCurrentItem:e=>e.find(e=>e.value===s.value),onMatch:e=>{s.onValueChange(e.value)}}),v=e=>{u||(s.onOpenChange(!0),g()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return A(_,{asChild:!0,...o,children:A(l.button,{"data-slot":`select-trigger`,type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:u,"data-disabled":u?``:void 0,"data-placeholder":me(s.value)?``:void 0,...a,ref:d,onClick:c(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&v(e)}),onPointerDown:c(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(v(e),e.preventDefault())}),onKeyDown:c(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&te.includes(e.key)&&(v(),e.preventDefault())})})})});Ve.displayName=Be;const He=`SelectValue`,Ue=O.forwardRef((t,n)=>{let{__scopeSelect:r,className:a,style:o,children:s,placeholder:c=``,...u}=t,d=W(He,r),{onValueNodeHasChildrenChange:f}=d,p=s!==void 0,m=e(n,d.onValueNodeChange);return i(()=>{f(p)},[f,p]),A(l.span,{"data-slot":`select-value`,...u,ref:m,dir:d.dir,style:{pointerEvents:`none`},children:me(d.value)?A(k,{children:c}):s})});Ue.displayName=He;const $=`SelectViewport`,We=O.forwardRef((t,n)=>{let{__scopeSelect:r,nonce:i,...a}=t,o=W($,r),s=q($,r),u=J($,r),d=e(n,s.onViewportChange),f=O.useRef(0);return j(k,{children:[A(`style`,{dangerouslySetInnerHTML:{__html:`[data-slot="select-viewport"]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-slot="select-viewport"]::-webkit-scrollbar{display:none}`},nonce:i}),A(z.Slot,{scope:r,children:A(l.div,{"data-slot":`select-viewport`,role:`presentation`,dir:o.dir,...a,ref:d,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:c(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=u;if(r?.current&&n){let e=Math.abs(f.current-t.scrollTop);if(e>0){let r=window.innerHeight-20,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}f.current=t.scrollTop})})})]})});We.displayName=$;const Ge=ue,Ke=Ue,qe=O.forwardRef(({className:e,children:t,...n},r)=>j(Ve,{ref:r,"data-slot":`select-trigger`,className:D(`flex h-9 min-w-32 items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-placeholder:text-muted-foreground [&>span]:line-clamp-1`,e),...n,children:[t,A(we,{asChild:!0,children:A(N,{"aria-hidden":`true`,className:`size-4 opacity-50`})})]}));qe.displayName=Ve.displayName;const Je=O.forwardRef(({className:e,...t},n)=>A(Pe,{ref:n,className:D(`flex cursor-default items-center justify-center py-1`,e),...t,children:A(ee,{"aria-hidden":`true`,className:`size-4`})}));Je.displayName=Pe.displayName;const Ye=O.forwardRef(({className:e,...t},n)=>A(Ie,{ref:n,className:D(`flex cursor-default items-center justify-center py-1`,e),...t,children:A(N,{"aria-hidden":`true`,className:`size-4`})}));Ye.displayName=Ie.displayName;const Xe=O.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>A(Me,{children:j(ge,{ref:i,className:D(`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--gentleduck-select-content-available-height) min-w-32 origin-(--gentleduck-select-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in`,n===`popper`&&`data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,`transition-all transition-discrete duration-[200ms,150ms] ease-(--duck-motion-ease)`,e),position:n,...r,children:[A(Je,{}),A(We,{className:D(`p-1`,n===`popper`&&`h-(--gentleduck-select-trigger-height) w-full min-w-(--gentleduck-select-trigger-width)`),children:t}),A(Ye,{})]})}));Xe.displayName=ge.displayName;const Ze=O.forwardRef(({className:e,...t},n)=>A(je,{ref:n,className:D(`px-2 py-1.5 font-semibold text-sm`,e),...t}));Ze.displayName=je.displayName;const Qe=O.forwardRef(({className:e,children:t,...n},r)=>j(Ee,{ref:r,className:D(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50`,e),...n,children:[A(`span`,{className:`absolute end-2 flex size-3.5 items-center justify-center`,children:A(Oe,{children:A(M,{"aria-hidden":`true`,className:`size-4`})})}),A(ke,{children:t})]}));Qe.displayName=Ee.displayName;const $e=O.forwardRef(({className:e,...t},n)=>A(ze,{ref:n,className:D(`-mx-1 my-1 h-px bg-muted`,e),...t}));$e.displayName=ze.displayName;function et({className:e,...t}){let[n,r]=T();return j(Ge,{onValueChange:(e=>r({...n,style:e})),value:n.style,children:[j(qe,{"aria-label":`Style`,className:D(`h-7 w-[145px] text-xs [&_svg]:h-4 [&_svg]:w-4`,e),...t,children:[A(`span`,{className:`text-muted-foreground`,children:`Style: `}),A(Ke,{placeholder:`Select style`})]}),A(Xe,{children:E.map(e=>A(Qe,{className:`text-xs`,value:e.name,children:e.label},e.name))})]})}export{et as t};
2
- //# sourceMappingURL=style-switcher-BFkgsXlx.js.map
1
+ import{o as e,r as t}from"./slot-B-X2-pKU-DOhFF3E_.js";import{a as n,d as r,f as i,i as a,l as o,n as s,o as c,p as l,r as u,t as d,u as f}from"./portal-BNuCvTAR-DDrsnIMA.js";import{t as p}from"./direction-B-anGbxM-BdqxtlGV.js";import{a as m,i as h,n as g,r as _,t as v}from"./arrow-CU5T6t_D-BA13FgoC.js";import{t as y}from"./create-collection-S3CvffX1-DA20ZU15.js";import{i as b,n as x,r as S,t as C}from"./list-navigation-LJg-1TD2-DsfZPowW.js";import{n as w}from"./visibility-hidden-CAHx9RLp-CN32k1Im.js";import{t as T}from"./use-config-CkoOe8Fw.js";import{t as E}from"./registry-styles-DwoJ9Qa9.js";import{cn as D}from"@gentleduck/libs/cn";import*as O from"react";import{Fragment as k,jsx as A,jsxs as j}from"react/jsx-runtime";import{Check as M,ChevronDown as N,ChevronUp as ee}from"lucide-react";import*as P from"react-dom";import{hideOthers as F}from"aria-hidden";import{RemoveScroll as I}from"react-remove-scroll";function L(e){let t=O.useRef({value:e,previous:e});return O.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}const te=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ne=[` `,`Enter`],R=`Select`,[z,B,re]=y(R),[V,ie]=o(R,[re,h]),H=h(),[U,W]=V(R),[G,ae]=V(R),K=`SelectContent`,[oe,q]=V(K),[se,J]=V(K,{}),[ce,Y]=V(`SelectItem`),[X,le]=V(`SelectGroup`),ue=e=>{let{__scopeSelect:t,children:n,open:i,defaultOpen:a,onOpenChange:o,value:s,defaultValue:c,onValueChange:l,dir:u,name:d,autoComplete:h,disabled:g,required:_,form:v}=e,y=H(t),[b,x]=O.useState(null),[S,C]=O.useState(null),[w,T]=O.useState(!1),E=p(u),[D,k]=r({prop:i,defaultProp:a??!1,onChange:o,caller:R}),[M,N]=r({prop:s,defaultProp:c,onChange:l,caller:R}),ee=O.useRef(null),P=b?v||!!b.closest(`form`):!0,[F,I]=O.useState(new Set),L=Array.from(F).map(e=>e.props.value).join(`;`);return A(m,{...y,children:j(U,{required:_,scope:t,trigger:b,onTriggerChange:x,valueNode:S,onValueNodeChange:C,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:f(),value:M,onValueChange:N,open:D,onOpenChange:k,dir:E,triggerPointerDownPosRef:ee,disabled:g,children:[A(z.Provider,{scope:t,children:A(G,{scope:e.__scopeSelect,onNativeOptionAdd:O.useCallback(e=>{I(t=>new Set(t).add(e))},[]),onNativeOptionRemove:O.useCallback(e=>{I(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),P?j(de,{"aria-hidden":!0,required:_,tabIndex:-1,name:d,autoComplete:h,value:M,onChange:e=>N(e.target.value),disabled:g,form:v,children:[M===void 0?A(`option`,{value:``}):null,Array.from(F)]},L):null]})})};ue.displayName=R;const de=O.forwardRef((t,n)=>{let{value:r,...i}=t,a=O.useRef(null),o=e(n,a),s=L(r);return O.useEffect(()=>{let e=a.current,t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(s!==r&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,r),e.dispatchEvent(t)}},[s,r]),A(w,{asChild:!0,children:A(`select`,{...i,ref:o,defaultValue:r})})});de.displayName=`BubbleSelect`;const fe=`SelectArrow`,pe=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=H(n),a=W(fe,n),o=q(fe,n);return a.open&&o.position===`popper`?A(v,{"data-slot":`select-arrow`,...i,...r,ref:t}):null});pe.displayName=fe;function me(e){return e===``||e===void 0}function he(e,[t,n]){return Math.min(n,Math.max(t,e))}const Z=`SelectContent`,ge=O.forwardRef((e,t)=>{let{forceMount:n,...r}=e,a=W(Z,e.__scopeSelect),[o,c]=O.useState();return i(()=>{c(new DocumentFragment)},[]),j(k,{children:[!a.open&&o?P.createPortal(A(oe,{scope:e.__scopeSelect,children:A(z.Slot,{scope:e.__scopeSelect,children:A(`div`,{children:r.children})})}),o):null,A(s,{present:n||a.open,children:A(ve,{...r,ref:t})})]})});ge.displayName=Z;const _e=t(`SelectContent.RemoveScroll`),ve=O.forwardRef((t,r)=>{let{__scopeSelect:i,position:o=`item-aligned`,onCloseAutoFocus:s,onEscapeKeyDown:l,onPointerDownOutside:d,side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:w,avoidCollisions:T,...E}=t,D=W(Z,i),[k,j]=O.useState(null),[M,N]=O.useState(null),ee=e(r,e=>j(e)),[P,L]=O.useState(null),[te,ne]=O.useState(null),R=B(i),[z,re]=O.useState(!1),V=O.useRef(!1);O.useEffect(()=>{if(k)return F(k)},[k]),u();let ie=O.useCallback(e=>{let[t,...n]=R().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&M&&(M.scrollTop=0),n===r&&M&&(M.scrollTop=M.scrollHeight),n?.focus(),document.activeElement!==i))return},[R,M]),H=O.useCallback(()=>ie([P,k]),[ie,P,k]);O.useEffect(()=>{z&&H()},[z,H]);let{onOpenChange:U,triggerPointerDownPosRef:G}=D;O.useEffect(()=>{if(k){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():k.contains(n.target)||U(!1),document.removeEventListener(`pointermove`,t),G.current=null};return G.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[k,U,G]),O.useEffect(()=>{let e=()=>U(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[U]);let[ae,K,q]=x({getItems:()=>R().filter(e=>!e.disabled),getItemElement:e=>e.ref.current,getItemTextValue:e=>e.textValue||(e.ref.current?.textContent??``).trim(),onMatch:e=>{let t=e.ref.current;t&&setTimeout(()=>t.focus())}}),se=b({onNavigate:q}),J=O.useCallback((e,t,n)=>{let r=!V.current&&!n;(D.value!==void 0&&D.value===t||r)&&(L(e),r&&(V.current=!0))},[D.value]),ce=O.useCallback(()=>k?.focus(),[k]),Y=O.useCallback((e,t,n)=>{let r=!V.current&&!n;(D.value!==void 0&&D.value===t||r)&&ne(e)},[D.value]),X=o===`popper`?be:ye,le=X===be?{side:f,sideOffset:p,align:m,alignOffset:h,arrowPadding:g,collisionBoundary:_,collisionPadding:v,sticky:y,hideWhenDetached:w,avoidCollisions:T}:{};return A(oe,{scope:i,content:k,viewport:M,onViewportChange:N,itemRefCallback:J,selectedItem:P,onItemLeave:ce,itemTextRefCallback:Y,focusSelectedItem:H,selectedItemText:te,position:o,isPositioned:z,searchRef:ae,allowTextPortal:D.open,children:A(I,{as:_e,allowPinchZoom:!0,children:A(a,{asChild:!0,trapped:D.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:c(s,e=>{D.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:A(n,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>D.onOpenChange(!1),children:A(X,{"data-slot":`select-content`,role:`listbox`,id:D.contentId,"data-state":D.open?`open`:`closed`,dir:D.dir,onContextMenu:e=>e.preventDefault(),...E,...le,onPlaced:()=>re(!0),ref:ee,style:{display:`flex`,flexDirection:`column`,outline:`none`,...E.style},onKeyDown:c(E.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;e.key===`Tab`&&e.preventDefault();let n=R().filter(e=>!e.disabled).map(e=>e.ref.current);if(!se(e,n)&&(!t&&e.key.length===1&&K(e.key),S.includes(e.key))){let t=C(n,e.key,e.target);setTimeout(()=>ie(t)),e.preventDefault()}})})})})})})});ve.displayName=`SelectContentImpl`;const ye=O.forwardRef((t,n)=>{let{__scopeSelect:r,onPlaced:a,...o}=t,s=W(Z,r),c=q(Z,r),[u,d]=O.useState(null),[f,p]=O.useState(null),m=e(n,e=>p(e)),h=B(r),g=O.useRef(!1),_=O.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=c,S=O.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&f&&v&&y&&b){let e=s.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=b.getBoundingClientRect();if(s.dir!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,d=he(a,[10,Math.max(10,l-c)]);u.style.minWidth=s+`px`,u.style.left=d+`px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,d=he(a,[10,Math.max(10,l-c)]);u.style.minWidth=s+`px`,u.style.right=d+`px`}let i=h(),o=window.innerHeight-20,c=v.scrollHeight,l=window.getComputedStyle(f),d=parseInt(l.borderTopWidth,10),p=parseInt(l.paddingTop,10),m=parseInt(l.borderBottomWidth,10),_=parseInt(l.paddingBottom,10),x=d+p+c+_+m,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=o-E,O=y.offsetHeight/2,k=y.offsetTop+O,A=d+p+k,j=x-A;if(A<=E){let e=i.length>0&&y===i[i.length-1].ref.current;u.style.bottom=`0px`;let t=f.clientHeight-v.offsetTop-v.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+m);u.style.height=n+`px`}else{let e=i.length>0&&y===i[0].ref.current;u.style.top=`0px`;let t=Math.max(E,d+v.offsetTop+(e?w:0)+O)+j;u.style.height=t+`px`,v.scrollTop=A-E+v.offsetTop}u.style.margin=`10px 0`,u.style.minHeight=S+`px`,u.style.maxHeight=o+`px`,a?.(),requestAnimationFrame(()=>g.current=!0)}},[h,s.trigger,s.valueNode,u,f,v,y,b,s.dir,a]);i(()=>S(),[S]);let[C,w]=O.useState();return i(()=>{f&&w(window.getComputedStyle(f).zIndex)},[f]),A(se,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:O.useCallback(e=>{e&&_.current===!0&&(S(),x?.(),_.current=!1)},[S,x]),children:A(`div`,{ref:d,dir:s.dir,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:A(l.div,{"data-slot":`select-item-aligned-position`,...o,ref:m,style:{boxSizing:`border-box`,maxHeight:`100%`,...o.style}})})})});ye.displayName=`SelectItemAlignedPosition`;const be=O.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=10,...a}=e,o=H(n);return A(g,{"data-slot":`select-popper-position`,...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--gentleduck-select-content-transform-origin":`var(--gentleduck-popper-transform-origin)`,"--gentleduck-select-content-available-width":`var(--gentleduck-popper-available-width)`,"--gentleduck-select-content-available-height":`var(--gentleduck-popper-available-height)`,"--gentleduck-select-trigger-width":`var(--gentleduck-popper-anchor-width)`,"--gentleduck-select-trigger-height":`var(--gentleduck-popper-anchor-height)`}})});be.displayName=`SelectPopperPosition`;const xe=`SelectGroup`,Se=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(xe,n),a=f();return A(X,{scope:n,id:a,children:A(l.div,{"data-slot":`select-group`,role:`group`,"aria-labelledby":a,dir:i.dir,...r,ref:t})})});Se.displayName=xe;const Ce=`SelectIcon`,we=O.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e,a=W(Ce,n);return A(l.span,{"data-slot":`select-icon`,"aria-hidden":!0,dir:a.dir,...i,ref:t,children:r||`▼`})});we.displayName=Ce;const Te=`SelectItem`,Ee=O.forwardRef((t,n)=>{let{__scopeSelect:r,value:i,disabled:a=!1,textValue:o,...s}=t,u=W(Te,r),d=q(Te,r),p=u.value===i,[m,h]=O.useState(o??``),[g,_]=O.useState(!1),v=e(n,e=>d.itemRefCallback?.(e,i,a)),y=f(),b=O.useRef(`touch`),x=()=>{a||(u.onValueChange(i),u.onOpenChange(!1))};if(i===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return A(ce,{scope:r,...O.useMemo(()=>({value:i,disabled:a,textId:y,isSelected:p,onItemTextChange:e=>{h(t=>t||(e?.textContent??``).trim())}}),[i,a,y,p]),children:A(z.ItemSlot,{scope:r,value:i,disabled:a,textValue:m,children:A(l.div,{"data-slot":`select-item`,role:`option`,"aria-labelledby":y,dir:u.dir,"data-highlighted":g?``:void 0,"aria-selected":p&&g,"data-state":p?`checked`:`unchecked`,"aria-disabled":a||void 0,"data-disabled":a?``:void 0,tabIndex:a?void 0:-1,...s,ref:v,onFocus:c(s.onFocus,()=>_(!0)),onBlur:c(s.onBlur,()=>_(!1)),onClick:c(s.onClick,()=>{b.current!==`mouse`&&x()}),onPointerUp:c(s.onPointerUp,()=>{b.current===`mouse`&&x()}),onPointerDown:c(s.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:c(s.onPointerMove,e=>{b.current=e.pointerType,a?d.onItemLeave?.():b.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:c(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:c(s.onKeyDown,e=>{d.searchRef?.current!==``&&e.key===` `||(ne.includes(e.key)&&x(),e.key===` `&&e.preventDefault())})})})})});Ee.displayName=Te;const De=`SelectItemIndicator`,Oe=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(De,n);return Y(De,n).isSelected?A(l.span,{"data-slot":`select-item-indicator`,"aria-hidden":!0,dir:i.dir,...r,ref:t}):null});Oe.displayName=De;const Q=`SelectItemText`,ke=O.forwardRef((t,n)=>{let{__scopeSelect:r,className:a,style:o,...s}=t,c=W(Q,r),u=q(Q,r),d=Y(Q,r),f=ae(Q,r),[p,m]=O.useState(null),h=e(n,e=>m(e),d.onItemTextChange,e=>u.itemTextRefCallback?.(e,d.value,d.disabled)),g=p?.textContent,_=O.useMemo(()=>A(`option`,{value:d.value,disabled:d.disabled,children:g},d.value),[d.disabled,d.value,g]),{onNativeOptionAdd:v,onNativeOptionRemove:y}=f;return i(()=>(v(_),()=>y(_)),[v,y,_]),j(k,{children:[A(l.span,{"data-slot":`select-item-text`,id:d.textId,dir:c.dir,...s,ref:h}),d.isSelected&&c.valueNode&&!c.valueNodeHasChildren&&u.allowTextPortal!==!1?P.createPortal(s.children,c.valueNode):null]})});ke.displayName=Q;const Ae=`SelectLabel`,je=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(Ae,n),a=le(Ae,n);return A(l.div,{"data-slot":`select-label`,id:a.id,dir:i.dir,...r,ref:t})});je.displayName=Ae;const Me=e=>A(d,{asChild:!0,...e});Me.displayName=`SelectPortal`;const Ne=`SelectScrollUpButton`,Pe=O.forwardRef((t,n)=>{let r=q(Ne,t.__scopeSelect),a=J(Ne,t.__scopeSelect),[o,s]=O.useState(!1),c=e(n,a.onScrollButtonChange);return i(()=>{if(r.viewport&&r.isPositioned){let e=r.viewport,t=()=>{s(e.scrollTop>0)};return t(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[r.viewport,r.isPositioned]),o?A(Le,{...t,"data-slot":`select-scroll-up-button`,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Pe.displayName=Ne;const Fe=`SelectScrollDownButton`,Ie=O.forwardRef((t,n)=>{let r=q(Fe,t.__scopeSelect),a=J(Fe,t.__scopeSelect),[o,s]=O.useState(!1),c=e(n,a.onScrollButtonChange);return i(()=>{if(r.viewport&&r.isPositioned){let e=r.viewport,t=()=>{let t=e.scrollHeight-e.clientHeight;s(Math.ceil(e.scrollTop)<t)};return t(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[r.viewport,r.isPositioned]),o?A(Le,{...t,"data-slot":`select-scroll-down-button`,ref:c,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Ie.displayName=Fe;const Le=O.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...a}=e,o=W(`SelectScrollButton`,n),s=q(`SelectScrollButton`,n),u=O.useRef(null),d=B(n),f=O.useCallback(()=>{u.current!==null&&(window.clearInterval(u.current),u.current=null)},[]);return O.useEffect(()=>()=>f(),[f]),i(()=>{d().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[d]),A(l.div,{"data-slot":`select-scroll-button`,"aria-hidden":!0,dir:o.dir,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:c(a.onPointerDown,()=>{u.current===null&&(u.current=window.setInterval(r,50))}),onPointerMove:c(a.onPointerMove,()=>{s.onItemLeave?.(),u.current===null&&(u.current=window.setInterval(r,50))}),onPointerLeave:c(a.onPointerLeave,()=>{f()})})});Le.displayName=`SelectScrollButtonImpl`;const Re=`SelectSeparator`,ze=O.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(Re,n);return A(l.div,{"data-slot":`select-separator`,"aria-hidden":!0,dir:i.dir,...r,ref:t})});ze.displayName=Re;const Be=`SelectTrigger`,Ve=O.forwardRef((t,n)=>{let{__scopeSelect:r,disabled:i=!1,...a}=t,o=H(r),s=W(Be,r),u=s.disabled||i,d=e(n,s.onTriggerChange),f=B(r),p=O.useRef(`touch`),[m,h,g]=x({getItems:()=>f().filter(e=>!e.disabled),getItemElement:e=>e.ref.current,getItemTextValue:e=>e.textValue||(e.ref.current?.textContent??``).trim(),getCurrentItem:e=>e.find(e=>e.value===s.value),onMatch:e=>{s.onValueChange(e.value)}}),v=e=>{u||(s.onOpenChange(!0),g()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return A(_,{asChild:!0,...o,children:A(l.button,{"data-slot":`select-trigger`,type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:u,"data-disabled":u?``:void 0,"data-placeholder":me(s.value)?``:void 0,...a,ref:d,onClick:c(a.onClick,e=>{e.currentTarget.focus(),p.current!==`mouse`&&v(e)}),onPointerDown:c(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(v(e),e.preventDefault())}),onKeyDown:c(a.onKeyDown,e=>{let t=m.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&h(e.key),!(t&&e.key===` `)&&te.includes(e.key)&&(v(),e.preventDefault())})})})});Ve.displayName=Be;const He=`SelectValue`,Ue=O.forwardRef((t,n)=>{let{__scopeSelect:r,className:a,style:o,children:s,placeholder:c=``,...u}=t,d=W(He,r),{onValueNodeHasChildrenChange:f}=d,p=s!==void 0,m=e(n,d.onValueNodeChange);return i(()=>{f(p)},[f,p]),A(l.span,{"data-slot":`select-value`,...u,ref:m,dir:d.dir,style:{pointerEvents:`none`},children:me(d.value)?A(k,{children:c}):s})});Ue.displayName=He;const $=`SelectViewport`,We=O.forwardRef((t,n)=>{let{__scopeSelect:r,nonce:i,...a}=t,o=W($,r),s=q($,r),u=J($,r),d=e(n,s.onViewportChange),f=O.useRef(0);return j(k,{children:[A(`style`,{dangerouslySetInnerHTML:{__html:`[data-slot="select-viewport"]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-slot="select-viewport"]::-webkit-scrollbar{display:none}`},nonce:i}),A(z.Slot,{scope:r,children:A(l.div,{"data-slot":`select-viewport`,role:`presentation`,dir:o.dir,...a,ref:d,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:c(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=u;if(r?.current&&n){let e=Math.abs(f.current-t.scrollTop);if(e>0){let r=window.innerHeight-20,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}f.current=t.scrollTop})})})]})});We.displayName=$;const Ge=ue,Ke=Ue,qe=O.forwardRef(({className:e,children:t,...n},r)=>j(Ve,{ref:r,"data-slot":`select-trigger`,className:D(`flex h-9 min-w-32 items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-placeholder:text-muted-foreground [&>span]:line-clamp-1`,e),...n,children:[t,A(we,{asChild:!0,children:A(N,{"aria-hidden":`true`,className:`size-4 opacity-50`})})]}));qe.displayName=Ve.displayName;const Je=O.forwardRef(({className:e,...t},n)=>A(Pe,{ref:n,className:D(`flex cursor-default items-center justify-center py-1`,e),...t,children:A(ee,{"aria-hidden":`true`,className:`size-4`})}));Je.displayName=Pe.displayName;const Ye=O.forwardRef(({className:e,...t},n)=>A(Ie,{ref:n,className:D(`flex cursor-default items-center justify-center py-1`,e),...t,children:A(N,{"aria-hidden":`true`,className:`size-4`})}));Ye.displayName=Ie.displayName;const Xe=O.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>A(Me,{children:j(ge,{ref:i,className:D(`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--gentleduck-select-content-available-height) min-w-32 origin-(--gentleduck-select-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in`,n===`popper`&&`data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1`,`transition-all transition-discrete duration-[200ms,150ms] ease-(--duck-motion-ease)`,e),position:n,...r,children:[A(Je,{}),A(We,{className:D(`p-1`,n===`popper`&&`h-(--gentleduck-select-trigger-height) w-full min-w-(--gentleduck-select-trigger-width)`),children:t}),A(Ye,{})]})}));Xe.displayName=ge.displayName;const Ze=O.forwardRef(({className:e,...t},n)=>A(je,{ref:n,className:D(`px-2 py-1.5 font-semibold text-sm`,e),...t}));Ze.displayName=je.displayName;const Qe=O.forwardRef(({className:e,children:t,...n},r)=>j(Ee,{ref:r,className:D(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50`,e),...n,children:[A(`span`,{className:`absolute end-2 flex size-3.5 items-center justify-center`,children:A(Oe,{children:A(M,{"aria-hidden":`true`,className:`size-4`})})}),A(ke,{children:t})]}));Qe.displayName=Ee.displayName;const $e=O.forwardRef(({className:e,...t},n)=>A(ze,{ref:n,className:D(`-mx-1 my-1 h-px bg-muted`,e),...t}));$e.displayName=ze.displayName;function et({className:e,...t}){let[n,r]=T();return j(Ge,{onValueChange:(e=>r({...n,style:e})),value:n.style,children:[j(qe,{"aria-label":`Style`,className:D(`h-7 w-[145px] text-xs [&_svg]:h-4 [&_svg]:w-4`,e),...t,children:[A(`span`,{className:`text-muted-foreground`,children:`Style: `}),A(Ke,{placeholder:`Select style`})]}),A(Xe,{children:E.map(e=>A(Qe,{className:`text-xs`,value:e.name,children:e.label},e.name))})]})}export{et as t};
2
+ //# sourceMappingURL=style-switcher--saWXPVm.js.map