@schandlergarcia/sf-web-components 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/library/cards/ActionList.d.ts +10 -10
- package/dist/components/library/cards/ActionList.js +2 -3
- package/dist/components/library/cards/ActionList.js.map +1 -1
- package/dist/components/library/cards/ActivityCard.d.ts +18 -5
- package/dist/components/library/cards/ActivityCard.js +3 -4
- package/dist/components/library/cards/ActivityCard.js.map +1 -1
- package/dist/components/library/cards/BaseCard.d.ts +30 -24
- package/dist/components/library/cards/BaseCard.js +2 -3
- package/dist/components/library/cards/BaseCard.js.map +1 -1
- package/dist/components/library/cards/CalloutCard.d.ts +11 -9
- package/dist/components/library/cards/CalloutCard.js +2 -3
- package/dist/components/library/cards/CalloutCard.js.map +1 -1
- package/dist/components/library/cards/ChartCard.d.ts +29 -17
- package/dist/components/library/cards/ChartCard.js +13 -14
- package/dist/components/library/cards/ChartCard.js.map +1 -1
- package/dist/components/library/cards/FeedPanel.d.ts +12 -11
- package/dist/components/library/cards/FeedPanel.js +3 -4
- package/dist/components/library/cards/FeedPanel.js.map +1 -1
- package/dist/components/library/cards/ListCard.d.ts +33 -20
- package/dist/components/library/cards/ListCard.js +35 -35
- package/dist/components/library/cards/ListCard.js.map +1 -1
- package/dist/components/library/cards/MetricCard.d.ts +23 -17
- package/dist/components/library/cards/MetricCard.js +10 -11
- package/dist/components/library/cards/MetricCard.js.map +1 -1
- package/dist/components/library/cards/MetricsStrip.d.ts +11 -11
- package/dist/components/library/cards/MetricsStrip.js +1 -1
- package/dist/components/library/cards/MetricsStrip.js.map +1 -1
- package/dist/components/library/cards/SectionCard.d.ts +17 -12
- package/dist/components/library/cards/SectionCard.js +18 -19
- package/dist/components/library/cards/SectionCard.js.map +1 -1
- package/dist/components/library/cards/SemanticMetricCard.d.ts +15 -20
- package/dist/components/library/cards/SemanticMetricCardWithLoading.d.ts +8 -7
- package/dist/components/library/cards/SemanticTableCard.d.ts +13 -18
- package/dist/components/library/cards/SemanticTableCardWithLoading.d.ts +8 -7
- package/dist/components/library/cards/StatusCard.d.ts +29 -15
- package/dist/components/library/cards/StatusCard.js +16 -17
- package/dist/components/library/cards/StatusCard.js.map +1 -1
- package/dist/components/library/cards/TableCard.d.ts +40 -23
- package/dist/components/library/cards/TableCard.js +59 -59
- package/dist/components/library/cards/TableCard.js.map +1 -1
- package/dist/components/library/cards/WidgetCard.d.ts +19 -11
- package/dist/components/library/cards/WidgetCard.js.map +1 -1
- package/dist/components/library/charts/D3Chart.d.ts +23 -16
- package/dist/components/library/charts/D3Chart.js.map +1 -1
- package/dist/components/library/charts/D3ChartTemplates.d.ts +33 -3
- package/dist/components/library/charts/D3ChartTemplates.js +7 -7
- package/dist/components/library/charts/D3ChartTemplates.js.map +1 -1
- package/dist/components/library/charts/GeoMap.d.ts +81 -18
- package/dist/components/library/charts/GeoMap.js +28 -26
- package/dist/components/library/charts/GeoMap.js.map +1 -1
- package/dist/components/library/chat/ChatBar.d.ts +14 -11
- package/dist/components/library/chat/ChatBar.js +2 -3
- package/dist/components/library/chat/ChatBar.js.map +1 -1
- package/dist/components/library/chat/ChatInput.d.ts +9 -8
- package/dist/components/library/chat/ChatInput.js.map +1 -1
- package/dist/components/library/chat/ChatMessage.d.ts +17 -4
- package/dist/components/library/chat/ChatMessage.js.map +1 -1
- package/dist/components/library/chat/ChatMessageList.d.ts +11 -8
- package/dist/components/library/chat/ChatMessageList.js.map +1 -1
- package/dist/components/library/chat/ChatPanel.d.ts +16 -12
- package/dist/components/library/chat/ChatPanel.js +8 -9
- package/dist/components/library/chat/ChatPanel.js.map +1 -1
- package/dist/components/library/chat/ChatSuggestions.d.ts +5 -4
- package/dist/components/library/chat/ChatSuggestions.js +2 -3
- package/dist/components/library/chat/ChatSuggestions.js.map +1 -1
- package/dist/components/library/chat/ChatToolCall.d.ts +11 -3
- package/dist/components/library/chat/ChatToolCall.js.map +1 -1
- package/dist/components/library/chat/ChatTypingIndicator.d.ts +4 -3
- package/dist/components/library/chat/ChatTypingIndicator.js +2 -3
- package/dist/components/library/chat/ChatTypingIndicator.js.map +1 -1
- package/dist/components/library/chat/ChatWelcome.d.ts +9 -7
- package/dist/components/library/chat/ChatWelcome.js +6 -7
- package/dist/components/library/chat/ChatWelcome.js.map +1 -1
- package/dist/components/library/chat/index.d.ts +10 -0
- package/dist/components/library/chat/useChatState.d.ts +36 -11
- package/dist/components/library/chat/useChatState.js +63 -46
- package/dist/components/library/chat/useChatState.js.map +1 -1
- package/dist/components/library/data/DataModeProvider.d.ts +15 -11
- package/dist/components/library/data/DataModeProvider.js +1 -1
- package/dist/components/library/data/DataModeProvider.js.map +1 -1
- package/dist/components/library/data/DataModeToggle.d.ts +4 -3
- package/dist/components/library/data/DataModeToggle.js +4 -5
- package/dist/components/library/data/DataModeToggle.js.map +1 -1
- package/dist/components/library/data/chartDataProvider.d.ts +41 -3
- package/dist/components/library/data/filterUtils.d.ts +38 -9
- package/dist/components/library/data/filterUtils.js.map +1 -1
- package/dist/components/library/data/useDataSource.d.ts +6 -4
- package/dist/components/library/data/useDataSource.js.map +1 -1
- package/dist/components/library/data/usePageFilters.d.ts +31 -5
- package/dist/components/library/data/usePageFilters.js +6 -2
- package/dist/components/library/data/usePageFilters.js.map +1 -1
- package/dist/components/library/filters/FilterBar.d.ts +18 -8
- package/dist/components/library/filters/FilterBar.js +2 -3
- package/dist/components/library/filters/FilterBar.js.map +1 -1
- package/dist/components/library/filters/SearchFilter.d.ts +7 -6
- package/dist/components/library/filters/SearchFilter.js +2 -3
- package/dist/components/library/filters/SearchFilter.js.map +1 -1
- package/dist/components/library/filters/SelectFilter.d.ts +13 -7
- package/dist/components/library/filters/SelectFilter.js +2 -3
- package/dist/components/library/filters/SelectFilter.js.map +1 -1
- package/dist/components/library/filters/ToggleFilter.d.ts +7 -5
- package/dist/components/library/filters/ToggleFilter.js +2 -3
- package/dist/components/library/filters/ToggleFilter.js.map +1 -1
- package/dist/components/library/forms/FormField.d.ts +10 -8
- package/dist/components/library/forms/FormField.js +3 -4
- package/dist/components/library/forms/FormField.js.map +1 -1
- package/dist/components/library/forms/FormModal.d.ts +23 -14
- package/dist/components/library/forms/FormModal.js.map +1 -1
- package/dist/components/library/forms/FormRenderer.d.ts +29 -9
- package/dist/components/library/forms/FormRenderer.js +6 -7
- package/dist/components/library/forms/FormRenderer.js.map +1 -1
- package/dist/components/library/forms/FormSection.d.ts +10 -8
- package/dist/components/library/forms/FormSection.js +2 -3
- package/dist/components/library/forms/FormSection.js.map +1 -1
- package/dist/components/library/forms/index.d.ts +5 -0
- package/dist/components/library/forms/useFormState.d.ts +23 -15
- package/dist/components/library/forms/useFormState.js +53 -47
- package/dist/components/library/forms/useFormState.js.map +1 -1
- package/dist/components/library/index.d.ts +92 -73
- package/dist/components/library/index.js +25 -25
- package/dist/components/library/index.js.map +1 -1
- package/dist/components/library/layout/PageContainer.d.ts +6 -4
- package/dist/components/library/layout/PageContainer.js +4 -5
- package/dist/components/library/layout/PageContainer.js.map +1 -1
- package/dist/components/library/skeletons/CardSkeleton.d.ts +5 -4
- package/dist/components/library/skeletons/CardSkeleton.js +2 -3
- package/dist/components/library/skeletons/CardSkeleton.js.map +1 -1
- package/dist/components/library/theme/AppThemeProvider.d.ts +13 -50
- package/dist/components/library/theme/AppThemeProvider.js.map +1 -1
- package/dist/components/library/theme/tokens.d.ts +45 -44
- package/dist/components/library/theme/tokens.js.map +1 -1
- package/package.json +4 -1
- package/src/components/library/cards/{ActionList.jsx → ActionList.tsx} +13 -9
- package/src/components/library/cards/{ActivityCard.jsx → ActivityCard.tsx} +33 -4
- package/src/components/library/cards/{BaseCard.jsx → BaseCard.tsx} +33 -6
- package/src/components/library/cards/{CalloutCard.jsx → CalloutCard.tsx} +12 -10
- package/src/components/library/cards/{ChartCard.jsx → ChartCard.tsx} +32 -6
- package/src/components/library/cards/{FeedPanel.jsx → FeedPanel.tsx} +13 -2
- package/src/components/library/cards/{ListCard.jsx → ListCard.tsx} +43 -7
- package/src/components/library/cards/{MetricCard.jsx → MetricCard.tsx} +25 -6
- package/src/components/library/cards/{MetricsStrip.jsx → MetricsStrip.tsx} +22 -12
- package/src/components/library/cards/{SectionCard.jsx → SectionCard.tsx} +27 -8
- package/src/components/library/cards/{SemanticMetricCard.jsx → SemanticMetricCard.tsx} +18 -6
- package/src/components/library/cards/{SemanticMetricCardWithLoading.jsx → SemanticMetricCardWithLoading.tsx} +9 -3
- package/src/components/library/cards/{SemanticTableCard.jsx → SemanticTableCard.tsx} +16 -5
- package/src/components/library/cards/{SemanticTableCardWithLoading.jsx → SemanticTableCardWithLoading.tsx} +9 -5
- package/src/components/library/cards/{StatusCard.jsx → StatusCard.tsx} +61 -12
- package/src/components/library/cards/{TableCard.jsx → TableCard.tsx} +51 -12
- package/src/components/library/cards/{WidgetCard.jsx → WidgetCard.tsx} +28 -5
- package/src/components/library/charts/{D3Chart.jsx → D3Chart.tsx} +27 -7
- package/src/components/library/charts/{D3ChartTemplates.jsx → D3ChartTemplates.tsx} +60 -28
- package/src/components/library/charts/{GeoMap.jsx → GeoMap.tsx} +106 -17
- package/src/components/library/chat/{ChatBar.jsx → ChatBar.tsx} +19 -8
- package/src/components/library/chat/{ChatInput.jsx → ChatInput.tsx} +13 -11
- package/src/components/library/chat/{ChatMessage.jsx → ChatMessage.tsx} +22 -9
- package/src/components/library/chat/{ChatMessageList.jsx → ChatMessageList.tsx} +13 -11
- package/src/components/library/chat/{ChatPanel.jsx → ChatPanel.tsx} +16 -13
- package/src/components/library/chat/{ChatSuggestions.jsx → ChatSuggestions.tsx} +6 -5
- package/src/components/library/chat/{ChatToolCall.jsx → ChatToolCall.tsx} +14 -4
- package/src/components/library/chat/{ChatTypingIndicator.jsx → ChatTypingIndicator.tsx} +5 -2
- package/src/components/library/chat/{ChatWelcome.jsx → ChatWelcome.tsx} +9 -7
- package/src/components/library/chat/index.tsx +26 -0
- package/src/components/library/chat/useChatState.tsx +181 -0
- package/src/components/library/data/{DataModeProvider.jsx → DataModeProvider.tsx} +25 -8
- package/src/components/library/data/{DataModeToggle.jsx → DataModeToggle.tsx} +5 -2
- package/src/components/library/data/{chartDataProvider.jsx → chartDataProvider.tsx} +49 -5
- package/src/components/library/data/{filterUtils.jsx → filterUtils.tsx} +58 -12
- package/src/components/library/data/{useDataSource.jsx → useDataSource.tsx} +9 -2
- package/src/components/library/data/{usePageFilters.jsx → usePageFilters.tsx} +49 -9
- package/src/components/library/filters/{FilterBar.jsx → FilterBar.tsx} +21 -11
- package/src/components/library/filters/{SearchFilter.jsx → SearchFilter.tsx} +8 -2
- package/src/components/library/filters/{SelectFilter.jsx → SelectFilter.tsx} +15 -8
- package/src/components/library/filters/{ToggleFilter.jsx → ToggleFilter.tsx} +7 -6
- package/src/components/library/forms/{FormField.jsx → FormField.tsx} +91 -45
- package/src/components/library/forms/{FormModal.jsx → FormModal.tsx} +21 -20
- package/src/components/library/forms/{FormRenderer.jsx → FormRenderer.tsx} +32 -10
- package/src/components/library/forms/{FormSection.jsx → FormSection.tsx} +13 -7
- package/src/components/library/forms/index.tsx +11 -0
- package/src/components/library/forms/{useFormState.jsx → useFormState.tsx} +43 -23
- package/src/components/library/{index.jsx → index.ts} +14 -14
- package/src/components/library/layout/{PageContainer.jsx → PageContainer.tsx} +6 -3
- package/src/components/library/skeletons/{CardSkeleton.jsx → CardSkeleton.tsx} +5 -4
- package/src/components/library/theme/{AppThemeProvider.jsx → AppThemeProvider.tsx} +20 -7
- package/src/components/library/theme/{tokens.jsx → tokens.tsx} +37 -3
- package/src/components/library/chat/index.jsx +0 -10
- package/src/components/library/chat/useChatState.jsx +0 -130
- package/src/components/library/forms/index.jsx +0 -5
- /package/src/components/library/filters/{index.jsx → index.ts} +0 -0
|
@@ -1,78 +1,84 @@
|
|
|
1
|
-
import { useMemo as
|
|
2
|
-
const
|
|
3
|
-
function
|
|
1
|
+
import { useMemo as A, useState as y, useRef as E, useCallback as f } from "react";
|
|
2
|
+
const I = 4e3;
|
|
3
|
+
function O(u) {
|
|
4
4
|
const o = {};
|
|
5
|
-
for (const
|
|
6
|
-
for (const n of
|
|
5
|
+
for (const l of u)
|
|
6
|
+
for (const n of l.fields ?? [])
|
|
7
7
|
n.type === "checkboxGroup" ? o[n.id] = [] : n.type === "toggle" || n.type === "checkbox" ? o[n.id] = !1 : o[n.id] = "";
|
|
8
8
|
return o;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
const
|
|
10
|
+
function P(u, o) {
|
|
11
|
+
const l = {};
|
|
12
12
|
for (const n of o)
|
|
13
13
|
for (const c of n.fields ?? []) {
|
|
14
14
|
const r = u[c.id];
|
|
15
15
|
if (c.required && (r == null || r === "" || Array.isArray(r) && r.length === 0)) {
|
|
16
|
-
|
|
16
|
+
l[c.id] = c.requiredMessage ?? `${c.label ?? c.id} is required`;
|
|
17
17
|
continue;
|
|
18
18
|
}
|
|
19
19
|
if (c.validate) {
|
|
20
20
|
const i = c.validate(r, u);
|
|
21
|
-
i && (
|
|
21
|
+
i && (l[c.id] = i);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
return
|
|
24
|
+
return l;
|
|
25
25
|
}
|
|
26
|
-
function F({
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
function F({
|
|
27
|
+
initialValues: u = {},
|
|
28
|
+
sections: o = [],
|
|
29
|
+
onSubmit: l,
|
|
30
|
+
minSubmitMs: n = I
|
|
31
|
+
} = {}) {
|
|
32
|
+
const c = A(() => O(o), [o]), r = A(() => ({ ...c, ...u }), [c, u]), [i, m] = y(r), [S, d] = y({}), [p, g] = y({}), [v, T] = y(!1), k = E(l);
|
|
33
|
+
k.current = l;
|
|
34
|
+
const x = A(() => Object.keys(r).some((t) => {
|
|
35
|
+
const s = r[t], e = i[t];
|
|
36
|
+
return Array.isArray(s) && Array.isArray(e) ? s.length !== e.length || s.some((a, b) => a !== e[b]) : s !== e;
|
|
37
|
+
}), [r, i]), D = f((t, s) => {
|
|
38
|
+
m((e) => ({ ...e, [t]: s })), d((e) => {
|
|
39
|
+
if (!e[t]) return e;
|
|
40
|
+
const a = { ...e };
|
|
41
|
+
return delete a[t], a;
|
|
37
42
|
});
|
|
38
|
-
}, []),
|
|
39
|
-
m((
|
|
40
|
-
}, []), V = f((
|
|
41
|
-
g((
|
|
43
|
+
}, []), M = f((t) => {
|
|
44
|
+
m((s) => ({ ...s, ...t }));
|
|
45
|
+
}, []), V = f((t) => {
|
|
46
|
+
g((s) => s[t] ? s : { ...s, [t]: !0 });
|
|
42
47
|
}, []), h = f(() => {
|
|
43
|
-
const
|
|
44
|
-
d(
|
|
45
|
-
const
|
|
46
|
-
for (const
|
|
47
|
-
for (const
|
|
48
|
-
|
|
49
|
-
return g(
|
|
48
|
+
const t = P(i, o);
|
|
49
|
+
d(t);
|
|
50
|
+
const s = {};
|
|
51
|
+
for (const e of o)
|
|
52
|
+
for (const a of e.fields ?? [])
|
|
53
|
+
s[a.id] = !0;
|
|
54
|
+
return g(s), Object.keys(t).length === 0;
|
|
50
55
|
}, [i, o]), _ = f(() => {
|
|
51
56
|
m(r), d({}), g({});
|
|
52
57
|
}, [r]), j = f(
|
|
53
|
-
async (
|
|
54
|
-
if (
|
|
55
|
-
|
|
58
|
+
async (t) => {
|
|
59
|
+
if (t?.preventDefault?.(), !h()) return !1;
|
|
60
|
+
T(!0);
|
|
56
61
|
try {
|
|
57
|
-
const
|
|
58
|
-
return await Promise.all([
|
|
59
|
-
} catch (
|
|
60
|
-
|
|
62
|
+
const e = n > 0 ? new Promise((a) => setTimeout(a, n)) : Promise.resolve();
|
|
63
|
+
return await Promise.all([k.current?.(i), e]), !0;
|
|
64
|
+
} catch (e) {
|
|
65
|
+
const a = e instanceof Error ? e.message : "Submission failed";
|
|
66
|
+
return d((b) => ({ ...b, _form: a })), !1;
|
|
61
67
|
} finally {
|
|
62
|
-
|
|
68
|
+
T(!1);
|
|
63
69
|
}
|
|
64
70
|
},
|
|
65
71
|
[h, i, n]
|
|
66
|
-
), q = Object.keys(
|
|
72
|
+
), q = Object.keys(S).length === 0;
|
|
67
73
|
return {
|
|
68
74
|
values: i,
|
|
69
|
-
errors:
|
|
70
|
-
touched:
|
|
71
|
-
isDirty:
|
|
75
|
+
errors: S,
|
|
76
|
+
touched: p,
|
|
77
|
+
isDirty: x,
|
|
72
78
|
isValid: q,
|
|
73
|
-
isSubmitting:
|
|
74
|
-
setValue:
|
|
75
|
-
setValues:
|
|
79
|
+
isSubmitting: v,
|
|
80
|
+
setValue: D,
|
|
81
|
+
setValues: M,
|
|
76
82
|
setTouched: V,
|
|
77
83
|
validate: h,
|
|
78
84
|
reset: _,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormState.js","sources":["../../../../src/components/library/forms/useFormState.
|
|
1
|
+
{"version":3,"file":"useFormState.js","sources":["../../../../src/components/library/forms/useFormState.tsx"],"sourcesContent":["import { useState, useMemo, useCallback, useRef } from \"react\";\nimport type { FormSection } from \"./FormRenderer\";\n\nconst DEFAULT_MIN_SUBMIT_MS = 4000;\n\ninterface UseFormStateOptions {\n initialValues?: Record<string, unknown>;\n sections?: FormSection[];\n onSubmit?: (values: Record<string, unknown>) => void | Promise<void>;\n minSubmitMs?: number;\n}\n\ninterface UseFormStateReturn {\n values: Record<string, unknown>;\n errors: Record<string, string>;\n touched: Record<string, boolean>;\n isDirty: boolean;\n isValid: boolean;\n isSubmitting: boolean;\n setValue: (id: string, value: unknown) => void;\n setValues: (vals: Record<string, unknown>) => void;\n setTouched: (id: string) => void;\n validate: () => boolean;\n reset: () => void;\n handleSubmit: (e?: React.FormEvent) => Promise<boolean>;\n}\n\n/**\n * Extracts all field ids and their default values from a form schema.\n */\nfunction buildDefaults(sections: FormSection[]): Record<string, unknown> {\n const defaults: Record<string, unknown> = {};\n for (const section of sections) {\n for (const field of section.fields ?? []) {\n if (field.type === \"checkboxGroup\") {\n defaults[field.id] = [];\n } else if (field.type === \"toggle\" || field.type === \"checkbox\") {\n defaults[field.id] = false;\n } else {\n defaults[field.id] = \"\";\n }\n }\n }\n return defaults;\n}\n\n/**\n * Runs validation for all fields.\n * Returns an object of { fieldId: errorMessage } (empty object = valid).\n */\nfunction runValidation(values: Record<string, unknown>, sections: FormSection[]): Record<string, string> {\n const errors: Record<string, string> = {};\n for (const section of sections) {\n for (const field of section.fields ?? []) {\n const val = values[field.id];\n\n if (field.required) {\n const empty =\n val === undefined ||\n val === null ||\n val === \"\" ||\n (Array.isArray(val) && val.length === 0);\n if (empty) {\n errors[field.id] = field.requiredMessage ?? `${field.label ?? field.id} is required`;\n continue;\n }\n }\n\n if (field.validate) {\n const msg = field.validate(val, values);\n if (msg) errors[field.id] = msg;\n }\n }\n }\n return errors;\n}\n\n/**\n * Form state management hook.\n */\nexport default function useFormState({\n initialValues = {},\n sections = [],\n onSubmit,\n minSubmitMs = DEFAULT_MIN_SUBMIT_MS\n}: UseFormStateOptions = {}): UseFormStateReturn {\n const defaults = useMemo(() => buildDefaults(sections), [sections]);\n const merged = useMemo(() => ({ ...defaults, ...initialValues }), [defaults, initialValues]);\n\n const [values, setValuesState] = useState<Record<string, unknown>>(merged);\n const [errors, setErrors] = useState<Record<string, string>>({});\n const [touched, setTouchedState] = useState<Record<string, boolean>>({});\n const [isSubmitting, setIsSubmitting] = useState(false);\n const submitRef = useRef(onSubmit);\n submitRef.current = onSubmit;\n\n const isDirty = useMemo(() => {\n return Object.keys(merged).some((k) => {\n const a = merged[k];\n const b = values[k];\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length !== b.length || a.some((v, i) => v !== b[i]);\n }\n return a !== b;\n });\n }, [merged, values]);\n\n const setValue = useCallback((id: string, value: unknown) => {\n setValuesState((prev) => ({ ...prev, [id]: value }));\n setErrors((prev) => {\n if (!prev[id]) return prev;\n const next = { ...prev };\n delete next[id];\n return next;\n });\n }, []);\n\n const setValues = useCallback((vals: Record<string, unknown>) => {\n setValuesState((prev) => ({ ...prev, ...vals }));\n }, []);\n\n const setTouched = useCallback((id: string) => {\n setTouchedState((prev) => (prev[id] ? prev : { ...prev, [id]: true }));\n }, []);\n\n const validate = useCallback(() => {\n const errs = runValidation(values, sections);\n setErrors(errs);\n const allTouched: Record<string, boolean> = {};\n for (const section of sections) {\n for (const field of section.fields ?? []) {\n allTouched[field.id] = true;\n }\n }\n setTouchedState(allTouched);\n return Object.keys(errs).length === 0;\n }, [values, sections]);\n\n const reset = useCallback(() => {\n setValuesState(merged);\n setErrors({});\n setTouchedState({});\n }, [merged]);\n\n const handleSubmit = useCallback(\n async (e?: React.FormEvent) => {\n e?.preventDefault?.();\n const valid = validate();\n if (!valid) return false;\n\n setIsSubmitting(true);\n try {\n const delay = minSubmitMs > 0\n ? new Promise((r) => setTimeout(r, minSubmitMs))\n : Promise.resolve();\n await Promise.all([submitRef.current?.(values), delay]);\n return true;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : \"Submission failed\";\n setErrors((prev) => ({ ...prev, _form: errorMessage }));\n return false;\n } finally {\n setIsSubmitting(false);\n }\n },\n [validate, values, minSubmitMs]\n );\n\n const isValid = Object.keys(errors).length === 0;\n\n return {\n values,\n errors,\n touched,\n isDirty,\n isValid,\n isSubmitting,\n setValue,\n setValues,\n setTouched,\n validate,\n reset,\n handleSubmit,\n };\n}\n"],"names":["DEFAULT_MIN_SUBMIT_MS","buildDefaults","sections","defaults","section","field","runValidation","values","errors","val","msg","useFormState","initialValues","onSubmit","minSubmitMs","useMemo","merged","setValuesState","useState","setErrors","touched","setTouchedState","isSubmitting","setIsSubmitting","submitRef","useRef","isDirty","k","a","b","v","i","setValue","useCallback","id","value","prev","next","setValues","vals","setTouched","validate","errs","allTouched","reset","handleSubmit","e","delay","r","err","errorMessage","isValid"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export { default as AppThemeProvider, useThemeMode } from "./theme/AppThemeProvider";
|
|
1
3
|
export { default as UIButton } from "./ui/UIButton";
|
|
2
4
|
export { default as UIInput } from "./ui/UIInput";
|
|
3
5
|
export { default as UIText } from "./ui/Text";
|
|
@@ -9,7 +11,14 @@ export { default as Spinner } from "./ui/Spinner";
|
|
|
9
11
|
export { default as Label } from "./ui/Label";
|
|
10
12
|
export { default as Checkbox } from "./ui/Checkbox";
|
|
11
13
|
export { default as FieldGroup } from "./ui/FieldGroup";
|
|
14
|
+
export { default as UICard, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "./ui/Card";
|
|
15
|
+
export { default as Alert, AlertTitle, AlertDescription, AlertAction } from "./ui/Alert";
|
|
16
|
+
export { default as HeroUIDialog, Dialog, DialogTrigger, DialogPortal, DialogClose, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from "./heroui/Dialog";
|
|
17
|
+
export { default as HeroUIField, Field, FieldLabel, FieldDescription, FieldError } from "./heroui/Field";
|
|
12
18
|
export { default as HeroUICollapsible } from "./heroui/Collapsible";
|
|
19
|
+
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from "./ui/Collapsible";
|
|
20
|
+
export { default as HeroUIPopover, Popover, PopoverTrigger, PopoverContent } from "./heroui/Popover";
|
|
21
|
+
export { default as HeroUIDatePicker, DatePicker, DatePickerTrigger, DatePickerContent, DatePickerCalendar, DatePickerRangeTrigger } from "./heroui/DatePicker";
|
|
13
22
|
export { default as BaseCard } from "./cards/BaseCard";
|
|
14
23
|
export { default as ChartCard } from "./cards/ChartCard";
|
|
15
24
|
export { default as ListCard } from "./cards/ListCard";
|
|
@@ -28,91 +37,119 @@ export { D3ChartTemplates } from "./charts/D3ChartTemplates";
|
|
|
28
37
|
export { default as GeoMap } from "./charts/GeoMap";
|
|
29
38
|
export { default as PageContainer } from "./layout/PageContainer";
|
|
30
39
|
export { default as CardSkeleton } from "./skeletons/CardSkeleton";
|
|
40
|
+
export { FormModal, FormRenderer, FormSection, FormField, useFormState } from "./forms";
|
|
41
|
+
export { FilterBar, SearchFilter, SelectFilter, ToggleFilter } from "./filters";
|
|
42
|
+
export { default as DataModeProvider, useDataMode } from "./data/DataModeProvider";
|
|
31
43
|
export { default as DataModeToggle } from "./data/DataModeToggle";
|
|
32
44
|
export { default as useDataSource } from "./data/useDataSource";
|
|
33
45
|
export { default as usePageFilters } from "./data/usePageFilters";
|
|
46
|
+
export { filterBySearch, filterByValue, filterByToggle, filterByDateRange, sortByKey, applyFilters, } from "./data/filterUtils";
|
|
47
|
+
export { ChatPanel, ChatBar, ChatMessageList, ChatMessage, ChatInput, ChatTypingIndicator, ChatSuggestions, ChatToolCall, ChatWelcome, useChatState, } from "./chat";
|
|
48
|
+
export { default as HeroUIButton, Button } from "./heroui/Button";
|
|
34
49
|
export { default as HeroUIInput } from "./heroui/Input";
|
|
35
50
|
export { default as HeroUICard } from "./heroui/Card";
|
|
36
51
|
export { default as HeroUIToggle } from "./heroui/Toggle";
|
|
37
52
|
export { default as HeroUITabs } from "./heroui/Tabs";
|
|
38
53
|
export { default as HeroUIAccordion } from "./heroui/Accordion";
|
|
39
|
-
export
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
54
|
+
export { default as HeroUIBreadcrumbs, Breadcrumbs } from "./heroui/Breadcrumbs";
|
|
55
|
+
export { default as HeroUISeparator, Separator } from "./heroui/Separator";
|
|
56
|
+
export { default as HeroUIPagination, Pagination } from "./heroui/Pagination";
|
|
57
|
+
export declare const Breadcrumb: ({ children, ...props }: {
|
|
58
|
+
children?: React.ReactNode;
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
}) => React.DetailedReactHTMLElement<{
|
|
43
61
|
'aria-label': string;
|
|
44
62
|
}, HTMLElement>;
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
})
|
|
63
|
+
export declare const BreadcrumbList: ({ children, ...props }: {
|
|
64
|
+
children?: React.ReactNode;
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
}) => React.DetailedReactHTMLElement<{
|
|
49
67
|
className: string;
|
|
50
68
|
}, HTMLElement>;
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
})
|
|
69
|
+
export declare const BreadcrumbItem: ({ children, ...props }: {
|
|
70
|
+
children?: React.ReactNode;
|
|
71
|
+
[key: string]: any;
|
|
72
|
+
}) => React.DetailedReactHTMLElement<{
|
|
55
73
|
className: string;
|
|
56
74
|
}, HTMLElement>;
|
|
57
|
-
export
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
})
|
|
63
|
-
[
|
|
75
|
+
export declare const BreadcrumbLink: ({ href, children, asChild, ...props }: {
|
|
76
|
+
href?: string;
|
|
77
|
+
children?: React.ReactNode;
|
|
78
|
+
asChild?: boolean;
|
|
79
|
+
[key: string]: any;
|
|
80
|
+
}) => React.DetailedReactHTMLElement<{
|
|
81
|
+
[key: string]: any;
|
|
64
82
|
}, HTMLElement> | React.DetailedReactHTMLElement<{
|
|
65
|
-
href:
|
|
83
|
+
href: string | undefined;
|
|
66
84
|
className: string;
|
|
67
85
|
}, HTMLElement>;
|
|
68
|
-
export
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
})
|
|
86
|
+
export declare const BreadcrumbPage: ({ children, ...props }: {
|
|
87
|
+
children?: React.ReactNode;
|
|
88
|
+
[key: string]: any;
|
|
89
|
+
}) => React.DetailedReactHTMLElement<{
|
|
72
90
|
role: "link";
|
|
73
91
|
'aria-disabled': "true";
|
|
74
92
|
'aria-current': "page";
|
|
75
93
|
className: string;
|
|
76
94
|
}, HTMLElement>;
|
|
77
|
-
export
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
})
|
|
95
|
+
export declare const BreadcrumbSeparator: ({ children, ...props }: {
|
|
96
|
+
children?: React.ReactNode;
|
|
97
|
+
[key: string]: any;
|
|
98
|
+
}) => React.DetailedReactHTMLElement<{
|
|
99
|
+
role: "presentation";
|
|
100
|
+
'aria-hidden': "true";
|
|
101
|
+
}, HTMLElement>;
|
|
102
|
+
export declare const BreadcrumbEllipsis: (props: {
|
|
103
|
+
[key: string]: any;
|
|
104
|
+
}) => React.DetailedReactHTMLElement<{
|
|
81
105
|
role: "presentation";
|
|
82
106
|
'aria-hidden': "true";
|
|
83
107
|
}, HTMLElement>;
|
|
84
|
-
export
|
|
85
|
-
|
|
86
|
-
[
|
|
87
|
-
|
|
88
|
-
}): React.DetailedReactHTMLElement<{
|
|
108
|
+
export declare const PaginationContent: ({ children, ...props }: {
|
|
109
|
+
children?: React.ReactNode;
|
|
110
|
+
[key: string]: any;
|
|
111
|
+
}) => React.DetailedReactHTMLElement<{
|
|
89
112
|
className: string;
|
|
90
113
|
}, HTMLElement>;
|
|
91
|
-
export
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
})
|
|
95
|
-
[
|
|
114
|
+
export declare const PaginationItem: ({ children, ...props }: {
|
|
115
|
+
children?: React.ReactNode;
|
|
116
|
+
[key: string]: any;
|
|
117
|
+
}) => React.DetailedReactHTMLElement<{
|
|
118
|
+
[key: string]: any;
|
|
96
119
|
}, HTMLElement>;
|
|
97
|
-
export
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
})
|
|
103
|
-
href:
|
|
120
|
+
export declare const PaginationLink: ({ href, isActive, children, ...props }: {
|
|
121
|
+
href?: string;
|
|
122
|
+
isActive?: boolean;
|
|
123
|
+
children?: React.ReactNode;
|
|
124
|
+
[key: string]: any;
|
|
125
|
+
}) => React.DetailedReactHTMLElement<{
|
|
126
|
+
href: string | undefined;
|
|
104
127
|
'aria-current': "page" | undefined;
|
|
105
128
|
className: string;
|
|
106
129
|
}, HTMLElement>;
|
|
107
|
-
export
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
})
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
130
|
+
export declare const PaginationPrevious: ({ href, ...props }: {
|
|
131
|
+
href?: string;
|
|
132
|
+
[key: string]: any;
|
|
133
|
+
}) => React.FunctionComponentElement<{
|
|
134
|
+
[key: string]: any;
|
|
135
|
+
href?: string;
|
|
136
|
+
isActive?: boolean;
|
|
137
|
+
children?: React.ReactNode;
|
|
138
|
+
}>;
|
|
139
|
+
export declare const PaginationNext: ({ href, ...props }: {
|
|
140
|
+
href?: string;
|
|
141
|
+
[key: string]: any;
|
|
142
|
+
}) => React.FunctionComponentElement<{
|
|
143
|
+
[key: string]: any;
|
|
144
|
+
href?: string;
|
|
145
|
+
isActive?: boolean;
|
|
146
|
+
children?: React.ReactNode;
|
|
147
|
+
}>;
|
|
148
|
+
export declare const PaginationEllipsis: (props: {
|
|
149
|
+
[key: string]: any;
|
|
150
|
+
}) => React.DetailedReactHTMLElement<{
|
|
151
|
+
'aria-hidden': true;
|
|
152
|
+
}, HTMLElement>;
|
|
116
153
|
export { default as HeroUIDrawer } from "./heroui/Drawer";
|
|
117
154
|
export { default as HeroUIModal } from "./heroui/Modal";
|
|
118
155
|
export { default as HeroUIDropdown } from "./heroui/Dropdown";
|
|
@@ -123,26 +160,8 @@ export { default as HeroUIBadge } from "./heroui/Badge";
|
|
|
123
160
|
export { default as HeroUIProgressBar } from "./heroui/ProgressBar";
|
|
124
161
|
export { default as HeroUIProgressCircle } from "./heroui/ProgressCircle";
|
|
125
162
|
export { default as HeroUIMeter } from "./heroui/Meter";
|
|
126
|
-
export { default as HeroUISelect } from "./heroui/Select";
|
|
127
|
-
import React from 'react';
|
|
128
|
-
export { default as AppThemeProvider, useThemeMode } from "./theme/AppThemeProvider";
|
|
129
|
-
export { default as UICard, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "./ui/Card";
|
|
130
|
-
export { default as Alert, AlertTitle, AlertDescription, AlertAction } from "./ui/Alert";
|
|
131
|
-
export { default as HeroUIDialog, Dialog, DialogTrigger, DialogPortal, DialogClose, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from "./heroui/Dialog";
|
|
132
|
-
export { default as HeroUIField, Field, FieldLabel, FieldDescription, FieldError } from "./heroui/Field";
|
|
133
|
-
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from "./ui/Collapsible";
|
|
134
|
-
export { default as HeroUIPopover, Popover, PopoverTrigger, PopoverContent } from "./heroui/Popover";
|
|
135
|
-
export { default as HeroUIDatePicker, DatePicker, DatePickerTrigger, DatePickerContent, DatePickerCalendar, DatePickerRangeTrigger } from "./heroui/DatePicker";
|
|
136
|
-
export { FormModal, FormRenderer, FormSection, FormField, useFormState } from "./forms";
|
|
137
|
-
export { FilterBar, SearchFilter, SelectFilter, ToggleFilter } from "./filters";
|
|
138
|
-
export { default as DataModeProvider, useDataMode } from "./data/DataModeProvider";
|
|
139
|
-
export { filterBySearch, filterByValue, filterByToggle, filterByDateRange, sortByKey, applyFilters } from "./data/filterUtils";
|
|
140
|
-
export { ChatPanel, ChatBar, ChatMessageList, ChatMessage, ChatInput, ChatTypingIndicator, ChatSuggestions, ChatToolCall, ChatWelcome, useChatState } from "./chat";
|
|
141
|
-
export { default as HeroUIButton, Button } from "./heroui/Button";
|
|
142
|
-
export { default as HeroUIBreadcrumbs, Breadcrumbs } from "./heroui/Breadcrumbs";
|
|
143
|
-
export { default as HeroUISeparator, Separator } from "./heroui/Separator";
|
|
144
|
-
export { default as HeroUIPagination, Pagination } from "./heroui/Pagination";
|
|
145
163
|
export { default as HeroUISkeleton, Skeleton } from "./heroui/Skeleton";
|
|
164
|
+
export { default as HeroUISelect } from "./heroui/Select";
|
|
146
165
|
export { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from "./ui/Select";
|
|
147
166
|
export { default as HeroUIKbd, Kbd } from "./heroui/Kbd";
|
|
148
167
|
export { default as HeroUIScrollShadow, ScrollShadow } from "./heroui/ScrollShadow";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import a from "react";
|
|
2
|
-
import { default as
|
|
1
|
+
import * as a from "react";
|
|
2
|
+
import { default as w, useThemeMode as S } from "./theme/AppThemeProvider.js";
|
|
3
3
|
import "react/jsx-runtime";
|
|
4
|
-
import { Dialog as
|
|
4
|
+
import { Dialog as T, DialogClose as y, DialogContent as C, DialogDescription as I, DialogFooter as L, DialogHeader as H, DialogOverlay as j, DialogPortal as F, DialogTitle as G, DialogTrigger as K, default as O } from "./heroui/Dialog.js";
|
|
5
5
|
import { Breadcrumbs as U, Kbd as $, Pagination as q, ScrollShadow as z, Separator as A, Skeleton as J } from "@heroui/react";
|
|
6
6
|
import "framer-motion";
|
|
7
7
|
import "@heroicons/react/24/outline";
|
|
@@ -10,24 +10,24 @@ import { default as V } from "./charts/GeoMap.js";
|
|
|
10
10
|
import "react-dom";
|
|
11
11
|
import { default as X, useDataMode as Y } from "./data/DataModeProvider.js";
|
|
12
12
|
import "@heroicons/react/24/solid";
|
|
13
|
-
const
|
|
13
|
+
const p = ({ children: e, ...t }) => a.createElement("nav", { "aria-label": "breadcrumb", ...t }, e), g = ({ children: e, ...t }) => a.createElement("ol", { className: "flex flex-wrap items-center gap-1.5 break-words text-sm text-slate-500 dark:text-slate-400", ...t }, e), u = ({ children: e, ...t }) => a.createElement("li", { className: "inline-flex items-center gap-1.5", ...t }, e), x = ({ href: e, children: t, asChild: o, ...r }) => o ? a.createElement("span", r, t) : a.createElement("a", { href: e, className: "transition-colors hover:text-slate-900 dark:hover:text-slate-50", ...r }, t), f = ({ children: e, ...t }) => a.createElement("span", { role: "link", "aria-disabled": "true", "aria-current": "page", className: "font-normal text-slate-900 dark:text-slate-50", ...t }, e), b = ({ children: e, ...t }) => a.createElement("li", { role: "presentation", "aria-hidden": "true", ...t }, e ?? "/"), E = (e) => a.createElement("span", { role: "presentation", "aria-hidden": "true", ...e }, "..."), D = ({ children: e, ...t }) => a.createElement("ul", { className: "flex flex-row items-center gap-1", ...t }, e), P = ({ children: e, ...t }) => a.createElement("li", t, e), n = ({ href: e, isActive: t, children: o, ...r }) => a.createElement("a", { href: e, "aria-current": t ? "page" : void 0, className: `inline-flex items-center justify-center rounded-md text-sm font-medium h-9 min-w-9 px-4 py-2 ${t ? "bg-slate-900 text-white dark:bg-slate-50 dark:text-slate-900" : "hover:bg-slate-100 dark:hover:bg-slate-800"}`, ...r }, o), h = ({ href: e, ...t }) => a.createElement(n, { href: e, ...t }, "Previous"), k = ({ href: e, ...t }) => a.createElement(n, { href: e, ...t }, "Next"), v = (e) => a.createElement("span", { "aria-hidden": !0, ...e }, "...");
|
|
14
14
|
export {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
w as AppThemeProvider,
|
|
16
|
+
p as Breadcrumb,
|
|
17
|
+
E as BreadcrumbEllipsis,
|
|
18
|
+
u as BreadcrumbItem,
|
|
19
|
+
x as BreadcrumbLink,
|
|
20
|
+
g as BreadcrumbList,
|
|
21
|
+
f as BreadcrumbPage,
|
|
22
|
+
b as BreadcrumbSeparator,
|
|
23
23
|
U as Breadcrumbs,
|
|
24
24
|
X as DataModeProvider,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
T as Dialog,
|
|
26
|
+
y as DialogClose,
|
|
27
|
+
C as DialogContent,
|
|
28
|
+
I as DialogDescription,
|
|
29
|
+
L as DialogFooter,
|
|
30
|
+
H as DialogHeader,
|
|
31
31
|
j as DialogOverlay,
|
|
32
32
|
F as DialogPortal,
|
|
33
33
|
G as DialogTitle,
|
|
@@ -36,16 +36,16 @@ export {
|
|
|
36
36
|
O as HeroUIDialog,
|
|
37
37
|
$ as Kbd,
|
|
38
38
|
q as Pagination,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
D as PaginationContent,
|
|
40
|
+
v as PaginationEllipsis,
|
|
41
|
+
P as PaginationItem,
|
|
42
|
+
n as PaginationLink,
|
|
43
|
+
k as PaginationNext,
|
|
44
|
+
h as PaginationPrevious,
|
|
45
45
|
z as ScrollShadow,
|
|
46
46
|
A as Separator,
|
|
47
47
|
J as Skeleton,
|
|
48
48
|
Y as useDataMode,
|
|
49
|
-
|
|
49
|
+
S as useThemeMode
|
|
50
50
|
};
|
|
51
51
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/library/index.jsx"],"sourcesContent":["import React from 'react';\n\nexport { default as AppThemeProvider, useThemeMode } from \"./theme/AppThemeProvider\";\n\n// UI primitives\nexport { default as UIButton } from \"./ui/UIButton\";\nexport { default as UIInput } from \"./ui/UIInput\";\nexport { default as UIText } from \"./ui/Text\";\nexport { default as UIContainer } from \"./ui/Container\";\nexport { default as UIChip } from \"./ui/Chip\";\nexport { default as Avatar } from \"./ui/Avatar\";\nexport { default as EmptyState } from \"./ui/EmptyState\";\nexport { default as Spinner } from \"./ui/Spinner\";\nexport { default as Label } from \"./ui/Label\";\nexport { default as Checkbox } from \"./ui/Checkbox\";\nexport { default as FieldGroup } from \"./ui/FieldGroup\";\n\n// shadcn-compatible Card with subcomponents\nexport { default as UICard, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from \"./ui/Card\";\n\n// shadcn-compatible Alert with subcomponents\nexport { default as Alert, AlertTitle, AlertDescription, AlertAction } from \"./ui/Alert\";\n\n// shadcn-compatible components from heroui/ (HeroUI-based)\nexport { default as HeroUIDialog, Dialog, DialogTrigger, DialogPortal, DialogClose, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from \"./heroui/Dialog\";\nexport { default as HeroUIField, Field, FieldLabel, FieldDescription, FieldError } from \"./heroui/Field\";\nexport { default as HeroUICollapsible } from \"./heroui/Collapsible\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./ui/Collapsible\";\nexport { default as HeroUIPopover, Popover, PopoverTrigger, PopoverContent } from \"./heroui/Popover\";\nexport { default as HeroUIDatePicker, DatePicker, DatePickerTrigger, DatePickerContent, DatePickerCalendar, DatePickerRangeTrigger } from \"./heroui/DatePicker\";\n\n// Cards\nexport { default as BaseCard } from \"./cards/BaseCard\";\nexport { default as ChartCard } from \"./cards/ChartCard\";\nexport { default as ListCard } from \"./cards/ListCard\";\nexport { default as MetricCard } from \"./cards/MetricCard\";\nexport { default as SectionCard } from \"./cards/SectionCard\";\nexport { default as StatusCard } from \"./cards/StatusCard\";\nexport { default as TableCard } from \"./cards/TableCard\";\nexport { default as WidgetCard } from \"./cards/WidgetCard\";\nexport { default as FeedPanel } from \"./cards/FeedPanel\";\nexport { default as ActivityCard } from \"./cards/ActivityCard\";\nexport { default as MetricsStrip } from \"./cards/MetricsStrip\";\nexport { default as CalloutCard } from \"./cards/CalloutCard\";\nexport { default as ActionList } from \"./cards/ActionList\";\n\n// Charts\nexport { default as D3Chart } from \"./charts/D3Chart\";\nexport { D3ChartTemplates } from \"./charts/D3ChartTemplates\";\nexport { default as GeoMap } from \"./charts/GeoMap\";\n\n// Layout\nexport { default as PageContainer } from \"./layout/PageContainer\";\n\n// Skeletons\nexport { default as CardSkeleton } from \"./skeletons/CardSkeleton\";\n\n// Forms\nexport { FormModal, FormRenderer, FormSection, FormField, useFormState } from \"./forms\";\n\n// Filters\nexport { FilterBar, SearchFilter, SelectFilter, ToggleFilter } from \"./filters\";\n\n// Data mode\nexport { default as DataModeProvider, useDataMode } from \"./data/DataModeProvider\";\nexport { default as DataModeToggle } from \"./data/DataModeToggle\";\nexport { default as useDataSource } from \"./data/useDataSource\";\n\n// Data utilities\nexport { default as usePageFilters } from \"./data/usePageFilters\";\nexport {\n filterBySearch,\n filterByValue,\n filterByToggle,\n filterByDateRange,\n sortByKey,\n applyFilters,\n} from \"./data/filterUtils\";\n\n// Chat / AI agent\nexport {\n ChatPanel,\n ChatBar,\n ChatMessageList,\n ChatMessage,\n ChatInput,\n ChatTypingIndicator,\n ChatSuggestions,\n ChatToolCall,\n ChatWelcome,\n useChatState,\n} from \"./chat\";\n\n// HeroUI wrappers — existing\nexport { default as HeroUIButton, Button } from \"./heroui/Button\";\nexport { default as HeroUIInput } from \"./heroui/Input\";\nexport { default as HeroUICard } from \"./heroui/Card\";\nexport { default as HeroUIToggle } from \"./heroui/Toggle\";\n\n// HeroUI wrappers — navigation & layout\nexport { default as HeroUITabs } from \"./heroui/Tabs\";\nexport { default as HeroUIAccordion } from \"./heroui/Accordion\";\nexport { default as HeroUIBreadcrumbs, Breadcrumbs } from \"./heroui/Breadcrumbs\";\nexport { default as HeroUISeparator, Separator } from \"./heroui/Separator\";\nexport { default as HeroUIPagination, Pagination } from \"./heroui/Pagination\";\n\n// Breadcrumb subcomponents for shadcn compatibility\nexport const Breadcrumb = ({ children, ...props }) => React.createElement('nav', { 'aria-label': 'breadcrumb', ...props }, children);\nexport const BreadcrumbList = ({ children, ...props }) => React.createElement('ol', { className: 'flex flex-wrap items-center gap-1.5 break-words text-sm text-slate-500 dark:text-slate-400', ...props }, children);\nexport const BreadcrumbItem = ({ children, ...props }) => React.createElement('li', { className: 'inline-flex items-center gap-1.5', ...props }, children);\nexport const BreadcrumbLink = ({ href, children, asChild, ...props }) => asChild ? React.createElement('span', props, children) : React.createElement('a', { href, className: 'transition-colors hover:text-slate-900 dark:hover:text-slate-50', ...props }, children);\nexport const BreadcrumbPage = ({ children, ...props }) => React.createElement('span', { role: 'link', 'aria-disabled': 'true', 'aria-current': 'page', className: 'font-normal text-slate-900 dark:text-slate-50', ...props }, children);\nexport const BreadcrumbSeparator = ({ children, ...props }) => React.createElement('li', { role: 'presentation', 'aria-hidden': 'true', ...props }, children ?? '/');\nexport const BreadcrumbEllipsis = (props) => React.createElement('span', { role: 'presentation', 'aria-hidden': 'true', ...props }, '...');\n\n// Pagination subcomponents for shadcn compatibility\nexport const PaginationContent = ({ children, ...props }) => React.createElement('ul', { className: 'flex flex-row items-center gap-1', ...props }, children);\nexport const PaginationItem = ({ children, ...props }) => React.createElement('li', props, children);\nexport const PaginationLink = ({ href, isActive, children, ...props }) => React.createElement('a', { href, 'aria-current': isActive ? 'page' : undefined, className: `inline-flex items-center justify-center rounded-md text-sm font-medium h-9 min-w-9 px-4 py-2 ${isActive ? 'bg-slate-900 text-white dark:bg-slate-50 dark:text-slate-900' : 'hover:bg-slate-100 dark:hover:bg-slate-800'}`, ...props }, children);\nexport const PaginationPrevious = ({ href, ...props }) => React.createElement(PaginationLink, { href, ...props }, 'Previous');\nexport const PaginationNext = ({ href, ...props }) => React.createElement(PaginationLink, { href, ...props }, 'Next');\nexport const PaginationEllipsis = (props) => React.createElement('span', { 'aria-hidden': true, ...props }, '...');\n\n// HeroUI wrappers — overlays\nexport { default as HeroUIDrawer } from \"./heroui/Drawer\";\nexport { default as HeroUIModal } from \"./heroui/Modal\";\nexport { default as HeroUIDropdown } from \"./heroui/Dropdown\";\nexport { default as HeroUITooltip } from \"./heroui/Tooltip\";\nexport { default as HeroUIToast } from \"./heroui/Toast\";\n\n// HeroUI wrappers — feedback\nexport { default as HeroUIAlert } from \"./heroui/Alert\";\nexport { default as HeroUIBadge } from \"./heroui/Badge\";\nexport { default as HeroUIProgressBar } from \"./heroui/ProgressBar\";\nexport { default as HeroUIProgressCircle } from \"./heroui/ProgressCircle\";\nexport { default as HeroUIMeter } from \"./heroui/Meter\";\nexport { default as HeroUISkeleton, Skeleton } from \"./heroui/Skeleton\";\n\n// HeroUI wrappers — pickers & forms\nexport { default as HeroUISelect } from \"./heroui/Select\";\n\n// Re-export full Radix Select suite from ui/Select for shadcn compatibility\nexport { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from \"./ui/Select\";\n\n// HeroUI wrappers — utilities\nexport { default as HeroUIKbd, Kbd } from \"./heroui/Kbd\";\nexport { default as HeroUIScrollShadow, ScrollShadow } from \"./heroui/ScrollShadow\";\n"],"names":["Breadcrumb","children","props","React","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","href","asChild","BreadcrumbPage","BreadcrumbSeparator","BreadcrumbEllipsis","PaginationContent","PaginationItem","PaginationLink","isActive","PaginationPrevious","PaginationNext","PaginationEllipsis"],"mappings":";;;;;;;;;;;;AA2GO,MAAMA,IAAa,CAAC,EAAE,UAAAC,GAAU,GAAGC,QAAYC,EAAM,cAAc,OAAO,EAAE,cAAc,cAAc,GAAGD,EAAA,GAASD,CAAQ,GACtHG,IAAiB,CAAC,EAAE,UAAAH,GAAU,GAAGC,QAAYC,EAAM,cAAc,MAAM,EAAE,WAAW,8FAA8F,GAAGD,EAAA,GAASD,CAAQ,GACtMI,IAAiB,CAAC,EAAE,UAAAJ,GAAU,GAAGC,QAAYC,EAAM,cAAc,MAAM,EAAE,WAAW,oCAAoC,GAAGD,EAAA,GAASD,CAAQ,GAC5IK,IAAiB,CAAC,EAAE,MAAAC,GAAM,UAAAN,GAAU,SAAAO,GAAS,GAAGN,EAAA,MAAYM,IAAUL,EAAM,cAAc,QAAQD,GAAOD,CAAQ,IAAIE,EAAM,cAAc,KAAK,EAAE,MAAAI,GAAM,WAAW,mEAAmE,GAAGL,EAAA,GAASD,CAAQ,GACxPQ,IAAiB,CAAC,EAAE,UAAAR,GAAU,GAAGC,EAAA,MAAYC,EAAM,cAAc,QAAQ,EAAE,MAAM,QAAQ,iBAAiB,QAAQ,gBAAgB,QAAQ,WAAW,iDAAiD,GAAGD,EAAA,GAASD,CAAQ,GAC1NS,IAAsB,CAAC,EAAE,UAAAT,GAAU,GAAGC,EAAA,MAAYC,EAAM,cAAc,MAAM,EAAE,MAAM,gBAAgB,eAAe,QAAQ,GAAGD,EAAA,GAASD,KAAY,GAAG,GACtJU,IAAqB,CAACT,MAAUC,EAAM,cAAc,QAAQ,EAAE,MAAM,gBAAgB,eAAe,QAAQ,GAAGD,EAAA,GAAS,KAAK,GAG5HU,IAAoB,CAAC,EAAE,UAAAX,GAAU,GAAGC,QAAYC,EAAM,cAAc,MAAM,EAAE,WAAW,oCAAoC,GAAGD,EAAA,GAASD,CAAQ,GAC/IY,IAAiB,CAAC,EAAE,UAAAZ,GAAU,GAAGC,EAAA,MAAYC,EAAM,cAAc,MAAMD,GAAOD,CAAQ,GACtFa,IAAiB,CAAC,EAAE,MAAAP,GAAM,UAAAQ,GAAU,UAAAd,GAAU,GAAGC,EAAA,MAAYC,EAAM,cAAc,KAAK,EAAE,MAAAI,GAAM,gBAAgBQ,IAAW,SAAS,QAAW,WAAW,gGAAgGA,IAAW,iEAAiE,4CAA4C,IAAI,GAAGb,EAAA,GAASD,CAAQ,GACxYe,IAAqB,CAAC,EAAE,MAAAT,GAAM,GAAGL,EAAA,MAAYC,EAAM,cAAcW,GAAgB,EAAE,MAAAP,GAAM,GAAGL,EAAA,GAAS,UAAU,GAC/Ge,IAAiB,CAAC,EAAE,MAAAV,GAAM,GAAGL,EAAA,MAAYC,EAAM,cAAcW,GAAgB,EAAE,MAAAP,GAAM,GAAGL,EAAA,GAAS,MAAM,GACvGgB,IAAqB,CAAChB,MAAUC,EAAM,cAAc,QAAQ,EAAE,eAAe,IAAM,GAAGD,EAAA,GAAS,KAAK;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/library/index.ts"],"sourcesContent":["import * as React from 'react';\n\nexport { default as AppThemeProvider, useThemeMode } from \"./theme/AppThemeProvider\";\n\n// UI primitives\nexport { default as UIButton } from \"./ui/UIButton\";\nexport { default as UIInput } from \"./ui/UIInput\";\nexport { default as UIText } from \"./ui/Text\";\nexport { default as UIContainer } from \"./ui/Container\";\nexport { default as UIChip } from \"./ui/Chip\";\nexport { default as Avatar } from \"./ui/Avatar\";\nexport { default as EmptyState } from \"./ui/EmptyState\";\nexport { default as Spinner } from \"./ui/Spinner\";\nexport { default as Label } from \"./ui/Label\";\nexport { default as Checkbox } from \"./ui/Checkbox\";\nexport { default as FieldGroup } from \"./ui/FieldGroup\";\n\n// shadcn-compatible Card with subcomponents\nexport { default as UICard, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from \"./ui/Card\";\n\n// shadcn-compatible Alert with subcomponents\nexport { default as Alert, AlertTitle, AlertDescription, AlertAction } from \"./ui/Alert\";\n\n// shadcn-compatible components from heroui/ (HeroUI-based)\nexport { default as HeroUIDialog, Dialog, DialogTrigger, DialogPortal, DialogClose, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from \"./heroui/Dialog\";\nexport { default as HeroUIField, Field, FieldLabel, FieldDescription, FieldError } from \"./heroui/Field\";\nexport { default as HeroUICollapsible } from \"./heroui/Collapsible\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./ui/Collapsible\";\nexport { default as HeroUIPopover, Popover, PopoverTrigger, PopoverContent } from \"./heroui/Popover\";\nexport { default as HeroUIDatePicker, DatePicker, DatePickerTrigger, DatePickerContent, DatePickerCalendar, DatePickerRangeTrigger } from \"./heroui/DatePicker\";\n\n// Cards\nexport { default as BaseCard } from \"./cards/BaseCard\";\nexport { default as ChartCard } from \"./cards/ChartCard\";\nexport { default as ListCard } from \"./cards/ListCard\";\nexport { default as MetricCard } from \"./cards/MetricCard\";\nexport { default as SectionCard } from \"./cards/SectionCard\";\nexport { default as StatusCard } from \"./cards/StatusCard\";\nexport { default as TableCard } from \"./cards/TableCard\";\nexport { default as WidgetCard } from \"./cards/WidgetCard\";\nexport { default as FeedPanel } from \"./cards/FeedPanel\";\nexport { default as ActivityCard } from \"./cards/ActivityCard\";\nexport { default as MetricsStrip } from \"./cards/MetricsStrip\";\nexport { default as CalloutCard } from \"./cards/CalloutCard\";\nexport { default as ActionList } from \"./cards/ActionList\";\n\n// Charts\nexport { default as D3Chart } from \"./charts/D3Chart\";\nexport { D3ChartTemplates } from \"./charts/D3ChartTemplates\";\nexport { default as GeoMap } from \"./charts/GeoMap\";\n\n// Layout\nexport { default as PageContainer } from \"./layout/PageContainer\";\n\n// Skeletons\nexport { default as CardSkeleton } from \"./skeletons/CardSkeleton\";\n\n// Forms\nexport { FormModal, FormRenderer, FormSection, FormField, useFormState } from \"./forms\";\n\n// Filters\nexport { FilterBar, SearchFilter, SelectFilter, ToggleFilter } from \"./filters\";\n\n// Data mode\nexport { default as DataModeProvider, useDataMode } from \"./data/DataModeProvider\";\nexport { default as DataModeToggle } from \"./data/DataModeToggle\";\nexport { default as useDataSource } from \"./data/useDataSource\";\n\n// Data utilities\nexport { default as usePageFilters } from \"./data/usePageFilters\";\nexport {\n filterBySearch,\n filterByValue,\n filterByToggle,\n filterByDateRange,\n sortByKey,\n applyFilters,\n} from \"./data/filterUtils\";\n\n// Chat / AI agent\nexport {\n ChatPanel,\n ChatBar,\n ChatMessageList,\n ChatMessage,\n ChatInput,\n ChatTypingIndicator,\n ChatSuggestions,\n ChatToolCall,\n ChatWelcome,\n useChatState,\n} from \"./chat\";\n\n// HeroUI wrappers — existing\nexport { default as HeroUIButton, Button } from \"./heroui/Button\";\nexport { default as HeroUIInput } from \"./heroui/Input\";\nexport { default as HeroUICard } from \"./heroui/Card\";\nexport { default as HeroUIToggle } from \"./heroui/Toggle\";\n\n// HeroUI wrappers — navigation & layout\nexport { default as HeroUITabs } from \"./heroui/Tabs\";\nexport { default as HeroUIAccordion } from \"./heroui/Accordion\";\nexport { default as HeroUIBreadcrumbs, Breadcrumbs } from \"./heroui/Breadcrumbs\";\nexport { default as HeroUISeparator, Separator } from \"./heroui/Separator\";\nexport { default as HeroUIPagination, Pagination } from \"./heroui/Pagination\";\n\n// Breadcrumb subcomponents for shadcn compatibility\nexport const Breadcrumb = ({ children, ...props }: { children?: React.ReactNode; [key: string]: any }) => React.createElement('nav', { 'aria-label': 'breadcrumb', ...props }, children);\nexport const BreadcrumbList = ({ children, ...props }: { children?: React.ReactNode; [key: string]: any }) => React.createElement('ol', { className: 'flex flex-wrap items-center gap-1.5 break-words text-sm text-slate-500 dark:text-slate-400', ...props }, children);\nexport const BreadcrumbItem = ({ children, ...props }: { children?: React.ReactNode; [key: string]: any }) => React.createElement('li', { className: 'inline-flex items-center gap-1.5', ...props }, children);\nexport const BreadcrumbLink = ({ href, children, asChild, ...props }: { href?: string; children?: React.ReactNode; asChild?: boolean; [key: string]: any }) => asChild ? React.createElement('span', props, children) : React.createElement('a', { href, className: 'transition-colors hover:text-slate-900 dark:hover:text-slate-50', ...props }, children);\nexport const BreadcrumbPage = ({ children, ...props }: { children?: React.ReactNode; [key: string]: any }) => React.createElement('span', { role: 'link', 'aria-disabled': 'true', 'aria-current': 'page', className: 'font-normal text-slate-900 dark:text-slate-50', ...props }, children);\nexport const BreadcrumbSeparator = ({ children, ...props }: { children?: React.ReactNode; [key: string]: any }) => React.createElement('li', { role: 'presentation', 'aria-hidden': 'true', ...props }, children ?? '/');\nexport const BreadcrumbEllipsis = (props: { [key: string]: any }) => React.createElement('span', { role: 'presentation', 'aria-hidden': 'true', ...props }, '...');\n\n// Pagination subcomponents for shadcn compatibility\nexport const PaginationContent = ({ children, ...props }: { children?: React.ReactNode; [key: string]: any }) => React.createElement('ul', { className: 'flex flex-row items-center gap-1', ...props }, children);\nexport const PaginationItem = ({ children, ...props }: { children?: React.ReactNode; [key: string]: any }) => React.createElement('li', props, children);\nexport const PaginationLink = ({ href, isActive, children, ...props }: { href?: string; isActive?: boolean; children?: React.ReactNode; [key: string]: any }) => React.createElement('a', { href, 'aria-current': isActive ? 'page' : undefined, className: `inline-flex items-center justify-center rounded-md text-sm font-medium h-9 min-w-9 px-4 py-2 ${isActive ? 'bg-slate-900 text-white dark:bg-slate-50 dark:text-slate-900' : 'hover:bg-slate-100 dark:hover:bg-slate-800'}`, ...props }, children);\nexport const PaginationPrevious = ({ href, ...props }: { href?: string; [key: string]: any }) => React.createElement(PaginationLink, { href, ...props }, 'Previous');\nexport const PaginationNext = ({ href, ...props }: { href?: string; [key: string]: any }) => React.createElement(PaginationLink, { href, ...props }, 'Next');\nexport const PaginationEllipsis = (props: { [key: string]: any }) => React.createElement('span', { 'aria-hidden': true, ...props }, '...');\n\n// HeroUI wrappers — overlays\nexport { default as HeroUIDrawer } from \"./heroui/Drawer\";\nexport { default as HeroUIModal } from \"./heroui/Modal\";\nexport { default as HeroUIDropdown } from \"./heroui/Dropdown\";\nexport { default as HeroUITooltip } from \"./heroui/Tooltip\";\nexport { default as HeroUIToast } from \"./heroui/Toast\";\n\n// HeroUI wrappers — feedback\nexport { default as HeroUIAlert } from \"./heroui/Alert\";\nexport { default as HeroUIBadge } from \"./heroui/Badge\";\nexport { default as HeroUIProgressBar } from \"./heroui/ProgressBar\";\nexport { default as HeroUIProgressCircle } from \"./heroui/ProgressCircle\";\nexport { default as HeroUIMeter } from \"./heroui/Meter\";\nexport { default as HeroUISkeleton, Skeleton } from \"./heroui/Skeleton\";\n\n// HeroUI wrappers — pickers & forms\nexport { default as HeroUISelect } from \"./heroui/Select\";\n\n// Re-export full Radix Select suite from ui/Select for shadcn compatibility\nexport { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from \"./ui/Select\";\n\n// HeroUI wrappers — utilities\nexport { default as HeroUIKbd, Kbd } from \"./heroui/Kbd\";\nexport { default as HeroUIScrollShadow, ScrollShadow } from \"./heroui/ScrollShadow\";\n"],"names":["Breadcrumb","children","props","React","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","href","asChild","BreadcrumbPage","BreadcrumbSeparator","BreadcrumbEllipsis","PaginationContent","PaginationItem","PaginationLink","isActive","PaginationPrevious","PaginationNext","PaginationEllipsis"],"mappings":";;;;;;;;;;;;AA2GO,MAAMA,IAAa,CAAC,EAAE,UAAAC,GAAU,GAAGC,QAAgEC,EAAM,cAAc,OAAO,EAAE,cAAc,cAAc,GAAGD,EAAA,GAASD,CAAQ,GAC1KG,IAAiB,CAAC,EAAE,UAAAH,GAAU,GAAGC,QAAgEC,EAAM,cAAc,MAAM,EAAE,WAAW,8FAA8F,GAAGD,EAAA,GAASD,CAAQ,GAC1PI,IAAiB,CAAC,EAAE,UAAAJ,GAAU,GAAGC,QAAgEC,EAAM,cAAc,MAAM,EAAE,WAAW,oCAAoC,GAAGD,EAAA,GAASD,CAAQ,GAChMK,IAAiB,CAAC,EAAE,MAAAC,GAAM,UAAAN,GAAU,SAAAO,GAAS,GAAGN,EAAA,MAAkGM,IAAUL,EAAM,cAAc,QAAQD,GAAOD,CAAQ,IAAIE,EAAM,cAAc,KAAK,EAAE,MAAAI,GAAM,WAAW,mEAAmE,GAAGL,EAAA,GAASD,CAAQ,GAC9UQ,IAAiB,CAAC,EAAE,UAAAR,GAAU,GAAGC,EAAA,MAAgEC,EAAM,cAAc,QAAQ,EAAE,MAAM,QAAQ,iBAAiB,QAAQ,gBAAgB,QAAQ,WAAW,iDAAiD,GAAGD,EAAA,GAASD,CAAQ,GAC9QS,IAAsB,CAAC,EAAE,UAAAT,GAAU,GAAGC,EAAA,MAAgEC,EAAM,cAAc,MAAM,EAAE,MAAM,gBAAgB,eAAe,QAAQ,GAAGD,EAAA,GAASD,KAAY,GAAG,GAC1MU,IAAqB,CAACT,MAAkCC,EAAM,cAAc,QAAQ,EAAE,MAAM,gBAAgB,eAAe,QAAQ,GAAGD,EAAA,GAAS,KAAK,GAGpJU,IAAoB,CAAC,EAAE,UAAAX,GAAU,GAAGC,QAAgEC,EAAM,cAAc,MAAM,EAAE,WAAW,oCAAoC,GAAGD,EAAA,GAASD,CAAQ,GACnMY,IAAiB,CAAC,EAAE,UAAAZ,GAAU,GAAGC,EAAA,MAAgEC,EAAM,cAAc,MAAMD,GAAOD,CAAQ,GAC1Ia,IAAiB,CAAC,EAAE,MAAAP,GAAM,UAAAQ,GAAU,UAAAd,GAAU,GAAGC,EAAA,MAAmGC,EAAM,cAAc,KAAK,EAAE,MAAAI,GAAM,gBAAgBQ,IAAW,SAAS,QAAW,WAAW,gGAAgGA,IAAW,iEAAiE,4CAA4C,IAAI,GAAGb,EAAA,GAASD,CAAQ,GAC/de,IAAqB,CAAC,EAAE,MAAAT,GAAM,GAAGL,EAAA,MAAmDC,EAAM,cAAcW,GAAgB,EAAE,MAAAP,GAAM,GAAGL,EAAA,GAAS,UAAU,GACtJe,IAAiB,CAAC,EAAE,MAAAV,GAAM,GAAGL,EAAA,MAAmDC,EAAM,cAAcW,GAAgB,EAAE,MAAAP,GAAM,GAAGL,EAAA,GAAS,MAAM,GAC9IgB,IAAqB,CAAChB,MAAkCC,EAAM,cAAc,QAAQ,EAAE,eAAe,IAAM,GAAGD,EAAA,GAAS,KAAK;"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface PageContainerProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export default function PageContainer({ className, children }: PageContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return /* @__PURE__ */ t("div", { className: ["mx-auto w-full max-w-6xl px-4 sm:px-6", o].filter(Boolean).join(" "), children: a });
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
function l({ className: a = "", children: o }) {
|
|
3
|
+
return /* @__PURE__ */ e("div", { className: ["mx-auto w-full max-w-6xl px-4 sm:px-6", a].filter(Boolean).join(" "), children: o });
|
|
5
4
|
}
|
|
6
5
|
export {
|
|
7
|
-
|
|
6
|
+
l as default
|
|
8
7
|
};
|
|
9
8
|
//# sourceMappingURL=PageContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageContainer.js","sources":["../../../../src/components/library/layout/PageContainer.
|
|
1
|
+
{"version":3,"file":"PageContainer.js","sources":["../../../../src/components/library/layout/PageContainer.tsx"],"sourcesContent":["import React from \"react\";\n\nexport interface PageContainerProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport default function PageContainer({ className = \"\", children }: PageContainerProps) {\n return (\n <div className={[\"mx-auto w-full max-w-6xl px-4 sm:px-6\", className].filter(Boolean).join(\" \")}>\n {children}\n </div>\n );\n}\n"],"names":["PageContainer","className","children","jsx"],"mappings":";AAOA,SAAwBA,EAAc,EAAE,WAAAC,IAAY,IAAI,UAAAC,KAAgC;AACtF,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAW,CAAC,yCAAyCF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAC1F,UAAAC,EAAA,CACH;AAEJ;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
lines?: number
|
|
3
|
-
className?: string
|
|
4
|
-
}
|
|
1
|
+
export interface CardSkeletonProps {
|
|
2
|
+
lines?: number;
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
export default function CardSkeleton({ lines, className }: CardSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
function t({ lines: r = 3, className: d = "" }) {
|
|
2
|
+
function o({ lines: r = 3, className: d = "" }) {
|
|
4
3
|
return /* @__PURE__ */ e(
|
|
5
4
|
"div",
|
|
6
5
|
{
|
|
@@ -24,6 +23,6 @@ function t({ lines: r = 3, className: d = "" }) {
|
|
|
24
23
|
);
|
|
25
24
|
}
|
|
26
25
|
export {
|
|
27
|
-
|
|
26
|
+
o as default
|
|
28
27
|
};
|
|
29
28
|
//# sourceMappingURL=CardSkeleton.js.map
|