@pollinations/ui 0.1.0-alpha.0 → 0.1.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +151 -87
  2. package/dist/Button-CO3Dpbkj.d.cts +29 -0
  3. package/dist/Button-CO3Dpbkj.d.ts +29 -0
  4. package/dist/Chip-v-ADv6cz.d.cts +18 -0
  5. package/dist/Chip-v-ADv6cz.d.ts +18 -0
  6. package/dist/Dialog-yXzIFrDg.d.cts +63 -0
  7. package/dist/Dialog-yXzIFrDg.d.ts +63 -0
  8. package/dist/app-user-menu/sdk.cjs +893 -0
  9. package/dist/app-user-menu/sdk.cjs.map +1 -0
  10. package/dist/{compositions/app-user.d.cts → app-user-menu/sdk.d.cts} +6 -7
  11. package/dist/{compositions/app-user.d.ts → app-user-menu/sdk.d.ts} +6 -7
  12. package/dist/app-user-menu/sdk.js +872 -0
  13. package/dist/app-user-menu/sdk.js.map +1 -0
  14. package/dist/app.css +7 -32
  15. package/dist/auth/index.cjs +1346 -76
  16. package/dist/auth/index.cjs.map +1 -1
  17. package/dist/auth/index.d.cts +88 -6
  18. package/dist/auth/index.d.ts +88 -6
  19. package/dist/auth/index.js +1343 -75
  20. package/dist/auth/index.js.map +1 -1
  21. package/dist/auth/sdk.cjs +78 -60
  22. package/dist/auth/sdk.cjs.map +1 -1
  23. package/dist/auth/sdk.d.cts +2 -15
  24. package/dist/auth/sdk.d.ts +2 -15
  25. package/dist/auth/sdk.js +77 -57
  26. package/dist/auth/sdk.js.map +1 -1
  27. package/dist/brand/lockup-horizontal-black.png +0 -0
  28. package/dist/brand/lockup-horizontal-black.svg +4 -0
  29. package/dist/brand/lockup-horizontal-white.png +0 -0
  30. package/dist/brand/lockup-horizontal-white.svg +4 -0
  31. package/dist/brand/lockup-horizontal.svg +1 -0
  32. package/dist/brand/lockup-stacked-black.png +0 -0
  33. package/dist/brand/lockup-stacked-black.svg +4 -0
  34. package/dist/brand/lockup-stacked-white.png +0 -0
  35. package/dist/brand/lockup-stacked-white.svg +4 -0
  36. package/dist/brand/lockup-stacked.svg +4 -0
  37. package/dist/brand/mark-black.png +0 -0
  38. package/dist/brand/mark-black.svg +3 -0
  39. package/dist/brand/mark-white.png +0 -0
  40. package/dist/brand/mark-white.svg +3 -0
  41. package/dist/brand/mark.svg +1 -0
  42. package/dist/brand/polli/polli-lockup-horizontal-black.png +0 -0
  43. package/dist/brand/polli/polli-lockup-horizontal-white.png +0 -0
  44. package/dist/brand/polli/polli-lockup-stacked-black.png +0 -0
  45. package/dist/brand/polli/polli-lockup-stacked-white.png +0 -0
  46. package/dist/brand/polli/polli.png +0 -0
  47. package/dist/brand/wordmark-black.png +0 -0
  48. package/dist/brand/wordmark-black.svg +1 -0
  49. package/dist/brand/wordmark-white.png +0 -0
  50. package/dist/brand/wordmark-white.svg +1 -0
  51. package/dist/brand/wordmark.svg +1 -0
  52. package/dist/fonts/geist-pixel-square.woff2 +0 -0
  53. package/dist/gen/index.cjs +658 -0
  54. package/dist/gen/index.cjs.map +1 -0
  55. package/dist/gen/index.d.cts +80 -0
  56. package/dist/gen/index.d.ts +80 -0
  57. package/dist/gen/index.js +630 -0
  58. package/dist/gen/index.js.map +1 -0
  59. package/dist/index.browser.min.js +2 -0
  60. package/dist/index.browser.min.js.map +1 -0
  61. package/dist/index.cjs +3847 -1490
  62. package/dist/index.cjs.map +1 -1
  63. package/dist/index.d.cts +632 -218
  64. package/dist/index.d.ts +632 -218
  65. package/dist/index.js +3744 -1450
  66. package/dist/index.js.map +1 -1
  67. package/dist/licenses/Geist-OFL.txt +93 -0
  68. package/dist/markdown.cjs +821 -0
  69. package/dist/markdown.cjs.map +1 -0
  70. package/dist/markdown.d.cts +16 -0
  71. package/dist/markdown.d.ts +16 -0
  72. package/dist/markdown.js +792 -0
  73. package/dist/markdown.js.map +1 -0
  74. package/dist/styles.css +1 -1
  75. package/dist/theme.css +92 -0
  76. package/dist/wallet/index.cjs +258 -45
  77. package/dist/wallet/index.cjs.map +1 -1
  78. package/dist/wallet/index.d.cts +29 -7
  79. package/dist/wallet/index.d.ts +29 -7
  80. package/dist/wallet/index.js +257 -45
  81. package/dist/wallet/index.js.map +1 -1
  82. package/package.json +104 -102
  83. package/dist/Button-BvLF_Km2.d.cts +0 -26
  84. package/dist/Button-DQAZzvyQ.d.ts +0 -26
  85. package/dist/Chip-C5impfYd.d.ts +0 -20
  86. package/dist/Chip-SM52sUbZ.d.cts +0 -20
  87. package/dist/assets/logo-wordmark.svg +0 -1
  88. package/dist/assets/logo.svg +0 -4
  89. package/dist/compositions/app-user.cjs +0 -497
  90. package/dist/compositions/app-user.cjs.map +0 -1
  91. package/dist/compositions/app-user.js +0 -469
  92. package/dist/compositions/app-user.js.map +0 -1
  93. package/dist/modality/index.cjs +0 -86
  94. package/dist/modality/index.cjs.map +0 -1
  95. package/dist/modality/index.d.cts +0 -26
  96. package/dist/modality/index.d.ts +0 -26
  97. package/dist/modality/index.js +0 -59
  98. package/dist/modality/index.js.map +0 -1
  99. package/dist/models/index.cjs +0 -508
  100. package/dist/models/index.cjs.map +0 -1
  101. package/dist/models/index.d.cts +0 -22
  102. package/dist/models/index.d.ts +0 -22
  103. package/dist/models/index.js +0 -486
  104. package/dist/models/index.js.map +0 -1
  105. package/dist/theme-VMRlhqST.d.cts +0 -9
  106. package/dist/theme-VMRlhqST.d.ts +0 -9
  107. package/dist/wallet/sdk.cjs +0 -206
  108. package/dist/wallet/sdk.cjs.map +0 -1
  109. package/dist/wallet/sdk.d.cts +0 -33
  110. package/dist/wallet/sdk.d.ts +0 -33
  111. package/dist/wallet/sdk.js +0 -175
  112. package/dist/wallet/sdk.js.map +0 -1
