@carlonicora/nextjs-jsonapi 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/dist/{ApiResponseInterface-B4QdWh-y.d.mts → ApiResponseInterface-BvWIeLkq.d.ts} +2 -1
  2. package/dist/{ApiResponseInterface-QLDnxLA9.d.ts → ApiResponseInterface-CAbw0sv7.d.mts} +2 -1
  3. package/dist/{BlockNoteEditor-436ZHDY3.mjs → BlockNoteEditor-HFX7Z5BQ.mjs} +5 -5
  4. package/dist/{BlockNoteEditor-WCK43JHX.js → BlockNoteEditor-MBFDWP7X.js} +15 -15
  5. package/dist/{BlockNoteEditor-WCK43JHX.js.map → BlockNoteEditor-MBFDWP7X.js.map} +1 -1
  6. package/dist/JsonApiRequest-45CLE65I.js +24 -0
  7. package/dist/{JsonApiRequest-FXZCYIER.js.map → JsonApiRequest-45CLE65I.js.map} +1 -1
  8. package/dist/{JsonApiRequest-HFWXMKMA.mjs → JsonApiRequest-6IPS3DZJ.mjs} +2 -2
  9. package/dist/{chunk-R6K76UTR.js → chunk-2AZLCF6D.js} +1687 -183
  10. package/dist/chunk-2AZLCF6D.js.map +1 -0
  11. package/dist/{chunk-2FCG3K64.mjs → chunk-5RAUCUAA.mjs} +3722 -396
  12. package/dist/chunk-5RAUCUAA.mjs.map +1 -0
  13. package/dist/{chunk-TGBXBUWM.mjs → chunk-BCKYJQ3K.mjs} +8 -1
  14. package/dist/chunk-BCKYJQ3K.mjs.map +1 -0
  15. package/dist/{chunk-A333VMBO.mjs → chunk-BCQSE3EU.mjs} +1654 -150
  16. package/dist/chunk-BCQSE3EU.mjs.map +1 -0
  17. package/dist/{chunk-FPZPD4JI.js → chunk-GPGJNTHP.js} +17 -10
  18. package/dist/chunk-GPGJNTHP.js.map +1 -0
  19. package/dist/{chunk-45QMJETP.js → chunk-ONB2DAIV.js} +4090 -764
  20. package/dist/chunk-ONB2DAIV.js.map +1 -0
  21. package/dist/{chunk-SJIVGCNM.mjs → chunk-POKIJ56Q.mjs} +7 -2
  22. package/dist/chunk-POKIJ56Q.mjs.map +1 -0
  23. package/dist/{chunk-6YD42BP6.js → chunk-R5QSSISB.js} +14 -9
  24. package/dist/chunk-R5QSSISB.js.map +1 -0
  25. package/dist/client/index.d.mts +5 -5
  26. package/dist/client/index.d.ts +5 -5
  27. package/dist/client/index.js +7 -5
  28. package/dist/client/index.js.map +1 -1
  29. package/dist/client/index.mjs +6 -4
  30. package/dist/components/index.d.mts +253 -9
  31. package/dist/components/index.d.ts +253 -9
  32. package/dist/components/index.js +83 -5
  33. package/dist/components/index.js.map +1 -1
  34. package/dist/components/index.mjs +82 -4
  35. package/dist/{config-eceYM5kN.d.ts → config-CWsTwnsK.d.mts} +7 -2
  36. package/dist/{config-C5tGGrYf.d.mts → config-DEaUbBqR.d.ts} +7 -2
  37. package/dist/{content.interface-TB2MfJGs.d.ts → content.interface-D_4b4RQt.d.ts} +1 -1
  38. package/dist/{content.interface-CxBBC7ec.d.mts → content.interface-Dk4UZcJM.d.mts} +1 -1
  39. package/dist/contexts/index.d.mts +2 -2
  40. package/dist/contexts/index.d.ts +2 -2
  41. package/dist/contexts/index.js +5 -5
  42. package/dist/contexts/index.mjs +4 -4
  43. package/dist/core/index.d.mts +528 -22
  44. package/dist/core/index.d.ts +528 -22
  45. package/dist/core/index.js +53 -3
  46. package/dist/core/index.js.map +1 -1
  47. package/dist/core/index.mjs +52 -2
  48. package/dist/index.d.mts +7 -7
  49. package/dist/index.d.ts +7 -7
  50. package/dist/index.js +56 -4
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.mjs +55 -3
  53. package/dist/{notification.interface-lG6UpTpt.d.mts → notification.interface-BllkURRm.d.mts} +1 -2
  54. package/dist/{notification.interface-lG6UpTpt.d.ts → notification.interface-BllkURRm.d.ts} +1 -2
  55. package/dist/{s3.service-DP_hsssD.d.mts → s3.service-BEfGqho0.d.ts} +20 -2
  56. package/dist/{s3.service-Dq-PTUNa.d.ts → s3.service-DIQRYe93.d.mts} +20 -2
  57. package/dist/scripts/generate-web-module/generator.d.ts.map +1 -1
  58. package/dist/scripts/generate-web-module/generator.js +66 -0
  59. package/dist/scripts/generate-web-module/generator.js.map +1 -1
  60. package/dist/scripts/generate-web-module/templates/data/interface.template.js +8 -1
  61. package/dist/scripts/generate-web-module/templates/data/interface.template.js.map +1 -1
  62. package/dist/scripts/generate-web-module/templates/data/model.template.js +26 -3
  63. package/dist/scripts/generate-web-module/templates/data/model.template.js.map +1 -1
  64. package/dist/scripts/generate-web-module/templates/index.d.ts +8 -0
  65. package/dist/scripts/generate-web-module/templates/index.d.ts.map +1 -1
  66. package/dist/scripts/generate-web-module/templates/index.js +18 -1
  67. package/dist/scripts/generate-web-module/templates/index.js.map +1 -1
  68. package/dist/scripts/generate-web-module/templates/project/bootstrapper.template.d.ts +7 -0
  69. package/dist/scripts/generate-web-module/templates/project/bootstrapper.template.d.ts.map +1 -0
  70. package/dist/scripts/generate-web-module/templates/project/bootstrapper.template.js +141 -0
  71. package/dist/scripts/generate-web-module/templates/project/bootstrapper.template.js.map +1 -0
  72. package/dist/scripts/generate-web-module/templates/project/env.template.d.ts +7 -0
  73. package/dist/scripts/generate-web-module/templates/project/env.template.d.ts.map +1 -0
  74. package/dist/scripts/generate-web-module/templates/project/env.template.js +110 -0
  75. package/dist/scripts/generate-web-module/templates/project/env.template.js.map +1 -0
  76. package/dist/scripts/generate-web-module/templates/project/main-layout.template.d.ts +7 -0
  77. package/dist/scripts/generate-web-module/templates/project/main-layout.template.d.ts.map +1 -0
  78. package/dist/scripts/generate-web-module/templates/project/main-layout.template.js +101 -0
  79. package/dist/scripts/generate-web-module/templates/project/main-layout.template.js.map +1 -0
  80. package/dist/scripts/generate-web-module/templates/project/middleware-env.template.d.ts +7 -0
  81. package/dist/scripts/generate-web-module/templates/project/middleware-env.template.d.ts.map +1 -0
  82. package/dist/scripts/generate-web-module/templates/project/middleware-env.template.js +66 -0
  83. package/dist/scripts/generate-web-module/templates/project/middleware-env.template.js.map +1 -0
  84. package/dist/scripts/generate-web-module/templates/project/settings-container.template.d.ts +7 -0
  85. package/dist/scripts/generate-web-module/templates/project/settings-container.template.d.ts.map +1 -0
  86. package/dist/scripts/generate-web-module/templates/project/settings-container.template.js +257 -0
  87. package/dist/scripts/generate-web-module/templates/project/settings-container.template.js.map +1 -0
  88. package/dist/scripts/generate-web-module/templates/project/settings-context.template.d.ts +7 -0
  89. package/dist/scripts/generate-web-module/templates/project/settings-context.template.d.ts.map +1 -0
  90. package/dist/scripts/generate-web-module/templates/project/settings-context.template.js +124 -0
  91. package/dist/scripts/generate-web-module/templates/project/settings-context.template.js.map +1 -0
  92. package/dist/scripts/generate-web-module/templates/project/settings-module-page.template.d.ts +7 -0
  93. package/dist/scripts/generate-web-module/templates/project/settings-module-page.template.d.ts.map +1 -0
  94. package/dist/scripts/generate-web-module/templates/project/settings-module-page.template.js +78 -0
  95. package/dist/scripts/generate-web-module/templates/project/settings-module-page.template.js.map +1 -0
  96. package/dist/scripts/generate-web-module/templates/project/settings-page.template.d.ts +7 -0
  97. package/dist/scripts/generate-web-module/templates/project/settings-page.template.d.ts.map +1 -0
  98. package/dist/scripts/generate-web-module/templates/project/settings-page.template.js +75 -0
  99. package/dist/scripts/generate-web-module/templates/project/settings-page.template.js.map +1 -0
  100. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts +1 -1
  101. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts.map +1 -1
  102. package/dist/server/index.d.mts +4 -4
  103. package/dist/server/index.d.ts +4 -4
  104. package/dist/server/index.js +12 -12
  105. package/dist/server/index.mjs +2 -2
  106. package/dist/stripe-subscription.interface-C63L6hVg.d.mts +226 -0
  107. package/dist/stripe-subscription.interface-CUvNDvw5.d.ts +226 -0
  108. package/dist/{useSocket-Bua6MwLi.d.mts → useSocket-BpenBR2z.d.mts} +1 -1
  109. package/dist/{useSocket-D5dhUp4m.d.ts → useSocket-D-QYA0Sr.d.ts} +1 -1
  110. package/package.json +9 -1
  111. package/scripts/generate-web-module/generator.ts +83 -0
  112. package/scripts/generate-web-module/templates/data/interface.template.ts +7 -1
  113. package/scripts/generate-web-module/templates/data/model.template.ts +28 -5
  114. package/scripts/generate-web-module/templates/index.ts +10 -0
  115. package/scripts/generate-web-module/templates/project/bootstrapper.template.ts +108 -0
  116. package/scripts/generate-web-module/templates/project/env.template.ts +77 -0
  117. package/scripts/generate-web-module/templates/project/main-layout.template.tsx +68 -0
  118. package/scripts/generate-web-module/templates/project/middleware-env.template.ts +33 -0
  119. package/scripts/generate-web-module/templates/project/settings-container.template.tsx +224 -0
  120. package/scripts/generate-web-module/templates/project/settings-context.template.tsx +91 -0
  121. package/scripts/generate-web-module/templates/project/settings-module-page.template.tsx +45 -0
  122. package/scripts/generate-web-module/templates/project/settings-page.template.tsx +42 -0
  123. package/scripts/generate-web-module/types/template-data.interface.ts +1 -1
  124. package/src/client/config.ts +9 -0
  125. package/src/components/index.ts +7 -0
  126. package/src/core/abstracts/AbstractApiData.ts +79 -16
  127. package/src/core/abstracts/AbstractService.ts +104 -0
  128. package/src/core/endpoint/EndpointCreator.ts +7 -4
  129. package/src/core/index.ts +12 -4
  130. package/src/core/interfaces/ApiResponseInterface.ts +1 -0
  131. package/src/core/registry/ModuleRegistry.ts +11 -2
  132. package/src/core/utils/translateResponse.ts +17 -0
  133. package/src/features/billing/components/cards/BillingUsageSummaryCard.tsx +97 -0
  134. package/src/features/billing/components/cards/CustomerInfoCard.tsx +112 -0
  135. package/src/features/billing/components/cards/InvoicesSummaryCard.tsx +114 -0
  136. package/src/features/billing/components/cards/PaymentMethodSummaryCard.tsx +119 -0
  137. package/src/features/billing/components/cards/SubscriptionSummaryCard.tsx +146 -0
  138. package/src/features/billing/components/cards/index.ts +5 -0
  139. package/src/features/billing/components/containers/BillingDashboardContainer.tsx +427 -0
  140. package/src/features/billing/components/containers/index.ts +1 -0
  141. package/src/features/billing/components/index.ts +6 -0
  142. package/src/features/billing/components/modals/BillingDetailModal.tsx +36 -0
  143. package/src/features/billing/components/modals/index.ts +1 -0
  144. package/src/features/billing/components/providers/StripeProvider.tsx +48 -0
  145. package/src/features/billing/components/providers/index.ts +1 -0
  146. package/src/features/billing/components/utils/currency.ts +49 -0
  147. package/src/features/billing/components/utils/date.ts +21 -0
  148. package/src/features/billing/components/utils/index.ts +2 -0
  149. package/src/features/billing/components/widgets/BillingAlertBanner.tsx +63 -0
  150. package/src/features/billing/components/widgets/index.ts +1 -0
  151. package/src/features/billing/data/Billing.ts +17 -0
  152. package/src/features/billing/data/billing.service.ts +58 -0
  153. package/src/features/billing/data/index.ts +5 -0
  154. package/src/features/billing/index.ts +3 -0
  155. package/src/features/billing/modules/billing.module.ts +9 -0
  156. package/src/features/billing/modules/index.ts +1 -0
  157. package/src/features/billing/stripe-customer/components/containers/PaymentMethodsContainer.tsx +79 -0
  158. package/src/features/billing/stripe-customer/components/containers/index.ts +1 -0
  159. package/src/features/billing/stripe-customer/components/details/PaymentMethodCard.tsx +151 -0
  160. package/src/features/billing/stripe-customer/components/details/index.ts +1 -0
  161. package/src/features/billing/stripe-customer/components/forms/PaymentMethodEditor.tsx +186 -0
  162. package/src/features/billing/stripe-customer/components/forms/index.ts +1 -0
  163. package/src/features/billing/stripe-customer/components/index.ts +4 -0
  164. package/src/features/billing/stripe-customer/components/lists/PaymentMethodsList.tsx +19 -0
  165. package/src/features/billing/stripe-customer/components/lists/index.ts +1 -0
  166. package/src/features/billing/stripe-customer/data/index.ts +5 -0
  167. package/src/features/billing/stripe-customer/data/payment-method.interface.ts +27 -0
  168. package/src/features/billing/stripe-customer/data/payment-method.ts +119 -0
  169. package/src/features/billing/stripe-customer/data/stripe-customer.interface.ts +16 -0
  170. package/src/features/billing/stripe-customer/data/stripe-customer.service.ts +128 -0
  171. package/src/features/billing/stripe-customer/data/stripe-customer.ts +71 -0
  172. package/src/features/billing/stripe-customer/index.ts +3 -0
  173. package/src/features/billing/stripe-customer/stripe-customer.module.ts +9 -0
  174. package/src/features/billing/stripe-customer/stripe-payment-method.module.ts +9 -0
  175. package/src/features/billing/stripe-invoice/components/containers/InvoicesContainer.tsx +66 -0
  176. package/src/features/billing/stripe-invoice/components/containers/index.ts +1 -0
  177. package/src/features/billing/stripe-invoice/components/details/InvoiceDetails.tsx +172 -0
  178. package/src/features/billing/stripe-invoice/components/details/index.ts +1 -0
  179. package/src/features/billing/stripe-invoice/components/index.ts +4 -0
  180. package/src/features/billing/stripe-invoice/components/lists/InvoicesList.tsx +84 -0
  181. package/src/features/billing/stripe-invoice/components/lists/index.ts +1 -0
  182. package/src/features/billing/stripe-invoice/components/widgets/InvoiceStatusBadge.tsx +41 -0
  183. package/src/features/billing/stripe-invoice/components/widgets/index.ts +1 -0
  184. package/src/features/billing/stripe-invoice/data/index.ts +3 -0
  185. package/src/features/billing/stripe-invoice/data/stripe-invoice.interface.ts +65 -0
  186. package/src/features/billing/stripe-invoice/data/stripe-invoice.service.ts +64 -0
  187. package/src/features/billing/stripe-invoice/data/stripe-invoice.ts +177 -0
  188. package/src/features/billing/stripe-invoice/index.ts +2 -0
  189. package/src/features/billing/stripe-invoice/stripe-invoice.module.ts +9 -0
  190. package/src/features/billing/stripe-price/components/forms/PriceEditor.tsx +304 -0
  191. package/src/features/billing/stripe-price/components/forms/index.ts +1 -0
  192. package/src/features/billing/stripe-price/components/index.ts +2 -0
  193. package/src/features/billing/stripe-price/components/lists/PricesList.tsx +283 -0
  194. package/src/features/billing/stripe-price/components/lists/index.ts +1 -0
  195. package/src/features/billing/stripe-price/data/index.ts +3 -0
  196. package/src/features/billing/stripe-price/data/stripe-price.interface.ts +48 -0
  197. package/src/features/billing/stripe-price/data/stripe-price.service.ts +123 -0
  198. package/src/features/billing/stripe-price/data/stripe-price.ts +156 -0
  199. package/src/features/billing/stripe-price/index.ts +2 -0
  200. package/src/features/billing/stripe-price/stripe-price.module.ts +9 -0
  201. package/src/features/billing/stripe-product/components/containers/ProductsAdminContainer.tsx +86 -0
  202. package/src/features/billing/stripe-product/components/containers/index.ts +1 -0
  203. package/src/features/billing/stripe-product/components/forms/ProductEditor.tsx +100 -0
  204. package/src/features/billing/stripe-product/components/forms/index.ts +1 -0
  205. package/src/features/billing/stripe-product/components/index.ts +3 -0
  206. package/src/features/billing/stripe-product/components/lists/ProductsList.tsx +206 -0
  207. package/src/features/billing/stripe-product/components/lists/index.ts +1 -0
  208. package/src/features/billing/stripe-product/data/index.ts +3 -0
  209. package/src/features/billing/stripe-product/data/stripe-product.interface.ts +18 -0
  210. package/src/features/billing/stripe-product/data/stripe-product.service.ts +112 -0
  211. package/src/features/billing/stripe-product/data/stripe-product.ts +74 -0
  212. package/src/features/billing/stripe-product/index.ts +2 -0
  213. package/src/features/billing/stripe-product/stripe-product.module.ts +9 -0
  214. package/src/features/billing/stripe-subscription/components/containers/SubscriptionsContainer.tsx +304 -0
  215. package/src/features/billing/stripe-subscription/components/containers/index.ts +1 -0
  216. package/src/features/billing/stripe-subscription/components/details/SubscriptionDetails.tsx +223 -0
  217. package/src/features/billing/stripe-subscription/components/details/index.ts +1 -0
  218. package/src/features/billing/stripe-subscription/components/forms/CancelSubscriptionDialog.tsx +116 -0
  219. package/src/features/billing/stripe-subscription/components/forms/SubscriptionEditor.tsx +331 -0
  220. package/src/features/billing/stripe-subscription/components/forms/index.ts +2 -0
  221. package/src/features/billing/stripe-subscription/components/index.ts +5 -0
  222. package/src/features/billing/stripe-subscription/components/lists/SubscriptionsList.tsx +104 -0
  223. package/src/features/billing/stripe-subscription/components/lists/index.ts +1 -0
  224. package/src/features/billing/stripe-subscription/components/widgets/PricingCard.tsx +95 -0
  225. package/src/features/billing/stripe-subscription/components/widgets/PricingCardsGrid.tsx +110 -0
  226. package/src/features/billing/stripe-subscription/components/widgets/ProrationPreview.tsx +41 -0
  227. package/src/features/billing/stripe-subscription/components/widgets/SubscriptionStatusBadge.tsx +60 -0
  228. package/src/features/billing/stripe-subscription/components/widgets/index.ts +4 -0
  229. package/src/features/billing/stripe-subscription/data/index.ts +3 -0
  230. package/src/features/billing/stripe-subscription/data/stripe-subscription.interface.ts +66 -0
  231. package/src/features/billing/stripe-subscription/data/stripe-subscription.service.ts +193 -0
  232. package/src/features/billing/stripe-subscription/data/stripe-subscription.ts +135 -0
  233. package/src/features/billing/stripe-subscription/hooks/index.ts +1 -0
  234. package/src/features/billing/stripe-subscription/hooks/useConfirmSubscriptionPayment.ts +111 -0
  235. package/src/features/billing/stripe-subscription/index.ts +5 -0
  236. package/src/features/billing/stripe-subscription/stripe-subscription.module.ts +9 -0
  237. package/src/features/billing/stripe-usage/components/containers/UsageContainer.tsx +109 -0
  238. package/src/features/billing/stripe-usage/components/containers/index.ts +1 -0
  239. package/src/features/billing/stripe-usage/components/details/UsageSummaryCard.tsx +90 -0
  240. package/src/features/billing/stripe-usage/components/details/index.ts +1 -0
  241. package/src/features/billing/stripe-usage/components/index.ts +4 -0
  242. package/src/features/billing/stripe-usage/components/lists/UsageHistoryTable.tsx +72 -0
  243. package/src/features/billing/stripe-usage/components/lists/index.ts +1 -0
  244. package/src/features/billing/stripe-usage/components/widgets/UsageSummaryCards.tsx +19 -0
  245. package/src/features/billing/stripe-usage/components/widgets/index.ts +1 -0
  246. package/src/features/billing/stripe-usage/data/index.ts +3 -0
  247. package/src/features/billing/stripe-usage/data/stripe-usage.interface.ts +55 -0
  248. package/src/features/billing/stripe-usage/data/stripe-usage.service.ts +129 -0
  249. package/src/features/billing/stripe-usage/data/stripe-usage.ts +70 -0
  250. package/src/features/billing/stripe-usage/index.ts +2 -0
  251. package/src/features/billing/stripe-usage/stripe-usage.module.ts +9 -0
  252. package/src/features/company/components/forms/CompanyEditor.tsx +2 -2
  253. package/src/features/company/components/forms/CompanyLicense.tsx +4 -4
  254. package/src/features/company/contexts/CompanyContext.tsx +2 -2
  255. package/src/features/feature/components/forms/FormFeatures.tsx +13 -106
  256. package/src/features/feature/data/feature.interface.ts +1 -1
  257. package/src/features/feature/data/feature.ts +4 -4
  258. package/src/features/index.ts +7 -0
  259. package/src/features/module/data/module.interface.ts +0 -1
  260. package/src/features/module/data/module.ts +0 -6
  261. package/src/features/user/components/lists/ContributorsList.tsx +2 -2
  262. package/src/features/user/components/widgets/UserAvatar.tsx +1 -1
  263. package/src/index.ts +1 -1
  264. package/src/shadcnui/custom/link.tsx +16 -6
  265. package/src/utils/blocknote-diff.util.ts +2 -1
  266. package/src/utils/blocknote-word-diff-renderer.util.ts +8 -7
  267. package/dist/AuthComponent-hxOPs9o8.d.mts +0 -11
  268. package/dist/AuthComponent-hxOPs9o8.d.ts +0 -11
  269. package/dist/JsonApiRequest-FXZCYIER.js +0 -24
  270. package/dist/chunk-2FCG3K64.mjs.map +0 -1
  271. package/dist/chunk-45QMJETP.js.map +0 -1
  272. package/dist/chunk-6YD42BP6.js.map +0 -1
  273. package/dist/chunk-A333VMBO.mjs.map +0 -1
  274. package/dist/chunk-FPZPD4JI.js.map +0 -1
  275. package/dist/chunk-R6K76UTR.js.map +0 -1
  276. package/dist/chunk-SJIVGCNM.mjs.map +0 -1
  277. package/dist/chunk-TGBXBUWM.mjs.map +0 -1
  278. /package/dist/{BlockNoteEditor-436ZHDY3.mjs.map → BlockNoteEditor-HFX7Z5BQ.mjs.map} +0 -0
  279. /package/dist/{JsonApiRequest-HFWXMKMA.mjs.map → JsonApiRequest-6IPS3DZJ.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  setBootstrapper
3
- } from "./chunk-TGBXBUWM.mjs";
3
+ } from "./chunk-BCKYJQ3K.mjs";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-PAWJFY3S.mjs";
@@ -46,6 +46,10 @@ function getTrackablePages() {
46
46
  return _clientConfig?.trackablePages ?? [];
47
47
  }
