@soulbatical/tetra-ui 0.1.3 → 0.1.5

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 (37) hide show
  1. package/dist/components/OAuthButtons.d.ts +9 -0
  2. package/dist/components/OAuthButtons.d.ts.map +1 -0
  3. package/dist/components/OAuthButtons.js +33 -0
  4. package/dist/components/OAuthButtons.js.map +1 -0
  5. package/dist/hooks/useFeature.d.ts +22 -23
  6. package/dist/hooks/useFeature.d.ts.map +1 -1
  7. package/dist/hooks/useFeature.js +184 -35
  8. package/dist/hooks/useFeature.js.map +1 -1
  9. package/dist/index.d.ts +7 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +7 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/planner/components/AvailabilityEditor.d.ts +28 -0
  14. package/dist/planner/components/AvailabilityEditor.d.ts.map +1 -0
  15. package/dist/planner/components/AvailabilityEditor.js +108 -0
  16. package/dist/planner/components/AvailabilityEditor.js.map +1 -0
  17. package/dist/planner/components/BookingWidget.d.ts +47 -0
  18. package/dist/planner/components/BookingWidget.d.ts.map +1 -0
  19. package/dist/planner/components/BookingWidget.js +171 -0
  20. package/dist/planner/components/BookingWidget.js.map +1 -0
  21. package/dist/planner/components/TeamPlanner.d.ts +30 -0
  22. package/dist/planner/components/TeamPlanner.d.ts.map +1 -0
  23. package/dist/planner/components/TeamPlanner.js +110 -0
  24. package/dist/planner/components/TeamPlanner.js.map +1 -0
  25. package/dist/planner/components/WeekCalendar.d.ts +44 -0
  26. package/dist/planner/components/WeekCalendar.d.ts.map +1 -0
  27. package/dist/planner/components/WeekCalendar.js +151 -0
  28. package/dist/planner/components/WeekCalendar.js.map +1 -0
  29. package/dist/planner/hooks/usePlannerApi.d.ts +133 -0
  30. package/dist/planner/hooks/usePlannerApi.d.ts.map +1 -0
  31. package/dist/planner/hooks/usePlannerApi.js +97 -0
  32. package/dist/planner/hooks/usePlannerApi.js.map +1 -0
  33. package/dist/planner/index.d.ts +16 -0
  34. package/dist/planner/index.d.ts.map +1 -0
  35. package/dist/planner/index.js +18 -0
  36. package/dist/planner/index.js.map +1 -0
  37. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ export interface OAuthButtonsProps {
2
+ providers?: ('google' | 'github' | 'apple' | 'azure')[];
3
+ onStartOAuth: (provider: string) => void;
4
+ mode?: 'login' | 'register';
5
+ dividerText?: string;
6
+ className?: string;
7
+ }
8
+ export declare function OAuthButtons({ providers, onStartOAuth, mode, dividerText, className, }: OAuthButtonsProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=OAuthButtons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthButtons.d.ts","sourceRoot":"","sources":["../../src/components/OAuthButtons.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;IACxD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+CD,wBAAgB,YAAY,CAAC,EAC3B,SAAsB,EACtB,YAAY,EACZ,IAAc,EACd,WAAW,EACX,SAAS,GACV,EAAE,iBAAiB,2CAmCnB"}
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ const providerConfig = {
4
+ google: {
5
+ label: 'Google',
6
+ icon: (_jsxs("svg", { className: "h-5 w-5", viewBox: "0 0 24 24", children: [_jsx("path", { d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1Z", fill: "#4285F4" }), _jsx("path", { d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23Z", fill: "#34A853" }), _jsx("path", { d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18A11.96 11.96 0 0 0 1 12c0 1.94.46 3.77 1.18 5.07l3.66-2.98Z", fill: "#FBBC05" }), _jsx("path", { d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53Z", fill: "#EA4335" })] })),
7
+ bg: 'bg-white hover:bg-gray-50 border border-gray-300 text-gray-700',
8
+ },
9
+ github: {
10
+ label: 'GitHub',
11
+ icon: (_jsx("svg", { className: "h-5 w-5", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.009-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.831.092-.646.35-1.086.636-1.337-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0 1 12 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.161 22 16.416 22 12c0-5.523-4.477-10-10-10Z" }) })),
12
+ bg: 'bg-gray-900 hover:bg-gray-800 text-white',
13
+ },
14
+ apple: {
15
+ label: 'Apple',
16
+ icon: (_jsx("svg", { className: "h-5 w-5", viewBox: "0 0 24 24", fill: "currentColor", children: _jsx("path", { d: "M17.05 20.28c-.98.95-2.05.88-3.08.4-1.09-.5-2.08-.48-3.24 0-1.44.62-2.2.44-3.06-.4C4.24 16.7 4.89 10.33 8.7 10.1c1.28.07 2.15.75 2.9.78.98-.2 1.92-.75 2.98-.68 1.27.1 2.22.6 2.84 1.54-2.6 1.56-1.98 4.98.33 5.94-.48 1.27-1.1 2.52-1.7 3.6ZM12.05 10c-.12-2.19 1.68-4.04 3.81-4.2.27 2.44-2.22 4.36-3.81 4.2Z" }) })),
17
+ bg: 'bg-black hover:bg-gray-900 text-white',
18
+ },
19
+ azure: {
20
+ label: 'Microsoft',
21
+ icon: (_jsxs("svg", { className: "h-5 w-5", viewBox: "0 0 24 24", children: [_jsx("path", { d: "M3 3h8.5v8.5H3V3Z", fill: "#F25022" }), _jsx("path", { d: "M12.5 3H21v8.5h-8.5V3Z", fill: "#7FBA00" }), _jsx("path", { d: "M3 12.5h8.5V21H3v-8.5Z", fill: "#00A4EF" }), _jsx("path", { d: "M12.5 12.5H21V21h-8.5v-8.5Z", fill: "#FFB900" })] })),
22
+ bg: 'bg-white hover:bg-gray-50 border border-gray-300 text-gray-700',
23
+ },
24
+ };
25
+ export function OAuthButtons({ providers = ['google'], onStartOAuth, mode = 'login', dividerText, className, }) {
26
+ const actionText = mode === 'login' ? 'Inloggen met' : 'Registreren met';
27
+ const divider = dividerText ?? (mode === 'login' ? 'Of log in met' : 'Of registreer met');
28
+ return (_jsxs("div", { className: className, children: [_jsxs("div", { className: "relative my-6", children: [_jsx("div", { className: "absolute inset-0 flex items-center", children: _jsx("div", { className: "w-full border-t border-gray-300 dark:border-gray-600" }) }), _jsx("div", { className: "relative flex justify-center text-sm", children: _jsx("span", { className: "bg-white px-2 text-gray-500 dark:bg-gray-900 dark:text-gray-400", children: divider }) })] }), _jsx("div", { className: "space-y-3", children: providers.map((provider) => {
29
+ const config = providerConfig[provider];
30
+ return (_jsxs("button", { type: "button", onClick: () => onStartOAuth(provider), className: `flex w-full items-center justify-center gap-3 rounded-md px-4 py-2.5 text-sm font-medium transition-colors ${config.bg}`, children: [config.icon, _jsxs("span", { children: [actionText, " ", config.label] })] }, provider));
31
+ }) })] }));
32
+ }
33
+ //# sourceMappingURL=OAuthButtons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthButtons.js","sourceRoot":"","sources":["../../src/components/OAuthButtons.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * useFeature() — Config-driven React hook for feature data management
3
3
  *
4
- * Replaces ALL per-feature hooks (useOrdersList, useOrdersCounts, useVouchersList, etc.)
5
- * with a single generic hook driven by FeatureConfig.
4
+ * Supports two data sources:
5
+ * 1. Supabase RPC (original): useFeature(config, supabase, options)
6
+ * 2. REST API (v4.1): useFeature(config, options) with dataSource: 'rest'
7
+ *
8
+ * REST mode uses the Tetra apiClient and config.restBasePath to fetch data
9
+ * from Express REST endpoints (BaseQueryController pattern).
6
10
  *
7
11
  * @module @tetra/ui
8
12
  */
@@ -25,6 +29,12 @@ export interface UseFeatureOptions {
25
29
  minSearchLength?: number;
26
30
  /** Organization ID (required for multi-tenant queries) */
27
31
  organizationId?: string;
32
+ /**
33
+ * Data source type (default: 'supabase')
34
+ * - 'supabase': Use Supabase RPC (requires supabase client as 2nd param)
35
+ * - 'rest': Use REST API via Tetra apiClient (uses config.restBasePath)
36
+ */
37
+ dataSource?: 'supabase' | 'rest';
28
38
  }
29
39
  export interface UseFeatureResult<TItem = Record<string, unknown>> {
30
40
  /** Current page of data items */
@@ -71,30 +81,19 @@ export interface UseFeatureResult<TItem = Record<string, unknown>> {
71
81
  /**
72
82
  * useFeature — Universal hook for config-driven feature data
73
83
  *
74
- * @param config - FeatureConfig with resultsRpcName and/or countsRpcName
75
- * @param supabase - Supabase client instance
76
- * @param options - Optional configuration
84
+ * Supports two data sources:
77
85
  *
78
- * @example
86
+ * **Supabase RPC mode (default):**
79
87
  * ```tsx
80
- * import { ordersConfig } from '@/config/features/orders.config';
81
- * import { useFeature } from '@soulbatical/tetra-ui';
82
- *
83
- * function OrdersPage() {
84
- * const {
85
- * data, counts, loading, error,
86
- * filters, setFilter, resetFilters,
87
- * page, setPage, pageCount,
88
- * sortField, sortDirection, setSort,
89
- * refetch
90
- * } = useFeature(ordersConfig, supabase, {
91
- * organizationId: user.organizationId,
92
- * pageSize: 25,
93
- * });
88
+ * const feature = useFeature(config, supabase, { organizationId });
89
+ * ```
94
90
  *
95
- * return <FeatureTable config={ordersConfig} feature={feature} />;
96
- * }
91
+ * **REST API mode:**
92
+ * ```tsx
93
+ * const feature = useFeature(config, { dataSource: 'rest' });
97
94
  * ```
95
+ * Requires config.restBasePath (e.g., '/api/admin/orders').
96
+ * Uses the Tetra apiClient (configured via configureApiClient).
98
97
  */
99
- export declare function useFeature<TItem = Record<string, unknown>>(config: FeatureConfig<TItem>, supabase: SupabaseClient, options?: UseFeatureOptions): UseFeatureResult<TItem>;
98
+ export declare function useFeature<TItem = Record<string, unknown>>(config: FeatureConfig<TItem>, supabaseOrOptions?: SupabaseClient | UseFeatureOptions, maybeOptions?: UseFeatureOptions): UseFeatureResult<TItem>;
100
99
  //# sourceMappingURL=useFeature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFeature.d.ts","sourceRoot":"","sources":["../../src/hooks/useFeature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFeature.d.ts","sourceRoot":"","sources":["../../src/hooks/useFeature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,yBAAyB,CAAC;AAK3E,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAEtC,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,iCAAiC;IACjC,IAAI,EAAE,KAAK,EAAE,CAAC;IAEd,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IAEnB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAExD,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,aAAa,EAAE,OAAO,CAAC;IAEvB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAEvD,gCAAgC;IAChC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAExE,mCAAmC;IACnC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;IAE7E,oCAAoC;IACpC,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,uBAAuB;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAE9B,mCAAmC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAE7D,8BAA8B;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,eAAe,EAAE,OAAO,CAAC;IAEzB,oBAAoB;IACpB,WAAW,EAAE,OAAO,CAAC;IAErB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgPD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,EAC5B,iBAAiB,CAAC,EAAE,cAAc,GAAG,iBAAiB,EACtD,YAAY,CAAC,EAAE,iBAAiB,GAC/B,gBAAgB,CAAC,KAAK,CAAC,CA4UzB"}
@@ -1,12 +1,17 @@
1
1
  /**
2
2
  * useFeature() — Config-driven React hook for feature data management
3
3
  *
4
- * Replaces ALL per-feature hooks (useOrdersList, useOrdersCounts, useVouchersList, etc.)
5
- * with a single generic hook driven by FeatureConfig.
4
+ * Supports two data sources:
5
+ * 1. Supabase RPC (original): useFeature(config, supabase, options)
6
+ * 2. REST API (v4.1): useFeature(config, options) with dataSource: 'rest'
7
+ *
8
+ * REST mode uses the Tetra apiClient and config.restBasePath to fetch data
9
+ * from Express REST endpoints (BaseQueryController pattern).
6
10
  *
7
11
  * @module @tetra/ui
8
12
  */
9
13
  import { useState, useCallback, useMemo, useEffect, useRef } from 'react';
14
+ import { apiClient } from '../services/apiClient.js';
10
15
  // ─── Filter Defaults ────────────────────────────────────────
11
16
  function buildFilterDefaults(config) {
12
17
  const defaults = {};
@@ -20,7 +25,7 @@ function buildFilterDefaults(config) {
20
25
  }
21
26
  return defaults;
22
27
  }
23
- // ─── RPC Parameter Builder ──────────────────────────────────
28
+ // ─── RPC Parameter Builder (Supabase mode) ──────────────────
24
29
  function buildRpcParams(filters, config, options) {
25
30
  const params = {};
26
31
  if (options.organizationId) {
@@ -93,6 +98,55 @@ function buildCountsRpcParams(filters, config, options) {
93
98
  }
94
99
  return params;
95
100
  }
101
+ // ─── REST Query String Builder ──────────────────────────────
102
+ function buildRestQueryString(filters, config, options) {
103
+ const params = new URLSearchParams();
104
+ params.set('limit', String(options.limit));
105
+ params.set('offset', String(options.offset));
106
+ params.set('sortBy', options.sortField);
107
+ params.set('sortOrder', options.sortDirection);
108
+ const searchValue = options.debouncedSearch ?? filters.search;
109
+ if (searchValue && searchValue.trim().length >= options.minSearchLength) {
110
+ params.set('search', searchValue.trim());
111
+ }
112
+ for (const filter of config.filters || []) {
113
+ if (filter.type === 'search')
114
+ continue;
115
+ const value = filters[filter.name];
116
+ if (value === 'all' || value === undefined)
117
+ continue;
118
+ if (Array.isArray(value)) {
119
+ if (value.length > 0) {
120
+ params.set(filter.name, value.join(','));
121
+ }
122
+ continue;
123
+ }
124
+ params.set(filter.name, value);
125
+ }
126
+ return params.toString();
127
+ }
128
+ function buildRestCountsQueryString(filters, config, options) {
129
+ const params = new URLSearchParams();
130
+ const searchValue = options.debouncedSearch ?? filters.search;
131
+ if (searchValue && searchValue.trim().length >= options.minSearchLength) {
132
+ params.set('search', searchValue.trim());
133
+ }
134
+ for (const filter of config.filters || []) {
135
+ if (filter.type === 'search')
136
+ continue;
137
+ const value = filters[filter.name];
138
+ if (value === 'all' || value === undefined)
139
+ continue;
140
+ if (Array.isArray(value)) {
141
+ if (value.length > 0) {
142
+ params.set(filter.name, value.join(','));
143
+ }
144
+ continue;
145
+ }
146
+ params.set(filter.name, value);
147
+ }
148
+ return params.toString();
149
+ }
96
150
  // ─── Debounce Hook ──────────────────────────────────────────
97
151
  function useDebounce(value, delay) {
98
152
  const [debouncedValue, setDebouncedValue] = useState(value);
@@ -106,33 +160,39 @@ function useDebounce(value, delay) {
106
160
  /**
107
161
  * useFeature — Universal hook for config-driven feature data
108
162
  *
109
- * @param config - FeatureConfig with resultsRpcName and/or countsRpcName
110
- * @param supabase - Supabase client instance
111
- * @param options - Optional configuration
163
+ * Supports two data sources:
112
164
  *
113
- * @example
165
+ * **Supabase RPC mode (default):**
114
166
  * ```tsx
115
- * import { ordersConfig } from '@/config/features/orders.config';
116
- * import { useFeature } from '@soulbatical/tetra-ui';
117
- *
118
- * function OrdersPage() {
119
- * const {
120
- * data, counts, loading, error,
121
- * filters, setFilter, resetFilters,
122
- * page, setPage, pageCount,
123
- * sortField, sortDirection, setSort,
124
- * refetch
125
- * } = useFeature(ordersConfig, supabase, {
126
- * organizationId: user.organizationId,
127
- * pageSize: 25,
128
- * });
167
+ * const feature = useFeature(config, supabase, { organizationId });
168
+ * ```
129
169
  *
130
- * return <FeatureTable config={ordersConfig} feature={feature} />;
131
- * }
170
+ * **REST API mode:**
171
+ * ```tsx
172
+ * const feature = useFeature(config, { dataSource: 'rest' });
132
173
  * ```
174
+ * Requires config.restBasePath (e.g., '/api/admin/orders').
175
+ * Uses the Tetra apiClient (configured via configureApiClient).
133
176
  */
134
- export function useFeature(config, supabase, options = {}) {
135
- const { enabled = true, pageSize: initialPageSize, initialFilters, initialSortField, initialSortDirection = 'desc', searchDebounceMs = 300, minSearchLength = 2, organizationId, } = options;
177
+ export function useFeature(config, supabaseOrOptions, maybeOptions) {
178
+ // ─── Resolve overloaded params ─────────────────────
179
+ let supabase = null;
180
+ let options;
181
+ if (supabaseOrOptions && typeof supabaseOrOptions === 'object' && 'rpc' in supabaseOrOptions) {
182
+ // Called as useFeature(config, supabase, options?)
183
+ supabase = supabaseOrOptions;
184
+ options = maybeOptions ?? {};
185
+ }
186
+ else if (supabaseOrOptions && typeof supabaseOrOptions === 'object') {
187
+ // Called as useFeature(config, options)
188
+ options = supabaseOrOptions;
189
+ }
190
+ else {
191
+ options = {};
192
+ }
193
+ const { enabled = true, pageSize: initialPageSize, initialFilters, initialSortField, initialSortDirection = 'desc', searchDebounceMs = 300, minSearchLength = 2, organizationId, dataSource: dataSourceOption, } = options;
194
+ // Determine data source: explicit option > auto-detect from params
195
+ const dataSource = dataSourceOption ?? (supabase ? 'supabase' : 'rest');
136
196
  // ─── Derived Defaults ─────────────────────────────
137
197
  const defaultPageSize = initialPageSize ?? config.pagination?.defaultLimit ?? 20;
138
198
  const defaultSortField = initialSortField ?? config.defaultSortField ?? 'created_at';
@@ -159,9 +219,9 @@ export function useFeature(config, supabase, options = {}) {
159
219
  }, []);
160
220
  const searchValue = filters.search || '';
161
221
  const debouncedSearch = useDebounce(searchValue, searchDebounceMs);
162
- // ─── Fetch Data ───────────────────────────────────
163
- const fetchData = useCallback(async () => {
164
- if (!enabled || !config.resultsRpcName)
222
+ // ─── Fetch Data (Supabase RPC) ─────────────────────
223
+ const fetchDataSupabase = useCallback(async () => {
224
+ if (!supabase || !config.resultsRpcName)
165
225
  return;
166
226
  setLoading(true);
167
227
  setError(null);
@@ -212,12 +272,56 @@ export function useFeature(config, supabase, options = {}) {
212
272
  }
213
273
  }
214
274
  }, [
215
- enabled, config, supabase, filters, organizationId,
275
+ supabase, config, filters, organizationId,
276
+ pageSize, page, sortField, sortDirection, debouncedSearch, minSearchLength,
277
+ ]);
278
+ // ─── Fetch Data (REST API) ─────────────────────────
279
+ const fetchDataRest = useCallback(async () => {
280
+ const basePath = config.restBasePath;
281
+ if (!basePath)
282
+ return;
283
+ setLoading(true);
284
+ setError(null);
285
+ try {
286
+ const queryString = buildRestQueryString(filters, config, {
287
+ limit: pageSize,
288
+ offset: page * pageSize,
289
+ sortField,
290
+ sortDirection,
291
+ debouncedSearch,
292
+ minSearchLength,
293
+ });
294
+ const url = queryString ? `${basePath}?${queryString}` : basePath;
295
+ const result = await apiClient.get(url);
296
+ if (!mountedRef.current)
297
+ return;
298
+ if (!result.success) {
299
+ setError('Failed to fetch data');
300
+ setData([]);
301
+ setTotalCount(0);
302
+ return;
303
+ }
304
+ setData(result.data || []);
305
+ setTotalCount(result.meta?.total ?? result.data?.length ?? 0);
306
+ }
307
+ catch (err) {
308
+ if (!mountedRef.current)
309
+ return;
310
+ setError(err instanceof Error ? err.message : 'Failed to fetch data');
311
+ setData([]);
312
+ }
313
+ finally {
314
+ if (mountedRef.current) {
315
+ setLoading(false);
316
+ }
317
+ }
318
+ }, [
319
+ config, filters,
216
320
  pageSize, page, sortField, sortDirection, debouncedSearch, minSearchLength,
217
321
  ]);
218
- // ─── Fetch Counts ─────────────────────────────────
219
- const fetchCounts = useCallback(async () => {
220
- if (!enabled || !config.countsRpcName)
322
+ // ─── Fetch Counts (Supabase RPC) ───────────────────
323
+ const fetchCountsSupabase = useCallback(async () => {
324
+ if (!supabase || !config.countsRpcName)
221
325
  return;
222
326
  setCountsLoading(true);
223
327
  try {
@@ -259,14 +363,59 @@ export function useFeature(config, supabase, options = {}) {
259
363
  setCountsLoading(false);
260
364
  }
261
365
  }
262
- }, [enabled, config, supabase, filters, organizationId, debouncedSearch, minSearchLength]);
366
+ }, [supabase, config, filters, organizationId, debouncedSearch, minSearchLength]);
367
+ // ─── Fetch Counts (REST API) ───────────────────────
368
+ const fetchCountsRest = useCallback(async () => {
369
+ const basePath = config.restBasePath;
370
+ if (!basePath)
371
+ return;
372
+ setCountsLoading(true);
373
+ try {
374
+ const queryString = buildRestCountsQueryString(filters, config, {
375
+ debouncedSearch,
376
+ minSearchLength,
377
+ });
378
+ const url = queryString
379
+ ? `${basePath}/counts?${queryString}`
380
+ : `${basePath}/counts`;
381
+ const result = await apiClient.get(url);
382
+ if (!mountedRef.current)
383
+ return;
384
+ if (result.success && result.data) {
385
+ setCounts(result.data);
386
+ if ('total' in result.data && typeof result.data.total === 'number') {
387
+ setTotalCount(result.data.total);
388
+ }
389
+ }
390
+ else {
391
+ setCounts({});
392
+ }
393
+ }
394
+ catch {
395
+ if (mountedRef.current) {
396
+ setCounts({});
397
+ }
398
+ }
399
+ finally {
400
+ if (mountedRef.current) {
401
+ setCountsLoading(false);
402
+ }
403
+ }
404
+ }, [config, filters, debouncedSearch, minSearchLength]);
405
+ // ─── Select data source ────────────────────────────
406
+ const fetchData = dataSource === 'rest' ? fetchDataRest : fetchDataSupabase;
407
+ const fetchCounts = dataSource === 'rest' ? fetchCountsRest : fetchCountsSupabase;
263
408
  // ─── Effects ──────────────────────────────────────
264
409
  useEffect(() => {
410
+ if (!enabled)
411
+ return;
265
412
  fetchData();
266
- }, [fetchData]);
413
+ }, [enabled, fetchData]);
267
414
  useEffect(() => {
415
+ if (!enabled)
416
+ return;
268
417
  fetchCounts();
269
- }, [fetchCounts]);
418
+ }, [enabled, fetchCounts]);
270
419
  // ─── Filter Actions ───────────────────────────────
271
420
  const setFilter = useCallback((name, value) => {
272
421
  setFiltersState(prev => ({ ...prev, [name]: value }));
@@ -1 +1 @@
1
- {"version":3,"file":"useFeature.js","sourceRoot":"","sources":["../../src/hooks/useFeature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFeature.js","sourceRoot":"","sources":["../../src/hooks/useFeature.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export { LoadingCard, LoadingSpinner, Skeleton, SkeletonCard, } from "./componen
25
25
  export { StatusBadge } from "./components/StatusBadge.js";
26
26
  export { AutoCard, type CardConfig, type AutoCardProps, type LinkComponent } from "./components/AutoCard.js";
27
27
  export { CookieConsent, type CookieConsentProps } from "./components/CookieConsent.js";
28
+ export { OAuthButtons, type OAuthButtonsProps } from "./components/OAuthButtons.js";
28
29
  export { useDebounce } from "./hooks/useDebounce.js";
29
30
  export { useDialog } from "./hooks/useDialog.js";
30
31
  export { useIsMobile } from "./hooks/use-mobile.js";
@@ -46,4 +47,10 @@ export type { FeatureFiltersProps } from "./components/FeatureFilters.js";
46
47
  export { FeatureForm } from "./components/FeatureForm.js";
47
48
  export type { FeatureFormProps, CustomComponentMap } from "./components/FeatureForm.js";
48
49
  export { useAffiliateDashboard, useAffiliateProfile, useAffiliateCommissions, } from "./hooks/useAffiliateDashboard.js";
50
+ export { WeekCalendar, type WeekCalendarProps } from "./planner/index.js";
51
+ export { TeamPlanner, type TeamPlannerProps } from "./planner/index.js";
52
+ export { AvailabilityEditor, type AvailabilityEditorProps } from "./planner/index.js";
53
+ export { BookingWidget, type BookingWidgetProps } from "./planner/index.js";
54
+ export { usePlannerApi, type PlannerApiConfig } from "./planner/index.js";
55
+ export type { Appointment as PlannerAppointment, AvailabilitySlot as PlannerAvailabilitySlot, DayAvailability as PlannerDayAvailability, TeamAvailability as PlannerTeamAvailability, SchedulerSettings as PlannerSchedulerSettings, Vacation as PlannerVacation, TimeSlot as PlannerTimeSlot } from "./planner/index.js";
49
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,WAAW,EACX,QAAQ,IAAI,aAAa,EACzB,YAAY,IAAI,iBAAiB,EACjC,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,UAAU,GACX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EACL,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,GAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,sBAAsB,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACL,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,GACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,WAAW,GACjB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAG/E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGxF,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -35,6 +35,7 @@ export { LoadingCard, LoadingSpinner, Skeleton, SkeletonCard, } from "./componen
35
35
  export { StatusBadge } from "./components/StatusBadge.js";
36
36
  export { AutoCard } from "./components/AutoCard.js";
37
37
  export { CookieConsent } from "./components/CookieConsent.js";
38
+ export { OAuthButtons } from "./components/OAuthButtons.js";
38
39
  // Hooks — utility
39
40
  export { useDebounce } from "./hooks/useDebounce.js";
40
41
  export { useDialog } from "./hooks/useDialog.js";
@@ -58,4 +59,10 @@ export { FeatureFilters } from "./components/FeatureFilters.js";
58
59
  export { FeatureForm } from "./components/FeatureForm.js";
59
60
  // ── Affiliate hooks ─────────────────────────────────────────
60
61
  export { useAffiliateDashboard, useAffiliateProfile, useAffiliateCommissions, } from "./hooks/useAffiliateDashboard.js";
62
+ // ── Planner Module ──────────────────────────────────────────
63
+ export { WeekCalendar } from "./planner/index.js";
64
+ export { TeamPlanner } from "./planner/index.js";
65
+ export { AvailabilityEditor } from "./planner/index.js";
66
+ export { BookingWidget } from "./planner/index.js";
67
+ export { usePlannerApi } from "./planner/index.js";
61
68
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,8CAA8C;AAC9C,+CAA+C;AAiB/C,YAAY;AACZ,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,8DAA8D;AAC9D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAoB,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,KAAK,EAAmB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAsB,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAmB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AACjF,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO;AACP,OAAO,EACL,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,eAAe;AACf,OAAO,EACL,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC;AAErC,WAAW;AACX,OAAO,EACL,SAAS,EACT,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AAEjC,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,iBAAiB,GAGlB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACL,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,GACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAA2D,MAAM,0BAA0B,CAAC;AAC7G,OAAO,EAAE,aAAa,EAA2B,MAAM,+BAA+B,CAAC;AAEvF,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AAErC,mDAAmD;AACnD,OAAO,EACL,cAAc,EACd,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AAEnC,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,+DAA+D;AAC/D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * AvailabilityEditor — Weekly availability schedule editor
3
+ *
4
+ * Allows setting multiple time blocks per day.
5
+ * Integrated save via Tetra Planner API.
6
+ *
7
+ * Usage:
8
+ * ```tsx
9
+ * <AvailabilityEditor apiBase="/planner" userId={user.id} />
10
+ * ```
11
+ */
12
+ export interface AvailabilityEditorProps {
13
+ apiBase?: string;
14
+ userId: string;
15
+ className?: string;
16
+ onSaved?: () => void;
17
+ labels?: {
18
+ title?: string;
19
+ save?: string;
20
+ saving?: string;
21
+ saved?: string;
22
+ addBlock?: string;
23
+ notAvailable?: string;
24
+ dayNames?: string[];
25
+ };
26
+ }
27
+ export declare function AvailabilityEditor({ apiBase, userId, className, onSaved, labels, }: AvailabilityEditorProps): import("react/jsx-runtime").JSX.Element;
28
+ //# sourceMappingURL=AvailabilityEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvailabilityEditor.d.ts","sourceRoot":"","sources":["../../../src/planner/components/AvailabilityEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAeD,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,MAAM,EACN,SAAc,EACd,OAAO,EACP,MAAM,GACP,EAAE,uBAAuB,2CA6LzB"}