@peak-ai/canvas 1.4.17-rc.16 → 1.4.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/GrapesjsCanvas.d.ts +9 -1
- package/GrapesjsCanvas.js +5 -4
- package/GrapesjsCanvas.js.map +1 -1
- package/helpers/css.d.ts +1 -1
- package/helpers/css.js +1 -1
- package/helpers/css.js.map +1 -1
- package/helpers/filter-placeholder.d.ts +1 -0
- package/helpers/filter-placeholder.js +2 -0
- package/helpers/filter-placeholder.js.map +1 -0
- package/index.d.ts +5 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +6 -2
- package/plugins/grapejs-plugin.d.ts +1 -1
- package/plugins/grapejs-plugin.js +3 -2
- package/plugins/grapejs-plugin.js.map +1 -1
- package/plugins/helpers/custom-modal.d.ts +11 -0
- package/plugins/helpers/custom-modal.js +2 -0
- package/plugins/helpers/custom-modal.js.map +1 -0
- package/plugins/helpers/data-table.d.ts +2 -1
- package/plugins/helpers/data-table.js +1 -1
- package/plugins/helpers/data-table.js.map +1 -1
- package/plugins/helpers/extra.js +1 -1
- package/plugins/helpers/extra.js.map +1 -1
- package/plugins/helpers/query-details-modal.d.ts +17 -0
- package/plugins/helpers/query-details-modal.js +4 -0
- package/plugins/helpers/query-details-modal.js.map +1 -0
- package/plugins/helpers/query-loading-modal.d.ts +5 -0
- package/plugins/helpers/query-loading-modal.js +2 -0
- package/plugins/helpers/query-loading-modal.js.map +1 -0
- package/plugins/helpers/render-components.js +7 -7
- package/plugins/helpers/render-components.js.map +1 -1
- package/plugins/helpers/styled-info-button.d.ts +28 -0
- package/plugins/helpers/styled-info-button.js +2 -0
- package/plugins/helpers/styled-info-button.js.map +1 -0
- package/shadcn/components/icons/AiAvatarIcon.d.ts +7 -0
- package/shadcn/components/icons/AiAvatarIcon.js +2 -0
- package/shadcn/components/icons/AiAvatarIcon.js.map +1 -0
- package/shadcn/components/ui/button.d.ts +1 -1
- package/shadcn/components/ui/component-wrapper.d.ts +26 -0
- package/shadcn/components/ui/component-wrapper.js +2 -0
- package/shadcn/components/ui/component-wrapper.js.map +1 -0
- package/shadcn/components/ui/date-filter.js +1 -1
- package/shadcn/components/ui/date-filter.js.map +1 -1
- package/shadcn/components/ui/error-container.d.ts +22 -0
- package/shadcn/components/ui/error-container.js +2 -0
- package/shadcn/components/ui/error-container.js.map +1 -0
- package/shadcn/components/ui/error-wrapper.d.ts +20 -0
- package/shadcn/components/ui/error-wrapper.js +2 -0
- package/shadcn/components/ui/error-wrapper.js.map +1 -0
- package/shadcn/components/ui/filter.js +1 -1
- package/shadcn/components/ui/filter.js.map +1 -1
- package/shadcn/components/ui/search.js +1 -1
- package/shadcn/components/ui/search.js.map +1 -1
- package/shadcn/components/ui/table.js +1 -1
- package/shadcn/components/ui/table.js.map +1 -1
- package/types/grapesjs-tailwind.d.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.js","names":["useEffect","useState","Fragment","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","TableHeadSortable","TableLoader","ScrollArea","ScrollBar","Pagination","PaginationContent","renderPaginationArrows","TableButton","cn","renderNoDataFallback","jsx","_jsx","jsxs","_jsxs","DataTable","_ref","_ref2","_pagination$values$pa","_pagination$values","_ref3","_pagination$values$pa2","_pagination$values2","_ref$data","data","_ref$headerMapper","headerMapper","_ref$className","className","_ref$actions","actions","_ref$isEditable","isEditable","pagination","_ref$isLoading","isLoading","onRowAction","onPageChange","onSort","sortConfig","_ref$otherProps","otherProps","_useState","activeSortColumn","setActiveSortColumn","_useState2","sortDirections","setSortDirections","_useState3","Number","values","pageNumber","initialPage","setPageNumber","_useState4","pageSize","initialPageSize","setPageSize","_useState5","Math","ceil","totalCount","totalPages","setTotalPages","_ref4","_pagination$values$pa3","_pagination$values3","_ref5","_pagination$values$pa4","_pagination$values4","first","Object","keys","originalKeys","filter","key","headers","map","length","push","rows","datum","handlePageChange","_x","_x2","_handlePageChange","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","newPage","newSize","wrap","_callee$","_context","prev","next","stop","handleSortClick","column","direction","_extends2","_extends","renderActions","rowIndex","rowActions","children","action","onClick","id","variant","text","tooltipContent","actualRowCount","headerHeight","rowHeight","maxHeight","calculatedHeight","tableHeight","min","defaultClasses","mergedClasses","renderTableComponent","head","idx","isActionColumn","originalKey","contentEditable","sortDirection","isActive","sortable","row","rIdx","cell","cIdx","style","height","orientation","htmlFor","value","onChange","e","target","disabled","pageSizeOptions","size"],"sources":["../../../src/plugins/helpers/data-table.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState, Fragment } from 'react';\nimport {\n Table,\n TableHeader,\n TableRow,\n TableHead,\n TableBody,\n TableCell,\n TableHeadSortable,\n SortDirection,\n} from '../../shadcn/components/ui/table';\nimport { TableLoader } from '../../shadcn/components/ui/skeleton';\nimport { ScrollArea, ScrollBar } from '../../shadcn/components/ui/scroll-area';\nimport {\n Pagination,\n PaginationContent,\n renderPaginationArrows,\n} from '../../shadcn/components/ui/pagination';\nimport { TableButton } from '../../shadcn/components/ui/button';\nimport { cn } from '../../shadcn/utils';\nimport { renderNoDataFallback } from './extra'\n\ntype RowAction = {\n id: string;\n text: string;\n variant?: string;\n tooltipContent?: string;\n className?: string;\n};\n\nexport type DataTableProps = {\n data: Record<string, any>[];\n headerMapper?: Record<string, string>;\n className?: string;\n isEditable?: boolean;\n actions?: RowAction[];\n pagination?: {\n values?: {\n pageNumber: number;\n pageSize: number;\n };\n initialPage?: number;\n initialPageSize?: number;\n totalCount: number;\n pageSizeOptions: number[];\n };\n isLoading?: boolean;\n onRowAction?: (rowIndex: number, actionId: string) => void;\n onPageChange?: (pageNumber: number, pageSize: number) => void;\n onSort?: (column: string, direction: SortDirection) => void;\n sortConfig?: Record<string, SortDirection>;\n otherProps?: Record<string, any>;\n};\n\nexport function DataTable({\n data = [],\n headerMapper = {},\n className = '',\n actions = [],\n isEditable = false,\n pagination,\n isLoading = false,\n onRowAction,\n onPageChange,\n onSort,\n sortConfig,\n otherProps = {},\n}: DataTableProps) {\n\n const [activeSortColumn, setActiveSortColumn] = useState<string | null>(null);\n const [sortDirections, setSortDirections] = useState<Record<string, SortDirection>>({});\n\n const [pageNumber, setPageNumber] = useState(\n Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1),\n );\n const [pageSize, setPageSize] = useState(\n Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 10),\n );\n const [totalPages, setTotalPages] = useState(\n Math.ceil((pagination?.totalCount || 0) / pageSize) || 1,\n );\n\n useEffect(() => {\n setPageNumber(Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1));\n setPageSize(Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 25));\n }, [pagination]);\n\n useEffect(() => {\n setTotalPages(Math.ceil((pagination?.totalCount || 0) / pageSize) || 1);\n }, [pagination?.totalCount, pageSize]);\n\n useEffect(() => {\n if (sortConfig) {\n setSortDirections(sortConfig);\n const first = Object.keys(sortConfig)[0];\n\n if (first) {\n setActiveSortColumn(first);\n }\n }\n }, [sortConfig]);\n\n const originalKeys = Object.keys(data[0] || {}).filter((key) => key in headerMapper);\n const headers = originalKeys.map((key) => headerMapper[key]);\n\n if (actions.length > 0) {\n headers.push('');\n }\n\n const rows = data.map((datum: any) => originalKeys.map((key) => datum[key]));\n\n async function handlePageChange(newPage = pageNumber, newSize = pageSize) {\n setPageNumber(newPage);\n setPageSize(newSize);\n onPageChange?.(newPage, newSize);\n }\n\n function handleSortClick(column: string, direction: SortDirection) {\n setActiveSortColumn(direction ? column : null);\n setSortDirections((prev) => ({\n ...prev,\n [column]: direction,\n }));\n onSort?.(column, direction);\n }\n\n function renderActions(rowIndex: number, rowActions: RowAction[]) {\n if (!actions.length) {\n return null;\n }\n\n return (\n <TableCell className=\"sticky right-0 bg-white\">\n {rowActions.map((action) => (\n <TableButton\n key={action.id}\n className={action.className}\n isEditable={isEditable}\n onClick={() => onRowAction?.(rowIndex, action.id)}\n variant={action.variant}\n text={action.text}\n tooltipContent={action.tooltipContent}\n />\n ))}\n </TableCell>\n );\n }\n\n const actualRowCount = rows.length;\n const headerHeight = 48;\n const rowHeight = 40;\n const maxHeight = 250;\n const calculatedHeight = headerHeight + actualRowCount * rowHeight;\n const tableHeight = Math.min(calculatedHeight, maxHeight);\n\n const defaultClasses = `aspect-auto w-full`;\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n function renderTableComponent() {\n if (isLoading) {\n return <TableLoader />;\n }\n\n if(!data?.length && !isLoading ) {\n renderNoDataFallback()\n }\n\n return (\n <Table\n {...otherProps}\n className={`caption-bottom text-sm relative ${mergedClasses}`}\n data-slot=\"table\"\n >\n <TableHeader data-slot=\"table-header\" className=\"sticky top-0 z-2\">\n <TableRow>\n {headers.map((head: string, idx: number) => {\n const isActionColumn = actions.length > 0 && idx === headers.length - 1;\n const originalKey = originalKeys[idx];\n\n if (isActionColumn) {\n return (\n <TableHead\n key={idx}\n data-slot={`table-header-${idx}`}\n contentEditable={isEditable}\n className=\"sticky right-0 bg-slate-100\"\n >\n {head}\n </TableHead>\n );\n }\n\n return (\n <TableHeadSortable\n key={idx}\n data-slot={`table-header-${idx}`}\n sortDirection={sortDirections[originalKey] || 'asc'}\n isActive={activeSortColumn === originalKey}\n onSort={(direction) => handleSortClick(originalKey, direction)}\n sortable={true}\n isEditable={isEditable}\n >\n {head}\n </TableHeadSortable>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody data-slot=\"table-body\">\n {rows.map((row: any[], rIdx: number) => (\n <TableRow\n key={rIdx}\n data-slot={`row-${rIdx}`}\n className=\"hover:bg-muted/50 border-b transition-colors\"\n >\n {row.map((cell: string, cIdx: number) => (\n <TableCell\n key={cIdx}\n data-slot={`cell-${rIdx}-${cIdx}`}\n className=\"p-2 align-middle whitespace-nowrap\"\n contentEditable={false}\n >\n {cell}\n </TableCell>\n ))}\n {renderActions(rIdx, actions)}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n }\n\n return (\n <Fragment>\n <ScrollArea\n data-slot=\"table-container\"\n className={mergedClasses}\n style={{\n height: `${tableHeight}px`,\n }}\n >\n {renderTableComponent()}\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n {pagination && pagination.totalCount > 0 && (\n <div className=\"flex items-center justify-between mt-2 w-full overflow-x-auto\">\n <div className=\"flex items-center gap-2 flex-shrink-0\">\n <label htmlFor=\"page-size-select\" className=\"text-sm whitespace-nowrap\">\n Rows per page:\n </label>\n <select\n id=\"page-size-select\"\n value={pageSize}\n onChange={(e) => handlePageChange(1, Number(e.target.value))}\n className=\"border rounded px-2 py-1 text-sm cursor-pointer\"\n disabled={isLoading}\n >\n {pagination.pageSizeOptions.map((size: number) => (\n <option key={size} value={size}>\n {size}\n </option>\n ))}\n </select>\n </div>\n <div className=\"flex items-center gap-1 flex-shrink-0\">\n <span className=\"text-xs text-muted-foreground whitespace-nowrap\">\n {(pageNumber - 1) * pageSize + 1}–\n {Math.min(pageNumber * pageSize, pagination.totalCount)} of {pagination.totalCount}\n </span>\n <Pagination>\n <PaginationContent className=\"gap-0.2 flex-shrink-0\">\n {renderPaginationArrows(pageNumber, totalPages, isLoading, handlePageChange)}\n </PaginationContent>\n </Pagination>\n </div>\n </div>\n )}\n </Fragment>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"data-table.js","names":["useEffect","useState","Fragment","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","TableHeadSortable","TableLoader","ScrollArea","ScrollBar","Pagination","PaginationContent","renderPaginationArrows","TableButton","cn","renderNoDataFallback","jsx","_jsx","jsxs","_jsxs","DataTable","_ref","_ref2","_pagination$values$pa","_pagination$values","_ref3","_pagination$values$pa2","_pagination$values2","_ref$data","data","_ref$headerMapper","headerMapper","_ref$className","className","_ref$actions","actions","_ref$isEditable","isEditable","pagination","_ref$isLoading","isLoading","onRowAction","onPageChange","onSort","sortConfig","_ref$otherProps","otherProps","height","length","children","style","minHeight","_useState","activeSortColumn","setActiveSortColumn","_useState2","sortDirections","setSortDirections","_useState3","Number","values","pageNumber","initialPage","setPageNumber","_useState4","pageSize","initialPageSize","setPageSize","_useState5","Math","ceil","totalCount","totalPages","setTotalPages","_ref4","_pagination$values$pa3","_pagination$values3","_ref5","_pagination$values$pa4","_pagination$values4","first","Object","keys","sortColumn","sortDirection","originalKeys","filter","key","headers","map","push","rows","datum","handlePageChange","_x","_x2","_handlePageChange","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","newPage","newSize","wrap","_callee$","_context","prev","next","stop","handleSortClick","column","direction","_extends2","_extends","renderActions","rowIndex","rowActions","action","onClick","id","variant","text","tooltipContent","disabled","defaultClasses","mergedClasses","renderTableComponent","head","idx","isActionColumn","originalKey","contentEditable","isActive","sortable","row","rIdx","cell","cIdx","String","undefined","orientation","htmlFor","value","onChange","e","target","pageSizeOptions","size","min"],"sources":["../../../src/plugins/helpers/data-table.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useState, Fragment } from 'react';\nimport {\n Table,\n TableHeader,\n TableRow,\n TableHead,\n TableBody,\n TableCell,\n TableHeadSortable,\n SortDirection,\n} from '../../shadcn/components/ui/table';\nimport { TableLoader } from '../../shadcn/components/ui/skeleton';\nimport { ScrollArea, ScrollBar } from '../../shadcn/components/ui/scroll-area';\nimport {\n Pagination,\n PaginationContent,\n renderPaginationArrows,\n} from '../../shadcn/components/ui/pagination';\nimport { TableButton } from '../../shadcn/components/ui/button';\nimport { cn } from '../../shadcn/utils';\nimport { renderNoDataFallback } from './extra'\n\ntype RowAction = {\n id: string;\n text: string;\n variant?: string;\n tooltipContent?: string;\n className?: string;\n};\n\nexport type DataTableProps = {\n data: Record<string, any>[];\n headerMapper?: Record<string, string>;\n className?: string;\n isEditable?: boolean;\n actions?: RowAction[];\n pagination?: {\n values?: {\n pageNumber: number;\n pageSize: number;\n };\n initialPage?: number;\n initialPageSize?: number;\n totalCount: number;\n pageSizeOptions: number[];\n };\n isLoading?: boolean;\n onRowAction?: (rowIndex: number, actionId: string) => void;\n onPageChange?: (pageNumber: number, pageSize: number) => void;\n onSort?: (column: string, direction: SortDirection) => void;\n sortConfig?: Record<string, SortDirection>;\n otherProps?: Record<string, any>;\n height?: string | number;\n};\n\nexport function DataTable({\n data = [],\n headerMapper = {},\n className = '',\n actions = [],\n isEditable = false,\n pagination,\n isLoading = false,\n onRowAction,\n onPageChange,\n onSort,\n sortConfig,\n otherProps = {},\n height,\n}: DataTableProps) {\n\n if (!data || data.length === 0) {\n return (\n <Fragment>\n <div className=\"flex flex-col overflow-hidden\">\n <div\n data-slot=\"table-container\"\n className=\"aspect-auto w-full\"\n style={{ height: 'auto', minHeight: '180px' }}\n >\n {isLoading ? <TableLoader /> : renderNoDataFallback()}\n </div>\n </div>\n </Fragment>\n );\n }\n\n const [activeSortColumn, setActiveSortColumn] = useState<string | null>(null);\n const [sortDirections, setSortDirections] = useState<Record<string, SortDirection>>({});\n\n const [pageNumber, setPageNumber] = useState(\n Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1),\n );\n const [pageSize, setPageSize] = useState(\n Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 10),\n );\n const [totalPages, setTotalPages] = useState(\n Math.ceil((pagination?.totalCount || 0) / pageSize) || 1,\n );\n\n useEffect(() => {\n setPageNumber(Number(pagination?.values?.pageNumber ?? pagination?.initialPage ?? 1));\n setPageSize(Number(pagination?.values?.pageSize ?? pagination?.initialPageSize ?? 25));\n }, [pagination]);\n\n useEffect(() => {\n setTotalPages(Math.ceil((pagination?.totalCount || 0) / pageSize) || 1);\n }, [pagination?.totalCount, pageSize]);\n\n useEffect(() => {\n if (sortConfig) {\n setSortDirections(sortConfig);\n const first = Object.keys(sortConfig)[0];\n\n if (first) {\n setActiveSortColumn(first);\n }\n }\n }, [sortConfig]);\n\n useEffect(() => {\n if (sortConfig?.sortColumn || sortConfig?.sortDirection) {\n sortConfig.sortColumn = null;\n sortConfig.sortDirection = null;\n }\n \n setActiveSortColumn(null);\n setSortDirections({});\n }, []);\n \n const originalKeys = Object.keys(data[0] || {}).filter((key) => key in headerMapper);\n const headers = originalKeys.map((key) => headerMapper[key]);\n\n if (actions.length > 0) {\n headers.push('');\n }\n\n const rows = data.map((datum: any) => originalKeys.map((key) => datum[key]));\n\n async function handlePageChange(newPage = pageNumber, newSize = pageSize) {\n setPageNumber(newPage);\n setPageSize(newSize);\n onPageChange?.(newPage, newSize);\n }\n\n function handleSortClick(column: string, direction: SortDirection) {\n setActiveSortColumn(direction ? column : null);\n setSortDirections((prev) => ({\n ...prev,\n [column]: direction,\n }));\n onSort?.(column, direction);\n }\n\n function renderActions(rowIndex: number, rowActions: RowAction[]) {\n if (!actions.length) {\n return null;\n }\n\n return (\n <TableCell className=\"sticky right-0 bg-white\">\n {rowActions.map((action) => (\n <TableButton\n key={action.id}\n className={action.className}\n isEditable={isEditable}\n onClick={() => onRowAction?.(rowIndex, action.id)}\n variant={action.variant}\n text={action.text}\n tooltipContent={action.tooltipContent}\n disabled={isLoading}\n />\n ))}\n </TableCell>\n );\n }\n\n const defaultClasses = `aspect-auto w-full`;\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n function renderTableComponent() {\n if (isLoading || (!data || data.length === 0)) {\n return <TableLoader />;\n }\n\n return (\n <Table\n {...otherProps}\n className={`caption-bottom text-sm relative ${mergedClasses}`}\n data-slot=\"table\"\n >\n <TableHeader data-slot=\"table-header\" className=\"sticky top-0 z-2\">\n <TableRow>\n {headers.map((head: string, idx: number) => {\n const isActionColumn = actions.length > 0 && idx === headers.length - 1;\n const originalKey = originalKeys[idx];\n\n if (isActionColumn) {\n return (\n <TableHead\n key={idx}\n data-slot={`table-header-${idx}`}\n contentEditable={isEditable}\n className=\"sticky right-0 bg-slate-100\"\n >\n {head}\n </TableHead>\n );\n }\n\n return (\n <TableHeadSortable\n key={idx}\n data-slot={`table-header-${idx}`}\n sortDirection={sortDirections[originalKey] || 'asc'}\n isActive={activeSortColumn === originalKey}\n onSort={(direction) => handleSortClick(originalKey, direction)}\n sortable={!isLoading}\n isEditable={isEditable}\n >\n {head}\n </TableHeadSortable>\n );\n })}\n </TableRow>\n </TableHeader>\n <TableBody data-slot=\"table-body\">\n {rows.map((row: any[], rIdx: number) => (\n <TableRow\n key={rIdx}\n data-slot={`row-${rIdx}`}\n className=\"hover:bg-muted/50 border-b transition-colors\"\n >\n {row.map((cell: string, cIdx: number) => (\n <TableCell\n key={cIdx}\n data-slot={`cell-${rIdx}-${cIdx}`}\n className=\"p-2 align-middle whitespace-nowrap\"\n contentEditable={false}\n >\n {cell === null ? '-' : String(cell)}\n </TableCell>\n ))}\n {renderActions(rIdx, actions)}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n }\n\n return (\n <Fragment>\n <div className=\"flex flex-col h-full overflow-hidden\">\n <ScrollArea\n data-slot=\"table-container\"\n className={mergedClasses}\n {...(height !== undefined && { style: { height } })}\n >\n {renderTableComponent()}\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </div>\n {pagination && pagination.totalCount > 0 && (\n <div className=\"flex-shrink-0 flex items-center justify-between mt-2 w-full overflow-x-auto border-t pt-2\">\n <div className=\"flex items-center gap-2 flex-shrink-0\">\n <label htmlFor=\"page-size-select\" className=\"text-sm whitespace-nowrap\">\n Rows per page:\n </label>\n <select\n id=\"page-size-select\"\n value={pageSize}\n onChange={(e) => handlePageChange(1, Number(e.target.value))}\n className=\"border rounded px-2 py-1 text-sm cursor-pointer\"\n disabled={isLoading}\n >\n {pagination.pageSizeOptions.map((size: number) => (\n <option key={size} value={size}>\n {size}\n </option>\n ))}\n </select>\n </div>\n <div className=\"flex items-center gap-1 flex-shrink-0\">\n <span className=\"text-xs text-muted-foreground whitespace-nowrap ml-1.5\">\n {(pageNumber - 1) * pageSize + 1}–\n {Math.min(pageNumber * pageSize, pagination.totalCount)} of {pagination.totalCount}\n </span>\n <Pagination>\n <PaginationContent className=\"gap-0.2 flex-shrink-0\">\n {renderPaginationArrows(pageNumber, totalPages, isLoading, handlePageChange)}\n </PaginationContent>\n </Pagination>\n </div>\n </div>\n )}\n </Fragment>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
package/plugins/helpers/extra.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _extends from"@babel/runtime/helpers/extends";import _objectWithoutPropertiesLoose from"@babel/runtime/helpers/objectWithoutPropertiesLoose";var _excluded=["label","defaultChecked","className","isEditable"],_excluded2=["triggerContent","cardContent","className","isEditable"],_excluded3=["label","placeholder","value","className","isEditable"],_excluded4=["text","className","isEditable"],_excluded5=["className"],_excluded6=["label","placeholder","value","className","isEditable"],_excluded7=["triggerContent","tooltipContent","className","isEditable"];/* eslint-disable @typescript-eslint/no-explicit-any */import{cn}from"../../shadcn/utils";import{Checkbox}from"../../shadcn/components/ui/checkbox";import{CircleAlert}from"lucide-react";import{HoverCard,HoverCardTrigger,HoverCardContent}from"../../shadcn/components/ui/hover-card";import{Input}from"../../shadcn/components/ui/input";import{Label}from"../../shadcn/components/ui/label";import{Separator}from"../../shadcn/components/ui/separator";import{Textarea}from"../../shadcn/components/ui/textarea";import{Tooltip,TooltipTrigger,TooltipContent}from"../../shadcn/components/ui/tooltip";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function renderNoDataFallback(){return/*#__PURE__*/_jsxs("div",{className:"
|
|
1
|
+
import _extends from"@babel/runtime/helpers/extends";import _objectWithoutPropertiesLoose from"@babel/runtime/helpers/objectWithoutPropertiesLoose";var _excluded=["label","defaultChecked","className","isEditable"],_excluded2=["triggerContent","cardContent","className","isEditable"],_excluded3=["label","placeholder","value","className","isEditable"],_excluded4=["text","className","isEditable"],_excluded5=["className"],_excluded6=["label","placeholder","value","className","isEditable"],_excluded7=["triggerContent","tooltipContent","className","isEditable"];/* eslint-disable @typescript-eslint/no-explicit-any */import{cn}from"../../shadcn/utils";import{Checkbox}from"../../shadcn/components/ui/checkbox";import{CircleAlert}from"lucide-react";import{HoverCard,HoverCardTrigger,HoverCardContent}from"../../shadcn/components/ui/hover-card";import{Input}from"../../shadcn/components/ui/input";import{Label}from"../../shadcn/components/ui/label";import{Separator}from"../../shadcn/components/ui/separator";import{Textarea}from"../../shadcn/components/ui/textarea";import{Tooltip,TooltipTrigger,TooltipContent}from"../../shadcn/components/ui/tooltip";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function renderNoDataFallback(){return/*#__PURE__*/_jsxs("div",{className:"w-full py-8 flex flex-col items-center justify-center px-6 text-center",style:{minHeight:"180px"},children:[/*#__PURE__*/_jsx(CircleAlert,{className:"w-12 h-12 text-gray-400 mb-2"}),/*#__PURE__*/_jsx("h3",{className:"text-lg font-medium text-gray-900",children:"No data available"}),/*#__PURE__*/_jsx("p",{className:"mt-2 text-sm text-gray-500 max-w-md",children:"Check your filters or try a different time range."})]})}export function renderCheckbox(props){var _props$label=props.label,label=_props$label===void 0?"":_props$label,_props$defaultChecked=props.defaultChecked,defaultChecked=_props$defaultChecked===void 0?false:_props$defaultChecked,className=props.className,_props$isEditable=props.isEditable,isEditable=_props$isEditable===void 0?false:_props$isEditable,rest=_objectWithoutPropertiesLoose(props,_excluded);var defaultClasses="flex items-center";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(Checkbox,{defaultChecked:defaultChecked}),label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"ml-2",children:label})]}))}export function renderHoverCard(props){var _props$triggerContent=props.triggerContent,triggerContent=_props$triggerContent===void 0?"Hover over me":_props$triggerContent,_props$cardContent=props.cardContent,cardContent=_props$cardContent===void 0?"Additional information":_props$cardContent,className=props.className,_props$isEditable2=props.isEditable,isEditable=_props$isEditable2===void 0?false:_props$isEditable2,rest=_objectWithoutPropertiesLoose(props,_excluded2);var defaultClasses="w-[320px] max-w-[320px] shadow rounded-lg";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs(HoverCard,_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(HoverCardTrigger,{asChild:true,children:/*#__PURE__*/_jsx("span",{"data-slot":"triggerContent",contentEditable:isEditable,children:triggerContent})}),/*#__PURE__*/_jsx(HoverCardContent,{children:/*#__PURE__*/_jsx("div",{"data-slot":"cardContent",contentEditable:isEditable,children:cardContent})})]}))}export function renderInput(props){var _props$label2=props.label,label=_props$label2===void 0?"":_props$label2,_props$placeholder=props.placeholder,placeholder=_props$placeholder===void 0?"":_props$placeholder,_props$value=props.value,value=_props$value===void 0?"":_props$value,className=props.className,_props$isEditable3=props.isEditable,isEditable=_props$isEditable3===void 0?false:_props$isEditable3,rest=_objectWithoutPropertiesLoose(props,_excluded3);var defaultClasses="w-[320px] p-2 border border-gray-300 rounded-md";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:"flex flex-col "+merged},rest,{children:[label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"mb-1",children:label}),/*#__PURE__*/_jsx(Input,{placeholder:placeholder,value:value})]}))}export function renderLabel(props){var _props$text=props.text,text=_props$text===void 0?"Label":_props$text,className=props.className,_props$isEditable4=props.isEditable,isEditable=_props$isEditable4===void 0?false:_props$isEditable4,rest=_objectWithoutPropertiesLoose(props,_excluded4);var defaultClasses="text-base font-semibold mb-2";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsx(Label,_extends({"data-slot":"text",contentEditable:isEditable,className:merged},rest,{children:text}))}export function renderSeparator(props){var className=props.className,rest=_objectWithoutPropertiesLoose(props,_excluded5);var defaultClasses="my-4 border-t-2";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsx(Separator,_extends({className:merged},rest))}export function renderTextarea(props){var _props$label3=props.label,label=_props$label3===void 0?"":_props$label3,_props$placeholder2=props.placeholder,placeholder=_props$placeholder2===void 0?"":_props$placeholder2,_props$value2=props.value,value=_props$value2===void 0?"":_props$value2,className=props.className,_props$isEditable5=props.isEditable,isEditable=_props$isEditable5===void 0?false:_props$isEditable5,rest=_objectWithoutPropertiesLoose(props,_excluded6);var defaultClasses="w-[320px] p-2 border border-gray-300 rounded-md";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:"flex flex-col "+merged},rest,{children:[label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"mb-1",children:label}),/*#__PURE__*/_jsx(Textarea,{placeholder:placeholder,value:value})]}))}export function renderTooltip(props){var _props$triggerContent2=props.triggerContent,triggerContent=_props$triggerContent2===void 0?"Hover here":_props$triggerContent2,_props$tooltipContent=props.tooltipContent,tooltipContent=_props$tooltipContent===void 0?"Tooltip information":_props$tooltipContent,className=props.className,_props$isEditable6=props.isEditable,isEditable=_props$isEditable6===void 0?false:_props$isEditable6,rest=_objectWithoutPropertiesLoose(props,_excluded7);var merged=className||"";return/*#__PURE__*/_jsxs(Tooltip,_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(TooltipTrigger,{asChild:true,children:/*#__PURE__*/_jsx("span",{"data-slot":"triggerContent",contentEditable:isEditable,children:triggerContent})}),/*#__PURE__*/_jsx(TooltipContent,{"data-slot":"tooltipContent",contentEditable:isEditable,children:tooltipContent})]}))}
|
|
2
2
|
//# sourceMappingURL=extra.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extra.js","names":["cn","Checkbox","CircleAlert","HoverCard","HoverCardTrigger","HoverCardContent","Input","Label","Separator","Textarea","Tooltip","TooltipTrigger","TooltipContent","jsx","_jsx","jsxs","_jsxs","renderNoDataFallback","className","children","renderCheckbox","props","_props$label","label","_props$defaultChecked","defaultChecked","_props$isEditable","isEditable","rest","_objectWithoutPropertiesLoose","_excluded","defaultClasses","merged","_extends","contentEditable","renderHoverCard","_props$triggerContent","triggerContent","_props$cardContent","cardContent","_props$isEditable2","_excluded2","asChild","renderInput","_props$label2","_props$placeholder","placeholder","_props$value","value","_props$isEditable3","_excluded3","renderLabel","_props$text","text","_props$isEditable4","_excluded4","renderSeparator","_excluded5","renderTextarea","_props$label3","_props$placeholder2","_props$value2","_props$isEditable5","_excluded6","renderTooltip","_props$triggerContent2","_props$tooltipContent","tooltipContent","_props$isEditable6","_excluded7"],"sources":["../../../src/plugins/helpers/extra.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { JSX } from 'react';\n\nimport { cn } from '../../shadcn/utils';\nimport { Checkbox } from '../../shadcn/components/ui/checkbox';\nimport { CircleAlert } from 'lucide-react';\nimport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n} from '../../shadcn/components/ui/hover-card';\nimport { Input } from '../../shadcn/components/ui/input';\nimport { Label } from '../../shadcn/components/ui/label';\nimport { Separator } from '../../shadcn/components/ui/separator';\nimport { Textarea } from '../../shadcn/components/ui/textarea';\nimport { Tooltip, TooltipTrigger, TooltipContent } from '../../shadcn/components/ui/tooltip';\n\nexport function renderNoDataFallback() {\n return (\n <div className=\"h-full w-full py-16 flex flex-col items-center justify-center px-6 text-center\">\n <CircleAlert className=\"w-12 h-12 text-gray-400 mb-2\" />\n <h3 className=\"text-lg font-medium text-gray-900\">No data available</h3>\n <p className=\"mt-2 text-sm text-gray-500 max-w-md\">\n Check your filters or try a different time range.\n </p>\n </div>\n );\n}\n\nexport function renderCheckbox(props: any): JSX.Element {\n const { label = '', defaultChecked = false, className, isEditable = false, ...rest } = props;\n const defaultClasses = 'flex items-center';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={merged} {...rest}>\n <Checkbox defaultChecked={defaultChecked} />\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"ml-2\">\n {label}\n </Label>\n )}\n </div>\n );\n}\n\nexport function renderHoverCard(props: any): JSX.Element {\n const {\n triggerContent = 'Hover over me',\n cardContent = 'Additional information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] max-w-[320px] shadow rounded-lg';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <HoverCard className={merged} {...rest}>\n <HoverCardTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </HoverCardTrigger>\n <HoverCardContent>\n <div data-slot=\"cardContent\" contentEditable={isEditable}>\n {cardContent}\n </div>\n </HoverCardContent>\n </HoverCard>\n );\n}\n\nexport function renderInput(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Input placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderLabel(props: any): JSX.Element {\n const { text = 'Label', className, isEditable = false, ...rest } = props;\n const defaultClasses = 'text-base font-semibold mb-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <Label data-slot=\"text\" contentEditable={isEditable} className={merged} {...rest}>\n {text}\n </Label>\n );\n}\n\nexport function renderSeparator(props: any): JSX.Element {\n const { className, ...rest } = props;\n const defaultClasses = 'my-4 border-t-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return <Separator className={merged} {...rest} />;\n}\n\nexport function renderTextarea(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Textarea placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderTooltip(props: any): JSX.Element {\n const {\n triggerContent = 'Hover here',\n tooltipContent = 'Tooltip information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const merged = className || '';\n\n return (\n <Tooltip className={merged} {...rest}>\n <TooltipTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </TooltipTrigger>\n <TooltipContent data-slot=\"tooltipContent\" contentEditable={isEditable}>\n {tooltipContent}\n </TooltipContent>\n </Tooltip>\n );\n}\n"],"mappings":"ijBAAA,uDAGA,OAASA,EAAE,KAAQ,oBAAoB,CACvC,OAASC,QAAQ,KAAQ,qCAAqC,CAC9D,OAASC,WAAW,KAAQ,cAAc,CAC1C,OACEC,SAAS,CACTC,gBAAgB,CAChBC,gBAAgB,KACX,uCAAuC,CAC9C,OAASC,KAAK,KAAQ,kCAAkC,CACxD,OAASC,KAAK,KAAQ,kCAAkC,CACxD,OAASC,SAAS,KAAQ,sCAAsC,CAChE,OAASC,QAAQ,KAAQ,qCAAqC,CAC9D,OAASC,OAAO,CAAEC,cAAc,CAAEC,cAAc,KAAQ,oCAAoC,CAAC,OAAAC,GAAA,IAAAC,IAAA,CAAAC,IAAA,IAAAC,KAAA,yBAE7F,MAAO,SAAS,CAAAC,oBAAoBA,CAAA,CAAG,CACrC,mBACED,KAAA,QAAKE,SAAS,CAAC,gFAAgF,CAAAC,QAAA,eAC7FL,IAAA,CAACZ,WAAW,EAACgB,SAAS,CAAC,8BAA8B,CAAE,CAAC,cACxDJ,IAAA,OAAII,SAAS,CAAC,mCAAmC,CAAAC,QAAA,CAAC,mBAAiB,CAAI,CAAC,cACxEL,IAAA,MAAGI,SAAS,CAAC,qCAAqC,CAAAC,QAAA,CAAC,mDAEnD,CAAG,CAAC,EACD,CAET,CAEA,MAAO,SAAS,CAAAC,cAAcA,CAACC,KAAU,CAAe,CACtD,IAAAC,YAAA,CAAuFD,KAAK,CAApFE,KAAK,CAALA,KAAK,CAAAD,YAAA,UAAG,EAAE,CAAAA,YAAA,CAAAE,qBAAA,CAAqEH,KAAK,CAAxEI,cAAc,CAAdA,cAAc,CAAAD,qBAAA,UAAG,KAAK,CAAAA,qBAAA,CAAEN,SAAS,CAAkCG,KAAK,CAAhDH,SAAS,CAAAQ,iBAAA,CAAkCL,KAAK,CAArCM,UAAU,CAAVA,UAAU,CAAAD,iBAAA,UAAG,KAAK,CAAAA,iBAAA,CAAKE,IAAI,CAAAC,6BAAA,CAAKR,KAAK,CAAAS,SAAA,EAC5F,GAAM,CAAAC,cAAc,CAAG,mBAAmB,CAC1C,GAAM,CAAAC,MAAM,CAAGd,SAAS,CAAGlB,EAAE,CAAC+B,cAAc,CAAEb,SAAS,CAAC,CAAGa,cAAc,CAEzE,mBACEf,KAAA,OAAAiB,QAAA,EAAKf,SAAS,CAAEc,MAAO,EAAKJ,IAAI,EAAAT,QAAA,eAC9BL,IAAA,CAACb,QAAQ,EAACwB,cAAc,CAAEA,cAAe,CAAE,CAAC,CAC3CF,KAAK,eACJT,IAAA,CAACP,KAAK,EAAC,YAAU,OAAO,CAAC2B,eAAe,CAAEP,UAAW,CAACT,SAAS,CAAC,MAAM,CAAAC,QAAA,CACnEI,KAAK,CACD,CACR,GACE,CAET,CAEA,MAAO,SAAS,CAAAY,eAAeA,CAACd,KAAU,CAAe,CACvD,IAAAe,qBAAA,CAMIf,KAAK,CALPgB,cAAc,CAAdA,cAAc,CAAAD,qBAAA,UAAG,eAAe,CAAAA,qBAAA,CAAAE,kBAAA,CAK9BjB,KAAK,CAJPkB,WAAW,CAAXA,WAAW,CAAAD,kBAAA,UAAG,wBAAwB,CAAAA,kBAAA,CACtCpB,SAAS,CAGPG,KAAK,CAHPH,SAAS,CAAAsB,kBAAA,CAGPnB,KAAK,CAFPM,UAAU,CAAVA,UAAU,CAAAa,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACfZ,IAAI,CAAAC,6BAAA,CACLR,KAAK,CAAAoB,UAAA,EACT,GAAM,CAAAV,cAAc,CAAG,2CAA2C,CAClE,GAAM,CAAAC,MAAM,CAAGd,SAAS,CAAGlB,EAAE,CAAC+B,cAAc,CAAEb,SAAS,CAAC,CAAGa,cAAc,CAEzE,mBACEf,KAAA,CAACb,SAAS,CAAA8B,QAAA,EAACf,SAAS,CAAEc,MAAO,EAAKJ,IAAI,EAAAT,QAAA,eACpCL,IAAA,CAACV,gBAAgB,EAACsC,OAAO,MAAAvB,QAAA,cACvBL,IAAA,SAAM,YAAU,gBAAgB,CAACoB,eAAe,CAAEP,UAAW,CAAAR,QAAA,CAC1DkB,cAAc,CACX,CAAC,CACS,CAAC,cACnBvB,IAAA,CAACT,gBAAgB,EAAAc,QAAA,cACfL,IAAA,QAAK,YAAU,aAAa,CAACoB,eAAe,CAAEP,UAAW,CAAAR,QAAA,CACtDoB,WAAW,CACT,CAAC,CACU,CAAC,GACV,CAEf,CAEA,MAAO,SAAS,CAAAI,WAAWA,CAACtB,KAAU,CAAe,CACnD,IAAAuB,aAAA,CAOIvB,KAAK,CANPE,KAAK,CAALA,KAAK,CAAAqB,aAAA,UAAG,EAAE,CAAAA,aAAA,CAAAC,kBAAA,CAMRxB,KAAK,CALPyB,WAAW,CAAXA,WAAW,CAAAD,kBAAA,UAAG,EAAE,CAAAA,kBAAA,CAAAE,YAAA,CAKd1B,KAAK,CAJP2B,KAAK,CAALA,KAAK,CAAAD,YAAA,UAAG,EAAE,CAAAA,YAAA,CACV7B,SAAS,CAGPG,KAAK,CAHPH,SAAS,CAAA+B,kBAAA,CAGP5B,KAAK,CAFPM,UAAU,CAAVA,UAAU,CAAAsB,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACfrB,IAAI,CAAAC,6BAAA,CACLR,KAAK,CAAA6B,UAAA,EACT,GAAM,CAAAnB,cAAc,CAAG,iDAAiD,CACxE,GAAM,CAAAC,MAAM,CAAGd,SAAS,CAAGlB,EAAE,CAAC+B,cAAc,CAAEb,SAAS,CAAC,CAAGa,cAAc,CAEzE,mBACEf,KAAA,OAAAiB,QAAA,EAAKf,SAAS,kBAAmBc,MAAS,EAAKJ,IAAI,EAAAT,QAAA,EAChDI,KAAK,eACJT,IAAA,CAACP,KAAK,EAAC,YAAU,OAAO,CAAC2B,eAAe,CAAEP,UAAW,CAACT,SAAS,CAAC,MAAM,CAAAC,QAAA,CACnEI,KAAK,CACD,CACR,cACDT,IAAA,CAACR,KAAK,EAACwC,WAAW,CAAEA,WAAY,CAACE,KAAK,CAAEA,KAAM,CAAE,CAAC,GAC9C,CAET,CAEA,MAAO,SAAS,CAAAG,WAAWA,CAAC9B,KAAU,CAAe,CACnD,IAAA+B,WAAA,CAAmE/B,KAAK,CAAhEgC,IAAI,CAAJA,IAAI,CAAAD,WAAA,UAAG,OAAO,CAAAA,WAAA,CAAElC,SAAS,CAAkCG,KAAK,CAAhDH,SAAS,CAAAoC,kBAAA,CAAkCjC,KAAK,CAArCM,UAAU,CAAVA,UAAU,CAAA2B,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CAAK1B,IAAI,CAAAC,6BAAA,CAAKR,KAAK,CAAAkC,UAAA,EACxE,GAAM,CAAAxB,cAAc,CAAG,8BAA8B,CACrD,GAAM,CAAAC,MAAM,CAAGd,SAAS,CAAGlB,EAAE,CAAC+B,cAAc,CAAEb,SAAS,CAAC,CAAGa,cAAc,CAEzE,mBACEjB,IAAA,CAACP,KAAK,CAAA0B,QAAA,EAAC,YAAU,MAAM,CAACC,eAAe,CAAEP,UAAW,CAACT,SAAS,CAAEc,MAAO,EAAKJ,IAAI,EAAAT,QAAA,CAC7EkC,IAAI,EACA,CAEX,CAEA,MAAO,SAAS,CAAAG,eAAeA,CAACnC,KAAU,CAAe,CACvD,GAAQ,CAAAH,SAAS,CAAcG,KAAK,CAA5BH,SAAS,CAAKU,IAAI,CAAAC,6BAAA,CAAKR,KAAK,CAAAoC,UAAA,EACpC,GAAM,CAAA1B,cAAc,CAAG,iBAAiB,CACxC,GAAM,CAAAC,MAAM,CAAGd,SAAS,CAAGlB,EAAE,CAAC+B,cAAc,CAAEb,SAAS,CAAC,CAAGa,cAAc,CAEzE,mBAAOjB,IAAA,CAACN,SAAS,CAAAyB,QAAA,EAACf,SAAS,CAAEc,MAAO,EAAKJ,IAAI,CAAG,CAClD,CAEA,MAAO,SAAS,CAAA8B,cAAcA,CAACrC,KAAU,CAAe,CACtD,IAAAsC,aAAA,CAOItC,KAAK,CANPE,KAAK,CAALA,KAAK,CAAAoC,aAAA,UAAG,EAAE,CAAAA,aAAA,CAAAC,mBAAA,CAMRvC,KAAK,CALPyB,WAAW,CAAXA,WAAW,CAAAc,mBAAA,UAAG,EAAE,CAAAA,mBAAA,CAAAC,aAAA,CAKdxC,KAAK,CAJP2B,KAAK,CAALA,KAAK,CAAAa,aAAA,UAAG,EAAE,CAAAA,aAAA,CACV3C,SAAS,CAGPG,KAAK,CAHPH,SAAS,CAAA4C,kBAAA,CAGPzC,KAAK,CAFPM,UAAU,CAAVA,UAAU,CAAAmC,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACflC,IAAI,CAAAC,6BAAA,CACLR,KAAK,CAAA0C,UAAA,EACT,GAAM,CAAAhC,cAAc,CAAG,iDAAiD,CACxE,GAAM,CAAAC,MAAM,CAAGd,SAAS,CAAGlB,EAAE,CAAC+B,cAAc,CAAEb,SAAS,CAAC,CAAGa,cAAc,CAEzE,mBACEf,KAAA,OAAAiB,QAAA,EAAKf,SAAS,kBAAmBc,MAAS,EAAKJ,IAAI,EAAAT,QAAA,EAChDI,KAAK,eACJT,IAAA,CAACP,KAAK,EAAC,YAAU,OAAO,CAAC2B,eAAe,CAAEP,UAAW,CAACT,SAAS,CAAC,MAAM,CAAAC,QAAA,CACnEI,KAAK,CACD,CACR,cACDT,IAAA,CAACL,QAAQ,EAACqC,WAAW,CAAEA,WAAY,CAACE,KAAK,CAAEA,KAAM,CAAE,CAAC,GACjD,CAET,CAEA,MAAO,SAAS,CAAAgB,aAAaA,CAAC3C,KAAU,CAAe,CACrD,IAAA4C,sBAAA,CAMI5C,KAAK,CALPgB,cAAc,CAAdA,cAAc,CAAA4B,sBAAA,UAAG,YAAY,CAAAA,sBAAA,CAAAC,qBAAA,CAK3B7C,KAAK,CAJP8C,cAAc,CAAdA,cAAc,CAAAD,qBAAA,UAAG,qBAAqB,CAAAA,qBAAA,CACtChD,SAAS,CAGPG,KAAK,CAHPH,SAAS,CAAAkD,kBAAA,CAGP/C,KAAK,CAFPM,UAAU,CAAVA,UAAU,CAAAyC,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACfxC,IAAI,CAAAC,6BAAA,CACLR,KAAK,CAAAgD,UAAA,EACT,GAAM,CAAArC,MAAM,CAAGd,SAAS,EAAI,EAAE,CAE9B,mBACEF,KAAA,CAACN,OAAO,CAAAuB,QAAA,EAACf,SAAS,CAAEc,MAAO,EAAKJ,IAAI,EAAAT,QAAA,eAClCL,IAAA,CAACH,cAAc,EAAC+B,OAAO,MAAAvB,QAAA,cACrBL,IAAA,SAAM,YAAU,gBAAgB,CAACoB,eAAe,CAAEP,UAAW,CAAAR,QAAA,CAC1DkB,cAAc,CACX,CAAC,CACO,CAAC,cACjBvB,IAAA,CAACF,cAAc,EAAC,YAAU,gBAAgB,CAACsB,eAAe,CAAEP,UAAW,CAAAR,QAAA,CACpEgD,cAAc,CACD,CAAC,GACV,CAEb","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"extra.js","names":["cn","Checkbox","CircleAlert","HoverCard","HoverCardTrigger","HoverCardContent","Input","Label","Separator","Textarea","Tooltip","TooltipTrigger","TooltipContent","jsx","_jsx","jsxs","_jsxs","renderNoDataFallback","className","style","minHeight","children","renderCheckbox","props","_props$label","label","_props$defaultChecked","defaultChecked","_props$isEditable","isEditable","rest","_objectWithoutPropertiesLoose","_excluded","defaultClasses","merged","_extends","contentEditable","renderHoverCard","_props$triggerContent","triggerContent","_props$cardContent","cardContent","_props$isEditable2","_excluded2","asChild","renderInput","_props$label2","_props$placeholder","placeholder","_props$value","value","_props$isEditable3","_excluded3","renderLabel","_props$text","text","_props$isEditable4","_excluded4","renderSeparator","_excluded5","renderTextarea","_props$label3","_props$placeholder2","_props$value2","_props$isEditable5","_excluded6","renderTooltip","_props$triggerContent2","_props$tooltipContent","tooltipContent","_props$isEditable6","_excluded7"],"sources":["../../../src/plugins/helpers/extra.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { JSX } from 'react';\n\nimport { cn } from '../../shadcn/utils';\nimport { Checkbox } from '../../shadcn/components/ui/checkbox';\nimport { CircleAlert } from 'lucide-react';\nimport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n} from '../../shadcn/components/ui/hover-card';\nimport { Input } from '../../shadcn/components/ui/input';\nimport { Label } from '../../shadcn/components/ui/label';\nimport { Separator } from '../../shadcn/components/ui/separator';\nimport { Textarea } from '../../shadcn/components/ui/textarea';\nimport { Tooltip, TooltipTrigger, TooltipContent } from '../../shadcn/components/ui/tooltip';\n\nexport function renderNoDataFallback() {\n return (\n <div className=\"w-full py-8 flex flex-col items-center justify-center px-6 text-center\" style={{ minHeight: '180px' }}>\n <CircleAlert className=\"w-12 h-12 text-gray-400 mb-2\" />\n <h3 className=\"text-lg font-medium text-gray-900\">No data available</h3>\n <p className=\"mt-2 text-sm text-gray-500 max-w-md\">\n Check your filters or try a different time range.\n </p>\n </div>\n );\n}\n\nexport function renderCheckbox(props: any): JSX.Element {\n const { label = '', defaultChecked = false, className, isEditable = false, ...rest } = props;\n const defaultClasses = 'flex items-center';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={merged} {...rest}>\n <Checkbox defaultChecked={defaultChecked} />\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"ml-2\">\n {label}\n </Label>\n )}\n </div>\n );\n}\n\nexport function renderHoverCard(props: any): JSX.Element {\n const {\n triggerContent = 'Hover over me',\n cardContent = 'Additional information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] max-w-[320px] shadow rounded-lg';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <HoverCard className={merged} {...rest}>\n <HoverCardTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </HoverCardTrigger>\n <HoverCardContent>\n <div data-slot=\"cardContent\" contentEditable={isEditable}>\n {cardContent}\n </div>\n </HoverCardContent>\n </HoverCard>\n );\n}\n\nexport function renderInput(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Input placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderLabel(props: any): JSX.Element {\n const { text = 'Label', className, isEditable = false, ...rest } = props;\n const defaultClasses = 'text-base font-semibold mb-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <Label data-slot=\"text\" contentEditable={isEditable} className={merged} {...rest}>\n {text}\n </Label>\n );\n}\n\nexport function renderSeparator(props: any): JSX.Element {\n const { className, ...rest } = props;\n const defaultClasses = 'my-4 border-t-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return <Separator className={merged} {...rest} />;\n}\n\nexport function renderTextarea(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Textarea placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderTooltip(props: any): JSX.Element {\n const {\n triggerContent = 'Hover here',\n tooltipContent = 'Tooltip information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const merged = className || '';\n\n return (\n <Tooltip className={merged} {...rest}>\n <TooltipTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </TooltipTrigger>\n <TooltipContent data-slot=\"tooltipContent\" contentEditable={isEditable}>\n {tooltipContent}\n </TooltipContent>\n </Tooltip>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type QueryDetailsModalProps = {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
isLoading: boolean;
|
|
5
|
+
error: string;
|
|
6
|
+
sqlQuery: string | string[];
|
|
7
|
+
tableButtonExplanations?: Array<{
|
|
8
|
+
action: string;
|
|
9
|
+
explanation: string;
|
|
10
|
+
operationName?: string;
|
|
11
|
+
buttonClassName?: string;
|
|
12
|
+
buttonStyle?: Record<string, unknown>;
|
|
13
|
+
}>;
|
|
14
|
+
onRetry: () => void;
|
|
15
|
+
};
|
|
16
|
+
export declare function QueryDetailsModal({ isOpen, onClose, isLoading, error, sqlQuery, tableButtonExplanations, onRetry }: QueryDetailsModalProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export default QueryDetailsModal;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import _extends from"@babel/runtime/helpers/extends";import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _regeneratorRuntime from"@babel/runtime/regenerator";import React,{useState,useEffect}from"react";import{CustomModal}from"./custom-modal";import{Copy,Check,ChevronDown}from"lucide-react";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";export function QueryDetailsModal(_ref){var isOpen=_ref.isOpen,onClose=_ref.onClose,isLoading=_ref.isLoading,error=_ref.error,sqlQuery=_ref.sqlQuery,_ref$tableButtonExpla=_ref.tableButtonExplanations,tableButtonExplanations=_ref$tableButtonExpla===void 0?[]:_ref$tableButtonExpla,onRetry=_ref.onRetry;var _useState=useState({}),copied=_useState[0],setCopied=_useState[1];var _useState2=useState({}),expandedButtons=_useState2[0],setExpandedButtons=_useState2[1];// Reset expanded state when modal closes
|
|
2
|
+
useEffect(function(){if(!isOpen){setExpandedButtons({})}},[isOpen]);function copyToClipboard(_x,_x2){return _copyToClipboard.apply(this,arguments)}function _copyToClipboard(){_copyToClipboard=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(queryToCopy,copyId){var textToCopy,id;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:textToCopy=queryToCopy;if(!textToCopy){if(Array.isArray(sqlQuery)){textToCopy=sqlQuery.filter(function(q){return q&&typeof q==="string"}).join("\n\n-- Next Query --\n\n")}else if(typeof sqlQuery==="string"){textToCopy=sqlQuery}else{textToCopy=""}}if(textToCopy){_context.next=4;break}return _context.abrupt("return");case 4:id=copyId||"main";_context.prev=5;_context.next=8;return navigator.clipboard.writeText(textToCopy);case 8:setCopied(function(prev){var _extends3;return _extends({},prev,(_extends3={},_extends3[id]=true,_extends3))});setTimeout(function(){return setCopied(function(prev){var _extends4;return _extends({},prev,(_extends4={},_extends4[id]=false,_extends4))})},2000);_context.next=14;break;case 12:_context.prev=12;_context.t0=_context["catch"](5);case 14:case"end":return _context.stop()}},_callee,null,[[5,12]])}));return _copyToClipboard.apply(this,arguments)}function toggleButtonExpansion(buttonIndex){setExpandedButtons(function(prev){var _extends2;return _extends({},prev,(_extends2={},_extends2[buttonIndex]=!prev[buttonIndex],_extends2))})}function renderTableButtonExplanations(){if(!tableButtonExplanations||tableButtonExplanations.length===0){return null}return/*#__PURE__*/_jsx("div",{className:"mb-6",children:tableButtonExplanations.map(function(button,index){var _button$buttonStyle,_button$buttonStyle2,_button$buttonStyle3;return/*#__PURE__*/_jsxs("div",{className:"mb-3 border border-gray-200 rounded-lg",children:[/*#__PURE__*/_jsxs("div",{className:"w-full px-4 py-3 flex items-center justify-between rounded-lg",children:[/*#__PURE__*/_jsx("span",{className:"font-medium text-xs text-gray-500",children:"What does this button do?"}),/*#__PURE__*/_jsxs("div",{className:"flex items-center",children:[/*#__PURE__*/_jsx("button",{onClick:function onClick(){return toggleButtonExpansion(index)},className:button.buttonClassName||"flex items-center px-3 py-1.5 rounded text-xs font-medium",style:_extends({backgroundColor:((_button$buttonStyle=button.buttonStyle)==null?void 0:_button$buttonStyle.backgroundColor)||"#f3f4f6",color:((_button$buttonStyle2=button.buttonStyle)==null?void 0:_button$buttonStyle2.color)||"#374151",border:((_button$buttonStyle3=button.buttonStyle)==null?void 0:_button$buttonStyle3.border)||"1px solid #d1d5db"},button.buttonStyle||{}),children:button.action}),/*#__PURE__*/_jsx(ChevronDown,{className:"ml-2 w-4 h-4 text-gray-500 transition-transform cursor-pointer "+(expandedButtons[index]?"rotate-180":""),onClick:function onClick(){return toggleButtonExpansion(index)}})]})]}),expandedButtons[index]&&/*#__PURE__*/_jsx("div",{className:"px-4 pb-3 border-t border-gray-200",children:/*#__PURE__*/_jsxs("p",{className:"text-xs text-gray-700 mt-2",children:["This button will make a request to ",/*#__PURE__*/_jsx("span",{className:"font-semibold",children:button.explanation})]})})]},index)})})}function renderModalContent(){if(isLoading){return/*#__PURE__*/_jsxs("div",{className:"flex flex-col items-center justify-center py-12",children:[/*#__PURE__*/_jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-purple-600 mb-4"}),/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-600",children:"Fetching query details from semantic layer..."}),/*#__PURE__*/_jsx("span",{className:"text-xs text-gray-400 mt-2",children:"This may take a few moments"})]})}if(error){return/*#__PURE__*/_jsxs("div",{className:"text-red-600 p-4 bg-red-50 rounded-lg border border-red-200 m-6",children:[/*#__PURE__*/_jsx("p",{className:"font-medium mb-2 text-xs",children:"Unable to fetch query details"}),/*#__PURE__*/_jsx("p",{className:"text-xs mb-3",children:error}),/*#__PURE__*/_jsx("button",{onClick:onRetry,className:"px-4 py-2 bg-red-100 hover:bg-red-200 rounded text-xs font-medium transition-colors",type:"button",children:"Retry"})]})}if(!sqlQuery||Array.isArray(sqlQuery)&&sqlQuery.length===0){return/*#__PURE__*/_jsx("div",{className:"text-gray-600 p-6",children:/*#__PURE__*/_jsx("p",{className:"text-xs",children:"No query details available"})})}// Handle multiple queries
|
|
3
|
+
if(Array.isArray(sqlQuery)){return/*#__PURE__*/_jsxs("div",{className:"p-6 space-y-4",children:[sqlQuery.filter(function(query){return query&&typeof query==="string"&&query.trim()}).map(function(query,index){return/*#__PURE__*/_jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4",children:[/*#__PURE__*/_jsxs("div",{className:"flex justify-between items-start mb-3",children:[/*#__PURE__*/_jsx("h3",{className:"font-semibold text-xs text-gray-500 m-0",children:"Query details"}),/*#__PURE__*/_jsx("button",{onClick:function onClick(){return copyToClipboard(query,"query-"+index)},className:"flex items-center gap-2 px-2 py-1 text-xs bg-gray-50 border border-gray-300 rounded hover:bg-gray-100 transition-colors",type:"button",children:copied["query-"+index]?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Check,{className:"w-3 h-3 text-green-600"}),/*#__PURE__*/_jsx("span",{className:"text-green-600",children:"Copied!"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Copy,{className:"w-3 h-3 text-gray-600"}),/*#__PURE__*/_jsx("span",{className:"text-gray-600",children:"Copy"})]})})]}),/*#__PURE__*/_jsx("pre",{className:"whitespace-pre-wrap leading-relaxed text-xs text-gray-700 m-0 p-0",children:query})]},index)}),renderTableButtonExplanations()]})}return/*#__PURE__*/_jsxs("div",{className:"p-6 space-y-4",children:[/*#__PURE__*/_jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4",children:[/*#__PURE__*/_jsxs("div",{className:"flex justify-between items-start mb-3",children:[/*#__PURE__*/_jsx("h3",{className:"font-semibold text-xs text-gray-500 m-0",children:"Query details"}),/*#__PURE__*/_jsx("button",{onClick:function onClick(){return copyToClipboard(undefined,"single")},className:"flex items-center gap-2 px-2 py-1 text-xs bg-gray-50 border border-gray-300 rounded hover:bg-gray-100 transition-colors",type:"button",children:copied.single?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Check,{className:"w-3 h-3 text-green-600"}),/*#__PURE__*/_jsx("span",{className:"text-green-600",children:"Copied!"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Copy,{className:"w-3 h-3 text-gray-600"}),/*#__PURE__*/_jsx("span",{className:"text-gray-600",children:"Copy"})]})})]}),/*#__PURE__*/_jsx("pre",{className:"whitespace-pre-wrap leading-relaxed text-xs text-gray-700 m-0 p-0",children:sqlQuery})]}),renderTableButtonExplanations()]})}return/*#__PURE__*/_jsx(CustomModal,{isOpen:isOpen,onClose:onClose,title:"How was this metric calculated?",children:renderModalContent()})}export default QueryDetailsModal;
|
|
4
|
+
//# sourceMappingURL=query-details-modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-details-modal.js","names":["React","useState","useEffect","CustomModal","Copy","Check","ChevronDown","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","QueryDetailsModal","_ref","isOpen","onClose","isLoading","error","sqlQuery","_ref$tableButtonExpla","tableButtonExplanations","onRetry","_useState","copied","setCopied","_useState2","expandedButtons","setExpandedButtons","copyToClipboard","_x","_x2","_copyToClipboard","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","queryToCopy","copyId","textToCopy","id","wrap","_callee$","_context","prev","next","Array","isArray","filter","q","join","abrupt","navigator","clipboard","writeText","_extends3","_extends","setTimeout","_extends4","t0","stop","toggleButtonExpansion","buttonIndex","_extends2","renderTableButtonExplanations","length","className","children","map","button","index","_button$buttonStyle","_button$buttonStyle2","_button$buttonStyle3","onClick","buttonClassName","style","backgroundColor","buttonStyle","color","border","action","explanation","renderModalContent","type","query","trim","undefined","single","title"],"sources":["../../../src/plugins/helpers/query-details-modal.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { CustomModal } from './custom-modal';\nimport { Copy, Check, ChevronDown } from 'lucide-react';\n\ntype QueryDetailsModalProps = {\n isOpen: boolean;\n onClose: () => void;\n isLoading: boolean;\n error: string;\n sqlQuery: string | string[];\n tableButtonExplanations?: Array<{action: string, explanation: string, operationName?: string, buttonClassName?: string, buttonStyle?: Record<string, unknown>}>;\n onRetry: () => void;\n};\n\nexport function QueryDetailsModal({\n isOpen,\n onClose,\n isLoading,\n error,\n sqlQuery,\n tableButtonExplanations = [],\n onRetry\n}: QueryDetailsModalProps) {\n const [copied, setCopied] = useState<{ [key: string]: boolean }>({});\n const [expandedButtons, setExpandedButtons] = useState<{ [key: string]: boolean }>({});\n\n // Reset expanded state when modal closes\n useEffect(() => {\n if (!isOpen) {\n setExpandedButtons({});\n }\n }, [isOpen]);\n\n async function copyToClipboard(queryToCopy?: string, copyId?: string) {\n let textToCopy = queryToCopy;\n \n if (!textToCopy) {\n if (Array.isArray(sqlQuery)) {\n textToCopy = sqlQuery.filter(q => q && typeof q === 'string').join('\\n\\n-- Next Query --\\n\\n');\n } else if (typeof sqlQuery === 'string') {\n textToCopy = sqlQuery;\n } else {\n textToCopy = '';\n }\n }\n \n if (!textToCopy) {\n return;\n }\n \n const id = copyId || 'main';\n \n try {\n await navigator.clipboard.writeText(textToCopy);\n setCopied(prev => ({ ...prev, [id]: true }));\n setTimeout(() => setCopied(prev => ({ ...prev, [id]: false })), 2000);\n } catch (err) {\n // Silently fail if clipboard API is not available\n }\n }\n\n function toggleButtonExpansion(buttonIndex: number) {\n setExpandedButtons(prev => ({\n ...prev,\n [buttonIndex]: !prev[buttonIndex]\n }));\n }\n\n function renderTableButtonExplanations() {\n if (!tableButtonExplanations || tableButtonExplanations.length === 0) {\n return null;\n }\n\n return (\n <div className=\"mb-6\">\n {tableButtonExplanations.map((button, index) => (\n <div key={index} className=\"mb-3 border border-gray-200 rounded-lg\">\n <div className=\"w-full px-4 py-3 flex items-center justify-between rounded-lg\">\n <span className=\"font-medium text-xs text-gray-500\">\n What does this button do?\n </span>\n <div className=\"flex items-center\">\n <button\n onClick={() => toggleButtonExpansion(index)}\n className={button.buttonClassName || \"flex items-center px-3 py-1.5 rounded text-xs font-medium\"}\n style={{\n backgroundColor: (button.buttonStyle?.backgroundColor as string) || '#f3f4f6',\n color: (button.buttonStyle?.color as string) || '#374151',\n border: (button.buttonStyle?.border as string) || '1px solid #d1d5db',\n ...(button.buttonStyle as React.CSSProperties || {})\n }}\n >\n {button.action}\n </button>\n <ChevronDown \n className={`ml-2 w-4 h-4 text-gray-500 transition-transform cursor-pointer ${\n expandedButtons[index] ? 'rotate-180' : ''\n }`}\n onClick={() => toggleButtonExpansion(index)}\n />\n </div>\n </div>\n \n {expandedButtons[index] && (\n <div className=\"px-4 pb-3 border-t border-gray-200\">\n <p className=\"text-xs text-gray-700 mt-2\">\n This button will make a request to <span className=\"font-semibold\">{button.explanation}</span> \n </p>\n </div>\n )}\n </div>\n ))}\n </div>\n );\n }\n\n function renderModalContent() {\n if (isLoading) {\n return (\n <div className=\"flex flex-col items-center justify-center py-12\">\n <div className=\"animate-spin rounded-full h-12 w-12 border-b-2 border-purple-600 mb-4\"></div>\n <span className=\"text-xs text-gray-600\">Fetching query details from semantic layer...</span>\n <span className=\"text-xs text-gray-400 mt-2\">This may take a few moments</span>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className=\"text-red-600 p-4 bg-red-50 rounded-lg border border-red-200 m-6\">\n <p className=\"font-medium mb-2 text-xs\">Unable to fetch query details</p>\n <p className=\"text-xs mb-3\">{error}</p>\n <button \n onClick={onRetry}\n className=\"px-4 py-2 bg-red-100 hover:bg-red-200 rounded text-xs font-medium transition-colors\"\n type=\"button\"\n >\n Retry\n </button>\n </div>\n );\n }\n\n if (!sqlQuery || (Array.isArray(sqlQuery) && sqlQuery.length === 0)) {\n return (\n <div className=\"text-gray-600 p-6\">\n <p className=\"text-xs\">No query details available</p>\n </div>\n );\n }\n\n // Handle multiple queries\n if (Array.isArray(sqlQuery)) {\n return (\n <div className=\"p-6 space-y-4\">\n {sqlQuery\n .filter(query => query && typeof query === 'string' && query.trim())\n .map((query, index) => (\n <div \n key={index} \n className=\"bg-white border border-gray-200 rounded-lg p-4\"\n >\n <div className=\"flex justify-between items-start mb-3\">\n <h3 className=\"font-semibold text-xs text-gray-500 m-0\">\n Query details\n </h3>\n <button\n onClick={() => copyToClipboard(query, `query-${index}`)}\n className=\"flex items-center gap-2 px-2 py-1 text-xs bg-gray-50 border border-gray-300 rounded hover:bg-gray-100 transition-colors\"\n type=\"button\"\n >\n {copied[`query-${index}`] ? (\n <>\n <Check className=\"w-3 h-3 text-green-600\" />\n <span className=\"text-green-600\">Copied!</span>\n </>\n ) : (\n <>\n <Copy className=\"w-3 h-3 text-gray-600\" />\n <span className=\"text-gray-600\">Copy</span>\n </>\n )}\n </button>\n </div>\n <pre className=\"whitespace-pre-wrap leading-relaxed text-xs text-gray-700 m-0 p-0\">\n {query}\n </pre>\n </div>\n ))}\n {renderTableButtonExplanations()}\n </div>\n );\n }\n\n return (\n <div className=\"p-6 space-y-4\">\n <div className=\"bg-white border border-gray-200 rounded-lg p-4\">\n <div className=\"flex justify-between items-start mb-3\">\n <h3 className=\"font-semibold text-xs text-gray-500 m-0\">\n Query details\n </h3>\n <button\n onClick={() => copyToClipboard(undefined, 'single')}\n className=\"flex items-center gap-2 px-2 py-1 text-xs bg-gray-50 border border-gray-300 rounded hover:bg-gray-100 transition-colors\"\n type=\"button\"\n >\n {copied.single ? (\n <>\n <Check className=\"w-3 h-3 text-green-600\" />\n <span className=\"text-green-600\">Copied!</span>\n </>\n ) : (\n <>\n <Copy className=\"w-3 h-3 text-gray-600\" />\n <span className=\"text-gray-600\">Copy</span>\n </>\n )}\n </button>\n </div>\n <pre className=\"whitespace-pre-wrap leading-relaxed text-xs text-gray-700 m-0 p-0\">\n {sqlQuery}\n </pre>\n </div>\n {renderTableButtonExplanations()}\n </div>\n );\n }\n\n return (\n <CustomModal\n isOpen={isOpen}\n onClose={onClose}\n title=\"How was this metric calculated?\"\n >\n {renderModalContent()}\n </CustomModal>\n );\n}\n\nexport default QueryDetailsModal;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import React from"react";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function QueryLoadingModal(_ref){var isOpen=_ref.isOpen;var thinkingGifBase64="data:image/gif;base64,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";if(!isOpen){return null}return/*#__PURE__*/_jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center p-4",style:{backgroundColor:"rgba(0, 0, 0, 0.3)"},children:/*#__PURE__*/_jsx("div",{className:"bg-white rounded-[16px] shadow-[0px_8px_16px_-4px_rgba(0,0,0,0.1)] w-[481px] h-[258px] flex items-center justify-center p-6",children:/*#__PURE__*/_jsxs("div",{className:"flex flex-col items-center space-y-4",children:[/*#__PURE__*/_jsx("img",{src:thinkingGifBase64,alt:"Thinking...",className:"w-6 h-6"}),/*#__PURE__*/_jsx("h3",{className:"text-xl font-semibold text-[#020D21]",children:"Thinking..."}),/*#__PURE__*/_jsx("p",{className:"text-base font-medium text-[#687387]",children:"Generating query for this component"})]})})})}
|
|
2
|
+
//# sourceMappingURL=query-loading-modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-loading-modal.js","names":["React","jsx","_jsx","jsxs","_jsxs","QueryLoadingModal","_ref","isOpen","thinkingGifBase64","className","style","backgroundColor","children","src","alt"],"sources":["../../../src/plugins/helpers/query-loading-modal.tsx"],"sourcesContent":["import React from 'react';\n\ntype QueryLoadingModalProps = {\n isOpen: boolean;\n}\n\nexport function QueryLoadingModal({ isOpen }: QueryLoadingModalProps) {\n const thinkingGifBase64 = \"data:image/gif;base64,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\";\n\n if (!isOpen) {\n return null;\n }\n\n return (\n <div\n className=\"fixed inset-0 z-[9999] flex items-center justify-center p-4\"\n style={{ backgroundColor: 'rgba(0, 0, 0, 0.3)' }}\n >\n <div className=\"bg-white rounded-[16px] shadow-[0px_8px_16px_-4px_rgba(0,0,0,0.1)] w-[481px] h-[258px] flex items-center justify-center p-6\">\n <div className=\"flex flex-col items-center space-y-4\">\n <img \n src={thinkingGifBase64}\n alt=\"Thinking...\"\n className=\"w-6 h-6\"\n />\n <h3 className=\"text-xl font-semibold text-[#020D21]\">\n Thinking...\n </h3>\n <p className=\"text-base font-medium text-[#687387]\">\n Generating query for this component\n </p>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"AAAA,MAAO,CAAAA,KAAK,KAAM,OAAO,CAAC,OAAAC,GAAA,IAAAC,IAAA,CAAAC,IAAA,IAAAC,KAAA,yBAM1B,MAAO,SAAS,CAAAC,iBAAiBA,CAAAC,IAAA,CAAqC,IAAlC,CAAAC,MAAM,CAAAD,IAAA,CAANC,MAAM,CACxC,GAAM,CAAAC,iBAAiB,CAAG,ojMAAojM,CAE9kM,GAAI,CAACD,MAAM,CAAE,CACX,MAAO,KACT,CAEA,mBACEL,IAAA,QACEO,SAAS,CAAC,6DAA6D,CACvEC,KAAK,CAAE,CAAEC,eAAe,CAAE,oBAAqB,CAAE,CAAAC,QAAA,cAEjDV,IAAA,QAAKO,SAAS,CAAC,6HAA6H,CAAAG,QAAA,cAC1IR,KAAA,QAAKK,SAAS,CAAC,sCAAsC,CAAAG,QAAA,eACnDV,IAAA,QACEW,GAAG,CAAEL,iBAAkB,CACvBM,GAAG,CAAC,aAAa,CACjBL,SAAS,CAAC,SAAS,CACpB,CAAC,cACFP,IAAA,OAAIO,SAAS,CAAC,sCAAsC,CAAAG,QAAA,CAAC,aAErD,CAAI,CAAC,cACLV,IAAA,MAAGO,SAAS,CAAC,sCAAsC,CAAAG,QAAA,CAAC,qCAEpD,CAAG,CAAC,EACD,CAAC,CACH,CAAC,CACH,CAET","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _extends from"@babel/runtime/helpers/extends";import _objectWithoutPropertiesLoose from"@babel/runtime/helpers/objectWithoutPropertiesLoose";var _excluded=["gjsModel"],_excluded2=["isEditable","gjsModel"],_excluded3=["isEditable","gjsModel"],_excluded4=["gjsModel","performInteraction"],_excluded5=["gjsModel"];import _regeneratorRuntime from"@babel/runtime/regenerator";function _createForOfIteratorHelperLoose(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var o=0;return function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}/* eslint-disable no-nested-ternary *//* eslint-disable @typescript-eslint/ban-ts-comment *//* eslint-disable func-style *//* eslint-disable @typescript-eslint/no-empty-function *//* eslint-disable func-names *//* eslint-disable @typescript-eslint/no-explicit-any */import chroma from"chroma-js";import React,{useEffect,useState,useRef}from"react";import{renderNoDataFallback}from"./extra";import{CircleAlert}from"lucide-react";import{theme}from"@peak-ai/ais-components/theme";import Markdown from"markdown-to-jsx";import{
|
|
2
|
-
|
|
3
|
-
import*as domutil from"recharts/lib/util/DOMUtils";import{TooltipButton}from"../../shadcn/components/ui/button";import{Card,CardHeader,CardTitle,CardDescription,CardContent,CardFooter}from"../../shadcn/components/ui/card";import{ChartContainer,ChartTooltip,ChartTooltipContent}from"../../shadcn/components/ui/chart";import{renderFilter}from"../../shadcn/components/ui/filter";import{ScrollArea,ScrollBar}from"../../shadcn/components/ui/scroll-area";import{renderSearch}from"../../shadcn/components/ui/search";import{ChartLoader,CardLoader}from"../../shadcn/components/ui/skeleton";import{Tabs,TabsList,TabsTrigger,TabsContent}from"../../shadcn/components/ui/tabs";import{cn}from"../../shadcn/utils";import{getAffectedComponentsWithLoader}from"../../helpers";import{DataTable}from"./data-table";// Monkey-patching the getOffset function to use iframe's window instead of global one
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _extends from"@babel/runtime/helpers/extends";import _objectWithoutPropertiesLoose from"@babel/runtime/helpers/objectWithoutPropertiesLoose";var _excluded=["isEditable","gjsModel"],_excluded2=["isEditable","gjsModel","performInteraction"],_excluded3=["isEditable","gjsModel","performInteraction"],_excluded4=["isEditable","gjsModel","performInteraction"],_excluded5=["isEditable","gjsModel"];import _regeneratorRuntime from"@babel/runtime/regenerator";function _createForOfIteratorHelperLoose(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var o=0;return function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}/* eslint-disable no-nested-ternary *//* eslint-disable @typescript-eslint/ban-ts-comment *//* eslint-disable func-style *//* eslint-disable @typescript-eslint/no-empty-function *//* eslint-disable func-names *//* eslint-disable @typescript-eslint/no-explicit-any */import chroma from"chroma-js";import React,{useEffect,useState,useRef}from"react";import{renderNoDataFallback}from"./extra";import{CircleAlert,TrendingDown,TrendingUp,ShoppingCart,ChartBarBig,Tag,MapPin}from"lucide-react";import{StyledInfoButton}from"./styled-info-button";import{filterPlaceholders}from"../../helpers/filter-placeholder";import{theme}from"@peak-ai/ais-components/theme";import Markdown from"markdown-to-jsx";import{Bar,BarChart,CartesianGrid,Legend,Line,LineChart,Pie,PieChart,ResponsiveContainer,XAxis,YAxis}from"recharts/lib";// @ts-ignore
|
|
2
|
+
import*as domutil from"recharts/lib/util/DOMUtils";import{TooltipButton}from"../../shadcn/components/ui/button";import{Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle}from"../../shadcn/components/ui/card";import{ChartContainer,ChartTooltip,ChartTooltipContent}from"../../shadcn/components/ui/chart";import{renderFilter}from"../../shadcn/components/ui/filter";import{ScrollArea,ScrollBar}from"../../shadcn/components/ui/scroll-area";import{renderSearch}from"../../shadcn/components/ui/search";import{CardLoader,ChartLoader,MarkdownLoader}from"../../shadcn/components/ui/skeleton";import{Tabs,TabsContent,TabsList,TabsTrigger}from"../../shadcn/components/ui/tabs";import{cn}from"../../shadcn/utils";import{getAffectedComponentsWithLoader}from"../../helpers";import{DataTable}from"./data-table";import{ComponentWrapper}from"../../shadcn/components/ui/error-wrapper";// Monkey-patching the getOffset function to use iframe's window instead of global one
|
|
4
3
|
// REMEMBER TO UDPATE THIS WHEN recharts IS UPGRADED
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";domutil.getOffset=function(el){var html=el.ownerDocument.documentElement;var box={top:0,left:0};if(typeof el.getBoundingClientRect!=="undefined"){box=el.getBoundingClientRect()}var iframe=document.querySelector(".gjs-frame");var iframeWindow=iframe==null?void 0:iframe.contentWindow;return{top:box.top+iframeWindow.pageYOffset-html.clientTop,left:box.left+iframeWindow.pageXOffset-html.clientLeft}};var baseColors=[[theme.colors.Blue_100,theme.colors.Blue_30],[theme.colors.Purpley_100,theme.colors.Purpley_30],[theme.colors.Light_Bluish_Green,"#06601b"],[theme.colors.Wild_Strawberry,"#4d001c"]];var iconMap={"TrendingUp":/*#__PURE__*/_jsx(TrendingUp,{}),"TrendingDown":/*#__PURE__*/_jsx(TrendingDown,{}),"ShoppingCart":/*#__PURE__*/_jsx(ShoppingCart,{}),"Equalizer":/*#__PURE__*/_jsx(ChartBarBig,{}),"Style":/*#__PURE__*/_jsx(Tag,{}),"Place":/*#__PURE__*/_jsx(MapPin,{})};function getIconFromString(iconString){if(!iconString){return null}if(iconMap[iconString]){return iconMap[iconString]}var lowerIconString=iconString.toLowerCase();var matchingKey=Object.keys(iconMap).find(function(key){return key.toLowerCase()===lowerIconString});if(matchingKey){return iconMap[matchingKey]}return null}function getNColors(n){var colors=[];var safeBaseColors=Array.isArray(baseColors)?baseColors:[];for(var _iterator=_createForOfIteratorHelperLoose(safeBaseColors),_step;!(_step=_iterator()).done;){var baseColor=_step.value;// eslint-disable-next-line import/no-named-as-default-member
|
|
6
|
+
colors.push(chroma.scale(baseColor).mode("lab").colors(n))}function getOneColor(existing){var color=null;do{var base=colors[Math.floor(Math.random()*colors.length)];var selectedColorIndex=Math.floor(Math.random()*base.length);color=base[selectedColorIndex]}while(existing.includes(color));return color}var selectedColors=[];for(var i=0;i<n;i++){selectedColors.push(getOneColor(selectedColors))}return selectedColors}/* TODO: Loader remains */export function renderActionCard(props){var _props$isEditable=props.isEditable,isEditable=_props$isEditable===void 0?false:_props$isEditable,gjsModel=props.gjsModel,rest=_objectWithoutPropertiesLoose(props,_excluded);var _useState=useState(_extends({},filterPlaceholders(gjsModel.get("componentProps")),filterPlaceholders(props))),allData=_useState[0],setAllData=_useState[1];var _allData$headerConten=allData.headerContent,headerContent=_allData$headerConten===void 0?"Default action card title":_allData$headerConten,icon=allData.icon,_allData$bodyContent=allData.bodyContent,bodyContent=_allData$bodyContent===void 0?"Default body content. Click to edit.":_allData$bodyContent;var _useState2=useState(_extends({},gjsModel.get("attributes"))),attributes=_useState2[0],setAttributes=_useState2[1];useEffect(function(){gjsModel.on("change:componentProps",function(){setAllData(function(prevData){return _extends({},prevData,gjsModel.get("componentProps"))})})},[]);useEffect(function(){gjsModel.on("change:attributes",function(){setAttributes(_extends({},gjsModel.get("attributes")))})},[]);var defaultClasses="text-black p-4 rounded-lg shadow border flex flex-col h-full";return/*#__PURE__*/_jsx(Card,_extends({className:defaultClasses+" relative",style:{backgroundColor:"#f9f9fe"},isEditable:false,contentEditable:false},rest,{children:/*#__PURE__*/_jsx(CardContent,{className:"p-0",isEditable:false,contentEditable:false,children:/*#__PURE__*/_jsx("div",{className:"px-4 py-3",children:/*#__PURE__*/_jsxs("div",{className:"flex items-start flex-col",children:[/*#__PURE__*/_jsxs("div",{className:"flex items-center justify-between w-full",children:[/*#__PURE__*/_jsx("div",{className:"text-xl font-semibold",children:headerContent}),/*#__PURE__*/_jsx("div",{className:"text-5xl ml-2 flex items-center","aria-hidden":"true",children:getIconFromString(icon)})]}),/*#__PURE__*/_jsx("div",{className:"w-full mt-1",children:attributes.error||allData.error||attributes.isMissing||allData.isMissing||!bodyContent?/*#__PURE__*/_jsxs("span",{className:"flex flex-row items-center px-3 py-2",children:[/*#__PURE__*/_jsx(CircleAlert,{className:"w-3 h-3 text-gray-400 mr-1"}),/*#__PURE__*/_jsx("p",{className:"text-sm text-gray-500 max-w-md text-center",children:"No data available for given filters"})]}):/*#__PURE__*/_jsx("div",{className:"text-base leading-relaxed",children:bodyContent})})]})})})}))}export function renderCard(props){var _props$isEditable2=props.isEditable,isEditable=_props$isEditable2===void 0?false:_props$isEditable2,gjsModel=props.gjsModel,_props$performInterac=props.performInteraction,performInteraction=_props$performInterac===void 0?function(){return Promise.resolve({})}:_props$performInterac,rest=_objectWithoutPropertiesLoose(props,_excluded2);var _useState3=useState(_extends({},filterPlaceholders(gjsModel.get("componentProps")),filterPlaceholders(props))),allData=_useState3[0],setAllData=_useState3[1];var headerContent=allData.headerContent,headerDescription=allData.headerDescription,bodyContent=allData.bodyContent,footerContent=allData.footerContent,footerClass=allData.footerClass,footerIcon=allData.footerIcon,contentMetadata=allData.contentMetadata,contentMetadataClass=allData.contentMetadataClass,className=allData.className;var safeHeaderContent=typeof headerContent==="string"?headerContent:headerContent?JSON.stringify(headerContent):"";var safeHeaderDescription=typeof headerDescription==="string"?headerDescription:headerDescription?JSON.stringify(headerDescription):"";var safeBodyContent=typeof bodyContent==="string"?bodyContent:bodyContent?JSON.stringify(bodyContent):"";var safeFooterContent=typeof footerContent==="string"?footerContent:footerContent?JSON.stringify(footerContent):"";var safeContentMetadata=typeof contentMetadata==="string"?contentMetadata:contentMetadata?JSON.stringify(contentMetadata):"";var _useState4=useState(_extends({},gjsModel.get("attributes"))),attributes=_useState4[0],setAttributes=_useState4[1];useEffect(function(){gjsModel.on("change:componentProps",function(){setAllData(function(prevData){return _extends({},prevData,gjsModel.get("componentProps"))})})},[]);useEffect(function(){gjsModel.on("change:attributes",function(){setAttributes(_extends({},gjsModel.get("attributes")))})},[]);var defaultClasses="bg-white text-black p-4 rounded-lg border flex flex-col h-full shadow-none";var defaultFooterClasses=footerContent?"text-sm bg-pink-50 text-pink-900 shadow-sm":"text-sm";var defaultContentMetadataClasses="text-xs";var mergedCardClassName=className?cn(defaultClasses,className):defaultClasses;var mergedFooterClassName=footerClass?cn(defaultFooterClasses,footerClass):defaultFooterClasses;var mergedContentMetadataClassName=contentMetadataClass?cn(defaultContentMetadataClasses,contentMetadataClass):defaultContentMetadataClasses;function getCardContent(){var hasError=attributes.error||allData.error;var hasMissing=attributes.isMissing||allData.isMissing;var isLoading=(attributes.interactionApiInProgress||attributes.loading)&&!hasError&&!hasMissing;if(isLoading){return/*#__PURE__*/_jsx(CardContent,{children:/*#__PURE__*/_jsx(CardLoader,{})})}return/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(CardHeader,{children:/*#__PURE__*/_jsx("div",{className:"flex items-start justify-between",children:/*#__PURE__*/_jsxs("div",{className:"flex-1",children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"headerContent",contentEditable:isEditable,className:"text-lg",children:safeHeaderContent}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"headerDescription",contentEditable:isEditable,className:"text-sm",children:safeHeaderDescription})]})})}),hasError||hasMissing||!safeBodyContent?/*#__PURE__*/_jsxs("span",{className:"flex flex-row items-center px-3 py-2",children:[/*#__PURE__*/_jsx(CircleAlert,{className:"w-3 h-3 text-gray-400 mr-1"}),/*#__PURE__*/_jsx("p",{className:"text-sm text-gray-500 max-w-md text-center",children:"No data available for given filters"})]}):/*#__PURE__*/_jsxs(CardContent,{"data-slot":"bodyContent",contentEditable:false,className:"flex-grow",children:[/*#__PURE__*/_jsx("div",{className:"text-3xl font-semibold truncate",children:bodyContent}),safeContentMetadata&&/*#__PURE__*/_jsx("div",{className:mergedContentMetadataClassName,style:{color:"#2A44D4"},children:safeContentMetadata})]}),/*#__PURE__*/_jsxs(CardFooter,{"data-slot":"footerContent",contentEditable:isEditable,className:cn(mergedFooterClassName),children:[footerIcon&&typeof footerIcon==="string"&&/*#__PURE__*/_jsx("span",{className:"mr-2","aria-hidden":"true",children:footerIcon}),safeFooterContent||""]})]})}return/*#__PURE__*/_jsxs(Card,_extends({},rest,{className:mergedCardClassName+" relative",children:[getCardContent(),/*#__PURE__*/_jsx(StyledInfoButton,{componentId:gjsModel.get("id"),performInteraction:performInteraction,position:"top-right",isVisible:isEditable})]}))}function renderChartComponent(chartType,data,config){var safeData=Array.isArray(data)?data:[];if(safeData.length===0){return renderNoDataFallback()}switch(chartType){case"pie":return/*#__PURE__*/_jsxs(PieChart,{children:[safeData.length>=20&&/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{hideLabel:true})}),/*#__PURE__*/_jsx(Pie,{data:safeData,dataKey:config.dataKey,nameKey:config.nameKey,innerRadius:60,strokeWidth:10,label:safeData.length<20?function(_ref){var name=_ref.name,percent=_ref.percent;return name+": "+(percent*100).toFixed(0)+"%"}:undefined,labelLine:false})]});case"bar":{config.dataKeys=config.dataKeys||[];var barDataKeys=Array.isArray(config.dataKeys)?config.dataKeys:[];return/*#__PURE__*/_jsxs(BarChart,_extends({data:safeData},config.chartUi,{children:[/*#__PURE__*/_jsx(CartesianGrid,{vertical:false}),/*#__PURE__*/_jsx(XAxis,{dataKey:config.xAxis}),/*#__PURE__*/_jsx(YAxis,{}),/*#__PURE__*/_jsx(Legend,{align:"left",wrapperStyle:{marginLeft:20}}),barDataKeys.map(function(_ref2){var key=_ref2.key,name=_ref2.name,color=_ref2.color;return/*#__PURE__*/_jsx(Bar,{dataKey:key,fill:color!=null?color:"#4caf50",name:name,radius:2},key)}),/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{indicator:"dashed"})})]}))}case"line":{config.dataKeys=config.dataKeys||[];var safeDataKeysLine=Array.isArray(config.dataKeys)?config.dataKeys:[];return/*#__PURE__*/_jsxs(LineChart,_extends({data:safeData},config.chartUi,{children:[/*#__PURE__*/_jsx(CartesianGrid,{vertical:false}),/*#__PURE__*/_jsx(XAxis,{dataKey:config.xAxis}),/*#__PURE__*/_jsx(YAxis,{}),/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{indicator:"dashed"})}),safeDataKeysLine.map(function(_ref3){var key=_ref3.key,name=_ref3.name,color=_ref3.color;return/*#__PURE__*/_jsx(Line,{type:"monotone",dataKey:key,stroke:color!=null?color:"#4caf50",name:name},key)}),/*#__PURE__*/_jsx(Legend,{align:"left"})]}))}default:return/*#__PURE__*/_jsxs(PieChart,{children:[safeData.length>=20&&/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{hideLabel:true})}),/*#__PURE__*/_jsx(Pie,{data:safeData,dataKey:config.dataKey,nameKey:config.nameKey,innerRadius:60,strokeWidth:10,label:safeData.length<20?function(_ref4){var name=_ref4.name,percent=_ref4.percent;return name+": "+(percent*100).toFixed(0)+"%"}:undefined,labelLine:false})]})}}export function renderChart(props){var _props$isEditable3=props.isEditable,isEditable=_props$isEditable3===void 0?false:_props$isEditable3,gjsModel=props.gjsModel,_props$performInterac2=props.performInteraction,performInteraction=_props$performInterac2===void 0?function(){return Promise.resolve({})}:_props$performInterac2,rest=_objectWithoutPropertiesLoose(props,_excluded3);var _useState5=useState(_extends({},filterPlaceholders(gjsModel.get("componentProps")),filterPlaceholders(props))),allData=_useState5[0],setAllData=_useState5[1];var _useState6=useState(_extends({},gjsModel.get("attributes"))),attributes=_useState6[0],setAttributes=_useState6[1];var containerRef=useRef(null);var _useState7=useState(0),containerWidth=_useState7[0],setContainerWidth=_useState7[1];useEffect(function(){var handlePropsChange=function handlePropsChange(){var newProps=gjsModel.get("componentProps");setAllData(function(prevData){return _extends({},prevData,newProps)})};gjsModel.on("change:componentProps",handlePropsChange);return function(){gjsModel.off("change:componentProps",handlePropsChange)}},[gjsModel]);useEffect(function(){var handleAttributesChange=function handleAttributesChange(){var newAttributes=gjsModel.get("attributes");setAttributes(_extends({},newAttributes))};gjsModel.on("change:attributes",handleAttributesChange);return function(){gjsModel.off("change:attributes",handleAttributesChange)}},[gjsModel]);useEffect(function(){var updateContainerWidth=function updateContainerWidth(){if(containerRef.current){setContainerWidth(containerRef.current.offsetWidth)}};updateContainerWidth();window.addEventListener("resize",updateContainerWidth);return function(){return window.removeEventListener("resize",updateContainerWidth)}},[]);var _allData$config=allData.config,config=_allData$config===void 0?{}:_allData$config,_allData$chartType=allData.chartType,chartType=_allData$chartType===void 0?"pie":_allData$chartType,_allData$chartData=allData.chartData,chartData=_allData$chartData===void 0?[]:_allData$chartData,className=allData.className,_allData$title=allData.title,title=_allData$title===void 0?"Title":_allData$title,_allData$subTitle=allData.subTitle,subTitle=_allData$subTitle===void 0?"Subtitle":_allData$subTitle;var defaultClasses="aspect-auto h-[250px] w-full";var mergedClasses=className?cn(defaultClasses,className):defaultClasses;if(chartType==="pie"){var safeChartData=Array.isArray(chartData)?chartData:[];var colors=getNColors(safeChartData.length);for(var i=0;i<safeChartData.length;i++){var data=safeChartData[i];if(!data.fill){data.fill=colors[i]}}}else if(!config.color){var safeBaseColors=Array.isArray(baseColors)?baseColors:[];if(safeBaseColors.length>0){config.color=safeBaseColors[Math.floor(Math.random()*safeBaseColors.length)]}}var width=undefined;var totalDataPoints=0;// Helper function to get responsive config
|
|
7
7
|
var getResponsiveConfig=function getResponsiveConfig(){if(chartType==="bar"&&totalDataPoints>15&&containerWidth>0&&width&&width<=containerWidth){// If chart fits in container, use responsive behavior
|
|
8
|
-
return _extends({},config,{chartUi:{}})}return config};if(chartType==="bar"){totalDataPoints=chartData.length*config.dataKeys.length;if(totalDataPoints>15){width=totalDataPoints*20+config.dataKeys.length*8*chartData.length+chartData.length*15;config.chartUi={barCategoryGap:"10%",width:width}}else{config.chartUi={}}}var chartUi=attributes.interactionApiInProgress?/*#__PURE__*/_jsx(ChartLoader,{}):!chartData?renderNoDataFallback():/*#__PURE__*/_jsx(React.Fragment,{children:chartType==="bar"&&totalDataPoints>15&&config.chartUi&&width&&(containerWidth===0||width>containerWidth)?/*#__PURE__*/_jsx("div",{className:"w-full",children:/*#__PURE__*/_jsxs(ScrollArea,{className:"w-full",children:[/*#__PURE__*/_jsx("div",{style:{minWidth:width+"px",width:"max-content"},children:/*#__PURE__*/_jsx(ResponsiveContainer,{width:width,height:250,children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:config,className:mergedClasses,children:renderChartComponent(chartType,chartData,config)}))})}),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]})}):/*#__PURE__*/_jsx(ResponsiveContainer,{width:"100%",height:250,children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:getResponsiveConfig(),className:mergedClasses,children:renderChartComponent(chartType,chartData,getResponsiveConfig())}))})});return/*#__PURE__*/_jsxs(Card,{className:"shadow border mt-2 mb-2",children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-2xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]}),/*#__PURE__*/_jsx(CardContent,{ref:containerRef,"data-slot":"bodyContent",contentEditable:false,className:"px-6",children:chartUi})]})}export function renderTable(props){var gjsModel=props.gjsModel,_props$performInterac=props.performInteraction,performInteraction=_props$performInterac===void 0?function(){}:_props$performInterac,rest=_objectWithoutPropertiesLoose(props,_excluded4);var _useState8=useState(_extends({},props)),allData=_useState8[0],setAllData=_useState8[1];var cardRef=useRef(null);var _useState9=useState({interactionApiInProgress:false}),attributes=_useState9[0],setAttributes=_useState9[1];var _allData$data=allData.data,data=_allData$data===void 0?[]:_allData$data,_allData$headerMapper=allData.headerMapper,headerMapper=_allData$headerMapper===void 0?{}:_allData$headerMapper,className=allData.className,_allData$isEditable=allData.isEditable,isEditable=_allData$isEditable===void 0?false:_allData$isEditable,_allData$title2=allData.title,title=_allData$title2===void 0?"Title":_allData$title2,_allData$subTitle2=allData.subTitle,subTitle=_allData$subTitle2===void 0?"Subtitle":_allData$subTitle2,_allData$actions=allData.actions,actions=_allData$actions===void 0?[]:_allData$actions,pagination=allData.pagination;var sortConfig=function(_gjsModel$get,_ref6){var _ref5=(_gjsModel$get=gjsModel.get("componentProps"))!=null?_gjsModel$get:{},sortColumn=_ref5.sortColumn,sortDirection=_ref5.sortDirection;return sortColumn&&sortDirection?(_ref6={},_ref6[sortColumn]=sortDirection,_ref6):{}}();useEffect(function(){gjsModel.on("change:componentProps",function(){setAllData(_extends({},gjsModel.get("componentProps")))})},[]);useEffect(function(){gjsModel.on("change:attributes",function(){setAttributes(_extends({},gjsModel.get("attributes")))})},[]);var parsedData=data.map(function(datum){var newData=_extends({},datum);delete newData.id;return newData});function onRowAction(_x,_x2){return _onRowAction.apply(this,arguments)}function _onRowAction(){_onRowAction=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(rowIndex,actionId){var id;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:id=gjsModel.get("id");_context.next=3;return performInteraction({id:actionId,interactionType:"tableButton",payload:{row:data[rowIndex],tableId:id},affectedComponents:[]});case 3:case"end":return _context.stop()}},_callee)}));return _onRowAction.apply(this,arguments)}function onPageChange(_x3,_x4){return _onPageChange.apply(this,arguments)}function _onPageChange(){_onPageChange=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(pageNumber,pageSize){var _gjsModel$get2;var id,_ref7,sortColumn,sortDirection;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:id=gjsModel.get("id");_ref7=(_gjsModel$get2=gjsModel.get("componentProps"))!=null?_gjsModel$get2:{},sortColumn=_ref7.sortColumn,sortDirection=_ref7.sortDirection;_context2.next=4;return performInteraction({id:id,interactionType:"pagination",payload:_extends({pageNumber:pageNumber,pageSize:pageSize},sortColumn&&sortDirection&&{sortColumn:sortColumn,sortDirection:sortDirection}),affectedComponents:getAffectedComponentsWithLoader([id],true)});case 4:case"end":return _context2.stop()}},_callee2)}));return _onPageChange.apply(this,arguments)}function handleSort(_x5,_x6){return _handleSort.apply(this,arguments)}function _handleSort(){_handleSort=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(column,direction){var currentProps,id;return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:currentProps=gjsModel.get("componentProps");id=gjsModel.get("id");gjsModel.set("componentProps",_extends({},currentProps,{sortColumn:direction?column:null,sortDirection:direction}));_context3.next=5;return performInteraction({id:id,interactionType:"tableSort",payload:{sortColumn:direction?column:null,sortDirection:direction,tableId:id},affectedComponents:getAffectedComponentsWithLoader([id],true)});case 5:case"end":return _context3.stop()}},_callee3)}));return _handleSort.apply(this,arguments)}return/*#__PURE__*/_jsxs(Card,{ref:cardRef,className:"shadow border","data-component-type":"table",children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-2xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]}),/*#__PURE__*/_jsx(CardContent,{"data-slot":"bodyContent",contentEditable:false,children:/*#__PURE__*/_jsx(DataTable,{data:parsedData,headerMapper:headerMapper,className:className,isEditable:isEditable,actions:actions,pagination:pagination,isLoading:attributes.interactionApiInProgress,onRowAction:onRowAction,onPageChange:onPageChange,onSort:handleSort,sortConfig:sortConfig,otherProps:rest})})]})}export function renderTab(props){var tabsWidth=200;if(props.tabs.length>4){tabsWidth=150}return/*#__PURE__*/_jsxs(Tabs,{defaultValue:props.defaultValue,children:[/*#__PURE__*/_jsx("div",{className:"text-center mb-4",children:/*#__PURE__*/_jsx(TabsList,{className:"bg-gray-300",children:props.tabs.map(function(tab){return/*#__PURE__*/_jsx(TabsTrigger,{value:tab,className:"text-md w-["+tabsWidth+"px]",children:tab},tab)})})}),props.tabs.map(function(tab){return/*#__PURE__*/_jsx(TabsContent,{value:tab,className:"tabs-content"},tab)})]})}export function renderMarkdown(props){var gjsModel=props.gjsModel,rest=_objectWithoutPropertiesLoose(props,_excluded5);var _useState10=useState(_extends({},props)),allData=_useState10[0],setAllData=_useState10[1];var _useState11=useState({interactionApiInProgress:false}),setAttributes=_useState11[1];useEffect(function(){gjsModel.on("change:componentProps",function(){setAllData(_extends({},gjsModel.get("componentProps")))})},[]);useEffect(function(){gjsModel.on("change:attributes",function(){setAttributes(_extends({},gjsModel.get("attributes")))})},[]);var _useState12=useState(false),isEditing=_useState12[0],setIsEditing=_useState12[1];var editRef=useRef(null);var startEditing=function startEditing(){setIsEditing(true);setTimeout(function(){setupEditor()},0)};var setupEditor=function setupEditor(){if(!editRef.current){return}var editor=editRef.current;editor.innerHTML="";editor.textContent=allData.summaryText;editor.focus()};// Save changes and exit editing mode
|
|
9
|
-
var saveChanges=function saveChanges(){if(!editRef.current){return}var content=editRef.current.innerText||"";setAllData(function(prev){return _extends({},prev,{summaryText:content})});setIsEditing(false);editRef.current.innerHTML=""};var markdownStyles={ul:{props:{className:"list-disc"}},h1:{props:{className:"text-4xl font-bold leading-[4rem]"}},h2:{props:{className:"text-3xl font-bold leading-[3rem]"}},h3:{props:{className:"text-2xl font-bold leading-[2rem]"}},h4:{props:{className:"text-xl font-bold leading-[2.5rem]"}},h5:{props:{className:"text-lg font-bold leading-[2.5rem]"}},h6:{props:{className:"text-base font-bold leading-[2rem]"}}};if(!allData.isEditable){return/*#__PURE__*/_jsxs("div",_extends({className:"px-[1em]"},rest,{children:[/*#__PURE__*/_jsx("h3",{className:"text-
|
|
8
|
+
return _extends({},config,{chartUi:{}})}return config};if(chartType==="bar"){config.dataKeys=config.dataKeys||[];var _safeChartData=Array.isArray(chartData)?chartData:[];var safeDataKeys=Array.isArray(config.dataKeys)?config.dataKeys:[];totalDataPoints=_safeChartData.length*Math.max(1,safeDataKeys.length);if(totalDataPoints>15){width=totalDataPoints*20+safeDataKeys.length*8*_safeChartData.length+_safeChartData.length*15;config.chartUi={barCategoryGap:"10%",width:width}}else{config.chartUi={}}}else if(chartType==="line"){config.dataKeys=config.dataKeys||[];var _safeChartData2=Array.isArray(chartData)?chartData:[];totalDataPoints=_safeChartData2.length;if(totalDataPoints>15){width=Math.max(800,totalDataPoints*20);config.chartUi={width:width}}else{config.chartUi={}}}var hasError=attributes.error||allData.error;var hasMissing=attributes.isMissing||allData.isMissing;var isLoading=(attributes.interactionApiInProgress||attributes.loading)&&!hasError&&!hasMissing;var chartUi=isLoading?/*#__PURE__*/_jsx(ChartLoader,{}):hasError||hasMissing||!chartData?renderNoDataFallback():/*#__PURE__*/_jsx(React.Fragment,{children:(chartType==="bar"||chartType==="line")&&totalDataPoints>15&&width&&(containerWidth===0||width>containerWidth)?/*#__PURE__*/_jsx("div",{className:"w-full h-[250px]",children:/*#__PURE__*/_jsxs(ScrollArea,{className:"w-full h-full",children:[/*#__PURE__*/_jsx("div",{style:{minWidth:width+"px",width:"max-content",height:"250px"},children:/*#__PURE__*/_jsx(ResponsiveContainer,{width:width,height:250,children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:config,className:mergedClasses,children:renderChartComponent(chartType,chartData,config)}))})}),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]})}):/*#__PURE__*/_jsx(ResponsiveContainer,{width:"100%",height:250,children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:getResponsiveConfig(),className:mergedClasses,children:renderChartComponent(chartType,chartData,getResponsiveConfig())}))})});return/*#__PURE__*/_jsxs(Card,{className:"shadow border mt-2 mb-2 relative",children:[/*#__PURE__*/_jsx(CardHeader,{children:/*#__PURE__*/_jsx("div",{className:"flex items-start justify-between",children:/*#__PURE__*/_jsxs("div",{className:"flex-1",children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-2xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]})})}),/*#__PURE__*/_jsx(CardContent,{ref:containerRef,"data-slot":"bodyContent",contentEditable:false,className:"px-6",children:chartUi}),/*#__PURE__*/_jsx(StyledInfoButton,{componentId:gjsModel.get("id"),performInteraction:performInteraction,position:"top-right",isVisible:isEditable})]})}export function renderTable(props){var _props$isEditable4=props.isEditable,isEditable=_props$isEditable4===void 0?false:_props$isEditable4,gjsModel=props.gjsModel,_props$performInterac3=props.performInteraction,performInteraction=_props$performInterac3===void 0?function(){}:_props$performInterac3,rest=_objectWithoutPropertiesLoose(props,_excluded4);var _useState8=useState(_extends({},filterPlaceholders(gjsModel.get("componentProps")),filterPlaceholders(props))),allData=_useState8[0],setAllData=_useState8[1];var cardRef=useRef(null);var _useState9=useState(_extends({},gjsModel.get("attributes"))),attributes=_useState9[0],setAttributes=_useState9[1];var rawData=allData.data,_allData$headerMapper=allData.headerMapper,rawHeaderMapper=_allData$headerMapper===void 0?{}:_allData$headerMapper,className=allData.className,_allData$title2=allData.title,title=_allData$title2===void 0?"Title":_allData$title2,_allData$subTitle2=allData.subTitle,subTitle=_allData$subTitle2===void 0?"Subtitle":_allData$subTitle2,_allData$actions=allData.actions,actions=_allData$actions===void 0?[]:_allData$actions,pagination=allData.pagination;var data=Array.isArray(rawData)?rawData:[];var headerMapper=function(){var cleaned=_extends({},rawHeaderMapper);if("id"in cleaned){delete cleaned.id}if(data.length>0){var dataKeys=Object.keys(data[0]||{});return Object.fromEntries(Object.entries(cleaned).filter(function(_ref5){var key=_ref5[0];return dataKeys.includes(key)}))}return cleaned}();var sortConfig=function(_gjsModel$get,_ref7){var _ref6=(_gjsModel$get=gjsModel.get("componentProps"))!=null?_gjsModel$get:{},sortColumn=_ref6.sortColumn,sortDirection=_ref6.sortDirection;return sortColumn&&sortDirection?(_ref7={},_ref7[sortColumn]=sortDirection,_ref7):{}}();var _useState10=useState(0),viewportWidth=_useState10[0],setViewportWidth=_useState10[1];var _useState11=useState(250),scrollAreaHeight=_useState11[0],setScrollAreaHeight=_useState11[1];var calculateTableHeight=function calculateTableHeight(tableWidth,rowCount){if(viewportWidth>0){var _gjsModel$collection;var widthRatio=tableWidth/viewportWidth;var baseTableHeight=250;var targetScrollAreaHeight=baseTableHeight;if(widthRatio>=0.8){var headerHeight=48;var rowHeight=40;var calculatedHeight=headerHeight+rowCount*rowHeight;targetScrollAreaHeight=Math.min(calculatedHeight,baseTableHeight)}var tableId=gjsModel.get("id");var editor=gjsModel.em||((_gjsModel$collection=gjsModel.collection)==null?void 0:_gjsModel$collection.em);var canvasDocument=editor.Canvas.getDocument()||document;var tableElement=canvasDocument.querySelector("[data-table-id=\""+tableId+"\"]");if(tableElement){var headerElement=tableElement.querySelector("[data-slot=\"card-header\"]");if(headerElement&&headerElement.offsetHeight>0){var actualHeaderHeight=headerElement.offsetHeight;var standardHeaderHeight=58;var heightDifference=actualHeaderHeight-standardHeaderHeight;if(heightDifference>0){targetScrollAreaHeight=targetScrollAreaHeight-heightDifference}}}setScrollAreaHeight(targetScrollAreaHeight)}};useEffect(function(){var updateViewportWidth=function updateViewportWidth(){var iframe=document.querySelector(".gjs-frame");var iframeWindow=iframe==null?void 0:iframe.contentWindow;var iframeDocument=iframeWindow==null?void 0:iframeWindow.document;if(iframeDocument){var dashboardRoot=iframeDocument.getElementById("dashboard-root");var effectiveViewportWidth=(dashboardRoot==null?void 0:dashboardRoot.clientWidth)||iframeDocument.documentElement.clientWidth;setViewportWidth(effectiveViewportWidth)}};updateViewportWidth();window.addEventListener("resize",updateViewportWidth);var iframe=document.querySelector(".gjs-frame");var iframeWindow=iframe==null?void 0:iframe.contentWindow;if(iframeWindow){iframeWindow.addEventListener("resize",updateViewportWidth)}return function(){window.removeEventListener("resize",updateViewportWidth);if(iframeWindow){iframeWindow.removeEventListener("resize",updateViewportWidth)}}},[]);useEffect(function(){var updateTableWidthAndApplyCSS=function updateTableWidthAndApplyCSS(){var _gjsModel$collection2;var tableId=gjsModel.get("id");var editor=gjsModel.em||((_gjsModel$collection2=gjsModel.collection)==null?void 0:_gjsModel$collection2.em);var canvasDocument=editor.Canvas.getDocument()||document;var tableElement=canvasDocument.querySelector("[data-table-id=\""+tableId+"\"]");if(!tableElement&&window.parent!==window){tableElement=window.parent.document.querySelector("[data-table-id=\""+tableId+"\"]")}if(!tableElement){return}var tableActualWidth=tableElement.getBoundingClientRect().width;if(tableActualWidth>0){calculateTableHeight(tableActualWidth,Array.isArray(data)?data.length:0)}};var timeoutId=setTimeout(updateTableWidthAndApplyCSS,150);window.addEventListener("resize",updateTableWidthAndApplyCSS);return function(){clearTimeout(timeoutId);window.removeEventListener("resize",updateTableWidthAndApplyCSS)}},[allData,gjsModel,viewportWidth,data,calculateTableHeight]);useEffect(function(){gjsModel.on("change:componentProps",function(){setAllData(function(prevData){return _extends({},prevData,gjsModel.get("componentProps"))})})},[]);useEffect(function(){gjsModel.on("change:attributes",function(){setAttributes(_extends({},gjsModel.get("attributes")))})},[]);var parsedData=function(){if(typeof data==="object"&&data!==null&&!Array.isArray(data)&&data.name==="__peak_placeholder"){return[]}if(!Array.isArray(data)){return[]}return data.map(function(datum){var newData=_extends({},datum);delete newData.id;return newData})}();function onRowAction(_x,_x2){return _onRowAction.apply(this,arguments)}function _onRowAction(){_onRowAction=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(rowIndex,actionId){var id;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:id=gjsModel.get("id");_context.next=3;return performInteraction({id:actionId,interactionType:"tableButton",payload:{row:data[rowIndex],tableId:id},affectedComponents:[]});case 3:case"end":return _context.stop()}},_callee)}));return _onRowAction.apply(this,arguments)}function onPageChange(_x3,_x4){return _onPageChange.apply(this,arguments)}function _onPageChange(){_onPageChange=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(pageNumber,pageSize){var _gjsModel$get2;var id,_ref8,sortColumn,sortDirection;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:id=gjsModel.get("id");_ref8=(_gjsModel$get2=gjsModel.get("componentProps"))!=null?_gjsModel$get2:{},sortColumn=_ref8.sortColumn,sortDirection=_ref8.sortDirection;_context2.next=4;return performInteraction({id:id,interactionType:"pagination",payload:_extends({pageNumber:pageNumber,pageSize:pageSize},sortColumn&&sortDirection&&{sortColumn:sortColumn,sortDirection:sortDirection}),affectedComponents:getAffectedComponentsWithLoader([id],true)});case 4:case"end":return _context2.stop()}},_callee2)}));return _onPageChange.apply(this,arguments)}function handleSort(_x5,_x6){return _handleSort.apply(this,arguments)}function _handleSort(){_handleSort=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(column,direction){var currentProps,id;return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:currentProps=gjsModel.get("componentProps");id=gjsModel.get("id");gjsModel.set("componentProps",_extends({},currentProps,{sortColumn:direction?column:null,sortDirection:direction}));_context3.next=5;return performInteraction({id:id,interactionType:"tableSort",payload:{sortColumn:direction?column:null,sortDirection:direction,tableId:id},affectedComponents:getAffectedComponentsWithLoader([id],true)});case 5:case"end":return _context3.stop()}},_callee3)}));return _handleSort.apply(this,arguments)}return/*#__PURE__*/_jsxs(Card,{ref:cardRef,className:"shadow border relative flex flex-col h-fit overflow-hidden","data-component-type":"table","data-table-id":gjsModel.get("id"),children:[/*#__PURE__*/_jsx(CardHeader,{children:/*#__PURE__*/_jsx("div",{className:"flex items-start justify-between",children:/*#__PURE__*/_jsxs("div",{className:"flex-1",children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-2xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]})})}),/*#__PURE__*/_jsx(CardContent,{"data-slot":"bodyContent",contentEditable:false,className:"flex-1 flex flex-col overflow-hidden",children:attributes.error||allData.error||attributes.isMissing||allData.isMissing?renderNoDataFallback():/*#__PURE__*/_jsx(DataTable,{data:parsedData,headerMapper:headerMapper,className:className,isEditable:isEditable,actions:actions,pagination:pagination,isLoading:attributes.interactionApiInProgress,onRowAction:onRowAction,onPageChange:onPageChange,onSort:handleSort,sortConfig:sortConfig,otherProps:rest,height:scrollAreaHeight})}),/*#__PURE__*/_jsx(StyledInfoButton,{componentId:gjsModel.get("id"),performInteraction:performInteraction,position:"top-right",tableActions:actions,firstRowData:Array.isArray(data)&&data.length>0?data[0]:{},isVisible:isEditable})]})}export function renderTab(props){var tabsWidth=157;var safeTabs=Array.isArray(props.tabs)?props.tabs:[];var showFallback=safeTabs.length===0;if(safeTabs.length>4){tabsWidth=157}var defaultValue=props.defaultValue||(safeTabs.length>0?safeTabs[0]:undefined);return/*#__PURE__*/_jsxs(Tabs,{defaultValue:defaultValue,children:[/*#__PURE__*/_jsx("div",{className:"text-center mb-4",children:/*#__PURE__*/_jsx(TabsList,{className:"bg-[#F9F9FE] border border-[#D4D5DE] p-1 rounded-lg h-auto",children:safeTabs.length>0?safeTabs.map(function(tab){return/*#__PURE__*/_jsx(TabsTrigger,{value:tab,className:"\n w-["+tabsWidth+"px] h-[38px] gap-1 px-3 py-[11px]\n font-medium text-sm leading-4\n border-0 bg-[#F9F9FE] text-[#687387] rounded-none\n data-[state=active]:border data-[state=active]:border-solid data-[state=active]:border-[#2A44D4] data-[state=active]:bg-[#EAECFB] data-[state=active]:text-[#263DBF] data-[state=active]:shadow-none data-[state=active]:rounded-md\n transition-all duration-200\n ",style:{fontFamily:"Helvetica Neue",fontWeight:500,fontSize:"14px",lineHeight:"16px",letterSpacing:"0%"},children:tab},tab)}):/*#__PURE__*/_jsx(TabsTrigger,{value:"no-data",className:"\n w-["+tabsWidth+"px] h-[38px] gap-1 px-3 py-[11px]\n font-medium text-sm leading-4\n border-0 bg-[#F9F9FE] text-[#687387] rounded-none\n data-[state=active]:border data-[state=active]:border-solid data-[state=active]:border-[#2A44D4] data-[state=active]:bg-[#EAECFB] data-[state=active]:text-[#263DBF] data-[state=active]:shadow-none data-[state=active]:rounded-md\n transition-all duration-200\n ",style:{fontFamily:"Helvetica Neue",fontWeight:500,fontSize:"14px",lineHeight:"16px",letterSpacing:"0%"},disabled:true,children:"No tabs"})})}),showFallback?/*#__PURE__*/_jsx(TabsContent,{value:defaultValue||"no-data",className:"tabs-content","data-fallback":"true",children:renderNoDataFallback()}):safeTabs.map(function(tab){return/*#__PURE__*/_jsx(TabsContent,{value:tab,className:"tabs-content"},tab)})]})}export function renderMarkdown(props){var _props$isEditable5=props.isEditable,isEditable=_props$isEditable5===void 0?false:_props$isEditable5,gjsModel=props.gjsModel,rest=_objectWithoutPropertiesLoose(props,_excluded5);var _useState12=useState(_extends({},filterPlaceholders(gjsModel.get("componentProps")),filterPlaceholders(props))),allData=_useState12[0],setAllData=_useState12[1];var _useState13=useState(_extends({},gjsModel.get("attributes"))),attributes=_useState13[0],setAttributes=_useState13[1];useEffect(function(){gjsModel.on("change:componentProps",function(){setAllData(function(prevData){return _extends({},prevData,gjsModel.get("componentProps"))})})},[]);useEffect(function(){gjsModel.on("change:attributes",function(){setAttributes(_extends({},gjsModel.get("attributes")))})},[]);var _useState14=useState(false),isEditing=_useState14[0],setIsEditing=_useState14[1];var editRef=useRef(null);var startEditing=function startEditing(){setIsEditing(true);setTimeout(function(){setupEditor()},0)};var setupEditor=function setupEditor(){if(!editRef.current){return}var editor=editRef.current;editor.innerHTML="";editor.textContent=allData.summaryText;editor.focus()};// Save changes and exit editing mode
|
|
9
|
+
var saveChanges=function saveChanges(){if(!editRef.current){return}var content=editRef.current.innerText||"";setAllData(function(prev){return _extends({},prev,{summaryText:content})});setIsEditing(false);editRef.current.innerHTML=""};var markdownStyles={ul:{props:{className:"list-disc"}},h1:{props:{className:"text-4xl font-bold leading-[4rem]"}},h2:{props:{className:"text-3xl font-bold leading-[3rem]"}},h3:{props:{className:"text-2xl font-bold leading-[2rem]"}},h4:{props:{className:"text-xl font-bold leading-[2.5rem]"}},h5:{props:{className:"text-lg font-bold leading-[2.5rem]"}},h6:{props:{className:"text-base font-bold leading-[2rem]"}}};var hasError=attributes.error||allData.error;var hasMissing=attributes.isMissing||allData.isMissing;var isLoading=attributes.loading&&!hasError&&!hasMissing;if(isLoading){return/*#__PURE__*/_jsx(MarkdownLoader,{})}if(hasError||hasMissing){return/*#__PURE__*/_jsxs("div",_extends({className:"px-[1em] relative"},rest,{children:[/*#__PURE__*/_jsx("h3",{className:"text-xl font-semibold text-left",children:"Insights"}),/*#__PURE__*/_jsxs("div",{className:"w-full py-8 flex flex-col items-center justify-center px-6 text-center",style:{minHeight:"180px"},children:[/*#__PURE__*/_jsx(CircleAlert,{className:"w-12 h-12 text-gray-400 mb-2"}),/*#__PURE__*/_jsx("h3",{className:"text-lg font-medium text-gray-900",children:"No data available"}),/*#__PURE__*/_jsx("p",{className:"mt-2 text-sm text-gray-500 max-w-md",children:"Check your filters or try a different time range."})]}),/*#__PURE__*/_jsx(StyledInfoButton,{componentId:gjsModel.get("id"),performInteraction:props.performInteraction,position:"top-right",isVisible:isEditable})]}))}if(!allData.isEditable){return/*#__PURE__*/_jsxs("div",_extends({className:"px-[1em] relative"},rest,{children:[/*#__PURE__*/_jsx("h3",{className:"text-xl font-semibold text-left",children:"Insights"}),/*#__PURE__*/_jsx("div",{"data-slot":"summaryText",children:/*#__PURE__*/_jsx(Markdown,{options:{overrides:markdownStyles},children:allData.summaryText})}),/*#__PURE__*/_jsx(StyledInfoButton,{componentId:gjsModel.get("id"),performInteraction:props.performInteraction,position:"top-right",isVisible:isEditable})]}))}return/*#__PURE__*/_jsxs("div",_extends({className:"p-[1em] relative"},rest,{children:[/*#__PURE__*/_jsx("h3",{className:"text-xl font-semibold text-left",children:"Insights"}),isEditing?/*#__PURE__*/_jsx("div",{ref:editRef,contentEditable:true,onBlur:saveChanges,"data-slot":"summaryText",className:"p-2 min-h-[100px] whitespace-pre-wrap",suppressContentEditableWarning:true,style:{whiteSpace:"pre-wrap",wordWrap:"break-word"}}):/*#__PURE__*/_jsx("div",{onClick:startEditing,"data-slot":"summaryText",style:{whiteSpace:"pre-wrap",wordWrap:"break-word"},children:/*#__PURE__*/_jsx(Markdown,{options:{overrides:markdownStyles},children:allData.summaryText})}),/*#__PURE__*/_jsx(StyledInfoButton,{componentId:gjsModel.get("id"),performInteraction:props.performInteraction,position:"top-right",isVisible:isEditable})]}))}export function renderButton(props){var _props$isEditable6=props.isEditable,isEditable=_props$isEditable6===void 0?false:_props$isEditable6,gjsModel=props.gjsModel,_props$performInterac4=props.performInteraction,performInteraction=_props$performInterac4===void 0?function(){}:_props$performInterac4;var _useState15=useState(_extends({},props)),allData=_useState15[0],setAllData=_useState15[1];var _useState16=useState(_extends({},gjsModel.get("attributes"))),attributes=_useState16[0],setAttributes=_useState16[1];useEffect(function(){gjsModel.on("change:componentProps",function(){setAllData(_extends({},gjsModel.get("componentProps")))})},[]);useEffect(function(){gjsModel.on("change:attributes",function(){setAttributes(_extends({},gjsModel.get("attributes")))})},[]);var text=allData.text,className=allData.className,payload=allData.payload,_allData$variant=allData.variant,variant=_allData$variant===void 0?"default":_allData$variant,_allData$size=allData.size,size=_allData$size===void 0?"sm":_allData$size,affectedComponents=allData.affectedComponents,tooltipContent=allData.tooltipContent;function interact(){var id=gjsModel.get("id");performInteraction({id:id,interactionType:"button",affectedComponents:getAffectedComponentsWithLoader([id].concat(affectedComponents),true),payload:payload})}return/*#__PURE__*/_jsx(TooltipButton,{className:className,isEditable:isEditable,interact:interact,attributes:attributes,variant:variant,size:size,text:text,tooltipContent:tooltipContent})}var renderActionCardWithWrapper=function renderActionCardWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"ActionCard"}),children:renderActionCard(props)})};var renderButtonWithWrapper=function renderButtonWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Button"}),children:renderButton(props)})};var renderCardWithWrapper=function renderCardWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Card"}),children:renderCard(props)})};var renderChartWithWrapper=function renderChartWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Chart"}),children:renderChart(props)})};var renderFilterWithWrapper=function renderFilterWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Filter"}),children:renderFilter(props)})};var renderMarkdownWithWrapper=function renderMarkdownWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Markdown"}),children:renderMarkdown(props)})};var renderSearchWithWrapper=function renderSearchWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Search"}),children:renderSearch(props)})};var renderTableWithWrapper=function renderTableWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Table"}),children:renderTable(props)})};var renderTabWithWrapper=function renderTabWithWrapper(props){return/*#__PURE__*/_jsx(ComponentWrapper,{componentProps:_extends({},props,{componentType:"Tabs"}),children:renderTab(props)})};export function getRenderers(){return{ActionCard:renderActionCardWithWrapper,Button:renderButtonWithWrapper,Card:renderCardWithWrapper,Chart:renderChartWithWrapper,Filter:renderFilterWithWrapper,Markdown:renderMarkdownWithWrapper,Search:renderSearchWithWrapper,Table:renderTableWithWrapper,Tabs:renderTabWithWrapper}}
|
|
10
10
|
//# sourceMappingURL=render-components.js.map
|