globuswebcomponents 2.10.3 → 2.10.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/gb-avatar_44.cjs.entry.js +85 -136
- package/dist/cjs/gb-toast.cjs.entry.js +3 -1
- package/dist/cjs/gb-toast.entry.cjs.js.map +1 -1
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/gb-table/gb-table.js +91 -141
- package/dist/collection/components/gb-table/gb-table.js.map +1 -1
- package/dist/collection/components/gb-toast/gb-toast.js +3 -1
- package/dist/collection/components/gb-toast/gb-toast.js.map +1 -1
- package/dist/components/gb-table.js +87 -137
- package/dist/components/gb-table.js.map +1 -1
- package/dist/components/gb-toast.js +3 -1
- package/dist/components/gb-toast.js.map +1 -1
- package/dist/docs.json +10 -16
- package/dist/esm/gb-avatar_44.entry.js +85 -136
- package/dist/esm/gb-toast.entry.js +3 -1
- package/dist/esm/gb-toast.entry.js.map +1 -1
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/globuscomponents/gb-toast.entry.esm.js.map +1 -1
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/{p-ed3682f7.entry.js → p-2c6570a9.entry.js} +2 -2
- package/dist/globuscomponents/p-2c6570a9.entry.js.map +1 -0
- package/dist/globuscomponents/{p-eb087176.entry.js → p-f3bd7944.entry.js} +2 -2
- package/dist/globuscomponents/p-f3bd7944.entry.js.map +1 -0
- package/dist/types/components/gb-table/gb-table.d.ts +1 -0
- package/dist/types/components.d.ts +8 -14
- package/package.json +3 -2
- package/dist/globuscomponents/p-eb087176.entry.js.map +0 -1
- package/dist/globuscomponents/p-ed3682f7.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gb-table.js","sourceRoot":"","sources":["../../../src/components/gb-table/gb-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Prop, State, h, Fragment, Watch, Listen } from '@stencil/core';\r\nimport {\r\n DropdownOption,\r\n FileIconStyles,\r\n FileIconTypes,\r\n FilterConfig,\r\n GeneralColors,\r\n GeneralSizes,\r\n IllustrationTypes,\r\n RowAction,\r\n StateEnum,\r\n StateType,\r\n TableColumn,\r\n ThemeTypes,\r\n} from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-table',\r\n styleUrl: 'gb-table.css',\r\n shadow: true,\r\n})\r\nexport class GbTable {\r\n @Prop() loading: boolean = false;\r\n @Prop() columns: TableColumn[] = [\r\n { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },\r\n { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, supportingText: row => row.role, mobile: { position: 'top_right' } },\r\n { key: 'role', label: 'Role' },\r\n { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number' },\r\n {\r\n key: 'status',\r\n label: 'Status',\r\n cellComponent: 'gb-badge',\r\n cellProps: row => ({ color: row.status === 'Completed' ? 'success' : 'error', type: 'badge_modern', size: 'sm', icon: 'dot' }),\r\n cellSlots: {\r\n default: {\r\n tag: 'p',\r\n content: row => row.status,\r\n },\r\n },\r\n },\r\n ];\r\n @Prop() data: any[] = [\r\n // {\r\n // id: '#30011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',\r\n // date: 'Jan 1, 2022',\r\n // name: 'Emma Johnson',\r\n // role: 'Frontend Developer',\r\n // level: 'Today',\r\n // customer: 'John Doe',\r\n // amount: '$120.00',\r\n // status: 'Completed',\r\n // },\r\n // { id: '#3002', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: new Date(), name: 'Liam Smith', role: 'Frontend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3004', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3005', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3006', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },\r\n { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },\r\n { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },\r\n { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },\r\n { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },\r\n { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },\r\n { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },\r\n { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },\r\n { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },\r\n { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },\r\n { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },\r\n { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },\r\n { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },\r\n { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },\r\n { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },\r\n { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },\r\n { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },\r\n { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },\r\n { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },\r\n { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },\r\n { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },\r\n { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },\r\n { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },\r\n { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },\r\n { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },\r\n { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },\r\n { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },\r\n { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },\r\n ];\r\n @Prop() tableHeaderConfig: {\r\n tableHeading?: boolean;\r\n tableHeadingLabel?: string;\r\n showDateFilter?: boolean;\r\n showFilter?: boolean;\r\n showColumnOptions?: boolean;\r\n showSearch?: boolean;\r\n showExport?: boolean;\r\n showRefreshButton?: boolean;\r\n showEntireData?: boolean;\r\n showLayoutToggle?: boolean;\r\n filterState?: 'default' | 'applied';\r\n filterCount?: number;\r\n exportButtonState?: 'default' | 'disabled';\r\n pdfState?: 'default' | 'disabled';\r\n csvState?: 'default' | 'disabled';\r\n datePickerMode?: 'single' | 'range';\r\n inputPlaceholder?: string;\r\n datePickerPlaceholder?: string;\r\n } = {\r\n tableHeading: false,\r\n tableHeadingLabel: 'Suspicious outflows',\r\n showDateFilter: true,\r\n showFilter: true,\r\n showColumnOptions: true,\r\n showSearch: true,\r\n showExport: true,\r\n showRefreshButton: false,\r\n datePickerMode: 'range',\r\n inputPlaceholder: 'Transaction reference',\r\n };\r\n @Prop() paginationConfig: {\r\n paginationMode: 'internal' | 'external';\r\n entriesDropdownMenuPosition: 'top' | 'bottom';\r\n currentPage?: number;\r\n pageSize?: number;\r\n totalItems?: number;\r\n } = {\r\n paginationMode: 'internal',\r\n entriesDropdownMenuPosition: 'top',\r\n currentPage: 1,\r\n pageSize: 10,\r\n };\r\n @Prop() emptyStateConfig: {\r\n size: GeneralSizes;\r\n mainText: string;\r\n supportingText?: string;\r\n color?: GeneralColors;\r\n illustrationIcon?: string;\r\n illustrationStyle: IllustrationTypes;\r\n background: boolean;\r\n backgroundType: 'grid' | 'circles';\r\n theme?: ThemeTypes;\r\n primaryButtonState?: StateType;\r\n primaryButtonIconLeadingSwap?: string;\r\n primaryButtonIconTrailingSwap?: string;\r\n secondaryButtonIconLeadingSwap?: string;\r\n secondaryButtonIconTrailingSwap?: string;\r\n primaryButtonText?: string;\r\n secondaryButtonText?: string;\r\n fileStyle?: FileIconStyles;\r\n fileType?: FileIconTypes;\r\n featuredIconSwap?: string;\r\n } = {\r\n size: 'md',\r\n background: true,\r\n backgroundType: 'grid',\r\n mainText: 'No data available',\r\n supportingText: 'Try adjusting your filters or check back later.',\r\n color: 'gray',\r\n illustrationIcon: 'assets/alert-circle.svg',\r\n illustrationStyle: 'box',\r\n theme: 'light',\r\n };\r\n @Prop() filterConfig: FilterConfig = {\r\n title: 'Filter',\r\n enableDateRange: true,\r\n showClearButton: true,\r\n additionalFields: [\r\n {\r\n tag: 'gb-input-dropdown',\r\n key: 'approvalStatus',\r\n event: 'dropdownItemSelected',\r\n props: {\r\n type: 'default',\r\n showLabel: true,\r\n label: 'Approval status',\r\n placeholder: 'Select approval status',\r\n items: ['Draft', 'Pending', 'Approved', 'Rejected'],\r\n destructive: false,\r\n },\r\n default: {\r\n value: [],\r\n },\r\n },\r\n {\r\n tag: 'gb-slider',\r\n key: 'amountRange',\r\n event: 'thumbValueChanged',\r\n props: {\r\n showHeading: true,\r\n heading: 'Amount range',\r\n },\r\n default: {\r\n leftControl: 50,\r\n rightControl: 100,\r\n },\r\n },\r\n {\r\n tag: 'gb-input-dropdown',\r\n key: 'disbursementStatus',\r\n event: 'dropdownItemSelected',\r\n props: {\r\n type: 'default',\r\n showLabel: true,\r\n label: 'Disbursement status',\r\n placeholder: 'Select disbursement status',\r\n items: ['Disbursed', 'Not Disbursed'],\r\n },\r\n },\r\n // {\r\n // tag: 'gb-input-dropdown',\r\n // key: 'facilityCategory',\r\n // props: {\r\n // showLabel: true,\r\n // label: 'Facility category',\r\n // placeholder: 'Select facility category',\r\n // items: ['Retail', 'Commercial', 'Corporate'],\r\n // },\r\n // },\r\n ],\r\n initialValues: {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n },\r\n };\r\n @Prop() showActionsColumn: boolean = true;\r\n @Prop() rowActions: RowAction[] = [\r\n { label: '', action: '', icon: 'assets/more-horizontal.svg', type: 'dropdown' },\r\n { label: 'View Details', action: 'view_details', icon: 'assets/view.svg', type: 'button' },\r\n { label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', type: 'button' },\r\n ];\r\n @Prop() dropdownOptions?: DropdownOption[] = [\r\n { label: 'View', action: 'view', icon: 'assets/view.svg', disabled: false },\r\n { label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', disabled: false },\r\n { label: 'Delete', action: 'delete', icon: 'assets/delete-02.svg', disabled: true },\r\n ];\r\n @Prop() stickyFirstColumn: boolean = false;\r\n @Prop() stickyLastColumn: boolean = false;\r\n @Prop() actionsType: 'none' | 'dropdown' | '' = 'none';\r\n @Prop() showCheckbox: boolean = false;\r\n @Prop() tableHeadColor: 'gray' | 'blue' = 'gray';\r\n @Prop() rowKey: string | ((row: any) => string) = 'id';\r\n @State() internalCurrentPage: number = 1;\r\n @State() internalPageSize: number = 10;\r\n @State() openRowIndex: number | null = null;\r\n @State() dropdownPlacement: 'top-end' | 'bottom-end' = 'bottom-end';\r\n @State() sortKey?: string;\r\n @State() sortDirection: 'asc' | 'desc' = 'asc';\r\n @State() selectedRowIds: Set<string> = new Set();\r\n @State() breakpoint: 'mobile' | 'desktop' = 'desktop';\r\n @State() isMobile: boolean = false;\r\n @State() isScrollable: boolean = false;\r\n @State() showColumnsPanel = false;\r\n @State() showFilterModal = false;\r\n @State() internalColumns: TableColumn[];\r\n @State() modalPosition = { x: 0, y: 0 };\r\n @State() showFilterModalInternal: boolean = false;\r\n @State() isFilterModalVisible: boolean = false;\r\n @State() internalLoading: boolean = false;\r\n @Event() rowActionClicked: EventEmitter<{ action: string; row: any }>;\r\n @Event() pageItemSelected: EventEmitter<{ pageSize: any; pageNumber: number }>;\r\n @Event() selectionChanged: EventEmitter<any[]>;\r\n @Event() inputValueChanged: EventEmitter<void>;\r\n @Event() dateChange: EventEmitter<string | string[]>;\r\n @Event() exportClicked: EventEmitter<{ dataType: string; exportType: string }>;\r\n @Event() rowClicked: EventEmitter<{ row: any }>;\r\n @Event() applyFilters: EventEmitter<{\r\n filters: any;\r\n pagination: any;\r\n }>;\r\n\r\n private isDraggingModal = false;\r\n private dragOffset = { x: 0, y: 0 };\r\n private actionButtonRefs: HTMLGbButtonElement[] = [];\r\n private currentAnchorEl?: HTMLElement;\r\n private scrollContainer?: HTMLDivElement;\r\n private draggedIndex: number | null = null;\r\n private dropdownRef: HTMLDivElement;\r\n\r\n componentWillLoad() {\r\n this.initializeColumns(this.columns);\r\n\r\n this.internalLoading = this.loading;\r\n }\r\n\r\n componentWillRender() {\r\n this.checkViewport();\r\n window.addEventListener('resize', this.checkViewport.bind(this));\r\n }\r\n\r\n componentDidRender() {\r\n requestAnimationFrame(() => this.checkScrollability());\r\n }\r\n\r\n @Listen('resize', { target: 'window' })\r\n checkViewport() {\r\n this.isMobile = window.innerWidth <= 900;\r\n this.checkScrollability();\r\n }\r\n\r\n private checkScrollability() {\r\n if (!this.scrollContainer) return;\r\n\r\n const { scrollWidth, clientWidth } = this.scrollContainer;\r\n const newScrollable = scrollWidth > clientWidth;\r\n\r\n if (newScrollable !== this.isScrollable) {\r\n this.isScrollable = newScrollable; // only update if different\r\n }\r\n }\r\n\r\n private handleAction(action: string, row: any) {\r\n this.rowActionClicked.emit({ action, row });\r\n }\r\n\r\n private renderCell(col: TableColumn, row: any) {\r\n if (col.cellComponent) {\r\n const Tag = col.cellComponent as keyof HTMLElementTagNameMap;\r\n\r\n // resolve props\r\n const props = typeof col.cellProps === 'function' ? col.cellProps(row) : col.cellProps || {};\r\n\r\n // resolve default slot content\r\n let defaultSlotContent: any = null;\r\n if (col.cellSlots?.default?.content) {\r\n const content = col.cellSlots.default.content(row);\r\n const slotTag = col.cellSlots.default.tag;\r\n defaultSlotContent = slotTag ? h(slotTag, {}, content) : content;\r\n }\r\n\r\n // resolve named slots\r\n const namedSlotElements: any[] = [];\r\n if (col.cellSlots?.named) {\r\n for (const [slotName, slotConfig] of Object.entries(col.cellSlots.named)) {\r\n const content = slotConfig.content(row);\r\n const element = h(slotConfig.tag, { slot: slotName }, content);\r\n namedSlotElements.push(element);\r\n }\r\n }\r\n\r\n // render component with slots\r\n const allChildren = [defaultSlotContent, ...namedSlotElements].filter(child => child != null);\r\n\r\n return h(Tag, props, allChildren.length > 0 ? allChildren : undefined);\r\n }\r\n\r\n if (col.supportingText) {\r\n const primary = row[col.key];\r\n\r\n const supporting = typeof col.supportingText === 'function' ? col.supportingText(row) : col.supportingText ? row[col.supportingText] : undefined;\r\n\r\n return (\r\n <div class=\"text_and_supporting_text\">\r\n <div class=\"primary\">\r\n <p class=\"text-sm-medium\">{primary}</p>\r\n </div>\r\n {supporting && (\r\n <div class=\"supporting\">\r\n <p class=\"text-xs-regular\">{supporting}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n const value = this.getCellValue(col, row);\r\n return <p class=\"body_text text-sm-regular\">{value}</p>;\r\n }\r\n\r\n private getCellValue(col: TableColumn, row: any) {\r\n if (col.value) {\r\n return col.value(row);\r\n }\r\n\r\n return <p class=\"body_text text-sm-regular\">{row[col.key]}</p>;\r\n }\r\n\r\n emitPaginationDetails({ detail }) {\r\n this.pageItemSelected.emit(detail);\r\n }\r\n\r\n private async toggleDropdown(rowIndex: number) {\r\n if (this.openRowIndex === rowIndex) {\r\n this.openRowIndex = null;\r\n return;\r\n }\r\n\r\n const buttonInstance = this.actionButtonRefs[rowIndex];\r\n const nativeBtn = await buttonInstance?.getNativeButton();\r\n\r\n this.currentAnchorEl = nativeBtn ?? undefined;\r\n this.openRowIndex = rowIndex;\r\n\r\n // Calculate available space for dropdown positioning\r\n requestAnimationFrame(() => this.calculateDropdownPlacement(nativeBtn, this.dropdownRef));\r\n }\r\n\r\n private calculateDropdownPlacement(buttonElement?: HTMLElement, dropdownElement?: HTMLDivElement) {\r\n if (!buttonElement || !dropdownElement) return;\r\n\r\n const buttonRect = buttonElement.getBoundingClientRect();\r\n const tableRect = this.scrollContainer.getBoundingClientRect();\r\n const dropdownHeight = requestAnimationFrame(() => dropdownElement.scrollHeight);\r\n\r\n // Space within the TABLE, not viewport\r\n const spaceBelow = tableRect.bottom - buttonRect.bottom;\r\n const spaceAbove = buttonRect.top - tableRect.top;\r\n\r\n if (spaceBelow < dropdownHeight && spaceAbove > dropdownHeight) {\r\n this.dropdownPlacement = 'top-end';\r\n } else {\r\n this.dropdownPlacement = 'bottom-end';\r\n }\r\n }\r\n\r\n private onSort(col: TableColumn) {\r\n if (!col.sortable) return;\r\n\r\n if (this.sortKey === col.key) {\r\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\r\n } else {\r\n this.sortKey = col.key;\r\n this.sortDirection = 'asc';\r\n }\r\n }\r\n\r\n private get sortedData() {\r\n if (!this.sortKey) return this.data;\r\n\r\n const col = this.internalColumns.find(c => c.key === this.sortKey);\r\n if (!col) return this.data;\r\n\r\n return [...this.data].sort((a, b) => {\r\n let valA = col.value ? col.value(a) : a[this.sortKey!];\r\n let valB = col.value ? col.value(b) : b[this.sortKey!];\r\n\r\n // Null safety\r\n if (valA == null) return 1;\r\n if (valB == null) return -1;\r\n\r\n let result = 0;\r\n\r\n switch (col.sortType) {\r\n case 'number': {\r\n const numA = Number(String(valA).replace(/[^0-9.-]+/g, ''));\r\n const numB = Number(String(valB).replace(/[^0-9.-]+/g, ''));\r\n result = numA - numB;\r\n break;\r\n }\r\n\r\n case 'date': {\r\n const timeA = new Date(valA).getTime();\r\n const timeB = new Date(valB).getTime();\r\n result = timeA - timeB;\r\n break;\r\n }\r\n\r\n case 'string':\r\n default: {\r\n result = String(valA).localeCompare(String(valB), undefined, {\r\n sensitivity: 'base',\r\n });\r\n break;\r\n }\r\n }\r\n\r\n return this.sortDirection === 'asc' ? result : -result;\r\n });\r\n }\r\n\r\n private get allSelected() {\r\n return this.sortedData.length > 0 && this.selectedRowIds.size === this.sortedData.length;\r\n }\r\n\r\n private get isIndeterminate() {\r\n return this.selectedRowIds.size > 0 && this.selectedRowIds.size < this.sortedData.length;\r\n }\r\n\r\n private getRowId(row: any): string {\r\n if (typeof this.rowKey === 'function') {\r\n return this.rowKey(row);\r\n }\r\n\r\n return row[this.rowKey];\r\n }\r\n\r\n private toggleAll() {\r\n if (this.allSelected) {\r\n this.selectedRowIds = new Set();\r\n } else {\r\n this.selectedRowIds = new Set(this.sortedData.map(row => this.getRowId(row)));\r\n }\r\n\r\n this.emitSelection();\r\n }\r\n\r\n private toggleRow(row: any) {\r\n const updated = new Set(this.selectedRowIds);\r\n\r\n if (updated.has(this.getRowId(row))) {\r\n updated.delete(this.getRowId(row));\r\n } else {\r\n updated.add(this.getRowId(row));\r\n }\r\n\r\n this.selectedRowIds = updated;\r\n\r\n this.emitSelection();\r\n }\r\n\r\n private emitSelection() {\r\n const selected = this.sortedData.filter(row => this.selectedRowIds.has(this.getRowId(row)));\r\n\r\n this.selectionChanged.emit(selected);\r\n }\r\n\r\n private get displayedData() {\r\n if (!this.paginationConfig) {\r\n return this.sortedData;\r\n }\r\n\r\n if (this.paginationConfig.paginationMode === 'external') {\r\n return this.sortedData;\r\n }\r\n\r\n const start = (this.internalCurrentPage - 1) * this.internalPageSize;\r\n const end = start + this.internalPageSize;\r\n\r\n return this.sortedData.slice(start, end);\r\n }\r\n\r\n private handlePageChange = ({ detail }: any) => {\r\n const { pageNumber, pageSize } = detail;\r\n\r\n this.internalPageSize = pageSize;\r\n\r\n if (this.paginationConfig.paginationMode === 'internal') {\r\n this.internalCurrentPage = pageNumber;\r\n } else {\r\n this.pageItemSelected.emit(detail);\r\n }\r\n };\r\n\r\n private get totalPages() {\r\n if (!this.paginationConfig) return 1;\r\n\r\n const pageSize = this.internalPageSize || 1;\r\n const totalItems = this.paginationConfig.totalItems ?? 0;\r\n\r\n return Math.max(1, Math.ceil(totalItems / pageSize));\r\n }\r\n\r\n @Watch('data')\r\n onDataChange() {\r\n // if (!newValue) return;\r\n\r\n // this.data = newValue;\r\n this.internalCurrentPage = 1;\r\n }\r\n\r\n @Watch('loading')\r\n onLoadingChange(newValue: boolean, _oldValue: boolean) {\r\n this.internalLoading = newValue;\r\n }\r\n\r\n private renderHeaderIcons(col: TableColumn) {\r\n return (\r\n <>\r\n {col.sortable && (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n style={{\r\n transform: this.sortKey === col.key && this.sortDirection === 'desc' ? 'rotate(180deg)' : 'rotate(0deg)',\r\n transition: 'transform 0.2s ease',\r\n }}\r\n >\r\n <path\r\n d=\"M7.99998 13.3332V2.6665M7.99998 13.3332C8.87837 13.3332 11.3333 9.99993 11.3333 9.99993M7.99998 13.3332C7.12158 13.3332 4.66663 9.9999 4.66663 9.9999\"\r\n stroke={this.sortKey === col.key ? 'var(--color-icon, #4B5565)' : 'var(--color-icon-disabled, #808c9e)'}\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n\r\n {col.helpIcon && (\r\n <gb-help-tooltip show-supporting-text=\"true\">\r\n <p slot=\"label\">This is a label</p>\r\n <p slot=\"supporting_text\">This is a supporting text</p>\r\n </gb-help-tooltip>\r\n )}\r\n </>\r\n );\r\n }\r\n\r\n renderDesktopView() {\r\n // compute table min-width to force horizontal scroll when > 5 columns\r\n const defaultColWidth = 160;\r\n let totalWidth = 0;\r\n\r\n this.internalColumns.forEach(col => {\r\n if (col.width) {\r\n const w = typeof col.width === 'number' ? col.width : parseInt(String(col.width), 10);\r\n totalWidth += Number.isFinite(w) ? w : defaultColWidth;\r\n } else {\r\n totalWidth += defaultColWidth;\r\n }\r\n });\r\n\r\n // const tableStyle = this.columns.length > 5 ? { minWidth: `${totalWidth}px` } : {};\r\n\r\n return (\r\n <div class={`table_scroll`} ref={el => (this.scrollContainer = el as HTMLDivElement)}>\r\n <table>\r\n <thead>\r\n <tr class=\"table_head_row\">\r\n {this.showCheckbox && (\r\n <th\r\n style={{ width: '15px' }}\r\n class={{\r\n checkbox: this.showCheckbox,\r\n sticky_left: this.stickyFirstColumn,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <gb-checkbox type=\"checkbox\" checked={this.allSelected} indeterminate={this.isIndeterminate} size=\"sm\" onClick={() => this.toggleAll()}></gb-checkbox>\r\n </th>\r\n )}\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((col, index) => {\r\n const align = col.align ?? 'left';\r\n\r\n return (\r\n <th\r\n style={{ width: col.width, cursor: col.sortable ? 'pointer' : 'default', textAlign: col.align || 'left' }}\r\n onClick={() => this.onSort(col)}\r\n class={{\r\n table_header: true,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n sticky_left: this.stickyFirstColumn && index === 0,\r\n sortable: col.sortable,\r\n has_border: this.isScrollable,\r\n }}\r\n >\r\n <div class={`table_head_content align-${align}`}>\r\n {align === 'right' && <div class=\"table_head_icons\">{this.renderHeaderIcons(col)}</div>}\r\n <p class={`head_text text-xs-medium`}>{col.label}</p>\r\n {align === 'left' && <div class=\"table_head_icons\">{this.renderHeaderIcons(col)}</div>}\r\n </div>\r\n </th>\r\n );\r\n })}\r\n {this.showActionsColumn && (\r\n <th\r\n class={{\r\n actions_cell: true,\r\n sticky_right: this.stickyLastColumn,\r\n has_border: this.isScrollable,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <div class=\"empty_div\"></div>\r\n </th>\r\n )}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {this.displayedData.map((row, rowIndex) => (\r\n <tr class=\"table_body\">\r\n {this.showCheckbox && (\r\n <td class={`table_detail ${this.showCheckbox ? 'checkbox' : ''}`}>\r\n <gb-checkbox\r\n type=\"checkbox\"\r\n checked={this.selectedRowIds.has(this.getRowId(row))}\r\n indeterminate={false}\r\n size=\"sm\"\r\n onClick={() => this.toggleRow(row)}\r\n ></gb-checkbox>\r\n </td>\r\n )}\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((col, index) => (\r\n <>\r\n <td\r\n style={{ textAlign: col.align || 'left' }}\r\n class={`table_detail ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''} ${this.isScrollable ? 'has_border' : ''}`}\r\n >\r\n {this.renderCell(col, row)}\r\n </td>\r\n </>\r\n ))}\r\n {this.showActionsColumn && (\r\n <td class={{ table_detail: true, actions_cell: true, sticky_right: this.stickyLastColumn, has_border: this.isScrollable }} style={{ width: '50px' }}>\r\n <>\r\n <div class=\"action_buttons\">\r\n {this.rowActions.map(action => (\r\n <>\r\n {action.type === 'dropdown' ? (\r\n <gb-button\r\n id={`gb-table-trigger-${rowIndex}`}\r\n ref={el => (this.actionButtonRefs[rowIndex] = el)}\r\n class=\"dropdown_button\"\r\n hierarchy=\"tertiary_gray\"\r\n size=\"md\"\r\n icon=\"only\"\r\n iconLeading\r\n iconLeadingSwap=\"assets/more-horizontal.svg\"\r\n onClick={() => this.toggleDropdown(rowIndex)}\r\n ></gb-button>\r\n ) : (\r\n <gb-button\r\n hierarchy=\"tertiary_gray\"\r\n size=\"md\"\r\n icon=\"only\"\r\n destructive={action.destructive}\r\n iconLeading\r\n iconLeadingSwap={action.icon}\r\n onClick={() => this.handleAction(action.action, row)}\r\n ></gb-button>\r\n )}\r\n </>\r\n ))}\r\n </div>\r\n <>\r\n {this.openRowIndex === rowIndex && (\r\n <gb-portal\r\n anchor-id={`gb-table-trigger-${rowIndex}`}\r\n placement={this.dropdownPlacement}\r\n anchorEl={this.currentAnchorEl}\r\n boundaryEl={this.scrollContainer}\r\n dropdownHeight={requestAnimationFrame(() => this.dropdownRef.scrollHeight)}\r\n open\r\n >\r\n <div class=\"portal_dropdown_wrapper\" ref={el => (this.dropdownRef = el as HTMLDivElement)}>\r\n {this.dropdownOptions.map(action => (\r\n <gb-dropdown-items-with-shortcut\r\n icon={action.icon ? true : false}\r\n state={action.disabled ? StateEnum.Disabled : StateEnum.Default}\r\n label={action.label}\r\n icon-src={action.icon}\r\n onClick={() => {\r\n this.handleAction(action.action, row);\r\n this.openRowIndex = null;\r\n }}\r\n ></gb-dropdown-items-with-shortcut>\r\n ))}\r\n </div>\r\n </gb-portal>\r\n )}\r\n </>\r\n </>\r\n </td>\r\n )}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n }\r\n\r\n @Watch('columns')\r\n validateMobilePositions(newCols: TableColumn[]) {\r\n const positions = this.internalColumns.map(c => c.mobile?.position).filter(Boolean);\r\n\r\n const duplicates = positions.filter((item, index) => positions.indexOf(item) !== index);\r\n\r\n if (duplicates.length) {\r\n console.warn('[gb-table] Duplicate mobile positions detected:', duplicates);\r\n }\r\n\r\n this.initializeColumns(newCols);\r\n }\r\n\r\n emitRowData(row: any) {\r\n this.rowClicked.emit(row);\r\n }\r\n\r\n renderMobileView() {\r\n return (\r\n <div class=\"mobile_wrapper\">\r\n {this.displayedData.map(row => {\r\n const topLeft = this.internalColumns.find(c => c.mobile?.position === 'top_left');\r\n const topRight = this.internalColumns.find(c => c.mobile?.position === 'top_right');\r\n const bottomLeft = this.internalColumns.find(c => c.mobile?.position === 'bottom_left');\r\n const bottomRight = this.internalColumns.find(c => c.mobile?.position === 'bottom_right');\r\n\r\n return (\r\n <div class=\"mobile_card_wrapper\" style={{ paddingLeft: this.showCheckbox ? 'var(--spacing-4)' : '' }}>\r\n {this.showCheckbox && (\r\n <gb-checkbox\r\n style={{ paddingTop: 'var(--spacing-6)' }}\r\n type=\"checkbox\"\r\n checked={this.selectedRowIds.has(this.getRowId(row))}\r\n indeterminate={false}\r\n size=\"sm\"\r\n onClick={() => this.toggleRow(row)}\r\n ></gb-checkbox>\r\n )}\r\n {/* <div class=\"mobile-card\">\r\n <div class=\"mobile-row mobile-top\">\r\n <div class=\"mobile-cell\">\r\n <p class=\"top_left_text text-md-regular\">{topLeft && row[topLeft.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell right\">\r\n <p class=\"top_right_text text-md-semi-bold\">{topRight && row[topRight.key]}</p>\r\n </div>\r\n </div>\r\n <div class=\"mobile-row mobile-bottom\">\r\n <div class=\"mobile-cell\">\r\n <p class=\"bottom_left_text text-sm-regular\">{bottomLeft && row[bottomLeft.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell right\">{bottomRight && this.renderCell(bottomRight, row)}</div>\r\n </div>\r\n </div> */}\r\n <div class=\"mobile-card\" onClick={() => this.emitRowData(row)}>\r\n <div class=\"mobile-row left\">\r\n <div class=\"mobile-cell\">\r\n <p class=\"top_left_text text-md-regular\">{topLeft && row[topLeft.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell\">\r\n <p class=\"bottom_left_text text-sm-regular\">{bottomLeft && row[bottomLeft.key]}</p>\r\n </div>\r\n </div>\r\n <div class=\"mobile-row right\">\r\n <div class=\"mobile-cell right\">\r\n <p class=\"top_right_text text-md-semi-bold\">{topRight && row[topRight.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell right\">{bottomRight && this.renderCell(bottomRight, row)}</div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n }\r\n\r\n emitSearchValue(detail) {\r\n this.inputValueChanged.emit(detail.detail);\r\n }\r\n\r\n emitDateChange(detail) {\r\n this.dateChange.emit(detail.detail);\r\n }\r\n\r\n private initializeColumns(cols: TableColumn[]) {\r\n this.internalColumns = (cols || []).map(col => ({\r\n ...col,\r\n visible: col.visible ?? true, // default to true\r\n }));\r\n }\r\n\r\n private reorderColumns(fromIndex: number, toIndex: number) {\r\n const updated = [...this.internalColumns];\r\n const [movedItem] = updated.splice(fromIndex, 1);\r\n updated.splice(toIndex, 0, movedItem);\r\n\r\n this.internalColumns = updated;\r\n }\r\n\r\n columnOptionsButtonClicked() {\r\n return () => {\r\n this.showColumnsPanel = !this.showColumnsPanel;\r\n };\r\n }\r\n\r\n exportButtonClicked(detail) {\r\n this.exportClicked.emit(detail.detail);\r\n }\r\n\r\n private toggleColumn(event: CustomEvent<boolean>, columnKey: string) {\r\n const isVisible = event.detail;\r\n\r\n this.internalColumns = this.internalColumns.map(col => (col.key === columnKey ? { ...col, visible: isVisible } : col));\r\n }\r\n\r\n private onModalPointerDown = (event: PointerEvent) => {\r\n this.isDraggingModal = true;\r\n\r\n this.dragOffset = {\r\n x: event.clientX - this.modalPosition.x,\r\n y: event.clientY - this.modalPosition.y,\r\n };\r\n\r\n window.addEventListener('pointermove', this.onModalPointerMove);\r\n window.addEventListener('pointerup', this.onModalPointerUp);\r\n };\r\n\r\n private onModalPointerMove = (event: PointerEvent) => {\r\n if (!this.isDraggingModal) return;\r\n\r\n this.modalPosition = {\r\n x: event.clientX - this.dragOffset.x,\r\n y: event.clientY - this.dragOffset.y,\r\n };\r\n };\r\n\r\n private onModalPointerUp = () => {\r\n this.isDraggingModal = false;\r\n\r\n window.removeEventListener('pointermove', this.onModalPointerMove);\r\n window.removeEventListener('pointerup', this.onModalPointerUp);\r\n };\r\n\r\n private openFilterModal() {\r\n this.showFilterModalInternal = true;\r\n\r\n requestAnimationFrame(() => {\r\n this.isFilterModalVisible = true;\r\n });\r\n }\r\n\r\n private closeFilterModal() {\r\n this.isFilterModalVisible = false;\r\n\r\n setTimeout(() => {\r\n this.showFilterModalInternal = false;\r\n }, 300); // match CSS duration\r\n }\r\n\r\n onApplyFilters(detail) {\r\n console.log(detail.detail);\r\n this.applyFilters.emit(detail.detail);\r\n this.showFilterModalInternal = false;\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.checkViewport);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`table_wrapper`}>\r\n <gb-table-header\r\n mode={this.tableHeaderConfig.datePickerMode}\r\n table-heading={this.tableHeaderConfig.tableHeading}\r\n table-heading-label={this.tableHeaderConfig.tableHeadingLabel}\r\n show-search={this.tableHeaderConfig.showSearch}\r\n show-date-filter={this.tableHeaderConfig.showDateFilter}\r\n show-filter={this.tableHeaderConfig.showFilter}\r\n show-export={this.tableHeaderConfig.showExport}\r\n show-column-options={this.tableHeaderConfig.showColumnOptions}\r\n show-refresh-button={this.tableHeaderConfig.showRefreshButton}\r\n input-placeholder={this.tableHeaderConfig.inputPlaceholder}\r\n date-picker-placeholder={this.tableHeaderConfig.datePickerPlaceholder}\r\n show-entire-data={this.tableHeaderConfig.showEntireData}\r\n show-layout-toggle={this.tableHeaderConfig.showLayoutToggle}\r\n filter-state={this.tableHeaderConfig.filterState}\r\n filter-count={this.tableHeaderConfig.filterCount}\r\n export-button-state={this.tableHeaderConfig.exportButtonState}\r\n pdf-state={this.tableHeaderConfig.pdfState}\r\n csv-state={this.tableHeaderConfig.csvState}\r\n onInputValueChanged={this.emitSearchValue.bind(this)}\r\n onDateChange={this.emitDateChange.bind(this)}\r\n onColumnOptionsButtonClicked={this.columnOptionsButtonClicked()}\r\n onExportClicked={e => this.exportButtonClicked(e)}\r\n onFilterButtonClicked={() => this.openFilterModal()}\r\n ></gb-table-header>\r\n {this.showColumnsPanel && (\r\n <div\r\n class=\"dialog\"\r\n style={{\r\n transform: `translate(${this.modalPosition.x}px, ${this.modalPosition.y}px)`,\r\n }}\r\n >\r\n <div class=\"column-modal\">\r\n <div class=\"modal_header\">\r\n <div class=\"modal_header_content\" onPointerDown={this.onModalPointerDown}>\r\n <h4 class=\"heading display-xs-semi-bold\">Column Options</h4>\r\n <gb-button-close class=\"close_button\" color=\"gray\" size=\"sm\" onClick={() => (this.showColumnsPanel = false)}></gb-button-close>\r\n </div>\r\n </div>\r\n <div class=\"content_wrapper\">\r\n <div class=\"modal_content\">\r\n {this.internalColumns.map((col, index) => (\r\n <div\r\n class=\"column_option\"\r\n draggable\r\n onDragStart={() => (this.draggedIndex = index)}\r\n onDragOver={e => e.preventDefault()}\r\n onDrop={() => {\r\n if (this.draggedIndex !== null && this.draggedIndex !== index) {\r\n this.reorderColumns(this.draggedIndex, index);\r\n }\r\n this.draggedIndex = null;\r\n }}\r\n >\r\n <div class=\"label_and_dragger\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M8 6H8.00635M8 12H8.00635M8 18H8.00635M15.9937 6H16M15.9937 12H16M15.9937 18H16\"\r\n stroke=\"var(--color-icon, #4B5565)\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <p class=\"label text-md-regular\">{col.label}</p>\r\n </div>\r\n <gb-toggle\r\n size=\"sm\"\r\n state={StateEnum.Default}\r\n position=\"right\"\r\n pressed={col.visible}\r\n text={false}\r\n onToggleClicked={e => {\r\n this.toggleColumn(e, col.key);\r\n }}\r\n ></gb-toggle>\r\n </div>\r\n ))}\r\n <div class=\"modal-actions\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n {this.showFilterModalInternal && (\r\n <div class={`filter_modal_wrapper ${this.isFilterModalVisible ? 'open' : 'closing'}`}>\r\n <gb-filter-modal\r\n class=\"filter_modal\"\r\n filterConfig={this.filterConfig}\r\n onClose={e => {\r\n e.stopPropagation();\r\n this.closeFilterModal();\r\n }}\r\n onApplyFilters={e => this.onApplyFilters(e)}\r\n ></gb-filter-modal>\r\n </div>\r\n )}\r\n {this.internalLoading ? (\r\n // ✅ ALWAYS show loading when loading = true\r\n <table>\r\n <thead>\r\n <tr class=\"table_head_row\">\r\n {this.showCheckbox && (\r\n <th\r\n class={{\r\n checkbox: true,\r\n sticky_left: this.stickyFirstColumn,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <gb-checkbox type=\"checkbox\" checked={this.allSelected} indeterminate={this.isIndeterminate} size=\"sm\" onClick={() => this.toggleAll()}></gb-checkbox>\r\n </th>\r\n )}\r\n\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((col, index) => {\r\n const align = col.align ?? 'left';\r\n\r\n return (\r\n <th\r\n style={{\r\n width: col.width,\r\n textAlign: col.align || 'left',\r\n }}\r\n class={{\r\n table_header: true,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n sticky_left: this.stickyFirstColumn && index === 0,\r\n has_border: this.isScrollable,\r\n }}\r\n >\r\n <div class={`table_head_content align-${align}`}>\r\n <p class=\"head_text text-xs-medium\">{col.label}</p>\r\n </div>\r\n </th>\r\n );\r\n })}\r\n\r\n {this.showActionsColumn && (\r\n <th\r\n class={{\r\n actions_cell: true,\r\n sticky_right: this.stickyLastColumn,\r\n has_border: this.isScrollable,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <div class=\"empty_div\"></div>\r\n </th>\r\n )}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {Array.from({ length: 5 }).map(_ => (\r\n <tr class=\"table_body\">\r\n {this.showCheckbox && (\r\n <td class=\"table_detail checkbox\">\r\n <gb-checkbox type=\"checkbox\" checked={this.allSelected} indeterminate={this.isIndeterminate} size=\"sm\" onClick={() => this.toggleAll()}></gb-checkbox>\r\n </td>\r\n )}\r\n\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((_col, index) => (\r\n <td class={`table_detail ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''} ${this.isScrollable ? 'has_border' : ''}`}>\r\n <div class=\"loader\">\r\n <div class=\"skeleton skeleton-text\"></div>\r\n </div>\r\n </td>\r\n ))}\r\n\r\n {this.showActionsColumn && (\r\n <td\r\n class={{\r\n table_detail: true,\r\n actions_cell: true,\r\n sticky_right: this.stickyLastColumn,\r\n has_border: this.isScrollable,\r\n }}\r\n style={{ width: '50px' }}\r\n >\r\n <div class=\"loader\">\r\n <div class=\"skeleton skeleton-action\"></div>\r\n </div>\r\n </td>\r\n )}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n ) : this.data.length === 0 ? (\r\n // ✅ No loading + no data = empty state\r\n <div class=\"empty_state_wrapper\">\r\n <gb-empty-state\r\n size=\"sm\"\r\n main-text={this.emptyStateConfig.mainText}\r\n supporting-text={this.emptyStateConfig.supportingText}\r\n color={this.emptyStateConfig.color}\r\n theme={this.emptyStateConfig.theme}\r\n primary-button-icon-leading-swap=\"assets/plus.svg\"\r\n illustration-icon={this.emptyStateConfig.illustrationIcon}\r\n background={true}\r\n background-type=\"grid\"\r\n icon=\"illustration\"\r\n illustration-style=\"cloud\"\r\n ></gb-empty-state>\r\n </div>\r\n ) : (\r\n // ✅ Has data + not loading\r\n <>{this.isMobile ? this.renderMobileView() : this.renderDesktopView()}</>\r\n )}\r\n {this.paginationConfig && this.data.length > 0 && (\r\n <gb-pagination\r\n entries-dropdown-menu-position={this.paginationConfig.entriesDropdownMenuPosition}\r\n page-size={this.paginationConfig.pageSize}\r\n current-page={this.paginationConfig.paginationMode === 'internal' ? this.internalCurrentPage : this.paginationConfig.currentPage}\r\n total-pages={this.totalPages}\r\n onPageItemSelected={this.handlePageChange.bind(this)}\r\n ></gb-pagination>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"gb-table.js","sourceRoot":"","sources":["../../../src/components/gb-table/gb-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACxG,OAAO,EASL,SAAS,GAIV,MAAM,6BAA6B,CAAC;AAOrC,MAAM,OAAO,OAAO;IALpB;QAMU,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAkB;QAC/B,kHAAkH;QAClH,gHAAgH;QAChH,0JAA0J;QAC1J,kCAAkC;QAClC,0FAA0F;QAC1F,IAAI;QACJ,mBAAmB;QACnB,qBAAqB;QACrB,+BAA+B;QAC/B,oIAAoI;QACpI,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;QAClB,oCAAoC;QACpC,SAAS;QACT,OAAO;QACP,KAAK;SACN,CAAC;QACM,SAAI,GAAU;QACpB,IAAI;QACJ,8KAA8K;QAC9K,yBAAyB;QACzB,0BAA0B;QAC1B,gCAAgC;QAChC,oBAAoB;QACpB,0BAA0B;QAC1B,uBAAuB;QACvB,yBAAyB;QACzB,KAAK;QACL,mKAAmK;QACnK,oKAAoK;QACpK,mKAAmK;QACnK,mKAAmK;QACnK,mKAAmK;QACnK,oKAAoK;QACpK,qKAAqK;QACrK,wKAAwK;QACxK,uKAAuK;QACvK,6KAA6K;QAC7K,yKAAyK;QACzK,2KAA2K;QAC3K,iLAAiL;QACjL,iKAAiK;QACjK,wKAAwK;QACxK,gLAAgL;QAChL,0KAA0K;QAC1K,qKAAqK;QACrK,4KAA4K;QAC5K,+KAA+K;QAC/K,sKAAsK;QACtK,2KAA2K;QAC3K,0KAA0K;QAC1K,mKAAmK;QACnK,0KAA0K;QAC1K,8KAA8K;QAC9K,sKAAsK;QACtK,0KAA0K;QAC1K,uKAAuK;QACvK,0KAA0K;QAC1K,gLAAgL;QAChL,uKAAuK;QACvK,qKAAqK;SACtK,CAAC;QACM,sBAAiB,GAmBrB;YACF,YAAY,EAAE,KAAK;YACnB,iBAAiB,EAAE,qBAAqB;YACxC,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,OAAO;YACvB,gBAAgB,EAAE,uBAAuB;SAC1C,CAAC;QACM,qBAAgB,GAMpB;YACF,cAAc,EAAE,UAAU;YAC1B,2BAA2B,EAAE,KAAK;YAClC,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,EAAE;SACb,CAAC;QACM,qBAAgB,GAoBpB;YACF,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,MAAM;YACtB,QAAQ,EAAE,mBAAmB;YAC7B,cAAc,EAAE,iDAAiD;YACjE,KAAK,EAAE,MAAM;YACb,gBAAgB,EAAE,yBAAyB;YAC3C,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,OAAO;SACf,CAAC;QAEM,sBAAiB,GAAY,IAAI,CAAC;QAClC,eAAU,GAAgB;QAChC,mFAAmF;QACnF,8FAA8F;QAC9F,wFAAwF;SACzF,CAAC;QACM,oBAAe,GAAsB;QAC3C,+EAA+E;QAC/E,yFAAyF;QACzF,uFAAuF;SACxF,CAAC;QACM,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,gBAAW,GAA6B,MAAM,CAAC;QAC/C,iBAAY,GAAY,KAAK,CAAC;QAC9B,mBAAc,GAAoB,MAAM,CAAC;QACzC,WAAM,GAAoC,IAAI,CAAC;QAC9C,wBAAmB,GAAW,CAAC,CAAC;QAChC,qBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAY,GAAkB,IAAI,CAAC;QACnC,sBAAiB,GAA6B,YAAY,CAAC;QAE3D,kBAAa,GAAmB,KAAK,CAAC;QACtC,mBAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;QACxC,eAAU,GAAyB,SAAS,CAAC;QAC7C,aAAQ,GAAY,KAAK,CAAC;QAC1B,iBAAY,GAAY,KAAK,CAAC;QAC9B,qBAAgB,GAAG,KAAK,CAAC;QACzB,oBAAe,GAAG,KAAK,CAAC;QAExB,kBAAa,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,4BAAuB,GAAY,KAAK,CAAC;QACzC,yBAAoB,GAAY,KAAK,CAAC;QACtC,oBAAe,GAAY,KAAK,CAAC;QAalC,oBAAe,GAAG,KAAK,CAAC;QACxB,eAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,qBAAgB,GAA0B,EAAE,CAAC;QAG7C,iBAAY,GAAkB,IAAI,CAAC;QAoQnC,qBAAgB,GAAG,CAAC,EAAE,MAAM,EAAO,EAAE,EAAE;YAC7C,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAExC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YAEjC,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBACxD,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;QA8VM,uBAAkB,GAAG,CAAC,KAAmB,EAAE,EAAE;YACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAE5B,IAAI,CAAC,UAAU,GAAG;gBAChB,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;gBACvC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;aACxC,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChE,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,KAAmB,EAAE,EAAE;YACnD,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAElC,IAAI,CAAC,aAAa,GAAG;gBACnB,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;aACrC,CAAC;QACJ,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAE7B,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACnE,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjE,CAAC,CAAC;KAgQH;IAn4BC,iBAAiB;QACf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QAEpC,mDAAmD;QACnD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,kBAAkB;QAChB,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzD,CAAC;IAGD,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC;QACzC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAElC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAC1D,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;QAEhD,IAAI,aAAa,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,2BAA2B;QAChE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,GAAQ;QAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEO,UAAU,CAAC,GAAgB,EAAE,GAAQ;;QAC3C,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,aAA4C,CAAC;YAE7D,gBAAgB;YAChB,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;YAE7F,+BAA+B;YAC/B,IAAI,kBAAkB,GAAQ,IAAI,CAAC;YACnC,IAAI,MAAA,MAAA,GAAG,CAAC,SAAS,0CAAE,OAAO,0CAAE,OAAO,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC1C,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACnE,CAAC;YAED,sBAAsB;YACtB,MAAM,iBAAiB,GAAU,EAAE,CAAC;YACpC,IAAI,MAAA,GAAG,CAAC,SAAS,0CAAE,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC/D,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,MAAM,WAAW,GAAG,CAAC,kBAAkB,EAAE,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;YAE9F,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEjJ,OAAO,CACL,WAAK,KAAK,EAAC,0BAA0B;gBACnC,WAAK,KAAK,EAAC,SAAS;oBAClB,SAAG,KAAK,EAAC,gBAAgB,IAAE,OAAO,CAAK,CACnC;gBACL,UAAU,IAAI,CACb,WAAK,KAAK,EAAC,YAAY;oBACrB,SAAG,KAAK,EAAC,iBAAiB,IAAE,UAAU,CAAK,CACvC,CACP,CACG,CACP,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,SAAG,KAAK,EAAC,2BAA2B,IAAE,KAAK,CAAK,CAAC;IAC1D,CAAC;IAEO,YAAY,CAAC,GAAgB,EAAE,GAAQ;QAC7C,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,SAAG,KAAK,EAAC,2BAA2B,IAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAK,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,EAAE,MAAM,EAAE;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAgB;QAC3C,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,EAAE,CAAA,CAAC;QAE1D,IAAI,CAAC,eAAe,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAE7B,qDAAqD;QACrD,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEO,0BAA0B,CAAC,aAA2B,EAAE,eAAgC;QAC9F,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe;YAAE,OAAO;QAE/C,MAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;QAC/D,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEjF,uCAAuC;QACvC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACxD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QAElD,IAAI,UAAU,GAAG,cAAc,IAAI,UAAU,GAAG,cAAc,EAAE,CAAC;YAC/D,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,GAAgB;QAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAY,UAAU;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAE3B,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC;YACvD,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC;YAEvD,cAAc;YACd,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC;YAE5B,IAAI,MAAM,GAAG,CAAC,CAAC;YAEf,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACrB,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC5D,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;oBACrB,MAAM;gBACR,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACvC,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;oBACvB,MAAM;gBACR,CAAC;gBAED,KAAK,QAAQ,CAAC;gBACd,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE;wBAC3D,WAAW,EAAE,MAAM;qBACpB,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAC3F,CAAC;IAED,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAC3F,CAAC;IAEO,QAAQ,CAAC,GAAQ;QACvB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,SAAS,CAAC,GAAQ;QACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAE9B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE1C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAcD,IAAY,UAAU;;QACtB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAE5C,MAAM,UAAU,GACd,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,UAAU;YACjD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;YACxB,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAGC,YAAY;QACV,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;IAC/B,CAAC;IAGD,eAAe,CAAC,QAAiB,EAAE,SAAkB;QACnD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAEO,iBAAiB,CAAC,GAAgB;QACxC,OAAO,CACL;YACG,GAAG,CAAC,QAAQ,IAAI,CACf,WACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;oBACxG,UAAU,EAAE,qBAAqB;iBAClC;gBAED,YACE,CAAC,EAAC,uJAAuJ,EACzJ,MAAM,EAAE,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,qCAAqC,oBACxF,OAAO,qBACN,OAAO,GACvB,CACE,CACP;YAEA,GAAG,CAAC,QAAQ,IAAI,CACf,+CAAsC,MAAM;gBAC1C,SAAG,IAAI,EAAC,OAAO,sBAAoB;gBACnC,SAAG,IAAI,EAAC,iBAAiB,gCAA8B,CACvC,CACnB,CACA,CACJ,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,sEAAsE;QACtE,MAAM,eAAe,GAAG,GAAG,CAAC;QAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtF,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,UAAU,IAAI,eAAe,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qFAAqF;QAErF,OAAO,CACL,WAAK,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,EAAoB,CAAC;YAClF;gBACE;oBACE,UAAI,KAAK,EAAC,gBAAgB;wBACvB,IAAI,CAAC,YAAY,IAAI,CACpB,UACE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,KAAK,EAAE;gCACL,QAAQ,EAAE,IAAI,CAAC,YAAY;gCAC3B,WAAW,EAAE,IAAI,CAAC,iBAAiB;gCACnC,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI;6BAC9C;4BAED,mBAAa,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAgB,CACnJ,CACN;wBACA,IAAI,CAAC,eAAe;6BAClB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;6BAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;;4BAClB,MAAM,KAAK,GAAG,MAAA,GAAG,CAAC,KAAK,mCAAI,MAAM,CAAC;4BAElC,OAAO,CACL,UACE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM,EAAE,EACzG,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAC/B,KAAK,EAAE;oCACL,YAAY,EAAE,IAAI;oCAClB,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI;oCAC7C,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK,KAAK,CAAC;oCAClD,QAAQ,EAAE,GAAG,CAAC,QAAQ;oCACtB,UAAU,EAAE,IAAI,CAAC,YAAY;iCAC9B;gCAED,WAAK,KAAK,EAAE,4BAA4B,KAAK,EAAE;oCAC5C,KAAK,KAAK,OAAO,IAAI,WAAK,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAO;oCACvF,SAAG,KAAK,EAAE,0BAA0B,IAAG,GAAG,CAAC,KAAK,CAAK;oCACpD,KAAK,KAAK,MAAM,IAAI,WAAK,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAO,CAClF,CACH,CACN,CAAC;wBACJ,CAAC,CAAC;wBACH,IAAI,CAAC,iBAAiB,IAAI,CACzB,UACE,KAAK,EAAE;gCACL,YAAY,EAAE,IAAI;gCAClB,YAAY,EAAE,IAAI,CAAC,gBAAgB;gCACnC,UAAU,EAAE,IAAI,CAAC,YAAY;gCAC7B,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI;6BAC9C;4BAED,WAAK,KAAK,EAAC,WAAW,GAAO,CAC1B,CACN,CACE,CACC;gBACR,iBACG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CACzC,UAAI,KAAK,EAAC,YAAY;oBACnB,IAAI,CAAC,YAAY,IAAI,CACpB,UAAI,KAAK,EAAE,gBAAgB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC9D,mBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACpD,aAAa,EAAE,KAAK,EACpB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GACrB,CACZ,CACN;oBACA,IAAI,CAAC,eAAe;yBAClB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;yBAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACnB;wBACE,UACE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM,EAAE,EACzC,KAAK,EAAE,gBAAgB,IAAI,CAAC,iBAAiB,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,IAE3H,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CACvB,CACJ,CACJ,CAAC;oBACH,IAAI,CAAC,iBAAiB,IAAI,CACzB,UAAI,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;wBACjJ;4BACE,WAAK,KAAK,EAAC,gBAAgB,IACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC7B,kBACG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC5B,iBACE,EAAE,EAAE,oBAAoB,QAAQ,EAAE,EAClC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EACjD,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAC,eAAe,EACzB,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,MAAM,EACX,WAAW,QACX,eAAe,EAAC,4BAA4B,EAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GACjC,CACd,CAAC,CAAC,CAAC,CACF,iBACE,SAAS,EAAC,eAAe,EACzB,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,WAAW,QACX,eAAe,EAAE,MAAM,CAAC,IAAI,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzC,CACd,CACA,CACJ,CAAC,CACE;4BACN,kBACG,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,CACjC,8BACa,oBAAoB,QAAQ,EAAE,EACzC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EACjC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAC9B,UAAU,EAAE,IAAI,CAAC,eAAe,EAChC,cAAc,EAAE,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC1E,IAAI;gCAEJ,WAAK,KAAK,EAAC,yBAAyB,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAoB,CAAC,IACtF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAClC,uCACE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAChC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAC/D,KAAK,EAAE,MAAM,CAAC,KAAK,cACT,MAAM,CAAC,IAAI,EACrB,OAAO,EAAE,GAAG,EAAE;wCACZ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;wCACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oCAC3B,CAAC,GACgC,CACpC,CAAC,CACE,CACI,CACb,CACA,CACF,CACA,CACN,CACE,CACN,CAAC,CACI,CACF,CACJ,CACP,CAAC;IACJ,CAAC;IAGD,uBAAuB,CAAC,OAAsB;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEpF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAExF,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAGD,sBAAsB,CAAC,QAAa,EAAE,QAAa;QACjD,IAAI,QAAQ,CAAC,QAAQ,MAAK,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAA,EAAE,CAAC;YAC7C,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB;QACd,OAAO,CACL,WAAK,KAAK,EAAC,gBAAgB,IACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,QAAQ,MAAK,UAAU,CAAA,EAAA,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,QAAQ,MAAK,WAAW,CAAA,EAAA,CAAC,CAAC;YACpF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,QAAQ,MAAK,aAAa,CAAA,EAAA,CAAC,CAAC;YACxF,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,MAAM,0CAAE,QAAQ,MAAK,cAAc,CAAA,EAAA,CAAC,CAAC;YAE1F,OAAO,CACL,WAAK,KAAK,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjG,IAAI,CAAC,YAAY,IAAI,CACpB,mBACE,KAAK,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,EACzC,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACpD,aAAa,EAAE,KAAK,EACpB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GACrB,CAChB;gBAiBD,WAAK,KAAK,EAAC,aAAa,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;oBAC3D,WAAK,KAAK,EAAC,iBAAiB;wBAC1B,WAAK,KAAK,EAAC,aAAa;4BACtB,SAAG,KAAK,EAAC,+BAA+B,IAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAK,CACtE;wBACN,WAAK,KAAK,EAAC,aAAa;4BACtB,SAAG,KAAK,EAAC,kCAAkC,IAAE,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAK,CAC/E,CACF;oBACN,WAAK,KAAK,EAAC,kBAAkB;wBAC3B,WAAK,KAAK,EAAC,mBAAmB;4BAC5B,SAAG,KAAK,EAAC,kCAAkC,IAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAK,CAC3E;wBACN,WAAK,KAAK,EAAC,mBAAmB,IAAE,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAO,CACnF,CACF,CACF,CACP,CAAC;QACJ,CAAC,CAAC,CACE,CACP,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAM;QACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CAAC,MAAM;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,iBAAiB,CAAC,IAAmB;QAC3C,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;;YAAC,OAAA,iCAC1C,GAAG,KACN,OAAO,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,IAAI,IAC5B,CAAA;SAAA,CAAC,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,SAAiB,EAAE,OAAe;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAEtC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,0BAA0B;QACxB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,MAAM;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,YAAY,CAAC,KAA2B,EAAE,SAAiB;QACjE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;QAE/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,iCAAM,GAAG,KAAE,OAAO,EAAE,SAAS,IAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzH,CAAC;IA8BO,eAAe;QACrB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAEpC,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,qBAAqB;IAChC,CAAC;IAED,cAAc,CAAC,MAAM;QACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,oBAAoB;QAClB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAE,eAAe;YACzB,wEACE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,mBAC5B,IAAI,CAAC,iBAAiB,CAAC,YAAY,yBAC7B,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,iBAChD,IAAI,CAAC,iBAAiB,CAAC,UAAU,sBAC5B,IAAI,CAAC,iBAAiB,CAAC,cAAc,iBAC1C,IAAI,CAAC,iBAAiB,CAAC,UAAU,iBACjC,IAAI,CAAC,iBAAiB,CAAC,UAAU,yBACzB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,yBACxC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,uBAC1C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,6BACjC,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,sBACnD,IAAI,CAAC,iBAAiB,CAAC,cAAc,wBACnC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,kBAC7C,IAAI,CAAC,iBAAiB,CAAC,WAAW,kBAClC,IAAI,CAAC,iBAAiB,CAAC,WAAW,yBAC3B,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,eAClD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,eAC/B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAC1C,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EACpD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,4BAA4B,EAAE,IAAI,CAAC,0BAA0B,EAAE,EAC/D,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EACjD,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAClC;YAClB,IAAI,CAAC,gBAAgB,IAAI,CACxB,4DACE,KAAK,EAAC,QAAQ,EACd,KAAK,EAAE;oBACL,SAAS,EAAE,aAAa,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK;iBAC7E;gBAED,4DAAK,KAAK,EAAC,cAAc;oBACvB,4DAAK,KAAK,EAAC,cAAc;wBACvB,4DAAK,KAAK,EAAC,sBAAsB,EAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB;4BACtE,2DAAI,KAAK,EAAC,8BAA8B,qBAAoB;4BAC5D,wEAAiB,KAAK,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAoB,CAC3H,CACF;oBACN,4DAAK,KAAK,EAAC,iBAAiB;wBAC1B,4DAAK,KAAK,EAAC,eAAe;4BACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,WACE,KAAK,EAAC,eAAe,EACrB,SAAS,QACT,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,EAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EACnC,MAAM,EAAE,GAAG,EAAE;oCACX,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;wCAC9D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oCAChD,CAAC;oCACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gCAC3B,CAAC;gCAED,WAAK,KAAK,EAAC,mBAAmB;oCAC5B,WAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;wCAC5F,YACE,CAAC,EAAC,iFAAiF,EACnF,MAAM,EAAC,4BAA4B,kBACtB,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE;oCACN,SAAG,KAAK,EAAC,uBAAuB,IAAE,GAAG,CAAC,KAAK,CAAK,CAC5C;gCACN,iBACE,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,SAAS,CAAC,OAAO,EACxB,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,IAAI,EAAE,KAAK,EACX,eAAe,EAAE,CAAC,CAAC,EAAE;wCACnB,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oCAChC,CAAC,GACU,CACT,CACP,CAAC;4BACF,4DAAK,KAAK,EAAC,eAAe,GAAO,CAC7B,CACF,CACF,CACF,CACP;YACA,IAAI,CAAC,uBAAuB,IAAI,CAC/B,4DAAK,KAAK,EAAE,wBAAwB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE;gBAClF,wEACE,KAAK,EAAC,cAAc,EACpB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,OAAO,EAAE,CAAC,CAAC,EAAE;wBACX,CAAC,CAAC,eAAe,EAAE,CAAC;wBACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,CAAC,EACD,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAC1B,CACf,CACP;YACA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACtB,4CAA4C;YAC5C;gBACE;oBACE,UAAI,KAAK,EAAC,gBAAgB;wBACvB,IAAI,CAAC,YAAY,IAAI,CACpB,UACE,KAAK,EAAE;gCACL,QAAQ,EAAE,IAAI;gCACd,WAAW,EAAE,IAAI,CAAC,iBAAiB;gCACnC,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI;6BAC9C;4BAED,mBAAa,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAgB,CACnJ,CACN;wBAEA,IAAI,CAAC,eAAe;6BAClB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;6BAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;;4BAClB,MAAM,KAAK,GAAG,MAAA,GAAG,CAAC,KAAK,mCAAI,MAAM,CAAC;4BAElC,OAAO,CACL,UACE,KAAK,EAAE;oCACL,KAAK,EAAE,GAAG,CAAC,KAAK;oCAChB,SAAS,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM;iCAC/B,EACD,KAAK,EAAE;oCACL,YAAY,EAAE,IAAI;oCAClB,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI;oCAC7C,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK,KAAK,CAAC;oCAClD,UAAU,EAAE,IAAI,CAAC,YAAY;iCAC9B;gCAED,WAAK,KAAK,EAAE,4BAA4B,KAAK,EAAE;oCAC7C,SAAG,KAAK,EAAC,0BAA0B,IAAE,GAAG,CAAC,KAAK,CAAK,CAC/C,CACH,CACN,CAAC;wBACJ,CAAC,CAAC;wBAEH,IAAI,CAAC,iBAAiB,IAAI,CACzB,UACE,KAAK,EAAE;gCACL,YAAY,EAAE,IAAI;gCAClB,YAAY,EAAE,IAAI,CAAC,gBAAgB;gCACnC,UAAU,EAAE,IAAI,CAAC,YAAY;gCAC7B,CAAC,gBAAgB,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI;6BAC9C;4BAED,WAAK,KAAK,EAAC,WAAW,GAAO,CAC1B,CACN,CACE,CACC;gBAER,iBACG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAClC,UAAI,KAAK,EAAC,YAAY;oBACnB,IAAI,CAAC,YAAY,IAAI,CACpB,UAAI,KAAK,EAAC,uBAAuB;wBAC/B,mBAAa,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAgB,CACnJ,CACN;oBAEA,IAAI,CAAC,eAAe;yBAClB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;yBAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACpB,UAAI,KAAK,EAAE,gBAAgB,IAAI,CAAC,iBAAiB,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC9H,WAAK,KAAK,EAAC,QAAQ;4BACjB,WAAK,KAAK,EAAC,wBAAwB,GAAO,CACtC,CACH,CACN,CAAC;oBAEH,IAAI,CAAC,iBAAiB,IAAI,CACzB,UACE,KAAK,EAAE;4BACL,YAAY,EAAE,IAAI;4BAClB,YAAY,EAAE,IAAI;4BAClB,YAAY,EAAE,IAAI,CAAC,gBAAgB;4BACnC,UAAU,EAAE,IAAI,CAAC,YAAY;yBAC9B,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;wBAExB,WAAK,KAAK,EAAC,QAAQ;4BACjB,WAAK,KAAK,EAAC,0BAA0B,GAAO,CACxC,CACH,CACN,CACE,CACN,CAAC,CACI,CACF,CACT,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,uCAAuC;YACvC,WAAK,KAAK,EAAC,qBAAqB;gBAC9B,sBACE,IAAI,EAAC,IAAI,eACE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,qBACxB,IAAI,CAAC,gBAAgB,CAAC,cAAc,EACrD,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAClC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,sCACD,iBAAiB,uBAC/B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EACzD,UAAU,EAAE,IAAI,qBACA,MAAM,EACtB,IAAI,EAAC,cAAc,wBACA,OAAO,GACV,CACd,CACP,CAAC,CAAC,CAAC;YACF,2BAA2B;YAC3B,kBAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAI,CAC1E;YACA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAChD,wGACkC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,eACtE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,kBAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,iBACnH,IAAI,CAAC,UAAU,EAC5B,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GACrC,CAClB,CACG,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, Prop, State, h, Fragment, Watch, Listen } from '@stencil/core';\r\nimport {\r\n DropdownOption,\r\n FileIconStyles,\r\n FileIconTypes,\r\n FilterConfig,\r\n GeneralColors,\r\n GeneralSizes,\r\n IllustrationTypes,\r\n RowAction,\r\n StateEnum,\r\n StateType,\r\n TableColumn,\r\n ThemeTypes,\r\n} from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-table',\r\n styleUrl: 'gb-table.css',\r\n shadow: true,\r\n})\r\nexport class GbTable {\r\n @Prop() loading: boolean = false;\r\n @Prop() columns: TableColumn[] = [\r\n // { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n // { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },\r\n // { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, supportingText: row => row.role, mobile: { position: 'top_right' } },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number' },\r\n // {\r\n // key: 'status',\r\n // label: 'Status',\r\n // cellComponent: 'gb-badge',\r\n // cellProps: row => ({ color: row.status === 'Completed' ? 'success' : 'error', type: 'badge_modern', size: 'sm', icon: 'dot' }),\r\n // cellSlots: {\r\n // default: {\r\n // tag: 'p',\r\n // content: row => row.status,\r\n // },\r\n // },\r\n // },\r\n ];\r\n @Prop() data: any[] = [\r\n // {\r\n // id: '#30011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',\r\n // date: 'Jan 1, 2022',\r\n // name: 'Emma Johnson',\r\n // role: 'Frontend Developer',\r\n // level: 'Today',\r\n // customer: 'John Doe',\r\n // amount: '$120.00',\r\n // status: 'Completed',\r\n // },\r\n // { id: '#3002', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: new Date(), name: 'Liam Smith', role: 'Frontend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3004', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3005', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3006', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },\r\n // { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },\r\n // { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },\r\n // { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },\r\n // { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },\r\n // { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },\r\n // { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },\r\n // { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },\r\n // { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },\r\n // { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },\r\n // { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },\r\n // { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },\r\n // { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },\r\n // { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },\r\n // { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },\r\n // { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },\r\n // { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },\r\n // { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },\r\n // { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },\r\n // { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },\r\n // { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },\r\n // { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },\r\n // { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },\r\n // { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },\r\n // { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },\r\n // { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },\r\n // { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },\r\n // { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },\r\n ];\r\n @Prop() tableHeaderConfig: {\r\n tableHeading?: boolean;\r\n tableHeadingLabel?: string;\r\n showDateFilter?: boolean;\r\n showFilter?: boolean;\r\n showColumnOptions?: boolean;\r\n showSearch?: boolean;\r\n showExport?: boolean;\r\n showRefreshButton?: boolean;\r\n showEntireData?: boolean;\r\n showLayoutToggle?: boolean;\r\n filterState?: 'default' | 'applied';\r\n filterCount?: number;\r\n exportButtonState?: 'default' | 'disabled';\r\n pdfState?: 'default' | 'disabled';\r\n csvState?: 'default' | 'disabled';\r\n datePickerMode?: 'single' | 'range';\r\n inputPlaceholder?: string;\r\n datePickerPlaceholder?: string;\r\n } = {\r\n tableHeading: false,\r\n tableHeadingLabel: 'Suspicious outflows',\r\n showDateFilter: true,\r\n showFilter: true,\r\n showColumnOptions: true,\r\n showSearch: true,\r\n showExport: true,\r\n showRefreshButton: false,\r\n datePickerMode: 'range',\r\n inputPlaceholder: 'Transaction reference',\r\n };\r\n @Prop() paginationConfig: {\r\n paginationMode: 'internal' | 'external';\r\n entriesDropdownMenuPosition: 'top' | 'bottom';\r\n currentPage?: number;\r\n pageSize?: number;\r\n totalItems?: number;\r\n } = {\r\n paginationMode: 'internal',\r\n entriesDropdownMenuPosition: 'top',\r\n currentPage: 1,\r\n pageSize: 10,\r\n };\r\n @Prop() emptyStateConfig: {\r\n size: GeneralSizes;\r\n mainText: string;\r\n supportingText?: string;\r\n color?: GeneralColors;\r\n illustrationIcon?: string;\r\n illustrationStyle: IllustrationTypes;\r\n background: boolean;\r\n backgroundType: 'grid' | 'circles';\r\n theme?: ThemeTypes;\r\n primaryButtonState?: StateType;\r\n primaryButtonIconLeadingSwap?: string;\r\n primaryButtonIconTrailingSwap?: string;\r\n secondaryButtonIconLeadingSwap?: string;\r\n secondaryButtonIconTrailingSwap?: string;\r\n primaryButtonText?: string;\r\n secondaryButtonText?: string;\r\n fileStyle?: FileIconStyles;\r\n fileType?: FileIconTypes;\r\n featuredIconSwap?: string;\r\n } = {\r\n size: 'md',\r\n background: true,\r\n backgroundType: 'grid',\r\n mainText: 'No data available',\r\n supportingText: 'Try adjusting your filters or check back later.',\r\n color: 'gray',\r\n illustrationIcon: 'assets/alert-circle.svg',\r\n illustrationStyle: 'box',\r\n theme: 'light',\r\n };\r\n @Prop() filterConfig: FilterConfig;\r\n @Prop() showActionsColumn: boolean = true;\r\n @Prop() rowActions: RowAction[] = [\r\n // { label: '', action: '', icon: 'assets/more-horizontal.svg', type: 'dropdown' },\r\n // { label: 'View Details', action: 'view_details', icon: 'assets/view.svg', type: 'button' },\r\n // { label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', type: 'button' },\r\n ];\r\n @Prop() dropdownOptions?: DropdownOption[] = [\r\n // { label: 'View', action: 'view', icon: 'assets/view.svg', disabled: false },\r\n // { label: 'Edit', action: 'edit', icon: 'assets/pencil-edit-01.svg', disabled: false },\r\n // { label: 'Delete', action: 'delete', icon: 'assets/delete-02.svg', disabled: true },\r\n ];\r\n @Prop() stickyFirstColumn: boolean = false;\r\n @Prop() stickyLastColumn: boolean = false;\r\n @Prop() actionsType: 'none' | 'dropdown' | '' = 'none';\r\n @Prop() showCheckbox: boolean = false;\r\n @Prop() tableHeadColor: 'gray' | 'blue' = 'gray';\r\n @Prop() rowKey: string | ((row: any) => string) = 'id';\r\n @State() internalCurrentPage: number = 1;\r\n @State() internalPageSize: number = 10;\r\n @State() openRowIndex: number | null = null;\r\n @State() dropdownPlacement: 'top-end' | 'bottom-end' = 'bottom-end';\r\n @State() sortKey?: string;\r\n @State() sortDirection: 'asc' | 'desc' = 'asc';\r\n @State() selectedRowIds: Set<string> = new Set();\r\n @State() breakpoint: 'mobile' | 'desktop' = 'desktop';\r\n @State() isMobile: boolean = false;\r\n @State() isScrollable: boolean = false;\r\n @State() showColumnsPanel = false;\r\n @State() showFilterModal = false;\r\n @State() internalColumns: TableColumn[];\r\n @State() modalPosition = { x: 0, y: 0 };\r\n @State() showFilterModalInternal: boolean = false;\r\n @State() isFilterModalVisible: boolean = false;\r\n @State() internalLoading: boolean = false;\r\n @Event() rowActionClicked: EventEmitter<{ action: string; row: any }>;\r\n @Event() pageItemSelected: EventEmitter<{ pageSize: any; pageNumber: number }>;\r\n @Event() selectionChanged: EventEmitter<any[]>;\r\n @Event() inputValueChanged: EventEmitter<void>;\r\n @Event() dateChange: EventEmitter<string | string[]>;\r\n @Event() exportClicked: EventEmitter<{ dataType: string; exportType: string }>;\r\n @Event() rowClicked: EventEmitter<{ row: any }>;\r\n @Event() applyFilters: EventEmitter<{\r\n filters: any;\r\n pagination: any;\r\n }>;\r\n\r\n private isDraggingModal = false;\r\n private dragOffset = { x: 0, y: 0 };\r\n private actionButtonRefs: HTMLGbButtonElement[] = [];\r\n private currentAnchorEl?: HTMLElement;\r\n private scrollContainer?: HTMLDivElement;\r\n private draggedIndex: number | null = null;\r\n private dropdownRef: HTMLDivElement;\r\n\r\n componentWillLoad() {\r\n this.initializeColumns(this.columns);\r\n this.internalLoading = this.loading;\r\n\r\n // Initialize internal pagination state from config\r\n if (this.paginationConfig) {\r\n this.internalPageSize = this.paginationConfig.pageSize || 10;\r\n this.internalCurrentPage = this.paginationConfig.currentPage || 1;\r\n }\r\n }\r\n\r\n componentWillRender() {\r\n this.checkViewport();\r\n window.addEventListener('resize', this.checkViewport.bind(this));\r\n }\r\n\r\n componentDidRender() {\r\n requestAnimationFrame(() => this.checkScrollability());\r\n }\r\n\r\n @Listen('resize', { target: 'window' })\r\n checkViewport() {\r\n this.isMobile = window.innerWidth <= 900;\r\n this.checkScrollability();\r\n }\r\n\r\n private checkScrollability() {\r\n if (!this.scrollContainer) return;\r\n\r\n const { scrollWidth, clientWidth } = this.scrollContainer;\r\n const newScrollable = scrollWidth > clientWidth;\r\n\r\n if (newScrollable !== this.isScrollable) {\r\n this.isScrollable = newScrollable; // only update if different\r\n }\r\n }\r\n\r\n private handleAction(action: string, row: any) {\r\n this.rowActionClicked.emit({ action, row });\r\n }\r\n\r\n private renderCell(col: TableColumn, row: any) {\r\n if (col.cellComponent) {\r\n const Tag = col.cellComponent as keyof HTMLElementTagNameMap;\r\n\r\n // resolve props\r\n const props = typeof col.cellProps === 'function' ? col.cellProps(row) : col.cellProps || {};\r\n\r\n // resolve default slot content\r\n let defaultSlotContent: any = null;\r\n if (col.cellSlots?.default?.content) {\r\n const content = col.cellSlots.default.content(row);\r\n const slotTag = col.cellSlots.default.tag;\r\n defaultSlotContent = slotTag ? h(slotTag, {}, content) : content;\r\n }\r\n\r\n // resolve named slots\r\n const namedSlotElements: any[] = [];\r\n if (col.cellSlots?.named) {\r\n for (const [slotName, slotConfig] of Object.entries(col.cellSlots.named)) {\r\n const content = slotConfig.content(row);\r\n const element = h(slotConfig.tag, { slot: slotName }, content);\r\n namedSlotElements.push(element);\r\n }\r\n }\r\n\r\n // render component with slots\r\n const allChildren = [defaultSlotContent, ...namedSlotElements].filter(child => child != null);\r\n\r\n return h(Tag, props, allChildren.length > 0 ? allChildren : undefined);\r\n }\r\n\r\n if (col.supportingText) {\r\n const primary = row[col.key];\r\n\r\n const supporting = typeof col.supportingText === 'function' ? col.supportingText(row) : col.supportingText ? row[col.supportingText] : undefined;\r\n\r\n return (\r\n <div class=\"text_and_supporting_text\">\r\n <div class=\"primary\">\r\n <p class=\"text-sm-medium\">{primary}</p>\r\n </div>\r\n {supporting && (\r\n <div class=\"supporting\">\r\n <p class=\"text-xs-regular\">{supporting}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n const value = this.getCellValue(col, row);\r\n return <p class=\"body_text text-sm-regular\">{value}</p>;\r\n }\r\n\r\n private getCellValue(col: TableColumn, row: any) {\r\n if (col.value) {\r\n return col.value(row);\r\n }\r\n\r\n return <p class=\"body_text text-sm-regular\">{row[col.key]}</p>;\r\n }\r\n\r\n emitPaginationDetails({ detail }) {\r\n this.pageItemSelected.emit(detail);\r\n }\r\n\r\n private async toggleDropdown(rowIndex: number) {\r\n if (this.openRowIndex === rowIndex) {\r\n this.openRowIndex = null;\r\n return;\r\n }\r\n\r\n const buttonInstance = this.actionButtonRefs[rowIndex];\r\n const nativeBtn = await buttonInstance?.getNativeButton();\r\n\r\n this.currentAnchorEl = nativeBtn ?? undefined;\r\n this.openRowIndex = rowIndex;\r\n\r\n // Calculate available space for dropdown positioning\r\n requestAnimationFrame(() => this.calculateDropdownPlacement(nativeBtn, this.dropdownRef));\r\n }\r\n\r\n private calculateDropdownPlacement(buttonElement?: HTMLElement, dropdownElement?: HTMLDivElement) {\r\n if (!buttonElement || !dropdownElement) return;\r\n\r\n const buttonRect = buttonElement.getBoundingClientRect();\r\n const tableRect = this.scrollContainer.getBoundingClientRect();\r\n const dropdownHeight = requestAnimationFrame(() => dropdownElement.scrollHeight);\r\n\r\n // Space within the TABLE, not viewport\r\n const spaceBelow = tableRect.bottom - buttonRect.bottom;\r\n const spaceAbove = buttonRect.top - tableRect.top;\r\n\r\n if (spaceBelow < dropdownHeight && spaceAbove > dropdownHeight) {\r\n this.dropdownPlacement = 'top-end';\r\n } else {\r\n this.dropdownPlacement = 'bottom-end';\r\n }\r\n }\r\n\r\n private onSort(col: TableColumn) {\r\n if (!col.sortable) return;\r\n\r\n if (this.sortKey === col.key) {\r\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\r\n } else {\r\n this.sortKey = col.key;\r\n this.sortDirection = 'asc';\r\n }\r\n }\r\n\r\n private get sortedData() {\r\n if (!this.sortKey) return this.data;\r\n\r\n const col = this.internalColumns.find(c => c.key === this.sortKey);\r\n if (!col) return this.data;\r\n\r\n return [...this.data].sort((a, b) => {\r\n let valA = col.value ? col.value(a) : a[this.sortKey!];\r\n let valB = col.value ? col.value(b) : b[this.sortKey!];\r\n\r\n // Null safety\r\n if (valA == null) return 1;\r\n if (valB == null) return -1;\r\n\r\n let result = 0;\r\n\r\n switch (col.sortType) {\r\n case 'number': {\r\n const numA = Number(String(valA).replace(/[^0-9.-]+/g, ''));\r\n const numB = Number(String(valB).replace(/[^0-9.-]+/g, ''));\r\n result = numA - numB;\r\n break;\r\n }\r\n\r\n case 'date': {\r\n const timeA = new Date(valA).getTime();\r\n const timeB = new Date(valB).getTime();\r\n result = timeA - timeB;\r\n break;\r\n }\r\n\r\n case 'string':\r\n default: {\r\n result = String(valA).localeCompare(String(valB), undefined, {\r\n sensitivity: 'base',\r\n });\r\n break;\r\n }\r\n }\r\n\r\n return this.sortDirection === 'asc' ? result : -result;\r\n });\r\n }\r\n\r\n private get allSelected() {\r\n return this.sortedData.length > 0 && this.selectedRowIds.size === this.sortedData.length;\r\n }\r\n\r\n private get isIndeterminate() {\r\n return this.selectedRowIds.size > 0 && this.selectedRowIds.size < this.sortedData.length;\r\n }\r\n\r\n private getRowId(row: any): string {\r\n if (typeof this.rowKey === 'function') {\r\n return this.rowKey(row);\r\n }\r\n\r\n return row[this.rowKey];\r\n }\r\n\r\n private toggleAll() {\r\n if (this.allSelected) {\r\n this.selectedRowIds = new Set();\r\n } else {\r\n this.selectedRowIds = new Set(this.sortedData.map(row => this.getRowId(row)));\r\n }\r\n\r\n this.emitSelection();\r\n }\r\n\r\n private toggleRow(row: any) {\r\n const updated = new Set(this.selectedRowIds);\r\n\r\n if (updated.has(this.getRowId(row))) {\r\n updated.delete(this.getRowId(row));\r\n } else {\r\n updated.add(this.getRowId(row));\r\n }\r\n\r\n this.selectedRowIds = updated;\r\n\r\n this.emitSelection();\r\n }\r\n\r\n private emitSelection() {\r\n const selected = this.sortedData.filter(row => this.selectedRowIds.has(this.getRowId(row)));\r\n\r\n this.selectionChanged.emit(selected);\r\n }\r\n\r\n private get displayedData() {\r\n if (!this.paginationConfig) {\r\n return this.sortedData;\r\n }\r\n\r\n if (this.paginationConfig.paginationMode === 'external') {\r\n return this.sortedData;\r\n }\r\n\r\n const start = (this.internalCurrentPage - 1) * this.internalPageSize;\r\n const end = start + this.internalPageSize;\r\n\r\n return this.sortedData.slice(start, end);\r\n }\r\n\r\n private handlePageChange = ({ detail }: any) => {\r\n const { pageNumber, pageSize } = detail;\r\n\r\n this.internalPageSize = pageSize;\r\n\r\n if (this.paginationConfig.paginationMode === 'internal') {\r\n this.internalCurrentPage = pageNumber;\r\n } else {\r\n this.pageItemSelected.emit(detail);\r\n }\r\n };\r\n\r\n private get totalPages() {\r\n if (!this.paginationConfig) return 1;\r\n\r\n const pageSize = this.internalPageSize || 1;\r\n\r\n const totalItems =\r\n this.paginationConfig.paginationMode === 'internal'\r\n ? this.sortedData.length\r\n : (this.paginationConfig.totalItems ?? 0);\r\n\r\n return Math.max(1, Math.ceil(totalItems / pageSize));\r\n}\r\n\r\n @Watch('data')\r\n onDataChange() {\r\n this.internalCurrentPage = 1;\r\n }\r\n\r\n @Watch('loading')\r\n onLoadingChange(newValue: boolean, _oldValue: boolean) {\r\n this.internalLoading = newValue;\r\n }\r\n\r\n private renderHeaderIcons(col: TableColumn) {\r\n return (\r\n <>\r\n {col.sortable && (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n style={{\r\n transform: this.sortKey === col.key && this.sortDirection === 'desc' ? 'rotate(180deg)' : 'rotate(0deg)',\r\n transition: 'transform 0.2s ease',\r\n }}\r\n >\r\n <path\r\n d=\"M7.99998 13.3332V2.6665M7.99998 13.3332C8.87837 13.3332 11.3333 9.99993 11.3333 9.99993M7.99998 13.3332C7.12158 13.3332 4.66663 9.9999 4.66663 9.9999\"\r\n stroke={this.sortKey === col.key ? 'var(--color-icon, #4B5565)' : 'var(--color-icon-disabled, #808c9e)'}\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n\r\n {col.helpIcon && (\r\n <gb-help-tooltip show-supporting-text=\"true\">\r\n <p slot=\"label\">This is a label</p>\r\n <p slot=\"supporting_text\">This is a supporting text</p>\r\n </gb-help-tooltip>\r\n )}\r\n </>\r\n );\r\n }\r\n\r\n renderDesktopView() {\r\n // compute table min-width to force horizontal scroll when > 5 columns\r\n const defaultColWidth = 160;\r\n let totalWidth = 0;\r\n\r\n this.internalColumns.forEach(col => {\r\n if (col.width) {\r\n const w = typeof col.width === 'number' ? col.width : parseInt(String(col.width), 10);\r\n totalWidth += Number.isFinite(w) ? w : defaultColWidth;\r\n } else {\r\n totalWidth += defaultColWidth;\r\n }\r\n });\r\n\r\n // const tableStyle = this.columns.length > 5 ? { minWidth: `${totalWidth}px` } : {};\r\n\r\n return (\r\n <div class={`table_scroll`} ref={el => (this.scrollContainer = el as HTMLDivElement)}>\r\n <table>\r\n <thead>\r\n <tr class=\"table_head_row\">\r\n {this.showCheckbox && (\r\n <th\r\n style={{ width: '15px' }}\r\n class={{\r\n checkbox: this.showCheckbox,\r\n sticky_left: this.stickyFirstColumn,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <gb-checkbox type=\"checkbox\" checked={this.allSelected} indeterminate={this.isIndeterminate} size=\"sm\" onClick={() => this.toggleAll()}></gb-checkbox>\r\n </th>\r\n )}\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((col, index) => {\r\n const align = col.align ?? 'left';\r\n\r\n return (\r\n <th\r\n style={{ width: col.width, cursor: col.sortable ? 'pointer' : 'default', textAlign: col.align || 'left' }}\r\n onClick={() => this.onSort(col)}\r\n class={{\r\n table_header: true,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n sticky_left: this.stickyFirstColumn && index === 0,\r\n sortable: col.sortable,\r\n has_border: this.isScrollable,\r\n }}\r\n >\r\n <div class={`table_head_content align-${align}`}>\r\n {align === 'right' && <div class=\"table_head_icons\">{this.renderHeaderIcons(col)}</div>}\r\n <p class={`head_text text-xs-medium`}>{col.label}</p>\r\n {align === 'left' && <div class=\"table_head_icons\">{this.renderHeaderIcons(col)}</div>}\r\n </div>\r\n </th>\r\n );\r\n })}\r\n {this.showActionsColumn && (\r\n <th\r\n class={{\r\n actions_cell: true,\r\n sticky_right: this.stickyLastColumn,\r\n has_border: this.isScrollable,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <div class=\"empty_div\"></div>\r\n </th>\r\n )}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {this.displayedData.map((row, rowIndex) => (\r\n <tr class=\"table_body\">\r\n {this.showCheckbox && (\r\n <td class={`table_detail ${this.showCheckbox ? 'checkbox' : ''}`}>\r\n <gb-checkbox\r\n type=\"checkbox\"\r\n checked={this.selectedRowIds.has(this.getRowId(row))}\r\n indeterminate={false}\r\n size=\"sm\"\r\n onClick={() => this.toggleRow(row)}\r\n ></gb-checkbox>\r\n </td>\r\n )}\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((col, index) => (\r\n <>\r\n <td\r\n style={{ textAlign: col.align || 'left' }}\r\n class={`table_detail ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''} ${this.isScrollable ? 'has_border' : ''}`}\r\n >\r\n {this.renderCell(col, row)}\r\n </td>\r\n </>\r\n ))}\r\n {this.showActionsColumn && (\r\n <td class={{ table_detail: true, actions_cell: true, sticky_right: this.stickyLastColumn, has_border: this.isScrollable }} style={{ width: '50px' }}>\r\n <>\r\n <div class=\"action_buttons\">\r\n {this.rowActions.map(action => (\r\n <>\r\n {action.type === 'dropdown' ? (\r\n <gb-button\r\n id={`gb-table-trigger-${rowIndex}`}\r\n ref={el => (this.actionButtonRefs[rowIndex] = el)}\r\n class=\"dropdown_button\"\r\n hierarchy=\"tertiary_gray\"\r\n size=\"md\"\r\n icon=\"only\"\r\n iconLeading\r\n iconLeadingSwap=\"assets/more-horizontal.svg\"\r\n onClick={() => this.toggleDropdown(rowIndex)}\r\n ></gb-button>\r\n ) : (\r\n <gb-button\r\n hierarchy=\"tertiary_gray\"\r\n size=\"md\"\r\n icon=\"only\"\r\n destructive={action.destructive}\r\n iconLeading\r\n iconLeadingSwap={action.icon}\r\n onClick={() => this.handleAction(action.action, row)}\r\n ></gb-button>\r\n )}\r\n </>\r\n ))}\r\n </div>\r\n <>\r\n {this.openRowIndex === rowIndex && (\r\n <gb-portal\r\n anchor-id={`gb-table-trigger-${rowIndex}`}\r\n placement={this.dropdownPlacement}\r\n anchorEl={this.currentAnchorEl}\r\n boundaryEl={this.scrollContainer}\r\n dropdownHeight={requestAnimationFrame(() => this.dropdownRef.scrollHeight)}\r\n open\r\n >\r\n <div class=\"portal_dropdown_wrapper\" ref={el => (this.dropdownRef = el as HTMLDivElement)}>\r\n {this.dropdownOptions.map(action => (\r\n <gb-dropdown-items-with-shortcut\r\n icon={action.icon ? true : false}\r\n state={action.disabled ? StateEnum.Disabled : StateEnum.Default}\r\n label={action.label}\r\n icon-src={action.icon}\r\n onClick={() => {\r\n this.handleAction(action.action, row);\r\n this.openRowIndex = null;\r\n }}\r\n ></gb-dropdown-items-with-shortcut>\r\n ))}\r\n </div>\r\n </gb-portal>\r\n )}\r\n </>\r\n </>\r\n </td>\r\n )}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n }\r\n\r\n @Watch('columns')\r\n validateMobilePositions(newCols: TableColumn[]) {\r\n const positions = this.internalColumns.map(c => c.mobile?.position).filter(Boolean);\r\n\r\n const duplicates = positions.filter((item, index) => positions.indexOf(item) !== index);\r\n\r\n if (duplicates.length) {\r\n console.warn('[gb-table] Duplicate mobile positions detected:', duplicates);\r\n }\r\n\r\n this.initializeColumns(newCols);\r\n }\r\n\r\n @Watch('paginationConfig')\r\n handlePaginationChange(newValue: any, oldValue: any) {\r\n if (newValue.pageSize !== oldValue?.pageSize) {\r\n this.internalCurrentPage = 1;\r\n }\r\n }\r\n\r\n emitRowData(row: any) {\r\n this.rowClicked.emit(row);\r\n }\r\n\r\n renderMobileView() {\r\n return (\r\n <div class=\"mobile_wrapper\">\r\n {this.displayedData.map(row => {\r\n const topLeft = this.internalColumns.find(c => c.mobile?.position === 'top_left');\r\n const topRight = this.internalColumns.find(c => c.mobile?.position === 'top_right');\r\n const bottomLeft = this.internalColumns.find(c => c.mobile?.position === 'bottom_left');\r\n const bottomRight = this.internalColumns.find(c => c.mobile?.position === 'bottom_right');\r\n\r\n return (\r\n <div class=\"mobile_card_wrapper\" style={{ paddingLeft: this.showCheckbox ? 'var(--spacing-4)' : '' }}>\r\n {this.showCheckbox && (\r\n <gb-checkbox\r\n style={{ paddingTop: 'var(--spacing-6)' }}\r\n type=\"checkbox\"\r\n checked={this.selectedRowIds.has(this.getRowId(row))}\r\n indeterminate={false}\r\n size=\"sm\"\r\n onClick={() => this.toggleRow(row)}\r\n ></gb-checkbox>\r\n )}\r\n {/* <div class=\"mobile-card\">\r\n <div class=\"mobile-row mobile-top\">\r\n <div class=\"mobile-cell\">\r\n <p class=\"top_left_text text-md-regular\">{topLeft && row[topLeft.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell right\">\r\n <p class=\"top_right_text text-md-semi-bold\">{topRight && row[topRight.key]}</p>\r\n </div>\r\n </div>\r\n <div class=\"mobile-row mobile-bottom\">\r\n <div class=\"mobile-cell\">\r\n <p class=\"bottom_left_text text-sm-regular\">{bottomLeft && row[bottomLeft.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell right\">{bottomRight && this.renderCell(bottomRight, row)}</div>\r\n </div>\r\n </div> */}\r\n <div class=\"mobile-card\" onClick={() => this.emitRowData(row)}>\r\n <div class=\"mobile-row left\">\r\n <div class=\"mobile-cell\">\r\n <p class=\"top_left_text text-md-regular\">{topLeft && row[topLeft.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell\">\r\n <p class=\"bottom_left_text text-sm-regular\">{bottomLeft && row[bottomLeft.key]}</p>\r\n </div>\r\n </div>\r\n <div class=\"mobile-row right\">\r\n <div class=\"mobile-cell right\">\r\n <p class=\"top_right_text text-md-semi-bold\">{topRight && row[topRight.key]}</p>\r\n </div>\r\n <div class=\"mobile-cell right\">{bottomRight && this.renderCell(bottomRight, row)}</div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n }\r\n\r\n emitSearchValue(detail) {\r\n this.inputValueChanged.emit(detail.detail);\r\n }\r\n\r\n emitDateChange(detail) {\r\n this.dateChange.emit(detail.detail);\r\n }\r\n\r\n private initializeColumns(cols: TableColumn[]) {\r\n this.internalColumns = (cols || []).map(col => ({\r\n ...col,\r\n visible: col.visible ?? true, // default to true\r\n }));\r\n }\r\n\r\n private reorderColumns(fromIndex: number, toIndex: number) {\r\n const updated = [...this.internalColumns];\r\n const [movedItem] = updated.splice(fromIndex, 1);\r\n updated.splice(toIndex, 0, movedItem);\r\n\r\n this.internalColumns = updated;\r\n }\r\n\r\n columnOptionsButtonClicked() {\r\n return () => {\r\n this.showColumnsPanel = !this.showColumnsPanel;\r\n };\r\n }\r\n\r\n exportButtonClicked(detail) {\r\n this.exportClicked.emit(detail.detail);\r\n }\r\n\r\n private toggleColumn(event: CustomEvent<boolean>, columnKey: string) {\r\n const isVisible = event.detail;\r\n\r\n this.internalColumns = this.internalColumns.map(col => (col.key === columnKey ? { ...col, visible: isVisible } : col));\r\n }\r\n\r\n private onModalPointerDown = (event: PointerEvent) => {\r\n this.isDraggingModal = true;\r\n\r\n this.dragOffset = {\r\n x: event.clientX - this.modalPosition.x,\r\n y: event.clientY - this.modalPosition.y,\r\n };\r\n\r\n window.addEventListener('pointermove', this.onModalPointerMove);\r\n window.addEventListener('pointerup', this.onModalPointerUp);\r\n };\r\n\r\n private onModalPointerMove = (event: PointerEvent) => {\r\n if (!this.isDraggingModal) return;\r\n\r\n this.modalPosition = {\r\n x: event.clientX - this.dragOffset.x,\r\n y: event.clientY - this.dragOffset.y,\r\n };\r\n };\r\n\r\n private onModalPointerUp = () => {\r\n this.isDraggingModal = false;\r\n\r\n window.removeEventListener('pointermove', this.onModalPointerMove);\r\n window.removeEventListener('pointerup', this.onModalPointerUp);\r\n };\r\n\r\n private openFilterModal() {\r\n this.showFilterModalInternal = true;\r\n\r\n requestAnimationFrame(() => {\r\n this.isFilterModalVisible = true;\r\n });\r\n }\r\n\r\n private closeFilterModal() {\r\n this.isFilterModalVisible = false;\r\n\r\n setTimeout(() => {\r\n this.showFilterModalInternal = false;\r\n }, 300); // match CSS duration\r\n }\r\n\r\n onApplyFilters(detail) {\r\n console.log(detail.detail);\r\n this.applyFilters.emit(detail.detail);\r\n this.showFilterModalInternal = false;\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.checkViewport);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`table_wrapper`}>\r\n <gb-table-header\r\n mode={this.tableHeaderConfig.datePickerMode}\r\n table-heading={this.tableHeaderConfig.tableHeading}\r\n table-heading-label={this.tableHeaderConfig.tableHeadingLabel}\r\n show-search={this.tableHeaderConfig.showSearch}\r\n show-date-filter={this.tableHeaderConfig.showDateFilter}\r\n show-filter={this.tableHeaderConfig.showFilter}\r\n show-export={this.tableHeaderConfig.showExport}\r\n show-column-options={this.tableHeaderConfig.showColumnOptions}\r\n show-refresh-button={this.tableHeaderConfig.showRefreshButton}\r\n input-placeholder={this.tableHeaderConfig.inputPlaceholder}\r\n date-picker-placeholder={this.tableHeaderConfig.datePickerPlaceholder}\r\n show-entire-data={this.tableHeaderConfig.showEntireData}\r\n show-layout-toggle={this.tableHeaderConfig.showLayoutToggle}\r\n filter-state={this.tableHeaderConfig.filterState}\r\n filter-count={this.tableHeaderConfig.filterCount}\r\n export-button-state={this.tableHeaderConfig.exportButtonState}\r\n pdf-state={this.tableHeaderConfig.pdfState}\r\n csv-state={this.tableHeaderConfig.csvState}\r\n onInputValueChanged={this.emitSearchValue.bind(this)}\r\n onDateChange={this.emitDateChange.bind(this)}\r\n onColumnOptionsButtonClicked={this.columnOptionsButtonClicked()}\r\n onExportClicked={e => this.exportButtonClicked(e)}\r\n onFilterButtonClicked={() => this.openFilterModal()}\r\n ></gb-table-header>\r\n {this.showColumnsPanel && (\r\n <div\r\n class=\"dialog\"\r\n style={{\r\n transform: `translate(${this.modalPosition.x}px, ${this.modalPosition.y}px)`,\r\n }}\r\n >\r\n <div class=\"column-modal\">\r\n <div class=\"modal_header\">\r\n <div class=\"modal_header_content\" onPointerDown={this.onModalPointerDown}>\r\n <h4 class=\"heading display-xs-semi-bold\">Column Options</h4>\r\n <gb-button-close class=\"close_button\" color=\"gray\" size=\"sm\" onClick={() => (this.showColumnsPanel = false)}></gb-button-close>\r\n </div>\r\n </div>\r\n <div class=\"content_wrapper\">\r\n <div class=\"modal_content\">\r\n {this.internalColumns.map((col, index) => (\r\n <div\r\n class=\"column_option\"\r\n draggable\r\n onDragStart={() => (this.draggedIndex = index)}\r\n onDragOver={e => e.preventDefault()}\r\n onDrop={() => {\r\n if (this.draggedIndex !== null && this.draggedIndex !== index) {\r\n this.reorderColumns(this.draggedIndex, index);\r\n }\r\n this.draggedIndex = null;\r\n }}\r\n >\r\n <div class=\"label_and_dragger\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path\r\n d=\"M8 6H8.00635M8 12H8.00635M8 18H8.00635M15.9937 6H16M15.9937 12H16M15.9937 18H16\"\r\n stroke=\"var(--color-icon, #4B5565)\"\r\n stroke-width=\"2.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <p class=\"label text-md-regular\">{col.label}</p>\r\n </div>\r\n <gb-toggle\r\n size=\"sm\"\r\n state={StateEnum.Default}\r\n position=\"right\"\r\n pressed={col.visible}\r\n text={false}\r\n onToggleClicked={e => {\r\n this.toggleColumn(e, col.key);\r\n }}\r\n ></gb-toggle>\r\n </div>\r\n ))}\r\n <div class=\"modal-actions\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n {this.showFilterModalInternal && (\r\n <div class={`filter_modal_wrapper ${this.isFilterModalVisible ? 'open' : 'closing'}`}>\r\n <gb-filter-modal\r\n class=\"filter_modal\"\r\n filterConfig={this.filterConfig}\r\n onClose={e => {\r\n e.stopPropagation();\r\n this.closeFilterModal();\r\n }}\r\n onApplyFilters={e => this.onApplyFilters(e)}\r\n ></gb-filter-modal>\r\n </div>\r\n )}\r\n {this.internalLoading ? (\r\n // ✅ ALWAYS show loading when loading = true\r\n <table>\r\n <thead>\r\n <tr class=\"table_head_row\">\r\n {this.showCheckbox && (\r\n <th\r\n class={{\r\n checkbox: true,\r\n sticky_left: this.stickyFirstColumn,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <gb-checkbox type=\"checkbox\" checked={this.allSelected} indeterminate={this.isIndeterminate} size=\"sm\" onClick={() => this.toggleAll()}></gb-checkbox>\r\n </th>\r\n )}\r\n\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((col, index) => {\r\n const align = col.align ?? 'left';\r\n\r\n return (\r\n <th\r\n style={{\r\n width: col.width,\r\n textAlign: col.align || 'left',\r\n }}\r\n class={{\r\n table_header: true,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n sticky_left: this.stickyFirstColumn && index === 0,\r\n has_border: this.isScrollable,\r\n }}\r\n >\r\n <div class={`table_head_content align-${align}`}>\r\n <p class=\"head_text text-xs-medium\">{col.label}</p>\r\n </div>\r\n </th>\r\n );\r\n })}\r\n\r\n {this.showActionsColumn && (\r\n <th\r\n class={{\r\n actions_cell: true,\r\n sticky_right: this.stickyLastColumn,\r\n has_border: this.isScrollable,\r\n [`table_header_${this.tableHeadColor}`]: true,\r\n }}\r\n >\r\n <div class=\"empty_div\"></div>\r\n </th>\r\n )}\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n {Array.from({ length: 5 }).map(_ => (\r\n <tr class=\"table_body\">\r\n {this.showCheckbox && (\r\n <td class=\"table_detail checkbox\">\r\n <gb-checkbox type=\"checkbox\" checked={this.allSelected} indeterminate={this.isIndeterminate} size=\"sm\" onClick={() => this.toggleAll()}></gb-checkbox>\r\n </td>\r\n )}\r\n\r\n {this.internalColumns\r\n .filter(col => col.visible)\r\n .map((_col, index) => (\r\n <td class={`table_detail ${this.stickyFirstColumn && index === 0 ? 'sticky_left' : ''} ${this.isScrollable ? 'has_border' : ''}`}>\r\n <div class=\"loader\">\r\n <div class=\"skeleton skeleton-text\"></div>\r\n </div>\r\n </td>\r\n ))}\r\n\r\n {this.showActionsColumn && (\r\n <td\r\n class={{\r\n table_detail: true,\r\n actions_cell: true,\r\n sticky_right: this.stickyLastColumn,\r\n has_border: this.isScrollable,\r\n }}\r\n style={{ width: '50px' }}\r\n >\r\n <div class=\"loader\">\r\n <div class=\"skeleton skeleton-action\"></div>\r\n </div>\r\n </td>\r\n )}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n ) : this.data.length === 0 ? (\r\n // ✅ No loading + no data = empty state\r\n <div class=\"empty_state_wrapper\">\r\n <gb-empty-state\r\n size=\"sm\"\r\n main-text={this.emptyStateConfig.mainText}\r\n supporting-text={this.emptyStateConfig.supportingText}\r\n color={this.emptyStateConfig.color}\r\n theme={this.emptyStateConfig.theme}\r\n primary-button-icon-leading-swap=\"assets/plus.svg\"\r\n illustration-icon={this.emptyStateConfig.illustrationIcon}\r\n background={true}\r\n background-type=\"grid\"\r\n icon=\"illustration\"\r\n illustration-style=\"cloud\"\r\n ></gb-empty-state>\r\n </div>\r\n ) : (\r\n // ✅ Has data + not loading\r\n <>{this.isMobile ? this.renderMobileView() : this.renderDesktopView()}</>\r\n )}\r\n {this.paginationConfig && this.data.length > 0 && (\r\n <gb-pagination\r\n entries-dropdown-menu-position={this.paginationConfig.entriesDropdownMenuPosition}\r\n page-size={this.paginationConfig.pageSize}\r\n current-page={this.paginationConfig.paginationMode === 'internal' ? this.internalCurrentPage : this.paginationConfig.currentPage}\r\n total-pages={this.totalPages}\r\n onPageItemSelected={this.handlePageChange.bind(this)}\r\n ></gb-pagination>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -24,12 +24,14 @@ export class GbToast {
|
|
|
24
24
|
}
|
|
25
25
|
componentWillLoad() {
|
|
26
26
|
this.internalColor = this.color;
|
|
27
|
+
this.internalMainText = this.mainText;
|
|
28
|
+
this.internalSupportingText = this.supportingText;
|
|
27
29
|
}
|
|
28
30
|
closeToast() {
|
|
29
31
|
this.close.emit();
|
|
30
32
|
}
|
|
31
33
|
render() {
|
|
32
|
-
return (h("div", { key: 'd1d6cd59ac77745a0c466e1433b88efc634e4c78', class: `toast_div ${this.internalColor} ${this.size} ${this.breakpoint}` }, this.size === 'floating' && (h(Fragment, null, h("div", { key: '57401a34ba293dcdc45ba80bdf9386c161712fa0', class: `icon_container` }, this.internalColor === 'success' ? (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "29", viewBox: "0 0 28 29", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { opacity: "0.4", d: "M14.0666 2.24988H14.0665H13.9331H13.9331C11.3773 2.24986 9.36985 2.24985 7.80253 2.46057C6.19643 2.67651 4.92213 3.12805 3.9209 4.12928C2.91967 5.13051 2.46813 6.40481 2.2522 8.01091C2.04148 9.57822 2.04149 11.5857 2.0415 14.1415V14.1415V14.2749V14.2749C2.04149 16.8307 2.04148 18.8382 2.2522 20.4055C2.46813 22.0116 2.91967 23.2859 3.9209 24.2871C4.92213 25.2884 6.19643 25.7399 7.80253 25.9559C9.36985 26.1666 11.3773 26.1666 13.9331 26.1665H14.0665C16.6223 26.1666 18.6298 26.1666 20.1971 25.9559C21.8032 25.7399 23.0775 25.2884 24.0788 24.2871C25.08 23.2859 25.5315 22.0116 25.7475 20.4055C25.9582 18.8382 25.9582 16.8308 25.9582 14.2749V14.1415C25.9582 11.5857 25.9582 9.57822 25.7475 8.01091C25.5315 6.40481 25.08 5.13051 24.0788 4.12928C23.0775 3.12805 21.8032 2.67651 20.1971 2.46057C18.6298 2.24985 16.6224 2.24986 14.0666 2.24988Z", fill: "var(--color-icon-success, #079455)" }), h("path", { d: "M19.2265 11.1487C19.7918 10.8396 19.9995 10.1307 19.6903 9.56536C19.3811 9.00004 18.6722 8.79238 18.1069 9.10154C15.9735 10.2683 14.2094 12.5199 13.0232 14.3362C12.5849 15.0074 12.2104 15.6429 11.9108 16.1812C11.6313 15.9101 11.3545 15.6747 11.1069 15.479C10.783 15.2228 10.4915 15.0208 10.2789 14.8816L9.91136 14.6534C9.35166 14.3342 8.63915 14.5291 8.31994 15.0888C8.0008 15.6484 8.19559 16.3607 8.75499 16.68L9.00033 16.8335C9.16695 16.9426 9.40042 17.1043 9.6598 17.3093C10.1936 17.7314 10.7696 18.2846 11.1321 18.8907C11.3546 19.2626 11.7649 19.4806 12.1977 19.4567C12.6303 19.4328 13.0142 19.1708 13.1944 18.7769L13.309 18.5372C13.388 18.3756 13.5063 18.1396 13.6603 17.8487C13.9689 17.2657 14.4176 16.4684 14.9769 15.612C16.1241 13.8554 17.6266 12.0237 19.2265 11.1487Z", fill: "var(--color-icon-success, #079455)" }))) : this.color === 'error' ? (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "29", viewBox: "0 0 28 29", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { opacity: "0.4", d: "M14.0665 2.49945C16.6224 2.49944 18.6298 2.49942 20.1971 2.71014C21.8032 2.92608 23.0775 3.37762 24.0788 4.37885C25.08 5.38008 25.5315 6.65438 25.7475 8.26048C25.9582 9.82779 25.9582 11.8352 25.9582 14.391V14.3911V14.5245V14.5245C25.9582 17.0803 25.9582 19.0878 25.7475 20.6551C25.5315 22.2612 25.08 23.5355 24.0788 24.5367C23.0775 25.538 21.8032 25.9895 20.1971 26.2054C18.6298 26.4161 16.6224 26.4161 14.0666 26.4161H14.0665H13.9331H13.9331C11.3773 26.4161 9.36984 26.4161 7.80253 26.2054C6.19643 25.9895 4.92213 25.538 3.9209 24.5367C2.91967 23.5355 2.46813 22.2612 2.2522 20.6551C2.04148 19.0878 2.04149 17.0803 2.0415 14.5245V14.3911C2.04149 11.8353 2.04148 9.8278 2.2522 8.26048C2.46813 6.65438 2.91967 5.38008 3.9209 4.37885C4.92213 3.37762 6.19643 2.92608 7.80253 2.71014C9.36985 2.49942 11.3773 2.49944 13.9331 2.49945H14.0665Z", fill: "var(--color-icon-danger, #B51726)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12.8335 19.7075C12.8335 19.0632 13.3535 18.5409 13.9949 18.5409H14.0054C14.6468 18.5409 15.1668 19.0632 15.1668 19.7075C15.1668 20.3519 14.6468 20.8742 14.0054 20.8742H13.9949C13.3535 20.8742 12.8335 20.3519 12.8335 19.7075Z", fill: "var(--color-icon-danger, #B51726)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M14.0003 16.2075C13.356 16.2075 12.8336 15.6852 12.8336 15.0409L12.8336 10.3742C12.8336 9.72985 13.356 9.20752 14.0003 9.20752C14.6446 9.20752 15.167 9.72985 15.167 10.3742L15.167 15.0409C15.167 15.6852 14.6446 16.2075 14.0003 16.2075Z", fill: "var(--color-icon-danger, #B51726)" }))) : (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 28 28", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { opacity: "0.4", d: "M14.0667 2.04163C16.6225 2.04161 18.63 2.0416 20.1973 2.25232C21.8034 2.46825 23.0777 2.91979 24.079 3.92102C25.0802 4.92226 25.5317 6.19655 25.7477 7.80265C25.9584 9.36996 25.9584 11.3774 25.9584 13.9332V13.9333V14.0667V14.0667C25.9584 16.6225 25.9584 18.63 25.7477 20.1973C25.5317 21.8034 25.0802 23.0777 24.079 24.0789C23.0777 25.0801 21.8034 25.5317 20.1973 25.7476C18.63 25.9583 16.6226 25.9583 14.0668 25.9583H14.0667H13.9333H13.9333C11.3775 25.9583 9.37003 25.9583 7.80271 25.7476C6.19661 25.5317 4.92232 25.0801 3.92109 24.0789C2.91985 23.0777 2.46831 21.8034 2.25238 20.1973C2.04166 18.6299 2.04167 16.6225 2.04169 14.0667V13.9333C2.04167 11.3774 2.04166 9.36997 2.25238 7.80265C2.46831 6.19655 2.91985 4.92226 3.92109 3.92102C4.92232 2.91979 6.19661 2.46825 7.80271 2.25232C9.37003 2.0416 11.3775 2.04161 13.9333 2.04163H14.0667Z", fill: "var(--color-icon, #4B5565)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M13.6289 12.2818C13.9171 12.3206 14.3158 12.4243 14.6541 12.7626C14.9924 13.101 15.0962 13.4997 15.1349 13.7879C15.167 14.0266 15.1669 14.3043 15.1667 14.5375C15.1667 14.553 15.1667 14.5683 15.1667 14.5834V19.2501C15.1667 19.8944 14.6444 20.4167 14 20.4167C13.3557 20.4167 12.8334 19.8944 12.8334 19.2501V14.5834C12.189 14.5834 11.6667 14.0611 11.6667 13.4167C11.6667 12.7724 12.189 12.2501 12.8334 12.2501C12.8485 12.2501 12.8638 12.2501 12.8793 12.2501C13.1125 12.2499 13.3901 12.2497 13.6289 12.2818Z", fill: "var(--color-icon, #4B5565)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12.8333 8.75004C12.8333 8.10571 13.3533 7.58337 13.9947 7.58337H14.0051C14.6466 7.58337 15.1666 8.10571 15.1666 8.75004C15.1666 9.39437 14.6466 9.91671 14.0051 9.91671H13.9947C13.3533 9.91671 12.8333 9.39437 12.8333 8.75004Z", fill: "var(--color-icon, #4B5565)" })))), h("div", { key: '648a1fab66bc4d3e0aa1146e24a480cb3ffdc6b4', class: `content ${this.size} ${this.actions ? ' actions' : ''}` }, h("div", { key: 'ac1b1ddb632f31d5a7ca41b90d3fdfa1835c2fde', class: `text ${!this.supportingText ? 'no_supporting_text' : ''} ${this.size}` }, h("p", { key: 'fe5bb68d6aed07cdd07fc5e20dc61a3e49764b86', class: `text-md-semi-bold main_text_${this.internalColor}` }, this.mainText), this.showSupportingText && h("p", { key: '1e2393ac78803fa4f3128be54ef09b19b9c32611', class: `text-sm-regular supporting_text_${this.internalColor}` }, this.supportingText)), this.actions && (h("div", { key: 'dab75a9d55782b7c7072fbf9bd0ff7ab04e4373a', class: `actions ${this.size} ${!this.showSupportingText ? 'only_actions' : ''}` }, this.color === 'default' ? (h(Fragment, null, this.secondActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_gray" }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_color" }, h("p", null, this.firstActionText))))) : (h(Fragment, null, this.secondActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.firstActionText)))))))), this.xCloseButton && (h("gb-button-close", { key: '150c58b12e4c0afc079b796c9028d11b30be7327', size: "sm", color: this.internalColor === 'default' ? 'gray' : this.internalColor === 'gray' ? 'gray' : this.internalColor, class: `close_button ${this.size}`, onClick: () => this.closeToast() })))), this.size === 'full_width' && (h("div", { key: '9aacb488673e39a091da9d8166e467930fda1389', class: `container ${this.breakpoint}` }, h("div", { key: '4f8cc2b70582c21b6fba2ffd5bfe5f1561de7a4b', class: `full_width_content ${this.breakpoint}` }, h("div", { key: '759a6cac3bf59cbd231624d3ade61d443cafe88b', class: `inner_content ${this.breakpoint}` }, h("div", { key: '87b392ff0dff7013970ce3b1c37401b9b85a2eb1', class: `icon_container` }, h("svg", { key: 'f7909748d4cb8b0b1299ecc90d0e580859a9c19a', xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 28 28", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { key: '87d747002f9258d0c1724a759223dc7ef8d56746', opacity: "0.4", d: "M14.0667 2.04163C16.6225 2.04161 18.63 2.0416 20.1973 2.25232C21.8034 2.46825 23.0777 2.91979 24.079 3.92102C25.0802 4.92226 25.5317 6.19655 25.7477 7.80265C25.9584 9.36996 25.9584 11.3774 25.9584 13.9332V13.9333V14.0667V14.0667C25.9584 16.6225 25.9584 18.63 25.7477 20.1973C25.5317 21.8034 25.0802 23.0777 24.079 24.0789C23.0777 25.0801 21.8034 25.5317 20.1973 25.7476C18.63 25.9583 16.6226 25.9583 14.0668 25.9583H14.0667H13.9333H13.9333C11.3775 25.9583 9.37003 25.9583 7.80271 25.7476C6.19661 25.5317 4.92232 25.0801 3.92109 24.0789C2.91985 23.0777 2.46831 21.8034 2.25238 20.1973C2.04166 18.6299 2.04167 16.6225 2.04169 14.0667V13.9333C2.04167 11.3774 2.04166 9.36997 2.25238 7.80265C2.46831 6.19655 2.91985 4.92226 3.92109 3.92102C4.92232 2.91979 6.19661 2.46825 7.80271 2.25232C9.37003 2.0416 11.3775 2.04161 13.9333 2.04163H14.0667Z", fill: "#4B5565" }), h("path", { key: 'b10a274a04238f0df4ce88d70aa64bfbfd98e117', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M13.6289 12.2818C13.9171 12.3206 14.3158 12.4243 14.6541 12.7626C14.9924 13.101 15.0962 13.4997 15.1349 13.7879C15.167 14.0266 15.1669 14.3043 15.1667 14.5375C15.1667 14.553 15.1667 14.5683 15.1667 14.5834V19.2501C15.1667 19.8944 14.6444 20.4167 14 20.4167C13.3557 20.4167 12.8334 19.8944 12.8334 19.2501V14.5834C12.189 14.5834 11.6667 14.0611 11.6667 13.4167C11.6667 12.7724 12.189 12.2501 12.8334 12.2501C12.8485 12.2501 12.8638 12.2501 12.8793 12.2501C13.1125 12.2499 13.3901 12.2497 13.6289 12.2818Z", fill: "#4B5565" }), h("path", { key: '4f7aaab4e2ac5fefffdaa2ff3f6a401f99309911', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12.8333 8.75004C12.8333 8.10571 13.3533 7.58337 13.9947 7.58337H14.0051C14.6466 7.58337 15.1666 8.10571 15.1666 8.75004C15.1666 9.39437 14.6466 9.91671 14.0051 9.91671H13.9947C13.3533 9.91671 12.8333 9.39437 12.8333 8.75004Z", fill: "#4B5565" }))), h("div", { key: 'bc7d590a2088da0327107bbf13128a1222e6b6ea', class: `text ${this.size} ${this.breakpoint}` }, h("p", { key: 'bd16a7529ebb9ad3ff8f3f7b34877215a4b61233', class: `text-sm-semi-bold main_text_${this.internalColor}` }, this.mainText), this.showSupportingText && h("p", { key: 'b756b4e11c761b20db8bf8a0291f872f060aa783', class: `text-xs-regular supporting_text_${this.internalColor}` }, this.supportingText))), this.actions && (h("div", { key: '906bf278c2c98f18b45b48bd291f5efa48ba5755', class: `actions ${this.size} ${this.breakpoint} ${!this.showSupportingText ? 'only_actions' : ''}` }, this.color === 'default' ? (h(Fragment, null, this.secondActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_gray" }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_color" }, h("p", null, this.firstActionText))))) : (h(Fragment, null, this.secondActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.firstActionText))))))), this.xCloseButton && (h("gb-button-close", { key: '786dcc4b4d6dbc530f82088f41b33e15cb89a393', size: "sm", color: this.internalColor === 'default' ? 'gray' : this.internalColor === 'gray' ? 'gray' : this.internalColor, class: `close_button ${this.breakpoint}`, onClick: () => this.closeToast() })))))));
|
|
34
|
+
return (h("div", { key: 'eadcbc8942e1904994b4a165f81b4de7e06a3d58', class: `toast_div ${this.internalColor} ${this.size} ${this.breakpoint}` }, this.size === 'floating' && (h(Fragment, null, h("div", { key: 'b4b9abb1cfe438f66304db5a00ff7fb31f1c9f4b', class: `icon_container` }, this.internalColor === 'success' ? (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "29", viewBox: "0 0 28 29", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { opacity: "0.4", d: "M14.0666 2.24988H14.0665H13.9331H13.9331C11.3773 2.24986 9.36985 2.24985 7.80253 2.46057C6.19643 2.67651 4.92213 3.12805 3.9209 4.12928C2.91967 5.13051 2.46813 6.40481 2.2522 8.01091C2.04148 9.57822 2.04149 11.5857 2.0415 14.1415V14.1415V14.2749V14.2749C2.04149 16.8307 2.04148 18.8382 2.2522 20.4055C2.46813 22.0116 2.91967 23.2859 3.9209 24.2871C4.92213 25.2884 6.19643 25.7399 7.80253 25.9559C9.36985 26.1666 11.3773 26.1666 13.9331 26.1665H14.0665C16.6223 26.1666 18.6298 26.1666 20.1971 25.9559C21.8032 25.7399 23.0775 25.2884 24.0788 24.2871C25.08 23.2859 25.5315 22.0116 25.7475 20.4055C25.9582 18.8382 25.9582 16.8308 25.9582 14.2749V14.1415C25.9582 11.5857 25.9582 9.57822 25.7475 8.01091C25.5315 6.40481 25.08 5.13051 24.0788 4.12928C23.0775 3.12805 21.8032 2.67651 20.1971 2.46057C18.6298 2.24985 16.6224 2.24986 14.0666 2.24988Z", fill: "var(--color-icon-success, #079455)" }), h("path", { d: "M19.2265 11.1487C19.7918 10.8396 19.9995 10.1307 19.6903 9.56536C19.3811 9.00004 18.6722 8.79238 18.1069 9.10154C15.9735 10.2683 14.2094 12.5199 13.0232 14.3362C12.5849 15.0074 12.2104 15.6429 11.9108 16.1812C11.6313 15.9101 11.3545 15.6747 11.1069 15.479C10.783 15.2228 10.4915 15.0208 10.2789 14.8816L9.91136 14.6534C9.35166 14.3342 8.63915 14.5291 8.31994 15.0888C8.0008 15.6484 8.19559 16.3607 8.75499 16.68L9.00033 16.8335C9.16695 16.9426 9.40042 17.1043 9.6598 17.3093C10.1936 17.7314 10.7696 18.2846 11.1321 18.8907C11.3546 19.2626 11.7649 19.4806 12.1977 19.4567C12.6303 19.4328 13.0142 19.1708 13.1944 18.7769L13.309 18.5372C13.388 18.3756 13.5063 18.1396 13.6603 17.8487C13.9689 17.2657 14.4176 16.4684 14.9769 15.612C16.1241 13.8554 17.6266 12.0237 19.2265 11.1487Z", fill: "var(--color-icon-success, #079455)" }))) : this.color === 'error' ? (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "29", viewBox: "0 0 28 29", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { opacity: "0.4", d: "M14.0665 2.49945C16.6224 2.49944 18.6298 2.49942 20.1971 2.71014C21.8032 2.92608 23.0775 3.37762 24.0788 4.37885C25.08 5.38008 25.5315 6.65438 25.7475 8.26048C25.9582 9.82779 25.9582 11.8352 25.9582 14.391V14.3911V14.5245V14.5245C25.9582 17.0803 25.9582 19.0878 25.7475 20.6551C25.5315 22.2612 25.08 23.5355 24.0788 24.5367C23.0775 25.538 21.8032 25.9895 20.1971 26.2054C18.6298 26.4161 16.6224 26.4161 14.0666 26.4161H14.0665H13.9331H13.9331C11.3773 26.4161 9.36984 26.4161 7.80253 26.2054C6.19643 25.9895 4.92213 25.538 3.9209 24.5367C2.91967 23.5355 2.46813 22.2612 2.2522 20.6551C2.04148 19.0878 2.04149 17.0803 2.0415 14.5245V14.3911C2.04149 11.8353 2.04148 9.8278 2.2522 8.26048C2.46813 6.65438 2.91967 5.38008 3.9209 4.37885C4.92213 3.37762 6.19643 2.92608 7.80253 2.71014C9.36985 2.49942 11.3773 2.49944 13.9331 2.49945H14.0665Z", fill: "var(--color-icon-danger, #B51726)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12.8335 19.7075C12.8335 19.0632 13.3535 18.5409 13.9949 18.5409H14.0054C14.6468 18.5409 15.1668 19.0632 15.1668 19.7075C15.1668 20.3519 14.6468 20.8742 14.0054 20.8742H13.9949C13.3535 20.8742 12.8335 20.3519 12.8335 19.7075Z", fill: "var(--color-icon-danger, #B51726)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M14.0003 16.2075C13.356 16.2075 12.8336 15.6852 12.8336 15.0409L12.8336 10.3742C12.8336 9.72985 13.356 9.20752 14.0003 9.20752C14.6446 9.20752 15.167 9.72985 15.167 10.3742L15.167 15.0409C15.167 15.6852 14.6446 16.2075 14.0003 16.2075Z", fill: "var(--color-icon-danger, #B51726)" }))) : (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 28 28", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { opacity: "0.4", d: "M14.0667 2.04163C16.6225 2.04161 18.63 2.0416 20.1973 2.25232C21.8034 2.46825 23.0777 2.91979 24.079 3.92102C25.0802 4.92226 25.5317 6.19655 25.7477 7.80265C25.9584 9.36996 25.9584 11.3774 25.9584 13.9332V13.9333V14.0667V14.0667C25.9584 16.6225 25.9584 18.63 25.7477 20.1973C25.5317 21.8034 25.0802 23.0777 24.079 24.0789C23.0777 25.0801 21.8034 25.5317 20.1973 25.7476C18.63 25.9583 16.6226 25.9583 14.0668 25.9583H14.0667H13.9333H13.9333C11.3775 25.9583 9.37003 25.9583 7.80271 25.7476C6.19661 25.5317 4.92232 25.0801 3.92109 24.0789C2.91985 23.0777 2.46831 21.8034 2.25238 20.1973C2.04166 18.6299 2.04167 16.6225 2.04169 14.0667V13.9333C2.04167 11.3774 2.04166 9.36997 2.25238 7.80265C2.46831 6.19655 2.91985 4.92226 3.92109 3.92102C4.92232 2.91979 6.19661 2.46825 7.80271 2.25232C9.37003 2.0416 11.3775 2.04161 13.9333 2.04163H14.0667Z", fill: "var(--color-icon, #4B5565)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M13.6289 12.2818C13.9171 12.3206 14.3158 12.4243 14.6541 12.7626C14.9924 13.101 15.0962 13.4997 15.1349 13.7879C15.167 14.0266 15.1669 14.3043 15.1667 14.5375C15.1667 14.553 15.1667 14.5683 15.1667 14.5834V19.2501C15.1667 19.8944 14.6444 20.4167 14 20.4167C13.3557 20.4167 12.8334 19.8944 12.8334 19.2501V14.5834C12.189 14.5834 11.6667 14.0611 11.6667 13.4167C11.6667 12.7724 12.189 12.2501 12.8334 12.2501C12.8485 12.2501 12.8638 12.2501 12.8793 12.2501C13.1125 12.2499 13.3901 12.2497 13.6289 12.2818Z", fill: "var(--color-icon, #4B5565)" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12.8333 8.75004C12.8333 8.10571 13.3533 7.58337 13.9947 7.58337H14.0051C14.6466 7.58337 15.1666 8.10571 15.1666 8.75004C15.1666 9.39437 14.6466 9.91671 14.0051 9.91671H13.9947C13.3533 9.91671 12.8333 9.39437 12.8333 8.75004Z", fill: "var(--color-icon, #4B5565)" })))), h("div", { key: '9e33267c9786707e9bd9186607ef2d73166df526', class: `content ${this.size} ${this.actions ? ' actions' : ''}` }, h("div", { key: 'b8959e88fffcfe09954c16b40321b44c2fe3f8e3', class: `text ${!this.internalSupportingText ? 'no_supporting_text' : ''} ${this.size}` }, h("p", { key: '9e101a2e7b6601bf39980c8e8e189739bbbd5739', class: `text-md-semi-bold main_text_${this.internalColor}` }, this.internalMainText), this.showSupportingText && h("p", { key: '2529b131b2df128f6372c82d70dceb9e4f3b5999', class: `text-sm-regular supporting_text_${this.internalColor}` }, this.internalSupportingText)), this.actions && (h("div", { key: '1fd4e046d3cf92b1c5eb11a850547573d1614c26', class: `actions ${this.size} ${!this.showSupportingText ? 'only_actions' : ''}` }, this.color === 'default' ? (h(Fragment, null, this.secondActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_gray" }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_color" }, h("p", null, this.firstActionText))))) : (h(Fragment, null, this.secondActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.firstActionText)))))))), this.xCloseButton && (h("gb-button-close", { key: 'ef6fd809fed75acf259ac1e8cc32b9da66ecfe5e', size: "sm", color: this.internalColor === 'default' ? 'gray' : this.internalColor === 'gray' ? 'gray' : this.internalColor, class: `close_button ${this.size}`, onClick: () => this.closeToast() })))), this.size === 'full_width' && (h("div", { key: '8b2a8b344c30ed7502a5c22cbb21fd46a4b4ba60', class: `container ${this.breakpoint}` }, h("div", { key: '7473d1654064f2299f89c4680b4f2fe06f44aead', class: `full_width_content ${this.breakpoint}` }, h("div", { key: '0c7c206e9bd12cf7a589836b57920035b2ec6021', class: `inner_content ${this.breakpoint}` }, h("div", { key: '905fce2bdb2f01167b84859e6ee6c1a7493a7e45', class: `icon_container` }, h("svg", { key: '1031e97d9ffcdd212c5836f022c5518baf8efc14', xmlns: "http://www.w3.org/2000/svg", width: "28", height: "28", viewBox: "0 0 28 28", fill: "none", class: `svg_icon ${this.internalColor}` }, h("path", { key: '365a5bdd87847679279e32ffa2be484088960638', opacity: "0.4", d: "M14.0667 2.04163C16.6225 2.04161 18.63 2.0416 20.1973 2.25232C21.8034 2.46825 23.0777 2.91979 24.079 3.92102C25.0802 4.92226 25.5317 6.19655 25.7477 7.80265C25.9584 9.36996 25.9584 11.3774 25.9584 13.9332V13.9333V14.0667V14.0667C25.9584 16.6225 25.9584 18.63 25.7477 20.1973C25.5317 21.8034 25.0802 23.0777 24.079 24.0789C23.0777 25.0801 21.8034 25.5317 20.1973 25.7476C18.63 25.9583 16.6226 25.9583 14.0668 25.9583H14.0667H13.9333H13.9333C11.3775 25.9583 9.37003 25.9583 7.80271 25.7476C6.19661 25.5317 4.92232 25.0801 3.92109 24.0789C2.91985 23.0777 2.46831 21.8034 2.25238 20.1973C2.04166 18.6299 2.04167 16.6225 2.04169 14.0667V13.9333C2.04167 11.3774 2.04166 9.36997 2.25238 7.80265C2.46831 6.19655 2.91985 4.92226 3.92109 3.92102C4.92232 2.91979 6.19661 2.46825 7.80271 2.25232C9.37003 2.0416 11.3775 2.04161 13.9333 2.04163H14.0667Z", fill: "#4B5565" }), h("path", { key: 'c8c6474a2fa41d52ac5a2a19df99734a9a4929f6', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M13.6289 12.2818C13.9171 12.3206 14.3158 12.4243 14.6541 12.7626C14.9924 13.101 15.0962 13.4997 15.1349 13.7879C15.167 14.0266 15.1669 14.3043 15.1667 14.5375C15.1667 14.553 15.1667 14.5683 15.1667 14.5834V19.2501C15.1667 19.8944 14.6444 20.4167 14 20.4167C13.3557 20.4167 12.8334 19.8944 12.8334 19.2501V14.5834C12.189 14.5834 11.6667 14.0611 11.6667 13.4167C11.6667 12.7724 12.189 12.2501 12.8334 12.2501C12.8485 12.2501 12.8638 12.2501 12.8793 12.2501C13.1125 12.2499 13.3901 12.2497 13.6289 12.2818Z", fill: "#4B5565" }), h("path", { key: '280ec5e39c1d5618a16f4b4f3da7b23257e3d70a', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12.8333 8.75004C12.8333 8.10571 13.3533 7.58337 13.9947 7.58337H14.0051C14.6466 7.58337 15.1666 8.10571 15.1666 8.75004C15.1666 9.39437 14.6466 9.91671 14.0051 9.91671H13.9947C13.3533 9.91671 12.8333 9.39437 12.8333 8.75004Z", fill: "#4B5565" }))), h("div", { key: '4a9ea7a2963a9923614bf8f1c97b3d8217bada35', class: `text ${this.size} ${this.breakpoint}` }, h("p", { key: 'a41f2cac29eb143746e61e4eacafe9899688e3ef', class: `text-sm-semi-bold main_text_${this.internalColor}` }, this.internalMainText), this.showSupportingText && h("p", { key: '2ba3fc0fb13bc2c9a033e0522d52e01afaaa82ca', class: `text-xs-regular supporting_text_${this.internalColor}` }, this.internalSupportingText))), this.actions && (h("div", { key: '89805e4989786dbd59a389d189ca80b368fa2c06', class: `actions ${this.size} ${this.breakpoint} ${!this.showSupportingText ? 'only_actions' : ''}` }, this.color === 'default' ? (h(Fragment, null, this.secondActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_gray" }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-button", { size: "sm", icon: "default", state: "default", hierarchy: "link_color" }, h("p", null, this.firstActionText))))) : (h(Fragment, null, this.secondActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.secondActionText))), this.firstActionText && (h("gb-toast-button", { state: StateEnum.Default, color: this.internalColor }, h("p", null, this.firstActionText))))))), this.xCloseButton && (h("gb-button-close", { key: '1b1c1f22984fdfc84f3f64842c1eaf08ae55ad89', size: "sm", color: this.internalColor === 'default' ? 'gray' : this.internalColor === 'gray' ? 'gray' : this.internalColor, class: `close_button ${this.breakpoint}`, onClick: () => this.closeToast() })))))));
|
|
33
35
|
}
|
|
34
36
|
static get is() { return "gb-toast"; }
|
|
35
37
|
static get encapsulation() { return "shadow"; }
|