@btst/stack 1.1.0 → 1.1.2

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 (297) hide show
  1. package/README.md +12 -12
  2. package/dist/api/index.cjs +2 -0
  3. package/dist/api/index.d.cts +1 -0
  4. package/dist/api/index.d.mts +1 -0
  5. package/dist/api/index.d.ts +1 -0
  6. package/dist/api/index.mjs +1 -0
  7. package/dist/client/components/index.cjs +2 -2
  8. package/dist/client/components/index.mjs +2 -2
  9. package/dist/client/index.cjs +4 -2
  10. package/dist/client/index.d.cts +24 -1
  11. package/dist/client/index.d.mts +24 -1
  12. package/dist/client/index.d.ts +24 -1
  13. package/dist/client/index.mjs +3 -2
  14. package/dist/context/index.cjs +1 -1
  15. package/dist/context/index.mjs +1 -1
  16. package/dist/index.cjs +2 -0
  17. package/dist/index.d.cts +1 -0
  18. package/dist/index.d.mts +1 -0
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.mjs +1 -0
  21. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +825 -0
  22. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +814 -0
  23. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +763 -0
  24. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +751 -0
  25. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +375 -0
  26. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +350 -0
  27. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +160 -0
  28. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +182 -0
  29. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +161 -0
  30. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +137 -0
  31. package/dist/node_modules/.pnpm/@radix-ui_number@1.1.1/node_modules/@radix-ui/number/dist/index.cjs +8 -0
  32. package/dist/node_modules/.pnpm/@radix-ui_number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs +6 -0
  33. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.cjs +13 -0
  34. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.mjs +11 -0
  35. package/dist/node_modules/.pnpm/@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@1_9e04309f365863673e44407648bb0cb6/node_modules/@radix-ui/react-arrow/dist/index.cjs +42 -0
  36. package/dist/node_modules/.pnpm/@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@1_9e04309f365863673e44407648bb0cb6/node_modules/@radix-ui/react-arrow/dist/index.mjs +25 -0
  37. package/dist/node_modules/.pnpm/@radix-ui_react-collection@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_re_6d7c277722b3619c9ee7e64e9a822c45/node_modules/@radix-ui/react-collection/dist/index.cjs +77 -0
  38. package/dist/node_modules/.pnpm/@radix-ui_react-collection@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_re_6d7c277722b3619c9ee7e64e9a822c45/node_modules/@radix-ui/react-collection/dist/index.mjs +71 -0
  39. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +56 -0
  40. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +39 -0
  41. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.cjs +79 -0
  42. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs +63 -0
  43. package/dist/node_modules/.pnpm/@radix-ui_react-direction@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.cjs +27 -0
  44. package/dist/node_modules/.pnpm/@radix-ui_react-direction@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs +11 -0
  45. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.2_@types_react@19.2.2__@_ca5522e5d45d4722cb9eb5ce53defa61/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +229 -0
  46. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.2_@types_react@19.2.2__@_ca5522e5d45d4722cb9eb5ce53defa61/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +212 -0
  47. package/dist/node_modules/.pnpm/@radix-ui_react-focus-guards@1.1.3_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +46 -0
  48. package/dist/node_modules/.pnpm/@radix-ui_react-focus-guards@1.1.3_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +30 -0
  49. package/dist/node_modules/.pnpm/@radix-ui_react-focus-scope@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_r_93de389b3f622f9f764acc8e59ec80c0/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +224 -0
  50. package/dist/node_modules/.pnpm/@radix-ui_react-focus-scope@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_r_93de389b3f622f9f764acc8e59ec80c0/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +208 -0
  51. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-id/dist/index.cjs +31 -0
  52. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-id/dist/index.mjs +15 -0
  53. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_d6285b8269ea5d6b59b300f5be279a0c/node_modules/@radix-ui/react-popper/dist/index.cjs +308 -0
  54. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_d6285b8269ea5d6b59b300f5be279a0c/node_modules/@radix-ui/react-popper/dist/index.mjs +284 -0
  55. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_478b3d5dd4afab1a3dcce7ed1748cb95/node_modules/@radix-ui/react-portal/dist/index.cjs +37 -0
  56. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_478b3d5dd4afab1a3dcce7ed1748cb95/node_modules/@radix-ui/react-portal/dist/index.mjs +18 -0
  57. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.2_@types_react@19.2.2__@types_rea_bdc15f10281778271ffcbe8dd3cd491e/node_modules/@radix-ui/react-primitive/dist/index.cjs +61 -0
  58. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.2_@types_react@19.2.2__@types_rea_bdc15f10281778271ffcbe8dd3cd491e/node_modules/@radix-ui/react-primitive/dist/index.mjs +43 -0
  59. package/dist/node_modules/.pnpm/@radix-ui_react-select@2.2.6_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_802c3d414c85063bee785fcc98a39c07/node_modules/@radix-ui/react-select/dist/index.cjs +1198 -0
  60. package/dist/node_modules/.pnpm/@radix-ui_react-select@2.2.6_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_802c3d414c85063bee785fcc98a39c07/node_modules/@radix-ui/react-select/dist/index.mjs +1154 -0
  61. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +28 -0
  62. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +12 -0
  63. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +86 -0
  64. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +70 -0
  65. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +34 -0
  66. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +18 -0
  67. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +23 -0
  68. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +7 -0
  69. package/dist/node_modules/.pnpm/@radix-ui_react-use-previous@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.cjs +31 -0
  70. package/dist/node_modules/.pnpm/@radix-ui_react-use-previous@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs +15 -0
  71. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-size/dist/index.cjs +56 -0
  72. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.2_react@19.2.0/node_modules/@radix-ui/react-use-size/dist/index.mjs +40 -0
  73. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.2_@types_react@19.2.2__@typ_a84e98a44624c31e835a98d4b8b0c30d/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +51 -0
  74. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.2_@types_react@19.2.2__@typ_a84e98a44624c31e835a98d4b8b0c30d/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +34 -0
  75. package/dist/node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.cjs +139 -0
  76. package/dist/node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.mjs +137 -0
  77. package/dist/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.cjs +39 -0
  78. package/dist/node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.mjs +37 -0
  79. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.cjs +43 -0
  80. package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.mjs +38 -0
  81. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.cjs +1671 -0
  82. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.mjs +1669 -0
  83. package/dist/node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.cjs +10 -0
  84. package/dist/node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.mjs +8 -0
  85. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +74 -0
  86. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll-bar/dist/es2015/component.mjs +56 -0
  87. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +15 -0
  88. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll-bar/dist/es2015/constants.mjs +10 -0
  89. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +34 -0
  90. package/dist/node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll-bar/dist/es2015/utils.mjs +31 -0
  91. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +25 -0
  92. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/Combination.mjs +9 -0
  93. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +178 -0
  94. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/SideEffect.mjs +160 -0
  95. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/UI.cjs +54 -0
  96. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/UI.mjs +38 -0
  97. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +23 -0
  98. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.mjs +21 -0
  99. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +113 -0
  100. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs +110 -0
  101. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/medium.cjs +7 -0
  102. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/medium.mjs +5 -0
  103. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +9 -0
  104. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/sidecar.mjs +7 -0
  105. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0/node_modules/react-style-singleton/dist/es2015/component.cjs +21 -0
  106. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0/node_modules/react-style-singleton/dist/es2015/component.mjs +19 -0
  107. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0/node_modules/react-style-singleton/dist/es2015/hook.cjs +41 -0
  108. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0/node_modules/react-style-singleton/dist/es2015/hook.mjs +25 -0
  109. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0/node_modules/react-style-singleton/dist/es2015/singleton.cjs +53 -0
  110. package/dist/node_modules/.pnpm/react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0/node_modules/react-style-singleton/dist/es2015/singleton.mjs +51 -0
  111. package/dist/node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.cjs +59 -0
  112. package/dist/node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs +56 -0
  113. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +26 -0
  114. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0/node_modules/use-callback-ref/dist/es2015/assignRef.mjs +24 -0
  115. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +64 -0
  116. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs +48 -0
  117. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0/node_modules/use-callback-ref/dist/es2015/useRef.cjs +44 -0
  118. package/dist/node_modules/.pnpm/use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0/node_modules/use-callback-ref/dist/es2015/useRef.mjs +42 -0
  119. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0/node_modules/use-sidecar/dist/es2015/exports.cjs +37 -0
  120. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0/node_modules/use-sidecar/dist/es2015/exports.mjs +21 -0
  121. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0/node_modules/use-sidecar/dist/es2015/medium.cjs +79 -0
  122. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0/node_modules/use-sidecar/dist/es2015/medium.mjs +77 -0
  123. package/dist/packages/better-stack/src/client/path-utils.cjs +15 -0
  124. package/dist/packages/better-stack/src/client/path-utils.mjs +13 -0
  125. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/image-field.cjs +3 -3
  126. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/image-field.mjs +3 -3
  127. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/post-forms.cjs +5 -5
  128. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/post-forms.mjs +5 -5
  129. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/tags-multiselect.cjs +2 -6
  130. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/tags-multiselect.mjs +1 -1
  131. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/form-page-skeleton.cjs +1 -1
  132. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/form-page-skeleton.mjs +1 -1
  133. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/list-page-skeleton.cjs +1 -1
  134. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/list-page-skeleton.mjs +1 -1
  135. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/page-header-skeleton.cjs +1 -1
  136. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/page-header-skeleton.mjs +1 -1
  137. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/post-card-skeleton.cjs +2 -2
  138. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/post-card-skeleton.mjs +2 -2
  139. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/post-page-skeleton.cjs +1 -1
  140. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/post-page-skeleton.mjs +1 -1
  141. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/post-page.internal.cjs +1 -1
  142. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/post-page.internal.mjs +1 -1
  143. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/better-blog-attribution.cjs +4 -4
  144. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/better-blog-attribution.mjs +4 -4
  145. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/empty-list.cjs +1 -1
  146. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/empty-list.mjs +1 -1
  147. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/on-this-page.cjs +1 -1
  148. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/on-this-page.mjs +1 -1
  149. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/post-card.cjs +2 -2
  150. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/post-card.mjs +2 -2
  151. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/post-navigation.cjs +1 -1
  152. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/post-navigation.mjs +1 -1
  153. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/posts-list.cjs +1 -1
  154. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/posts-list.mjs +1 -1
  155. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/recent-posts-carousel.cjs +1 -1
  156. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/recent-posts-carousel.mjs +1 -1
  157. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/search-modal.cjs +1 -1
  158. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/search-modal.mjs +1 -1
  159. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/tags-list.cjs +1 -1
  160. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/tags-list.mjs +1 -1
  161. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/hooks/blog-hooks.cjs +1 -1
  162. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/hooks/blog-hooks.mjs +1 -1
  163. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/plugin.cjs +1 -1
  164. package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/plugin.mjs +1 -1
  165. package/dist/packages/ui/src/components/badge.cjs +42 -0
  166. package/dist/packages/ui/src/components/badge.mjs +39 -0
  167. package/dist/packages/ui/src/components/button.cjs +54 -0
  168. package/dist/packages/ui/src/components/button.mjs +51 -0
  169. package/dist/packages/ui/src/components/card.cjs +67 -0
  170. package/dist/packages/ui/src/components/card.mjs +61 -0
  171. package/dist/packages/ui/src/components/carousel.cjs +215 -0
  172. package/dist/packages/ui/src/components/carousel.mjs +195 -0
  173. package/dist/packages/ui/src/components/command.cjs +142 -0
  174. package/dist/packages/ui/src/components/command.mjs +134 -0
  175. package/dist/packages/ui/src/components/dialog.cjs +127 -0
  176. package/dist/packages/ui/src/components/dialog.mjs +105 -0
  177. package/dist/packages/ui/src/components/empty.cjs +76 -0
  178. package/dist/packages/ui/src/components/empty.mjs +71 -0
  179. package/dist/packages/ui/src/components/form.cjs +133 -0
  180. package/dist/packages/ui/src/components/form.mjs +110 -0
  181. package/dist/packages/ui/src/components/input.cjs +23 -0
  182. package/dist/packages/ui/src/components/input.mjs +21 -0
  183. package/dist/packages/ui/src/components/label.cjs +39 -0
  184. package/dist/packages/ui/src/components/label.mjs +23 -0
  185. package/dist/packages/ui/src/components/multi-select.cjs +555 -0
  186. package/dist/packages/ui/src/components/multi-select.mjs +540 -0
  187. package/dist/packages/ui/src/components/select.cjs +140 -0
  188. package/dist/packages/ui/src/components/select.mjs +132 -0
  189. package/dist/packages/ui/src/components/skeleton.cjs +17 -0
  190. package/dist/packages/ui/src/components/skeleton.mjs +15 -0
  191. package/dist/packages/ui/src/components/switch.cjs +48 -0
  192. package/dist/packages/ui/src/components/switch.mjs +32 -0
  193. package/dist/packages/ui/src/components/textarea.cjs +20 -0
  194. package/dist/packages/ui/src/components/textarea.mjs +18 -0
  195. package/dist/packages/ui/src/hooks/use-debounce.cjs +18 -0
  196. package/dist/packages/ui/src/hooks/use-debounce.mjs +16 -0
  197. package/dist/packages/ui/src/lib/utils.cjs +10 -0
  198. package/dist/packages/ui/src/lib/utils.mjs +8 -0
  199. package/dist/plugins/api/index.cjs +0 -2
  200. package/dist/plugins/api/index.d.cts +0 -1
  201. package/dist/plugins/api/index.d.mts +0 -1
  202. package/dist/plugins/api/index.d.ts +0 -1
  203. package/dist/plugins/api/index.mjs +0 -1
  204. package/dist/plugins/blog/api/index.cjs +1 -1
  205. package/dist/plugins/blog/api/index.mjs +1 -1
  206. package/dist/plugins/blog/client/components/index.cjs +4 -4
  207. package/dist/plugins/blog/client/components/index.mjs +4 -4
  208. package/dist/plugins/blog/client/hooks/index.cjs +1 -1
  209. package/dist/plugins/blog/client/hooks/index.mjs +1 -1
  210. package/dist/plugins/blog/client/index.cjs +1 -1
  211. package/dist/plugins/blog/client/index.mjs +1 -1
  212. package/dist/plugins/client/index.cjs +1 -1
  213. package/dist/plugins/client/index.mjs +1 -1
  214. package/package.json +5 -5
  215. package/src/api/index.ts +2 -0
  216. package/src/client/index.ts +2 -0
  217. package/src/client/path-utils.ts +38 -0
  218. package/src/plugins/api/index.ts +0 -1
  219. package/src/plugins/blog/client/components/shared/better-blog-attribution.tsx +4 -4
  220. /package/dist/{client → packages/better-stack/src/client}/components/compose.cjs +0 -0
  221. /package/dist/{client → packages/better-stack/src/client}/components/compose.mjs +0 -0
  222. /package/dist/{client → packages/better-stack/src/client}/components/error-boundary.cjs +0 -0
  223. /package/dist/{client → packages/better-stack/src/client}/components/error-boundary.mjs +0 -0
  224. /package/dist/{client → packages/better-stack/src/client}/meta-utils.cjs +0 -0
  225. /package/dist/{client → packages/better-stack/src/client}/meta-utils.mjs +0 -0
  226. /package/dist/{client → packages/better-stack/src/client}/sitemap-utils.cjs +0 -0
  227. /package/dist/{client → packages/better-stack/src/client}/sitemap-utils.mjs +0 -0
  228. /package/dist/{context → packages/better-stack/src/context}/provider.cjs +0 -0
  229. /package/dist/{context → packages/better-stack/src/context}/provider.mjs +0 -0
  230. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/api/plugin.cjs +0 -0
  231. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/api/plugin.mjs +0 -0
  232. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/markdown-editor.cjs +0 -0
  233. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/forms/markdown-editor.mjs +0 -0
  234. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/index.cjs +0 -0
  235. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/loading/index.mjs +0 -0
  236. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/404-page.cjs +0 -0
  237. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/404-page.mjs +0 -0
  238. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/edit-post-page.cjs +0 -0
  239. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/edit-post-page.internal.cjs +0 -0
  240. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/edit-post-page.internal.mjs +0 -0
  241. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/edit-post-page.mjs +0 -0
  242. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/home-page.cjs +0 -0
  243. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/home-page.internal.cjs +0 -0
  244. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/home-page.internal.mjs +0 -0
  245. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/home-page.mjs +0 -0
  246. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/new-post-page.cjs +0 -0
  247. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/new-post-page.internal.cjs +0 -0
  248. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/new-post-page.internal.mjs +0 -0
  249. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/new-post-page.mjs +0 -0
  250. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/post-page.cjs +0 -0
  251. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/post-page.mjs +0 -0
  252. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/tag-page.cjs +0 -0
  253. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/tag-page.internal.cjs +0 -0
  254. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/tag-page.internal.mjs +0 -0
  255. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/pages/tag-page.mjs +0 -0
  256. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/default-error.cjs +0 -0
  257. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/default-error.mjs +0 -0
  258. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/defaults.cjs +0 -0
  259. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/defaults.mjs +0 -0
  260. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/error-placeholder.cjs +0 -0
  261. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/error-placeholder.mjs +0 -0
  262. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/highlight-text.cjs +0 -0
  263. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/highlight-text.mjs +0 -0
  264. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/markdown-content.cjs +0 -0
  265. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/markdown-content.mjs +0 -0
  266. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/page-header.cjs +0 -0
  267. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/page-header.mjs +0 -0
  268. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/page-layout.cjs +0 -0
  269. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/page-layout.mjs +0 -0
  270. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/page-wrapper.cjs +0 -0
  271. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/page-wrapper.mjs +0 -0
  272. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/search-input.cjs +0 -0
  273. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/search-input.mjs +0 -0
  274. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/use-route-lifecycle.cjs +0 -0
  275. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/components/shared/use-route-lifecycle.mjs +0 -0
  276. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/hooks/use-debounce.cjs +0 -0
  277. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/hooks/use-debounce.mjs +0 -0
  278. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-card.cjs +0 -0
  279. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-card.mjs +0 -0
  280. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-common.cjs +0 -0
  281. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-common.mjs +0 -0
  282. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-forms.cjs +0 -0
  283. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-forms.mjs +0 -0
  284. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-list.cjs +0 -0
  285. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-list.mjs +0 -0
  286. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-post.cjs +0 -0
  287. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/blog-post.mjs +0 -0
  288. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/index.cjs +0 -0
  289. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/client/localization/index.mjs +0 -0
  290. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/db.cjs +0 -0
  291. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/db.mjs +0 -0
  292. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/schemas.cjs +0 -0
  293. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/schemas.mjs +0 -0
  294. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/utils.cjs +0 -0
  295. /package/dist/{plugins → packages/better-stack/src/plugins}/blog/utils.mjs +0 -0
  296. /package/dist/{plugins → packages/better-stack/src/plugins}/utils.cjs +0 -0
  297. /package/dist/{plugins → packages/better-stack/src/plugins}/utils.mjs +0 -0
