@fluid-app/portal-sdk 0.1.217 → 0.1.219

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 (81) hide show
  1. package/dist/{ContactsScreen-D-g7XEB-.cjs → ContactsScreen-DYVR-UvO.cjs} +1 -1
  2. package/dist/{FluidProvider-02beRTpR.mjs → FluidProvider-DTttgSXi.mjs} +8 -8
  3. package/dist/{FluidProvider-02beRTpR.mjs.map → FluidProvider-DTttgSXi.mjs.map} +1 -1
  4. package/dist/{FluidProvider-BgFmXtHo.cjs → FluidProvider-Dm4BhF_t.cjs} +8 -8
  5. package/dist/{FluidProvider-BgFmXtHo.cjs.map → FluidProvider-Dm4BhF_t.cjs.map} +1 -1
  6. package/dist/{ListWidget-C0ltFhxE.cjs → ListWidget-BE7uA4W4.cjs} +1 -2
  7. package/dist/{ListWidget-Ct8IDkio.mjs → ListWidget-D7y8bfvT.mjs} +252 -120
  8. package/dist/ListWidget-D7y8bfvT.mjs.map +1 -0
  9. package/dist/{ListWidget-C7ouNpEo.cjs → ListWidget-DJ-_dMOK.cjs} +251 -119
  10. package/dist/ListWidget-DJ-_dMOK.cjs.map +1 -0
  11. package/dist/{MessagingScreen-CJlVOY5R.mjs → MessagingScreen-CwEXQJlW.mjs} +2 -2
  12. package/dist/{MessagingScreen-CJlVOY5R.mjs.map → MessagingScreen-CwEXQJlW.mjs.map} +1 -1
  13. package/dist/{MessagingScreen-BkLcqJbs.cjs → MessagingScreen-DLQ5V0m4.cjs} +2 -2
  14. package/dist/{MessagingScreen-BkLcqJbs.cjs.map → MessagingScreen-DLQ5V0m4.cjs.map} +1 -1
  15. package/dist/{MessagingScreen-sN7aBvGk.cjs → MessagingScreen-YBXJL7a9.cjs} +6 -6
  16. package/dist/{MySiteScreen-DUN5TTvU.mjs → MySiteScreen-CyzM9hX3.mjs} +11 -30
  17. package/dist/{MySiteScreen-DUN5TTvU.mjs.map → MySiteScreen-CyzM9hX3.mjs.map} +1 -1
  18. package/dist/{MySiteScreen-B0aOIzU4.cjs → MySiteScreen-DPQ66oRs.cjs} +2 -2
  19. package/dist/{MySiteScreen-B1L8coGs.cjs → MySiteScreen-DxLcG3-S.cjs} +11 -30
  20. package/dist/MySiteScreen-DxLcG3-S.cjs.map +1 -0
  21. package/dist/{MySiteWidget-CDQjyrRA.cjs → MySiteWidget-8UsfEK-w.cjs} +1 -1
  22. package/dist/{MySiteWidget-CDQjyrRA.cjs.map → MySiteWidget-8UsfEK-w.cjs.map} +1 -1
  23. package/dist/{MySiteWidget-BlUbduit.mjs → MySiteWidget-D46TVWnf.mjs} +1 -1
  24. package/dist/{MySiteWidget-BlUbduit.mjs.map → MySiteWidget-D46TVWnf.mjs.map} +1 -1
  25. package/dist/{NestedWidget-ChAWwsRP.cjs → NestedWidget-BjT-UrSi.cjs} +2 -2
  26. package/dist/{NestedWidget-ChAWwsRP.cjs.map → NestedWidget-BjT-UrSi.cjs.map} +1 -1
  27. package/dist/{NestedWidget-Dw0QHoqw.mjs → NestedWidget-CEeQeCq0.mjs} +2 -2
  28. package/dist/{NestedWidget-Dw0QHoqw.mjs.map → NestedWidget-CEeQeCq0.mjs.map} +1 -1
  29. package/dist/{NestedWidget--suTLM6l.cjs → NestedWidget-D4amXykk.cjs} +2 -2
  30. package/dist/{PortalContentApiProvider-RXBp8FNj.cjs → PortalContentApiProvider-DXnplIOD.cjs} +273 -82
  31. package/dist/PortalContentApiProvider-DXnplIOD.cjs.map +1 -0
  32. package/dist/{PortalContentApiProvider-C9FeVwRb.mjs → PortalContentApiProvider-x81DXmOR.mjs} +273 -82
  33. package/dist/PortalContentApiProvider-x81DXmOR.mjs.map +1 -0
  34. package/dist/{ProductsScreen-DNpzJ6lh.cjs → ProductsScreen-3yjIMjYY.cjs} +2 -2
  35. package/dist/{ProductsScreen-pkOeOW8M.mjs → ProductsScreen-BVyLOe2K.mjs} +2 -2
  36. package/dist/{ProductsScreen-BD53vh6Y.cjs → ProductsScreen-R0MfWYZJ.cjs} +2 -2
  37. package/dist/{ProductsScreen-BD53vh6Y.cjs.map → ProductsScreen-R0MfWYZJ.cjs.map} +1 -1
  38. package/dist/{ProductsScreen-BtUZxJCt.mjs → ProductsScreen-z9hXfFeJ.mjs} +2 -2
  39. package/dist/{ProductsScreen-BtUZxJCt.mjs.map → ProductsScreen-z9hXfFeJ.mjs.map} +1 -1
  40. package/dist/{ProfileScreen-rPqgsNCc.cjs → ProfileScreen-B0WRifk_.cjs} +2 -2
  41. package/dist/{ProfileScreen-rPqgsNCc.cjs.map → ProfileScreen-B0WRifk_.cjs.map} +1 -1
  42. package/dist/{ProfileScreen-CNYqUDNB.mjs → ProfileScreen-BuejQU_V.mjs} +2 -2
  43. package/dist/{ProfileScreen-CNYqUDNB.mjs.map → ProfileScreen-BuejQU_V.mjs.map} +1 -1
  44. package/dist/{ProfileScreen-Bgo6iTKe.cjs → ProfileScreen-g3se9Jw-.cjs} +6 -6
  45. package/dist/{ShareablesScreen-DC8xXUo4.cjs → ShareablesScreen-Co_gFZva.cjs} +3 -3
  46. package/dist/{ShareablesScreen-DC8xXUo4.cjs.map → ShareablesScreen-Co_gFZva.cjs.map} +1 -1
  47. package/dist/{ShareablesScreen-D1J2Kljk.mjs → ShareablesScreen-DpwFh0ky.mjs} +3 -3
  48. package/dist/{ShareablesScreen-smU5pGyH.cjs → ShareablesScreen-YlMqyP-B.cjs} +3 -3
  49. package/dist/{ShareablesScreen-CW1e9x4K.mjs → ShareablesScreen-tkaf9R5N.mjs} +3 -3
  50. package/dist/{ShareablesScreen-CW1e9x4K.mjs.map → ShareablesScreen-tkaf9R5N.mjs.map} +1 -1
  51. package/dist/{ShopScreen-B9lHJ8L2.mjs → ShopScreen-B4afB5sE.mjs} +2 -2
  52. package/dist/{ShopScreen-B9lHJ8L2.mjs.map → ShopScreen-B4afB5sE.mjs.map} +1 -1
  53. package/dist/{ShopScreen-g6FQ4R1_.cjs → ShopScreen-BOjri6Dm.cjs} +6 -6
  54. package/dist/{ShopScreen-DUHzufCU.cjs → ShopScreen-Untg6XBY.cjs} +2 -2
  55. package/dist/{ShopScreen-DUHzufCU.cjs.map → ShopScreen-Untg6XBY.cjs.map} +1 -1
  56. package/dist/index.cjs +27 -27
  57. package/dist/index.d.cts.map +1 -1
  58. package/dist/index.d.mts.map +1 -1
  59. package/dist/index.mjs +25 -25
  60. package/dist/{portal_tenant_content-0zpnjBot.cjs → portal_tenant_content-BvYxmADB.cjs} +18 -1
  61. package/dist/portal_tenant_content-BvYxmADB.cjs.map +1 -0
  62. package/dist/{portal_tenant_content-DzIQtSLE.mjs → portal_tenant_content-nHEI2qEY.mjs} +13 -2
  63. package/dist/portal_tenant_content-nHEI2qEY.mjs.map +1 -0
  64. package/dist/{scroll-arrows-fK_MFlSX.mjs → scroll-arrows-COrfvJk9.mjs} +1 -1
  65. package/dist/{scroll-arrows-fK_MFlSX.mjs.map → scroll-arrows-COrfvJk9.mjs.map} +1 -1
  66. package/dist/{scroll-arrows-DVwMDTt3.cjs → scroll-arrows-i0E2N-ct.cjs} +1 -1
  67. package/dist/{scroll-arrows-DVwMDTt3.cjs.map → scroll-arrows-i0E2N-ct.cjs.map} +1 -1
  68. package/dist/{use-mysite-portal-BV-BP3CE.mjs → use-mysite-portal-D29HLD1z.mjs} +3 -2
  69. package/dist/use-mysite-portal-D29HLD1z.mjs.map +1 -0
  70. package/dist/{use-mysite-portal-DzDYRU0u.cjs → use-mysite-portal-DxNQ3uTi.cjs} +3 -2
  71. package/dist/use-mysite-portal-DxNQ3uTi.cjs.map +1 -0
  72. package/package.json +9 -9
  73. package/dist/ListWidget-C7ouNpEo.cjs.map +0 -1
  74. package/dist/ListWidget-Ct8IDkio.mjs.map +0 -1
  75. package/dist/MySiteScreen-B1L8coGs.cjs.map +0 -1
  76. package/dist/PortalContentApiProvider-C9FeVwRb.mjs.map +0 -1
  77. package/dist/PortalContentApiProvider-RXBp8FNj.cjs.map +0 -1
  78. package/dist/portal_tenant_content-0zpnjBot.cjs.map +0 -1
  79. package/dist/portal_tenant_content-DzIQtSLE.mjs.map +0 -1
  80. package/dist/use-mysite-portal-BV-BP3CE.mjs.map +0 -1
  81. package/dist/use-mysite-portal-DzDYRU0u.cjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./es-Cw_Kikmu.mjs";