@@ -1,10 +1,8 @@
1
- // src/assets/logo.svg
2
- var logo_default = 'data:image/svg+xml,<?xml version="1.0" encoding="utf-8"?>%0A<svg xmlns="http://www.w3.org/2000/svg" viewBox="15 17.6409 119.9998 114.7498" width="160px" height="153px">%0A <path style="stroke:none;fill-rule:evenodd;fill:currentColor;fill-opacity:1" d="M73.832 19.293a1893.685 1893.685 0 0 0-7.742 9.047c-1.93 2.273-3.274 3.898-4.266 5.156-.988 1.258-1.62 2.149-2.117 2.957-.5.805-.86 1.531-1.309 2.453-.14.285-.277.563-.402.813-.121.254-.238.48-.332.676a20.107 20.107 0 0 1-.34.652c-.008.008-.062 0-.156-.02s-.227-.047-.383-.09c-.16-.039-.351-.09-.558-.148-.207-.059-.43-.121-.668-.191-1.079-.32-1.895-.559-2.684-.743-.79-.18-1.55-.3-2.516-.382-.96-.082-2.129-.121-3.734-.145-1.602-.02-3.64-.023-6.348-.023H35.31l-2.485-.004H30.34v20.574l-.527.059-.524.058-1.055.117c-.59.067-1.203.157-1.84.274-.636.113-1.292.25-1.968.414-.676.16-1.371.348-2.086.555-.715.21-1.445.441-2.195.695-.47.16-1.024.36-1.594.574a64.38 64.38 0 0 0-1.684.649c-.523.207-.992.398-1.328.546-.336.149-.539.246-.539.274 0 .039.07.234.191.535.118.297.29.7.485 1.156.195.453.418.961.644 1.473.227.508.461 1.02.676 1.484a52.041 52.041 0 0 0 9.54 13.926 47.507 47.507 0 0 0 6.14 5.41c2.164 1.59 4.426 2.953 6.75 4.047a51.197 51.197 0 0 0 3.414 1.461c1.129.43 2.242.805 3.36 1.125 1.112.324 2.226.59 3.343.809a39.04 39.04 0 0 0 3.375.504c.84.085 1.781.136 2.777.156a51.632 51.632 0 0 0 6.203-.266 34.786 34.786 0 0 0 2.836-.394 59.177 59.177 0 0 1 2.633-.442c.149-.02.235-.023.246-.015.043.043-.02.195-.152.414a9.01 9.01 0 0 1-.582.812c-.242.313-.527.645-.813.965-.289.316-.582.617-.851.86-.57.519-1.168.968-1.809 1.355-.64.383-1.324.703-2.07.969-.746.261-1.555.464-2.441.617-.891.156-1.856.258-2.926.316-1.36.07-2.582.207-3.703.422-1.118.211-2.13.496-3.07.871-.938.375-1.801.84-2.618 1.403a15.82 15.82 0 0 0-2.351 2 14.205 14.205 0 0 0-1.489 1.765 13.256 13.256 0 0 0-1.148 1.945 15.518 15.518 0 0 0-.856 2.207 20.834 20.834 0 0 0-.59 2.543c-.058.348-.105.61-.156.817-.05.207-.105.36-.183.484a1.184 1.184 0 0 1-.325.332c-.144.106-.332.211-.578.356a9.157 9.157 0 0 0-2.543 2.183 8.797 8.797 0 0 0-1.52 2.813 8.33 8.33 0 0 0-.382 3.113 7.995 7.995 0 0 0 .852 3.098 7.95 7.95 0 0 0 1.574 2.117 9.294 9.294 0 0 0 2.168 1.566c.789.418 1.629.715 2.469.868.84.152 1.68.167 2.472.007a7.941 7.941 0 0 0 1.188-.336c.406-.144.82-.32 1.222-.515.399-.2.79-.418 1.149-.653.36-.234.691-.476.976-.73a6.93 6.93 0 0 0 1.473-1.86c.39-.71.68-1.492.855-2.308.176-.82.243-1.676.188-2.527a8.74 8.74 0 0 0-.531-2.516 5.919 5.919 0 0 0-.68-1.281c-.289-.43-.64-.856-1.031-1.258a10.34 10.34 0 0 0-1.262-1.11 8.299 8.299 0 0 0-1.379-.847c-.414-.2-.722-.352-.95-.492-.226-.137-.366-.27-.44-.43-.075-.16-.083-.352-.043-.613.039-.266.125-.598.242-1.043.226-.871.566-1.695 1.004-2.465a10.426 10.426 0 0 1 3.672-3.754c.77-.46 1.605-.836 2.492-1.102.152-.046.386-.093.675-.144a30.829 30.829 0 0 1 2.246-.273c.43-.043.876-.075 1.317-.102a41.754 41.754 0 0 0 2.773-.25 19.813 19.813 0 0 0 2.243-.406 13.283 13.283 0 0 0 1.918-.621c.609-.246 1.199-.536 1.804-.88a20.824 20.824 0 0 0 1.774-1.116c.539-.383 1.031-.786 1.511-1.227.48-.445.942-.934 1.415-1.488.468-.559.953-1.18 1.468-1.899l.309-.426.308-.43.313-.429.309-.426v19.633l-.399.262-.402.265-.797.532a11.66 11.66 0 0 0-1.567 1.21c-.44.41-.808.837-1.113 1.305-.305.465-.55.97-.746 1.535-.2.567-.351 1.192-.473 1.903a7.401 7.401 0 0 0 .024 2.574 8.502 8.502 0 0 0 2.441 4.543 7.787 7.787 0 0 0 2.157 1.496c.804.367 1.632.61 2.46.715.829.105 1.66.082 2.47-.07a7.963 7.963 0 0 0 2.343-.828 8.831 8.831 0 0 0 2.094-1.567c.406-.402.738-.789 1.011-1.18.27-.394.48-.796.641-1.234.156-.441.266-.918.336-1.473.07-.55.102-1.171.105-1.894 0-.524 0-.93-.011-1.266a6.504 6.504 0 0 0-.074-.836 3.967 3.967 0 0 0-.192-.683c-.09-.23-.207-.485-.355-.805a7.845 7.845 0 0 0-1.594-2.262 8.117 8.117 0 0 0-1.07-.879 9.342 9.342 0 0 0-1.254-.718l-.348-.164-.348-.16-.343-.165-.348-.164v-4.957l-.004-2.476v-2.48c0-1.36.004-2.657.012-3.833.008-1.176.02-2.23.035-3.11.016-.882.035-1.589.055-2.07.02-.48.043-.734.066-.707.02.028.074.102.156.208l.301.421c.121.168.258.364.406.575.145.207.305.433.461.664.38.543.735 1.027 1.09 1.468.352.438.703.832 1.063 1.2.363.367.742.707 1.148 1.039.406.328.844.652 1.332.98.777.528 1.5.965 2.223 1.328.718.364 1.437.657 2.203.89.765.235 1.582.411 2.496.544.914.137 1.93.23 3.094.3.433.024.867.055 1.289.087a40.742 40.742 0 0 1 2.148.215c.27.035.477.07.602.101.965.234 1.898.64 2.761 1.168a11.119 11.119 0 0 1 2.34 1.93 10.355 10.355 0 0 1 1.688 2.437c.43.867.707 1.781.805 2.695l.03.313.032.309.035.316.031.309-.27.14-.538.274-.274.136c-.828.426-1.558.922-2.183 1.493a7.954 7.954 0 0 0-1.54 1.91 7.731 7.731 0 0 0-.87 2.273 9.264 9.264 0 0 0-.172 2.594c.066.96.285 1.871.64 2.703a7.903 7.903 0 0 0 1.446 2.258 8.316 8.316 0 0 0 2.14 1.683c.817.45 1.727.782 2.715.98 1.309.255 2.617.126 3.836-.3a8.813 8.813 0 0 0 3.266-2.05 8.893 8.893 0 0 0 2.117-3.239c.453-1.21.613-2.527.387-3.848a9.06 9.06 0 0 0-1.504-3.644 9.344 9.344 0 0 0-1.301-1.477 8.97 8.97 0 0 0-1.61-1.16c-.18-.097-.347-.2-.507-.293-.16-.097-.305-.183-.434-.265-.125-.082-.23-.153-.312-.211a.573.573 0 0 1-.137-.121.813.813 0 0 1-.063-.184c-.027-.094-.058-.223-.097-.375a11.147 11.147 0 0 1-.11-.512c-.039-.187-.082-.39-.12-.594-.098-.5-.227-1.023-.383-1.554a19.7 19.7 0 0 0-.551-1.594c-.207-.527-.43-1.039-.668-1.512a12.868 12.868 0 0 0-.735-1.3 12.93 12.93 0 0 0-1.582-1.954 15.064 15.064 0 0 0-1.98-1.691 15.833 15.833 0 0 0-2.27-1.355 14.35 14.35 0 0 0-2.449-.934 9.33 9.33 0 0 0-.836-.188 25.72 25.72 0 0 0-1.094-.18 40.224 40.224 0 0 0-2.605-.269 51.614 51.614 0 0 1-1.281-.11 47.27 47.27 0 0 1-1.242-.128 37.65 37.65 0 0 1-1.067-.14 12.643 12.643 0 0 1-.746-.133 11.48 11.48 0 0 1-1.508-.458c-.5-.187-.996-.414-1.472-.668a12.371 12.371 0 0 1-2.606-1.847 16.117 16.117 0 0 1-1.676-1.836 5.604 5.604 0 0 1-.465-.707c-.097-.192-.125-.324-.074-.375.016-.016.117-.012.285.004.168.015.407.047.696.09.293.039.633.093 1.008.156.37.062.78.137 1.207.215a60.65 60.65 0 0 0 1.789.304c.527.079 1.011.133 1.535.172.523.04 1.09.063 1.777.078.692.016 1.504.02 2.527.024 1.22 0 2.204-.008 3.06-.031a27.474 27.474 0 0 0 2.257-.153 20.662 20.662 0 0 0 2.047-.336 48.885 48.885 0 0 0 2.426-.59 44.634 44.634 0 0 0 5.347-1.761 42.256 42.256 0 0 0 4.98-2.387 43.059 43.059 0 0 0 4.633-3.031 46.976 46.976 0 0 0 4.329-3.692 55.822 55.822 0 0 0 3.312-3.468 49.244 49.244 0 0 0 2.879-3.63 50.142 50.142 0 0 0 2.516-3.886 57.29 57.29 0 0 0 2.23-4.258c.375-.793.691-1.48.95-2.066.257-.59.46-1.078.613-1.473.144-.398.242-.7.285-.918.047-.219.039-.351-.016-.402-.078-.07-.41-.23-.902-.442a57.272 57.272 0 0 0-1.828-.73c-.692-.262-1.434-.535-2.121-.777a36.517 36.517 0 0 0-1.778-.586 54.289 54.289 0 0 0-3.531-.879 48.341 48.341 0 0 0-1.715-.332 23.874 23.874 0 0 0-1.465-.215l-.633-.07-.312-.04-.316-.035V39.301l-2.461.004h-2.461l-2.457.004h-2.461c-2.645.004-4.664.007-6.266.03-1.605.024-2.797.067-3.789.141-.992.079-1.789.192-2.598.356-.812.164-1.64.383-2.703.668a23.531 23.531 0 0 1-1.203.3c-.16.036-.289.06-.383.075-.093.016-.148.02-.156.008a29.962 29.962 0 0 1-.355-.672c-.102-.2-.22-.434-.348-.692a79.19 79.19 0 0 1-.418-.828c-.45-.902-.785-1.578-1.168-2.234-.379-.66-.805-1.297-1.422-2.117-.617-.817-1.433-1.82-2.594-3.203-1.16-1.387-2.671-3.153-4.68-5.508-1.398-1.64-2.53-2.961-3.44-4.02a272.265 272.265 0 0 0-2.122-2.441c-.523-.59-.875-.973-1.11-1.211-.237-.234-.355-.324-.402-.32-.015 0-.07.047-.156.132-.086.086-.199.207-.34.356-.136.148-.296.328-.472.523-.172.2-.364.414-.555.641m7.059 11.504a151.52 151.52 0 0 1 3.582 4.336 58.05 58.05 0 0 1 2.488 3.336c.66.965 1.16 1.793 1.516 2.515.355.72.57 1.332.66 1.868.023.14.039.25.031.347a.526.526 0 0 1-.09.262 1.205 1.205 0 0 1-.266.262c-.12.093-.285.199-.492.332-.332.21-.773.554-1.265.976-.493.426-1.043.934-1.594 1.473a43.455 43.455 0 0 0-1.625 1.672 25.487 25.487 0 0 0-1.348 1.574c-.398.512-.812 1.09-1.222 1.703a39.76 39.76 0 0 0-1.204 1.91 39.73 39.73 0 0 0-1.085 1.946c-.329.636-.622 1.25-.86 1.812-.34.809-.672 1.727-.976 2.688-.305.96-.582 1.964-.817 2.945-.234.984-.43 1.945-.562 2.816-.137.871-.215 1.653-.215 2.282-.004.609-.024 1.054-.055 1.332-.035.277-.086.386-.152.328-.067-.055-.149-.278-.246-.664a26.572 26.572 0 0 1-.336-1.66 76.29 76.29 0 0 0-.54-2.758 81.86 81.86 0 0 0-.624-2.66c-.211-.844-.43-1.637-.645-2.34a22.878 22.878 0 0 0-.617-1.801 24.472 24.472 0 0 0-.742-1.66 48.94 48.94 0 0 0-2.047-3.746c-.36-.59-.707-1.13-1.027-1.582a21.393 21.393 0 0 0-1.153-1.446 44.776 44.776 0 0 0-1.558-1.71 47.283 47.283 0 0 0-1.657-1.657c-.539-.512-1.043-.96-1.468-1.3-.172-.141-.34-.278-.489-.41a8.144 8.144 0 0 1-.402-.376 3.846 3.846 0 0 1-.27-.293c-.066-.082-.101-.144-.101-.176 0-.105.098-.378.262-.753.16-.372.386-.848.644-1.356.258-.508.547-1.05.828-1.562a24.735 24.735 0 0 1 1.582-2.508c.262-.371.543-.746.871-1.16.329-.418.7-.871 1.149-1.407.45-.535.973-1.144 1.601-1.87.235-.27.536-.614.875-1.005.336-.394.715-.832 1.114-1.293.394-.46.808-.937 1.215-1.41.402-.472.8-.933 1.168-1.363l.668-.777.668-.774.667-.777.665-.778.117.118.113.12.117.118.113.117a110.75 110.75 0 0 1 1.668 1.914l1.555 1.809c.57.664 1.184 1.383 1.813 2.12M51.227 44.149c.425.09.867.2 1.304.317.434.117.864.242 1.254.37.395.13.754.259 1.055.38.297.12.535.234.687.332.051.035.09.094.11.191.02.098.023.239.011.442-.015.199-.046.457-.097.793-.055.336-.125.75-.215 1.257-.094.524-.172.989-.23 1.446-.06.457-.106.91-.137 1.41a32.68 32.68 0 0 0-.067 1.7c-.011.648-.015 1.401-.015 2.312 0 .98.004 1.761.015 2.414.012.648.035 1.172.07 1.644.04.473.09.89.165 1.336.07.446.164.918.285 1.488.074.348.156.72.242 1.094.082.375.168.754.254 1.11.086.359.168.695.242.992.074.3.14.554.195.75.055.195.102.383.149.554.043.172.082.329.113.461.031.13.059.239.07.317.016.078.02.125.012.133a.942.942 0 0 1-.183-.079 35.955 35.955 0 0 1-1.148-.629c-.255-.144-.532-.304-.821-.472a95.651 95.651 0 0 0-2.031-1.152 44.616 44.616 0 0 0-1.723-.899 34 34 0 0 0-1.633-.75 44.224 44.224 0 0 0-1.762-.715 50.86 50.86 0 0 0-2.855-1.004 45.68 45.68 0 0 0-2.8-.793 39.106 39.106 0 0 0-2.653-.562 26.924 26.924 0 0 0-2.406-.309l-.426-.03-.426-.036-.426-.031-.426-.035V43.758h7.215c1.578.004 2.832.008 3.852.015 1.02.012 1.8.028 2.437.055a20.37 20.37 0 0 1 1.547.117c.43.051.797.117 1.196.203m64.886 7.493c0 1.23-.008 2.34-.015 3.312-.008.977-.02 1.817-.04 2.504-.015.691-.038 1.23-.062 1.602-.023.367-.05.57-.082.59a1.259 1.259 0 0 1-.281.07c-.153.031-.367.062-.617.101-.254.035-.547.078-.868.117-.32.043-.664.083-1.02.122-.765.086-1.538.199-2.323.343-.79.141-1.59.313-2.407.516-.816.203-1.652.434-2.503.7-.856.26-1.73.558-2.625.882-.735.266-1.305.477-1.801.672-.496.195-.918.375-1.348.578-.43.203-.867.43-1.398.723-.528.289-1.149.644-1.946 1.101a34.54 34.54 0 0 1-1.644.895 9.035 9.035 0 0 1-.528.242c-.128.055-.21.074-.226.059-.016-.016-.02-.082-.012-.184a5.49 5.49 0 0 1 .055-.422c.031-.172.066-.371.113-.59.043-.219.098-.457.156-.699.258-1.082.454-1.906.602-2.613.152-.703.258-1.282.332-1.867.078-.583.125-1.172.156-1.895.035-.723.059-1.578.086-2.695.024-.98.04-1.77.043-2.434.004-.66-.004-1.2-.027-1.684a17.76 17.76 0 0 0-.113-1.355 29.95 29.95 0 0 0-.223-1.445c-.152-.887-.27-1.543-.336-2.035-.066-.493-.086-.825-.04-1.059a.664.664 0 0 1 .333-.492c.18-.117.437-.207.781-.336.692-.266 1.29-.469 1.926-.63.637-.16 1.309-.276 2.152-.358.84-.082 1.852-.133 3.164-.16 1.309-.032 2.922-.044 4.965-.047l3.813-.008h1.902l1.906-.004v7.883m-25.05-2.368c.195 1.02.343 1.977.437 2.91.098.934.14 1.837.133 2.75a25.621 25.621 0 0 1-.18 2.797c-.11.961-.273 1.961-.488 3.036a39.395 39.395 0 0 1-.746 3.12 31.161 31.161 0 0 1-.946 2.829c-.355.906-.75 1.781-1.187 2.64a30.9 30.9 0 0 1-1.473 2.555c-.215.34-.597.86-1.074 1.469a76.18 76.18 0 0 1-1.625 2.012 79.82 79.82 0 0 1-1.73 2.011 30.987 30.987 0 0 1-1.387 1.489l-.258.25-.262.254-.257.253-.262.254.02-1.62.023-1.622.02-1.617.019-1.621c.02-1.414.035-2.543.058-3.465.02-.922.047-1.637.082-2.227.036-.59.082-1.054.141-1.472.059-.422.133-.797.227-1.211a38.117 38.117 0 0 1 1.086-3.91c.418-1.235.89-2.403 1.433-3.524a28.68 28.68 0 0 1 1.82-3.222 31.184 31.184 0 0 1 2.258-3.012 18.08 18.08 0 0 1 1.012-1.086c.367-.363.746-.715 1.106-1.023.355-.31.69-.575.964-.762.27-.188.48-.297.59-.297.035 0 .07.031.11.086.039.05.078.129.12.226a4.214 4.214 0 0 1 .216.75m-28.895.91c.914.915 1.738 1.86 2.488 2.86a25.52 25.52 0 0 1 2.028 3.187 30.027 30.027 0 0 1 1.636 3.645 42.64 42.64 0 0 1 1.32 4.23c.122.485.22.872.294 1.274.074.406.125.832.164 1.387.043.554.07 1.242.09 2.171.023.934.039 2.11.058 3.645.02 1.441.035 2.566.04 3.438.003.87 0 1.488-.016 1.921-.016.434-.043.68-.086.813-.04.129-.094.14-.16.101-.106-.058-.376-.324-.743-.722-.367-.399-.84-.926-1.34-1.512a82.643 82.643 0 0 1-1.539-1.832 48.185 48.185 0 0 1-1.34-1.695c-.34-.45-.722-1.031-1.117-1.688a40.534 40.534 0 0 1-1.183-2.125 43.623 43.623 0 0 1-1.075-2.207 21.82 21.82 0 0 1-.773-1.933c-.07-.215-.152-.477-.238-.762-.082-.29-.172-.602-.258-.922a49.961 49.961 0 0 1-.461-1.844c-.187-.86-.316-2.113-.395-3.508a62.606 62.606 0 0 1-.066-4.378c.027-1.434.106-2.762.227-3.735.12-.969.285-1.578.492-1.578.023 0 .097.05.21.14.11.09.259.22.438.38a44.358 44.358 0 0 1 1.305 1.25m53.23 15.39a24.897 24.897 0 0 1-.965 4.492 26.72 26.72 0 0 1-.824 2.25 33.11 33.11 0 0 1-1.058 2.305c-.344.676-.66 1.262-.98 1.805-.321.543-.641 1.035-.997 1.523-.351.485-.734.961-1.18 1.473-.445.508-.953 1.05-1.542 1.66a35.204 35.204 0 0 1-1.579 1.54c-.496.448-.976.847-1.468 1.21-.493.367-1 .703-1.551 1.031-.55.328-1.145.649-1.817.989-.84.421-1.624.761-2.445 1.03a15.58 15.58 0 0 1-2.683.626c-1.004.152-2.145.25-3.532.308-1.382.063-3.011.082-4.98.082H82.18l.03-.113.036-.113.031-.113.035-.114c.055-.199.243-.582.516-1.074.274-.496.633-1.101 1.027-1.746.399-.645.836-1.324 1.266-1.969.43-.644.852-1.25 1.219-1.746a44.604 44.604 0 0 1 5.883-6.445 41.569 41.569 0 0 1 6.812-4.977 38.048 38.048 0 0 1 7.477-3.36 34.711 34.711 0 0 1 7.886-1.585c.11-.008.22-.02.325-.027.105-.008.203-.02.293-.028.09-.008.164-.02.226-.023.063-.008.106-.016.13-.02.023-.004.038.024.05.078a.934.934 0 0 1 .023.239c.004.101 0 .226-.007.363-.008.137-.02.29-.04.45M30.934 66.89c.242 1.234.562 2.488.945 3.738a41.182 41.182 0 0 0 1.32 3.68 37.438 37.438 0 0 0 1.61 3.425 27.185 27.185 0 0 0 1.816 2.961c.45.633.992 1.313 1.594 2.004a38.232 38.232 0 0 0 1.949 2.074c.687.68 1.395 1.34 2.098 1.942.699.597 1.39 1.144 2.03 1.597.298.208.575.407.825.59.25.184.469.352.649.496.18.141.32.258.41.344.09.082.129.133.105.14-.066.028-.328-.038-.71-.167-.384-.13-.891-.324-1.458-.555a48.612 48.612 0 0 1-1.812-.777 38.066 38.066 0 0 1-7.352-4.297 42.01 42.01 0 0 1-5.043-4.422 44.733 44.733 0 0 1-4.37-5.254 45.026 45.026 0 0 1-3.575-5.941c-.125-.258-.25-.504-.356-.735-.109-.226-.207-.433-.285-.609-.078-.176-.14-.32-.18-.422-.042-.101-.058-.164-.05-.172.008-.008.062-.031.148-.066.09-.035.211-.082.36-.137.144-.05.32-.113.507-.18l.614-.21c.433-.145.988-.297 1.593-.446a39.578 39.578 0 0 1 3.805-.73c.574-.078 1.07-.125 1.434-.133l.23-.004.235-.004.23-.004.234-.004.114.57.109.57.113.567.114.57m8.199-1.87c1.383.238 2.8.59 4.226 1.039 1.426.449 2.856 1 4.27 1.636a42.064 42.064 0 0 1 4.16 2.164c1.348.801 2.648 1.68 3.879 2.621.41.317.95.778 1.547 1.32a69.069 69.069 0 0 1 1.914 1.805c.652.641 1.3 1.293 1.871 1.899a31.34 31.34 0 0 1 1.422 1.586 46.416 46.416 0 0 1 1.726 2.27c.57.796 1.125 1.613 1.622 2.39.5.781.94 1.52 1.285 2.152.343.637.593 1.172.71 1.543l.032.114.035.113.04.113.03.113h-5.511c-1.918 0-3.48-.02-4.801-.078-1.324-.058-2.41-.156-3.371-.312a15.68 15.68 0 0 1-2.63-.653c-.831-.289-1.651-.652-2.581-1.109a20.527 20.527 0 0 1-3.137-1.926 24.776 24.776 0 0 1-2.902-2.523 26.07 26.07 0 0 1-2.528-2.988 24.005 24.005 0 0 1-2.011-3.305 35.404 35.404 0 0 1-1.192-2.649 38.321 38.321 0 0 1-.968-2.66 25.394 25.394 0 0 1-.645-2.39c-.156-.72-.238-1.348-.238-1.832 0-.211 0-.371.011-.489.012-.12.032-.203.079-.257.043-.055.105-.082.203-.098.093-.016.222-.016.39-.016.094 0 .25.012.453.032.204.023.454.05.73.09.278.035.583.078.903.128.32.047.653.102.977.157m84.953.085c.336.06.809.168 1.336.297.523.13 1.101.282 1.64.434.543.152 1.051.305 1.43.43.387.125.649.222.7.273.027.023-.028.184-.149.45-.121.265-.3.632-.527 1.062-.223.433-.493.93-.79 1.457a56.9 56.9 0 0 1-.937 1.633 44.31 44.31 0 0 1-3.473 5.027 46.345 46.345 0 0 1-4.12 4.531 43.203 43.203 0 0 1-4.571 3.848 34.726 34.726 0 0 1-4.82 2.969 42.898 42.898 0 0 1-3.02 1.367c-.469.191-.89.351-1.207.457-.32.105-.535.156-.598.137-.027-.012.004-.055.079-.133.074-.074.195-.18.351-.309.153-.129.348-.281.563-.445.218-.164.465-.344.722-.531a31.987 31.987 0 0 0 3.067-2.473 30.025 30.025 0 0 0 4.992-5.887 32.018 32.018 0 0 0 1.953-3.441c.398-.809.75-1.57 1.059-2.309a30.121 30.121 0 0 0 1.48-4.39c.188-.758.363-1.547.52-2.391l.109-.59.113-.586.11-.59.109-.586h1.133c.156 0 .347.008.566.024.215.012.457.035.703.062a20.21 20.21 0 0 1 1.477.203m-79.191 55.711c.363.23.671.555.917.934.247.379.426.816.536 1.273.109.457.148.938.105 1.407a3.61 3.61 0 0 1-.371 1.336c-.156.304-.332.57-.539.808a3.303 3.303 0 0 1-1.512.996 4.104 4.104 0 0 1-.965.184 4.468 4.468 0 0 1-1.03-.043 3.427 3.427 0 0 1-1.719-.805 4.434 4.434 0 0 1-.696-.77 3.378 3.378 0 0 1-.555-1.284 4.203 4.203 0 0 1-.046-1.434c.066-.48.21-.945.43-1.36.214-.413.507-.78.87-1.058a3.654 3.654 0 0 1 1.059-.555c.383-.132.789-.207 1.2-.222.41-.02.82.023 1.214.12.39.102.766.259 1.102.473m64.375-.195c.175.086.37.23.574.406.199.176.402.38.586.598.187.215.36.438.492.652.133.211.226.407.266.567.019.07.035.168.042.285.012.113.02.25.024.398.004.145 0 .301-.004.457a8.875 8.875 0 0 1-.023.461 3.545 3.545 0 0 1-.774 1.953 3.866 3.866 0 0 1-3.625 1.368 3.584 3.584 0 0 1-1.883-.95 4.289 4.289 0 0 1-.55-.609 2.827 2.827 0 0 1-.352-.637 3.475 3.475 0 0 1-.188-.746 6.793 6.793 0 0 1-.054-.941c0-.352.027-.672.082-.961.05-.293.137-.555.25-.797.117-.242.265-.465.449-.676.188-.21.406-.41.668-.601.25-.188.547-.328.879-.434a4.168 4.168 0 0 1 1.05-.187c.364-.024.735 0 1.09.066.36.062.7.176 1 .328m-31.93.473c.177.125.368.328.556.57.183.242.367.531.527.824.16.293.297.598.394.88a2.5 2.5 0 0 1 .16.737c0 .258-.074.567-.206.895a5.551 5.551 0 0 1-.54.996 6 6 0 0 1-.742.906c-.265.27-.547.489-.816.63a2.93 2.93 0 0 1-1.024.3 3.709 3.709 0 0 1-1.117-.047 3.928 3.928 0 0 1-1.066-.37 3.194 3.194 0 0 1-.871-.669 4.034 4.034 0 0 1-.68-1.012 4.028 4.028 0 0 1-.355-1.12 3.802 3.802 0 0 1-.012-1.153 3.5 3.5 0 0 1 .344-1.094c.187-.363.375-.664.586-.91.21-.242.441-.43.71-.57.266-.14.57-.23.922-.282a6.496 6.496 0 0 1 1.239-.046c.254.011.472.027.664.046.195.024.363.055.515.098a2.284 2.284 0 0 1 .813.39" id="path6"/>%0A</svg>';
1
+ // src/modules/auth/AuthModal.tsx
2
+ import { useId } from "react";
3
3
 