@@ -0,0 +1,132 @@
1
+ "use client";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { Root as Root2, Trigger, Icon, Value, Portal, Content as Content2, Viewport, Item, ItemIndicator, ItemText, ScrollUpButton, ScrollDownButton } from '../../../../node_modules/.pnpm/@radix-ui_react-select@2.2.6_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_802c3d414c85063bee785fcc98a39c07/node_modules/@radix-ui/react-select/dist/index.mjs';
4
+ import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from 'lucide-react';
5
+ import { cn } from '../lib/utils.mjs';
6
+
7
+ function Select({
8
+ ...props
9
+ }) {
10
+ return /* @__PURE__ */ jsx(Root2, { "data-slot": "select", ...props });
11
+ }
12
+ function SelectValue({
13
+ ...props
14
+ }) {
15
+ return /* @__PURE__ */ jsx(Value, { "data-slot": "select-value", ...props });
16
+ }
17
+ function SelectTrigger({
18
+ className,
19
+ size = "default",
20
+ children,
21
+ ...props
22
+ }) {
23
+ return /* @__PURE__ */ jsxs(
24
+ Trigger,
25
+ {
26
+ "data-slot": "select-trigger",
27
+ "data-size": size,
28
+ className: cn(
29
+ "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
30
+ className
31
+ ),
32
+ ...props,
33
+ children: [
34
+ children,
35
+ /* @__PURE__ */ jsx(Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })
36
+ ]
37
+ }
38
+ );
39
+ }
40
+ function SelectContent({
41
+ className,
42
+ children,
43
+ position = "popper",
44
+ align = "center",
45
+ ...props
46
+ }) {
47
+ return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsxs(
48
+ Content2,
49
+ {
50
+ "data-slot": "select-content",
51
+ className: cn(
52
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
53
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
54
+ className
55
+ ),
56
+ position,
57
+ align,
58
+ ...props,
59
+ children: [
60
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
61
+ /* @__PURE__ */ jsx(
62
+ Viewport,
63
+ {
64
+ className: cn(
65
+ "p-1",
66
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
67
+ ),
68
+ children
69
+ }
70
+ ),
71
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
72
+ ]
73
+ }
74
+ ) });
75
+ }
76
+ function SelectItem({
77
+ className,
78
+ children,
79
+ ...props
80
+ }) {
81
+ return /* @__PURE__ */ jsxs(
82
+ Item,
83
+ {
84
+ "data-slot": "select-item",
85
+ className: cn(
86
+ "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
87
+ className
88
+ ),
89
+ ...props,
90
+ children: [
91
+ /* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
92
+ /* @__PURE__ */ jsx(ItemText, { children })
93
+ ]
94
+ }
95
+ );
96
+ }
97
+ function SelectScrollUpButton({
98
+ className,
99
+ ...props
100
+ }) {
101
+ return /* @__PURE__ */ jsx(
102
+ ScrollUpButton,
103
+ {
104
+ "data-slot": "select-scroll-up-button",
105
+ className: cn(
106
+ "flex cursor-default items-center justify-center py-1",
107
+ className
108
+ ),
109
+ ...props,
110
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
111
+ }
112
+ );
113
+ }
114
+ function SelectScrollDownButton({
115
+ className,
116
+ ...props
117
+ }) {
118
+ return /* @__PURE__ */ jsx(
119
+ ScrollDownButton,
120
+ {
121
+ "data-slot": "select-scroll-down-button",
122
+ className: cn(
123
+ "flex cursor-default items-center justify-center py-1",
124
+ className
125
+ ),
126
+ ...props,
127
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
128
+ }
129
+ );
130
+ }
131
+
132
+ export { Select, SelectContent, SelectItem, SelectScrollDownButton, SelectScrollUpButton, SelectTrigger, SelectValue };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const utils = require('../lib/utils.cjs');
5
+
6
+ function Skeleton({ className, ...props }) {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(
8
+ "div",
9
+ {
10
+ "data-slot": "skeleton",
11
+ className: utils.cn("bg-accent animate-pulse rounded-md", className),
12
+ ...props
13
+ }
14
+ );
15
+ }
16
+
17
+ exports.Skeleton = Skeleton;
@@ -0,0 +1,15 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { cn } from '../lib/utils.mjs';
3
+
4
+ function Skeleton({ className, ...props }) {
5
+ return /* @__PURE__ */ jsx(
6
+ "div",
7
+ {
8
+ "data-slot": "skeleton",
9
+ className: cn("bg-accent animate-pulse rounded-md", className),
10
+ ...props
11
+ }
12
+ );
13
+ }
14
+
15
+ export { Skeleton };
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ const jsxRuntime = require('react/jsx-runtime');
5
+ const SwitchPrimitive = require('@radix-ui/react-switch');
6
+ const utils = require('../lib/utils.cjs');
7
+
8
+ function _interopNamespaceCompat(e) {
9
+ if (e && typeof e === 'object' && 'default' in e) return e;
10
+ const n = Object.create(null);
11
+ if (e) {
12
+ for (const k in e) {
13
+ n[k] = e[k];
14
+ }
15
+ }
16
+ n.default = e;
17
+ return n;
18
+ }
19
+
20
+ const SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespaceCompat(SwitchPrimitive);
21
+
22
+ function Switch({
23
+ className,
24
+ ...props
25
+ }) {
26
+ return /* @__PURE__ */ jsxRuntime.jsx(
27
+ SwitchPrimitive__namespace.Root,
28
+ {
29
+ "data-slot": "switch",
30
+ className: utils.cn(
31
+ "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
32
+ className
33
+ ),
34
+ ...props,
35
+ children: /* @__PURE__ */ jsxRuntime.jsx(
36
+ SwitchPrimitive__namespace.Thumb,
37
+ {
38
+ "data-slot": "switch-thumb",
39
+ className: utils.cn(
40
+ "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
41
+ )
42
+ }
43
+ )
44
+ }
45
+ );
46
+ }
47
+
48
+ exports.Switch = Switch;
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
4
+ import { cn } from '../lib/utils.mjs';
5
+
6
+ function Switch({
7
+ className,
8
+ ...props
9
+ }) {
10
+ return /* @__PURE__ */ jsx(
11
+ SwitchPrimitive.Root,
12
+ {
13
+ "data-slot": "switch",
14
+ className: cn(
15
+ "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
16
+ className
17
+ ),
18
+ ...props,
19
+ children: /* @__PURE__ */ jsx(
20
+ SwitchPrimitive.Thumb,
21
+ {
22
+ "data-slot": "switch-thumb",
23
+ className: cn(
24
+ "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
25
+ )
26
+ }
27
+ )
28
+ }
29
+ );
30
+ }
31
+
32
+ export { Switch };
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const utils = require('../lib/utils.cjs');
5
+
6
+ function Textarea({ className, ...props }) {
7
+ return /* @__PURE__ */ jsxRuntime.jsx(
8
+ "textarea",
9
+ {
10
+ "data-slot": "textarea",
11
+ className: utils.cn(
12
+ "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
13
+ className
14
+ ),
15
+ ...props
16
+ }
17
+ );
18
+ }
19
+
20
+ exports.Textarea = Textarea;
@@ -0,0 +1,18 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { cn } from '../lib/utils.mjs';
3
+
4
+ function Textarea({ className, ...props }) {
5
+ return /* @__PURE__ */ jsx(
6
+ "textarea",
7
+ {
8
+ "data-slot": "textarea",
9
+ className: cn(
10
+ "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
11
+ className
12
+ ),
13
+ ...props
14
+ }
15
+ );
16
+ }
17
+
18
+ export { Textarea };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ require('clsx');
4
+ require('tailwind-merge');
5
+ const React = require('react');
6
+
7
+ function useDebounce(value, delay) {
8
+ const [debouncedValue, setDebouncedValue] = React.useState(value);
9
+ React.useEffect(() => {
10
+ const timer = setTimeout(() => setDebouncedValue(value), delay);
11
+ return () => {
12
+ clearTimeout(timer);
13
+ };
14
+ }, [value, delay]);
15
+ return debouncedValue;
16
+ }
17
+
18
+ exports.useDebounce = useDebounce;
@@ -0,0 +1,16 @@
1
+ import 'clsx';
2
+ import 'tailwind-merge';
3
+ import { useState, useEffect } from 'react';
4
+
5
+ function useDebounce(value, delay) {
6
+ const [debouncedValue, setDebouncedValue] = useState(value);
7
+ useEffect(() => {
8
+ const timer = setTimeout(() => setDebouncedValue(value), delay);
9
+ return () => {
10
+ clearTimeout(timer);
11
+ };
12
+ }, [value, delay]);
13
+ return debouncedValue;
14
+ }
15
+
16
+ export { useDebounce };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const clsx = require('clsx');
4
+ const tailwindMerge = require('tailwind-merge');
5
+
6
+ function cn(...inputs) {
7
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
8
+ }
9
+
10
+ exports.cn = cn;
@@ -0,0 +1,8 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ function cn(...inputs) {
5
+ return twMerge(clsx(inputs));
6
+ }
7
+
8
+ export { cn };
@@ -2,7 +2,6 @@
2
2
 