2
- import { a as createScreen, c as FluidThemeProvider, h as deleteDatabase, i as widgetPropertySchemas, l as useThemeContext, m as createPersister, n as useFluidContext, o as createWidgetFromShareable, p as useAppDefinitionApi, r as DEFAULT_SDK_WIDGET_REGISTRY, s as createWidgetRegistry, t as FluidProvider } from "./FluidProvider-02beRTpR.mjs";
2
+ import { a as createScreen, c as FluidThemeProvider, h as deleteDatabase, i as widgetPropertySchemas, l as useThemeContext, m as createPersister, n as useFluidContext, o as createWidgetFromShareable, p as useAppDefinitionApi, r as DEFAULT_SDK_WIDGET_REGISTRY, s as createWidgetRegistry, t as FluidProvider } from "./FluidProvider-DTttgSXi.mjs";
3
3
  import { a as assertNever, i as assertDefined, n as DataAwareWidget, o as isWidgetType, r as WIDGET_TYPE_NAMES, s as isWidgetTypeName, u as useRegistry } from "./ScreenRenderer-BqDTKZEZ.mjs";
4
4
  import "./account-api-context-BIZ_aibJ.mjs";
5
5
  import "./store-api-context-C1lXT_3d.mjs";
@@ -23,16 +23,16 @@ import "./MediaRenderer-C-cxsqLq.mjs";
23
23
  import { r as carouselWidgetPropertySchema, t as CarouselWidget } from "./CarouselWidget-BgC0HGMZ.mjs";
24
24
  import { r as catchUpWidgetPropertySchema, t as CatchUpWidget } from "./CatchUpWidget-DP8J9FQV.mjs";
25
25
  import { C as Skeleton$1, En as Button, Pn as cn$1, _t as CollapsibleContent, gt as Collapsible, ht as PopoverTrigger, mt as PopoverContent, pt as Popover, vt as CollapsibleTrigger, x as Toaster } from "./src-BEKH1DXO.mjs";
26
- import { a as useMessagingConfig, i as createFluidFileUploader, o as useMessagingAuth, r as messagingScreenPropertySchema, t as MessagingScreen } from "./MessagingScreen-CJlVOY5R.mjs";
26
+ import { a as useMessagingConfig, i as createFluidFileUploader, o as useMessagingAuth, r as messagingScreenPropertySchema, t as MessagingScreen } from "./MessagingScreen-CwEXQJlW.mjs";
27
27
  import { r as subscriptionsScreenPropertySchema, t as SubscriptionsScreen } from "./SubscriptionsScreen-CwUdB9rW.mjs";
28
28
  import { r as chartWidgetPropertySchema, t as ChartWidget } from "./ChartWidget-BWO9tzbX.mjs";
29
29
  import { r as containerWidgetPropertySchema, t as ContainerWidget } from "./ContainerWidget-DQwZ-weo.mjs";
30
30
  import { r as imageWidgetPropertySchema, t as ImageWidget } from "./ImageWidget-DujbXwHa.mjs";
31
31
  import { r as linkWidgetPropertySchema, t as LinkWidget } from "./LinkWidget-BMfXLN7r.mjs";
32
- import { r as listWidgetPropertySchema, t as ListWidget } from "./ListWidget-Ct8IDkio.mjs";
33
- import "./scroll-arrows-fK_MFlSX.mjs";
34
- import { r as mySiteWidgetPropertySchema, t as MySiteWidget } from "./MySiteWidget-BlUbduit.mjs";
35
- import { r as nestedWidgetPropertySchema, t as NestedWidget } from "./NestedWidget-Dw0QHoqw.mjs";
32
+ import { r as listWidgetPropertySchema, t as ListWidget } from "./ListWidget-D7y8bfvT.mjs";
33
+ import { r as mySiteWidgetPropertySchema, t as MySiteWidget } from "./MySiteWidget-D46TVWnf.mjs";
34
+ import "./scroll-arrows-COrfvJk9.mjs";
35
+ import { r as nestedWidgetPropertySchema, t as NestedWidget } from "./NestedWidget-CEeQeCq0.mjs";
36
36
  import { r as pointsWidgetPropertySchema, t as PointsWidget } from "./PointsWidget-DQNaaVRR.mjs";
37
37
  import { r as quickLinksWidgetPropertySchema, t as QuickLinksWidget } from "./QuickLinksWidget-D8RlDvkB.mjs";
38
38
  import { r as quickShareWidgetPropertySchema, t as QuickShareWidget } from "./QuickShareWidget-BURtESV2.mjs";
@@ -47,7 +47,7 @@ import { t as useAccount } from "./use-account-Cvig0exB.mjs";
47
47
  import { t as useStore } from "./use-store-efmQhKpB.mjs";
48
48
  import { i as CoreScreenPlaceholder, r as customersScreenPropertySchema, t as CustomersScreen } from "./CustomersScreen-DSNokGQu.mjs";
49
49
  import { n as useAppNavigation, t as AppNavigationProvider } from "./AppNavigationContext-Cq3BDKSf.mjs";
50
- import { r as profileScreenPropertySchema, t as ProfileScreen } from "./ProfileScreen-CNYqUDNB.mjs";
50
+ import { r as profileScreenPropertySchema, t as ProfileScreen } from "./ProfileScreen-BuejQU_V.mjs";
51
51
  import "./dist-D39Yezrv.mjs";
52
52
  import { r as contactsScreenPropertySchema, t as ContactsScreen } from "./ContactsScreen-CbV-r1fn.mjs";
53
53
  import "./SearchSort-DXBt-uj0.mjs";
@@ -55,14 +55,14 @@ import "./InfiniteScrollSentinel-DCxWTHrA.mjs";
55
55
  import "./dist-Cis8L6HV.mjs";
56
56
  import "./order-status-badge-b0F_B7mu.mjs";
57
57
  import { r as ordersScreenPropertySchema, t as OrdersScreen } from "./OrdersScreen-D-SgUl2a.mjs";
58
- import "./PortalContentApiProvider-C9FeVwRb.mjs";
58
+ import "./PortalContentApiProvider-x81DXmOR.mjs";
59
59
  import "./sortable.esm-CJLSD-Ce.mjs";
60
60
  import "./PortalProductsApiProvider-CE71zDj9.mjs";
