@fluid-app/portal-widgets 0.1.17 → 0.1.19
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/{CarouselWidget-BJvLjY7H.mjs → CarouselWidget-MOGejQHD.mjs} +24 -6
- package/dist/{CarouselWidget-BJvLjY7H.mjs.map → CarouselWidget-MOGejQHD.mjs.map} +1 -1
- package/dist/{CarouselWidget-Bdn0LVXT.cjs → CarouselWidget-PEm6vktC.cjs} +24 -6
- package/dist/{CarouselWidget-Bdn0LVXT.cjs.map → CarouselWidget-PEm6vktC.cjs.map} +1 -1
- package/dist/{ChartWidget-B3GcdLqH.mjs → ChartWidget-7jEGoije.mjs} +1 -4
- package/dist/{ChartWidget-B3GcdLqH.mjs.map → ChartWidget-7jEGoije.mjs.map} +1 -1
- package/dist/{ChartWidget-DQB7K6S0.cjs → ChartWidget-aspz2XF6.cjs} +1 -4
- package/dist/{ChartWidget-DQB7K6S0.cjs.map → ChartWidget-aspz2XF6.cjs.map} +1 -1
- package/dist/{EmbedWidget-mv5ce32s.cjs → EmbedWidget-BENxbwxX.cjs} +1 -4
- package/dist/{EmbedWidget-mv5ce32s.cjs.map → EmbedWidget-BENxbwxX.cjs.map} +1 -1
- package/dist/{EmbedWidget-ChLVA_9a.mjs → EmbedWidget-RuCm5uOj.mjs} +1 -4
- package/dist/{EmbedWidget-ChLVA_9a.mjs.map → EmbedWidget-RuCm5uOj.mjs.map} +1 -1
- package/dist/{ImageWidget-DMubcgat.mjs → ImageWidget--owpCpb0.mjs} +1 -4
- package/dist/{ImageWidget-DMubcgat.mjs.map → ImageWidget--owpCpb0.mjs.map} +1 -1
- package/dist/{ImageWidget-DFt4mJJx.cjs → ImageWidget-B2stGyqB.cjs} +1 -4
- package/dist/{ImageWidget-DFt4mJJx.cjs.map → ImageWidget-B2stGyqB.cjs.map} +1 -1
- package/dist/{NestedWidget-CNkwGwhM.mjs → NestedWidget-BaRb7Z5r.mjs} +1 -4
- package/dist/{NestedWidget-CNkwGwhM.mjs.map → NestedWidget-BaRb7Z5r.mjs.map} +1 -1
- package/dist/{NestedWidget-ofk9O-t1.cjs → NestedWidget-Dbo3dXEi.cjs} +1 -4
- package/dist/{NestedWidget-ofk9O-t1.cjs.map → NestedWidget-Dbo3dXEi.cjs.map} +1 -1
- package/dist/{SpacerWidget-Bgz6701y.cjs → SpacerWidget-BFboILmz.cjs} +25 -7
- package/dist/{SpacerWidget-Bgz6701y.cjs.map → SpacerWidget-BFboILmz.cjs.map} +1 -1
- package/dist/{SpacerWidget-DHGoW6eu.mjs → SpacerWidget-Cc0IuKda.mjs} +25 -7
- package/dist/{SpacerWidget-DHGoW6eu.mjs.map → SpacerWidget-Cc0IuKda.mjs.map} +1 -1
- package/dist/{TableWidget--yLJTqoW.mjs → TableWidget-DqAN_2sf.mjs} +19 -12
- package/dist/TableWidget-DqAN_2sf.mjs.map +1 -0
- package/dist/{TableWidget-TfQfFHft.cjs → TableWidget-iS_DwHOX.cjs} +19 -12
- package/dist/TableWidget-iS_DwHOX.cjs.map +1 -0
- package/dist/{VideoWidget-SODAPZO4.cjs → VideoWidget-D3Fw1jZE.cjs} +1 -4
- package/dist/{VideoWidget-SODAPZO4.cjs.map → VideoWidget-D3Fw1jZE.cjs.map} +1 -1
- package/dist/{VideoWidget-D6C_jHOF.mjs → VideoWidget-D_1kluGw.mjs} +1 -4
- package/dist/VideoWidget-D_1kluGw.mjs.map +1 -0
- package/dist/widgets/index.cjs +16 -16
- package/dist/widgets/index.d.cts.map +1 -1
- package/dist/widgets/index.d.mts.map +1 -1
- package/dist/widgets/index.mjs +16 -16
- package/package.json +3 -3
- package/dist/TableWidget--yLJTqoW.mjs.map +0 -1
- package/dist/TableWidget-TfQfFHft.cjs.map +0 -1
- package/dist/VideoWidget-D6C_jHOF.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpacerWidget-
|
|
1
|
+
{"version":3,"file":"SpacerWidget-Cc0IuKda.mjs","names":[],"sources":["../src/widgets/SpacerWidget.tsx"],"sourcesContent":["import {\n getHeightField,\n type WidgetPropertySchema,\n} from \"@fluid-app/portal-core/registries\";\nimport { faArrowsUpDown } from \"@fortawesome/pro-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { ComponentProps } from \"react\";\nimport type React from \"react\";\n\ntype SpacerWidgetProps = ComponentProps<\"div\"> & {\n /**\n * Custom height as a CSS value (e.g., \"128px\", \"8rem\", \"20vh\")\n */\n customHeight?: string;\n /**\n * Not customizable, determines if we should show a preview image in the container\n */\n previewMode?: boolean;\n};\n\nexport function SpacerWidget({\n customHeight = \"128px\",\n previewMode = false,\n className,\n style,\n ...props\n}: SpacerWidgetProps): React.JSX.Element {\n return (\n <div\n className={`w-full ${className ?? \"\"}`}\n style={{ height: customHeight, ...style }}\n aria-hidden=\"true\"\n {...props}\n >\n {previewMode && (\n <div className=\"border-muted-400 bg-muted text-muted-foreground flex h-full w-full items-center justify-center gap-1 border border-dashed\">\n <FontAwesomeIcon icon={faArrowsUpDown} />\n <span>SPACER</span>\n </div>\n )}\n </div>\n );\n}\n\nexport const spacerWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"SpacerWidget\",\n displayName: \"Spacer\",\n fields: [\n {\n key: \"customHeight\",\n label: \"Height\",\n type: \"cssUnit\",\n description: \"Height of the spacer\",\n defaultValue: \"128px\",\n allowedUnits: [\"px\", \"vh\", \"rem\"],\n minByUnit: { px: 1, vh: 1, rem: 0.25 },\n maxByUnit: { px: 2000, vh: 100, rem: 125 },\n stepByUnit: { px: 1, vh: 1, rem: 0.25 },\n group: \"Spacing\",\n },\n ],\n};\n"],"mappings":";;;;;;;;;;AAoBA,SAAgB,aAAa,EAC3B,eAAe,SACf,cAAc,OACd,WACA,OACA,GAAG,SACoC;AACvC,QACE,oBAAC,OAAD;EACE,WAAW,UAAU,aAAa;EAClC,OAAO;GAAE,QAAQ;GAAc,GAAG;GAAO;EACzC,eAAY;EACZ,GAAI;YAEH,eACC,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,iBAAD,EAAiB,MAAM,gBAAkB,CAAA,EACzC,oBAAC,QAAD,EAAA,UAAM,UAAa,CAAA,CACf;;EAEJ,CAAA;;AAIV,MAAa,6BAAmD;CAC9D,YAAY;CACZ,aAAa;CACb,QAAQ,CACN;EACE,KAAK;EACL,OAAO;EACP,MAAM;EACN,aAAa;EACb,cAAc;EACd,cAAc;GAAC;GAAM;GAAM;GAAM;EACjC,WAAW;GAAE,IAAI;GAAG,IAAI;GAAG,KAAK;GAAM;EACtC,WAAW;GAAE,IAAI;GAAM,IAAI;GAAK,KAAK;GAAK;EAC1C,YAAY;GAAE,IAAI;GAAG,IAAI;GAAG,KAAK;GAAM;EACvC,OAAO;EACR,CACF;CACF"}
|
|
@@ -60,8 +60,15 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
60
60
|
color: "background"
|
|
61
61
|
}, alternatingColorEnabled = true, textColor = "foreground", headerBackgroundColor = "muted", headerTextColor = "foreground", padding = 4, borderRadius = "md", data = DEFAULT_DATA, filterEnabled = true, sortingEnabled = true, paginationEnabled = true, maxRowsPerPage = 5, className, ...props }) {
|
|
62
62
|
const backgroundColor = background.color || "background";
|
|
63
|
-
const
|
|
63
|
+
const isImageBackground = background.type === "image";
|
|
64
|
+
const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && isImageBackground ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
|
|
64
65
|
const pageSize = maxRowsPerPage;
|
|
66
|
+
const innerBg = isImageBackground ? "bg-transparent" : `bg-${backgroundColor}`;
|
|
67
|
+
const innerBgAlt = isImageBackground ? "bg-black/5" : `bg-${backgroundColor}-400`;
|
|
68
|
+
const innerBorder = isImageBackground ? "border-white/20" : `border-${backgroundColor}-600`;
|
|
69
|
+
const headerBg = isImageBackground ? "bg-black/10" : `bg-${headerBackgroundColor}-400`;
|
|
70
|
+
const headerBorder = isImageBackground ? "border-white/20" : `border-${headerBackgroundColor}-600`;
|
|
71
|
+
const paginationBg = isImageBackground ? "bg-black/10" : `bg-${backgroundColor}-400`;
|
|
65
72
|
const [globalFilter, setGlobalFilter] = useState("");
|
|
66
73
|
const [sortConfig, setSortConfig] = useState(null);
|
|
67
74
|
const [currentPage, setCurrentPage] = useState(1);
|
|
@@ -129,7 +136,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
129
136
|
return sortConfig.direction === "asc" ? " ↑" : " ↓";
|
|
130
137
|
};
|
|
131
138
|
if (data.length === 0) return /* @__PURE__ */ jsx("div", {
|
|
132
|
-
className: `@container rounded-${borderRadius} bg-${backgroundColor} p-${padding} ${className}`,
|
|
139
|
+
className: `@container rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center p-${padding} ${className}`,
|
|
133
140
|
style: { backgroundImage },
|
|
134
141
|
...props,
|
|
135
142
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -151,21 +158,21 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
151
158
|
})
|
|
152
159
|
});
|
|
153
160
|
return /* @__PURE__ */ jsxs("div", {
|
|
154
|
-
className: `@container overflow-hidden ${paginationEnabled ? "" : "overflow-y-auto"} rounded-${borderRadius} text-${textColor} ${className}`,
|
|
161
|
+
className: `@container overflow-hidden ${paginationEnabled ? "" : "overflow-y-auto"} rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center text-${textColor} ${className}`,
|
|
155
162
|
style: { backgroundImage },
|
|
156
163
|
...props,
|
|
157
164
|
children: [
|
|
158
165
|
/* @__PURE__ */ jsxs("div", {
|
|
159
|
-
className: `flex items-center justify-between p-${padding}
|
|
166
|
+
className: `flex items-center justify-between p-${padding} ${innerBg} space-x-2`,
|
|
160
167
|
children: [titleEnabled && titleText && /* @__PURE__ */ jsx("h2", {
|
|
161
|
-
className: `text-${titleFontSize === "md" ? "base" : titleFontSize} font-bold text-${titleColor}`,
|
|
168
|
+
className: `text-${titleFontSize === "md" ? "base" : titleFontSize} font-bold text-${titleColor} min-w-0 truncate`,
|
|
162
169
|
children: titleText
|
|
163
170
|
}), filterEnabled && /* @__PURE__ */ jsx(Input, {
|
|
164
171
|
type: "text",
|
|
165
172
|
placeholder: "Search all columns...",
|
|
166
173
|
value: globalFilter,
|
|
167
174
|
onChange: (e) => handleGlobalFilterChange(e.target.value),
|
|
168
|
-
className: `w-full rounded-md border
|
|
175
|
+
className: `w-full rounded-md border ${headerBorder} ${headerBg} ring-offset-muted px-3 py-2 text-sm placeholder:text-${headerTextColor}-900 focus-visible:ring-primary focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none md:w-64`
|
|
169
176
|
})]
|
|
170
177
|
}),
|
|
171
178
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -173,7 +180,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
173
180
|
children: /* @__PURE__ */ jsxs("table", {
|
|
174
181
|
className: "w-full border-collapse",
|
|
175
182
|
children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", {
|
|
176
|
-
className:
|
|
183
|
+
className: `${headerBg} ${headerBorder} border-y`,
|
|
177
184
|
children: columns.map((col) => /* @__PURE__ */ jsx("th", {
|
|
178
185
|
className: `px-4 py-3 text-left text-sm font-semibold text-${headerTextColor} ${col.sortable && sortingEnabled ? "cursor-pointer select-none hover:opacity-80" : ""}`,
|
|
179
186
|
...col.sortable && sortingEnabled ? {
|
|
@@ -193,13 +200,13 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
193
200
|
})
|
|
194
201
|
}, col.key))
|
|
195
202
|
}) }), /* @__PURE__ */ jsxs("tbody", { children: [paginatedData.map((item, index) => /* @__PURE__ */ jsx("tr", {
|
|
196
|
-
className: `h-17 border-b
|
|
203
|
+
className: `h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : ""}`,
|
|
197
204
|
children: columns.map((col) => /* @__PURE__ */ jsx("td", {
|
|
198
205
|
className: "px-4 py-3 text-sm",
|
|
199
206
|
children: col.render ? col.render(item[col.key], item) : String(item[col.key] ?? "-")
|
|
200
207
|
}, col.key))
|
|
201
208
|
}, item.id ?? index)), paginationEnabled && paginatedData.length < pageSize && paginatedData.length > 0 && Array.from({ length: pageSize - paginatedData.length }).map((_, index) => /* @__PURE__ */ jsx("tr", {
|
|
202
|
-
className: `h-17 border-b
|
|
209
|
+
className: `h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : ""}`,
|
|
203
210
|
children: columns.map((col) => /* @__PURE__ */ jsx("td", {
|
|
204
211
|
className: "px-4 py-3 text-sm",
|
|
205
212
|
children: "\xA0"
|
|
@@ -208,7 +215,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
208
215
|
})
|
|
209
216
|
}),
|
|
210
217
|
paginatedData.length === 0 && data.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
211
|
-
className: `py-8 text-center
|
|
218
|
+
className: `py-8 text-center ${innerBg}`,
|
|
212
219
|
children: [/* @__PURE__ */ jsx("p", {
|
|
213
220
|
className: "text-sm",
|
|
214
221
|
children: "No results found"
|
|
@@ -218,7 +225,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
218
225
|
})]
|
|
219
226
|
}),
|
|
220
227
|
paginationEnabled && totalPages > 1 && /* @__PURE__ */ jsxs("div", {
|
|
221
|
-
className: `flex flex-col items-center justify-between gap-2 border-t
|
|
228
|
+
className: `flex flex-col items-center justify-between gap-2 border-t ${innerBorder} p-${padding} @md:flex-row ${paginationBg} text-${textColor}`,
|
|
222
229
|
children: [/* @__PURE__ */ jsxs("p", {
|
|
223
230
|
className: "text-sm",
|
|
224
231
|
children: [
|
|
@@ -435,4 +442,4 @@ const tableWidgetPropertySchema = {
|
|
|
435
442
|
//#endregion
|
|
436
443
|
export { TableWidget_exports as n, tableWidgetPropertySchema as r, TableWidget as t };
|
|
437
444
|
|
|
438
|
-
//# sourceMappingURL=TableWidget
|
|
445
|
+
//# sourceMappingURL=TableWidget-DqAN_2sf.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableWidget-DqAN_2sf.mjs","names":[],"sources":["../src/widgets/TableWidget.tsx"],"sourcesContent":["import { useState, useMemo, type ComponentProps } from \"react\";\nimport type React from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport { Input } from \"@fluid-app/ui-primitives\";\nimport {\n MediaRenderer,\n getMediaPropsFromShareable,\n} from \"../components/MediaRenderer\";\nimport { type ShareableItem } from \"@fluid-app/portal-core/types\";\n\n// Column definition for the table\ntype ColumnDef = {\n key: string;\n label: string;\n sortable: boolean;\n render?: (value: unknown, item: ShareableItem) => React.ReactNode;\n};\n\nconst DEFAULT_DATA: ShareableItem[] = [];\n\n// ---------------------------------------------------------------------------\n// Column cell renderers\n// ---------------------------------------------------------------------------\n\nfunction ImageCellRenderer(_value: unknown, item: ShareableItem) {\n return (\n <div className=\"h-10 w-10 rounded object-cover\">\n <MediaRenderer {...getMediaPropsFromShareable(item)} />\n </div>\n );\n}\n\nfunction PriceCellRenderer(_value: unknown, item: ShareableItem) {\n return ((item.display_price as string) ?? item.price) || \"-\";\n}\n\nfunction StatusCellRenderer(value: unknown) {\n const status = String(value || \"unknown\").toLowerCase();\n const statusStyles: Record<string, string> = {\n active: \"bg-primary text-primary-foreground\",\n inactive: \"bg-secondary text-secondary-foreground\",\n unknown: \"bg-muted text-muted-foreground\",\n };\n return (\n <span\n className={`inline-flex rounded-full px-2 py-1 text-xs font-medium ${statusStyles[status] || \"bg-muted text-foreground\"}`}\n >\n {String(value || \"Unknown\")}\n </span>\n );\n}\n\n// Default columns for product data\nconst defaultColumns: ColumnDef[] = [\n {\n key: \"imageUrl\",\n label: \"Image\",\n sortable: false,\n render: ImageCellRenderer,\n },\n {\n key: \"title\",\n label: \"Title\",\n sortable: true,\n },\n {\n key: \"price\",\n label: \"Price\",\n sortable: true,\n render: PriceCellRenderer,\n },\n {\n key: \"status\",\n label: \"Status\",\n sortable: true,\n render: StatusCellRenderer,\n },\n];\n\ntype TableWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n alternatingColorEnabled?: boolean;\n textColor?: ColorOptions;\n headerBackgroundColor?: ColorOptions;\n headerTextColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Data\n data?: ShareableItem[];\n\n // Features\n filterEnabled?: boolean;\n sortingEnabled?: boolean;\n paginationEnabled?: boolean;\n maxRowsPerPage?: number;\n};\n\nexport function TableWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Products\",\n titleFontSize = \"xl\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n alternatingColorEnabled = true,\n textColor = \"foreground\",\n headerBackgroundColor = \"muted\",\n headerTextColor = \"foreground\",\n padding = 4,\n borderRadius = \"md\",\n\n // Data\n data = DEFAULT_DATA,\n\n // Feature defaults\n filterEnabled = true,\n sortingEnabled = true,\n paginationEnabled = true,\n maxRowsPerPage = 5,\n\n className,\n ...props\n}: TableWidgetProps): React.JSX.Element {\n const backgroundColor = background.color || \"background\";\n const isImageBackground = background.type === \"image\";\n const backgroundImage =\n (background.resource?.image_url || background.resource?.imageUrl) &&\n isImageBackground\n ? `url(${background.resource.image_url || background.resource.imageUrl})`\n : \"none\";\n const pageSize = maxRowsPerPage;\n\n // When using an image background, inner elements should be transparent\n // so the image shows through. Otherwise use the configured colors.\n const innerBg = isImageBackground\n ? \"bg-transparent\"\n : `bg-${backgroundColor}`;\n const innerBgAlt = isImageBackground\n ? \"bg-black/5\"\n : `bg-${backgroundColor}-400`;\n const innerBorder = isImageBackground\n ? \"border-white/20\"\n : `border-${backgroundColor}-600`;\n const headerBg = isImageBackground\n ? \"bg-black/10\"\n : `bg-${headerBackgroundColor}-400`;\n const headerBorder = isImageBackground\n ? \"border-white/20\"\n : `border-${headerBackgroundColor}-600`;\n const paginationBg = isImageBackground\n ? \"bg-black/10\"\n : `bg-${backgroundColor}-400`;\n\n // State for filtering, sorting, and pagination\n const [globalFilter, setGlobalFilter] = useState(\"\");\n const [sortConfig, setSortConfig] = useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n } | null>(null);\n const [currentPage, setCurrentPage] = useState(1);\n\n const columns = defaultColumns;\n\n // Filter data\n const filteredData = useMemo(() => {\n let result = [...data];\n\n if (globalFilter) {\n const lowerFilter = globalFilter.toLowerCase();\n result = result.filter((item) =>\n columns.some((col) => {\n const value = item[col.key];\n return String(value ?? \"\")\n .toLowerCase()\n .includes(lowerFilter);\n }),\n );\n }\n\n return result;\n }, [data, globalFilter, columns]);\n\n // Sort data\n const sortedData = useMemo(() => {\n if (!sortConfig) return filteredData;\n\n return [...filteredData].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n\n // Handle null/undefined\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return sortConfig.direction === \"asc\" ? 1 : -1;\n if (bValue == null) return sortConfig.direction === \"asc\" ? -1 : 1;\n\n // Compare values\n let comparison = 0;\n if (typeof aValue === \"number\" && typeof bValue === \"number\") {\n comparison = aValue - bValue;\n } else {\n comparison = String(aValue).localeCompare(String(bValue));\n }\n\n return sortConfig.direction === \"asc\" ? comparison : -comparison;\n });\n }, [filteredData, sortConfig]);\n\n // Paginate data\n const paginatedData = useMemo(() => {\n if (!paginationEnabled) return sortedData;\n\n const startIndex = (currentPage - 1) * pageSize;\n return sortedData.slice(startIndex, startIndex + pageSize);\n }, [sortedData, currentPage, pageSize, paginationEnabled]);\n\n const totalPages = Math.ceil(sortedData.length / pageSize);\n\n // Reset to page 1 when filters change\n const handleGlobalFilterChange = (value: string) => {\n setGlobalFilter(value);\n setCurrentPage(1);\n };\n\n // Handle sort\n const handleSort = (key: string) => {\n if (!sortingEnabled) return;\n\n setSortConfig((prev) => {\n if (prev?.key !== key) return { key, direction: \"asc\" };\n if (prev.direction === \"asc\") return { key, direction: \"desc\" };\n return null;\n });\n };\n\n // Get sort indicator\n const getSortIndicator = (key: string) => {\n if (sortConfig?.key !== key) return null;\n return sortConfig.direction === \"asc\" ? \" ↑\" : \" ↓\";\n };\n\n // Empty state\n if (data.length === 0) {\n return (\n <div\n className={`@container rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center p-${padding} ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className=\"text-muted-foreground flex min-h-[200px] flex-col items-center justify-center gap-2\">\n <div className=\"text-4xl\">📋</div>\n <p className=\"text-sm\">No data available</p>\n <p className=\"text-muted-foreground/70 text-xs\">\n Connect a data source to display table data\n </p>\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`@container overflow-hidden ${paginationEnabled ? \"\" : \"overflow-y-auto\"} rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center text-${textColor} ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div\n className={`flex items-center justify-between p-${padding} ${innerBg} space-x-2`}\n >\n {/* Title */}\n {titleEnabled && titleText && (\n <h2\n className={`text-${titleFontSize === \"md\" ? \"base\" : titleFontSize} font-bold text-${titleColor} min-w-0 truncate`}\n >\n {titleText}\n </h2>\n )}\n\n {/* Global Search */}\n {filterEnabled && (\n <Input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n handleGlobalFilterChange(e.target.value)\n }\n className={`w-full rounded-md border ${headerBorder} ${headerBg} ring-offset-muted px-3 py-2 text-sm placeholder:text-${headerTextColor}-900 focus-visible:ring-primary focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none md:w-64`}\n />\n )}\n </div>\n\n {/* Table */}\n <div className=\"overflow-x-auto\">\n <table className=\"w-full border-collapse\">\n <thead>\n <tr className={`${headerBg} ${headerBorder} border-y`}>\n {columns.map((col) => (\n <th\n key={col.key}\n className={`px-4 py-3 text-left text-sm font-semibold text-${headerTextColor} ${col.sortable && sortingEnabled ? \"cursor-pointer select-none hover:opacity-80\" : \"\"}`}\n {...(col.sortable && sortingEnabled\n ? {\n role: \"button\" as const,\n tabIndex: 0,\n onClick: () => handleSort(col.key),\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleSort(col.key);\n }\n },\n }\n : {})}\n >\n <div className=\"flex flex-col gap-1\">\n <span>\n {col.label}\n {col.sortable &&\n sortingEnabled &&\n getSortIndicator(col.key)}\n </span>\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {paginatedData.map((item, index) => (\n <tr\n key={item.id ?? index}\n className={`h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : \"\"}`}\n >\n {columns.map((col) => (\n <td key={col.key} className=\"px-4 py-3 text-sm\">\n {col.render\n ? col.render(item[col.key], item)\n : String(item[col.key] ?? \"-\")}\n </td>\n ))}\n </tr>\n ))}\n {/* Empty rows to fill the last page for consistent pagination position */}\n {paginationEnabled &&\n paginatedData.length < pageSize &&\n paginatedData.length > 0 &&\n Array.from({ length: pageSize - paginatedData.length }).map(\n (_, index) => (\n <tr\n key={`empty-${index}`}\n className={`h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : \"\"}`}\n >\n {columns.map((col) => (\n <td key={col.key} className=\"px-4 py-3 text-sm\">\n \n </td>\n ))}\n </tr>\n ),\n )}\n </tbody>\n </table>\n </div>\n\n {/* No results message */}\n {paginatedData.length === 0 && data.length > 0 && (\n <div className={`py-8 text-center ${innerBg}`}>\n <p className=\"text-sm\">No results found</p>\n <p className=\"text-xs\">Try adjusting your search</p>\n </div>\n )}\n\n {/* Pagination */}\n {paginationEnabled && totalPages > 1 && (\n <div\n className={`flex flex-col items-center justify-between gap-2 border-t ${innerBorder} p-${padding} @md:flex-row ${paginationBg} text-${textColor}`}\n >\n <p className=\"text-sm\">\n Showing {(currentPage - 1) * pageSize + 1}-\n {Math.min(currentPage * pageSize, sortedData.length)} of{\" \"}\n {sortedData.length} results\n </p>\n <div className=\"flex items-center gap-2\">\n <button\n onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}\n disabled={currentPage === 1}\n className={`rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`}\n >\n Previous\n </button>\n <span className=\"text-sm\">\n Page {currentPage} of {totalPages}\n </span>\n <button\n onClick={() => setCurrentPage((p) => Math.min(totalPages, p + 1))}\n disabled={currentPage === totalPages}\n className={`rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`}\n >\n Next\n </button>\n </div>\n </div>\n )}\n </div>\n );\n}\n\nexport const tableWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"TableWidget\",\n displayName: \"Table Widget\",\n tabsConfig: [\n { id: \"styling\", label: \"Styling\" },\n { id: \"behavior\", label: \"Behavior\" },\n { id: \"data\", label: \"Data\" },\n ],\n dataSourceTargetProps: [\"data\"],\n fields: [\n // Content Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the table\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Title text displayed above the table\",\n defaultValue: \"Products\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n label: \"Title Font Size\",\n defaultValue: \"xl\",\n key: \"titleFontSize\",\n description: \"Font size for the widget title\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the widget title\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Design Group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the table container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"alternatingColorEnabled\",\n label: \"Enable Alternating Colors\",\n type: \"boolean\",\n description: \"Enable alternating colors for table rows\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"headerBackgroundColor\",\n label: \"Header Background\",\n description: \"Background color for the table header\",\n defaultValue: \"muted\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for table content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"headerTextColor\",\n label: \"Header Text Color\",\n description: \"Text color for the table header\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the table container\",\n defaultValue: 4,\n tab: \"styling\",\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the table container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Behavior Tab - Features Group\n {\n key: \"filterEnabled\",\n label: \"Enable Filters\",\n type: \"boolean\",\n description: \"Show global search and column filters\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"sortingEnabled\",\n label: \"Enable Sorting\",\n type: \"boolean\",\n description: \"Allow sorting by clicking column headers\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"paginationEnabled\",\n label: \"Enable Pagination\",\n type: \"boolean\",\n description: \"Split data into pages\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"maxRowsPerPage\",\n label: \"Max Rows Per Page\",\n type: \"number\",\n description: \"Maximum number of rows to display per page\",\n min: 1,\n max: 50,\n step: 1,\n defaultValue: 5,\n tab: \"behavior\",\n group: \"Features\",\n requiresKeyToBeTrue: \"paginationEnabled\",\n },\n\n // Data Tab\n {\n key: \"dataSource\",\n label: \"Data Source\",\n type: \"dataSource\",\n description: \"Configure data source for the table\",\n tab: \"data\",\n group: \"Data Configuration\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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;EACD,cAAc;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF,cAAc;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF,cAAc;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,MAAM;GACN,OAAO;GACP,KAAK;GACL,OAAO;GACR;EACD,gBAAgB;GACd,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF,qBAAqB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EAGF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,KAAK;GACL,KAAK;GACL,MAAM;GACN,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;EAGD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,KAAK;GACL,OAAO;GACR;EACF;CACF"}
|
|
@@ -60,8 +60,15 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
60
60
|
color: "background"
|
|
61
61
|
}, alternatingColorEnabled = true, textColor = "foreground", headerBackgroundColor = "muted", headerTextColor = "foreground", padding = 4, borderRadius = "md", data = DEFAULT_DATA, filterEnabled = true, sortingEnabled = true, paginationEnabled = true, maxRowsPerPage = 5, className, ...props }) {
|
|
62
62
|
const backgroundColor = background.color || "background";
|
|
63
|
-
const
|
|
63
|
+
const isImageBackground = background.type === "image";
|
|
64
|
+
const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && isImageBackground ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
|
|
64
65
|
const pageSize = maxRowsPerPage;
|
|
66
|
+
const innerBg = isImageBackground ? "bg-transparent" : `bg-${backgroundColor}`;
|
|
67
|
+
const innerBgAlt = isImageBackground ? "bg-black/5" : `bg-${backgroundColor}-400`;
|
|
68
|
+
const innerBorder = isImageBackground ? "border-white/20" : `border-${backgroundColor}-600`;
|
|
69
|
+
const headerBg = isImageBackground ? "bg-black/10" : `bg-${headerBackgroundColor}-400`;
|
|
70
|
+
const headerBorder = isImageBackground ? "border-white/20" : `border-${headerBackgroundColor}-600`;
|
|
71
|
+
const paginationBg = isImageBackground ? "bg-black/10" : `bg-${backgroundColor}-400`;
|
|
65
72
|
const [globalFilter, setGlobalFilter] = (0, react.useState)("");
|
|
66
73
|
const [sortConfig, setSortConfig] = (0, react.useState)(null);
|
|
67
74
|
const [currentPage, setCurrentPage] = (0, react.useState)(1);
|
|
@@ -129,7 +136,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
129
136
|
return sortConfig.direction === "asc" ? " ↑" : " ↓";
|
|
130
137
|
};
|
|
131
138
|
if (data.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
132
|
-
className: `@container rounded-${borderRadius} bg-${backgroundColor} p-${padding} ${className}`,
|
|
139
|
+
className: `@container rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center p-${padding} ${className}`,
|
|
133
140
|
style: { backgroundImage },
|
|
134
141
|
...props,
|
|
135
142
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -151,21 +158,21 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
151
158
|
})
|
|
152
159
|
});
|
|
153
160
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
154
|
-
className: `@container overflow-hidden ${paginationEnabled ? "" : "overflow-y-auto"} rounded-${borderRadius} text-${textColor} ${className}`,
|
|
161
|
+
className: `@container overflow-hidden ${paginationEnabled ? "" : "overflow-y-auto"} rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center text-${textColor} ${className}`,
|
|
155
162
|
style: { backgroundImage },
|
|
156
163
|
...props,
|
|
157
164
|
children: [
|
|
158
165
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
159
|
-
className: `flex items-center justify-between p-${padding}
|
|
166
|
+
className: `flex items-center justify-between p-${padding} ${innerBg} space-x-2`,
|
|
160
167
|
children: [titleEnabled && titleText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
|
|
161
|
-
className: `text-${titleFontSize === "md" ? "base" : titleFontSize} font-bold text-${titleColor}`,
|
|
168
|
+
className: `text-${titleFontSize === "md" ? "base" : titleFontSize} font-bold text-${titleColor} min-w-0 truncate`,
|
|
162
169
|
children: titleText
|
|
163
170
|
}), filterEnabled && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_fluid_app_ui_primitives.Input, {
|
|
164
171
|
type: "text",
|
|
165
172
|
placeholder: "Search all columns...",
|
|
166
173
|
value: globalFilter,
|
|
167
174
|
onChange: (e) => handleGlobalFilterChange(e.target.value),
|
|
168
|
-
className: `w-full rounded-md border
|
|
175
|
+
className: `w-full rounded-md border ${headerBorder} ${headerBg} ring-offset-muted px-3 py-2 text-sm placeholder:text-${headerTextColor}-900 focus-visible:ring-primary focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none md:w-64`
|
|
169
176
|
})]
|
|
170
177
|
}),
|
|
171
178
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -173,7 +180,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
173
180
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("table", {
|
|
174
181
|
className: "w-full border-collapse",
|
|
175
182
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("thead", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tr", {
|
|
176
|
-
className:
|
|
183
|
+
className: `${headerBg} ${headerBorder} border-y`,
|
|
177
184
|
children: columns.map((col) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", {
|
|
178
185
|
className: `px-4 py-3 text-left text-sm font-semibold text-${headerTextColor} ${col.sortable && sortingEnabled ? "cursor-pointer select-none hover:opacity-80" : ""}`,
|
|
179
186
|
...col.sortable && sortingEnabled ? {
|
|
@@ -193,13 +200,13 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
193
200
|
})
|
|
194
201
|
}, col.key))
|
|
195
202
|
}) }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tbody", { children: [paginatedData.map((item, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tr", {
|
|
196
|
-
className: `h-17 border-b
|
|
203
|
+
className: `h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : ""}`,
|
|
197
204
|
children: columns.map((col) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
|
|
198
205
|
className: "px-4 py-3 text-sm",
|
|
199
206
|
children: col.render ? col.render(item[col.key], item) : String(item[col.key] ?? "-")
|
|
200
207
|
}, col.key))
|
|
201
208
|
}, item.id ?? index)), paginationEnabled && paginatedData.length < pageSize && paginatedData.length > 0 && Array.from({ length: pageSize - paginatedData.length }).map((_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tr", {
|
|
202
|
-
className: `h-17 border-b
|
|
209
|
+
className: `h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : ""}`,
|
|
203
210
|
children: columns.map((col) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
|
|
204
211
|
className: "px-4 py-3 text-sm",
|
|
205
212
|
children: "\xA0"
|
|
@@ -208,7 +215,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
208
215
|
})
|
|
209
216
|
}),
|
|
210
217
|
paginatedData.length === 0 && data.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
211
|
-
className: `py-8 text-center
|
|
218
|
+
className: `py-8 text-center ${innerBg}`,
|
|
212
219
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
213
220
|
className: "text-sm",
|
|
214
221
|
children: "No results found"
|
|
@@ -218,7 +225,7 @@ function TableWidget({ titleEnabled = true, titleText = "Products", titleFontSiz
|
|
|
218
225
|
})]
|
|
219
226
|
}),
|
|
220
227
|
paginationEnabled && totalPages > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
221
|
-
className: `flex flex-col items-center justify-between gap-2 border-t
|
|
228
|
+
className: `flex flex-col items-center justify-between gap-2 border-t ${innerBorder} p-${padding} @md:flex-row ${paginationBg} text-${textColor}`,
|
|
222
229
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
223
230
|
className: "text-sm",
|
|
224
231
|
children: [
|
|
@@ -452,4 +459,4 @@ Object.defineProperty(exports, "tableWidgetPropertySchema", {
|
|
|
452
459
|
}
|
|
453
460
|
});
|
|
454
461
|
|
|
455
|
-
//# sourceMappingURL=TableWidget-
|
|
462
|
+
//# sourceMappingURL=TableWidget-iS_DwHOX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableWidget-iS_DwHOX.cjs","names":["MediaRenderer","getMediaPropsFromShareable","Input"],"sources":["../src/widgets/TableWidget.tsx"],"sourcesContent":["import { useState, useMemo, type ComponentProps } from \"react\";\nimport type React from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport { Input } from \"@fluid-app/ui-primitives\";\nimport {\n MediaRenderer,\n getMediaPropsFromShareable,\n} from \"../components/MediaRenderer\";\nimport { type ShareableItem } from \"@fluid-app/portal-core/types\";\n\n// Column definition for the table\ntype ColumnDef = {\n key: string;\n label: string;\n sortable: boolean;\n render?: (value: unknown, item: ShareableItem) => React.ReactNode;\n};\n\nconst DEFAULT_DATA: ShareableItem[] = [];\n\n// ---------------------------------------------------------------------------\n// Column cell renderers\n// ---------------------------------------------------------------------------\n\nfunction ImageCellRenderer(_value: unknown, item: ShareableItem) {\n return (\n <div className=\"h-10 w-10 rounded object-cover\">\n <MediaRenderer {...getMediaPropsFromShareable(item)} />\n </div>\n );\n}\n\nfunction PriceCellRenderer(_value: unknown, item: ShareableItem) {\n return ((item.display_price as string) ?? item.price) || \"-\";\n}\n\nfunction StatusCellRenderer(value: unknown) {\n const status = String(value || \"unknown\").toLowerCase();\n const statusStyles: Record<string, string> = {\n active: \"bg-primary text-primary-foreground\",\n inactive: \"bg-secondary text-secondary-foreground\",\n unknown: \"bg-muted text-muted-foreground\",\n };\n return (\n <span\n className={`inline-flex rounded-full px-2 py-1 text-xs font-medium ${statusStyles[status] || \"bg-muted text-foreground\"}`}\n >\n {String(value || \"Unknown\")}\n </span>\n );\n}\n\n// Default columns for product data\nconst defaultColumns: ColumnDef[] = [\n {\n key: \"imageUrl\",\n label: \"Image\",\n sortable: false,\n render: ImageCellRenderer,\n },\n {\n key: \"title\",\n label: \"Title\",\n sortable: true,\n },\n {\n key: \"price\",\n label: \"Price\",\n sortable: true,\n render: PriceCellRenderer,\n },\n {\n key: \"status\",\n label: \"Status\",\n sortable: true,\n render: StatusCellRenderer,\n },\n];\n\ntype TableWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n alternatingColorEnabled?: boolean;\n textColor?: ColorOptions;\n headerBackgroundColor?: ColorOptions;\n headerTextColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Data\n data?: ShareableItem[];\n\n // Features\n filterEnabled?: boolean;\n sortingEnabled?: boolean;\n paginationEnabled?: boolean;\n maxRowsPerPage?: number;\n};\n\nexport function TableWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Products\",\n titleFontSize = \"xl\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n alternatingColorEnabled = true,\n textColor = \"foreground\",\n headerBackgroundColor = \"muted\",\n headerTextColor = \"foreground\",\n padding = 4,\n borderRadius = \"md\",\n\n // Data\n data = DEFAULT_DATA,\n\n // Feature defaults\n filterEnabled = true,\n sortingEnabled = true,\n paginationEnabled = true,\n maxRowsPerPage = 5,\n\n className,\n ...props\n}: TableWidgetProps): React.JSX.Element {\n const backgroundColor = background.color || \"background\";\n const isImageBackground = background.type === \"image\";\n const backgroundImage =\n (background.resource?.image_url || background.resource?.imageUrl) &&\n isImageBackground\n ? `url(${background.resource.image_url || background.resource.imageUrl})`\n : \"none\";\n const pageSize = maxRowsPerPage;\n\n // When using an image background, inner elements should be transparent\n // so the image shows through. Otherwise use the configured colors.\n const innerBg = isImageBackground\n ? \"bg-transparent\"\n : `bg-${backgroundColor}`;\n const innerBgAlt = isImageBackground\n ? \"bg-black/5\"\n : `bg-${backgroundColor}-400`;\n const innerBorder = isImageBackground\n ? \"border-white/20\"\n : `border-${backgroundColor}-600`;\n const headerBg = isImageBackground\n ? \"bg-black/10\"\n : `bg-${headerBackgroundColor}-400`;\n const headerBorder = isImageBackground\n ? \"border-white/20\"\n : `border-${headerBackgroundColor}-600`;\n const paginationBg = isImageBackground\n ? \"bg-black/10\"\n : `bg-${backgroundColor}-400`;\n\n // State for filtering, sorting, and pagination\n const [globalFilter, setGlobalFilter] = useState(\"\");\n const [sortConfig, setSortConfig] = useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n } | null>(null);\n const [currentPage, setCurrentPage] = useState(1);\n\n const columns = defaultColumns;\n\n // Filter data\n const filteredData = useMemo(() => {\n let result = [...data];\n\n if (globalFilter) {\n const lowerFilter = globalFilter.toLowerCase();\n result = result.filter((item) =>\n columns.some((col) => {\n const value = item[col.key];\n return String(value ?? \"\")\n .toLowerCase()\n .includes(lowerFilter);\n }),\n );\n }\n\n return result;\n }, [data, globalFilter, columns]);\n\n // Sort data\n const sortedData = useMemo(() => {\n if (!sortConfig) return filteredData;\n\n return [...filteredData].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n\n // Handle null/undefined\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return sortConfig.direction === \"asc\" ? 1 : -1;\n if (bValue == null) return sortConfig.direction === \"asc\" ? -1 : 1;\n\n // Compare values\n let comparison = 0;\n if (typeof aValue === \"number\" && typeof bValue === \"number\") {\n comparison = aValue - bValue;\n } else {\n comparison = String(aValue).localeCompare(String(bValue));\n }\n\n return sortConfig.direction === \"asc\" ? comparison : -comparison;\n });\n }, [filteredData, sortConfig]);\n\n // Paginate data\n const paginatedData = useMemo(() => {\n if (!paginationEnabled) return sortedData;\n\n const startIndex = (currentPage - 1) * pageSize;\n return sortedData.slice(startIndex, startIndex + pageSize);\n }, [sortedData, currentPage, pageSize, paginationEnabled]);\n\n const totalPages = Math.ceil(sortedData.length / pageSize);\n\n // Reset to page 1 when filters change\n const handleGlobalFilterChange = (value: string) => {\n setGlobalFilter(value);\n setCurrentPage(1);\n };\n\n // Handle sort\n const handleSort = (key: string) => {\n if (!sortingEnabled) return;\n\n setSortConfig((prev) => {\n if (prev?.key !== key) return { key, direction: \"asc\" };\n if (prev.direction === \"asc\") return { key, direction: \"desc\" };\n return null;\n });\n };\n\n // Get sort indicator\n const getSortIndicator = (key: string) => {\n if (sortConfig?.key !== key) return null;\n return sortConfig.direction === \"asc\" ? \" ↑\" : \" ↓\";\n };\n\n // Empty state\n if (data.length === 0) {\n return (\n <div\n className={`@container rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center p-${padding} ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className=\"text-muted-foreground flex min-h-[200px] flex-col items-center justify-center gap-2\">\n <div className=\"text-4xl\">📋</div>\n <p className=\"text-sm\">No data available</p>\n <p className=\"text-muted-foreground/70 text-xs\">\n Connect a data source to display table data\n </p>\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`@container overflow-hidden ${paginationEnabled ? \"\" : \"overflow-y-auto\"} rounded-${borderRadius} bg-${backgroundColor} bg-cover bg-center text-${textColor} ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div\n className={`flex items-center justify-between p-${padding} ${innerBg} space-x-2`}\n >\n {/* Title */}\n {titleEnabled && titleText && (\n <h2\n className={`text-${titleFontSize === \"md\" ? \"base\" : titleFontSize} font-bold text-${titleColor} min-w-0 truncate`}\n >\n {titleText}\n </h2>\n )}\n\n {/* Global Search */}\n {filterEnabled && (\n <Input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n handleGlobalFilterChange(e.target.value)\n }\n className={`w-full rounded-md border ${headerBorder} ${headerBg} ring-offset-muted px-3 py-2 text-sm placeholder:text-${headerTextColor}-900 focus-visible:ring-primary focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none md:w-64`}\n />\n )}\n </div>\n\n {/* Table */}\n <div className=\"overflow-x-auto\">\n <table className=\"w-full border-collapse\">\n <thead>\n <tr className={`${headerBg} ${headerBorder} border-y`}>\n {columns.map((col) => (\n <th\n key={col.key}\n className={`px-4 py-3 text-left text-sm font-semibold text-${headerTextColor} ${col.sortable && sortingEnabled ? \"cursor-pointer select-none hover:opacity-80\" : \"\"}`}\n {...(col.sortable && sortingEnabled\n ? {\n role: \"button\" as const,\n tabIndex: 0,\n onClick: () => handleSort(col.key),\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleSort(col.key);\n }\n },\n }\n : {})}\n >\n <div className=\"flex flex-col gap-1\">\n <span>\n {col.label}\n {col.sortable &&\n sortingEnabled &&\n getSortIndicator(col.key)}\n </span>\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {paginatedData.map((item, index) => (\n <tr\n key={item.id ?? index}\n className={`h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : \"\"}`}\n >\n {columns.map((col) => (\n <td key={col.key} className=\"px-4 py-3 text-sm\">\n {col.render\n ? col.render(item[col.key], item)\n : String(item[col.key] ?? \"-\")}\n </td>\n ))}\n </tr>\n ))}\n {/* Empty rows to fill the last page for consistent pagination position */}\n {paginationEnabled &&\n paginatedData.length < pageSize &&\n paginatedData.length > 0 &&\n Array.from({ length: pageSize - paginatedData.length }).map(\n (_, index) => (\n <tr\n key={`empty-${index}`}\n className={`h-17 border-b ${innerBorder} last:border-none ${innerBg} ${alternatingColorEnabled ? `even:${innerBgAlt}` : \"\"}`}\n >\n {columns.map((col) => (\n <td key={col.key} className=\"px-4 py-3 text-sm\">\n \n </td>\n ))}\n </tr>\n ),\n )}\n </tbody>\n </table>\n </div>\n\n {/* No results message */}\n {paginatedData.length === 0 && data.length > 0 && (\n <div className={`py-8 text-center ${innerBg}`}>\n <p className=\"text-sm\">No results found</p>\n <p className=\"text-xs\">Try adjusting your search</p>\n </div>\n )}\n\n {/* Pagination */}\n {paginationEnabled && totalPages > 1 && (\n <div\n className={`flex flex-col items-center justify-between gap-2 border-t ${innerBorder} p-${padding} @md:flex-row ${paginationBg} text-${textColor}`}\n >\n <p className=\"text-sm\">\n Showing {(currentPage - 1) * pageSize + 1}-\n {Math.min(currentPage * pageSize, sortedData.length)} of{\" \"}\n {sortedData.length} results\n </p>\n <div className=\"flex items-center gap-2\">\n <button\n onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}\n disabled={currentPage === 1}\n className={`rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`}\n >\n Previous\n </button>\n <span className=\"text-sm\">\n Page {currentPage} of {totalPages}\n </span>\n <button\n onClick={() => setCurrentPage((p) => Math.min(totalPages, p + 1))}\n disabled={currentPage === totalPages}\n className={`rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`}\n >\n Next\n </button>\n </div>\n </div>\n )}\n </div>\n );\n}\n\nexport const tableWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"TableWidget\",\n displayName: \"Table Widget\",\n tabsConfig: [\n { id: \"styling\", label: \"Styling\" },\n { id: \"behavior\", label: \"Behavior\" },\n { id: \"data\", label: \"Data\" },\n ],\n dataSourceTargetProps: [\"data\"],\n fields: [\n // Content Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the table\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Title text displayed above the table\",\n defaultValue: \"Products\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n label: \"Title Font Size\",\n defaultValue: \"xl\",\n key: \"titleFontSize\",\n description: \"Font size for the widget title\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the widget title\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Design Group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the table container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"alternatingColorEnabled\",\n label: \"Enable Alternating Colors\",\n type: \"boolean\",\n description: \"Enable alternating colors for table rows\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"headerBackgroundColor\",\n label: \"Header Background\",\n description: \"Background color for the table header\",\n defaultValue: \"muted\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for table content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"headerTextColor\",\n label: \"Header Text Color\",\n description: \"Text color for the table header\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the table container\",\n defaultValue: 4,\n tab: \"styling\",\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the table container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Behavior Tab - Features Group\n {\n key: \"filterEnabled\",\n label: \"Enable Filters\",\n type: \"boolean\",\n description: \"Show global search and column filters\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"sortingEnabled\",\n label: \"Enable Sorting\",\n type: \"boolean\",\n description: \"Allow sorting by clicking column headers\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"paginationEnabled\",\n label: \"Enable Pagination\",\n type: \"boolean\",\n description: \"Split data into pages\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"maxRowsPerPage\",\n label: \"Max Rows Per Page\",\n type: \"number\",\n description: \"Maximum number of rows to display per page\",\n min: 1,\n max: 50,\n step: 1,\n defaultValue: 5,\n tab: \"behavior\",\n group: \"Features\",\n requiresKeyToBeTrue: \"paginationEnabled\",\n },\n\n // Data Tab\n {\n key: \"dataSource\",\n label: \"Data Source\",\n type: \"dataSource\",\n description: \"Configure data source for the table\",\n tab: \"data\",\n group: \"Data Configuration\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;;;;;;AA+BA,MAAM,eAAgC,EAAE;AAMxC,SAAS,kBAAkB,QAAiB,MAAqB;AAC/D,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,WAAU;YACb,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,eAAD,EAAe,GAAIC,sBAAAA,2BAA2B,KAAK,EAAI,CAAA;EACnD,CAAA;;AAIV,SAAS,kBAAkB,QAAiB,MAAqB;AAC/D,SAAS,KAAK,iBAA4B,KAAK,UAAU;;AAG3D,SAAS,mBAAmB,OAAgB;AAO1C,QACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,WAAW,0DAP8B;GAC3C,QAAQ;GACR,UAAU;GACV,SAAS;GACV,CALc,OAAO,SAAS,UAAU,CAAC,aAAa,KAQ0C;YAE5F,OAAO,SAAS,UAAU;EACtB,CAAA;;AAKX,MAAM,iBAA8B;CAClC;EACE,KAAK;EACL,OAAO;EACP,UAAU;EACV,QAAQ;EACT;CACD;EACE,KAAK;EACL,OAAO;EACP,UAAU;EACX;CACD;EACE,KAAK;EACL,OAAO;EACP,UAAU;EACV,QAAQ;EACT;CACD;EACE,KAAK;EACL,OAAO;EACP,UAAU;EACV,QAAQ;EACT;CACF;AA4BD,SAAgB,YAAY,EAE1B,eAAe,MACf,YAAY,YACZ,gBAAgB,MAChB,aAAa,cAGb,aAAa;CACX,MAAM;CACN,OAAO;CACR,EACD,0BAA0B,MAC1B,YAAY,cACZ,wBAAwB,SACxB,kBAAkB,cAClB,UAAU,GACV,eAAe,MAGf,OAAO,cAGP,gBAAgB,MAChB,iBAAiB,MACjB,oBAAoB,MACpB,iBAAiB,GAEjB,WACA,GAAG,SACmC;CACtC,MAAM,kBAAkB,WAAW,SAAS;CAC5C,MAAM,oBAAoB,WAAW,SAAS;CAC9C,MAAM,mBACH,WAAW,UAAU,aAAa,WAAW,UAAU,aACxD,oBACI,OAAO,WAAW,SAAS,aAAa,WAAW,SAAS,SAAS,KACrE;CACN,MAAM,WAAW;CAIjB,MAAM,UAAU,oBACZ,mBACA,MAAM;CACV,MAAM,aAAa,oBACf,eACA,MAAM,gBAAgB;CAC1B,MAAM,cAAc,oBAChB,oBACA,UAAU,gBAAgB;CAC9B,MAAM,WAAW,oBACb,gBACA,MAAM,sBAAsB;CAChC,MAAM,eAAe,oBACjB,oBACA,UAAU,sBAAsB;CACpC,MAAM,eAAe,oBACjB,gBACA,MAAM,gBAAgB;CAG1B,MAAM,CAAC,cAAc,oBAAA,GAAA,MAAA,UAA4B,GAAG;CACpD,MAAM,CAAC,YAAY,kBAAA,GAAA,MAAA,UAGT,KAAK;CACf,MAAM,CAAC,aAAa,mBAAA,GAAA,MAAA,UAA2B,EAAE;CAEjD,MAAM,UAAU;CAGhB,MAAM,gBAAA,GAAA,MAAA,eAA6B;EACjC,IAAI,SAAS,CAAC,GAAG,KAAK;AAEtB,MAAI,cAAc;GAChB,MAAM,cAAc,aAAa,aAAa;AAC9C,YAAS,OAAO,QAAQ,SACtB,QAAQ,MAAM,QAAQ;IACpB,MAAM,QAAQ,KAAK,IAAI;AACvB,WAAO,OAAO,SAAS,GAAG,CACvB,aAAa,CACb,SAAS,YAAY;KACxB,CACH;;AAGH,SAAO;IACN;EAAC;EAAM;EAAc;EAAQ,CAAC;CAGjC,MAAM,cAAA,GAAA,MAAA,eAA2B;AAC/B,MAAI,CAAC,WAAY,QAAO;AAExB,SAAO,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM;GACtC,MAAM,SAAS,EAAE,WAAW;GAC5B,MAAM,SAAS,EAAE,WAAW;AAG5B,OAAI,UAAU,QAAQ,UAAU,KAAM,QAAO;AAC7C,OAAI,UAAU,KAAM,QAAO,WAAW,cAAc,QAAQ,IAAI;AAChE,OAAI,UAAU,KAAM,QAAO,WAAW,cAAc,QAAQ,KAAK;GAGjE,IAAI,aAAa;AACjB,OAAI,OAAO,WAAW,YAAY,OAAO,WAAW,SAClD,cAAa,SAAS;OAEtB,cAAa,OAAO,OAAO,CAAC,cAAc,OAAO,OAAO,CAAC;AAG3D,UAAO,WAAW,cAAc,QAAQ,aAAa,CAAC;IACtD;IACD,CAAC,cAAc,WAAW,CAAC;CAG9B,MAAM,iBAAA,GAAA,MAAA,eAA8B;AAClC,MAAI,CAAC,kBAAmB,QAAO;EAE/B,MAAM,cAAc,cAAc,KAAK;AACvC,SAAO,WAAW,MAAM,YAAY,aAAa,SAAS;IACzD;EAAC;EAAY;EAAa;EAAU;EAAkB,CAAC;CAE1D,MAAM,aAAa,KAAK,KAAK,WAAW,SAAS,SAAS;CAG1D,MAAM,4BAA4B,UAAkB;AAClD,kBAAgB,MAAM;AACtB,iBAAe,EAAE;;CAInB,MAAM,cAAc,QAAgB;AAClC,MAAI,CAAC,eAAgB;AAErB,iBAAe,SAAS;AACtB,OAAI,MAAM,QAAQ,IAAK,QAAO;IAAE;IAAK,WAAW;IAAO;AACvD,OAAI,KAAK,cAAc,MAAO,QAAO;IAAE;IAAK,WAAW;IAAQ;AAC/D,UAAO;IACP;;CAIJ,MAAM,oBAAoB,QAAgB;AACxC,MAAI,YAAY,QAAQ,IAAK,QAAO;AACpC,SAAO,WAAW,cAAc,QAAQ,OAAO;;AAIjD,KAAI,KAAK,WAAW,EAClB,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,WAAW,sBAAsB,aAAa,MAAM,gBAAgB,wBAAwB,QAAQ,GAAG;EACvG,OAAO,EAAE,iBAAiB;EAC1B,GAAI;YAEJ,iBAAA,GAAA,kBAAA,MAAC,OAAD;GAAK,WAAU;aAAf;IACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;KAAK,WAAU;eAAW;KAAQ,CAAA;IAClC,iBAAA,GAAA,kBAAA,KAAC,KAAD;KAAG,WAAU;eAAU;KAAqB,CAAA;IAC5C,iBAAA,GAAA,kBAAA,KAAC,KAAD;KAAG,WAAU;eAAmC;KAE5C,CAAA;IACA;;EACF,CAAA;AAIV,QACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EACE,WAAW,8BAA8B,oBAAoB,KAAK,kBAAkB,WAAW,aAAa,MAAM,gBAAgB,2BAA2B,UAAU,GAAG;EAC1K,OAAO,EAAE,iBAAiB;EAC1B,GAAI;YAHN;GAKE,iBAAA,GAAA,kBAAA,MAAC,OAAD;IACE,WAAW,uCAAuC,QAAQ,GAAG,QAAQ;cADvE,CAIG,gBAAgB,aACf,iBAAA,GAAA,kBAAA,KAAC,MAAD;KACE,WAAW,QAAQ,kBAAkB,OAAO,SAAS,cAAc,kBAAkB,WAAW;eAE/F;KACE,CAAA,EAIN,iBACC,iBAAA,GAAA,kBAAA,KAACC,yBAAAA,OAAD;KACE,MAAK;KACL,aAAY;KACZ,OAAO;KACP,WAAW,MACT,yBAAyB,EAAE,OAAO,MAAM;KAE1C,WAAW,4BAA4B,aAAa,GAAG,SAAS,wDAAwD,gBAAgB;KACxI,CAAA,CAEA;;GAGN,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,WAAU;cACb,iBAAA,GAAA,kBAAA,MAAC,SAAD;KAAO,WAAU;eAAjB,CACE,iBAAA,GAAA,kBAAA,KAAC,SAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;MAAI,WAAW,GAAG,SAAS,GAAG,aAAa;gBACxC,QAAQ,KAAK,QACZ,iBAAA,GAAA,kBAAA,KAAC,MAAD;OAEE,WAAW,kDAAkD,gBAAgB,GAAG,IAAI,YAAY,iBAAiB,gDAAgD;OACjK,GAAK,IAAI,YAAY,iBACjB;QACE,MAAM;QACN,UAAU;QACV,eAAe,WAAW,IAAI,IAAI;QAClC,YAAY,MAA2B;AACrC,aAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,YAAE,gBAAgB;AAClB,qBAAW,IAAI,IAAI;;;QAGxB,GACD,EAAE;iBAEN,iBAAA,GAAA,kBAAA,KAAC,OAAD;QAAK,WAAU;kBACb,iBAAA,GAAA,kBAAA,MAAC,QAAD,EAAA,UAAA,CACG,IAAI,OACJ,IAAI,YACH,kBACA,iBAAiB,IAAI,IAAI,CACtB,EAAA,CAAA;QACH,CAAA;OACH,EAxBE,IAAI,IAwBN,CACL;MACC,CAAA,EACC,CAAA,EACR,iBAAA,GAAA,kBAAA,MAAC,SAAD,EAAA,UAAA,CACG,cAAc,KAAK,MAAM,UACxB,iBAAA,GAAA,kBAAA,KAAC,MAAD;MAEE,WAAW,iBAAiB,YAAY,oBAAoB,QAAQ,GAAG,0BAA0B,QAAQ,eAAe;gBAEvH,QAAQ,KAAK,QACZ,iBAAA,GAAA,kBAAA,KAAC,MAAD;OAAkB,WAAU;iBACzB,IAAI,SACD,IAAI,OAAO,KAAK,IAAI,MAAM,KAAK,GAC/B,OAAO,KAAK,IAAI,QAAQ,IAAI;OAC7B,EAJI,IAAI,IAIR,CACL;MACC,EAVE,KAAK,MAAM,MAUb,CACL,EAED,qBACC,cAAc,SAAS,YACvB,cAAc,SAAS,KACvB,MAAM,KAAK,EAAE,QAAQ,WAAW,cAAc,QAAQ,CAAC,CAAC,KACrD,GAAG,UACF,iBAAA,GAAA,kBAAA,KAAC,MAAD;MAEE,WAAW,iBAAiB,YAAY,oBAAoB,QAAQ,GAAG,0BAA0B,QAAQ,eAAe;gBAEvH,QAAQ,KAAK,QACZ,iBAAA,GAAA,kBAAA,KAAC,MAAD;OAAkB,WAAU;iBAAoB;OAE3C,EAFI,IAAI,IAER,CACL;MACC,EARE,SAAS,QAQX,CAER,CACG,EAAA,CAAA,CACF;;IACJ,CAAA;GAGL,cAAc,WAAW,KAAK,KAAK,SAAS,KAC3C,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAW,oBAAoB;cAApC,CACE,iBAAA,GAAA,kBAAA,KAAC,KAAD;KAAG,WAAU;eAAU;KAAoB,CAAA,EAC3C,iBAAA,GAAA,kBAAA,KAAC,KAAD;KAAG,WAAU;eAAU;KAA6B,CAAA,CAChD;;GAIP,qBAAqB,aAAa,KACjC,iBAAA,GAAA,kBAAA,MAAC,OAAD;IACE,WAAW,6DAA6D,YAAY,KAAK,QAAQ,gBAAgB,aAAa,QAAQ;cADxI,CAGE,iBAAA,GAAA,kBAAA,MAAC,KAAD;KAAG,WAAU;eAAb;MAAuB;OACX,cAAc,KAAK,WAAW;MAAE;MACzC,KAAK,IAAI,cAAc,UAAU,WAAW,OAAO;MAAC;MAAI;MACxD,WAAW;MAAO;MACjB;QACJ,iBAAA,GAAA,kBAAA,MAAC,OAAD;KAAK,WAAU;eAAf;MACE,iBAAA,GAAA,kBAAA,KAAC,UAAD;OACE,eAAe,gBAAgB,MAAM,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC;OACxD,UAAU,gBAAgB;OAC1B,WAAW,4BAA4B,sBAAsB,UAAU,sBAAsB;iBAC9F;OAEQ,CAAA;MACT,iBAAA,GAAA,kBAAA,MAAC,QAAD;OAAM,WAAU;iBAAhB;QAA0B;QAClB;QAAY;QAAK;QAClB;;MACP,iBAAA,GAAA,kBAAA,KAAC,UAAD;OACE,eAAe,gBAAgB,MAAM,KAAK,IAAI,YAAY,IAAI,EAAE,CAAC;OACjE,UAAU,gBAAgB;OAC1B,WAAW,4BAA4B,sBAAsB,UAAU,sBAAsB;iBAC9F;OAEQ,CAAA;MACL;OACF;;GAEJ;;;AAIV,MAAa,4BAAkD;CAC7D,YAAY;CACZ,aAAa;CACb,YAAY;EACV;GAAE,IAAI;GAAW,OAAO;GAAW;EACnC;GAAE,IAAI;GAAY,OAAO;GAAY;EACrC;GAAE,IAAI;GAAQ,OAAO;GAAQ;EAC9B;CACD,uBAAuB,CAAC,OAAO;CAC/B,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;0DACgB;GACf,OAAO;GACP,cAAc;GACd,KAAK;GACL,aAAa;GACb,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB,CAAC;uDACY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB,CAAC;EAGF;GACE,MAAM;GACN,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;uDACa;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;uDACY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;uDACY;GACZ,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,MAAM;GACN,OAAO;GACP,KAAK;GACL,OAAO;GACR;yDACe;GACd,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;8DACmB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EAGF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,KAAK;GACL,KAAK;GACL,MAAM;GACN,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;EAGD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,KAAK;GACL,OAAO;GACR;EACF;CACF"}
|
|
@@ -104,9 +104,6 @@ const videoWidgetPropertySchema = {
|
|
|
104
104
|
key: "fixedHeight",
|
|
105
105
|
label: "Height",
|
|
106
106
|
description: "Fixed height of the video container",
|
|
107
|
-
min: 10,
|
|
108
|
-
max: 1200,
|
|
109
|
-
step: 10,
|
|
110
107
|
defaultValue: "200px",
|
|
111
108
|
tab: "styling",
|
|
112
109
|
group: "Design",
|
|
@@ -206,4 +203,4 @@ Object.defineProperty(exports, "videoWidgetPropertySchema", {
|
|
|
206
203
|
}
|
|
207
204
|
});
|
|
208
205
|
|
|
209
|
-
//# sourceMappingURL=VideoWidget-
|
|
206
|
+
//# sourceMappingURL=VideoWidget-D3Fw1jZE.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoWidget-
|
|
1
|
+
{"version":3,"file":"VideoWidget-D3Fw1jZE.cjs","names":["MediaRenderer"],"sources":["../src/widgets/VideoWidget.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport type React from \"react\";\nimport {\n getBorderRadiusField,\n getHeightField,\n type WidgetPropertySchema,\n} from \"@fluid-app/portal-core/registries\";\nimport type {\n BorderRadiusOptions,\n ShareableItem,\n} from \"@fluid-app/portal-core/types\";\nimport { MediaRenderer } from \"../components/MediaRenderer\";\n\ntype VideoWidgetProps = ComponentProps<\"div\"> & {\n src?: string;\n poster?: string;\n borderRadius?: BorderRadiusOptions;\n verticalSizing?: \"auto\" | \"fixed\";\n fixedHeight?: string;\n displayFit?: \"cover\" | \"contain\";\n focusPoint?: string;\n controls?: boolean;\n autoplay?: boolean;\n loop?: boolean;\n muted?: boolean;\n resource?: ShareableItem;\n useCustomUrl?: boolean;\n};\n\nexport function VideoWidget({\n src = \"\",\n poster = \"\",\n borderRadius = \"md\",\n verticalSizing = \"auto\",\n fixedHeight = \"200px\",\n displayFit = \"cover\",\n focusPoint,\n controls = true,\n autoplay = false,\n loop = false,\n muted = false,\n resource,\n useCustomUrl,\n}: VideoWidgetProps): React.JSX.Element {\n const effectiveSrc = useCustomUrl ? src : (resource?.videoUrl ?? src);\n const effectivePoster = useCustomUrl\n ? poster\n : (resource?.imageUrl ?? poster);\n\n const isFixed = verticalSizing === \"fixed\";\n\n return (\n <div\n className={`relative w-full overflow-hidden rounded-${borderRadius}`}\n style={isFixed ? { height: fixedHeight } : undefined}\n >\n <MediaRenderer\n mediaType=\"video\"\n src={effectiveSrc}\n poster={effectivePoster}\n objectFit={isFixed ? displayFit : undefined}\n focusPoint={isFixed ? focusPoint : undefined}\n controls={controls}\n autoplay={autoplay}\n loop={loop}\n muted={muted}\n />\n </div>\n );\n}\n\nexport const videoWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"VideoWidget\",\n displayName: \"Video\",\n tabsConfig: [\n { id: \"styling\", label: \"Styling\" },\n { id: \"behavior\", label: \"Behavior\" },\n ],\n fields: [\n // Styling tab - Content group\n {\n key: \"resource\",\n label: \"Select Video\",\n type: \"resource\",\n description: \"Browse and select a video\",\n allowedTypes: [\"Medium\"],\n tab: \"styling\",\n group: \"Content\",\n },\n {\n key: \"useCustomUrl\",\n label: \"Use Custom URL\",\n type: \"boolean\",\n description: \"Enter a custom video URL instead of selecting media\",\n defaultValue: false,\n tab: \"styling\",\n group: \"Content\",\n },\n {\n key: \"src\",\n label: \"Video URL\",\n type: \"text\",\n description: \"The source URL of the video\",\n defaultValue: \"\",\n tab: \"styling\",\n group: \"Content\",\n requiresKeyToBeTrue: \"useCustomUrl\",\n },\n {\n key: \"poster\",\n label: \"Poster Image URL\",\n type: \"text\",\n description: \"Thumbnail image displayed before video plays\",\n defaultValue: \"\",\n tab: \"styling\",\n group: \"Content\",\n requiresKeyToBeTrue: \"useCustomUrl\",\n },\n\n // Styling tab - Design group\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the calendar container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"verticalSizing\",\n label: \"Vertical Sizing\",\n type: \"buttonGroup\",\n description: \"How the video height is determined\",\n options: [\n { label: \"Auto\", value: \"auto\" },\n { label: \"Fixed\", value: \"fixed\" },\n ],\n defaultValue: \"auto\",\n tab: \"styling\",\n group: \"Design\",\n },\n getHeightField({\n key: \"fixedHeight\",\n label: \"Height\",\n description: \"Fixed height of the video container\",\n defaultValue: \"200px\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n }),\n {\n key: \"displayFit\",\n label: \"Display Fit\",\n type: \"buttonGroup\",\n description: \"How the video fills its container\",\n options: [\n { label: \"Cover\", value: \"cover\" },\n { label: \"Contain\", value: \"contain\" },\n ],\n defaultValue: \"cover\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n {\n key: \"focusPoint\",\n label: \"Focus Point\",\n type: \"contentPosition\",\n description: \"The focal point of the video within its container\",\n defaultValue: \"center\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n\n // Behavior tab\n {\n key: \"controls\",\n label: \"Show Controls\",\n type: \"boolean\",\n description: \"Display video playback controls\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n {\n key: \"autoplay\",\n label: \"Autoplay\",\n type: \"boolean\",\n description: \"Automatically start playing the video\",\n defaultValue: false,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n {\n key: \"loop\",\n label: \"Loop\",\n type: \"boolean\",\n description: \"Repeat the video when it ends\",\n defaultValue: false,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n {\n key: \"muted\",\n label: \"Muted\",\n type: \"boolean\",\n description: \"Start with audio muted\",\n defaultValue: false,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n ],\n};\n"],"mappings":";;;;;;;;;AA6BA,SAAgB,YAAY,EAC1B,MAAM,IACN,SAAS,IACT,eAAe,MACf,iBAAiB,QACjB,cAAc,SACd,aAAa,SACb,YACA,WAAW,MACX,WAAW,OACX,OAAO,OACP,QAAQ,OACR,UACA,gBACsC;CACtC,MAAM,eAAe,eAAe,MAAO,UAAU,YAAY;CACjE,MAAM,kBAAkB,eACpB,SACC,UAAU,YAAY;CAE3B,MAAM,UAAU,mBAAmB;AAEnC,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,WAAW,2CAA2C;EACtD,OAAO,UAAU,EAAE,QAAQ,aAAa,GAAG,KAAA;YAE3C,iBAAA,GAAA,kBAAA,KAACA,sBAAAA,eAAD;GACE,WAAU;GACV,KAAK;GACL,QAAQ;GACR,WAAW,UAAU,aAAa,KAAA;GAClC,YAAY,UAAU,aAAa,KAAA;GACzB;GACA;GACJ;GACC;GACP,CAAA;EACE,CAAA;;AAIV,MAAa,4BAAkD;CAC7D,YAAY;CACZ,aAAa;CACb,YAAY,CACV;EAAE,IAAI;EAAW,OAAO;EAAW,EACnC;EAAE,IAAI;EAAY,OAAO;EAAY,CACtC;CACD,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc,CAAC,SAAS;GACxB,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;8DAGoB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAQ,OAAO;IAAQ,EAChC;IAAE,OAAO;IAAS,OAAO;IAAS,CACnC;GACD,cAAc;GACd,KAAK;GACL,OAAO;GACR;wDACc;GACb,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAS,OAAO;IAAS,EAClC;IAAE,OAAO;IAAW,OAAO;IAAW,CACvC;GACD,cAAc;GACd,KAAK;GACL,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EAGD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACF;CACF"}
|
|
@@ -104,9 +104,6 @@ const videoWidgetPropertySchema = {
|
|
|
104
104
|
key: "fixedHeight",
|
|
105
105
|
label: "Height",
|
|
106
106
|
description: "Fixed height of the video container",
|
|
107
|
-
min: 10,
|
|
108
|
-
max: 1200,
|
|
109
|
-
step: 10,
|
|
110
107
|
defaultValue: "200px",
|
|
111
108
|
tab: "styling",
|
|
112
109
|
group: "Design",
|
|
@@ -189,4 +186,4 @@ const videoWidgetPropertySchema = {
|
|
|
189
186
|
//#endregion
|
|
190
187
|
export { VideoWidget_exports as n, videoWidgetPropertySchema as r, VideoWidget as t };
|
|
191
188
|
|
|
192
|
-
//# sourceMappingURL=VideoWidget-
|
|
189
|
+
//# sourceMappingURL=VideoWidget-D_1kluGw.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoWidget-D_1kluGw.mjs","names":[],"sources":["../src/widgets/VideoWidget.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport type React from \"react\";\nimport {\n getBorderRadiusField,\n getHeightField,\n type WidgetPropertySchema,\n} from \"@fluid-app/portal-core/registries\";\nimport type {\n BorderRadiusOptions,\n ShareableItem,\n} from \"@fluid-app/portal-core/types\";\nimport { MediaRenderer } from \"../components/MediaRenderer\";\n\ntype VideoWidgetProps = ComponentProps<\"div\"> & {\n src?: string;\n poster?: string;\n borderRadius?: BorderRadiusOptions;\n verticalSizing?: \"auto\" | \"fixed\";\n fixedHeight?: string;\n displayFit?: \"cover\" | \"contain\";\n focusPoint?: string;\n controls?: boolean;\n autoplay?: boolean;\n loop?: boolean;\n muted?: boolean;\n resource?: ShareableItem;\n useCustomUrl?: boolean;\n};\n\nexport function VideoWidget({\n src = \"\",\n poster = \"\",\n borderRadius = \"md\",\n verticalSizing = \"auto\",\n fixedHeight = \"200px\",\n displayFit = \"cover\",\n focusPoint,\n controls = true,\n autoplay = false,\n loop = false,\n muted = false,\n resource,\n useCustomUrl,\n}: VideoWidgetProps): React.JSX.Element {\n const effectiveSrc = useCustomUrl ? src : (resource?.videoUrl ?? src);\n const effectivePoster = useCustomUrl\n ? poster\n : (resource?.imageUrl ?? poster);\n\n const isFixed = verticalSizing === \"fixed\";\n\n return (\n <div\n className={`relative w-full overflow-hidden rounded-${borderRadius}`}\n style={isFixed ? { height: fixedHeight } : undefined}\n >\n <MediaRenderer\n mediaType=\"video\"\n src={effectiveSrc}\n poster={effectivePoster}\n objectFit={isFixed ? displayFit : undefined}\n focusPoint={isFixed ? focusPoint : undefined}\n controls={controls}\n autoplay={autoplay}\n loop={loop}\n muted={muted}\n />\n </div>\n );\n}\n\nexport const videoWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"VideoWidget\",\n displayName: \"Video\",\n tabsConfig: [\n { id: \"styling\", label: \"Styling\" },\n { id: \"behavior\", label: \"Behavior\" },\n ],\n fields: [\n // Styling tab - Content group\n {\n key: \"resource\",\n label: \"Select Video\",\n type: \"resource\",\n description: \"Browse and select a video\",\n allowedTypes: [\"Medium\"],\n tab: \"styling\",\n group: \"Content\",\n },\n {\n key: \"useCustomUrl\",\n label: \"Use Custom URL\",\n type: \"boolean\",\n description: \"Enter a custom video URL instead of selecting media\",\n defaultValue: false,\n tab: \"styling\",\n group: \"Content\",\n },\n {\n key: \"src\",\n label: \"Video URL\",\n type: \"text\",\n description: \"The source URL of the video\",\n defaultValue: \"\",\n tab: \"styling\",\n group: \"Content\",\n requiresKeyToBeTrue: \"useCustomUrl\",\n },\n {\n key: \"poster\",\n label: \"Poster Image URL\",\n type: \"text\",\n description: \"Thumbnail image displayed before video plays\",\n defaultValue: \"\",\n tab: \"styling\",\n group: \"Content\",\n requiresKeyToBeTrue: \"useCustomUrl\",\n },\n\n // Styling tab - Design group\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the calendar container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"verticalSizing\",\n label: \"Vertical Sizing\",\n type: \"buttonGroup\",\n description: \"How the video height is determined\",\n options: [\n { label: \"Auto\", value: \"auto\" },\n { label: \"Fixed\", value: \"fixed\" },\n ],\n defaultValue: \"auto\",\n tab: \"styling\",\n group: \"Design\",\n },\n getHeightField({\n key: \"fixedHeight\",\n label: \"Height\",\n description: \"Fixed height of the video container\",\n defaultValue: \"200px\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n }),\n {\n key: \"displayFit\",\n label: \"Display Fit\",\n type: \"buttonGroup\",\n description: \"How the video fills its container\",\n options: [\n { label: \"Cover\", value: \"cover\" },\n { label: \"Contain\", value: \"contain\" },\n ],\n defaultValue: \"cover\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n {\n key: \"focusPoint\",\n label: \"Focus Point\",\n type: \"contentPosition\",\n description: \"The focal point of the video within its container\",\n defaultValue: \"center\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n\n // Behavior tab\n {\n key: \"controls\",\n label: \"Show Controls\",\n type: \"boolean\",\n description: \"Display video playback controls\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n {\n key: \"autoplay\",\n label: \"Autoplay\",\n type: \"boolean\",\n description: \"Automatically start playing the video\",\n defaultValue: false,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n {\n key: \"loop\",\n label: \"Loop\",\n type: \"boolean\",\n description: \"Repeat the video when it ends\",\n defaultValue: false,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n {\n key: \"muted\",\n label: \"Muted\",\n type: \"boolean\",\n description: \"Start with audio muted\",\n defaultValue: false,\n tab: \"behavior\",\n group: \"Behavior\",\n },\n ],\n};\n"],"mappings":";;;;;;;;;AA6BA,SAAgB,YAAY,EAC1B,MAAM,IACN,SAAS,IACT,eAAe,MACf,iBAAiB,QACjB,cAAc,SACd,aAAa,SACb,YACA,WAAW,MACX,WAAW,OACX,OAAO,OACP,QAAQ,OACR,UACA,gBACsC;CACtC,MAAM,eAAe,eAAe,MAAO,UAAU,YAAY;CACjE,MAAM,kBAAkB,eACpB,SACC,UAAU,YAAY;CAE3B,MAAM,UAAU,mBAAmB;AAEnC,QACE,oBAAC,OAAD;EACE,WAAW,2CAA2C;EACtD,OAAO,UAAU,EAAE,QAAQ,aAAa,GAAG,KAAA;YAE3C,oBAAC,eAAD;GACE,WAAU;GACV,KAAK;GACL,QAAQ;GACR,WAAW,UAAU,aAAa,KAAA;GAClC,YAAY,UAAU,aAAa,KAAA;GACzB;GACA;GACJ;GACC;GACP,CAAA;EACE,CAAA;;AAIV,MAAa,4BAAkD;CAC7D,YAAY;CACZ,aAAa;CACb,YAAY,CACV;EAAE,IAAI;EAAW,OAAO;EAAW,EACnC;EAAE,IAAI;EAAY,OAAO;EAAY,CACtC;CACD,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc,CAAC,SAAS;GACxB,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,qBAAqB;GACtB;EAGD,qBAAqB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAQ,OAAO;IAAQ,EAChC;IAAE,OAAO;IAAS,OAAO;IAAS,CACnC;GACD,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD,eAAe;GACb,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAS,OAAO;IAAS,EAClC;IAAE,OAAO;IAAW,OAAO;IAAW,CACvC;GACD,cAAc;GACd,KAAK;GACL,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EAGD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,KAAK;GACL,OAAO;GACR;EACF;CACF"}
|
package/dist/widgets/index.cjs
CHANGED
|
@@ -3,44 +3,44 @@ require("../chunk-CZWwpsFl.cjs");
|
|
|
3
3
|
const require_TextWidget = require("../TextWidget-D6Ug_2Z1.cjs");
|
|
4
4
|
const require_AlertWidget = require("../AlertWidget-AS_8Jjbd.cjs");
|
|
5
5
|
const require_CalendarWidget = require("../CalendarWidget-DW7q6Q7_.cjs");
|
|
6
|
-
const require_CarouselWidget = require("../CarouselWidget-
|
|
6
|
+
const require_CarouselWidget = require("../CarouselWidget-PEm6vktC.cjs");
|
|
7
7
|
const require_CatchUpWidget = require("../CatchUpWidget-CZMptzf8.cjs");
|
|
8
|
-
const require_ChartWidget = require("../ChartWidget-
|
|
8
|
+
const require_ChartWidget = require("../ChartWidget-aspz2XF6.cjs");
|
|
9
9
|
const require_LayoutWidget = require("../LayoutWidget-C4-ka0Ge.cjs");
|
|
10
10
|
const require_ContainerWidget = require("../ContainerWidget-rGsakG66.cjs");
|
|
11
|
-
const require_EmbedWidget = require("../EmbedWidget-
|
|
12
|
-
const require_ImageWidget = require("../ImageWidget-
|
|
11
|
+
const require_EmbedWidget = require("../EmbedWidget-BENxbwxX.cjs");
|
|
12
|
+
const require_ImageWidget = require("../ImageWidget-B2stGyqB.cjs");
|
|
13
13
|
const require_ListWidget = require("../ListWidget-RHQ2fQXa.cjs");
|
|
14
14
|
const require_MySiteWidget = require("../MySiteWidget-A_cYFgxJ.cjs");
|
|
15
|
-
const require_NestedWidget = require("../NestedWidget-
|
|
15
|
+
const require_NestedWidget = require("../NestedWidget-Dbo3dXEi.cjs");
|
|
16
16
|
const require_QuickShareWidget = require("../QuickShareWidget-DWvgEy74.cjs");
|
|
17
17
|
const require_RecentActivityWidget = require("../RecentActivityWidget-wODng8dt.cjs");
|
|
18
|
-
const require_SpacerWidget = require("../SpacerWidget-
|
|
19
|
-
const require_TableWidget = require("../TableWidget-
|
|
18
|
+
const require_SpacerWidget = require("../SpacerWidget-BFboILmz.cjs");
|
|
19
|
+
const require_TableWidget = require("../TableWidget-iS_DwHOX.cjs");
|
|
20
20
|
const require_ToDoWidget = require("../ToDoWidget-Dvs0GDkx.cjs");
|
|
21
|
-
const require_VideoWidget = require("../VideoWidget-
|
|
21
|
+
const require_VideoWidget = require("../VideoWidget-D3Fw1jZE.cjs");
|
|
22
22
|
let _fluid_app_portal_core_registries = require("@fluid-app/portal-core/registries");
|
|
23
23
|
//#region src/widgets/index.ts
|
|
24
24
|
const widgetPropertySchemas = {
|
|
25
25
|
AlertWidget: () => Promise.resolve().then(() => require("../AlertWidget-AS_8Jjbd.cjs")).then((n) => n.AlertWidget_exports).then((m) => m.alertWidgetPropertySchema),
|
|
26
26
|
CalendarWidget: () => Promise.resolve().then(() => require("../CalendarWidget-DW7q6Q7_.cjs")).then((n) => n.CalendarWidget_exports).then((m) => m.calendarWidgetPropertySchema),
|
|
27
|
-
CarouselWidget: () => Promise.resolve().then(() => require("../CarouselWidget-
|
|
27
|
+
CarouselWidget: () => Promise.resolve().then(() => require("../CarouselWidget-PEm6vktC.cjs")).then((n) => n.CarouselWidget_exports).then((m) => m.carouselWidgetPropertySchema),
|
|
28
28
|
CatchUpWidget: () => Promise.resolve().then(() => require("../CatchUpWidget-CZMptzf8.cjs")).then((n) => n.CatchUpWidget_exports).then((m) => m.catchUpWidgetPropertySchema),
|
|
29
|
-
ChartWidget: () => Promise.resolve().then(() => require("../ChartWidget-
|
|
29
|
+
ChartWidget: () => Promise.resolve().then(() => require("../ChartWidget-aspz2XF6.cjs")).then((n) => n.ChartWidget_exports).then((m) => m.chartWidgetPropertySchema),
|
|
30
30
|
ContainerWidget: () => Promise.resolve().then(() => require("../ContainerWidget-CHa4gVvV.cjs")).then((m) => m.containerWidgetPropertySchema),
|
|
31
|
-
EmbedWidget: () => Promise.resolve().then(() => require("../EmbedWidget-
|
|
32
|
-
ImageWidget: () => Promise.resolve().then(() => require("../ImageWidget-
|
|
31
|
+
EmbedWidget: () => Promise.resolve().then(() => require("../EmbedWidget-BENxbwxX.cjs")).then((n) => n.EmbedWidget_exports).then((m) => m.embedWidgetPropertySchema),
|
|
32
|
+
ImageWidget: () => Promise.resolve().then(() => require("../ImageWidget-B2stGyqB.cjs")).then((n) => n.ImageWidget_exports).then((m) => m.imageWidgetPropertySchema),
|
|
33
33
|
LayoutWidget: () => Promise.resolve().then(() => require("../LayoutWidget-D4haEqTQ.cjs")).then((m) => m.layoutWidgetPropertySchema),
|
|
34
34
|
ListWidget: () => Promise.resolve().then(() => require("../ListWidget-RHQ2fQXa.cjs")).then((n) => n.ListWidget_exports).then((m) => m.listWidgetPropertySchema),
|
|
35
35
|
MySiteWidget: () => Promise.resolve().then(() => require("../MySiteWidget-A_cYFgxJ.cjs")).then((n) => n.MySiteWidget_exports).then((m) => m.mySiteWidgetPropertySchema),
|
|
36
|
-
NestedWidget: () => Promise.resolve().then(() => require("../NestedWidget-
|
|
36
|
+
NestedWidget: () => Promise.resolve().then(() => require("../NestedWidget-Dbo3dXEi.cjs")).then((n) => n.NestedWidget_exports).then((m) => m.nestedWidgetPropertySchema),
|
|
37
37
|
QuickShareWidget: () => Promise.resolve().then(() => require("../QuickShareWidget-DWvgEy74.cjs")).then((n) => n.QuickShareWidget_exports).then((m) => m.quickShareWidgetPropertySchema),
|
|
38
38
|
RecentActivityWidget: () => Promise.resolve().then(() => require("../RecentActivityWidget-wODng8dt.cjs")).then((n) => n.RecentActivityWidget_exports).then((m) => m.recentActivityWidgetPropertySchema),
|
|
39
|
-
SpacerWidget: () => Promise.resolve().then(() => require("../SpacerWidget-
|
|
40
|
-
TableWidget: () => Promise.resolve().then(() => require("../TableWidget-
|
|
39
|
+
SpacerWidget: () => Promise.resolve().then(() => require("../SpacerWidget-BFboILmz.cjs")).then((n) => n.SpacerWidget_exports).then((m) => m.spacerWidgetPropertySchema),
|
|
40
|
+
TableWidget: () => Promise.resolve().then(() => require("../TableWidget-iS_DwHOX.cjs")).then((n) => n.TableWidget_exports).then((m) => m.tableWidgetPropertySchema),
|
|
41
41
|
TextWidget: () => Promise.resolve().then(() => require("../TextWidget-D6Ug_2Z1.cjs")).then((n) => n.TextWidget_exports).then((m) => m.textWidgetPropertySchema),
|
|
42
42
|
ToDoWidget: () => Promise.resolve().then(() => require("../ToDoWidget-Dvs0GDkx.cjs")).then((n) => n.ToDoWidget_exports).then((m) => m.toDoWidgetPropertySchema),
|
|
43
|
-
VideoWidget: () => Promise.resolve().then(() => require("../VideoWidget-
|
|
43
|
+
VideoWidget: () => Promise.resolve().then(() => require("../VideoWidget-D3Fw1jZE.cjs")).then((n) => n.VideoWidget_exports).then((m) => m.videoWidgetPropertySchema)
|
|
44
44
|
};
|
|
45
45
|
//#endregion
|
|
46
46
|
exports.AlertWidget = require_AlertWidget.AlertWidget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/widgets/TextWidget.tsx","../../src/widgets/AlertWidget.tsx","../../src/widgets/CalendarWidget.tsx","../../src/widgets/CarouselWidget.tsx","../../src/widgets/CatchUpWidget.tsx","../../src/widgets/ChartWidget.tsx","../../src/widgets/LayoutWidget.tsx","../../src/widgets/ContainerWidget.tsx","../../src/widgets/EmbedWidget.tsx","../../src/widgets/ImageWidget.tsx","../../src/widgets/ListWidget.tsx","../../src/widgets/MySiteWidget.tsx","../../src/widgets/NestedWidget.tsx","../../src/widgets/QuickShareWidget.tsx","../../src/widgets/RecentActivityWidget.tsx","../../src/widgets/SpacerWidget.tsx","../../src/widgets/TableWidget.tsx","../../src/widgets/ToDoWidget.tsx","../../src/widgets/VideoWidget.tsx","../../src/widgets/index.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/widgets/TextWidget.tsx","../../src/widgets/AlertWidget.tsx","../../src/widgets/CalendarWidget.tsx","../../src/widgets/CarouselWidget.tsx","../../src/widgets/CatchUpWidget.tsx","../../src/widgets/ChartWidget.tsx","../../src/widgets/LayoutWidget.tsx","../../src/widgets/ContainerWidget.tsx","../../src/widgets/EmbedWidget.tsx","../../src/widgets/ImageWidget.tsx","../../src/widgets/ListWidget.tsx","../../src/widgets/MySiteWidget.tsx","../../src/widgets/NestedWidget.tsx","../../src/widgets/QuickShareWidget.tsx","../../src/widgets/RecentActivityWidget.tsx","../../src/widgets/SpacerWidget.tsx","../../src/widgets/TableWidget.tsx","../../src/widgets/ToDoWidget.tsx","../../src/widgets/VideoWidget.tsx","../../src/widgets/index.ts"],"mappings":"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"}
|