4
- // src/primitives/Dialog.tsx
5
- import { Dialog as ArkDialog } from "@ark-ui/react/dialog";
6
- import { Portal } from "@ark-ui/react/portal";
7
- import { useRef } from "react";
4
+ // src/brand/mark.svg
5
+ var mark_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500" viewBox="0 0 375 375"><path fill="currentColor" d="M.367 162.23c0-2.69 0-5.386.156-8.277 1.922-.074 3.352-.324 3.247-2.633-.047-1.03.68-1.289 1.597-1.285 2.438.016 4.88-.02 7.32-.008 1.372.004 2.25-.515 2.258-2.007.008-1.247.645-1.747 1.852-1.66.547.038 1.098.011 1.648-.005 1.762-.062 3.844.497 4.29-2.18.023-.136.238-.284.39-.34 1.52-.55 2.898-1.507 4.64-1.362 1.348.109 2.274-.426 2.196-1.977-.063-1.203.547-1.559 1.687-1.555 4.149 0 8.297-.066 12.446-.12 2.426-.032 2.804-.321 2.828-2.743.05-5.793.008-11.59.008-17.383.008-13.851.035-27.703.004-41.55-.004-1.567.507-2.157 2.113-2.153 11.168.04 22.336.008 33.5 0 10.742-.004 21.48.008 32.223-.031 1.472-.004 2.363.316 2.207 2.023-.13 1.403.78 1.766 1.976 1.766 3.356 0 6.711-.02 10.067.02 1.43.02 2.164-.551 2.19-2.024.02-.8.126-1.535 1.216-1.73 2.582-.47 2.574-.516 2.59-3.223.004-.73.062-1.469-.012-2.195-.145-1.457.34-2.203 1.922-2.024 1.36.156 1.844-.582 1.828-1.867-.02-1.34.062-2.684.094-4.023.023-1.094.468-1.75 1.66-1.649 1.398.117 2.074-.57 2.043-1.918-.031-1.414.594-1.988 1.992-1.844 1.215.122 1.894-.46 1.789-1.703-.129-1.535.57-2.078 2.031-1.984 1.258.078 1.711-.668 1.692-1.848-.024-1.34.043-2.683.004-4.027-.028-1.082.46-1.566 1.515-1.582 1.406-.024 2.809-.09 4.211-.11 1.133-.011 1.68-.566 1.688-1.687.011-1.34.047-2.684.035-4.027-.008-1.192.445-1.813 1.746-1.727 1.152.074 2.32-.062 3.473.031 1.8.145 2.425-.695 2.328-2.382-.063-1.036.05-2.079-.016-3.11-.086-1.367.344-2.05 1.852-1.957 1.273.074 2.558-.125 3.84-.117 1.316.008 1.902-.656 1.93-1.895.026-1.222.085-2.445.003-3.66-.094-1.386.356-2.066 1.844-1.922 1.304.133 1.914-.539 1.87-1.847-.026-.977-.01-1.953 0-2.93.024-2.555.028-2.547 2.509-2.574a83 83 0 0 0 3.11-.094c1.171-.059 1.765-.644 1.733-1.871-.035-1.402.02-2.809.016-4.21 0-.981.453-1.458 1.445-1.454 1.77.012 3.54.02 5.309-.012 1.125-.023 1.504.563 1.488 1.594-.02 1.281.051 2.562-.004 3.844-.066 1.508.637 2.097 2.09 2.05 1.219-.039 2.442.028 3.664.032 1.125 0 1.664.492 1.621 1.672-.054 1.402-.011 2.804.004 4.21.012.915.422 1.665 1.395 1.54 2.304-.29 2.344 1.004 2.324 2.75-.059 5.097-.594 4.734 4.668 4.797 2.934.03 2.922.023 2.938 2.917.035 5.149-.52 4.579 4.609 4.61 2.758.015 2.762.004 2.777 2.75.035 5.402-.012 4.586 4.68 4.683 2.86.063 2.86.047 2.894 2.813.012.855.07 1.71.016 2.562-.094 1.532.5 2.329 2.113 2.188 1.121-.094 1.754.297 1.614 1.555-.172 1.562.539 2.293 2.125 2.148 1.148-.105 1.742.414 1.687 1.578-.074 1.559.652 2.242 2.2 2.153 1.074-.063 1.538.515 1.53 1.57-.007 1.16.094 2.32.036 3.476-.082 1.563.433 2.47 2.152 2.399 1.16-.047 1.613.582 1.582 1.715-.035 1.28.008 2.562.031 3.843.02 1.243.59 1.989 1.899 1.93 1.344-.062 1.898.54 1.777 1.863-.12 1.29.45 1.938 1.79 1.93 3.538-.02 7.077-.016 10.616-.004 1.086.004 1.832-.457 1.813-1.582-.04-2.008 1.16-2.172 2.742-2.168 21.543.047 43.082.059 64.625.086 2.606.004 2.824.207 2.817 2.817-.024 5.55-.18 11.105-.122 16.656.153 13.851.18 27.699.04 41.55-.024 2.266.328 2.684 2.609 2.7 4.09.027 8.176.02 12.265.008 1.235-.004 2.2.203 2.114 1.777-.07 1.324.676 1.851 1.933 1.848 1.22-.008 2.442.078 3.66.023 1.372-.062 2.07.383 1.887 1.887-.172 1.398.559 2.015 1.942 1.984 1.28-.027 2.566.067 3.843-.008 1.22-.07 1.883.328 1.805 1.625-.098 1.621.777 2.125 2.266 2.094 2.316-.055 4.64.047 6.957-.039 1.383-.05 2.066.402 2.011 1.84-.054 1.414.715 1.969 2.067 1.89.422-.023.851.051 1.277.079 0 2.57 0 5.14-.16 7.906-2.832.254-2.879.242-3.355 2.879-.184 1.031-.817 1.09-1.579 1.066-1.586-.043-2.152.762-2.12 2.274.05 2.441-.016 4.882.003 7.324.008 1.09-.336 1.812-1.554 1.722-1.586-.117-2.23.633-2.176 2.168.031.79-.2 1.575-1.184 1.489-2.277-.2-2.66 1.14-2.594 2.957.032.855-.082 1.715-.011 2.562.125 1.457-.383 2.207-1.942 2.098-1.351-.094-1.832.64-1.785 1.922.043 1.281-.07 2.562-.004 3.84.063 1.28-.457 1.793-1.715 1.675-1.378-.129-2.082.516-2.02 1.914.056 1.188-.362 1.887-1.679 1.762-1.523-.14-2.129.621-2.008 2.078.106 1.239-.464 1.828-1.699 1.785-1.48-.05-2.098.73-2.086 2.141.008 1.04-.496 1.637-1.554 1.586-1.602-.078-2.168.758-2.184 2.23-.008.762-.203 1.372-1.203 1.512-2.61.367-2.606.414-2.613 3.051-.004.852-.043 1.71.007 2.563.075 1.238-.3 2.011-1.703 1.988-1.363-.024-2.004.699-1.988 2.05.016 1.165-.649 1.676-1.734 1.622-1.5-.075-2.11.629-2.07 2.078.03 1.23-.626 1.73-1.848 1.668-1.157-.059-2.32.043-3.477-.004-1.45-.059-2.234.57-2.164 2.031.062 1.332-.602 1.711-1.785 1.652-.945-.05-1.89.262-1.828 1.32.144 2.427-1.23 2.688-3.11 2.52-.785-.074-1.586.047-2.379.024-1.425-.043-2.25.613-2.203 2.043.043 1.316-.547 1.738-1.758 1.675-1.039-.054-1.957.356-1.886 1.489.133 2.152-1.059 2.41-2.739 2.27-.789-.067-1.59.034-2.378-.024-1.551-.117-2.5.351-2.38 2.113.083 1.172-.534 1.633-1.683 1.59-1.281-.047-2.562 0-3.844-.004-1.324-.008-2.164.57-2.039 1.965.145 1.594-.683 1.793-1.988 1.766-3.477-.07-6.957-.012-10.434-.079-1.574-.03-2.453.559-2.464 2.192-.012 1.324-.676 1.77-1.97 1.754-3.6-.051-7.202.023-10.8-.008-1.387-.012-2.262.414-2.246 1.941.016 1.356-.734 1.743-1.988 1.743a5556 5556 0 0 0-34.235.011c-1.504.008-2.113-.582-2.129-2.008-.015-1.226-.714-1.714-1.898-1.695-2.133.04-4.27.027-6.406.063-.98.02-1.891.242-1.891 1.484 0 1.191.938 1.316 1.805 1.344 1.086.039 1.722.34 1.625 1.61-.117 1.562.597 2.44 2.273 2.308 1.055-.082 1.617.355 1.61 1.457-.008 1.355.773 2.078 2.03 2.105 1.372.035 1.794.672 1.766 1.938-.03 1.351.7 1.968 2.07 1.933 1.282-.031 2.563.047 3.844.059.833.008 1.485.254 1.477 1.21-.012 2.192 1.398 2.595 3.164 2.595 2.93 0 5.86.015 8.79.011 6.71 0 13.425-.015 20.136 0 .726.004 1.621-.3 1.844.93.484 2.719.52 2.715 3.355 2.73.73.004 1.469.055 2.195-.02 1.317-.132 1.97.4 1.942 1.731-.028 1.34.531 2.098 1.965 1.985 1.152-.09 1.734.422 1.668 1.594-.079 1.414.476 2.203 1.992 2.167 1.105-.027 1.722.5 1.672 1.665-.063 1.476.68 2.125 2.117 2.07 1.11-.043 1.758.39 1.656 1.605-.129 1.504.695 2.118 2.078 2.13 1.23.01 1.766.57 1.66 1.816-.078.91.125 1.972 1.22 1.867 2.737-.266 2.562 1.441 2.46 3.226-.039.668.031 1.344-.012 2.012-.105 1.578.508 2.45 2.192 2.379 1.246-.05 1.633.516 1.594 1.805-.118 3.718-.016 7.441-.09 11.164-.035 1.539.629 2.082 2.078 2.027 1.277-.047 2.562.016 3.844-.004 1.207-.02 1.796.461 1.718 1.746-.074 1.219.043 2.446-.02 3.66-.07 1.414.372 2.243 1.942 2.157 1.145-.063 1.867.343 1.805 1.675-.059 1.301.535 2.094 1.945 2.082 1.192-.011 1.79.5 1.719 1.778-.078 1.36.672 2.074 2.016 1.988 1.351-.086 1.847.465 1.843 1.797-.023 6.469 0 12.938.028 19.406.004 1.211-.29 2.012-1.75 1.903-1.418-.106-2.239.613-2.157 2.062.075 1.344-.55 1.692-1.757 1.613-1.297-.086-1.965.657-1.903 1.903.074 1.453-.597 1.976-1.96 1.918-1.344-.055-1.856.699-1.77 1.965.078 1.203-.414 1.867-1.692 1.789-1.375-.09-2.07.515-2.007 1.925.058 1.32-.586 1.82-1.899 1.813-6.469-.035-12.937-.031-19.406 0-1.285.008-1.996-.422-1.899-1.785.102-1.41-.578-2.043-1.953-1.973-1.21.066-1.86-.43-1.761-1.707.101-1.394-.567-2.039-1.946-2.004-1.164.027-1.855-.402-1.754-1.719.114-1.464-.675-2.21-2.09-2.105-1.316.101-1.769-.492-1.757-1.684.02-1.363-.676-2.058-2.024-1.992-1.324.063-1.675-.633-1.672-1.805.02-6.527.04-13.058.004-19.59-.007-1.34.524-1.917 1.828-1.859 1.493.067 2.145-.695 2.032-2.133-.086-1.12.43-1.57 1.5-1.507 1.52.082 2.308-.586 2.203-2.164-.074-1.067.414-1.649 1.496-1.56 1.851.153 2.226-.827 2.226-2.456 0-5.156.047-5.184 5.286-5.043 1.492.039 2.136-.606 2.132-2.047-.007-2.195-.007-4.39.016-6.586.02-1.469-.633-2.172-2.125-1.996-1.27.152-1.82-.394-1.715-1.668.13-1.496-.644-2.11-2.082-2.074-1.031.023-1.648-.453-1.555-1.543.137-1.574-.593-2.27-2.12-2.238-1.09.023-1.747-.344-1.633-1.602.136-1.539-.637-2.293-2.172-2.203-1.192.066-1.68-.5-1.621-1.637.082-1.617-.77-2.113-2.274-2.074-2.379.066-4.762.008-7.14-.004-.813-.004-1.774 0-1.704-1.133.153-2.449-1.34-2.554-3.18-2.543-7.019.043-14.034.004-21.054-.004-1.062-.004-2.21.063-2.129-1.511.086-1.715-.851-2.243-2.383-2.239-2.254.008-4.515-.097-6.77-.039-1.433.035-2.21-.437-2.179-1.957.027-1.308-.719-1.918-1.953-1.867-1.242.05-1.758-.46-1.805-1.695-.047-1.215-.808-1.91-2.015-1.942-1.168-.027-1.633-.566-1.618-1.699.02-1.34-.69-2.058-2.023-2.047-1.258.012-1.758-.648-1.789-1.8-.035-1.36-.71-1.989-2.078-1.95-1.113.035-1.719-.531-1.684-1.672.051-1.574-.758-2.23-2.258-2.144-1.136.066-1.496-.524-1.476-1.567a57 57 0 0 0-.043-3.843c-.043-1-.477-1.883-1.57-1.914-1.2-.036-1.446.91-1.453 1.914q-.012 2.286-.012 4.574-.002 25.084.008 50.168c0 2.266.394 2.625 2.68 2.598 1.034-.016 2.081.086 3.105-.016 1.445-.14 1.808.531 1.734 1.824-.074 1.215.016 2.438.012 3.66 0 1.274.582 1.98 1.89 1.887 1.317-.09 1.97.434 1.891 1.781-.082 1.371.531 2.051 1.941 2.004 1.168-.039 1.875.434 1.762 1.73-.117 1.403.586 2.032 1.942 2.032 1.18-.004 1.742.469 1.73 1.762a1926 1926 0 0 0-.008 19.59c.008 1.171-.32 1.906-1.648 1.804-1.496-.11-2.14.625-2.031 2.086.086 1.145-.356 1.742-1.582 1.598-1.559-.18-2.278.527-2.215 2.097.047 1.192-.516 1.836-1.766 1.754-1.469-.097-2.207.559-2.043 2.055.14 1.29-.437 1.816-1.68 1.71-1.32-.108-1.976.567-1.953 1.821.024 1.414-.574 1.91-1.98 1.899-6.469-.051-12.938-.04-19.406-.008-1.204.008-1.864-.309-1.727-1.652.14-1.446-.531-2.204-2.023-2.106-1.243.082-1.817-.512-1.797-1.723.023-1.363-.637-2.03-2-2.015-1.207.015-1.805-.543-1.73-1.79.077-1.359-.563-2.132-1.946-2.015-1.39.113-1.875-.484-1.8-1.8.073-1.313-.669-1.93-1.915-1.876-1.402.063-1.766-.636-1.758-1.902.032-6.469.035-12.941 0-19.41-.008-1.266.34-2 1.73-1.934 1.372.063 2.055-.578 1.966-1.98-.075-1.16.523-1.727 1.64-1.672 1.61.078 2.172-.758 2.164-2.23-.004-.805.266-1.56 1.223-1.473 2.426.215 2.426-1.348 2.43-3.055.015-4.383.039-4.383 4.312-4.406 3.117-.016 3.234-.121 3.234-3.16 0-12.082-.007-24.168-.007-36.25 0-5.922.004-11.84.004-17.762 0-1.106-.121-2.184-1.575-2.18-1.359 0-1.472 1.047-1.496 2.067-.027 1.222-.054 2.441-.015 3.664.03 1.133-.34 1.742-1.59 1.593-1.446-.168-2.196.473-2.153 1.977.036 1.227-.417 1.988-1.808 1.91-1.477-.078-2.113.711-2.074 2.137.02.691.023 1.539-.887 1.508-1.645-.055-2.543.73-3.281 2.101-.348.64-1.114 1.16-1.809 1.489-.96.457-1.441 1.105-1.379 2.132.082 1.38-.59 1.848-1.887 1.746-1.292-.097-1.976.56-1.902 1.852.098 1.691-.766 2.008-2.266 1.945-2.375-.101-4.757 0-7.132.043-.828.016-1.836.2-1.762 1.184.207 2.77-1.547 2.637-3.422 2.625-6.836-.035-13.672-.008-20.508-.012-1.316-.004-2.562.113-2.48 1.871.07 1.516-.723 1.852-2.04 1.825-2.378-.051-4.761.035-7.14-.012-1.453-.028-2.187.574-2.152 2.039.02.973-.207 1.707-1.406 1.633-1.653-.106-2.356.742-2.258 2.332.07 1.168-.551 1.476-1.594 1.386-1.43-.125-2.23.485-2.113 2.004.105 1.348-.54 1.887-1.84 1.844-1.293-.043-1.926.637-1.875 1.914.058 1.434-.633 1.977-2.016 1.863-1.324-.105-1.894.641-1.91 1.887-.02 1.524-.016 3.05-.016 4.574-.007 4.051-.003 4.04 4.055 4.078 4.328.04 3.5-.015 3.602 3.52.015.55.03 1.102-.004 1.648-.106 1.497.515 2.364 2.074 2.344 1.219-.012 1.82.528 1.793 1.746-.031 1.492.762 2.07 2.176 2.032.949-.028 1.535.406 1.445 1.43-.14 1.57.586 2.253 2.121 2.241.965-.007 1.66.344 1.656 1.485-.007 6.71 0 13.426-.004 20.137-.003.988-.37 1.687-1.507 1.59-1.563-.133-2.258.605-2.27 2.124-.008 1.086-.45 1.72-1.672 1.598-1.472-.145-2.187.625-2.133 2.05.047 1.247-.464 1.86-1.718 1.72-1.59-.18-2.082.628-1.969 2.062.098 1.246-.508 1.809-1.742 1.73-1.371-.085-2.07.547-2.02 1.938.047 1.336-.61 1.805-1.906 1.8-6.469-.034-12.941-.03-19.41-.003-1.188.004-1.906-.367-1.809-1.66.13-1.621-.687-2.192-2.199-2.11-1.055.059-1.59-.48-1.535-1.554.074-1.45-.625-2.172-2.059-2.176-1.242 0-1.71-.598-1.668-1.824.047-1.34-.71-2.055-2.047-2.008-1.168.043-1.691-.504-1.71-1.613-.02-1.368-.758-2.028-2.067-2.004-1.297.02-1.68-.645-1.68-1.825q.032-9.889-.007-19.773c-.004-1.16.488-1.746 1.62-1.684 1.477.079 2.145-.593 2.141-2.043 0-.976.348-1.675 1.492-1.617 1.653.09 2.336-.765 2.297-2.336-.02-.898.414-1.445 1.313-1.363 2.234.203 2.39-1.129 2.414-2.867.082-5.328-.957-4.41 4.914-4.656 2.18-.094 2.395-.172 2.559-2.329.27-3.539.062-7.074-.012-10.609-.027-1.277.27-2.101 1.828-2.031 1.406.058 2.09-.742 2.016-2.203-.059-1.157.035-2.32-.024-3.477-.062-1.262.309-2.035 1.727-1.91 1.535.137 2.105-.64 1.984-2.086-.094-1.172.465-1.703 1.629-1.617 1.508.11 2.129-.637 2.031-2.09-.074-1.152.43-1.723 1.625-1.598 1.469.149 2.18-.554 2.176-2-.004-1.257.531-1.953 1.863-1.89 1.414.062 2.024-.711 1.938-2.035-.086-1.282.465-1.79 1.715-1.704 1.05.075 1.937-.37 1.898-1.484-.066-1.992.977-2.36 2.637-2.215.847.074 1.707-.008 2.562-.02 1.332-.019 2.285-.491 2.258-2.011-.023-1.297.66-1.664 1.848-1.637 2.07.047 4.148.004 6.222.004q11.444-.006 22.887 0c1.117 0 2.531.07 2.656-1.312.215-2.332 1.641-2.512 3.41-2.473.731.016 1.465-.055 2.196-.062 1.324-.02 2.098-.684 2.117-2 .02-1.247.586-1.747 1.781-1.786 1.32-.043 2.004-.765 1.989-2.105-.012-1.05.464-1.606 1.547-1.555 1.43.07 2.175-.566 2.167-2.039-.003-1.144.422-1.812 1.739-1.781.953.023 1.906-.277 1.812-1.543-.09-1.23-1.09-1.36-2.02-1.387-2.073-.058-4.148-.027-6.222-.062-1.41-.028-2.242.515-2.144 2.031.078 1.184-.485 1.64-1.63 1.64q-17.484-.016-34.968 0c-.942 0-1.55-.245-1.461-1.343.156-1.88-.836-2.39-2.574-2.356-3.598.067-7.2-.03-10.801-.027-1.18.004-1.902-.398-1.797-1.691.137-1.723-.758-2.223-2.336-2.2-3.476.055-6.957-.035-10.433.047-1.422.032-2.22-.258-2.051-1.883.133-1.312-.574-1.882-1.88-1.843-1.28.039-2.566-.059-3.843.015-1.332.078-1.945-.457-1.867-1.789.086-1.445-.684-1.949-2.027-1.902-1.22.039-2.442-.047-3.66.008-1.243.054-1.84-.426-1.72-1.703.145-1.493-.566-2.137-2.034-2.086-.82.027-1.758-.04-1.708-1.145.11-2.258-1.23-2.633-3.03-2.582-.852.024-1.708-.086-2.555-.031-1.356.086-2.125-.352-1.989-1.848.13-1.398-.531-2.05-1.937-1.96-1.059.066-1.828-.216-1.727-1.497.133-1.699-.726-2.308-2.328-2.183-.715.054-1.266-.149-1.484-1.004-.692-2.723-.72-2.72-3.504-2.75-.668-.008-1.344-.032-2.012 0-1.328.066-2.11-.383-2.008-1.875.059-.864-.226-1.75-1.23-1.684-2.63.172-2.606-1.48-2.485-3.305.043-.668-.03-1.343.008-2.011.09-1.547-.594-2.473-2.148-2.602-1.047-.086-1.543-.543-1.512-1.61.035-1.292-.637-1.886-1.922-1.87-.918.007-1.762-.2-1.832-1.328-.09-1.399-.605-2.36-1.996-2.954-.797-.34-1.379-1.199-1.777-2.035-.278-.586-.657-.976-1.246-1.258-1.223-.585-2.32-1.312-2.727-2.746-.164-.574-.648-.98-1.23-.93-2.122.188-2.422-1.058-2.317-2.738.051-.789-.027-1.586-.02-2.379.02-1.484-.406-2.53-2.175-2.414-1.285.082-1.703-.62-1.656-1.82.046-1.219-.036-2.441-.02-3.66.02-1.34-.527-2.106-1.945-2.027-1.192.07-1.887-.364-1.793-1.664.105-1.5-.621-2.145-2.086-2.024-1.192.094-1.621-.484-1.602-1.637.035-2.5-.05-5.004.02-7.507.043-1.551-.531-2.305-2.125-2.188-.938.066-1.63-.105-1.785-1.289-.348-2.59-.68-2.766-3.313-2.145m191.004.899c.004-6.164.02-12.324 0-18.488-.004-1.133.063-2.102 1.559-2.098 1.668 0 2.175-.977 2.148-2.508-.047-2.379.004-4.758.004-7.137-.004-.89.195-1.59 1.281-1.585 1.98.003 2.457-1.204 2.375-2.903-.039-.789.047-1.59-.008-2.379-.101-1.37.278-2.23 1.852-2.273 1.36-.035 1.879-.922 1.883-2.211 0-1.16.066-2.317.082-3.477.012-1.152.406-1.847 1.723-1.765 1.484.09 2.16-.778 2.054-2.157-.097-1.273.48-1.578 1.602-1.57 1.492.008 2.21-.781 2.152-2.308-.043-1.094.027-2.196.008-3.293-.02-1.13.277-1.875 1.625-1.864 1.418.016 2.14-.77 2.027-2.207-.101-1.261.5-1.785 1.703-1.785 1.29 0 2.121-.484 2.028-1.95-.07-1.175.515-1.655 1.676-1.573 1.48.109 2.136-.672 2.082-2.098-.047-1.23.52-1.8 1.742-1.793.922.004 1.898-.266 1.894-1.3-.02-2.571 1.63-2.524 3.414-2.434.668.035 1.344.007 2.012-.016 1.063-.039 2.04-.316 2.016-1.602-.02-1.214-1-1.43-1.97-1.402-1.214.031-1.597-.558-1.562-1.687.043-1.34-.003-2.684-.015-4.028-.008-.793-.227-1.68-1.11-1.605-2.875.234-2.71-1.602-2.613-3.508.035-.727-.097-1.46-.094-2.191.004-1.344-.57-2.102-1.98-2.004-1.14.078-1.77-.325-1.598-1.559.219-1.59-.472-2.293-2.058-2.16-1.121.09-1.785-.39-1.739-1.559.063-1.66-.73-2.316-2.34-2.23-1.09.058-1.492-.574-1.46-1.621.035-1.281-.047-2.567.011-3.844.067-1.488-.57-2.203-2.058-2.031-1.27.144-1.828-.32-1.684-1.633.16-1.469-.515-2.195-2.02-2.066-1.23.105-1.85-.454-1.804-1.684.055-1.43-.531-2.195-2.035-2.117-1.203.058-1.852-.45-1.738-1.73.12-1.438-.66-2-1.985-1.973-1.336.027-1.863-.61-1.73-1.926.132-1.297-.496-1.988-1.813-1.887-1.46.113-1.976-.558-1.87-1.95.081-1.073-.372-1.862-1.571-1.718-2.117.262-2.14-.957-2.145-2.554-.012-5.372.946-4.922-5.215-4.934-1.226-.004-1.78.586-1.765 1.797.015 1.34-.04 2.683 0 4.027.035 1.156-.442 1.734-1.621 1.613-1.637-.164-2.196.653-2.09 2.172.078 1.078-.485 1.602-1.551 1.516-1.594-.129-2.258.601-2.11 2.16.118 1.2-.472 1.629-1.632 1.566-1.414-.078-2.184.59-2.121 2.075.05 1.218-.508 1.8-1.766 1.718-1.266-.078-1.98.524-1.945 1.829.035 1.457-.57 2.14-2.086 1.988-1.23-.125-1.852.52-1.75 1.742.125 1.543-.598 2.074-2.059 1.965-1.152-.086-1.648.582-1.64 1.695.007 1.281-.047 2.563.004 3.844.05 1.246-.332 2.008-1.727 1.965-1.328-.035-2.074.554-2.012 1.972.051 1.207-.531 1.836-1.761 1.77-1.395-.074-2.047.586-2 1.96.046 1.294-.489 1.903-1.852 1.802-1.375-.102-2.004.64-1.988 2.004.015 1.343-.024 2.683-.024 4.027 0 .762-.254 1.422-1.097 1.379-2.528-.13-2.72 1.433-2.57 3.336.058.73-.032 1.469.023 2.195.105 1.434-.383 2.2-1.957 2.098-.93-.063-1.723.27-1.715 1.418.008 1.097.75 1.48 1.687 1.523 1.34.063 2.684.086 4.028.059 1.133-.024 1.754.394 1.636 1.601-.156 1.598.622 2.223 2.153 2.164 1.078-.043 1.773.418 1.734 1.602-.05 1.445.633 2.16 2.074 2.148 1.137-.011 1.692.524 1.641 1.68-.062 1.285.578 1.953 1.855 1.941 1.391-.011 2.004.618 1.887 2.024-.078.933.196 1.887 1.305 1.793 2.23-.18 2.543 1.012 2.363 2.797-.082.785.016 1.586.012 2.379-.008 1.511.555 2.472 2.246 2.41 1.148-.04 1.676.465 1.531 1.676-.183 1.582.617 2.261 2.16 2.132 1.106-.093 1.551.434 1.543 1.5-.004 1.403.036 2.809.075 4.211.027.852.27 1.746 1.28 1.66 2.505-.214 2.602 1.297 2.473 3.11-.062.851.02 1.71-.02 2.562-.065 1.414.61 2.082 1.981 1.93 1.442-.156 1.778.527 1.743 1.816-.059 2.317-.032 4.637.023 6.954.023 1.058.195 2.273 1.55 2.312 1.977.055 2.15 1.145 2.134 2.754-.063 6.71-.051 13.422-.012 20.133.02 2.844.586 3.418 3.035 3.469 3.547.074 3.95-.325 3.957-3.961.004-.426 0-.852 0-1.637m-104.195-1.3c-.637-.184-.867-.673-.828-1.263.125-1.972-1.047-2.336-2.676-2.304-2.317.039-4.637-.035-6.957-.012-1.207.012-1.871-.441-1.746-1.719.164-1.668-.82-2.144-2.227-2.16-2.074-.02-4.148-.016-6.226-.023-1.414 0-2.215.754-2.223 2.12-.016 3.415.059 6.829.11 10.243.015 1.32.636 2.094 2.019 2.02 1.531-.079 1.816.773 1.789 2.074-.055 2.379.047 4.761-.012 7.14-.039 1.465.508 2.207 2.012 2.106 1.262-.086 1.762.484 1.707 1.738-.05 1.277-.004 2.563.043 3.844.027.824.223 1.812 1.207 1.754 2.644-.157 2.547 1.504 2.426 3.293-.047.668.023 1.343-.008 2.015-.066 1.508.633 2.328 2.148 2.305 1.246-.02 1.797.555 1.77 1.762-.027 1.351.598 2.058 1.988 2.015 1.188-.039 1.824.438 1.778 1.723-.047 1.156.57 1.824 1.734 1.953 1.113.121 1.808.684 1.898 1.844.11 1.43.938 2.082 2.297 2.035 1.223-.043 1.625.559 1.582 1.668-.05 1.45.633 2.172 2.106 2.066 1.246-.09 1.593.633 1.566 1.707-.035 1.34.531 2.094 1.961 1.989 1.39-.102 1.832.675 1.785 1.914-.047 1.328.633 1.863 1.918 1.828 1.219-.035 2.442.039 3.66.004 1.164-.035 1.891.308 1.848 1.637-.05 1.48.777 2.058 2.184 2.046 1.34-.015 2.683.024 4.023.047.953.016 1.52.446 1.441 1.457-.148 1.91.899 2.414 2.59 2.39 3.477-.046 6.957.009 10.434-.034 1.18-.012 1.918.347 1.871 1.629-.066 1.797 1.031 2.082 2.492 2.078 10.254-.02 20.508-.012 30.762-.016.734 0 1.469-.02 2.144-.363.508-.262.946-.625.95-1.242.004-.73-.536-1.207-1.145-1.219-2.039-.047-2.121-1.336-2.039-2.86.05-.91-.004-1.831-.074-2.742-.067-.847-.45-1.757-1.317-1.757-2.593-.004-2.488-1.657-2.375-3.446.047-.726-.039-1.46-.054-2.195-.024-1.371-.617-2.238-2.086-2.2-1.168.032-1.707-.503-1.672-1.632.043-1.313-.68-1.957-1.875-1.984-1.383-.04-1.992-.676-2.031-2.012-.043-1.344-.82-2.043-2.118-1.977-1.171.063-1.5-.449-1.472-1.508.039-1.417-.703-2.132-2.133-2.125-1.105.004-1.672-.503-1.71-1.652-.044-1.39-.81-2.14-2.204-2.148-1.004-.004-1.473-.485-1.45-1.453.036-1.551-.777-2.211-2.253-2.211-.957 0-1.54-.438-1.465-1.438.121-1.625-.586-2.402-2.215-2.363-1.05.023-1.55-.473-1.535-1.559.023-1.578-.785-2.36-2.383-2.316-.558.015-1.316-.024-1.219-.742.278-2.012-.863-2.82-2.476-3.45-.457-.18-1.008-.707-1.094-1.156-.39-2.07-1.828-2.125-3.445-2.023-.79.054-1.59-.035-2.38.015-1.347.086-2.089-.367-1.995-1.855.09-1.43-.77-1.926-2.078-1.918-1.22.004-2.442-.05-3.66-.043-1.192.008-1.844-.488-1.793-1.742.062-1.45-.606-2.188-2.086-2.078-1.149.086-1.727-.383-1.684-1.567.063-1.605-.844-2.129-2.309-2.113-2.316.027-4.64-.05-6.957.016-1.296.035-1.945-.418-1.941-1.754.008-1.508-.902-1.985-2.27-1.973-1.34.012-2.683-.043-4.347-.129m224.125-2.7c-.02-.733-.102-1.472-.043-2.194.148-1.805-.66-2.582-2.442-2.547-2.011.043-4.027-.02-6.039.011-1.27.02-2.12.559-2.03 1.997.093 1.453-.669 1.917-2.017 1.898-2.44-.035-4.882.02-7.324.016-1.015 0-1.992.222-1.906 1.425.152 2.184-1.102 2.371-2.754 2.25-.789-.058-1.59.04-2.379-.011-1.547-.098-2.508.402-2.398 2.14.078 1.196-.531 1.586-1.672 1.578-2.442-.015-4.883.055-7.32.098-1.313.024-2.329.418-2.227 1.992.086 1.344-.594 1.676-1.793 1.586-.941-.074-1.879.317-1.848 1.34.079 2.543-1.468 2.684-3.347 2.547-.668-.05-1.344.031-2.012 0-1.496-.074-2.352.547-2.316 2.11.03 1.32-.696 1.667-1.86 1.632-1.156-.039-2.316.016-3.476-.004-1.336-.023-2.114.582-2.114 1.942 0 1.316-.578 1.851-1.89 1.836-1.258-.016-1.926.77-1.899 1.984.028 1.363-.632 1.809-1.886 1.82-1.344.008-2.008.735-1.934 2.098.059 1.078-.488 1.601-1.531 1.586-1.41-.016-2.203.554-2.137 2.058.047 1.133-.496 1.711-1.644 1.692-1.454-.028-2.09.75-2.141 2.148-.031.867-.324 1.531-1.387 1.547-1.402.02-2.082.875-2.273 2.176-.14.957-.504 1.59-1.633 1.508-1.559-.114-2.242.738-2.211 2.218.023 1.055-.41 1.618-1.496 1.606-1.344-.016-2.086.71-2.149 1.984-.054 1.215-.566 1.766-1.77 1.825-1.198.058-1.94.703-1.976 1.957-.035 1.175-.476 1.785-1.765 1.753-1.512-.035-2.192.872-2.2 2.329-.003 1.101-.05 2.199.004 3.296.063 1.247-.304 2.004-1.707 1.973-1.511-.031-2.015.879-1.984 2.25.02.73-.055 1.469.012 2.195.172 1.82.039 3.332-2.399 3.266-.668-.016-1.12.512-1.144 1.211-.024.727.445 1.121 1.113 1.238.656.117 1.324.223 1.988.227 3.297.035 6.594.043 9.887.043 6.957.004 13.918.008 20.875-.02 1.145-.004 2.613.078 2.75-1.453.188-2.09 1.473-2.195 3.031-2.21 3.23-.032 6.465-.095 9.696-.157 1.421-.027 2.351-.586 2.3-2.184-.035-1.117.579-1.46 1.621-1.453 1.403.008 2.805-.113 4.207-.148.91-.024 1.684-.383 1.649-1.324-.09-2.395 1.39-2.442 3.113-2.313.727.055 1.465-.02 2.196 0 1.394.031 2.23-.531 2.214-2.02-.011-1.23.614-1.714 1.809-1.777 1.18-.062 1.953-.726 1.957-1.98.004-1.246.57-1.742 1.8-1.703 1.364.043 2.032-.735 1.977-2.063-.058-1.3.614-1.719 1.782-1.7 1.34.024 2.07-.597 2.003-1.995-.046-1.074.555-1.578 1.532-1.653 1.48-.109 2.226-.816 2.152-2.34-.047-1.05.453-1.577 1.547-1.546 1.414.043 2.184-.653 2.184-2.094-.004-1.316.75-1.656 1.906-1.57 1.402.105 2.008-.594 1.98-1.973-.027-1.219.078-2.441.016-3.66-.067-1.262.312-2.004 1.703-1.965 1.238.035 1.738-.684 1.793-1.828.063-1.34.184-2.68.195-4.02.012-1.05.383-1.601 1.504-1.566 1.696.055 2.196-.961 2.176-2.473-.027-2.32.031-4.64-.016-6.957-.023-1.168.286-1.906 1.602-1.875 1.695.04 2.203-.968 2.195-2.472-.015-2.258.012-4.516.02-7.137m-191.305-51.602c-.113-1.468-.039-2.715 2.02-2.566 1.082.078 1.671-.66 1.699-1.738q.06-2.198.027-4.391c-.07-4.344.68-4.426-4.566-4.41-2.047.008-4.106.137-6.059-.656.418-2.055-.496-3.164-2.59-3.164-14.582-.012-29.164-.008-43.746.003-1.953.004-2.511.56-2.504 2.516.008 2.317.133 4.637.13 6.953-.02 11.953-.083 23.91-.09 35.867-.004 2.543.351 2.84 2.867 2.864 3.476.027 6.957.027 10.433.02 1.133 0 1.91.316 1.867 1.644-.046 1.535.868 1.988 2.235 1.965 1.281-.02 2.562.023 3.844.043.835.007 1.457.289 1.402 1.265-.137 2.36.976 2.606 2.988 2.602 3.418-.004 6.836-.008 10.25.008.77 0 1.586-.149 1.762 1.05.375 2.618.422 2.61 3.015 2.621.793.004 1.59.051 2.38-.015 1.44-.117 2.245.347 2.038 1.941-.183 1.414.59 1.817 1.86 1.778 1.34-.04 2.683.023 4.023.02 1.106-.005 1.766.417 1.656 1.624-.152 1.606.66 2.211 2.172 2.16.91-.031 1.57.297 1.496 1.367-.128 1.805.848 2.258 2.473 2.297 4.45.098 4.504.028 4.516-4.558.004-1.582-.586-2.356-2.094-2.246-1.516.105-1.73-.735-1.723-1.914.008-1.278-.02-2.559-.05-3.84-.024-.914-.461-1.653-1.399-1.594-2.277.148-2.344-1.211-2.34-2.918.032-12.078.012-24.16.008-36.598m191.274 22.66c-.004-12.328-.004-24.652-.012-36.98-.004-2.281-.274-2.605-2.278-2.605-14.46-.008-28.925.015-43.386-.012-1.594-.004-2.492.574-2.418 2.2.066 1.487-.75 1.679-1.953 1.655-2.258-.043-4.516.07-6.774-.011-1.836-.063-2.535.761-2.48 2.52.058 2.01.066 4.026.031 6.038-.023 1.375.54 2.098 1.95 1.988 1.378-.109 1.792.551 1.792 1.852a10511 10511 0 0 0-.004 38.445c0 1.172-.27 1.88-1.652 1.73-1.516-.163-2.07.731-2.074 2.118-.004 1.16-.075 2.32-.024 3.477.063 1.328-.492 1.968-1.824 1.84-1.504-.145-1.844.695-1.922 1.995-.297 4.965-.054 4.864 4.93 4.688 1.183-.043 1.879-.68 1.86-1.816-.028-1.508.792-1.88 2.054-1.895.902-.008 1.68-.387 1.613-1.351-.152-2.262 1.176-2.481 2.903-2.352.726.05 1.464-.05 2.195-.004 1.535.106 2.476-.402 2.496-2.105.012-1.114.605-1.622 1.754-1.575 1.281.047 2.562-.011 3.844-.02 1.136-.01 1.957-.445 1.89-1.702-.097-1.727.867-2 2.293-1.977 3.297.047 6.594-.031 9.887.016 1.766.023 2.84-.61 2.836-2.496 0-1.036.535-1.395 1.488-1.395 1.344 0 2.684-.047 4.027-.05 1.149-.005 1.938-.458 1.926-1.688-.015-1.598.883-1.899 2.239-1.883 3.171.043 6.343.004 9.52-.004 3.073-.008 3.23-.152 3.26-3.148.016-1.707.009-3.418.013-5.493m-78.633 18.227c.09-.902.629-1.402 1.453-1.68 1.531-.515 2.152-1.59 2.148-3.21-.039-11.899-.035-23.801-.039-35.7-.004-1.058-.168-2.031-1.469-2.117-1.453-.094-1.468 1.02-1.472 2.008-.004 1.133-.406 1.726-1.633 1.582-1.656-.2-2.406.547-2.21 2.223.144 1.226-.325 1.847-1.645 1.71-1.625-.171-2.168.7-2.086 2.211.058 1.094-.047 2.2.015 3.293.082 1.446-.582 1.973-1.969 1.903-1.214-.063-2.44.035-3.66-.02-1.425-.066-2.004.633-2.007 1.973-.004 1.402-.032 2.805-.024 4.207.004.797-.32 1.398-1.137 1.34-2.394-.172-2.695 1.238-2.547 3.12.07.911-.03 1.833.004 2.747.043 1.148-.433 1.71-1.617 1.64-1.644-.101-2.09.848-2.066 2.305.035 2.38-.035 4.758.004 7.137.02 1.273-.39 1.996-1.782 1.887-1.449-.118-1.957.668-1.925 2.007.027 1.22-.043 2.442-.004 3.66.043 1.215-.38 1.84-1.7 1.72-1.359-.13-2.039.546-2.062 1.925-.02 1.156-.137 2.313-.148 3.473-.098 10.004.285 20.008.015 30.015-.094 3.41.11 6.829.215 10.243.031.957.285 1.902 1.469 1.976 1.16.074 1.363-.812 1.457-1.71.086-.798.316-1.532 1.265-1.47 2.317.153 2.547-1.355 2.563-3.074.008-.855.035-1.71.008-2.562-.04-1.164.32-1.871 1.656-1.809 1.348.063 2.055-.68 2.043-2.012-.012-1.242.625-1.765 1.785-1.82 1.48-.066 1.969-.988 1.985-2.324.015-1.219.035-2.438.078-3.66.027-.91.406-1.535 1.437-1.48 1.649.085 2.332-.805 2.356-2.333.015-.918.484-1.289 1.359-1.363 1.672-.14 2.258-1.254 2.309-2.762.035-1.097.023-2.199.023-3.297 0-.734.172-1.43 1.023-1.468 2.387-.114 2.637-1.743 2.657-3.575.011-.855.031-1.71.035-2.566 0-.855.305-1.394 1.27-1.398 1.925-.004 2.453-1.145 2.437-2.88-.031-3.234.047-6.468.133-10.015m-67.16-3.726c-.504-.625-.422-1.38-.43-2.102-.02-1.649-.008-3.297-.027-4.941-.012-1.02-.403-1.977-1.508-1.926-2.04.094-2.301-1.004-2.172-2.617.066-.848-.028-1.707-.008-2.563.035-1.445-.48-2.379-2.098-2.309-1.293.055-1.687-.597-1.629-1.816.067-1.336.012-2.684-.058-4.02-.063-1.152-.707-1.765-1.902-1.75-1.282.012-2.563-.054-3.84.02-1.243.074-1.825-.375-1.778-1.656.043-1.16-.035-2.32.004-3.477.047-1.402-.496-2.273-1.98-2.238-1.39.031-1.809-.668-1.742-1.934.05-1.035-.36-1.875-1.52-1.867-1.644.012-2.488-.57-2.398-2.347.05-.942-.664-1.415-1.57-1.418-.91-.004-1.25.628-1.348 1.437-.043.363-.106.727-.11 1.09-.027 12.016-.164 24.027.125 36.043.032 1.336.582 2.101 1.977 2.023 1.316-.074 1.644.563 1.633 1.778-.036 3.539.086 7.074.035 10.609-.024 1.645.469 2.586 2.258 2.512 1.152-.047 1.629.539 1.593 1.691-.047 1.34-.011 2.684.032 4.024.03.859.382 1.75 1.312 1.699 2.41-.133 2.438 1.347 2.324 3.054-.047.727.004 1.461-.004 2.196-.015 1.433.504 2.379 2.114 2.316 1.23-.043 1.785.531 1.754 1.762-.02 1 .297 1.988 1.437 1.965 2.113-.035 2.375 1.148 2.227 2.816-.063.727.05 1.465.023 2.196-.062 1.59.488 2.59 2.262 2.59 1.023-.005 1.562.507 1.52 1.597-.063 1.54.722 2.281 2.245 2.156 1.149-.097 1.489.43 1.497 1.5.003 1.336.132 2.676.238 4.016.086 1.11.637 1.855 1.82 1.898 1.047.035 1.766.36 1.86 1.535.042.524.328.938.886 1.024.64.094 1.012-.309 1.305-.813.605-1.058.59-2.226.594-3.382q.041-18.481.066-36.957c0-1.282-.043-2.563-.086-3.844-.031-.977-.476-1.742-1.512-1.696-2.058.094-2.367-1.101-2.105-2.69.504-3.032-.684-5.274-3.316-7.185M293.34 228.54c1.695.121 3.062-.11 2.953-2.344-.043-.8.578-1.125 1.371-1.117 1.277.012 2.563-.047 3.84-.004 1.5.047 2.375-.562 2.281-2.129-.086-1.418.664-1.808 1.895-1.793.96.016 1.832-.351 1.754-1.414-.164-2.207 1.144-2.328 2.765-2.234.79.047 1.586-.063 2.375-.02 1.54.082 2.496-.394 2.395-2.144-.055-1.004.375-1.692 1.488-1.594 1.598.137 2.219-.633 2.215-2.14-.004-1.141.617-1.606 1.754-1.567 1.437.055 2.16-.707 2.078-2.144-.07-1.208.562-1.672 1.652-1.637 1.567.054 2.215-.696 2.14-2.227-.05-1.054.528-1.605 1.571-1.558 1.496.07 2.102-.649 2.067-2.09-.024-1.008.449-1.7 1.53-1.598 1.837.172 2.395-.781 2.337-2.402-.031-.758.199-1.223 1.094-1.356 2.613-.386 2.605-.425 2.62-3.062.008-.793.051-1.59 0-2.38-.085-1.32.31-2.132 1.81-2.062 1.363.067 2.042-.617 1.995-1.992-.039-1.18.414-1.863 1.7-1.804 1.285.058 1.937-.543 1.902-1.86-.035-1.265.5-1.914 1.867-1.84 1.367.075 1.996-.738 2.02-2.043.027-1.343.046-2.683.023-4.027-.012-.785.184-1.223 1.082-1.332 2.625-.32 2.621-.36 2.633-3.086.004-.734.058-1.469-.004-2.195-.125-1.559.328-2.469 2.117-2.317 1.05.09 1.52-.582 1.54-1.609.019-1.148-.669-1.461-1.653-1.453-1.281.004-2.567-.04-3.844.012-1.289.054-1.957-.41-1.863-1.793.098-1.414-.672-1.961-2.027-1.918-1.22.035-2.442-.059-3.66-.008-1.27.047-2.02-.356-1.891-1.758.152-1.637-.762-2.156-2.219-2.152-3.05.007-6.102-.02-9.152-.004-2.508.008-2.864.344-2.88 2.855-.027 4.574-.015 9.153-.007 13.727.004 1.363-.219 2.43-1.988 2.289-1.461-.113-1.871.8-1.864 2.094.024 2.562 0 5.125.008 7.687 0 .793-.098 1.39-1.098 1.566-2.613.458-2.609.5-2.617 3.098-.004.793-.035 1.59.008 2.38.078 1.347-.39 2.105-1.875 2-1.312-.095-1.887.597-1.875 1.882.016 1.281-.05 2.562-.012 3.84.032 1.129-.324 1.746-1.574 1.617-1.445-.145-2.207.52-2.148 2.004.05 1.3-.438 1.933-1.84 1.762-1.41-.168-2 .625-2 1.964 0 1.282-.059 2.563-.008 3.844.05 1.238-.437 1.84-1.703 1.738-1.363-.113-2.14.434-1.98 1.883.16 1.488-.532 1.957-1.922 1.84-1.207-.098-1.848.52-1.758 1.758.101 1.394-.492 2.008-1.91 1.969-1.098-.028-1.946.441-1.91 1.703.042 1.523-.56 2.254-2.157 2.125-.785-.063-1.61.261-1.508 1.191.22 2-.609 2.735-2.554 2.735-.938.003-1.254.886-1.16 1.765.09.867.734 1.035 1.472 1 .668-.027 1.336-.062 2.309-.12M71.988 214.292c-.558-.2-.703-.676-.668-1.176.137-1.765-.53-2.672-2.418-2.441-.922.113-1.324-.344-1.3-1.29.03-1.34-.016-2.683-.032-4.027-.011-1.375-.578-2.226-2.078-2.156-1.152.055-1.703-.445-1.617-1.629.113-1.539-.59-2.332-2.16-2.164-1.356.145-1.695-.539-1.66-1.73.043-1.34-.012-2.684-.032-4.028-.015-.91-.402-1.675-1.37-1.582-2.247.211-2.532-1.043-2.372-2.808.07-.785-.027-1.586.012-2.38.078-1.566-.602-2.503-2.2-2.48-1.273.02-1.523-.59-1.503-1.691.039-2.379-.004-4.758-.016-7.14-.008-1.419-.52-2.376-2.136-2.321-1.286.047-1.711-.68-1.668-1.852.02-.546-.012-1.097-.012-1.644.004-4.453.008-8.91.02-13.363.003-1.325-.544-2.063-1.954-2.059-3.539.02-7.082.004-10.62.012-.966.004-1.786.383-1.731 1.453.12 2.293-1.258 2.558-3.024 2.473-.793-.04-1.59.03-2.383.003-1.39-.043-2.257.48-2.195 2 .055 1.286-.613 1.715-1.805 1.688a63 63 0 0 0-4.027.05c-.934.044-1.437.602-1.469 1.54-.03.887.465 1.5 1.297 1.441 2.383-.16 2.5 1.293 2.367 3.04-.054.726.024 1.464-.023 2.195-.098 1.48.434 2.375 2.047 2.316 1.297-.047 1.687.637 1.629 1.836-.063 1.215.004 2.437-.016 3.66-.02 1.227.434 2.027 1.77 2.035 1.3.008 1.82.742 1.984 1.926.152 1.102.746 1.816 1.953 1.715 1.457-.121 1.98.586 1.922 1.953-.04.848.184 1.766 1.195 1.723 2.414-.098 2.637 1.328 2.485 3.175-.059.727.039 1.465.008 2.196-.055 1.425.605 2.234 2.027 2.242 1.195.004 1.844.344 1.7 1.684-.15 1.37.577 2.105 1.929 2.054 1.426-.05 1.988.586 1.949 1.961-.027 1.082.504 1.781 1.648 1.734 1.528-.058 2.051.715 2.004 2.125-.043 1.208.61 1.875 1.79 1.79 1.48-.106 2.136.402 2.035 1.949-.083 1.172.558 1.863 1.789 1.765 1.457-.113 1.976.551 1.855 1.95-.105 1.234.555 1.836 1.77 1.73 1.507-.129 2.12.559 2.07 2.02-.043 1.332.742 1.836 1.973 1.828 1.34-.008 2.683-.016 4.023-.004.707.008 1.5.133 1.402 1.039-.277 2.578 1.317 2.734 3.203 2.656.915-.035 1.836.117 2.739.04 1.18-.102 1.703.241 1.578 1.515-.164 1.64.695 2.383 2.312 2.222 1.047-.101 1.485.399 1.434 1.38-.102 1.902.941 2.449 2.637 2.328.726-.055 1.465 0 2.195-.004.96-.008 1.93-.07 1.969-1.356.035-1.246-.739-1.738-1.883-1.707-1.219.04-1.824-.45-1.738-1.726.093-1.38-.598-2.036-1.97-2.016-1.112.02-1.94-.313-1.866-1.649.082-1.468-.606-2.136-2.082-2.066-1.012.05-1.688-.387-1.602-1.492.16-2.082-1.11-2.457-3.09-2.461m215.14 116.45c-1.226.097-1.452.952-1.421 1.94.031 1.22-.492 1.86-1.738 1.747-1.64-.145-2.184.777-2.168 2.207.012 1.062-.41 1.578-1.516 1.515-1.691-.093-2.262.856-2.183 2.407.043.851-.004 1.707.046 2.554.075 1.25.551 2.114 2.024 1.973.996-.094 1.687.23 1.601 1.406-.132 1.746.739 2.469 2.41 2.344 1.094-.086 1.633.379 1.512 1.476-.203 1.805.672 2.434 2.36 2.286a13 13 0 0 1 2.191-.004c1.629.133 2.418-.528 2.27-2.207-.09-1.035.312-1.645 1.453-1.555 1.62.129 2.375-.605 2.308-2.246-.039-.953.422-1.527 1.446-1.399 2.023.258 2.601-.769 2.422-2.585-.079-.786-.032-1.582-.012-2.375.035-1.43-.586-2.196-2.082-2.075-1.192.098-1.895-.336-1.813-1.632.098-1.465-.547-2.149-2.039-2.075-.969.047-1.758-.312-1.66-1.437.184-2.113-1.008-2.445-2.715-2.293-.785.066-1.578.008-2.695.027m-102.484.535c-.34.485-.329 1.043-.305 1.59.05 1.074-.422 1.645-1.504 1.547-1.723-.152-2.309.691-2.191 2.29.07.972-.415 1.507-1.418 1.444-1.797-.117-2.387.829-2.286 2.473.047.793.04 1.59-.011 2.379-.098 1.523.465 2.34 2.105 2.16.875-.094 1.688.067 1.598 1.192-.153 1.886.832 2.527 2.52 2.468 1.007-.03 1.285.54 1.195 1.395-.203 1.867.672 2.558 2.46 2.387.79-.075 1.594-.086 2.38-.012 1.582.148 2.289-.527 2.164-2.098-.086-1.129.347-1.707 1.562-1.664 1.488.047 2.285-.656 2.168-2.23-.07-.957.383-1.578 1.367-1.52 2.067.117 2.485-1.039 2.328-2.765-.066-.727-.035-1.465-.023-2.196.02-1.285-.613-1.98-1.883-1.933-1.324.046-1.926-.473-1.809-1.825.114-1.293-.496-2.004-1.816-1.89-1.531.133-2.098-.594-2.078-2.024.012-.867-.27-1.664-1.273-1.687-1.688-.047-3.403-.414-5.25.52M82.93 349.108c.855 3.547.855 3.5 4.687 3.477 1.563-.012 2.48-.48 2.367-2.191-.066-1.036.317-1.637 1.461-1.563 1.696.106 2.516-.762 2.47-2.41-.032-1.094.589-1.387 1.48-1.379 1.582.012 2.156-.898 2.187-2.313.023-.855.027-1.707-.012-2.562-.058-1.273-.62-2.113-2.03-2.012-1.145.082-1.74-.375-1.712-1.547.035-1.523-.672-2.257-2.226-2.156-1.032.067-1.688-.39-1.594-1.488.16-1.84-.778-2.38-2.43-2.246-.785.062-1.582.043-2.375.008-1.367-.055-2.066.53-2.004 1.941.043 1.05-.277 1.836-1.523 1.77-1.57-.086-2.207.699-2.203 2.203.004.886-.317 1.609-1.387 1.492-1.95-.215-2.441.883-2.414 2.535.012.73-.035 1.46-.059 2.195-.05 1.567.594 2.438 2.278 2.317.68-.047 1.59-.055 1.523.843-.195 2.516 1.535 2.664 3.516 3.086M93.32 231.98c.575-1.773.305-2.343-1.347-2.496-1.149-.109-2.317-.074-3.473-.023-.875.039-1.281.605-1.305 1.465-.023.851.305 1.488 1.203 1.52 1.57.058 3.165.355 4.922-.466m191.817-2.578c-.606.043-1.227.012-1.813.141-.804.18-1.242.75-1.222 1.594.023.933.648 1.27 1.453 1.293 1.218.035 2.437.035 3.652-.012.965-.031 1.387-.652 1.426-1.563.039-.93-.531-1.312-1.352-1.394-.605-.055-1.215-.043-2.144-.059m0 0"/></svg>';
8
6
 