61
- import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-BtUZxJCt.mjs";
62
- import "./use-mysite-portal-BV-BP3CE.mjs";
63
- import { r as mySiteScreenPropertySchema, t as MySiteScreen } from "./MySiteScreen-DUN5TTvU.mjs";
64
- import { n as shareablesScreenPropertySchema, t as ShareablesScreen } from "./ShareablesScreen-CW1e9x4K.mjs";
65
- import { r as shopScreenPropertySchema, t as ShopScreen } from "./ShopScreen-B9lHJ8L2.mjs";
61
+ import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-z9hXfFeJ.mjs";
62
+ import "./use-mysite-portal-D29HLD1z.mjs";
63
+ import { r as mySiteScreenPropertySchema, t as MySiteScreen } from "./MySiteScreen-CyzM9hX3.mjs";
64
+ import { n as shareablesScreenPropertySchema, t as ShareablesScreen } from "./ShareablesScreen-tkaf9R5N.mjs";
65
+ import { r as shopScreenPropertySchema, t as ShopScreen } from "./ShopScreen-B4afB5sE.mjs";
66
66
  import "./UpgradeScreen-Dau5Elx4.mjs";
67
67
  import "./AppDownloadScreen-CZ0EOIZ5.mjs";
68
68
  import * as React$1 from "react";
@@ -2133,16 +2133,16 @@ function AccountManageLayout({ children }) {
2133
2133
  }
2134
2134
  //#endregion
2135
2135
  //#region src/shell/system-screen-map.ts
2136
- const ProfileScreen$1 = lazy(() => import("./ProfileScreen-CNYqUDNB.mjs").then((n) => n.n).then((m) => ({ default: m.ProfileScreen })));
2136
+ const ProfileScreen$1 = lazy(() => import("./ProfileScreen-BuejQU_V.mjs").then((n) => n.n).then((m) => ({ default: m.ProfileScreen })));
2137
2137
  const OrdersScreen$1 = lazy(() => import("./OrdersScreen-D-SgUl2a.mjs").then((n) => n.n).then((m) => ({ default: m.OrdersScreen })));
2138
2138
  const SubscriptionsScreen$1 = lazy(() => import("./SubscriptionsScreen-CwUdB9rW.mjs").then((n) => n.n).then((m) => ({ default: m.SubscriptionsScreen })));
2139
- const MessagingScreen$1 = lazy(() => import("./MessagingScreen-CJlVOY5R.mjs").then((n) => n.n).then((m) => ({ default: m.MessagingScreen })));
2139
+ const MessagingScreen$1 = lazy(() => import("./MessagingScreen-CwEXQJlW.mjs").then((n) => n.n).then((m) => ({ default: m.MessagingScreen })));
2140
2140
  const ContactsScreen$1 = lazy(() => import("./ContactsScreen-CbV-r1fn.mjs").then((n) => n.n).then((m) => ({ default: m.ContactsScreen })));
2141
- const ShopScreen$1 = lazy(() => import("./ShopScreen-B9lHJ8L2.mjs").then((n) => n.n).then((m) => ({ default: m.ShopScreen })));
2141
+ const ShopScreen$1 = lazy(() => import("./ShopScreen-B4afB5sE.mjs").then((n) => n.n).then((m) => ({ default: m.ShopScreen })));
2142
2142
  const CustomersScreen$1 = lazy(() => import("./CustomersScreen-DSNokGQu.mjs").then((n) => n.n).then((m) => ({ default: m.CustomersScreen })));
2143
- const ProductsScreen$1 = lazy(() => import("./ProductsScreen-pkOeOW8M.mjs").then((m) => ({ default: m.ProductsScreen })));
2144
- const ShareablesScreen$1 = lazy(() => import("./ShareablesScreen-D1J2Kljk.mjs").then((m) => ({ default: m.ShareablesScreen })));
2145
- const MySiteScreen$1 = lazy(() => import("./MySiteScreen-DUN5TTvU.mjs").then((n) => n.n).then((m) => ({ default: m.MySiteScreen })));
2143
+ const ProductsScreen$1 = lazy(() => import("./ProductsScreen-BVyLOe2K.mjs").then((m) => ({ default: m.ProductsScreen })));
2144
+ const ShareablesScreen$1 = lazy(() => import("./ShareablesScreen-DpwFh0ky.mjs").then((m) => ({ default: m.ShareablesScreen })));
2145
+ const MySiteScreen$1 = lazy(() => import("./MySiteScreen-CyzM9hX3.mjs").then((n) => n.n).then((m) => ({ default: m.MySiteScreen })));
2146
2146
  const UpgradeScreen = lazy(() => import("./UpgradeScreen-Dau5Elx4.mjs").then((n) => n.t).then((m) => ({ default: m.UpgradeScreen })));
2147
2147
  const AppDownloadScreen = lazy(() => import("./AppDownloadScreen-CZ0EOIZ5.mjs").then((n) => n.t).then((m) => ({ default: m.AppDownloadScreen })));