3
3
  const betterCall = require('better-call');
4
4
  const db = require('@btst/db');
5
- const node = require('better-call/node');
6
5
 
7
6
  function defineBackendPlugin(plugin) {
8
7
  return plugin;
@@ -11,5 +10,4 @@ function defineBackendPlugin(plugin) {
11
10
  exports.createEndpoint = betterCall.createEndpoint;
12
11
  exports.createRouter = betterCall.createRouter;
13
12
  exports.createDbPlugin = db.createDbPlugin;
14
- exports.toNodeHandler = node.toNodeHandler;
15
13
  exports.defineBackendPlugin = defineBackendPlugin;
@@ -3,7 +3,6 @@ export { C as ClientPlugin } from '../../shared/stack.ByOugz9d.cjs';
3
3
  import { Endpoint } from 'better-call';
4
4
  export { Endpoint, Router, createEndpoint, createRouter } from 'better-call';
5
5
  export { Adapter, DatabaseDefinition, DbPlugin, createDbPlugin } from '@btst/db';
6
- export { toNodeHandler } from 'better-call/node';
7
6
  import '@btst/yar';
8
7
 
9
8
  /**
@@ -3,7 +3,6 @@ export { C as ClientPlugin } from '../../shared/stack.ByOugz9d.mjs';
3
3
  import { Endpoint } from 'better-call';
4
4
  export { Endpoint, Router, createEndpoint, createRouter } from 'better-call';
5
5
  export { Adapter, DatabaseDefinition, DbPlugin, createDbPlugin } from '@btst/db';
6
- export { toNodeHandler } from 'better-call/node';
7
6
  import '@btst/yar';
8
7
 
9
8
  /**
@@ -3,7 +3,6 @@ export { C as ClientPlugin } from '../../shared/stack.ByOugz9d.js';
3
3
  import { Endpoint } from 'better-call';
4
4
  export { Endpoint, Router, createEndpoint, createRouter } from 'better-call';
5
5
  export { Adapter, DatabaseDefinition, DbPlugin, createDbPlugin } from '@btst/db';
6
- export { toNodeHandler } from 'better-call/node';
7
6
  import '@btst/yar';
8
7
 
9
8
  /**
@@ -1,6 +1,5 @@
1
1
  export { createEndpoint, createRouter } from 'better-call';
2
2
  export { createDbPlugin } from '@btst/db';
3
- export { toNodeHandler } from 'better-call/node';
4
3
 
5
4
  function defineBackendPlugin(plugin) {
6
5
  return plugin;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const plugin = require('./plugin.cjs');
3
+ const plugin = require('../../../packages/better-stack/src/plugins/blog/api/plugin.cjs');
4
4
  const plugins_blog_queryKeys = require('../query-keys.cjs');
5
5
 
6
6
 
@@ -1,2 +1,2 @@
1
- export { NextPreviousPostsQuerySchema, PostListQuerySchema, blogBackendPlugin } from './plugin.mjs';
1
+ export { NextPreviousPostsQuerySchema, PostListQuerySchema, blogBackendPlugin } from '../../../packages/better-stack/src/plugins/blog/api/plugin.mjs';
2
2
  export { createBlogQueryKeys } from '../query-keys.mjs';
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- const homePage = require('./pages/home-page.cjs');
5
- const newPostPage = require('./pages/new-post-page.cjs');
6
- const postPage = require('./pages/post-page.cjs');
7
- const editPostPage = require('./pages/edit-post-page.cjs');
4
+ const homePage = require('../../../../packages/better-stack/src/plugins/blog/client/components/pages/home-page.cjs');
5
+ const newPostPage = require('../../../../packages/better-stack/src/plugins/blog/client/components/pages/new-post-page.cjs');
6
+ const postPage = require('../../../../packages/better-stack/src/plugins/blog/client/components/pages/post-page.cjs');
7
+ const editPostPage = require('../../../../packages/better-stack/src/plugins/blog/client/components/pages/edit-post-page.cjs');
8
8
 
9
9
  const PostListPage = homePage.HomePageComponent;
10
10
  const NewPostPage = newPostPage.NewPostPageComponent;
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { HomePageComponent } from './pages/home-page.mjs';
3
- import { NewPostPageComponent } from './pages/new-post-page.mjs';
4
- import { PostPageComponent } from './pages/post-page.mjs';
5
- import { EditPostPageComponent } from './pages/edit-post-page.mjs';
2
+ import { HomePageComponent } from '../../../../packages/better-stack/src/plugins/blog/client/components/pages/home-page.mjs';
3
+ import { NewPostPageComponent } from '../../../../packages/better-stack/src/plugins/blog/client/components/pages/new-post-page.mjs';
4
+ import { PostPageComponent } from '../../../../packages/better-stack/src/plugins/blog/client/components/pages/post-page.mjs';
5
+ import { EditPostPageComponent } from '../../../../packages/better-stack/src/plugins/blog/client/components/pages/edit-post-page.mjs';
6
6
 
7
7
  const PostListPage = HomePageComponent;
8
8
  const NewPostPage = NewPostPageComponent;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const blogHooks = require('./blog-hooks.cjs');
3
+ const blogHooks = require('../../../../packages/better-stack/src/plugins/blog/client/hooks/blog-hooks.cjs');
4
4
 
5
5
 
6
6
 
@@ -1 +1 @@
1
- export { useCreatePost, useNextPreviousPosts, usePost, usePostSearch, usePosts, useRecentPosts, useSuspensePost, useSuspensePosts, useSuspenseTags, useTags, useUpdatePost } from './blog-hooks.mjs';
1
+ export { useCreatePost, useNextPreviousPosts, usePost, usePostSearch, usePosts, useRecentPosts, useSuspensePost, useSuspensePosts, useSuspenseTags, useTags, useUpdatePost } from '../../../../packages/better-stack/src/plugins/blog/client/hooks/blog-hooks.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const plugin = require('./plugin.cjs');
3
+ const plugin = require('../../../packages/better-stack/src/plugins/blog/client/plugin.cjs');
4
4
 
5
5
 
6
6
 
@@ -1 +1 @@
1
- export { blogClientPlugin } from './plugin.mjs';
1
+ export { blogClientPlugin } from '../../../packages/better-stack/src/plugins/blog/client/plugin.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const utils = require('../utils.cjs');
3
+ const utils = require('../../packages/better-stack/src/plugins/utils.cjs');
4
4
  const yar = require('@btst/yar');
5
5
  const client = require('better-call/client');
6
6
 
@@ -1,4 +1,4 @@
1
- export { createApiClient } from '../utils.mjs';
1
+ export { createApiClient } from '../../packages/better-stack/src/plugins/utils.mjs';
2
2
  export { createRoute, createRouter } from '@btst/yar';
3
3
  export { createClient } from 'better-call/client';
4
4
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@btst/stack",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "A composable, plugin-based library for building full-stack applications.",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/olliethedev/better-stack.git"
7
+ "url": "git+https://github.com/better-stack-ai/better-stack.git"
8
8
  },
9
9
  "keywords": [
10
10
  "fullstack",
@@ -14,9 +14,9 @@
14
14
  "author": "olliethedev",
15
15
  "license": "MIT",
16
16
  "bugs": {
17
- "url": "https://github.com/olliethedev/better-stack/issues"
17
+ "url": "https://github.com/better-stack-ai/better-stack/issues"
18
18
  },
19
- "homepage": "https://github.com/olliethedev/better-stack#readme",
19
+ "homepage": "https://github.com/better-stack-ai/better-stack#readme",
20
20
  "publishConfig": {
21
21
  "access": "public"
22
22
  },
@@ -162,7 +162,6 @@
162
162
  "@lukemorales/query-key-factory": "^1.3.4",
163
163
  "@milkdown/crepe": "^7.17.1",
164
164
  "@milkdown/kit": "^7.17.1",
165
- "@workspace/ui": "workspace:*",
166
165
  "better-call": "1.0.19",
167
166
  "slug": "^11.0.1"
168
167
  },
@@ -200,6 +199,7 @@
200
199
  "@btst/adapter-memory": "1.0.2",
201
200
  "@types/react": "^19.0.0",
202
201
  "@types/slug": "^5.0.9",
202
+ "@workspace/ui": "workspace:*",
203
203
  "react": "^19.1.1",
204
204
  "react-dom": "^19.1.1",
205
205
  "react-error-boundary": "^4.1.2",
package/src/api/index.ts CHANGED
@@ -6,6 +6,8 @@ import type {
6
6
  } from "../types";
7
7
  import { defineDb } from "@btst/db";
8
8
 
9
+ export { toNodeHandler } from "better-call/node";
10
+
9
11
  /**
10
12
  * Creates the backend library with plugin support
11
13
  *
@@ -105,3 +105,5 @@ export type { ClientLib, ClientLibConfig };
105
105
  export { sitemapEntryToXmlString } from "./sitemap-utils";
106
106
 
107
107
  export { metaElementsToObject } from "./meta-utils";
108
+
109
+ export { normalizePath } from "./path-utils";
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Normalizes path segments from framework route params into a consistent path string.
3
+ *
4
+ * Handles different framework param formats:
5
+ * - Next.js: `pathParams.all` (string[])
6
+ * - React Router: `params["*"]` (string)
7
+ * - TanStack Router: `params._splat` (string)
8
+ *
9
+ * @param path - Path segments as string, string array, or undefined
10
+ * @returns Normalized path string starting with "/" (or "/" for empty/undefined)
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * // Next.js
15
+ * normalizePath(pathParams?.all) // ["blog", "post"] => "/blog/post"
16
+ *
17
+ * // React Router / TanStack Router
18
+ * normalizePath(params["*"]) // "blog/post" => "/blog/post"
19
+ * normalizePath(undefined) // => "/"
20
+ * ```
21
+ */
22
+ export function normalizePath(
23
+ path?: string | Array<string> | undefined,
24
+ ): string {
25
+ if (!path) {
26
+ return "/";
27
+ }
28
+
29
+ if (Array.isArray(path)) {
30
+ // Handle Next.js format: pathParams.all (string[])
31
+ const segments = path.filter(Boolean);
32
+ return segments.length > 0 ? `/${segments.join("/")}` : "/";
33
+ }
34
+
35
+ // Handle React Router / TanStack Router format: params["*"] or params._splat (string)
36
+ const segments = path.split("/").filter(Boolean);
37
+ return segments.length > 0 ? `/${segments.join("/")}` : "/";
38
+ }
@@ -24,7 +24,6 @@ export type { Adapter, DatabaseDefinition, DbPlugin } from "@btst/db";
24
24
  export type { Endpoint, Router } from "better-call";
25
25
  export { createEndpoint, createRouter } from "better-call";
26
26
  export { createDbPlugin } from "@btst/db";
27
- export { toNodeHandler } from "better-call/node";
28
27
 
29
28
  /**
30
29
  * Helper to define a backend plugin with full type inference
@@ -5,13 +5,13 @@ export function BetterBlogAttribution() {
5
5
  Powered by{" "}
6
6
  <a
7
7
  className="flex items-center gap-1 font-semibold underline"
8
- href="https://www.btst.ai/"
8
+ href="https://www.better-stack.ai"
9
9
  target="_blank"
10
10
  rel="noreferrer noopener"
11
- aria-label="Better Blogopen-source React blog framework"
12
- title="Better Blogopen-source React blog framework"
11
+ aria-label="Better StackComposable full-stack plugin system for React frameworks"
12
+ title="Better StackComposable full-stack plugin system for React frameworks"
13
13
  >
14
- <span className="cursor-pointer">BTST</span>
14
+ <span className="cursor-pointer">Better-Stack</span>
15
15
  </a>
16
16
  </p>
17
17
  </div>