9
7
  // src/lib/cn.ts
10
8
  import { clsx } from "clsx";
@@ -14,12 +12,306 @@ function cn(...inputs) {
14
12
  return twMerge(clsx(...inputs));
15
13
  }
16
14
 
17
- // src/primitives/Dialog.tsx
15
+ // src/primitives/icons/index.tsx
18
16
  import { jsx, jsxs } from "react/jsx-runtime";
17
+ var strokeProps = {
18
+ fill: "none",
19
+ stroke: "currentColor",
20
+ strokeWidth: 2,
21
+ strokeLinecap: "round",
22
+ strokeLinejoin: "round"
23
+ };
24
+ function CheckIcon(props) {
25
+ return /* @__PURE__ */ jsx(
26
+ "svg",
27
+ {
28
+ "aria-hidden": "true",
29
+ viewBox: "0 0 24 24",
30
+ ...strokeProps,
31
+ strokeWidth: 2.5,
32
+ ...props,
33
+ children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" })
34
+ }
35
+ );
36
+ }
37
+ function ExternalLinkIcon(props) {
38
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", ...strokeProps, ...props, children: /* @__PURE__ */ jsx("path", { d: "M7 17 17 7M9 7h8v8" }) });
39
+ }
40
+ function GitHubIcon(props) {
41
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", ...props, children: /* @__PURE__ */ jsx(
42
+ "path",
43
+ {
44
+ fill: "currentColor",
45
+ d: "M12 .5A11.5 11.5 0 0 0 8.36 22.9c.58.11.79-.25.79-.56v-2.16c-3.21.7-3.89-1.38-3.89-1.38-.53-1.34-1.29-1.7-1.29-1.7-1.05-.72.08-.7.08-.7 1.16.08 1.77 1.19 1.77 1.19 1.04 1.76 2.71 1.25 3.37.96.11-.75.4-1.25.74-1.54-2.56-.29-5.26-1.28-5.26-5.7 0-1.26.45-2.29 1.19-3.1-.12-.29-.52-1.46.11-3.06 0 0 .97-.31 3.16 1.18a10.88 10.88 0 0 1 5.76 0c2.19-1.49 3.15-1.18 3.15-1.18.63 1.6.23 2.77.11 3.06.74.81 1.19 1.84 1.19 3.1 0 4.43-2.7 5.4-5.27 5.69.41.36.78 1.06.78 2.14v3.19c0 .31.21.68.8.56A11.5 11.5 0 0 0 12 .5Z"
46
+ }
47
+ ) });
48
+ }
49
+ function WarningIcon(props) {
50
+ return /* @__PURE__ */ jsxs("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", ...strokeProps, ...props, children: [
51
+ /* @__PURE__ */ jsx("path", { d: "M10.3 3.1 1.8 17a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.1a2 2 0 0 0-3.4 0Z" }),
52
+ /* @__PURE__ */ jsx("path", { d: "M12 9v4M12 17h.01" })
53
+ ] });
54
+ }
55
+ function MoonIcon(props) {
56
+ return /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", ...strokeProps, ...props, children: /* @__PURE__ */ jsx("path", { d: "M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z" }) });
57
+ }
58
+ function SunIcon(props) {
59
+ return /* @__PURE__ */ jsxs("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", ...strokeProps, ...props, children: [
60
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "4" }),
61
+ /* @__PURE__ */ jsx("path", { d: "M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4" })
62
+ ] });
63
+ }
64
+ function SignOutIcon(props) {
65
+ return /* @__PURE__ */ jsxs("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", ...strokeProps, ...props, children: [
66
+ /* @__PURE__ */ jsx("path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }),
67
+ /* @__PURE__ */ jsx("path", { d: "m16 17 5-5-5-5" }),
68
+ /* @__PURE__ */ jsx("path", { d: "M21 12H9" })
69
+ ] });
70
+ }
71
+ function RefreshIcon(props) {
72
+ return /* @__PURE__ */ jsxs("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", ...strokeProps, ...props, children: [
73
+ /* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-2.64-6.36" }),
74
+ /* @__PURE__ */ jsx("path", { d: "M21 3v6h-6" })
75
+ ] });
76
+ }
77
+
78
+ // src/primitives/Typography.tsx
79
+ import { jsx as jsx2 } from "react/jsx-runtime";
80
+ var headingSizeClasses = {
81
+ display: "polli:font-heading polli:text-5xl polli:leading-none",
82
+ title: "polli:font-heading polli:text-4xl polli:leading-none",
83
+ section: "polli:font-subheading polli:text-2xl polli:leading-tight",
84
+ subsection: "polli:font-subheading polli:text-xl polli:leading-tight",
85
+ card: "polli:font-subheading polli:text-lg polli:leading-tight"
86
+ };
87
+ var textSizeClasses = {
88
+ body: "polli:text-base polli:leading-relaxed",
89
+ sm: "polli:text-sm polli:leading-6",
90
+ xs: "polli:text-xs polli:leading-normal",
91
+ micro: "polli:text-micro polli:leading-normal"
92
+ };
93
+ var textToneClasses = {
94
+ base: "polli:text-theme-text-base",
95
+ strong: "polli:text-theme-text-strong",
96
+ soft: "polli:text-theme-text-soft",
97
+ muted: "polli:text-theme-text-muted"
98
+ };
99
+ var textWeightClasses = {
100
+ normal: "polli:font-normal",
101
+ medium: "polli:font-medium",
102
+ semibold: "polli:font-semibold",
103
+ bold: "polli:font-bold"
104
+ };
105
+ function headingClassName(size, className) {
106
+ return cn(
107
+ "polli:break-words polli:text-theme-text-strong",
108
+ headingSizeClasses[size],
109
+ className
110
+ );
111
+ }
112
+ function textClassName({
113
+ size,
114
+ tone,
115
+ weight,
116
+ className
117
+ }) {
118
+ return cn(
119
+ "polli:break-words polli:font-body",
120
+ textSizeClasses[size],
121
+ textToneClasses[tone],
122
+ textWeightClasses[weight],
123
+ className
124
+ );
125
+ }
126
+ function Heading({
127
+ as,
128
+ size = "section",
129
+ className,
130
+ children,
131
+ ...rest
132
+ }) {
133
+ const Component = as || "h2";
134
+ return /* @__PURE__ */ jsx2(Component, { ...rest, className: headingClassName(size, className), children });
135
+ }
136
+ function Text({
137
+ as,
138
+ size = "body",
139
+ tone = "base",
140
+ weight = "normal",
141
+ className,
142
+ children,
143
+ ...rest
144
+ }) {
145
+ const Component = as || "p";
146
+ return /* @__PURE__ */ jsx2(
147
+ Component,
148
+ {
149
+ ...rest,
150
+ className: textClassName({ size, tone, weight, className }),
151
+ children
152
+ }
153
+ );
154
+ }
155
+
156
+ // src/compositions/Alert.tsx
157
+ import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
158
+ var intentClasses = {
159
+ info: "polli:bg-theme-bg-pale polli:text-theme-text-strong",
160
+ advisory: "polli:bg-intent-warning-bg-light/45 polli:text-theme-text-base",
161
+ warning: "polli:bg-intent-warning-bg-light polli:text-intent-warning-text",
162
+ danger: "polli:bg-intent-danger-bg-light polli:text-intent-danger-text"
163
+ };
164
+ var Alert = ({
165
+ intent = "info",
166
+ title,
167
+ className,
168
+ children,
169
+ ...rest
170
+ }) => /* @__PURE__ */ jsxs2(
171
+ "div",
172
+ {
173
+ ...rest,
174
+ role: intent === "danger" ? "alert" : "status",
175
+ className: cn(
176
+ "polli:rounded-xl polli:px-3 polli:py-2 polli:text-sm",
177
+ intent === "advisory" && "polli:flex polli:items-start polli:gap-2",
178
+ intentClasses[intent],
179
+ className
180
+ ),
181
+ children: [
182
+ intent === "advisory" && /* @__PURE__ */ jsx3(WarningIcon, { className: "polli:mt-0.5 polli:h-4 polli:w-4 polli:shrink-0 polli:text-intent-warning-text" }),
183
+ /* @__PURE__ */ jsxs2("div", { className: "polli:min-w-0", children: [
184
+ title && (intent === "advisory" ? /* @__PURE__ */ jsxs2(Fragment, { children: [
185
+ /* @__PURE__ */ jsx3("strong", { className: "polli:font-semibold polli:text-theme-text-strong", children: title }),
186
+ " ",
187
+ "\u2014",
188
+ " "
189
+ ] }) : /* @__PURE__ */ jsx3(
190
+ Text,
191
+ {
192
+ as: "div",
193
+ size: "xs",
194
+ tone: "strong",
195
+ weight: "bold",
196
+ className: "polli:mb-1 polli:uppercase polli:tracking-wide",
197
+ children: title
198
+ }
199
+ )),
200
+ children
201
+ ] })
202
+ ]
203
+ }
204
+ );
205
+
206
+ // src/primitives/Dialog.tsx
207
+ import { Dialog as ArkDialog } from "@ark-ui/react/dialog";
208
+ import { Portal } from "@ark-ui/react/portal";
209
+ import { useRef as useRef2 } from "react";
210
+
211
+ // src/primitives/ScrollArea.tsx
212
+ import {
213
+ forwardRef,
214
+ useCallback,
215
+ useEffect,
216
+ useRef
217
+ } from "react";
218
+ import { jsx as jsx4 } from "react/jsx-runtime";
219
+ var axisClasses = {
220
+ y: "polli:overflow-y-auto polli:overflow-x-hidden",
221
+ x: "polli:overflow-x-auto polli:overflow-y-hidden",
222
+ both: "polli:overflow-auto"
223
+ };
224
+ function assignRef(ref, value) {
225
+ if (typeof ref === "function") ref(value);
226
+ else if (ref) ref.current = value;
227
+ }
228
+ var ScrollArea = forwardRef(
229
+ ({ axis = "y", scrollbar = "subtle", className, children, ...rest }, externalRef) => {
230
+ const innerRef = useRef(null);
231
+ const setRef = useCallback(
232
+ (node) => {
233
+ innerRef.current = node;
234
+ assignRef(externalRef, node);
235
+ },
236
+ [externalRef]
237
+ );
238
+ useEffect(() => {
239
+ if (scrollbar === "native") return;
240
+ const element = innerRef.current;
241
+ if (!element) return;
242
+ let hideTimer = null;
243
+ const clearHideTimer = () => {
244
+ if (hideTimer !== null) {
245
+ window.clearTimeout(hideTimer);
246
+ hideTimer = null;
247
+ }
248
+ };
249
+ const show = () => {
250
+ element.dataset.scrollbarActive = "true";
251
+ clearHideTimer();
252
+ };
253
+ const hide = () => {
254
+ element.dataset.scrollbarActive = "false";
255
+ clearHideTimer();
256
+ };
257
+ const scheduleHide = () => {
258
+ clearHideTimer();
259
+ hideTimer = window.setTimeout(hide, 2e3);
260
+ };
261
+ const handleInteraction = () => {
262
+ show();
263
+ scheduleHide();
264
+ };
265
+ hide();
266
+ element.addEventListener("scroll", handleInteraction, {
267
+ passive: true
268
+ });
269
+ element.addEventListener("wheel", handleInteraction, {
270
+ passive: true
271
+ });
272
+ element.addEventListener("touchstart", handleInteraction, {
273
+ passive: true
274
+ });
275
+ element.addEventListener("pointerdown", handleInteraction);
276
+ element.addEventListener("keydown", handleInteraction);
277
+ element.addEventListener("focusin", handleInteraction);
278
+ element.addEventListener("focusout", scheduleHide);
279
+ return () => {
280
+ clearHideTimer();
281
+ element.removeEventListener("scroll", handleInteraction);
282
+ element.removeEventListener("wheel", handleInteraction);
283
+ element.removeEventListener("touchstart", handleInteraction);
284
+ element.removeEventListener("pointerdown", handleInteraction);
285
+ element.removeEventListener("keydown", handleInteraction);
286
+ element.removeEventListener("focusin", handleInteraction);
287
+ element.removeEventListener("focusout", scheduleHide);
288
+ };
289
+ }, [scrollbar]);
290
+ return /* @__PURE__ */ jsx4(
291
+ "div",
292
+ {
293
+ ...rest,
294
+ ref: setRef,
295
+ className: cn(
296
+ scrollbar === "subtle" && "polli-scrollbar-subtle",
297
+ "polli:min-w-0 polli:max-w-full",
298
+ axisClasses[axis],
299
+ className
300
+ ),
301
+ children
302
+ }
303
+ );
304
+ }
305
+ );
306
+ ScrollArea.displayName = "ScrollArea";
307
+
308
+ // src/primitives/Dialog.tsx
309
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
19
310
  var sizeClasses = {
20
311
  sm: "polli:max-w-md",
21
312
  md: "polli:max-w-xl",
22
- lg: "polli:max-w-2xl"
313
+ lg: "polli:max-w-[800px]",
314
+ xl: "polli:max-w-6xl"
23
315
  };