2148
2148
  const SYSTEM_SLUG_SCREEN_MAP = {
@@ -3628,16 +3628,16 @@ z.object({
3628
3628
  //#endregion
3629
3629
  //#region src/screens/index.ts
3630
3630
  const screenPropertySchemas = {
3631
- ProfileScreen: () => import("./ProfileScreen-CNYqUDNB.mjs").then((n) => n.n).then((m) => m.profileScreenPropertySchema),
3632
- MessagingScreen: () => import("./MessagingScreen-CJlVOY5R.mjs").then((n) => n.n).then((m) => m.messagingScreenPropertySchema),
3631
+ ProfileScreen: () => import("./ProfileScreen-BuejQU_V.mjs").then((n) => n.n).then((m) => m.profileScreenPropertySchema),
3632
+ MessagingScreen: () => import("./MessagingScreen-CwEXQJlW.mjs").then((n) => n.n).then((m) => m.messagingScreenPropertySchema),
3633
3633
  ContactsScreen: () => import("./ContactsScreen-CbV-r1fn.mjs").then((n) => n.n).then((m) => m.contactsScreenPropertySchema),
3634
3634
  OrdersScreen: () => import("./OrdersScreen-D-SgUl2a.mjs").then((n) => n.n).then((m) => m.ordersScreenPropertySchema),
3635
3635
  SubscriptionsScreen: () => import("./SubscriptionsScreen-CwUdB9rW.mjs").then((n) => n.n).then((m) => m.subscriptionsScreenPropertySchema),
3636
3636
  CustomersScreen: () => import("./CustomersScreen-DSNokGQu.mjs").then((n) => n.n).then((m) => m.customersScreenPropertySchema),
3637
- ProductsScreen: () => import("./ProductsScreen-pkOeOW8M.mjs").then((m) => m.productsScreenPropertySchema),
3638
- MySiteScreen: () => import("./MySiteScreen-DUN5TTvU.mjs").then((n) => n.n).then((m) => m.mySiteScreenPropertySchema),
3639
- ShareablesScreen: () => import("./ShareablesScreen-D1J2Kljk.mjs").then((m) => m.shareablesScreenPropertySchema),
3640
- ShopScreen: () => import("./ShopScreen-B9lHJ8L2.mjs").then((n) => n.n).then((m) => m.shopScreenPropertySchema),
3637
+ ProductsScreen: () => import("./ProductsScreen-BVyLOe2K.mjs").then((m) => m.productsScreenPropertySchema),
3638
+ MySiteScreen: () => import("./MySiteScreen-CyzM9hX3.mjs").then((n) => n.n).then((m) => m.mySiteScreenPropertySchema),
3639
+ ShareablesScreen: () => import("./ShareablesScreen-DpwFh0ky.mjs").then((m) => m.shareablesScreenPropertySchema),
3640
+ ShopScreen: () => import("./ShopScreen-B4afB5sE.mjs").then((n) => n.n).then((m) => m.shopScreenPropertySchema),
3641
3641
  UpgradeScreen: () => import("./UpgradeScreen-Dau5Elx4.mjs").then((n) => n.t).then((m) => m.upgradeScreenPropertySchema),
3642
3642
  AppDownloadScreen: () => import("./AppDownloadScreen-CZ0EOIZ5.mjs").then((n) => n.t).then((m) => m.appDownloadScreenPropertySchema)
3643
3643
  };
@@ -157,6 +157,17 @@ async function playlists_items_add(client, playlist_id, body) {
157
157
  return client.post(`/api/content/playlists/${playlist_id}/items`, body);
158
158
  }
159
159
  /**
160
+ * Reorder items in a playlist
161
+ * Sets the order of items in a playlist. Items not included in the payload are not moved. Flips the playlist to manual ordering.
162
+ *
163
+ * @param client - Fetch client instance
164
+ * @param playlist_id - playlist_id
165
+ * @param body - body
166
+ */
167
+ async function playlists_items_reorder(client, playlist_id, body) {
168
+ return client.patch(`/api/content/playlists/${playlist_id}/items/reorder`, body);
169
+ }
170
+ /**
160
171
  * Remove an item from a playlist
161
172
  * Removes a single item from a playlist.
162
173
  *
@@ -498,6 +509,12 @@ Object.defineProperty(exports, "playlists_items_remove", {
498
509
  return playlists_items_remove;
499
510
  }
500
511
  });
512
+ Object.defineProperty(exports, "playlists_items_reorder", {
513
+ enumerable: true,
514
+ get: function() {
515
+ return playlists_items_reorder;
516
+ }
517
+ });
501
518
  Object.defineProperty(exports, "playlists_list", {
502
519
  enumerable: true,
503
520
  get: function() {
@@ -529,4 +546,4 @@ Object.defineProperty(exports, "shares_list", {
529
546
  }
530
547
  });
531
548
 
532
- //# sourceMappingURL=portal_tenant_content-0zpnjBot.cjs.map
549
+ //# sourceMappingURL=portal_tenant_content-BvYxmADB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal_tenant_content-BvYxmADB.cjs","names":[],"sources":["../../../api-clients/portal-tenant-content/src/namespaces/portal_tenant_content.ts"],"sourcesContent":["/**\n * Generated API client functions for portal_tenant_content\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-content\";\n\n// ============================================================================\n// content\n// ============================================================================\n\n/**\n * List media (own uploads and company share media)\n * Returns a paginated list of the member's own uploads and company share media. Training and update media are excluded.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function media_list(\n client: FetchClient,\n params?: operations[\"media_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media`, params);\n}\n\n/**\n * Create a new media item\n * Creates a new media item record.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function media_create(\n client: FetchClient,\n body: operations[\"media_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media`, body);\n}\n\n/**\n * Get a specific media item\n * Returns a single media item by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${id}`);\n}\n\n/**\n * Update a media item (own uploads only)\n * Updates a media item's title, description, status, url, content_format, thumbnail, CTA, and SEO.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function media_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"media_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/media/${id}`, body);\n}\n\n/**\n * Delete a media item (own uploads only)\n * Removes a media item.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${id}`);\n}\n\n/**\n * List products associated with a media item\n * Returns a paginated list of products associated with a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param [params] - params\n */\nexport async function media_products_list(\n client: FetchClient,\n medium_id: string | number,\n params?: operations[\"media_products_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_products_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${medium_id}/products`, params);\n}\n\n/**\n * Associate a product with a media item\n * Creates a product association for a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param body - body\n */\nexport async function media_products_add(\n client: FetchClient,\n medium_id: string | number,\n body: operations[\"media_products_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_products_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media/${medium_id}/products`, body);\n}\n\n/**\n * Remove a product association from a media item\n * Removes a single product association from a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param id - id\n */\nexport async function media_products_remove(\n client: FetchClient,\n medium_id: string | number,\n id: string | number,\n): Promise<\n operations[\"media_products_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${medium_id}/products/${id}`);\n}\n\n/**\n * List playlists with cursor pagination\n * Returns a paginated list of playlists.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function playlists_list(\n client: FetchClient,\n params?: operations[\"playlists_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists`, params);\n}\n\n/**\n * Create a new playlist\n * Creates a new playlist.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function playlists_create(\n client: FetchClient,\n body: operations[\"playlists_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists`, body);\n}\n\n/**\n * Get a specific playlist\n * Returns a single playlist by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${id}`);\n}\n\n/**\n * Update a playlist\n * Updates a playlist's title or metadata.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function playlists_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"playlists_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/playlists/${id}`, body);\n}\n\n/**\n * Delete a playlist\n * Removes a playlist.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${id}`);\n}\n\n/**\n * List items in a playlist\n * Returns a paginated list of items in a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param [params] - params\n */\nexport async function playlists_items_list(\n client: FetchClient,\n playlist_id: string | number,\n params?: operations[\"playlists_items_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_items_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${playlist_id}/items`, params);\n}\n\n/**\n * Add an item to a playlist\n * Adds a media item to a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param body - body\n */\nexport async function playlists_items_add(\n client: FetchClient,\n playlist_id: string | number,\n body: operations[\"playlists_items_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_items_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists/${playlist_id}/items`, body);\n}\n\n/**\n * Reorder items in a playlist\n * Sets the order of items in a playlist. Items not included in the payload are not moved. Flips the playlist to manual ordering.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param body - body\n */\nexport async function playlists_items_reorder(\n client: FetchClient,\n playlist_id: string | number,\n body: operations[\"playlists_items_reorder\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_items_reorder\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(\n `/api/content/playlists/${playlist_id}/items/reorder`,\n body,\n );\n}\n\n/**\n * Remove an item from a playlist\n * Removes a single item from a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param id - id\n */\nexport async function playlists_items_remove(\n client: FetchClient,\n playlist_id: string | number,\n id: string | number,\n): Promise<\n operations[\"playlists_items_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${playlist_id}/items/${id}`);\n}\n\n/**\n * Get a specific page\n * Returns a single page by ID, scoped to the authenticated rep's company. Response is a lean portal-BFF shape rendered by PortalTenant::Api::PageBlueprinter — not the legacy admin shape. Admin-only fields (html_code, application_theme_template, search_engine_optimizer, open_graph, prompts, etc.) are intentionally omitted.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function pages_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"pages_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/${id}`);\n}\n\n/**\n * List share links for the current user\n * Returns a paginated list of share links.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function shares_list(\n client: FetchClient,\n params?: operations[\"shares_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"shares_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/shares`, params);\n}\n\n/**\n * Create a share link\n * Creates a new share link for content.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function shares_create(\n client: FetchClient,\n body: operations[\"shares_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"shares_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/shares`, body);\n}\n\n/**\n * List DAM assets\n * Returns a paginated list of DAM assets for the company.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function dam_assets_list(\n client: FetchClient,\n params?: operations[\"dam_assets_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_assets_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets`, params);\n}\n\n/**\n * Create a DAM asset\n * Creates a new DAM asset. Supports two modes:\n1. **JSON placeholder** — send `application/json` with `asset[name]` to\n create a placeholder record for later file upload.\n\n2. **File upload** — send `multipart/form-data` with `asset[file]`,\n `asset[name]`, and optionally `asset[description]` and `asset[tags]`\n to upload a file and create the full asset with variants.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_assets_create(\n client: FetchClient,\n body: operations[\"dam_assets_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_assets_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets`, body);\n}\n\n/**\n * List paths for a DAM asset\n * Returns a paginated list of path aliases for a DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param [params] - params\n */\nexport async function dam_asset_paths_list(\n client: FetchClient,\n asset_code: string | number,\n params?: operations[\"dam_asset_paths_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_asset_paths_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets/${asset_code}/paths`, params);\n}\n\n/**\n * Create a path alias for a DAM asset\n * Creates a new path alias for an existing DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param body - body\n */\nexport async function dam_asset_paths_create(\n client: FetchClient,\n asset_code: string | number,\n body: operations[\"dam_asset_paths_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_asset_paths_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets/${asset_code}/paths`, body);\n}\n\n/**\n * Query DAM assets using tree paths and tags\n * Searches and retrieves DAM assets using tree path pattern matching, tag-based variant filtering, wildcard name matching, and partial search. Supports cursor pagination for large result sets.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_query(\n client: FetchClient,\n body: operations[\"dam_query\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_query\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/query`, body);\n}\n\n/**\n * Delete a DAM asset\n * Permanently destroys a DAM asset, including its ImageKit storage, variants, and database records.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_destroy(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/dam/assets/${code}`);\n}\n\n/**\n * Discard (soft-delete) a DAM asset\n * Soft-deletes a DAM asset. Used to discard an in-progress upload without permanently removing the record.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_discard(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_discard\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/dam/assets/${code}/discard`);\n}\n\n/**\n * Toggle favorite status on a content item\n * Toggles the favorite status of a content item for the authenticated member. If the item is not currently favorited, it becomes favorited. If it is already favorited, the favorite is removed.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function favorites_toggle(\n client: FetchClient,\n body: operations[\"favorites_toggle\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"favorites_toggle\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/favorites/toggle`, body);\n}\n\n// ============================================================================\n// media_metrics\n// ============================================================================\n\n/**\n * Top media by direct visits\n * Ranked list of the company's media by total visits (aggregates metrics_media_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/visits`, params);\n}\n\n/**\n * Top media by share-link visits\n * Ranked list of the company's media by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Medium').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// playlist_metrics\n// ============================================================================\n\n/**\n * Top playlists by direct visits\n * Ranked list of the company's playlists by total visits (aggregates metrics_library_visits since playlists are stored in the libraries table).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/visits`, params);\n}\n\n/**\n * Top playlists by share-link visits\n * Ranked list of the company's playlists by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Library').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// page_metrics\n// ============================================================================\n\n/**\n * Top pages by direct visits\n * Ranked list of the company's pages by total visits (aggregates metrics_page_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/visits`, params);\n}\n\n/**\n * Top pages by share-link visits\n * Ranked list of the company's pages by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Page').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/share_visits`, params);\n}\n"],"mappings":"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"}
@@ -157,6 +157,17 @@ async function playlists_items_add(client, playlist_id, body) {
157
157
  return client.post(`/api/content/playlists/${playlist_id}/items`, body);
158
158
  }
159
159
  /**
160
+ * Reorder items in a playlist
161
+ * Sets the order of items in a playlist. Items not included in the payload are not moved. Flips the playlist to manual ordering.
162
+ *
163
+ * @param client - Fetch client instance
164
+ * @param playlist_id - playlist_id
165
+ * @param body - body
166
+ */
167
+ async function playlists_items_reorder(client, playlist_id, body) {
168
+ return client.patch(`/api/content/playlists/${playlist_id}/items/reorder`, body);
169
+ }
170
+ /**
160
171
  * Remove an item from a playlist
161
172
  * Removes a single item from a playlist.
162
173
  *
@@ -336,6 +347,6 @@ async function content_pages_metrics_share_visits(client, params) {
336
347
  return client.get(`/api/content/pages/metrics/share_visits`, params);
337
348
  }
338
349
  //#endregion
339
- export { playlists_update as A, playlists_create as C, playlists_items_remove as D, playlists_items_list as E, shares_list as M, playlists_list as O, pages_show as S, playlists_items_add as T, media_products_add as _, content_playlists_metrics_share_visits as a, media_show as b, dam_asset_paths_list as c, dam_assets_discard as d, dam_assets_list as f, media_list as g, media_destroy as h, content_pages_metrics_visits as i, shares_create as j, playlists_show as k, dam_assets_create as l, media_create as m, content_media_metrics_visits as n, content_playlists_metrics_visits as o, dam_query as p, content_pages_metrics_share_visits as r, dam_asset_paths_create as s, content_media_metrics_share_visits as t, dam_assets_destroy as u, media_products_list as v, playlists_destroy as w, media_update as x, media_products_remove as y };
350
+ export { playlists_show as A, playlists_create as C, playlists_items_remove as D, playlists_items_list as E, shares_create as M, shares_list as N, playlists_items_reorder as O, pages_show as S, playlists_items_add as T, media_products_add as _, content_playlists_metrics_share_visits as a, media_show as b, dam_asset_paths_list as c, dam_assets_discard as d, dam_assets_list as f, media_list as g, media_destroy as h, content_pages_metrics_visits as i, playlists_update as j, playlists_list as k, dam_assets_create as l, media_create as m, content_media_metrics_visits as n, content_playlists_metrics_visits as o, dam_query as p, content_pages_metrics_share_visits as r, dam_asset_paths_create as s, content_media_metrics_share_visits as t, dam_assets_destroy as u, media_products_list as v, playlists_destroy as w, media_update as x, media_products_remove as y };
340
351
 
341
- //# sourceMappingURL=portal_tenant_content-DzIQtSLE.mjs.map
352
+ //# sourceMappingURL=portal_tenant_content-nHEI2qEY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal_tenant_content-nHEI2qEY.mjs","names":[],"sources":["../../../api-clients/portal-tenant-content/src/namespaces/portal_tenant_content.ts"],"sourcesContent":["/**\n * Generated API client functions for portal_tenant_content\n *\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file is auto-generated. To update:\n * 1. Update the OpenAPI spec file\n * 2. Run: pnpm generate\n */\n\nimport type { FetchClient } from \"../lib/fetch-client\";\nimport type { operations } from \"../generated/portal-tenant-content\";\n\n// ============================================================================\n// content\n// ============================================================================\n\n/**\n * List media (own uploads and company share media)\n * Returns a paginated list of the member's own uploads and company share media. Training and update media are excluded.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function media_list(\n client: FetchClient,\n params?: operations[\"media_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media`, params);\n}\n\n/**\n * Create a new media item\n * Creates a new media item record.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function media_create(\n client: FetchClient,\n body: operations[\"media_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media`, body);\n}\n\n/**\n * Get a specific media item\n * Returns a single media item by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${id}`);\n}\n\n/**\n * Update a media item (own uploads only)\n * Updates a media item's title, description, status, url, content_format, thumbnail, CTA, and SEO.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function media_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"media_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/media/${id}`, body);\n}\n\n/**\n * Delete a media item (own uploads only)\n * Removes a media item.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function media_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"media_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${id}`);\n}\n\n/**\n * List products associated with a media item\n * Returns a paginated list of products associated with a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param [params] - params\n */\nexport async function media_products_list(\n client: FetchClient,\n medium_id: string | number,\n params?: operations[\"media_products_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"media_products_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/${medium_id}/products`, params);\n}\n\n/**\n * Associate a product with a media item\n * Creates a product association for a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param body - body\n */\nexport async function media_products_add(\n client: FetchClient,\n medium_id: string | number,\n body: operations[\"media_products_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"media_products_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/media/${medium_id}/products`, body);\n}\n\n/**\n * Remove a product association from a media item\n * Removes a single product association from a media item.\n *\n * @param client - Fetch client instance\n * @param medium_id - medium_id\n * @param id - id\n */\nexport async function media_products_remove(\n client: FetchClient,\n medium_id: string | number,\n id: string | number,\n): Promise<\n operations[\"media_products_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/media/${medium_id}/products/${id}`);\n}\n\n/**\n * List playlists with cursor pagination\n * Returns a paginated list of playlists.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function playlists_list(\n client: FetchClient,\n params?: operations[\"playlists_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists`, params);\n}\n\n/**\n * Create a new playlist\n * Creates a new playlist.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function playlists_create(\n client: FetchClient,\n body: operations[\"playlists_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists`, body);\n}\n\n/**\n * Get a specific playlist\n * Returns a single playlist by ID.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${id}`);\n}\n\n/**\n * Update a playlist\n * Updates a playlist's title or metadata.\n *\n * @param client - Fetch client instance\n * @param id - id\n * @param body - body\n */\nexport async function playlists_update(\n client: FetchClient,\n id: string | number,\n body: operations[\"playlists_update\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_update\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/playlists/${id}`, body);\n}\n\n/**\n * Delete a playlist\n * Removes a playlist.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function playlists_destroy(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"playlists_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${id}`);\n}\n\n/**\n * List items in a playlist\n * Returns a paginated list of items in a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param [params] - params\n */\nexport async function playlists_items_list(\n client: FetchClient,\n playlist_id: string | number,\n params?: operations[\"playlists_items_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"playlists_items_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/${playlist_id}/items`, params);\n}\n\n/**\n * Add an item to a playlist\n * Adds a media item to a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param body - body\n */\nexport async function playlists_items_add(\n client: FetchClient,\n playlist_id: string | number,\n body: operations[\"playlists_items_add\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_items_add\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/playlists/${playlist_id}/items`, body);\n}\n\n/**\n * Reorder items in a playlist\n * Sets the order of items in a playlist. Items not included in the payload are not moved. Flips the playlist to manual ordering.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param body - body\n */\nexport async function playlists_items_reorder(\n client: FetchClient,\n playlist_id: string | number,\n body: operations[\"playlists_items_reorder\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"playlists_items_reorder\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(\n `/api/content/playlists/${playlist_id}/items/reorder`,\n body,\n );\n}\n\n/**\n * Remove an item from a playlist\n * Removes a single item from a playlist.\n *\n * @param client - Fetch client instance\n * @param playlist_id - playlist_id\n * @param id - id\n */\nexport async function playlists_items_remove(\n client: FetchClient,\n playlist_id: string | number,\n id: string | number,\n): Promise<\n operations[\"playlists_items_remove\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/playlists/${playlist_id}/items/${id}`);\n}\n\n/**\n * Get a specific page\n * Returns a single page by ID, scoped to the authenticated rep's company. Response is a lean portal-BFF shape rendered by PortalTenant::Api::PageBlueprinter — not the legacy admin shape. Admin-only fields (html_code, application_theme_template, search_engine_optimizer, open_graph, prompts, etc.) are intentionally omitted.\n *\n * @param client - Fetch client instance\n * @param id - id\n */\nexport async function pages_show(\n client: FetchClient,\n id: string | number,\n): Promise<\n operations[\"pages_show\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/${id}`);\n}\n\n/**\n * List share links for the current user\n * Returns a paginated list of share links.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function shares_list(\n client: FetchClient,\n params?: operations[\"shares_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"shares_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/shares`, params);\n}\n\n/**\n * Create a share link\n * Creates a new share link for content.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function shares_create(\n client: FetchClient,\n body: operations[\"shares_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"shares_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/shares`, body);\n}\n\n/**\n * List DAM assets\n * Returns a paginated list of DAM assets for the company.\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function dam_assets_list(\n client: FetchClient,\n params?: operations[\"dam_assets_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_assets_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets`, params);\n}\n\n/**\n * Create a DAM asset\n * Creates a new DAM asset. Supports two modes:\n1. **JSON placeholder** — send `application/json` with `asset[name]` to\n create a placeholder record for later file upload.\n\n2. **File upload** — send `multipart/form-data` with `asset[file]`,\n `asset[name]`, and optionally `asset[description]` and `asset[tags]`\n to upload a file and create the full asset with variants.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_assets_create(\n client: FetchClient,\n body: operations[\"dam_assets_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_assets_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets`, body);\n}\n\n/**\n * List paths for a DAM asset\n * Returns a paginated list of path aliases for a DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param [params] - params\n */\nexport async function dam_asset_paths_list(\n client: FetchClient,\n asset_code: string | number,\n params?: operations[\"dam_asset_paths_list\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"dam_asset_paths_list\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/dam/assets/${asset_code}/paths`, params);\n}\n\n/**\n * Create a path alias for a DAM asset\n * Creates a new path alias for an existing DAM asset.\n *\n * @param client - Fetch client instance\n * @param asset_code - asset_code\n * @param body - body\n */\nexport async function dam_asset_paths_create(\n client: FetchClient,\n asset_code: string | number,\n body: operations[\"dam_asset_paths_create\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_asset_paths_create\"][\"responses\"][201][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/assets/${asset_code}/paths`, body);\n}\n\n/**\n * Query DAM assets using tree paths and tags\n * Searches and retrieves DAM assets using tree path pattern matching, tag-based variant filtering, wildcard name matching, and partial search. Supports cursor pagination for large result sets.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function dam_query(\n client: FetchClient,\n body: operations[\"dam_query\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"dam_query\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/dam/query`, body);\n}\n\n/**\n * Delete a DAM asset\n * Permanently destroys a DAM asset, including its ImageKit storage, variants, and database records.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_destroy(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_destroy\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.delete(`/api/content/dam/assets/${code}`);\n}\n\n/**\n * Discard (soft-delete) a DAM asset\n * Soft-deletes a DAM asset. Used to discard an in-progress upload without permanently removing the record.\n *\n * @param client - Fetch client instance\n * @param code - code\n */\nexport async function dam_assets_discard(\n client: FetchClient,\n code: string | number,\n): Promise<\n operations[\"dam_assets_discard\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.patch(`/api/content/dam/assets/${code}/discard`);\n}\n\n/**\n * Toggle favorite status on a content item\n * Toggles the favorite status of a content item for the authenticated member. If the item is not currently favorited, it becomes favorited. If it is already favorited, the favorite is removed.\n *\n * @param client - Fetch client instance\n * @param body - body\n */\nexport async function favorites_toggle(\n client: FetchClient,\n body: operations[\"favorites_toggle\"][\"requestBody\"][\"content\"][\"application/json\"],\n): Promise<\n operations[\"favorites_toggle\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.post(`/api/content/favorites/toggle`, body);\n}\n\n// ============================================================================\n// media_metrics\n// ============================================================================\n\n/**\n * Top media by direct visits\n * Ranked list of the company's media by total visits (aggregates metrics_media_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/visits`, params);\n}\n\n/**\n * Top media by share-link visits\n * Ranked list of the company's media by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Medium').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_media_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_media_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_media_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/media/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// playlist_metrics\n// ============================================================================\n\n/**\n * Top playlists by direct visits\n * Ranked list of the company's playlists by total visits (aggregates metrics_library_visits since playlists are stored in the libraries table).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/visits`, params);\n}\n\n/**\n * Top playlists by share-link visits\n * Ranked list of the company's playlists by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Library').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_playlists_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_playlists_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_playlists_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/playlists/metrics/share_visits`, params);\n}\n\n// ============================================================================\n// page_metrics\n// ============================================================================\n\n/**\n * Top pages by direct visits\n * Ranked list of the company's pages by total visits (aggregates metrics_page_visits across all visit sources).\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/visits`, params);\n}\n\n/**\n * Top pages by share-link visits\n * Ranked list of the company's pages by click-throughs on rep share links (aggregates metrics_share_shareable_visits where shareable_type='Page').\n *\n * @param client - Fetch client instance\n * @param [params] - params\n */\nexport async function content_pages_metrics_share_visits(\n client: FetchClient,\n params?: operations[\"content_pages_metrics_share_visits\"][\"parameters\"][\"query\"],\n): Promise<\n operations[\"content_pages_metrics_share_visits\"][\"responses\"][200][\"content\"][\"application/json\"]\n> {\n return client.get(`/api/content/pages/metrics/share_visits`, params);\n}\n"],"mappings":"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"}
@@ -19,4 +19,4 @@ function ScrollArrows({ onPrevious, onNext }) {
19
19
  //#endregion
20
20
  export { ScrollArrows as t };
21
21
 
22
- //# sourceMappingURL=scroll-arrows-fK_MFlSX.mjs.map
22
+ //# sourceMappingURL=scroll-arrows-COrfvJk9.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-arrows-fK_MFlSX.mjs","names":[],"sources":["../../widgets/src/ui/scroll-arrows.tsx"],"sourcesContent":["import type React from \"react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\n\ntype ScrollArrowsProps = {\n onPrevious: () => void;\n onNext: () => void;\n};\n\nexport function ScrollArrows({\n onPrevious,\n onNext,\n}: ScrollArrowsProps): React.JSX.Element {\n return (\n <>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onPrevious}\n aria-label=\"Previous slide\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </button>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onNext}\n aria-label=\"Next slide\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </button>\n </>\n );\n}\n"],"mappings":";;;AAQA,SAAgB,aAAa,EAC3B,YACA,UACuC;AACvC,QACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,oBAAC,aAAD,EAAa,WAAU,WAAY,CAAA;EAC5B,CAAA,EACT,oBAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,oBAAC,cAAD,EAAc,WAAU,WAAY,CAAA;EAC7B,CAAA,CACR,EAAA,CAAA"}
1
+ {"version":3,"file":"scroll-arrows-COrfvJk9.mjs","names":[],"sources":["../../widgets/src/ui/scroll-arrows.tsx"],"sourcesContent":["import type React from \"react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\n\ntype ScrollArrowsProps = {\n onPrevious: () => void;\n onNext: () => void;\n};\n\nexport function ScrollArrows({\n onPrevious,\n onNext,\n}: ScrollArrowsProps): React.JSX.Element {\n return (\n <>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onPrevious}\n aria-label=\"Previous slide\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </button>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onNext}\n aria-label=\"Next slide\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </button>\n </>\n );\n}\n"],"mappings":";;;AAQA,SAAgB,aAAa,EAC3B,YACA,UACuC;AACvC,QACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,oBAAC,aAAD,EAAa,WAAU,WAAY,CAAA;EAC5B,CAAA,EACT,oBAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,oBAAC,cAAD,EAAc,WAAU,WAAY,CAAA;EAC7B,CAAA,CACR,EAAA,CAAA"}
@@ -25,4 +25,4 @@ Object.defineProperty(exports, "ScrollArrows", {
25
25
  }
26
26
  });