48
48
  __name(getTrackablePages, "getTrackablePages");
49
+ function getStripePublishableKey() {
50
+ return _clientConfig?.stripePublishableKey;
51
+ }
52
+ __name(getStripePublishableKey, "getStripePublishableKey");
49
53
 
50
54
  // src/i18n/config.ts
51
55
  var _config = null;
@@ -130,6 +134,7 @@ export {
130
134
  getApiUrl,
131
135
  getAppUrl,
132
136
  getTrackablePages,
137
+ getStripePublishableKey,
133
138
  configureI18n,
134
139
  useI18nRouter,
135
140
  useI18nTranslations,
@@ -143,4 +148,4 @@ export {
143
148
  getRoleId,
144
149
  isRolesConfigured
145
150
  };
146
- //# sourceMappingURL=chunk-SJIVGCNM.mjs.map
151
+ //# sourceMappingURL=chunk-POKIJ56Q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/config.ts","../src/i18n/config.ts","../src/discord/config.ts","../src/roles/config.ts"],"sourcesContent":["\"use client\";\n\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { setBootstrapper } from \"../core/registry/bootstrapStore\";\n\n// Config storage for client-side contexts\nlet _clientConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n} | null = null;\n\n/**\n * Configure the JSON:API client. This is the main configuration function.\n * This is typically called during app initialization.\n */\nexport function configureJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n}): void {\n _clientConfig = config;\n // Register and call bootstrapper to register all modules\n if (config.bootstrapper) {\n setBootstrapper(config.bootstrapper);\n config.bootstrapper();\n }\n}\n\n/**\n * Configure the client config. This is typically called during app initialization.\n * @deprecated Use configureJsonApi instead\n */\nexport function configureClientConfig(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n}): void {\n _clientConfig = config;\n}\n\n/**\n * Get the configured API URL.\n */\nexport function getApiUrl(): string {\n if (_clientConfig?.apiUrl) {\n return _clientConfig.apiUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_API_URL) {\n return process.env.NEXT_PUBLIC_API_URL;\n }\n return \"\";\n}\n\n/**\n * Get the configured app URL.\n */\nexport function getAppUrl(): string {\n if (_clientConfig?.appUrl) {\n return _clientConfig.appUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_APP_URL) {\n return process.env.NEXT_PUBLIC_APP_URL;\n }\n if (typeof window !== \"undefined\") {\n return window.location.origin;\n }\n return \"\";\n}\n\n/**\n * Get the configured trackable pages.\n */\nexport function getTrackablePages(): ModuleWithPermissions[] {\n return _clientConfig?.trackablePages ?? [];\n}\n\n/**\n * Get the configured Stripe publishable key.\n */\nexport function getStripePublishableKey(): string | undefined {\n return _clientConfig?.stripePublishableKey;\n}\n","import { ComponentType } from \"react\";\n\n// Types for injected hooks\nexport interface I18nRouter {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n}\n\nexport type UseRouterHook = () => I18nRouter;\nexport type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record<string, any>) => string;\nexport type UseLocaleHook = () => string;\n\nexport type UseDateFnsLocaleHook = () => any; // date-fns Locale type\nexport type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any }>;\n\nexport interface I18nConfig {\n useRouter: UseRouterHook;\n useTranslations: UseTranslationsHook;\n useLocale?: UseLocaleHook;\n useDateFnsLocale?: UseDateFnsLocaleHook;\n Link: LinkComponent;\n usePathname: () => string;\n}\n\n// Private storage\nlet _config: I18nConfig | null = null;\n\n// Configuration function (called by app at startup)\nexport function configureI18n(config: I18nConfig): void {\n _config = config;\n}\n\n// Hooks for library components to use\nexport function useI18nRouter(): I18nRouter {\n if (!_config?.useRouter) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.useRouter();\n}\n\nexport function useI18nTranslations(namespace?: string): (key: string, values?: Record<string, any>) => string {\n if (!_config?.useTranslations) {\n // Fallback: return key as-is (safe for server/client)\n return (key: string) => key;\n }\n return _config.useTranslations(namespace);\n}\n\nexport function getI18nLink(): LinkComponent {\n if (!_config?.Link) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.Link;\n}\n\nexport function useI18nLocale(): string {\n if (_config?.useLocale) {\n return _config.useLocale();\n }\n // Fallback to English (safe for server/client)\n return \"en\";\n}\n\nexport function useI18nDateFnsLocale(): any {\n if (_config?.useDateFnsLocale) {\n return _config.useDateFnsLocale();\n }\n // Fallback to undefined (Calendar will use default)\n return undefined;\n}\n","let _useDiscord: boolean = false;\nlet _useInternalAuth: boolean = true;\n\nexport function configureDiscord(params: { useDiscord: boolean; useInternalAuth: boolean }): void {\n _useDiscord = params.useDiscord;\n _useInternalAuth = params.useInternalAuth;\n}\n\nexport function isDiscordConfigured(): boolean {\n return _useDiscord;\n}\n\nexport function isInternalAuthConfigured(): boolean {\n return _useInternalAuth;\n}\n","/**\n * Role ID configuration interface\n * Apps provide their role IDs via configureRoles()\n */\nexport interface RoleIdConfig {\n Administrator: string;\n CompanyAdministrator: string;\n [key: string]: string; // Allow additional roles\n}\n\n// Private storage for the injected role IDs\nlet _roleId: RoleIdConfig | null = null;\n\n/**\n * Configure role IDs for the library\n * Call this at app startup to provide role ID constants\n *\n * @example\n * ```typescript\n * import { configureRoles } from \"@carlonicora/nextjs-jsonapi\";\n * import { RoleId } from \"@phlow/shared\";\n *\n * configureRoles(RoleId);\n * ```\n */\nexport function configureRoles(roleId: RoleIdConfig): void {\n _roleId = roleId;\n}\n\n/**\n * Get configured role IDs\n * @throws Error if roles not configured\n */\nexport function getRoleId(): RoleIdConfig {\n if (!_roleId) {\n throw new Error(\"Roles not configured. Call configureRoles() at app startup.\");\n }\n return _roleId;\n}\n\n/**\n * Check if roles have been configured\n */\nexport function isRolesConfigured(): boolean {\n return _roleId !== null;\n}\n"],"mappings":";;;;;;;;AAMA,IAAI,gBAOO;AAMJ,SAAS,iBAAiB,QAOxB;AACP,kBAAgB;AAEhB,MAAI,OAAO,cAAc;AACvB,oBAAgB,OAAO,YAAY;AACnC,WAAO,aAAa;AAAA,EACtB;AACF;AAdgB;AAoBT,SAAS,sBAAsB,QAI7B;AACP,kBAAgB;AAClB;AANgB;AAWT,SAAS,YAAoB;AAClC,MAAI,eAAe,QAAQ;AACzB,WAAO,cAAc;AAAA,EACvB;AACA,MAAI,OAAO,YAAY,eAAe,QAAQ,KAAK,qBAAqB;AACtE,WAAO,QAAQ,IAAI;AAAA,EACrB;AACA,SAAO;AACT;AARgB;AAaT,SAAS,YAAoB;AAClC,MAAI,eAAe,QAAQ;AACzB,WAAO,cAAc;AAAA,EACvB;AACA,MAAI,OAAO,YAAY,eAAe,QAAQ,KAAK,qBAAqB;AACtE,WAAO,QAAQ,IAAI;AAAA,EACrB;AACA,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,OAAO,SAAS;AAAA,EACzB;AACA,SAAO;AACT;AAXgB;AAgBT,SAAS,oBAA6C;AAC3D,SAAO,eAAe,kBAAkB,CAAC;AAC3C;AAFgB;AAOT,SAAS,0BAA8C;AAC5D,SAAO,eAAe;AACxB;AAFgB;;;ACzDhB,IAAI,UAA6B;AAG1B,SAAS,cAAc,QAA0B;AACtD,YAAU;AACZ;AAFgB;AAKT,SAAS,gBAA4B;AAC1C,MAAI,CAAC,SAAS,WAAW;AACvB,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AACA,SAAO,QAAQ,UAAU;AAC3B;AALgB;AAOT,SAAS,oBAAoB,WAA2E;AAC7G,MAAI,CAAC,SAAS,iBAAiB;AAE7B,WAAO,CAAC,QAAgB;AAAA,EAC1B;AACA,SAAO,QAAQ,gBAAgB,SAAS;AAC1C;AANgB;AAQT,SAAS,cAA6B;AAC3C,MAAI,CAAC,SAAS,MAAM;AAClB,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC7E;AACA,SAAO,QAAQ;AACjB;AALgB;AAOT,SAAS,gBAAwB;AACtC,MAAI,SAAS,WAAW;AACtB,WAAO,QAAQ,UAAU;AAAA,EAC3B;AAEA,SAAO;AACT;AANgB;AAQT,SAAS,uBAA4B;AAC1C,MAAI,SAAS,kBAAkB;AAC7B,WAAO,QAAQ,iBAAiB;AAAA,EAClC;AAEA,SAAO;AACT;AANgB;;;ACnEhB,IAAI,cAAuB;AAC3B,IAAI,mBAA4B;AAEzB,SAAS,iBAAiB,QAAiE;AAChG,gBAAc,OAAO;AACrB,qBAAmB,OAAO;AAC5B;AAHgB;AAKT,SAAS,sBAA+B;AAC7C,SAAO;AACT;AAFgB;AAIT,SAAS,2BAAoC;AAClD,SAAO;AACT;AAFgB;;;ACDhB,IAAI,UAA+B;AAc5B,SAAS,eAAe,QAA4B;AACzD,YAAU;AACZ;AAFgB;AAQT,SAAS,YAA0B;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,6DAA6D;AAAA,EAC/E;AACA,SAAO;AACT;AALgB;AAUT,SAAS,oBAA6B;AAC3C,SAAO,YAAY;AACrB;AAFgB;","names":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkFPZPD4JIjs = require('./chunk-FPZPD4JI.js');
3
+ var _chunkGPGJNTHPjs = require('./chunk-GPGJNTHP.js');
4
4
 
5
5
 
6
6
  var _chunk7QVYU63Ejs = require('./chunk-7QVYU63E.js');
@@ -10,7 +10,7 @@ var _clientConfig = null;
10
10
  function configureJsonApi(config) {
11
11
  _clientConfig = config;
12
12
  if (config.bootstrapper) {
13
- _chunkFPZPD4JIjs.setBootstrapper.call(void 0, config.bootstrapper);
13
+ _chunkGPGJNTHPjs.setBootstrapper.call(void 0, config.bootstrapper);
14
14
  config.bootstrapper();
15
15
  }
16
16
  }
@@ -46,6 +46,10 @@ function getTrackablePages() {
46
46
  return _nullishCoalesce(_optionalChain([_clientConfig, 'optionalAccess', _7 => _7.trackablePages]), () => ( []));
47
47
  }
48
48
  _chunk7QVYU63Ejs.__name.call(void 0, getTrackablePages, "getTrackablePages");
49
+ function getStripePublishableKey() {
50
+ return _optionalChain([_clientConfig, 'optionalAccess', _8 => _8.stripePublishableKey]);
51
+ }
52
+ _chunk7QVYU63Ejs.__name.call(void 0, getStripePublishableKey, "getStripePublishableKey");
49
53
 
50
54
  // src/i18n/config.ts
51
55
  var _config = null;
@@ -54,35 +58,35 @@ function configureI18n(config) {
54
58
  }
55
59
  _chunk7QVYU63Ejs.__name.call(void 0, configureI18n, "configureI18n");
56
60
  function useI18nRouter() {
57
- if (!_optionalChain([_config, 'optionalAccess', _8 => _8.useRouter])) {
61
+ if (!_optionalChain([_config, 'optionalAccess', _9 => _9.useRouter])) {
58
62
  throw new Error("i18n not configured. Call configureI18n() at app startup.");
59
63
  }
60
64
  return _config.useRouter();
61
65
  }
62
66
  _chunk7QVYU63Ejs.__name.call(void 0, useI18nRouter, "useI18nRouter");
63
67
  function useI18nTranslations(namespace) {
64
- if (!_optionalChain([_config, 'optionalAccess', _9 => _9.useTranslations])) {
68
+ if (!_optionalChain([_config, 'optionalAccess', _10 => _10.useTranslations])) {
65
69
  return (key) => key;
66
70
  }
67
71
  return _config.useTranslations(namespace);
68
72
  }
69
73
  _chunk7QVYU63Ejs.__name.call(void 0, useI18nTranslations, "useI18nTranslations");
70
74
  function getI18nLink() {
71
- if (!_optionalChain([_config, 'optionalAccess', _10 => _10.Link])) {
75
+ if (!_optionalChain([_config, 'optionalAccess', _11 => _11.Link])) {
72
76
  throw new Error("i18n not configured. Call configureI18n() at app startup.");
73
77
  }
74
78
  return _config.Link;
75
79
  }
76
80
  _chunk7QVYU63Ejs.__name.call(void 0, getI18nLink, "getI18nLink");
77
81
  function useI18nLocale() {
78
- if (_optionalChain([_config, 'optionalAccess', _11 => _11.useLocale])) {
82
+ if (_optionalChain([_config, 'optionalAccess', _12 => _12.useLocale])) {
79
83
  return _config.useLocale();
80
84
  }
81
85
  return "en";
82
86
  }
83
87
  _chunk7QVYU63Ejs.__name.call(void 0, useI18nLocale, "useI18nLocale");
84
88
  function useI18nDateFnsLocale() {
85
- if (_optionalChain([_config, 'optionalAccess', _12 => _12.useDateFnsLocale])) {
89
+ if (_optionalChain([_config, 'optionalAccess', _13 => _13.useDateFnsLocale])) {
86
90
  return _config.useDateFnsLocale();
87
91
  }
88
92
  return void 0;
@@ -142,5 +146,6 @@ _chunk7QVYU63Ejs.__name.call(void 0, isRolesConfigured, "isRolesConfigured");
142
146
 
143
147
 
144
148
 
145
- exports.configureJsonApi = configureJsonApi; exports.configureClientConfig = configureClientConfig; exports.getApiUrl = getApiUrl; exports.getAppUrl = getAppUrl; exports.getTrackablePages = getTrackablePages; exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.configureDiscord = configureDiscord; exports.isDiscordConfigured = isDiscordConfigured; exports.isInternalAuthConfigured = isInternalAuthConfigured; exports.configureRoles = configureRoles; exports.getRoleId = getRoleId; exports.isRolesConfigured = isRolesConfigured;
146
- //# sourceMappingURL=chunk-6YD42BP6.js.map
149
+
150
+ exports.configureJsonApi = configureJsonApi; exports.configureClientConfig = configureClientConfig; exports.getApiUrl = getApiUrl; exports.getAppUrl = getAppUrl; exports.getTrackablePages = getTrackablePages; exports.getStripePublishableKey = getStripePublishableKey; exports.configureI18n = configureI18n; exports.useI18nRouter = useI18nRouter; exports.useI18nTranslations = useI18nTranslations; exports.getI18nLink = getI18nLink; exports.useI18nLocale = useI18nLocale; exports.useI18nDateFnsLocale = useI18nDateFnsLocale; exports.configureDiscord = configureDiscord; exports.isDiscordConfigured = isDiscordConfigured; exports.isInternalAuthConfigured = isInternalAuthConfigured; exports.configureRoles = configureRoles; exports.getRoleId = getRoleId; exports.isRolesConfigured = isRolesConfigured;
151
+ //# sourceMappingURL=chunk-R5QSSISB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-R5QSSISB.js","../src/client/config.ts","../src/i18n/config.ts","../src/discord/config.ts","../src/roles/config.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACDA,IAAI,cAAA,EAOO,IAAA;AAMJ,SAAS,gBAAA,CAAiB,MAAA,EAOxB;AACP,EAAA,cAAA,EAAgB,MAAA;AAEhB,EAAA,GAAA,CAAI,MAAA,CAAO,YAAA,EAAc;AACvB,IAAA,8CAAA,MAAgB,CAAO,YAAY,CAAA;AACnC,IAAA,MAAA,CAAO,YAAA,CAAa,CAAA;AAAA,EACtB;AACF;AAdgB,qCAAA,gBAAA,EAAA,kBAAA,CAAA;AAoBT,SAAS,qBAAA,CAAsB,MAAA,EAI7B;AACP,EAAA,cAAA,EAAgB,MAAA;AAClB;AANgB,qCAAA,qBAAA,EAAA,uBAAA,CAAA;AAWT,SAAS,SAAA,CAAA,EAAoB;AAClC,EAAA,GAAA,iBAAI,aAAA,2BAAe,QAAA,EAAQ;AACzB,IAAA,OAAO,aAAA,CAAc,MAAA;AAAA,EACvB;AACA,EAAA,GAAA,CAAI,OAAO,QAAA,IAAY,YAAA,mBAAe,OAAA,qBAAQ,GAAA,6BAAK,qBAAA,EAAqB;AACtE,IAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,mBAAA;AAAA,EACrB;AACA,EAAA,OAAO,EAAA;AACT;AARgB,qCAAA,SAAA,EAAA,WAAA,CAAA;AAaT,SAAS,SAAA,CAAA,EAAoB;AAClC,EAAA,GAAA,iBAAI,aAAA,6BAAe,QAAA,EAAQ;AACzB,IAAA,OAAO,aAAA,CAAc,MAAA;AAAA,EACvB;AACA,EAAA,GAAA,CAAI,OAAO,QAAA,IAAY,YAAA,mBAAe,OAAA,qBAAQ,GAAA,6BAAK,qBAAA,EAAqB;AACtE,IAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,mBAAA;AAAA,EACrB;AACA,EAAA,GAAA,CAAI,OAAO,OAAA,IAAW,WAAA,EAAa;AACjC,IAAA,OAAO,MAAA,CAAO,QAAA,CAAS,MAAA;AAAA,EACzB;AACA,EAAA,OAAO,EAAA;AACT;AAXgB,qCAAA,SAAA,EAAA,WAAA,CAAA;AAgBT,SAAS,iBAAA,CAAA,EAA6C;AAC3D,EAAA,wCAAO,aAAA,6BAAe,gBAAA,UAAkB,CAAC,GAAA;AAC3C;AAFgB,qCAAA,iBAAA,EAAA,mBAAA,CAAA;AAOT,SAAS,uBAAA,CAAA,EAA8C;AAC5D,EAAA,uBAAO,aAAA,6BAAe,sBAAA;AACxB;AAFgB,qCAAA,uBAAA,EAAA,yBAAA,CAAA;ADlChB;AACA;AExBA,IAAI,QAAA,EAA6B,IAAA;AAG1B,SAAS,aAAA,CAAc,MAAA,EAA0B;AACtD,EAAA,QAAA,EAAU,MAAA;AACZ;AAFgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AAKT,SAAS,aAAA,CAAA,EAA4B;AAC1C,EAAA,GAAA,CAAI,iBAAC,OAAA,6BAAS,WAAA,EAAW;AACvB,IAAA,MAAM,IAAI,KAAA,CAAM,2DAA2D,CAAA;AAAA,EAC7E;AACA,EAAA,OAAO,OAAA,CAAQ,SAAA,CAAU,CAAA;AAC3B;AALgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AAOT,SAAS,mBAAA,CAAoB,SAAA,EAA2E;AAC7G,EAAA,GAAA,CAAI,iBAAC,OAAA,+BAAS,iBAAA,EAAiB;AAE7B,IAAA,OAAO,CAAC,GAAA,EAAA,GAAgB,GAAA;AAAA,EAC1B;AACA,EAAA,OAAO,OAAA,CAAQ,eAAA,CAAgB,SAAS,CAAA;AAC1C;AANgB,qCAAA,mBAAA,EAAA,qBAAA,CAAA;AAQT,SAAS,WAAA,CAAA,EAA6B;AAC3C,EAAA,GAAA,CAAI,iBAAC,OAAA,+BAAS,MAAA,EAAM;AAClB,IAAA,MAAM,IAAI,KAAA,CAAM,2DAA2D,CAAA;AAAA,EAC7E;AACA,EAAA,OAAO,OAAA,CAAQ,IAAA;AACjB;AALgB,qCAAA,WAAA,EAAA,aAAA,CAAA;AAOT,SAAS,aAAA,CAAA,EAAwB;AACtC,EAAA,GAAA,iBAAI,OAAA,+BAAS,WAAA,EAAW;AACtB,IAAA,OAAO,OAAA,CAAQ,SAAA,CAAU,CAAA;AAAA,EAC3B;AAEA,EAAA,OAAO,IAAA;AACT;AANgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AAQT,SAAS,oBAAA,CAAA,EAA4B;AAC1C,EAAA,GAAA,iBAAI,OAAA,+BAAS,kBAAA,EAAkB;AAC7B,IAAA,OAAO,OAAA,CAAQ,gBAAA,CAAiB,CAAA;AAAA,EAClC;AAEA,EAAA,OAAO,KAAA,CAAA;AACT;AANgB,qCAAA,oBAAA,EAAA,sBAAA,CAAA;AF2BhB;AACA;AG/FA,IAAI,YAAA,EAAuB,KAAA;AAC3B,IAAI,iBAAA,EAA4B,IAAA;AAEzB,SAAS,gBAAA,CAAiB,MAAA,EAAiE;AAChG,EAAA,YAAA,EAAc,MAAA,CAAO,UAAA;AACrB,EAAA,iBAAA,EAAmB,MAAA,CAAO,eAAA;AAC5B;AAHgB,qCAAA,gBAAA,EAAA,kBAAA,CAAA;AAKT,SAAS,mBAAA,CAAA,EAA+B;AAC7C,EAAA,OAAO,WAAA;AACT;AAFgB,qCAAA,mBAAA,EAAA,qBAAA,CAAA;AAIT,SAAS,wBAAA,CAAA,EAAoC;AAClD,EAAA,OAAO,gBAAA;AACT;AAFgB,qCAAA,wBAAA,EAAA,0BAAA,CAAA;AHmGhB;AACA;AIrGA,IAAI,QAAA,EAA+B,IAAA;AAc5B,SAAS,cAAA,CAAe,MAAA,EAA4B;AACzD,EAAA,QAAA,EAAU,MAAA;AACZ;AAFgB,qCAAA,cAAA,EAAA,gBAAA,CAAA;AAQT,SAAS,SAAA,CAAA,EAA0B;AACxC,EAAA,GAAA,CAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,KAAA,CAAM,6DAA6D,CAAA;AAAA,EAC/E;AACA,EAAA,OAAO,OAAA;AACT;AALgB,qCAAA,SAAA,EAAA,WAAA,CAAA;AAUT,SAAS,iBAAA,CAAA,EAA6B;AAC3C,EAAA,OAAO,QAAA,IAAY,IAAA;AACrB;AAFgB,qCAAA,iBAAA,EAAA,mBAAA,CAAA;AJsFhB;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,+xBAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/chunk-R5QSSISB.js","sourcesContent":[null,"\"use client\";\n\nimport { ModuleWithPermissions } from \"../permissions/types\";\nimport { setBootstrapper } from \"../core/registry/bootstrapStore\";\n\n// Config storage for client-side contexts\nlet _clientConfig: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n} | null = null;\n\n/**\n * Configure the JSON:API client. This is the main configuration function.\n * This is typically called during app initialization.\n */\nexport function configureJsonApi(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n bootstrapper?: () => void;\n additionalHeaders?: Record<string, string>;\n stripePublishableKey?: string;\n}): void {\n _clientConfig = config;\n // Register and call bootstrapper to register all modules\n if (config.bootstrapper) {\n setBootstrapper(config.bootstrapper);\n config.bootstrapper();\n }\n}\n\n/**\n * Configure the client config. This is typically called during app initialization.\n * @deprecated Use configureJsonApi instead\n */\nexport function configureClientConfig(config: {\n apiUrl: string;\n appUrl?: string;\n trackablePages?: ModuleWithPermissions[];\n}): void {\n _clientConfig = config;\n}\n\n/**\n * Get the configured API URL.\n */\nexport function getApiUrl(): string {\n if (_clientConfig?.apiUrl) {\n return _clientConfig.apiUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_API_URL) {\n return process.env.NEXT_PUBLIC_API_URL;\n }\n return \"\";\n}\n\n/**\n * Get the configured app URL.\n */\nexport function getAppUrl(): string {\n if (_clientConfig?.appUrl) {\n return _clientConfig.appUrl;\n }\n if (typeof process !== \"undefined\" && process.env?.NEXT_PUBLIC_APP_URL) {\n return process.env.NEXT_PUBLIC_APP_URL;\n }\n if (typeof window !== \"undefined\") {\n return window.location.origin;\n }\n return \"\";\n}\n\n/**\n * Get the configured trackable pages.\n */\nexport function getTrackablePages(): ModuleWithPermissions[] {\n return _clientConfig?.trackablePages ?? [];\n}\n\n/**\n * Get the configured Stripe publishable key.\n */\nexport function getStripePublishableKey(): string | undefined {\n return _clientConfig?.stripePublishableKey;\n}\n","import { ComponentType } from \"react\";\n\n// Types for injected hooks\nexport interface I18nRouter {\n push: (href: string) => void;\n replace: (href: string) => void;\n back: () => void;\n forward: () => void;\n refresh: () => void;\n prefetch: (href: string) => void;\n}\n\nexport type UseRouterHook = () => I18nRouter;\nexport type UseTranslationsHook = (namespace?: string) => (key: string, values?: Record<string, any>) => string;\nexport type UseLocaleHook = () => string;\n\nexport type UseDateFnsLocaleHook = () => any; // date-fns Locale type\nexport type LinkComponent = ComponentType<{ href: string; children: React.ReactNode; [key: string]: any }>;\n\nexport interface I18nConfig {\n useRouter: UseRouterHook;\n useTranslations: UseTranslationsHook;\n useLocale?: UseLocaleHook;\n useDateFnsLocale?: UseDateFnsLocaleHook;\n Link: LinkComponent;\n usePathname: () => string;\n}\n\n// Private storage\nlet _config: I18nConfig | null = null;\n\n// Configuration function (called by app at startup)\nexport function configureI18n(config: I18nConfig): void {\n _config = config;\n}\n\n// Hooks for library components to use\nexport function useI18nRouter(): I18nRouter {\n if (!_config?.useRouter) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.useRouter();\n}\n\nexport function useI18nTranslations(namespace?: string): (key: string, values?: Record<string, any>) => string {\n if (!_config?.useTranslations) {\n // Fallback: return key as-is (safe for server/client)\n return (key: string) => key;\n }\n return _config.useTranslations(namespace);\n}\n\nexport function getI18nLink(): LinkComponent {\n if (!_config?.Link) {\n throw new Error(\"i18n not configured. Call configureI18n() at app startup.\");\n }\n return _config.Link;\n}\n\nexport function useI18nLocale(): string {\n if (_config?.useLocale) {\n return _config.useLocale();\n }\n // Fallback to English (safe for server/client)\n return \"en\";\n}\n\nexport function useI18nDateFnsLocale(): any {\n if (_config?.useDateFnsLocale) {\n return _config.useDateFnsLocale();\n }\n // Fallback to undefined (Calendar will use default)\n return undefined;\n}\n","let _useDiscord: boolean = false;\nlet _useInternalAuth: boolean = true;\n\nexport function configureDiscord(params: { useDiscord: boolean; useInternalAuth: boolean }): void {\n _useDiscord = params.useDiscord;\n _useInternalAuth = params.useInternalAuth;\n}\n\nexport function isDiscordConfigured(): boolean {\n return _useDiscord;\n}\n\nexport function isInternalAuthConfigured(): boolean {\n return _useInternalAuth;\n}\n","/**\n * Role ID configuration interface\n * Apps provide their role IDs via configureRoles()\n */\nexport interface RoleIdConfig {\n Administrator: string;\n CompanyAdministrator: string;\n [key: string]: string; // Allow additional roles\n}\n\n// Private storage for the injected role IDs\nlet _roleId: RoleIdConfig | null = null;\n\n/**\n * Configure role IDs for the library\n * Call this at app startup to provide role ID constants\n *\n * @example\n * ```typescript\n * import { configureRoles } from \"@carlonicora/nextjs-jsonapi\";\n * import { RoleId } from \"@phlow/shared\";\n *\n * configureRoles(RoleId);\n * ```\n */\nexport function configureRoles(roleId: RoleIdConfig): void {\n _roleId = roleId;\n}\n\n/**\n * Get configured role IDs\n * @throws Error if roles not configured\n */\nexport function getRoleId(): RoleIdConfig {\n if (!_roleId) {\n throw new Error(\"Roles not configured. Call configureRoles() at app startup.\");\n }\n return _roleId;\n}\n\n/**\n * Check if roles have been configured\n */\nexport function isRolesConfigured(): boolean {\n return _roleId !== null;\n}\n"]}
@@ -1,15 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import React__default from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { A as ApiDataInterface, a as ApiRequestDataTypeInterface, J as JsonApiHydratedDataInterface, M as ModuleWithPermissions, d as PageUrl, o as RoleInterface, U as UserInterface } from '../notification.interface-lG6UpTpt.mjs';
5
- import { a as ApiResponseInterface, A as ApiData } from '../ApiResponseInterface-B4QdWh-y.mjs';
6
- export { I as I18nConfig, k as I18nRouter, L as LinkComponent, U as UseDateFnsLocaleHook, l as UseLocaleHook, m as UseRouterHook, n as UseTranslationsHook, e as configureClientConfig, d as configureI18n, c as configureJsonApi, g as getApiUrl, a as getAppUrl, f as getI18nLink, b as getTrackablePages, u as useI18nDateFnsLocale, h as useI18nLocale, i as useI18nRouter, j as useI18nTranslations } from '../config-C5tGGrYf.mjs';
4
+ import { A as ApiDataInterface, a as ApiRequestDataTypeInterface, J as JsonApiHydratedDataInterface, M as ModuleWithPermissions, d as PageUrl, o as RoleInterface, U as UserInterface } from '../notification.interface-BllkURRm.mjs';
5
+ import { a as ApiResponseInterface, A as ApiData } from '../ApiResponseInterface-CAbw0sv7.mjs';
6
+ export { I as I18nConfig, l as I18nRouter, L as LinkComponent, U as UseDateFnsLocaleHook, m as UseLocaleHook, n as UseRouterHook, o as UseTranslationsHook, f as configureClientConfig, e as configureI18n, c as configureJsonApi, g as getApiUrl, a as getAppUrl, h as getI18nLink, d as getStripePublishableKey, b as getTrackablePages, u as useI18nDateFnsLocale, i as useI18nLocale, j as useI18nRouter, k as useI18nTranslations } from '../config-CWsTwnsK.mjs';
7
7
  import { ColumnDef } from '@tanstack/react-table';
8
8
  import { D as DataListRetriever } from '../useDataListRetriever-futhx3OP.mjs';
9
9
  export { u as useDataListRetriever } from '../useDataListRetriever-futhx3OP.mjs';
10
10
  import { a as D3Node, D as D3Link, C as ContentFields, R as RoleFields, U as UserFields } from '../content.fields-Ck5lkQ5d.mjs';
11
- export { u as useSocket } from '../useSocket-Bua6MwLi.mjs';
12
- import { a as ContentInterface } from '../content.interface-CxBBC7ec.mjs';
11
+ export { u as useSocket } from '../useSocket-BpenBR2z.mjs';
12
+ import { a as ContentInterface } from '../content.interface-Dk4UZcJM.mjs';
13
13
  import 'lucide-react';
14
14
  import 'd3';
15
15
 
@@ -1,15 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import React__default from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { A as ApiDataInterface, a as ApiRequestDataTypeInterface, J as JsonApiHydratedDataInterface, M as ModuleWithPermissions, d as PageUrl, o as RoleInterface, U as UserInterface } from '../notification.interface-lG6UpTpt.js';
5
- import { a as ApiResponseInterface, A as ApiData } from '../ApiResponseInterface-QLDnxLA9.js';
6
- export { I as I18nConfig, k as I18nRouter, L as LinkComponent, U as UseDateFnsLocaleHook, l as UseLocaleHook, m as UseRouterHook, n as UseTranslationsHook, e as configureClientConfig, d as configureI18n, c as configureJsonApi, g as getApiUrl, a as getAppUrl, f as getI18nLink, b as getTrackablePages, u as useI18nDateFnsLocale, h as useI18nLocale, i as useI18nRouter, j as useI18nTranslations } from '../config-eceYM5kN.js';
4
+ import { A as ApiDataInterface, a as ApiRequestDataTypeInterface, J as JsonApiHydratedDataInterface, M as ModuleWithPermissions, d as PageUrl, o as RoleInterface, U as UserInterface } from '../notification.interface-BllkURRm.js';
5
+ import { a as ApiResponseInterface, A as ApiData } from '../ApiResponseInterface-BvWIeLkq.js';
6
+ export { I as I18nConfig, l as I18nRouter, L as LinkComponent, U as UseDateFnsLocaleHook, m as UseLocaleHook, n as UseRouterHook, o as UseTranslationsHook, f as configureClientConfig, e as configureI18n, c as configureJsonApi, g as getApiUrl, a as getAppUrl, h as getI18nLink, d as getStripePublishableKey, b as getTrackablePages, u as useI18nDateFnsLocale, i as useI18nLocale, j as useI18nRouter, k as useI18nTranslations } from '../config-DEaUbBqR.js';
7
7
  import { ColumnDef } from '@tanstack/react-table';
8
8
  import { D as DataListRetriever } from '../useDataListRetriever-futhx3OP.js';
9
9
  export { u as useDataListRetriever } from '../useDataListRetriever-futhx3OP.js';
10
10
  import { a as D3Node, D as D3Link, C as ContentFields, R as RoleFields, U as UserFields } from '../content.fields-Ck5lkQ5d.js';
11
- export { u as useSocket } from '../useSocket-D5dhUp4m.js';
12
- import { a as ContentInterface } from '../content.interface-TB2MfJGs.js';
11
+ export { u as useSocket } from '../useSocket-D-QYA0Sr.js';
12
+ import { a as ContentInterface } from '../content.interface-D_4b4RQt.js';
13
13
  import 'lucide-react';
14
14
  import 'd3';
15
15
 
@@ -25,7 +25,7 @@
25
25
 
26
26
 
27
27
 
28
- var _chunk45QMJETPjs = require('../chunk-45QMJETP.js');
28
+ var _chunkONB2DAIVjs = require('../chunk-ONB2DAIV.js');
29
29
 
30
30
 
31
31
 
@@ -38,8 +38,8 @@ var _chunk45QMJETPjs = require('../chunk-45QMJETP.js');
38
38
 
39
39
 
40
40
 
41
- var _chunk6YD42BP6js = require('../chunk-6YD42BP6.js');
42
41
 
42
+ var _chunkR5QSSISBjs = require('../chunk-R5QSSISB.js');
43
43
 
44
44
 
45
45
 
@@ -49,11 +49,12 @@ var _chunk6YD42BP6js = require('../chunk-6YD42BP6.js');
49
49
 
50
50
 
51
51
 
52
- var _chunkR6K76UTRjs = require('../chunk-R6K76UTR.js');
52
+
53
+ var _chunk2AZLCF6Djs = require('../chunk-2AZLCF6D.js');
53
54
 
54
55
 
55
56
  var _chunkIBS6NI7Djs = require('../chunk-IBS6NI7D.js');
56
- require('../chunk-FPZPD4JI.js');
57
+ require('../chunk-GPGJNTHP.js');
57
58
 
58
59
 
59
60
  var _chunkLXKSUWAVjs = require('../chunk-LXKSUWAV.js');
@@ -105,5 +106,6 @@ require('../chunk-7QVYU63E.js');
105
106
 
106
107
 
107
108
 
108
- exports.ClientJsonApiDelete = _chunkR6K76UTRjs.ClientJsonApiDelete; exports.ClientJsonApiGet = _chunkR6K76UTRjs.ClientJsonApiGet; exports.ClientJsonApiPatch = _chunkR6K76UTRjs.ClientJsonApiPatch; exports.ClientJsonApiPost = _chunkR6K76UTRjs.ClientJsonApiPost; exports.ClientJsonApiPut = _chunkR6K76UTRjs.ClientJsonApiPut; exports.JsonApiContext = _chunk45QMJETPjs.JsonApiContext; exports.JsonApiProvider = _chunk45QMJETPjs.JsonApiProvider; exports.TableGeneratorRegistry = _chunk45QMJETPjs.TableGeneratorRegistry; exports.configureClientConfig = _chunk6YD42BP6js.configureClientConfig; exports.configureClientJsonApi = _chunkR6K76UTRjs.configureClientJsonApi; exports.configureI18n = _chunk6YD42BP6js.configureI18n; exports.configureJsonApi = _chunk6YD42BP6js.configureJsonApi; exports.directFetch = _chunkIBS6NI7Djs.directFetch; exports.getApiUrl = _chunk6YD42BP6js.getApiUrl; exports.getAppUrl = _chunk6YD42BP6js.getAppUrl; exports.getClientApiUrl = _chunkR6K76UTRjs.getClientApiUrl; exports.getClientAppUrl = _chunkR6K76UTRjs.getClientAppUrl; exports.getClientToken = _chunkLXKSUWAVjs.getClientToken; exports.getClientTrackablePages = _chunkR6K76UTRjs.getClientTrackablePages; exports.getI18nLink = _chunk6YD42BP6js.getI18nLink; exports.getTrackablePages = _chunk6YD42BP6js.getTrackablePages; exports.registerTableGenerator = _chunk45QMJETPjs.registerTableGenerator; exports.tableGeneratorRegistry = _chunk45QMJETPjs.tableGeneratorRegistry; exports.useContentTableStructure = _chunk45QMJETPjs.useContentTableStructure; exports.useCustomD3Graph = _chunk45QMJETPjs.useCustomD3Graph; exports.useDataListRetriever = _chunk45QMJETPjs.useDataListRetriever; exports.useDebounce = _chunk45QMJETPjs.useDebounce; exports.useI18nDateFnsLocale = _chunk6YD42BP6js.useI18nDateFnsLocale; exports.useI18nLocale = _chunk6YD42BP6js.useI18nLocale; exports.useI18nRouter = _chunk6YD42BP6js.useI18nRouter; exports.useI18nTranslations = _chunk6YD42BP6js.useI18nTranslations; exports.useJsonApiConfig = _chunk45QMJETPjs.useJsonApiConfig; exports.useJsonApiConfigOptional = _chunk45QMJETPjs.useJsonApiConfigOptional; exports.useJsonApiGet = _chunk45QMJETPjs.useJsonApiGet; exports.useJsonApiMutation = _chunk45QMJETPjs.useJsonApiMutation; exports.useNotificationSync = _chunk45QMJETPjs.useNotificationSync; exports.usePageTracker = _chunk45QMJETPjs.usePageTracker; exports.usePageUrlGenerator = _chunk45QMJETPjs.usePageUrlGenerator; exports.useRehydration = _chunk45QMJETPjs.useRehydration; exports.useRehydrationList = _chunk45QMJETPjs.useRehydrationList; exports.useRoleTableStructure = _chunk45QMJETPjs.useRoleTableStructure; exports.useSocket = _chunk45QMJETPjs.useSocket; exports.useTableGenerator = _chunk45QMJETPjs.useTableGenerator; exports.useUrlRewriter = _chunk45QMJETPjs.useUrlRewriter; exports.useUserSearch = _chunk45QMJETPjs.useUserSearch; exports.useUserTableStructure = _chunk45QMJETPjs.useUserTableStructure;
109
+
110
+ exports.ClientJsonApiDelete = _chunk2AZLCF6Djs.ClientJsonApiDelete; exports.ClientJsonApiGet = _chunk2AZLCF6Djs.ClientJsonApiGet; exports.ClientJsonApiPatch = _chunk2AZLCF6Djs.ClientJsonApiPatch; exports.ClientJsonApiPost = _chunk2AZLCF6Djs.ClientJsonApiPost; exports.ClientJsonApiPut = _chunk2AZLCF6Djs.ClientJsonApiPut; exports.JsonApiContext = _chunkONB2DAIVjs.JsonApiContext; exports.JsonApiProvider = _chunkONB2DAIVjs.JsonApiProvider; exports.TableGeneratorRegistry = _chunkONB2DAIVjs.TableGeneratorRegistry; exports.configureClientConfig = _chunkR5QSSISBjs.configureClientConfig; exports.configureClientJsonApi = _chunk2AZLCF6Djs.configureClientJsonApi; exports.configureI18n = _chunkR5QSSISBjs.configureI18n; exports.configureJsonApi = _chunkR5QSSISBjs.configureJsonApi; exports.directFetch = _chunkIBS6NI7Djs.directFetch; exports.getApiUrl = _chunkR5QSSISBjs.getApiUrl; exports.getAppUrl = _chunkR5QSSISBjs.getAppUrl; exports.getClientApiUrl = _chunk2AZLCF6Djs.getClientApiUrl; exports.getClientAppUrl = _chunk2AZLCF6Djs.getClientAppUrl; exports.getClientToken = _chunkLXKSUWAVjs.getClientToken; exports.getClientTrackablePages = _chunk2AZLCF6Djs.getClientTrackablePages; exports.getI18nLink = _chunkR5QSSISBjs.getI18nLink; exports.getStripePublishableKey = _chunkR5QSSISBjs.getStripePublishableKey; exports.getTrackablePages = _chunkR5QSSISBjs.getTrackablePages; exports.registerTableGenerator = _chunkONB2DAIVjs.registerTableGenerator; exports.tableGeneratorRegistry = _chunkONB2DAIVjs.tableGeneratorRegistry; exports.useContentTableStructure = _chunkONB2DAIVjs.useContentTableStructure; exports.useCustomD3Graph = _chunkONB2DAIVjs.useCustomD3Graph; exports.useDataListRetriever = _chunkONB2DAIVjs.useDataListRetriever; exports.useDebounce = _chunkONB2DAIVjs.useDebounce; exports.useI18nDateFnsLocale = _chunkR5QSSISBjs.useI18nDateFnsLocale; exports.useI18nLocale = _chunkR5QSSISBjs.useI18nLocale; exports.useI18nRouter = _chunkR5QSSISBjs.useI18nRouter; exports.useI18nTranslations = _chunkR5QSSISBjs.useI18nTranslations; exports.useJsonApiConfig = _chunkONB2DAIVjs.useJsonApiConfig; exports.useJsonApiConfigOptional = _chunkONB2DAIVjs.useJsonApiConfigOptional; exports.useJsonApiGet = _chunkONB2DAIVjs.useJsonApiGet; exports.useJsonApiMutation = _chunkONB2DAIVjs.useJsonApiMutation; exports.useNotificationSync = _chunkONB2DAIVjs.useNotificationSync; exports.usePageTracker = _chunkONB2DAIVjs.usePageTracker; exports.usePageUrlGenerator = _chunkONB2DAIVjs.usePageUrlGenerator; exports.useRehydration = _chunkONB2DAIVjs.useRehydration; exports.useRehydrationList = _chunkONB2DAIVjs.useRehydrationList; exports.useRoleTableStructure = _chunkONB2DAIVjs.useRoleTableStructure; exports.useSocket = _chunkONB2DAIVjs.useSocket; exports.useTableGenerator = _chunkONB2DAIVjs.useTableGenerator; exports.useUrlRewriter = _chunkONB2DAIVjs.useUrlRewriter; exports.useUserSearch = _chunkONB2DAIVjs.useUserSearch; exports.useUserTableStructure = _chunkONB2DAIVjs.useUserTableStructure;
109
111
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,y1FAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,q6FAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"}
@@ -24,7 +24,7 @@ import {
24
24
  useUrlRewriter,
25
25
  useUserSearch,
26
26
  useUserTableStructure
27
- } from "../chunk-2FCG3K64.mjs";
27
+ } from "../chunk-5RAUCUAA.mjs";
28
28
  import {
29
29
  configureClientConfig,
30
30
  configureI18n,
@@ -32,12 +32,13 @@ import {
32
32
  getApiUrl,
33
33
  getAppUrl,
34
34
  getI18nLink,
35
+ getStripePublishableKey,
35
36
  getTrackablePages,
36
37
  useI18nDateFnsLocale,
37
38
  useI18nLocale,
38
39
  useI18nRouter,
39
40
  useI18nTranslations
40
- } from "../chunk-SJIVGCNM.mjs";
41
+ } from "../chunk-POKIJ56Q.mjs";
41
42
  import {
42
43
  ClientJsonApiDelete,
43
44
  ClientJsonApiGet,
@@ -48,11 +49,11 @@ import {
48
49
  getClientApiUrl,
49
50
  getClientAppUrl,
50
51
  getClientTrackablePages
51
- } from "../chunk-A333VMBO.mjs";
52
+ } from "../chunk-BCQSE3EU.mjs";
52
53
  import {
53
54
  directFetch
54
55
  } from "../chunk-C7C7VY4F.mjs";
55
- import "../chunk-TGBXBUWM.mjs";
56
+ import "../chunk-BCKYJQ3K.mjs";
56
57
  import {
57
58
  getClientToken
58
59
  } from "../chunk-AUXK7QSA.mjs";
@@ -78,6 +79,7 @@ export {
78
79
  getClientToken,
79
80
  getClientTrackablePages,
80
81
  getI18nLink,
82
+ getStripePublishableKey,
81
83
  getTrackablePages,
82
84
  registerTableGenerator,
83
85
  tableGeneratorRegistry,
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
3
  import React__default, { ReactElement, ReactNode, Dispatch, SetStateAction, Component, JSX } from 'react';
4
- import { o as RoleInterface, U as UserInterface, M as ModuleWithPermissions, b as Action, l as FeatureInterface, J as JsonApiHydratedDataInterface, k as CompanyInterface, N as NotificationInterface } from '../notification.interface-lG6UpTpt.mjs';
5
- import { a as ContentInterface } from '../content.interface-CxBBC7ec.mjs';
4
+ import { o as RoleInterface, U as UserInterface, M as ModuleWithPermissions, b as Action, l as FeatureInterface, J as JsonApiHydratedDataInterface, k as CompanyInterface, N as NotificationInterface } from '../notification.interface-BllkURRm.mjs';
5
+ import { a as ContentInterface } from '../content.interface-Dk4UZcJM.mjs';
6
6
  import { PartialBlock } from '@blocknote/core';
7
7
  import { D as DataListRetriever } from '../useDataListRetriever-futhx3OP.mjs';
8
8
  import { DateRange, DayPicker } from 'react-day-picker';
@@ -10,7 +10,7 @@ import { DropzoneState, DropzoneOptions } from 'react-dropzone';
10
10
  export { DropzoneOptions } from 'react-dropzone';
11
11
  import { B as BreadcrumbItemData } from '../breadcrumb.item.data.interface-CgB4_1EE.mjs';
12
12
  import { ColumnDef } from '@tanstack/react-table';
13
- import { A as AuthComponent } from '../AuthComponent-hxOPs9o8.mjs';
13
+ import { A as AuthComponent, j as StripeSubscriptionInterface, P as PaymentMethodInterface, S as StripeCustomerInterface, a as StripeInvoiceInterface, M as MeterInterface, o as MeterSummaryInterface, d as StripePriceInterface, I as InvoiceStatus, g as StripeProductInterface, b as ProrationPreviewInterface, i as SubscriptionStatus, n as StripeUsageInterface } from '../stripe-subscription.interface-C63L6hVg.mjs';
14
14
  import * as react_hook_form from 'react-hook-form';
15
15
  import { UseFormReturn, FieldValues, FieldPath, ControllerProps } from 'react-hook-form';
16
16
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
@@ -53,7 +53,6 @@ import * as TabsPrimitive from '@radix-ui/react-tabs';
53
53
  import * as TogglePrimitive from '@radix-ui/react-toggle';
54
54
  import { UniqueIdentifier, DndContextProps, DragEndEvent, DragOverlay } from '@dnd-kit/core';
55
55
  import { SortableContextProps } from '@dnd-kit/sortable';
56
- import NextLink from 'next/link';
57
56
  import 'lucide-react';
58
57
 
59
58
  type AddUserToRoleProps = {
@@ -443,9 +442,8 @@ type FormFeaturesProps = {
443
442
  name?: string;
444
443
  features: FeatureInterface[];
445
444
  featureField?: string;
446
- moduleField?: string;
447
445
  };
448
- declare function FormFeatures({ form, name, features, featureField, moduleField, }: FormFeaturesProps): react_jsx_runtime.JSX.Element;
446
+ declare function FormFeatures({ form, name, features, featureField }: FormFeaturesProps): react_jsx_runtime.JSX.Element;
449
447
 
450
448
  type BreadcrumbProps = {
451
449
  items: BreadcrumbItemData[];
@@ -583,6 +581,249 @@ declare function RefreshUser(): null;
583
581
 
584
582
  declare function ResetPassword(): react_jsx_runtime.JSX.Element;
585
583
 
584
+ type SubscriptionSummaryCardProps = {
585
+ subscriptions: StripeSubscriptionInterface[];
586
+ loading?: boolean;
587
+ error?: string;
588
+ onManageClick: () => void;
589
+ };
590
+ declare function SubscriptionSummaryCard({ subscriptions, loading, error, onManageClick, }: SubscriptionSummaryCardProps): react_jsx_runtime.JSX.Element;
591
+
592
+ type PaymentMethodSummaryCardProps = {
593
+ paymentMethods: PaymentMethodInterface[];
594
+ defaultPaymentMethodId?: string;
595
+ loading?: boolean;
596
+ error?: string;
597
+ onManageClick: () => void;
598
+ };
599
+ declare function PaymentMethodSummaryCard({ paymentMethods, defaultPaymentMethodId, loading, error, onManageClick, }: PaymentMethodSummaryCardProps): react_jsx_runtime.JSX.Element;
600
+
601
+ type CustomerInfoCardProps = {
602
+ customer: StripeCustomerInterface | null;
603
+ loading?: boolean;
604
+ error?: string;
605
+ };
606
+ declare function CustomerInfoCard({ customer, loading, error }: CustomerInfoCardProps): react_jsx_runtime.JSX.Element;
607
+
608
+ type InvoicesSummaryCardProps = {
609
+ invoices: StripeInvoiceInterface[];
610
+ loading?: boolean;
611
+ error?: string;
612
+ onViewAllClick: () => void;
613
+ };
614
+ declare function InvoicesSummaryCard({ invoices, loading, error, onViewAllClick }: InvoicesSummaryCardProps): react_jsx_runtime.JSX.Element;
615
+
616
+ type BillingUsageSummaryCardProps = {
617
+ meters: MeterInterface[];
618
+ summaries: Record<string, MeterSummaryInterface | null>;
619
+ loading?: boolean;
620
+ error?: string;
621
+ onViewDetailsClick: () => void;
622
+ };
623
+ declare function BillingUsageSummaryCard({ meters, summaries, loading, error, onViewDetailsClick, }: BillingUsageSummaryCardProps): react_jsx_runtime.JSX.Element;
624
+
625
+ declare function BillingDashboardContainer(): react_jsx_runtime.JSX.Element;
626
+
627
+ type BillingDetailModalProps = {
628
+ open: boolean;
629
+ onOpenChange: (open: boolean) => void;
630
+ title: string;
631
+ children: ReactNode;
632
+ className?: string;
633
+ };
634
+ declare function BillingDetailModal({ open, onOpenChange, title, children, className, }: BillingDetailModalProps): react_jsx_runtime.JSX.Element;
635
+
636
+ declare function StripeProvider({ children }: {
637
+ children: ReactNode;
638
+ }): react_jsx_runtime.JSX.Element;
639
+ declare function isStripeConfigured(): boolean;
640
+
641
+ /**
642
+ * Format price recurring interval for display
643
+ * @param price - Stripe price object
644
+ * @returns Formatted interval string (e.g., "/month", "/year", "/2 weeks", "one-time")
645
+ */
646
+ declare function formatInterval(price: StripePriceInterface): string;
647
+ /**
648
+ * Format currency amount from cents to localized currency string
649
+ * @param amount - Amount in cents
650
+ * @param currency - Currency code (e.g., "USD", "EUR", "GBP")
651
+ * @returns Formatted currency string (e.g., "$9.99", "€9,99")
652
+ */
653
+ declare function formatCurrency(amount: number | undefined, currency: string): string;
654
+
655
+ /**
656
+ * Format a date to a localized date string
657
+ * @param date - Date object or ISO string
658
+ * @returns Formatted date string (e.g., "Jan 15, 2025")
659
+ */
660
+ declare function formatDate(date: Date | string | undefined): string;
661
+
662
+ type BillingAlertBannerProps = {
663
+ subscription: StripeSubscriptionInterface;
664
+ onUpdatePayment?: () => void;
665
+ onAddPayment?: () => void;
666
+ };
667
+ declare function BillingAlertBanner({ subscription, onUpdatePayment, onAddPayment }: BillingAlertBannerProps): react_jsx_runtime.JSX.Element | null;
668
+
669
+ declare function PaymentMethodsContainer(): react_jsx_runtime.JSX.Element;
670
+
671
+ type PaymentMethodCardProps = {
672
+ paymentMethod: PaymentMethodInterface;
673
+ onUpdate: () => void;
674
+ };
675
+ declare function PaymentMethodCard({ paymentMethod, onUpdate }: PaymentMethodCardProps): react_jsx_runtime.JSX.Element;
676
+
677
+ type PaymentMethodEditorProps = {
678
+ open: boolean;
679
+ onOpenChange: (open: boolean) => void;
680
+ onSuccess: () => void;
681
+ };
682
+ declare function PaymentMethodEditor({ open, onOpenChange, onSuccess }: PaymentMethodEditorProps): react_jsx_runtime.JSX.Element;
683
+
684
+ type PaymentMethodsListProps = {
685
+ paymentMethods: PaymentMethodInterface[];
686
+ onUpdate: () => void;
687
+ };
688
+ declare function PaymentMethodsList({ paymentMethods, onUpdate }: PaymentMethodsListProps): react_jsx_runtime.JSX.Element;
689
+
690
+ declare function InvoicesContainer(): react_jsx_runtime.JSX.Element;
691
+
692
+ type InvoiceDetailsProps = {
693
+ invoice: StripeInvoiceInterface;
694
+ open: boolean;
695
+ onOpenChange: (open: boolean) => void;
696
+ onInvoiceChange: () => void;
697
+ };
698
+ declare function InvoiceDetails({ invoice, open, onOpenChange, onInvoiceChange }: InvoiceDetailsProps): react_jsx_runtime.JSX.Element;
699
+
700
+ type InvoicesListProps = {
701
+ invoices: StripeInvoiceInterface[];
702
+ onInvoicesChange: () => void;
703
+ };
704
+ declare function InvoicesList({ invoices, onInvoicesChange }: InvoicesListProps): react_jsx_runtime.JSX.Element;
705
+
706
+ type InvoiceStatusBadgeProps = {
707
+ status: InvoiceStatus;
708
+ };
709
+ declare function InvoiceStatusBadge({ status }: InvoiceStatusBadgeProps): react_jsx_runtime.JSX.Element;
710
+
711
+ type PriceEditorProps = {
712
+ productId: string;
713
+ price?: StripePriceInterface;
714
+ open: boolean;
715
+ onOpenChange: (open: boolean) => void;
716
+ onSuccess: () => void;
717
+ };
718
+ declare function PriceEditor({ productId, price, open, onOpenChange, onSuccess }: PriceEditorProps): react_jsx_runtime.JSX.Element;
719
+
720
+ type PricesListProps = {
721
+ productId: string;
722
+ onPricesChange: () => void;
723
+ };
724
+ declare function PricesList({ productId, onPricesChange }: PricesListProps): react_jsx_runtime.JSX.Element;
725
+
726
+ declare function ProductsAdminContainer(): react_jsx_runtime.JSX.Element;
727
+
728
+ type ProductEditorProps = {
729
+ product?: StripeProductInterface;
730
+ open: boolean;
731
+ onOpenChange: (open: boolean) => void;
732
+ onSuccess: () => void;
733
+ };
734
+ declare function ProductEditor({ product, open, onOpenChange, onSuccess }: ProductEditorProps): react_jsx_runtime.JSX.Element;
735
+
736
+ type ProductsListProps = {
737
+ products: StripeProductInterface[];
738
+ onProductsChange: () => void;
739
+ };
740
+ declare function ProductsList({ products, onProductsChange }: ProductsListProps): react_jsx_runtime.JSX.Element;
741
+
742
+ declare function SubscriptionsContainer(): react_jsx_runtime.JSX.Element;
743
+
744
+ type SubscriptionDetailsProps = {
745
+ subscription: StripeSubscriptionInterface;
746
+ open: boolean;
747
+ onOpenChange: (open: boolean) => void;
748
+ onSubscriptionChange: () => void;
749
+ };
750
+ declare function SubscriptionDetails({ subscription, open, onOpenChange, onSubscriptionChange, }: SubscriptionDetailsProps): react_jsx_runtime.JSX.Element;
751
+
752
+ type CancelSubscriptionDialogProps = {
753
+ subscription: StripeSubscriptionInterface;
754
+ open: boolean;
755
+ onOpenChange: (open: boolean) => void;
756
+ onSuccess: () => void;
757
+ };
758
+ declare function CancelSubscriptionDialog({ subscription, open, onOpenChange, onSuccess, }: CancelSubscriptionDialogProps): react_jsx_runtime.JSX.Element;
759
+
760
+ type SubscriptionEditorProps = {
761
+ subscription?: StripeSubscriptionInterface;
762
+ open: boolean;
763
+ onOpenChange: (open: boolean) => void;
764
+ onSuccess: () => void;
765
+ onAddPaymentMethod?: () => void;
766
+ };
767
+ declare function SubscriptionEditor({ subscription, open, onOpenChange, onSuccess, onAddPaymentMethod, }: SubscriptionEditorProps): react_jsx_runtime.JSX.Element;
768
+
769
+ type SubscriptionsListProps = {
770
+ subscriptions: StripeSubscriptionInterface[];
771
+ onSubscriptionsChange: () => void;
772
+ };
773
+ declare function SubscriptionsList({ subscriptions, onSubscriptionsChange }: SubscriptionsListProps): react_jsx_runtime.JSX.Element;
774
+
775
+ type PricingCardProps = {
776
+ price: StripePriceInterface;
777
+ isCurrentPlan?: boolean;
778
+ isSelected?: boolean;
779
+ isDisabled?: boolean;
780
+ isLoading?: boolean;
781
+ onSelect: (price: StripePriceInterface) => void;
782
+ };
783
+ declare function PricingCard({ price, isCurrentPlan, isSelected, isDisabled, isLoading, onSelect }: PricingCardProps): react_jsx_runtime.JSX.Element;
784
+
785
+ type PricesByProduct = Map<string, StripePriceInterface[]>;
786
+ type PricingCardsGridProps = {
787
+ products: StripeProductInterface[];
788
+ pricesByProduct: PricesByProduct;
789
+ currentPriceId?: string;
790
+ selectedPriceId?: string;
791
+ loadingPriceId?: string;
792
+ loading?: boolean;
793
+ onSelectPrice: (price: StripePriceInterface) => void;
794
+ };
795
+ declare function PricingCardsGrid({ products, pricesByProduct, currentPriceId, selectedPriceId, loadingPriceId, loading, onSelectPrice, }: PricingCardsGridProps): react_jsx_runtime.JSX.Element;
796
+
797
+ type ProrationPreviewProps = {
798
+ preview: ProrationPreviewInterface;
799
+ };
800
+ declare function ProrationPreview({ preview }: ProrationPreviewProps): react_jsx_runtime.JSX.Element;
801
+
802
+ type SubscriptionStatusBadgeProps = {
803
+ status: SubscriptionStatus;
804
+ cancelAtPeriodEnd?: boolean;
805
+ };
806
+ declare function SubscriptionStatusBadge({ status, cancelAtPeriodEnd }: SubscriptionStatusBadgeProps): react_jsx_runtime.JSX.Element;
807
+
808
+ declare function UsageContainer(): react_jsx_runtime.JSX.Element | null;
809
+
810
+ type UsageSummaryCardProps = {
811
+ meter: MeterInterface;
812
+ summary: MeterSummaryInterface | null;
813
+ };
814
+ declare function UsageSummaryCard({ meter, summary }: UsageSummaryCardProps): react_jsx_runtime.JSX.Element;
815
+
816
+ type UsageHistoryTableProps = {
817
+ usageRecords: StripeUsageInterface[];
818
+ };
819
+ declare function UsageHistoryTable({ usageRecords }: UsageHistoryTableProps): react_jsx_runtime.JSX.Element;
820
+
821
+ type UsageSummaryCardsProps = {
822
+ meters: MeterInterface[];
823
+ summaries: Record<string, MeterSummaryInterface | null>;
824
+ };
825
+ declare function UsageSummaryCards({ meters, summaries }: UsageSummaryCardsProps): react_jsx_runtime.JSX.Element;
826
+
586
827
  declare function AdminCompanyContainer(): react_jsx_runtime.JSX.Element;
587
828
 
588
829
  declare function CompanyContainer(): react_jsx_runtime.JSX.Element | null;
@@ -1360,10 +1601,13 @@ interface KanbanOverlayProps extends Omit<React$1.ComponentPropsWithoutRef<typeo
1360
1601
  }
1361
1602
  declare function KanbanOverlay(props: KanbanOverlayProps): React$1.ReactPortal | null;
1362
1603
 
1363
- interface LinkProps extends React$1.ComponentPropsWithoutRef<typeof NextLink> {
1604
+ interface LinkProps {
1605
+ href: string;
1606
+ children: React$1.ReactNode;
1364
1607
  className?: string;
1608
+ [key: string]: any;
1365
1609
  }
1366
- declare const Link: React$1.ForwardRefExoticComponent<LinkProps & React$1.RefAttributes<HTMLAnchorElement>>;
1610
+ declare const Link: React$1.ForwardRefExoticComponent<Omit<LinkProps, "ref"> & React$1.RefAttributes<HTMLAnchorElement>>;
1367
1611
 
1368
1612
  /**
1369
1613
  * Variants for the multi-select component to handle different styles.
@@ -1441,4 +1685,4 @@ interface MultiSelectProps extends React$1.ButtonHTMLAttributes<HTMLButtonElemen
1441
1685
  }
1442
1686
  declare const MultiSelect: React$1.ForwardRefExoticComponent<MultiSelectProps & React$1.RefAttributes<HTMLButtonElement>>;
1443
1687
 
1444
- export { AcceptInvitation, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivateAccount, AddUserToRole, AdminCompanyContainer, AdminUsersList, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AllowedUsersDetails, AttributeElement, AuthContainer, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BlockNoteEditorContainer, KanbanBoard as Board, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbNavigation, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, KanbanColumn as Column, KanbanColumnHandle as ColumnHandle, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommonAssociationCommandDialog, CommonAssociationTrigger, CommonDeleter, CommonEditorButtons, CommonEditorHeader, CommonEditorTrigger, CompaniesList, CompanyConfigurationEditor, CompanyConfigurationSecurityForm, CompanyContainer, CompanyDeleter, CompanyDetails, CompanyEditor, CompanyUsersList, ContentListTable, ContentTableSearch, ContentTitle, ContentsList, ContentsListById, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContributorsList, Cookies, DatePickerPopover, DateRangeSelector, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorDetails, FileInput, FileUploader, FileUploaderContent, FileUploaderItem, ForgotPassword, Form, FormCheckbox, FormContainerGeneric, FormControl, FormDate, FormDateTime, FormDescription, FormFeatures, FormField, FormInput, FormItem, FormLabel, FormMessage, FormPassword, FormPlaceAutocomplete, FormRoles, FormSelect, FormSlider, FormSwitch, FormTextarea, type GenerateTableStructureParams, Header, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, KanbanItem as Item, KanbanItemHandle as ItemHandle, KanbanRoot as Kanban, KanbanBoard, KanbanColumn, KanbanColumnHandle, KanbanItem, KanbanItemHandle, KanbanOverlay, Label, LandingComponent, Link, type LinkProps, Login, Logout, ModeToggleSwitch, MultiSelect, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotificationErrorBoundary, NotificationMenuItem, NotificationModal, NotificationToast, NotificationsList, NotificationsListContainer, KanbanOverlay as Overlay, PageContainer, PageContainerContentDetails, type PageContainerItems, PageContentContainer, PageSection, PasswordInput, type PasswordInputProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, PushNotificationProvider, RadioGroup, RadioGroupItem, ReactMarkdownContainer, RecentPagesNavigator, RefreshUser, RelevantContentsList, RelevantUsersList, RemoveUserFromRole, ResetPassword, ResizableHandle, ResizablePanel, ResizablePanelGroup, RoleContainer, RoleDetails, RoleUsersList, RolesList, KanbanRoot as Root, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, type Tab, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContainer, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Toaster, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserAvatar, UserAvatarEditor, UserContainer, UserDeleter, UserDetails, UserEditor, UserIndexContainer, UserIndexDetails, UserListInAdd, UserMultiSelect, UserReactivator, UserResentInvitationEmail, UserRoleAdd, UserRolesList, UserSelector, UsersList, UsersListByContentIds, UsersListContainer, badgeVariants, buttonVariants, cellComponent, cellDate, cellId, cellLink, cellUrl, errorToast, generateNotificationData, navigationMenuTriggerStyle, toggleVariants, triggerAssociationToast, useFileUpload, useFormField, useSidebar };
1688
+ export { AcceptInvitation, Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivateAccount, AddUserToRole, AdminCompanyContainer, AdminUsersList, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AllowedUsersDetails, AttributeElement, AuthContainer, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BillingAlertBanner, BillingDashboardContainer, BillingDetailModal, BillingUsageSummaryCard, BlockNoteEditorContainer, KanbanBoard as Board, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbNavigation, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, CancelSubscriptionDialog, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, KanbanColumn as Column, KanbanColumnHandle as ColumnHandle, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommonAssociationCommandDialog, CommonAssociationTrigger, CommonDeleter, CommonEditorButtons, CommonEditorHeader, CommonEditorTrigger, CompaniesList, CompanyConfigurationEditor, CompanyConfigurationSecurityForm, CompanyContainer, CompanyDeleter, CompanyDetails, CompanyEditor, CompanyUsersList, ContentListTable, ContentTableSearch, ContentTitle, ContentsList, ContentsListById, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContributorsList, Cookies, CustomerInfoCard, DatePickerPopover, DateRangeSelector, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ErrorDetails, FileInput, FileUploader, FileUploaderContent, FileUploaderItem, ForgotPassword, Form, FormCheckbox, FormContainerGeneric, FormControl, FormDate, FormDateTime, FormDescription, FormFeatures, FormField, FormInput, FormItem, FormLabel, FormMessage, FormPassword, FormPlaceAutocomplete, FormRoles, FormSelect, FormSlider, FormSwitch, FormTextarea, type GenerateTableStructureParams, Header, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InvoiceDetails, InvoiceStatusBadge, InvoicesContainer, InvoicesList, InvoicesSummaryCard, KanbanItem as Item, KanbanItemHandle as ItemHandle, KanbanRoot as Kanban, KanbanBoard, KanbanColumn, KanbanColumnHandle, KanbanItem, KanbanItemHandle, KanbanOverlay, Label, LandingComponent, Link, type LinkProps, Login, Logout, ModeToggleSwitch, MultiSelect, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotificationErrorBoundary, NotificationMenuItem, NotificationModal, NotificationToast, NotificationsList, NotificationsListContainer, KanbanOverlay as Overlay, PageContainer, PageContainerContentDetails, type PageContainerItems, PageContentContainer, PageSection, PasswordInput, type PasswordInputProps, PaymentMethodCard, PaymentMethodEditor, PaymentMethodSummaryCard, PaymentMethodsContainer, PaymentMethodsList, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PriceEditor, type PricesByProduct, PricesList, PricingCard, type PricingCardProps, PricingCardsGrid, type PricingCardsGridProps, ProductEditor, ProductsAdminContainer, ProductsList, Progress, ProrationPreview, PushNotificationProvider, RadioGroup, RadioGroupItem, ReactMarkdownContainer, RecentPagesNavigator, RefreshUser, RelevantContentsList, RelevantUsersList, RemoveUserFromRole, ResetPassword, ResizableHandle, ResizablePanel, ResizablePanelGroup, RoleContainer, RoleDetails, RoleUsersList, RolesList, KanbanRoot as Root, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, StripeProvider, SubscriptionDetails, SubscriptionEditor, SubscriptionStatusBadge, SubscriptionSummaryCard, SubscriptionsContainer, SubscriptionsList, Switch, type Tab, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContainer, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Toaster, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UsageContainer, UsageHistoryTable, UsageSummaryCard, UsageSummaryCards, UserAvatar, UserAvatarEditor, UserContainer, UserDeleter, UserDetails, UserEditor, UserIndexContainer, UserIndexDetails, UserListInAdd, UserMultiSelect, UserReactivator, UserResentInvitationEmail, UserRoleAdd, UserRolesList, UserSelector, UsersList, UsersListByContentIds, UsersListContainer, badgeVariants, buttonVariants, cellComponent, cellDate, cellId, cellLink, cellUrl, errorToast, formatCurrency, formatDate, formatInterval, generateNotificationData, isStripeConfigured, navigationMenuTriggerStyle, toggleVariants, triggerAssociationToast, useFileUpload, useFormField, useSidebar };