24
316
  var Dialog = ({
25
317
  open,
@@ -28,26 +320,24 @@ var Dialog = ({
28
320
  triggerAsChild = false,
29
321
  triggerClassName,
30
322
  title,
31
- titleClassName,
32
323
  ariaLabel,
33
324
  labelledBy,
34
- theme = "blue",
35
325
  size = "md",
36
326
  showBackdrop = true,
37
- backdropClassName,
327
+ backdropBlur = true,
38
328
  positionerClassName,
39
329
  contentClassName,
40
330
  children
41
331
  }) => {
42
- const contentRef = useRef(null);
43
- return /* @__PURE__ */ jsxs(
332
+ const contentRef = useRef2(null);
333
+ return /* @__PURE__ */ jsxs3(
44
334
  ArkDialog.Root,
45
335
  {
46
336
  open,
47
337
  initialFocusEl: () => contentRef.current,
48
338
  onOpenChange: (details) => onOpenChange?.(details.open),
49
339
  children: [
50
- trigger && /* @__PURE__ */ jsx(
340
+ trigger && /* @__PURE__ */ jsx5(
51
341
  ArkDialog.Trigger,
52
342
  {
53
343
  asChild: triggerAsChild,
@@ -55,47 +345,36 @@ var Dialog = ({
55
345
  children: trigger
56
346
  }
57
347
  ),
58
- /* @__PURE__ */ jsxs(Portal, { children: [
59
- showBackdrop && /* @__PURE__ */ jsx(
348
+ /* @__PURE__ */ jsxs3(Portal, { children: [
349
+ showBackdrop && /* @__PURE__ */ jsx5(
60
350
  ArkDialog.Backdrop,
61
351
  {
62
352
  className: cn(
63
- "polli:fixed polli:inset-0 polli:z-[100] polli:bg-gray-950/50",
64
- backdropClassName
353
+ "polli:fixed polli:inset-0 polli:z-[100] polli:bg-[#000]/50",
354
+ backdropBlur && "polli:backdrop-blur-sm"
65
355
  )
66
356
  }
67
357
  ),
68
- /* @__PURE__ */ jsx(
358
+ /* @__PURE__ */ jsx5(
69
359
  ArkDialog.Positioner,
70
360
  {
71
- "data-theme": theme,
72
361
  className: cn(
73
- "polli:fixed polli:inset-0 polli:z-[110] polli:flex polli:h-dvh polli:items-start polli:justify-center polli:overflow-hidden polli:p-4",
362
+ "polli:fixed polli:inset-0 polli:z-[110] polli:flex polli:h-dvh polli:items-start polli:justify-center polli:overflow-hidden polli:p-0 polli:sm:p-4",
74
363
  positionerClassName
75
364
  ),
76
- children: /* @__PURE__ */ jsxs(
365
+ children: /* @__PURE__ */ jsxs3(
77
366
  ArkDialog.Content,
78
367
  {
79
368
  ref: contentRef,
80
- "data-theme": theme,
81
369
  "aria-label": ariaLabel,
82
370
  "aria-labelledby": labelledBy,
83
371
  className: cn(
84
- "polli:my-auto polli:w-full polli:overflow-hidden polli:rounded-lg polli:border-2 polli:border-theme-border polli:bg-white polli:shadow-lg polli:outline-none polli:focus:outline-none polli:focus-visible:outline-none",
372
+ "polli:flex polli:h-dvh polli:max-h-dvh polli:w-full polli:max-sm:max-w-none polli:flex-col polli:overflow-y-auto polli:bg-theme-bg-pale polli:outline-none polli:focus:outline-none polli:focus-visible:outline-none polli:sm:my-auto polli:sm:h-auto polli:sm:max-h-[calc(100dvh-2rem)] polli:sm:rounded-2xl polli:sm:shadow-container",
85
373
  sizeClasses[size],
86
374
  contentClassName
87
375
  ),
88
376
  children: [
89
- title && /* @__PURE__ */ jsx(
90
- DialogTitle,
91
- {
92
- className: cn(
93
- "polli:px-6 polli:pt-6 polli:font-subheading polli:text-xl polli:text-theme-text-strong",
94
- titleClassName
95
- ),
96
- children: title
97
- }
98
- ),
377
+ title && /* @__PURE__ */ jsx5(DialogHeader, { title }),
99
378
  children
100
379
  ]
101
380
  }
@@ -108,94 +387,1083 @@ var Dialog = ({
108
387
  );
109
388
  };
110
389
  var DialogTitle = ArkDialog.Title;
390
+ var DialogDescription = ArkDialog.Description;
391
+ var DialogHeader = ({
392
+ title,
393
+ description,
394
+ children,
395
+ inBody = false,
396
+ className,
397
+ titleClassName,
398
+ descriptionClassName,
399
+ ...props
400
+ }) => {
401
+ return /* @__PURE__ */ jsxs3(
402
+ "div",
403
+ {
404
+ className: cn(
405
+ inBody ? "polli:shrink-0 polli:pt-2 polli:pb-4" : "polli:shrink-0 polli:p-6 polli:pb-4",
406
+ className
407
+ ),
408
+ ...props,
409
+ children: [
410
+ title && /* @__PURE__ */ jsx5(
411
+ DialogTitle,
412
+ {
413
+ className: cn(headingClassName("section"), titleClassName),
414
+ children: title
415
+ }
416
+ ),
417
+ description && /* @__PURE__ */ jsx5(
418
+ DialogDescription,
419
+ {
420
+ className: cn(
421
+ "polli:mt-1 polli:font-body polli:text-sm polli:font-normal polli:leading-5 polli:text-theme-text-base",
422
+ descriptionClassName
423
+ ),
424
+ children: description
425
+ }
426
+ ),
427
+ children
428
+ ]
429
+ }
430
+ );
431
+ };
432
+ function DialogBody({
433
+ children,
434
+ actions,
435
+ footnote,
436
+ bodyClassName,
437
+ className,
438
+ ...props
439
+ }) {
440
+ return /* @__PURE__ */ jsxs3(
441
+ ScrollArea,
442
+ {
443
+ ...props,
444
+ className: cn(
445
+ "polli:flex polli:min-h-0 polli:flex-1 polli:flex-col polli:overscroll-contain",
446
+ className
447
+ ),
448
+ children: [
449
+ /* @__PURE__ */ jsx5(
450
+ "div",
451
+ {
452
+ className: cn(
453
+ "polli:grow polli:space-y-4 polli:px-6 polli:py-4",
454
+ bodyClassName
455
+ ),
456
+ children
457
+ }
458
+ ),
459
+ (actions || footnote) && /* @__PURE__ */ jsxs3("div", { className: "polli-dialog-floating-controls polli:pointer-events-none polli:sticky polli:bottom-0 polli:z-10", children: [
460
+ actions && /* @__PURE__ */ jsx5(DialogFooter, { className: "polli:pointer-events-auto", children: actions }),
461
+ footnote && /* @__PURE__ */ jsx5("div", { className: "polli:pointer-events-auto", children: footnote })
462
+ ] })
463
+ ]
464
+ }
465
+ );
466
+ }
467
+ var DialogFooter = ({
468
+ children,
469
+ className,
470
+ ...props
471
+ }) => {
472
+ return /* @__PURE__ */ jsx5(
473
+ "div",
474
+ {
475
+ className: cn(
476
+ "polli:flex polli:shrink-0 polli:flex-wrap polli:items-center polli:justify-end polli:gap-3 polli:bg-transparent polli:p-6 polli:pt-4",
477
+ className
478
+ ),
479
+ ...props,
480
+ children
481
+ }
482
+ );
483
+ };
484
+
485
+ // src/lib/link.ts
486
+ function isExternalHref(href, origin = globalThis.location?.origin) {
487
+ if (typeof href !== "string" || !/^(https?:)?\/\//i.test(href))
488
+ return false;
489
+ if (!origin) return true;
490
+ try {
491
+ return new URL(href, origin).origin !== origin;
492
+ } catch {
493
+ return false;
494
+ }
495
+ }
496
+
497
+ // src/primitives/InlineLink.tsx
498
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
499
+ function InlineLink({
500
+ as,
501
+ external,
502
+ showIcon = true,
503
+ size = "inherit",
504
+ tone = "accent",
505
+ className,
506
+ children,
507
+ ...linkProps
508
+ }) {
509
+ const Component = as || "a";
510
+ const isExternal = external ?? isExternalHref(linkProps.href);
511
+ return /* @__PURE__ */ jsxs4(
512
+ Component,
513
+ {
514
+ target: isExternal && as !== "button" ? "_blank" : void 0,
515
+ rel: isExternal && as !== "button" ? "noopener noreferrer" : void 0,
516
+ className: ["polli-link", className].filter(Boolean).join(" "),
517
+ "data-size": size,
518
+ "data-tone": tone,
519
+ ...linkProps,
520
+ children: [
521
+ children,
522
+ showIcon && isExternal && /* @__PURE__ */ jsx6(
523
+ ExternalLinkIcon,
524
+ {
525
+ "aria-hidden": "true",
526
+ className: "polli-link-external-icon"
527
+ }
528
+ )
529
+ ]
530
+ }
531
+ );
532
+ }
533
+
534
+ // src/primitives/Surface.tsx
535
+ import { jsx as jsx7 } from "react/jsx-runtime";
536
+ var variantClasses = {
537
+ panel: "polli:rounded-2xl polli:bg-theme-bg-pale polli:p-6 polli:shadow-container",
538
+ card: "polli:rounded-xl polli:bg-surface-opaque polli:p-4 polli:shadow-well",
539
+ "card-themed": "polli:rounded-xl polli:bg-theme-bg-pale polli:p-4 polli:shadow-well"
540
+ };
541
+ function Surface({
542
+ as,
543
+ variant = "card",
544
+ className,
545
+ children,
546
+ ...rest
547
+ }) {
548
+ const Component = as || "div";
549
+ return /* @__PURE__ */ jsx7(
550
+ Component,
551
+ {
552
+ ...rest,
553
+ className: cn("polli:min-w-0", variantClasses[variant], className),
554
+ children
555
+ }
556
+ );
557
+ }
111
558
 
112
559
  // src/modules/auth/AuthModal.tsx
113
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
114
- var authLogoMaskUrl = `url('${logo_default}')`;
115
- var authLogoMask = {
116
- WebkitMaskImage: authLogoMaskUrl,
117
- WebkitMaskPosition: "center",
560
+ import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
561
+ var brandMask = (url) => ({
562
+ WebkitMaskImage: `url('${url}')`,
563
+ WebkitMaskPosition: "left center",
118
564
  WebkitMaskRepeat: "no-repeat",
119
565
  WebkitMaskSize: "contain",
120
- maskImage: authLogoMaskUrl,
121
- maskPosition: "center",
566
+ maskImage: `url('${url}')`,
567
+ maskPosition: "left center",
122
568
  maskRepeat: "no-repeat",
123
569
  maskSize: "contain"
124
- };
125
- function AuthModal({
126
- children,
127
- dialog,
128
- tone = "default"
129
- }) {
130
- const borderClass = tone === "error" ? "polli:border-intent-danger-border" : "polli:border-theme-border";
131
- return /* @__PURE__ */ jsx2(
570
+ });
571
+ var authMarkMask = brandMask(mark_default);
572
+ function AuthModal({ children, size, dialog, onClose }) {
573
+ return /* @__PURE__ */ jsx8(
132
574
  Dialog,
133
575
  {
134
576
  open: true,
135
- theme: "amber",
577
+ onOpenChange: (open) => !open && onClose?.(),
136
578
  showBackdrop: false,
137
579
  ariaLabel: dialog?.label,
138
580
  labelledBy: dialog?.labelledBy,
139
- positionerClassName: "polli:items-start polli:overflow-y-auto polli:bg-theme-bg-pale",
140
- contentClassName: `polli:bg-surface-white polli:border-2 ${borderClass} polli:rounded-lg polli:shadow-lg polli:max-w-xl polli:w-full polli:my-auto`,
581
+ positionerClassName: "polli:bg-app-bg",
582
+ contentClassName: "polli:overflow-hidden",
583
+ size,
584
+ children
585
+ }
586
+ );
587
+ }
588
+ var legalFootnote = /* @__PURE__ */ jsxs5(Fragment2, { children: [
589
+ "By continuing, you agree to the",
590
+ " ",
591
+ /* @__PURE__ */ jsx8(InlineLink, { href: "https://pollinations.ai/terms", children: "Terms" }),
592
+ " and acknowledge the",
593
+ " ",
594
+ /* @__PURE__ */ jsx8(InlineLink, { href: "https://pollinations.ai/privacy", children: "Privacy Policy" }),
595
+ "."
596
+ ] });
597
+ function AuthFlowLayout({
598
+ children,
599
+ title,
600
+ subject,
601
+ description,
602
+ error,
603
+ titleId,
604
+ headerAction,
605
+ actions,
606
+ footnote = legalFootnote,
607
+ dialog,
608
+ size,
609
+ onClose
610
+ }) {
611
+ const generatedId = useId();
612
+ const headingId = titleId ?? generatedId;
613
+ return /* @__PURE__ */ jsx8(
614
+ AuthModal,
615
+ {
616
+ dialog: dialog ?? (title ? { labelledBy: headingId } : void 0),
617
+ size,
618
+ onClose,
619
+ children: /* @__PURE__ */ jsxs5(
620
+ DialogBody,
621
+ {
622
+ actions,
623
+ footnote: /* @__PURE__ */ jsx8(AuthModalFootnote, { children: footnote }),
624
+ bodyClassName: "polli:space-y-0 polli:p-0",
625
+ children: [
626
+ /* @__PURE__ */ jsx8(AuthModalHeader, { children: headerAction }),
627
+ /* @__PURE__ */ jsxs5("div", { className: "polli:space-y-4 polli:px-6 polli:py-4", children: [
628
+ title && /* @__PURE__ */ jsxs5("div", { className: "polli:space-y-3", children: [
629
+ /* @__PURE__ */ jsx8(Heading, { as: "h1", size: "section", id: headingId, children: title }),
630
+ subject,
631
+ description && // The step instruction: body tone, so it reads as
632
+ // the sentence's second half rather than a caption.
633
+ /* @__PURE__ */ jsx8(Text, { size: "body", tone: "base", children: description }),
634
+ error && /* @__PURE__ */ jsx8(ErrorBanner, { children: error })
635
+ ] }),
636
+ children
637
+ ] })
638
+ ]
639
+ }
640
+ )
641
+ }
642
+ );
643
+ }
644
+ function AuthModalFootnote({ children }) {
645
+ return /* @__PURE__ */ jsx8(
646
+ Text,
647
+ {
648
+ size: "xs",
649
+ tone: "muted",
650
+ className: "polli:shrink-0 polli:px-6 polli:pb-5 polli:text-center polli:text-[13px]",
141
651
  children
142
652
  }
143
653
  );
144
654
  }
145
655
  function AuthModalHeader({ children }) {
146
- const logo = /* @__PURE__ */ jsxs2(
656
+ const logo = /* @__PURE__ */ jsxs5(
147
657
  "a",
148
658
  {
149
659
  href: "https://pollinations.ai",
150
660
  target: "_blank",
151
661
  rel: "noopener noreferrer",
152
- tabIndex: -1,
153
- className: "polli:block polli:shrink-0 polli:text-theme-text-strong polli:focus:outline-none",
662
+ className: "polli:block polli:shrink-0 polli:text-theme-text-muted polli:transition-colors polli:hover:text-theme-text-strong polli:focus-visible:outline-2 polli:focus-visible:outline-offset-4",
154
663
  "aria-label": "pollinations.ai",
155
664
  children: [
156
- /* @__PURE__ */ jsx2("span", { className: "polli:sr-only", children: "pollinations.ai" }),
157
- /* @__PURE__ */ jsx2(
665
+ /* @__PURE__ */ jsx8("span", { className: "polli:sr-only", children: "pollinations.ai" }),
666
+ /* @__PURE__ */ jsx8(
158
667
  "span",
159
668
  {
160
669
  "aria-hidden": "true",
161
670
  className: "polli:block polli:h-8 polli:w-8 polli:bg-current",
162
- style: authLogoMask
671
+ style: authMarkMask
163
672
  }
164
673
  )
165
674
  ]
166
675
  }
167
676
  );
168
- if (!children) {
169
- return /* @__PURE__ */ jsx2("div", { className: "polli:flex polli:justify-start polli:px-6 polli:pt-6", children: logo });
170
- }
171
- return /* @__PURE__ */ jsx2("div", { className: "polli:px-6 polli:pt-6 polli:pb-2", children: /* @__PURE__ */ jsxs2("div", { className: "polli:flex polli:items-center polli:justify-between polli:gap-3", children: [
677
+ return /* @__PURE__ */ jsx8("div", { className: "polli:shrink-0 polli:p-6 polli:pb-4", children: /* @__PURE__ */ jsxs5("div", { className: "polli:flex polli:min-h-10 polli:items-start polli:justify-between polli:gap-3", children: [
172
678
  logo,
173
679
  children
174
680
  ] }) });
175
681
  }
176
- function AuthModalLoading() {
177
- return /* @__PURE__ */ jsxs2(AuthModal, { children: [
178
- /* @__PURE__ */ jsx2(AuthModalHeader, {}),
179
- /* @__PURE__ */ jsx2("div", { className: "polli:px-8 polli:pt-2 polli:pb-8 polli:text-center", children: /* @__PURE__ */ jsx2("p", { className: "polli:text-theme-text-strong", children: "Loading..." }) })
180
- ] });
682
+ function AuthModalLoading({
683
+ title,
684
+ subject,
685
+ message = "This only takes a moment."
686
+ }) {
687
+ return /* @__PURE__ */ jsx8(AuthFlowLayout, { title, subject, children: /* @__PURE__ */ jsxs5("output", { className: "polli:flex polli:items-center polli:gap-2 polli:font-body polli:text-sm polli:text-theme-text-muted", children: [
688
+ /* @__PURE__ */ jsx8(
689
+ "span",
690
+ {
691
+ "aria-hidden": "true",
692
+ className: "polli:h-4 polli:w-4 polli:shrink-0 polli:animate-spin polli:rounded-full polli:border-2 polli:border-current polli:border-r-transparent"
693
+ }
694
+ ),
695
+ message
696
+ ] }) });
181
697
  }
182
698
  function ErrorBanner({ children }) {
183
- return /* @__PURE__ */ jsx2("div", { className: "polli:rounded-lg polli:border-2 polli:border-intent-danger-border polli:bg-intent-danger-bg-light polli:p-4", children: /* @__PURE__ */ jsx2("p", { className: "polli:text-sm polli:text-intent-danger-text", children }) });
699
+ return /* @__PURE__ */ jsx8(Alert, { intent: "danger", children });
184
700
  }
185
- function AuthInfoCard({
186
- title = "Authorize",
187
- children
188
- }) {
189
- return /* @__PURE__ */ jsxs2("div", { className: "polli:rounded-lg polli:border-2 polli:border-theme-border polli:bg-theme-bg-pale polli:p-4", children: [
190
- /* @__PURE__ */ jsx2("p", { className: "polli:mb-2 polli:font-body polli:text-xs polli:font-semibold polli:tracking-wide polli:text-theme-text-soft", children: title }),
701
+ function AuthInfoCard({ title, children }) {
702
+ return /* @__PURE__ */ jsxs5(Surface, { className: "polli:space-y-3 polli:font-body", children: [
703
+ title != null && /* @__PURE__ */ jsx8("p", { className: "polli:font-body polli:text-sm polli:font-semibold polli:leading-5 polli:text-theme-text-strong", children: title }),
191
704
  children
192
705
  ] });
193
706
  }
707
+ function AuthAccessItem({
708
+ children,
709
+ control,
710
+ details,
711
+ info,
712
+ icon,
713
+ checked = false,
714
+ onChange,
715
+ ariaLabel,
716
+ disabled = false
717
+ }) {
718
+ const Row = icon != null ? "div" : "label";
719
+ return /* @__PURE__ */ jsxs5(
720
+ "li",
721
+ {
722
+ className: cn(
723
+ info != null && "polli:flex polli:flex-wrap polli:items-center"
724
+ ),
725
+ children: [
726
+ /* @__PURE__ */ jsxs5(
727
+ Row,
728
+ {
729
+ className: cn(
730
+ "polli:flex polli:min-h-8 polli:items-center polli:gap-3 polli:font-body polli:text-sm polli:font-semibold polli:leading-5",
731
+ info != null && "polli:min-w-0",
732
+ onChange && (disabled ? "polli:cursor-not-allowed" : "polli:cursor-pointer")
733
+ ),
734
+ children: [
735
+ icon != null ? /* @__PURE__ */ jsx8(
736
+ "span",
737
+ {
738
+ "aria-hidden": "true",
739
+ className: "polli:flex polli:h-5 polli:w-5 polli:shrink-0 polli:items-center polli:justify-center polli:text-theme-text-strong polli:[&>svg]:h-4 polli:[&>svg]:w-4",
740
+ children: icon
741
+ }
742
+ ) : /* @__PURE__ */ jsxs5("span", { className: "polli:relative polli:flex polli:h-5 polli:w-5 polli:shrink-0", children: [
743
+ /* @__PURE__ */ jsx8(
744
+ "input",
745
+ {
746
+ type: "checkbox",
747
+ "aria-label": ariaLabel,
748
+ checked,
749
+ disabled: disabled || !onChange,
750
+ onChange: (event) => onChange?.(event.target.checked),
751
+ className: "polli:peer polli:sr-only"
752
+ }
753
+ ),
754
+ /* @__PURE__ */ jsx8(
755
+ "span",
756
+ {
757
+ "aria-hidden": "true",
758
+ className: "polli:flex polli:h-5 polli:w-5 polli:items-center polli:justify-center polli:rounded polli:border polli:border-theme-text-muted/50 polli:bg-transparent polli:transition-colors polli:peer-checked:border-theme-bg-active polli:peer-checked:bg-theme-bg-active polli:peer-checked:text-theme-text-strong polli:peer-focus-visible:outline-2 polli:peer-focus-visible:outline-offset-2 polli:peer-focus-visible:outline-theme-text-soft polli:peer-disabled:opacity-50",
759
+ children: checked && /* @__PURE__ */ jsx8(CheckIcon, { className: "polli:h-3.5 polli:w-3.5" })
760
+ }
761
+ )
762
+ ] }),
763
+ /* @__PURE__ */ jsx8(
764
+ "span",
765
+ {
766
+ className: cn(
767
+ "polli:min-w-0 polli:flex-1 polli:transition-opacity",
768
+ !!onChange && !checked && "polli:opacity-60"
769
+ ),
770
+ children
771
+ }
772
+ ),
773
+ control != null && /* @__PURE__ */ jsx8("span", { className: "polli:shrink-0", children: control })
774
+ ]
775
+ }
776
+ ),
777
+ info,
778
+ details && /* @__PURE__ */ jsx8(
779
+ "div",
780
+ {
781
+ className: cn(
782
+ "polli:pl-8 polli:font-body polli:text-xs polli:font-normal polli:leading-normal polli:text-theme-text-muted",
783
+ info != null && "polli:basis-full"
784
+ ),
785
+ children: details
786
+ }
787
+ )
788
+ ]
789
+ }
790
+ );
791
+ }
792
+
793
+ // src/modules/auth/DashboardAccountMenu.tsx
794
+ import { useState as useState2 } from "react";
795
+
796
+ // src/compositions/AccountIdentity.tsx
797
+ import { useId as useId3 } from "react";
798
+
799
+ // src/primitives/ChevronIcon.tsx
800
+ import { jsx as jsx9 } from "react/jsx-runtime";
801
+ var ChevronIcon = ({ expanded, className }) => /* @__PURE__ */ jsx9(
802
+ "svg",
803
+ {
804
+ "aria-hidden": "true",
805
+ width: "12",
806
+ height: "12",
807
+ viewBox: "0 0 12 12",
808
+ className: cn(
809
+ "polli:shrink-0 polli:transition-transform polli:duration-200 polli:ease-out",
810
+ expanded && "polli:rotate-180",
811
+ className
812
+ ),
813
+ children: /* @__PURE__ */ jsx9(
814
+ "path",
815
+ {
816
+ d: "M3 4.5 6 7.5l3-3",
817
+ fill: "none",
818
+ stroke: "currentColor",
819
+ strokeLinecap: "round",
820
+ strokeLinejoin: "round",
821
+ strokeWidth: "1.5"
822
+ }
823
+ )
824
+ }
825
+ );
826
+
827
+ // src/primitives/Dropdown.tsx
828
+ import { Popover } from "@ark-ui/react/popover";
829
+ import { Portal as Portal2 } from "@ark-ui/react/portal";
830
+ import { useId as useId2, useState } from "react";
831
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
832
+ var DEFAULT_PANEL = "polli:rounded-lg polli:bg-surface-menu polli:shadow-lg";
833
+ var Dropdown = ({
834
+ trigger,
835
+ children,
836
+ align = "start",
837
+ side = "bottom",
838
+ open: openProp,
839
+ portalled = true,
840
+ onOpenChange,
841
+ className,
842
+ panelStyle
843
+ }) => {
844
+ const triggerId = useId2();
845
+ const [internalOpen, setInternalOpen] = useState(false);
846
+ const isControlled = openProp !== void 0;
847
+ const open = isControlled ? openProp : internalOpen;
848
+ const setOpen = (next) => {
849
+ if (!isControlled) setInternalOpen(next);
850
+ onOpenChange?.(next);
851
+ };
852
+ return /* @__PURE__ */ jsxs6(
853
+ Popover.Root,
854
+ {
855
+ ids: { trigger: triggerId },
856
+ open,
857
+ portalled,
858
+ onOpenChange: (details) => setOpen(details.open),
859
+ positioning: {
860
+ placement: `${side}-${align}`,
861
+ strategy: portalled ? "absolute" : "fixed"
862
+ },
863
+ children: [
864
+ /* @__PURE__ */ jsx10(Popover.Trigger, { asChild: true, children: trigger(open) }),
865
+ /* @__PURE__ */ jsx10(Portal2, { disabled: !portalled, children: /* @__PURE__ */ jsx10(Popover.Positioner, { children: /* @__PURE__ */ jsx10(
866
+ Popover.Content,
867
+ {
868
+ "aria-labelledby": triggerId,
869
+ style: panelStyle,
870
+ className: cn(
871
+ "polli:z-[120] polli:overflow-hidden polli:focus:outline-none",
872
+ DEFAULT_PANEL,
873
+ className
874
+ ),
875
+ children: typeof children === "function" ? children(() => setOpen(false)) : children
876
+ }
877
+ ) }) })
878
+ ]
879
+ }
880
+ );
881
+ };
882
+
883
+ // src/compositions/AccountIdentity.tsx
884
+ import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
885
+ function initials(name) {
886
+ const parts = name.trim().split(/\s+/).filter(Boolean);
887
+ if (parts.length === 0) return "?";
888
+ if (parts.length === 1) return parts[0].slice(0, 2).toUpperCase();
889
+ return `${parts[0][0] ?? ""}${parts.at(-1)?.[0] ?? ""}`.toUpperCase();
890
+ }
891
+ function AccountAvatar({
892
+ name,
893
+ avatarUrl,
894
+ secondaryContent,
895
+ dashboardHref
896
+ }) {
897
+ const large = secondaryContent != null;
898
+ const className = large ? "polli:h-11 polli:w-11" : "polli:h-8 polli:w-8";
899
+ const avatar = avatarUrl ? /* @__PURE__ */ jsx11(
900
+ "img",
901
+ {
902
+ src: avatarUrl,
903
+ alt: "",
904
+ className: cn(
905
+ className,
906
+ "polli:shrink-0 polli:rounded-full polli:object-cover"
907
+ )
908
+ }
909
+ ) : /* @__PURE__ */ jsx11(
910
+ "span",
911
+ {
912
+ role: "img",
913
+ "aria-label": `${name} avatar`,
914
+ className: cn(
915
+ className,
916
+ "polli:flex polli:shrink-0 polli:items-center polli:justify-center polli:rounded-full polli:bg-theme-bg-pale polli:text-xs polli:font-semibold polli:text-theme-text-strong"
917
+ ),
918
+ children: initials(name)
919
+ }
920
+ );
921
+ return dashboardHref ? /* @__PURE__ */ jsx11(
922
+ "a",
923
+ {
924
+ href: dashboardHref,
925
+ target: "_blank",
926
+ rel: "noopener noreferrer",
927
+ "aria-label": "Open dashboard",
928
+ title: "Open dashboard",
929
+ className: "polli:shrink-0 polli:rounded-full polli:cursor-pointer polli:transition-transform polli:hover:scale-105 polli:hover:brightness-110 polli:focus-visible:outline-2 polli:focus-visible:outline-offset-2 polli:focus-visible:outline-current polli:motion-reduce:transition-none polli:motion-reduce:hover:scale-100",
930
+ children: avatar
931
+ }
932
+ ) : avatar;
933
+ }
934
+ function AccountDetails({
935
+ name,
936
+ secondaryContent,
937
+ secondaryId
938
+ }) {
939
+ return /* @__PURE__ */ jsxs7("span", { className: "polli:flex polli:min-w-0 polli:flex-col polli:items-start polli:text-left", children: [
940
+ /* @__PURE__ */ jsx11(
941
+ "span",
942
+ {
943
+ title: name,
944
+ className: "polli:max-w-full polli:truncate polli:text-sm polli:font-medium polli:leading-5 polli:text-theme-text-strong",
945
+ children: name
946
+ }
947
+ ),
948
+ secondaryContent != null && /* @__PURE__ */ jsx11(
949
+ "span",
950
+ {
951
+ id: secondaryId,
952
+ className: "polli:inline-flex polli:min-h-5 polli:items-center polli:whitespace-nowrap polli:text-xs polli:leading-4 polli:text-theme-text-base",
953
+ children: secondaryContent
954
+ }
955
+ )
956
+ ] });
957
+ }
958
+ function AccountMenu({
959
+ name,
960
+ avatarUrl,
961
+ dashboardHref,
962
+ secondaryContent,
963
+ children,
964
+ className,
965
+ menuClassName,
966
+ side = "bottom",
967
+ menuLabel = `Account menu for ${name}`
968
+ }) {
969
+ const statusId = useId3();
970
+ const avatar = /* @__PURE__ */ jsx11(
971
+ AccountAvatar,
972
+ {
973
+ name,
974
+ avatarUrl,
975
+ dashboardHref,
976
+ secondaryContent
977
+ }
978
+ );
979
+ return /* @__PURE__ */ jsxs7(
980
+ "div",
981
+ {
982
+ "data-theme": "accent",
983
+ className: cn(
984
+ "polli:flex polli:min-w-0 polli:items-center polli:gap-2 polli:rounded-full polli:bg-theme-bg-active polli:p-1 polli:pr-3 polli:text-theme-text-strong polli:transition-colors polli:hover:bg-theme-bg-hover",
985
+ className
986
+ ),
987
+ children: [
988
+ dashboardHref && avatar,
989
+ /* @__PURE__ */ jsx11(
990
+ Dropdown,
991
+ {
992
+ align: "end",
993
+ side,
994
+ className: cn(
995
+ "polli:w-max polli:min-w-[var(--reference-width)] polli:p-1",
996
+ menuClassName
997
+ ),
998
+ trigger: (open) => /* @__PURE__ */ jsxs7(
999
+ "button",
1000
+ {
1001
+ type: "button",
1002
+ "aria-label": menuLabel,
1003
+ "aria-describedby": secondaryContent != null ? statusId : void 0,
1004
+ className: "polli-control polli:flex polli:min-w-0 polli:flex-1 polli:items-center polli:gap-2 polli:self-stretch polli:rounded-full polli:text-theme-text-strong",
1005
+ children: [
1006
+ !dashboardHref && avatar,
1007
+ /* @__PURE__ */ jsx11(
1008
+ AccountDetails,
1009
+ {
1010
+ name,
1011
+ secondaryContent,
1012
+ secondaryId: statusId
1013
+ }
1014
+ ),
1015
+ /* @__PURE__ */ jsx11(
1016
+ ChevronIcon,
1017
+ {
1018
+ expanded: open,
1019
+ className: "polli:ml-auto polli:h-4 polli:w-4 polli:text-theme-text-strong"
1020
+ }
1021
+ )
1022
+ ]
1023
+ }
1024
+ ),
1025
+ children
1026
+ }
1027
+ )
1028
+ ]
1029
+ }
1030
+ );
1031
+ }
1032
+
1033
+ // src/primitives/DropdownItem.tsx
1034
+ import { jsx as jsx12 } from "react/jsx-runtime";
1035
+ function DropdownItem({
1036
+ as,
1037
+ className,
1038
+ children,
1039
+ ...rest
1040
+ }) {
1041
+ const Component = as || "button";
1042
+ return /* @__PURE__ */ jsx12(
1043
+ Component,
1044
+ {
1045
+ ...Component === "button" ? { type: "button" } : void 0,
1046
+ ...rest,
1047
+ className: cn(
1048
+ "polli-control polli:flex polli:w-full polli:cursor-pointer polli:items-center polli:gap-2 polli:rounded-lg polli:bg-transparent polli:px-3 polli:py-2 polli:text-left polli:text-sm polli:font-medium polli:text-theme-text-base polli:no-underline polli:transition-colors polli:hover:bg-theme-bg-hover polli:hover:text-theme-text-hover polli:focus-visible:bg-theme-bg-hover",
1049
+ className
1050
+ ),
1051
+ children
1052
+ }
1053
+ );
1054
+ }
1055
+
1056
+ // src/modules/auth/DashboardAccountMenu.tsx
1057
+ import { Fragment as Fragment3, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
1058
+ function DashboardAccountMenu({
1059
+ user,
1060
+ onSignOut,
1061
+ className,
1062
+ side
1063
+ }) {
1064
+ const [error, setError] = useState2(null);
1065
+ return /* @__PURE__ */ jsxs8(Fragment3, { children: [
1066
+ error && /* @__PURE__ */ jsx13(Alert, { children: error }),
1067
+ /* @__PURE__ */ jsx13(
1068
+ AccountMenu,
1069
+ {
1070
+ name: user.name || user.preferred_username || user.email,
1071
+ avatarUrl: user.picture,
1072
+ className,
1073
+ side,
1074
+ children: /* @__PURE__ */ jsxs8(
1075
+ DropdownItem,
1076
+ {
1077
+ onClick: () => {
1078
+ setError(null);
1079
+ Promise.resolve().then(onSignOut).catch(
1080
+ () => setError(
1081
+ "Could not sign out. Please try again."
1082
+ )
1083
+ );
1084
+ },
1085
+ children: [
1086
+ /* @__PURE__ */ jsx13(
1087
+ SignOutIcon,
1088
+ {
1089
+ "aria-hidden": "true",
1090
+ className: "polli:h-4 polli:w-4 polli:shrink-0"
1091
+ }
1092
+ ),
1093
+ "Sign out"
1094
+ ]
1095
+ }
1096
+ )
1097
+ }
1098
+ )
1099
+ ] });
1100
+ }
1101
+
1102
+ // src/primitives/Button.tsx
1103
+ import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
1104
+ var pillSizes = {
1105
+ icon: "polli:h-12 polli:w-12 polli:p-0",
1106
+ xs: "polli:h-5 polli:px-1.5 polli:py-0 polli:text-[11px] polli:leading-none",
1107
+ sm: "polli:min-h-7 polli:px-2 polli:pt-0.5 polli:pb-1",
1108
+ md: "polli:min-h-9 polli:px-4 polli:pt-1.5 polli:pb-2",
1109
+ lg: "polli:min-h-12 polli:px-6 polli:py-3"
1110
+ };
1111
+ var raisedSizes = {
1112
+ icon: "polli:h-12 polli:w-12 polli:p-0",
1113
+ xs: "polli:px-2 polli:py-1 polli:text-xs",
1114
+ sm: "polli:px-4 polli:py-2 polli:text-sm",
1115
+ md: "polli:px-7 polli:py-3.5 polli:text-base",
1116
+ lg: "polli:px-8 polli:py-4 polli:text-lg"
1117
+ };
1118
+ var appearanceClasses = {
1119
+ pill: "polli:rounded-full",
1120
+ raised: "polli:rounded-xl polli:border-r-[3px] polli:border-b-[3px] polli:border-solid polli:border-theme-text-strong/20 polli:hover:border-theme-text-strong/45"
1121
+ };
1122
+ var themeClasses = "polli:bg-theme-bg-active polli:text-theme-text-strong polli:hover:bg-theme-bg-hover polli:hover:text-theme-text-hover polli:transition-colors";
1123
+ var outlined = "polli:border polli:border-theme-text-soft polli:bg-surface-white polli:text-theme-text-strong polli:transition-colors polli:[.dark_&]:bg-transparent";
1124
+ var intentClasses2 = {
1125
+ brand: `${outlined} polli:hover:bg-theme-text-soft/10`,
1126
+ commit: `${outlined} polli:hover:border-theme-bg-active polli:hover:bg-theme-bg-active polli:focus-visible:border-theme-bg-active polli:focus-visible:bg-theme-bg-active polli:[.dark_&]:hover:bg-theme-bg-active polli:[.dark_&]:focus-visible:bg-theme-bg-active`,
1127
+ danger: "polli:border polli:border-intent-danger-text polli:bg-transparent polli:text-intent-danger-text polli:hover:bg-intent-danger-bg-hover polli:focus-visible:bg-intent-danger-bg-hover polli:transition-colors",
1128
+ info: "polli:bg-intent-info-bg-light polli:text-intent-info-text polli:hover:bg-intent-info-bg-hover polli:transition-colors",
1129
+ // Secondary actions never take the accent: one step stronger grey on hover.
1130
+ neutral: "polli:bg-theme-bg-subtle polli:text-theme-text-base polli:hover:bg-theme-text-muted/25 polli:hover:text-theme-text-strong polli:transition-colors"
1131
+ };
1132
+ var buttonClasses = ({
1133
+ intent,
1134
+ appearance = "pill",
1135
+ size,
1136
+ className,
1137
+ disabled
1138
+ }) => {
1139
+ const colorClasses = intent ? intentClasses2[intent] : themeClasses;
1140
+ const sizeClasses2 = appearance === "raised" ? raisedSizes : pillSizes;
1141
+ return cn(
1142
+ "polli-control polli:inline-flex polli:items-center polli:justify-center polli:self-center polli:font-body polli:text-sm polli:font-medium polli:leading-normal polli:box-border polli:border polli:border-transparent",
1143
+ disabled ? "polli:opacity-50 polli:cursor-not-allowed" : "polli:hover:filter polli:hover:brightness-105 polli:cursor-pointer",
1144
+ colorClasses,
1145
+ appearanceClasses[appearance],
1146
+ sizeClasses2[size || "md"],
1147
+ className
1148
+ );
1149
+ };
1150
+ function Button({
1151
+ as,
1152
+ children,
1153
+ icon,
1154
+ intent,
1155
+ appearance,
1156
+ size,
1157
+ className,
1158
+ disabled,
1159
+ ...buttonProps
1160
+ }) {
1161
+ const Component = as || "button";
1162
+ const isButton = Component === "button";
1163
+ const isAnchor = Component === "a";
1164
+ const buttonType = buttonProps.type;
1165
+ const onClick = buttonProps.onClick;
1166
+ const handleClick = disabled ? (event) => {
1167
+ event.preventDefault();
1168
+ event.stopPropagation();
1169
+ } : onClick;
1170
+ return /* @__PURE__ */ jsxs9(
1171
+ Component,
1172
+ {
1173
+ ...buttonProps,
1174
+ "data-intent": intent,
1175
+ ...isButton ? { type: buttonType ?? "button", disabled } : {},
1176
+ ...!isButton && disabled ? { "aria-disabled": true, tabIndex: -1 } : {},
1177
+ ...isAnchor && disabled ? { href: void 0 } : {},
1178
+ onClick: handleClick,
1179
+ className: buttonClasses({
1180
+ intent,
1181
+ appearance,
1182
+ size,
1183
+ className,
1184
+ disabled
1185
+ }),
1186
+ children: [
1187
+ icon && /* @__PURE__ */ jsx14(
1188
+ "span",
1189
+ {
1190
+ "aria-hidden": "true",
1191
+ className: "polli:mr-2 polli:flex polli:size-4 polli:shrink-0 polli:[&>svg]:size-full",
1192
+ children: icon
1193
+ }
1194
+ ),
1195
+ children
1196
+ ]
1197
+ }
1198
+ );
1199
+ }
1200
+
1201
+ // src/primitives/ColorModeToggle.tsx
1202
+ import { useSyncExternalStore } from "react";
1203
+ import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
1204
+ var STORAGE_KEY = "polli-color-mode";
1205
+ function readStored() {
1206
+ try {
1207
+ const value = localStorage.getItem(STORAGE_KEY);
1208
+ return value === "light" || value === "dark" ? value : null;
1209
+ } catch {
1210
+ return null;
1211
+ }
1212
+ }
1213
+ function systemPrefersDark() {
1214
+ return typeof window !== "undefined" && window.matchMedia?.("(prefers-color-scheme: dark)").matches === true;
1215
+ }
1216
+ var current = readStored() ?? (systemPrefersDark() ? "dark" : "light");
1217
+ var listeners = /* @__PURE__ */ new Set();
1218
+ function apply() {
1219
+ if (typeof document === "undefined") return;
1220
+ document.documentElement.classList.toggle("dark", current === "dark");
1221
+ syncThemeColor();
1222
+ }
1223
+ function syncThemeColor() {
1224
+ if (typeof document === "undefined") return;
1225
+ const appBg = getComputedStyle(document.documentElement).getPropertyValue("--polli-color-app-bg").trim();
1226
+ if (!appBg) return;
1227
+ let meta = document.querySelector('meta[name="theme-color"]');
1228
+ if (!meta) {
1229
+ meta = document.createElement("meta");
1230
+ meta.setAttribute("name", "theme-color");
1231
+ document.head.appendChild(meta);
1232
+ }
1233
+ meta.setAttribute("content", appBg);
1234
+ }
1235
+ function emit() {
1236
+ for (const listener of listeners) listener();
1237
+ }
1238
+ function handleStorage(event) {
1239
+ if (event.key !== STORAGE_KEY) return;
1240
+ const next = event.newValue === "dark" ? "dark" : "light";
1241
+ if (next === current) return;
1242
+ current = next;
1243
+ apply();
1244
+ emit();
1245
+ }
1246
+ function subscribe(listener) {
1247
+ if (listeners.size === 0 && typeof window !== "undefined") {
1248
+ apply();
1249
+ window.addEventListener("storage", handleStorage);
1250
+ }
1251
+ listeners.add(listener);
1252
+ return () => {
1253
+ listeners.delete(listener);
1254
+ if (listeners.size === 0 && typeof window !== "undefined") {
1255
+ window.removeEventListener("storage", handleStorage);
1256
+ }
1257
+ };
1258
+ }
1259
+ function getSnapshot() {
1260
+ return current;
1261
+ }
1262
+ function getServerSnapshot() {
1263
+ return "light";
1264
+ }
1265
+ function setColorMode(mode) {
1266
+ if (mode === current) return;
1267
+ current = mode;
1268
+ apply();
1269
+ try {
1270
+ localStorage.setItem(STORAGE_KEY, mode);
1271
+ } catch {
1272
+ }
1273
+ emit();
1274
+ }
1275
+ function useColorMode() {
1276
+ const mode = useSyncExternalStore(
1277
+ subscribe,
1278
+ getSnapshot,
1279
+ getServerSnapshot
1280
+ );
1281
+ return {
1282
+ mode,
1283
+ isDark: mode === "dark",
1284
+ toggle: () => setColorMode(mode === "dark" ? "light" : "dark")
1285
+ };
1286
+ }
1287
+ var ColorModeToggle = () => {
1288
+ const { isDark, toggle } = useColorMode();
1289
+ return /* @__PURE__ */ jsxs10(
1290
+ "button",
1291
+ {
1292
+ type: "button",
1293
+ role: "switch",
1294
+ "aria-checked": isDark,
1295
+ "aria-label": "Toggle dark mode",
1296
+ onClick: toggle,
1297
+ className: "polli-control polli:relative polli:inline-block polli:h-7 polli:w-[52px] polli:shrink-0 polli:cursor-pointer polli:rounded-full polli:border polli:border-theme-text-strong/10 polli:bg-surface-opaque polli:transition-colors",
1298
+ children: [
1299
+ isDark ? /* @__PURE__ */ jsx15(SunIcon, { className: "polli:absolute polli:top-1/2 polli:left-[7px] polli:h-3.5 polli:w-3.5 polli:-translate-y-1/2 polli:text-theme-text-strong/40" }) : /* @__PURE__ */ jsx15(MoonIcon, { className: "polli:absolute polli:top-1/2 polli:right-[7px] polli:h-3.5 polli:w-3.5 polli:-translate-y-1/2 polli:text-theme-text-strong/40" }),
1300
+ /* @__PURE__ */ jsx15(
1301
+ "span",
1302
+ {
1303
+ className: cn(
1304
+ "polli:absolute polli:top-1/2 polli:left-0.5 polli:flex polli:h-5 polli:w-5 polli:-translate-y-1/2 polli:items-center polli:justify-center polli:rounded-full polli:bg-app-bg polli:text-theme-text-soft polli:shadow-sm polli:transition-transform",
1305
+ isDark ? "polli:translate-x-[26px]" : "polli:translate-x-0"
1306
+ ),
1307
+ children: isDark ? /* @__PURE__ */ jsx15(MoonIcon, { className: "polli:h-3.5 polli:w-3.5" }) : /* @__PURE__ */ jsx15(SunIcon, { className: "polli:h-3.5 polli:w-3.5" })
1308
+ }
1309
+ )
1310
+ ]
1311
+ }
1312
+ );
1313
+ };
1314
+
1315
+ // src/modules/auth/ProviderSignInButton.tsx
1316
+ import { jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
1317
+ function ProviderSignInButton({
1318
+ icon,
1319
+ className,
1320
+ children,
1321
+ type = "button",
1322
+ ...props
1323
+ }) {
1324
+ return /* @__PURE__ */ jsxs11(
1325
+ Button,
1326
+ {
1327
+ ...props,
1328
+ type,
1329
+ intent: "brand",
1330
+ "data-theme": "accent",
1331
+ className: cn("polli:gap-2 polli:whitespace-nowrap", className),
1332
+ children: [
1333
+ icon,
1334
+ /* @__PURE__ */ jsx16("span", { children })
1335
+ ]
1336
+ }
1337
+ );
1338
+ }
1339
+
1340
+ // src/modules/auth/PollinationsSignInButton.tsx
1341
+ import { jsx as jsx17 } from "react/jsx-runtime";
1342
+ function PollinationsSignInButton({
1343
+ className,
1344
+ children,
1345
+ type = "button",
1346
+ isPending = false,
1347
+ disabled,
1348
+ ...props
1349
+ }) {
1350
+ return /* @__PURE__ */ jsx17(
1351
+ ProviderSignInButton,
1352
+ {
1353
+ type,
1354
+ ...props,
1355
+ disabled: disabled || isPending,
1356
+ "aria-busy": isPending,
1357
+ className,
1358
+ icon: isPending ? /* @__PURE__ */ jsx17(
1359
+ "span",
1360
+ {
1361
+ "aria-hidden": "true",
1362
+ className: "polli:h-5 polli:w-5 polli:shrink-0 polli:animate-spin polli:rounded-full polli:border-2 polli:border-current polli:border-r-transparent"
1363
+ }
1364
+ ) : /* @__PURE__ */ jsx17(
1365
+ "span",
1366
+ {
1367
+ "aria-hidden": "true",
1368
+ className: "polli:block polli:h-5 polli:w-5 polli:shrink-0 polli:bg-current",
1369
+ style: {
1370
+ mask: `url('${mark_default}') center / contain no-repeat`,
1371
+ WebkitMask: `url('${mark_default}') center / contain no-repeat`
1372
+ }
1373
+ }
1374
+ ),
1375
+ children: children ?? "Connect with Pollinations"
1376
+ }
1377
+ );
1378
+ }
1379
+
1380
+ // src/modules/auth/DashboardSignIn.tsx
1381
+ import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1382
+ var signInErrors = {
1383
+ admin_required: {
1384
+ title: "Admin access required",
1385
+ message: "Your Pollinations account does not have admin access. Switch accounts on Pollinations, then try again."
1386
+ },
1387
+ cancelled: {
1388
+ title: "Sign-in cancelled",
1389
+ message: "Sign-in was cancelled. You can try again."
1390
+ },
1391
+ invalid_state: {
1392
+ title: "Sign-in link expired",
1393
+ message: "Your Pollinations sign-in link expired. Please try again."
1394
+ },
1395
+ unavailable: {
1396
+ title: "Couldn\u2019t sign in",
1397
+ message: "Couldn\u2019t complete your Pollinations sign-in. Please try again."
1398
+ }
1399
+ };
1400
+ function DashboardSignIn({
1401
+ appName,
1402
+ onSignIn,
1403
+ isPending = false,
1404
+ sessionError
1405
+ }) {
1406
+ const code = typeof window === "undefined" ? null : new URLSearchParams(window.location.search).get("auth_error");
1407
+ const error = sessionError ? { title: "Couldn\u2019t check your session", message: sessionError } : code && Object.hasOwn(signInErrors, code) ? signInErrors[code] : null;
1408
+ return /* @__PURE__ */ jsxs12(
1409
+ AuthFlowLayout,
1410
+ {
1411
+ headerAction: /* @__PURE__ */ jsx18(ColorModeToggle, {}),
1412
+ title: !isPending && error ? error.title : "Sign in",
1413
+ actions: isPending ? /* @__PURE__ */ jsx18("output", { children: "Checking sign-in\u2026" }) : sessionError ? /* @__PURE__ */ jsx18(
1414
+ Button,
1415
+ {
1416
+ icon: /* @__PURE__ */ jsx18(RefreshIcon, {}),
1417
+ onClick: () => window.location.reload(),
1418
+ className: "polli:w-full",
1419
+ children: "Reload"
1420
+ }
1421
+ ) : /* @__PURE__ */ jsx18(PollinationsSignInButton, { onClick: onSignIn, children: error ? "Try again" : "Sign in with Pollinations" }),
1422
+ children: [
1423
+ !isPending && error && /* @__PURE__ */ jsx18(ErrorBanner, { children: error.message }),
1424
+ /* @__PURE__ */ jsx18(Surface, { children: /* @__PURE__ */ jsx18(Text, { size: "sm", weight: "semibold", tone: "strong", children: appName }) }),
1425
+ !(!isPending && error) && /* @__PURE__ */ jsx18(Text, { size: "sm", tone: "muted", children: "Sign in with your Pollinations admin account." })
1426
+ ]
1427
+ }
1428
+ );
1429
+ }
1430
+
1431
+ // src/modules/auth/GitHubSignInButton.tsx
1432
+ import { jsx as jsx19 } from "react/jsx-runtime";
1433
+ function GitHubSignInButton({
1434
+ isSigningIn = false,
1435
+ disabled,
1436
+ ...props
1437
+ }) {
1438
+ return /* @__PURE__ */ jsx19(
1439
+ ProviderSignInButton,
1440
+ {
1441
+ ...props,
1442
+ disabled: disabled || isSigningIn,
1443
+ "aria-busy": isSigningIn,
1444
+ icon: /* @__PURE__ */ jsx19(
1445
+ GitHubIcon,
1446
+ {
1447
+ "aria-hidden": "true",
1448
+ className: "polli:h-5 polli:w-5 polli:shrink-0"
1449
+ }
1450
+ ),
1451
+ children: isSigningIn ? "Signing in\u2026" : "Sign in with GitHub"
1452
+ }
1453
+ );
1454
+ }
194
1455
  export {
1456
+ AuthAccessItem,
1457
+ AuthFlowLayout,
195
1458
  AuthInfoCard,
196
1459
  AuthModal,
1460
+ AuthModalFootnote,
197
1461
  AuthModalHeader,
198
1462
  AuthModalLoading,
199
- ErrorBanner
1463
+ DashboardAccountMenu,
1464
+ DashboardSignIn,
1465
+ ErrorBanner,
1466
+ GitHubSignInButton,
1467
+ PollinationsSignInButton
200
1468
  };
201
1469
  //# sourceMappingURL=index.js.map