27
27
 
28
- //# sourceMappingURL=scroll-arrows-DVwMDTt3.cjs.map
28
+ //# sourceMappingURL=scroll-arrows-i0E2N-ct.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-arrows-DVwMDTt3.cjs","names":["ChevronLeft","ChevronRight"],"sources":["../../widgets/src/ui/scroll-arrows.tsx"],"sourcesContent":["import type React from \"react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\n\ntype ScrollArrowsProps = {\n onPrevious: () => void;\n onNext: () => void;\n};\n\nexport function ScrollArrows({\n onPrevious,\n onNext,\n}: ScrollArrowsProps): React.JSX.Element {\n return (\n <>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onPrevious}\n aria-label=\"Previous slide\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </button>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onNext}\n aria-label=\"Next slide\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </button>\n </>\n );\n}\n"],"mappings":";;;;AAQA,SAAgB,aAAa,EAC3B,YACA,UACuC;AACvC,QACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,iBAAA,GAAA,kBAAA,KAACA,aAAAA,aAAD,EAAa,WAAU,WAAY,CAAA;EAC5B,CAAA,EACT,iBAAA,GAAA,kBAAA,KAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,iBAAA,GAAA,kBAAA,KAACC,aAAAA,cAAD,EAAc,WAAU,WAAY,CAAA;EAC7B,CAAA,CACR,EAAA,CAAA"}
1
+ {"version":3,"file":"scroll-arrows-i0E2N-ct.cjs","names":["ChevronLeft","ChevronRight"],"sources":["../../widgets/src/ui/scroll-arrows.tsx"],"sourcesContent":["import type React from \"react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\n\ntype ScrollArrowsProps = {\n onPrevious: () => void;\n onNext: () => void;\n};\n\nexport function ScrollArrows({\n onPrevious,\n onNext,\n}: ScrollArrowsProps): React.JSX.Element {\n return (\n <>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onPrevious}\n aria-label=\"Previous slide\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </button>\n <button\n type=\"button\"\n className=\"bg-foreground text-background flex h-6 w-6 items-center justify-center rounded-2xl opacity-70 transition-colors hover:opacity-50 disabled:opacity-30\"\n onClick={onNext}\n aria-label=\"Next slide\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </button>\n </>\n );\n}\n"],"mappings":";;;;AAQA,SAAgB,aAAa,EAC3B,YACA,UACuC;AACvC,QACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,iBAAA,GAAA,kBAAA,KAACA,aAAAA,aAAD,EAAa,WAAU,WAAY,CAAA;EAC5B,CAAA,EACT,iBAAA,GAAA,kBAAA,KAAC,UAAD;EACE,MAAK;EACL,WAAU;EACV,SAAS;EACT,cAAW;YAEX,iBAAA,GAAA,kBAAA,KAACC,aAAAA,cAAD,EAAc,WAAU,WAAY,CAAA;EAC7B,CAAA,CACR,EAAA,CAAA"}
@@ -19,7 +19,8 @@ function usePortalUpdateProfile(options) {
19
19
  const queryClient = useQueryClient();
20
20
  return useMutation({
21
21
  mutationFn: (body) => api.updateProfile(body),
22
- onSuccess: () => {
22
+ onSuccess: (data) => {
23
+ queryClient.setQueryData(PORTAL_MYSITE_KEYS.profile(), data);
23
24
  queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.profile() });
24
25
  options?.onSuccess?.();
25
26
  }
@@ -138,4 +139,4 @@ function usePortalMySiteThemes() {
138
139
  //#endregion
139
140
  export { usePortalFavorites as a, usePortalMySiteThemes as c, usePortalUpdateLink as d, usePortalUpdateProfile as f, usePortalDeleteLink as i, usePortalReorderFavorites as l, usePortalCreateLink as n, usePortalLinks as o, usePortalUpdateSettings as p, usePortalDeleteFavorite as r, usePortalMySiteProfile as s, PORTAL_MYSITE_KEYS as t, usePortalReorderLinks as u };
140
141
 
141
- //# sourceMappingURL=use-mysite-portal-BV-BP3CE.mjs.map
142
+ //# sourceMappingURL=use-mysite-portal-D29HLD1z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mysite-portal-D29HLD1z.mjs","names":[],"sources":["../../../mysite/ui/src/portal/hooks/use-mysite-portal.ts"],"sourcesContent":["\"use client\";\n\nimport { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useMySiteApi } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n CreateLinkBody,\n UpdateLinkBody,\n UpdateProfileBody,\n UpdateSettingsBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\n\n// ---------------------------------------------------------------------------\n// Query keys — session-scoped, no userId/affiliateId needed\n// ---------------------------------------------------------------------------\n\nexport const PORTAL_MYSITE_KEYS = {\n profile: () => [\"portal-mysite\", \"profile\"] as const,\n links: () => [\"portal-mysite\", \"links\"] as const,\n favorites: () => [\"portal-mysite\", \"favorites\"] as const,\n themes: () => [\"portal-mysite\", \"themes\"] as const,\n};\n\n// ---------------------------------------------------------------------------\n// Profile hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteProfile() {\n const api = useMySiteApi();\n return useQuery<MySiteProfile>({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n queryFn: () => api.fetchProfile(),\n });\n}\n\nexport function usePortalUpdateProfile(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateProfileBody) => api.updateProfile(body),\n onSuccess: (data) => {\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.profile(), data);\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\nexport function usePortalUpdateSettings(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateSettingsBody) => api.updateSettings(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Links hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalLinks() {\n const api = useMySiteApi();\n return useQuery<MySiteLink[]>({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n queryFn: () => api.listLinks(),\n });\n}\n\nexport function usePortalCreateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: CreateLinkBody) => api.createLink(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalUpdateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ linkId, body }: { linkId: number; body: UpdateLinkBody }) =>\n api.updateLink(linkId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalDeleteLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (linkId: number) => api.deleteLink(linkId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalReorderLinks() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteLink[];\n }) => api.reorderLinks(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n const previousData = queryClient.getQueryData<MySiteLink[]>(\n PORTAL_MYSITE_KEYS.links(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.links(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Favorites hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalFavorites() {\n const api = useMySiteApi();\n return useQuery<MySiteFavorite[]>({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n queryFn: () => api.listFavorites(),\n });\n}\n\nexport function usePortalAddFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: AddFavoriteBody) => api.addFavorite(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalDeleteFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (favoriteId: number) => api.deleteFavorite(favoriteId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalReorderFavorites() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteFavorite[];\n }) => api.reorderFavorites(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n const previousData = queryClient.getQueryData<MySiteFavorite[]>(\n PORTAL_MYSITE_KEYS.favorites(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.favorites(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Themes hook\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteThemes() {\n const api = useMySiteApi();\n return useQuery<MySiteTheme[]>({\n queryKey: PORTAL_MYSITE_KEYS.themes(),\n queryFn: () => api.listThemes(),\n });\n}\n"],"mappings":"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"}
@@ -20,7 +20,8 @@ function usePortalUpdateProfile(options) {
20
20
  const queryClient = (0, _tanstack_react_query.useQueryClient)();
21
21
  return (0, _tanstack_react_query.useMutation)({
22
22
  mutationFn: (body) => api.updateProfile(body),
23
- onSuccess: () => {
23
+ onSuccess: (data) => {
24
+ queryClient.setQueryData(PORTAL_MYSITE_KEYS.profile(), data);
24
25
  queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.profile() });
25
26
  options?.onSuccess?.();
26
27
  }
@@ -216,4 +217,4 @@ Object.defineProperty(exports, "usePortalUpdateSettings", {
216
217
  }
217
218
  });
218
219
 
219
- //# sourceMappingURL=use-mysite-portal-DzDYRU0u.cjs.map
220
+ //# sourceMappingURL=use-mysite-portal-DxNQ3uTi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mysite-portal-DxNQ3uTi.cjs","names":["useMySiteApi"],"sources":["../../../mysite/ui/src/portal/hooks/use-mysite-portal.ts"],"sourcesContent":["\"use client\";\n\nimport { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useMySiteApi } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n CreateLinkBody,\n UpdateLinkBody,\n UpdateProfileBody,\n UpdateSettingsBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\n\n// ---------------------------------------------------------------------------\n// Query keys — session-scoped, no userId/affiliateId needed\n// ---------------------------------------------------------------------------\n\nexport const PORTAL_MYSITE_KEYS = {\n profile: () => [\"portal-mysite\", \"profile\"] as const,\n links: () => [\"portal-mysite\", \"links\"] as const,\n favorites: () => [\"portal-mysite\", \"favorites\"] as const,\n themes: () => [\"portal-mysite\", \"themes\"] as const,\n};\n\n// ---------------------------------------------------------------------------\n// Profile hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteProfile() {\n const api = useMySiteApi();\n return useQuery<MySiteProfile>({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n queryFn: () => api.fetchProfile(),\n });\n}\n\nexport function usePortalUpdateProfile(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateProfileBody) => api.updateProfile(body),\n onSuccess: (data) => {\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.profile(), data);\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\nexport function usePortalUpdateSettings(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateSettingsBody) => api.updateSettings(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Links hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalLinks() {\n const api = useMySiteApi();\n return useQuery<MySiteLink[]>({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n queryFn: () => api.listLinks(),\n });\n}\n\nexport function usePortalCreateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: CreateLinkBody) => api.createLink(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalUpdateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ linkId, body }: { linkId: number; body: UpdateLinkBody }) =>\n api.updateLink(linkId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalDeleteLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (linkId: number) => api.deleteLink(linkId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalReorderLinks() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteLink[];\n }) => api.reorderLinks(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n const previousData = queryClient.getQueryData<MySiteLink[]>(\n PORTAL_MYSITE_KEYS.links(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.links(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Favorites hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalFavorites() {\n const api = useMySiteApi();\n return useQuery<MySiteFavorite[]>({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n queryFn: () => api.listFavorites(),\n });\n}\n\nexport function usePortalAddFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: AddFavoriteBody) => api.addFavorite(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalDeleteFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (favoriteId: number) => api.deleteFavorite(favoriteId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalReorderFavorites() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteFavorite[];\n }) => api.reorderFavorites(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n const previousData = queryClient.getQueryData<MySiteFavorite[]>(\n PORTAL_MYSITE_KEYS.favorites(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.favorites(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Themes hook\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteThemes() {\n const api = useMySiteApi();\n return useQuery<MySiteTheme[]>({\n queryKey: PORTAL_MYSITE_KEYS.themes(),\n queryFn: () => api.listThemes(),\n });\n}\n"],"mappings":";;;;AAoBA,MAAa,qBAAqB;CAChC,eAAe,CAAC,iBAAiB,UAAU;CAC3C,aAAa,CAAC,iBAAiB,QAAQ;CACvC,iBAAiB,CAAC,iBAAiB,YAAY;CAC/C,cAAc,CAAC,iBAAiB,SAAS;CAC1C;AAMD,SAAgB,yBAAyB;CACvC,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAA+B;EAC7B,UAAU,mBAAmB,SAAS;EACtC,eAAe,IAAI,cAAc;EAClC,CAAC;;AAGJ,SAAgB,uBAAuB,SAAsC;CAC3E,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,SAA4B,IAAI,cAAc,KAAK;EAChE,YAAY,SAAS;AACnB,eAAY,aAAa,mBAAmB,SAAS,EAAE,KAAK;AAC5D,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,SAAS,EACvC,CAAC;AACF,YAAS,aAAa;;EAEzB,CAAC;;AAGJ,SAAgB,wBAAwB,SAAsC;CAC5E,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,SAA6B,IAAI,eAAe,KAAK;EAClE,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,SAAS,EACvC,CAAC;AACF,YAAS,aAAa;;EAEzB,CAAC;;AAOJ,SAAgB,iBAAiB;CAC/B,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAA8B;EAC5B,UAAU,mBAAmB,OAAO;EACpC,eAAe,IAAI,WAAW;EAC/B,CAAC;;AAGJ,SAAgB,sBAAsB;CACpC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,SAAyB,IAAI,WAAW,KAAK;EAC1D,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,sBAAsB;CACpC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,EAAE,QAAQ,WACrB,IAAI,WAAW,QAAQ,KAAK;EAC9B,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,sBAAsB;CACpC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,WAAmB,IAAI,WAAW,OAAO;EACtD,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,wBAAwB;CACtC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,EACX,iBAII,IAAI,aAAa,WAAW;EAClC,UAAU,OAAO,EAAE,sBAAsB;AACvC,SAAM,YAAY,cAAc,EAC9B,UAAU,mBAAmB,OAAO,EACrC,CAAC;GACF,MAAM,eAAe,YAAY,aAC/B,mBAAmB,OAAO,CAC3B;AACD,eAAY,aAAa,mBAAmB,OAAO,EAAE,gBAAgB;AACrE,UAAO,EAAE,cAAc;;EAEzB,UAAU,MAAM,OAAO,YAAY;AACjC,OAAI,SAAS,aACX,aAAY,aACV,mBAAmB,OAAO,EAC1B,QAAQ,aACT;;EAGL,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAOJ,SAAgB,qBAAqB;CACnC,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAAkC;EAChC,UAAU,mBAAmB,WAAW;EACxC,eAAe,IAAI,eAAe;EACnC,CAAC;;AAiBJ,SAAgB,0BAA0B;CACxC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,eAAuB,IAAI,eAAe,WAAW;EAClE,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,WAAW,EACzC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,4BAA4B;CAC1C,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,EACX,iBAII,IAAI,iBAAiB,WAAW;EACtC,UAAU,OAAO,EAAE,sBAAsB;AACvC,SAAM,YAAY,cAAc,EAC9B,UAAU,mBAAmB,WAAW,EACzC,CAAC;GACF,MAAM,eAAe,YAAY,aAC/B,mBAAmB,WAAW,CAC/B;AACD,eAAY,aAAa,mBAAmB,WAAW,EAAE,gBAAgB;AACzE,UAAO,EAAE,cAAc;;EAEzB,UAAU,MAAM,OAAO,YAAY;AACjC,OAAI,SAAS,aACX,aAAY,aACV,mBAAmB,WAAW,EAC9B,QAAQ,aACT;;EAGL,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,WAAW,EACzC,CAAC;;EAEL,CAAC;;AAOJ,SAAgB,wBAAwB;CACtC,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAA+B;EAC7B,UAAU,mBAAmB,QAAQ;EACrC,eAAe,IAAI,YAAY;EAChC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-app/portal-sdk",
3
- "version": "0.1.217",
3
+ "version": "0.1.219",
4
4
  "description": "SDK for building custom Fluid portals",
5
5
  "files": [
6
6
  "dist",
@@ -72,24 +72,24 @@
72
72
  "typescript": "^5",
73
73
  "zod": "4.3.5",
74
74
  "@fluid-app/api-client-core": "0.1.0",
75
+ "@fluid-app/auth": "0.1.0",
75
76
  "@fluid-app/cart-ui": "0.1.17",
76
77
  "@fluid-app/company-switcher-core": "0.1.0",
77
- "@fluid-app/company-switcher-ui": "0.1.0",
78
- "@fluid-app/auth": "0.1.0",
79
78
  "@fluid-app/contacts-core": "0.1.0",
79
+ "@fluid-app/contacts-ui": "0.1.0",
80
+ "@fluid-app/company-switcher-ui": "0.1.0",
80
81
  "@fluid-app/file-picker-api-client": "0.1.0",
81
82
  "@fluid-app/file-picker-core": "0.1.0",
82
83
  "@fluid-app/fluid-pay-core": "0.1.0",
83
84
  "@fluid-app/fluidos-api-client": "0.1.0",
84
85
  "@fluid-app/messaging-api-client": "0.1.0",
85
- "@fluid-app/contacts-ui": "0.1.0",
86
86
  "@fluid-app/messaging-core": "0.1.0",
87
- "@fluid-app/messaging-ui": "0.1.0",
88
87
  "@fluid-app/mysite-core": "0.1.0",
88
+ "@fluid-app/messaging-ui": "0.1.0",
89
89
  "@fluid-app/mysite-ui": "0.1.0",
90
- "@fluid-app/orders-core": "0.1.0",
91
- "@fluid-app/permissions": "0.1.0",
92
90
  "@fluid-app/orders-ui": "0.1.0",
91
+ "@fluid-app/permissions": "0.1.0",
92
+ "@fluid-app/orders-core": "0.1.0",
93
93
  "@fluid-app/portal-app-download-ui": "0.1.0",
94
94
  "@fluid-app/portal-core": "0.1.23",
95
95
  "@fluid-app/portal-preview": "0.1.0",
@@ -102,13 +102,13 @@
102
102
  "@fluid-app/portal-tenant-pay-api-client": "0.1.0",
103
103
  "@fluid-app/portal-tenant-store-api-client": "0.1.0",
104
104
  "@fluid-app/portal-widgets": "0.1.22",
105
+ "@fluid-app/profile-core": "0.1.0",
105
106
  "@fluid-app/products-api-client": "0.1.0",
106
107
  "@fluid-app/products-core": "0.1.0",
107
- "@fluid-app/profile-core": "0.1.0",
108
108
  "@fluid-app/profile-ui": "0.1.0",
109
109
  "@fluid-app/query-persister": "0.1.0",
110
- "@fluid-app/shareables-ui": "0.1.0",
111
110
  "@fluid-app/shareables-core": "0.1.0",
111
+ "@fluid-app/shareables-ui": "0.1.0",
112
112
  "@fluid-app/shop-ui": "0.1.0",
113
113
  "@fluid-app/store-api-client": "0.1.0",
114
114
  "@fluid-app/store-core": "0.1.0",