globuswebcomponents 2.18.4 → 2.18.6
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-accordion-card_86.cjs.entry.js → gb-accordion-card_78.cjs.entry.js} +2631 -5900
- package/dist/cjs/gb-approval-modal.cjs.entry.js +5 -1
- package/dist/cjs/gb-approval-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.cjs.js.map +1 -0
- package/dist/cjs/gb-filter-modal_8.cjs.entry.js +2253 -0
- package/dist/cjs/gb-table.cjs.entry.js +1240 -0
- package/dist/cjs/gb-table.entry.cjs.js.map +1 -0
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
- package/dist/collection/components/gb-approval-modal/gb-approval-modal.js +19 -1
- package/dist/collection/components/gb-approval-modal/gb-approval-modal.js.map +1 -1
- package/dist/collection/components/gb-date-picker/gb-date-picker.js +5 -2
- package/dist/collection/components/gb-date-picker/gb-date-picker.js.map +1 -1
- package/dist/collection/components/gb-detail-cell/gb-detail-cell.js +1 -1
- package/dist/collection/components/gb-detail-cell/gb-detail-cell.js.map +1 -1
- package/dist/collection/components/gb-input-field/gb-input-field.css +5 -5
- package/dist/collection/components/gb-input-field/gb-input-field.js +59 -16
- package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
- package/dist/collection/components/gb-rich-text/gb-rich-text.css +30 -6
- package/dist/collection/components/gb-rich-text/gb-rich-text.js +4 -4
- package/dist/collection/components/gb-rich-text/gb-rich-text.js.map +1 -1
- package/dist/collection/components/gb-rich-text/resizable-image.js +84 -0
- package/dist/collection/components/gb-rich-text/resizable-image.js.map +1 -0
- package/dist/collection/components/gb-sidebar/gb-sidebar.js +81 -28
- package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
- package/dist/collection/components/gb-table/gb-table.js +22 -16
- package/dist/collection/components/gb-table/gb-table.js.map +1 -1
- package/dist/collection/models/reusableModels.js.map +1 -1
- package/dist/components/gb-approval-modal.js +5 -1
- package/dist/components/gb-approval-modal.js.map +1 -1
- package/dist/components/gb-date-picker.js +1 -1
- package/dist/components/gb-detail-cell.js +1 -1
- package/dist/components/gb-detail-cell.js.map +1 -1
- package/dist/components/gb-filter-modal.js +1 -1
- package/dist/components/gb-header.js +1 -1
- package/dist/components/gb-input-dropdown-test.js +1 -1
- package/dist/components/gb-input-dropdown.js +1 -1
- package/dist/components/gb-input-field.js +1 -1
- package/dist/components/gb-pagination.js +1 -1
- package/dist/components/gb-rich-text.js +260 -177
- package/dist/components/gb-rich-text.js.map +1 -1
- package/dist/components/gb-sidebar.js +41 -27
- package/dist/components/gb-sidebar.js.map +1 -1
- package/dist/components/gb-table-header.js +1 -1
- package/dist/components/gb-table.js +1 -1
- package/dist/components/gb-wysiwyg-toolbar.js +1 -1
- package/dist/components/{p-DQBORnne.js → p-6aww0fa8.js} +3 -3
- package/dist/components/{p-DQBORnne.js.map → p-6aww0fa8.js.map} +1 -1
- package/dist/components/{p-BF-N7J8c.js → p-BiVW1b5P.js} +3 -3
- package/dist/components/{p-BF-N7J8c.js.map → p-BiVW1b5P.js.map} +1 -1
- package/dist/components/{p-DsN3hb33.js → p-CI0hL2FD.js} +4 -4
- package/dist/components/{p-DsN3hb33.js.map → p-CI0hL2FD.js.map} +1 -1
- package/dist/components/{p-CsyLoHd6.js → p-CTisVkYS.js} +7 -4
- package/dist/components/p-CTisVkYS.js.map +1 -0
- package/dist/components/{p-CbkRE1YA.js → p-D9DcC7pf.js} +21 -19
- package/dist/components/p-D9DcC7pf.js.map +1 -0
- package/dist/components/{p-CzePcMXF.js → p-DTmhoRrl.js} +4 -4
- package/dist/components/{p-CzePcMXF.js.map → p-DTmhoRrl.js.map} +1 -1
- package/dist/components/p-cHn6O-Kf.js.map +1 -1
- package/dist/components/{p-DtJfuVIF.js → p-dJxSwAlJ.js} +41 -18
- package/dist/components/p-dJxSwAlJ.js.map +1 -0
- package/dist/components/{p-CITjyuOY.js → p-gCnf8M-P.js} +4 -4
- package/dist/components/{p-CITjyuOY.js.map → p-gCnf8M-P.js.map} +1 -1
- package/dist/components/test-wrapper.js +7 -7
- package/dist/docs.json +130 -13
- package/dist/esm/{gb-accordion-card_86.entry.js → gb-accordion-card_78.entry.js} +2631 -5892
- package/dist/esm/gb-approval-modal.entry.js +5 -1
- package/dist/esm/gb-approval-modal.entry.js.map +1 -1
- package/dist/esm/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.js.map +1 -0
- package/dist/esm/gb-filter-modal_8.entry.js +2244 -0
- package/dist/esm/gb-table.entry.js +1238 -0
- package/dist/esm/gb-table.entry.js.map +1 -0
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
- package/dist/globuscomponents/gb-approval-modal.entry.esm.js.map +1 -1
- package/dist/globuscomponents/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.esm.js.map +1 -0
- package/dist/globuscomponents/gb-table.entry.esm.js.map +1 -0
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/{p-80902514.entry.js → p-18789dc0.entry.js} +2 -2
- package/dist/globuscomponents/p-18789dc0.entry.js.map +1 -0
- package/dist/globuscomponents/{p-9f5a5998.entry.js → p-72b3be60.entry.js} +2 -2
- package/dist/globuscomponents/p-72b3be60.entry.js.map +1 -0
- package/dist/globuscomponents/p-7b3bf29c.entry.js +2 -0
- package/dist/globuscomponents/p-7b3bf29c.entry.js.map +1 -0
- package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
- package/dist/globuscomponents/p-dbc76ebb.entry.js +2 -0
- package/dist/globuscomponents/p-dbc76ebb.entry.js.map +1 -0
- package/dist/types/components/gb-approval-modal/gb-approval-modal.d.ts +2 -0
- package/dist/types/components/gb-input-field/gb-input-field.d.ts +2 -0
- package/dist/types/components/gb-rich-text/resizable-image.d.ts +1 -0
- package/dist/types/components/gb-sidebar/gb-sidebar.d.ts +3 -2
- package/dist/types/components/gb-table/gb-table.d.ts +2 -1
- package/dist/types/components.d.ts +41 -9
- package/dist/types/models/reusableModels.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/gb-detail-cell.cjs.entry.js +0 -94
- package/dist/cjs/gb-detail-cell.entry.cjs.js.map +0 -1
- package/dist/components/p-CbkRE1YA.js.map +0 -1
- package/dist/components/p-CsyLoHd6.js.map +0 -1
- package/dist/components/p-DtJfuVIF.js.map +0 -1
- package/dist/esm/gb-detail-cell.entry.js +0 -92
- package/dist/esm/gb-detail-cell.entry.js.map +0 -1
- package/dist/globuscomponents/gb-detail-cell.entry.esm.js.map +0 -1
- package/dist/globuscomponents/p-80902514.entry.js.map +0 -1
- package/dist/globuscomponents/p-9f5a5998.entry.js.map +0 -1
- package/dist/globuscomponents/p-fbf22caa.entry.js +0 -2
- package/dist/globuscomponents/p-fbf22caa.entry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.cjs.js","sources":["src/components/gb-filter-modal/gb-filter-modal.css?tag=gb-filter-modal&encapsulation=shadow","src/components/gb-filter-modal/gb-filter-modal.tsx","src/components/gb-pagination/gb-pagination.css?tag=gb-pagination&encapsulation=shadow","src/components/gb-pagination/gb-pagination.tsx","src/components/gb-pagination-button-group-base/gb-pagination-button-group-base.css?tag=gb-pagination-button-group-base&encapsulation=shadow","src/components/gb-pagination-button-group-base/gb-pagination-button-group-base.tsx","src/components/gb-pagination-number-base/gb-pagination-number-base.css?tag=gb-pagination-number-base&encapsulation=shadow","src/components/gb-pagination-number-base/gb-pagination-number-base.tsx","node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","node_modules/@floating-ui/core/dist/floating-ui.core.mjs","node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","src/components/gb-portal/gb-portal.css?tag=gb-portal&encapsulation=shadow","src/components/gb-portal/gb-portal.tsx","src/components/gb-table-header/gb-table-header.css?tag=gb-table-header&encapsulation=shadow","src/components/gb-table-header/gb-table-header.tsx","src/components/gb-toggle/gb-toggle.css?tag=gb-toggle&encapsulation=shadow","src/components/gb-toggle/gb-toggle.tsx","src/components/gb-toggle-base/gb-toggle-base.css?tag=gb-toggle-base&encapsulation=shadow","src/components/gb-toggle-base/gb-toggle-base.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n.filter_modal_wrapper {\r\n background-color: white;\r\n width: 27.5rem;\r\n height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n border-radius: var(--rounded-none);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-sm);\r\n}\r\n\r\n.filter_modal_header {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n position: relative;\r\n}\r\n\r\n.filter_modal_content {\r\n display: flex;\r\n padding: var(--spacing-5) var(--spacing-6) var(--spacing-5) var(--spacing-16);\r\n align-items: flex-start;\r\n gap: 1rem;\r\n align-self: stretch;\r\n}\r\n\r\n.title {\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.close_button {\r\n position: absolute;\r\n left: 1rem;\r\n bottom: 0.5rem;\r\n}\r\n\r\n.filter_content_container {\r\n flex: 1 0 0;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: 0.5rem;\r\n align-self: stretch;\r\n}\r\n\r\n.filter_content {\r\n display: flex;\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: var(--spacing-4) 1.5rem;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-6);\r\n flex: 1 0 0;\r\n}\r\n\r\n.label{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.date_range {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-2);\r\n align-self: stretch;\r\n}\r\n\r\n.date_pickers {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n align-self: stretch;\r\n box-sizing: border-box;\r\n}\r\n\r\n.field {\r\n width: 100%;\r\n}\r\n\r\n.filter_modal_actions {\r\n position: absolute;\r\n bottom: 0;\r\n width: 100%;\r\n display: flex;\r\n padding: var(--spacing-none) 0 0 0;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n border-top: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.modal_actions_content {\r\n display: flex;\r\n padding: var(--spacing-4) var(--spacing-6);\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n align-self: stretch;\r\n}\r\n\r\n.btn {\r\n width: 100%;\r\n}\r\n","import { Component, Prop, State, Event, EventEmitter, h, Fragment } from '@stencil/core';\r\nimport { FilterConfig } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-filter-modal',\r\n styleUrl: 'gb-filter-modal.css',\r\n shadow: true,\r\n})\r\nexport class GbFilterModal {\r\n @Prop() filterConfig?: FilterConfig;\r\n @State() formValues: Record<string, any> = {};\r\n @State() renderKey = 0;\r\n @Event() applyFilters: EventEmitter<Record<string, any>>;\r\n @Event() clearFilters: EventEmitter<void>;\r\n @Event({ bubbles: true, composed: true }) close: EventEmitter<void>;\r\n\r\n componentWillLoad() {\r\n if (this.filterConfig) {\r\n const applied = this.filterConfig.appliedValues || {};\r\n\r\n this.formValues = {\r\n ...(this.filterConfig.initialValues || {}),\r\n ...applied, // applied values win over defaults\r\n };\r\n }\r\n\r\n // console.log(this.formValues);\r\n }\r\n\r\n handleFieldChange(key: string, value: any) {\r\n if (value instanceof CustomEvent) {\r\n value = value.detail ?? null;\r\n }\r\n\r\n const field = this.filterConfig.fields.find(f => f.key === key);\r\n\r\n if (field && field.tag === 'gb-input-dropdown') {\r\n value = Array.isArray(value) ? value : value != null ? [value] : [];\r\n }\r\n\r\n if (value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0)) {\r\n const { [key]: _, ...rest } = this.formValues;\r\n this.formValues = rest;\r\n return;\r\n }\r\n\r\n this.formValues = {\r\n ...this.formValues,\r\n [key]: value,\r\n };\r\n }\r\n\r\n handleClearClick() {\r\n const resetValues = { ...(this.filterConfig.initialValues || {}) };\r\n\r\n this.filterConfig.fields.forEach(field => {\r\n if (field.tag === 'gb-date-picker') {\r\n const keys = field.key as { start: string; end: string };\r\n resetValues[keys.start] = null;\r\n resetValues[keys.end] = null;\r\n } else {\r\n // use field.default if defined, otherwise check if the field expects an array\r\n const isArrayField = field.props?.type === 'tags' || Array.isArray(field.default);\r\n resetValues[field.key as string] = field.default ?? (isArrayField ? [] : null);\r\n }\r\n });\r\n\r\n this.formValues = resetValues;\r\n this.renderKey++;\r\n this.clearFilters.emit();\r\n }\r\n\r\n handleApplyClick() {\r\n const { pageNumber, pageSize, ...filters } = this.formValues;\r\n // console.log({\r\n // filters,\r\n // pagination: {\r\n // pageNumber: pageNumber ?? 1,\r\n // pageSize: pageSize ?? 10,\r\n // },\r\n // });\r\n\r\n this.applyFilters.emit({\r\n filters,\r\n pagination: {\r\n pageNumber: pageNumber ?? 1,\r\n pageSize: pageSize ?? 10,\r\n },\r\n });\r\n }\r\n\r\n capitalize(str: string) {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n }\r\n\r\n emitCloseEvent() {\r\n this.close.emit();\r\n }\r\n\r\n render() {\r\n if (!this.filterConfig) {\r\n return (\r\n <div class=\"filter_modal_wrapper\">\r\n <div class=\"filter_modal_header\">\r\n <div class=\"filter_modal_content\">\r\n <gb-button-close size=\"sm\" color=\"gray\" class=\"close_button\" onClick={() => this.emitCloseEvent()}></gb-button-close>\r\n <p class=\"title display-xs-semi-bold\">Filter</p>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n \r\n return (\r\n <div class=\"filter_modal_wrapper\">\r\n <div class=\"filter_modal_header\">\r\n <div class=\"filter_modal_content\">\r\n <gb-button-close size=\"sm\" color=\"gray\" class=\"close_button\" onClick={() => this.emitCloseEvent()}></gb-button-close>\r\n <p class=\"title display-xs-semi-bold\">{this.filterConfig ? this.filterConfig.title : 'Filter'}</p>\r\n </div>\r\n </div>\r\n <div class=\"filter_content_container\">\r\n <div class=\"filter_content\" key={this.renderKey}>\r\n {/* {this.filterConfig.enableDateRange && (\r\n <div class=\"date_range\">\r\n <p class=\"label text-sm-medium\">{this.filterConfig.dateRangeLabel || 'Period'}</p>\r\n <div class=\"date_pickers\">\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n twentyfour-hr=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n onDateChange={e => this.handleFieldChange('startDate', e)}\r\n ></gb-date-picker>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M2.5 12L21.5002 12\" stroke=\"var(--color-icon-subtle ,#697586)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n twentyfour-hr=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n dropdown-alignment=\"right\"\r\n onDateChange={e => this.handleFieldChange('endDate', e)}\r\n ></gb-date-picker>\r\n </div>\r\n </div>\r\n )} */}\r\n {this.filterConfig.fields && (\r\n <>\r\n {this.filterConfig.fields.map(field => {\r\n if (field.tag === 'gb-date-picker') {\r\n const keys = field.key as { start: string; end: string };\r\n\r\n return (\r\n <div class=\"date_range\">\r\n <p class=\"label text-sm-medium\">{field.label}</p>\r\n <div class=\"date_pickers\">\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n value={this.formValues[keys.start]}\r\n onDateChange={e => this.handleFieldChange(keys.start, e)}\r\n ></gb-date-picker>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M2.5 12L21.5002 12\" stroke=\"var(--color-icon-subtle, #697586)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <gb-date-picker\r\n placeholder=\"dd-mm-yy\"\r\n full-width=\"true\"\r\n mode=\"single\"\r\n format=\"d-m-y\"\r\n show-months=\"1\"\r\n dropdown-alignment=\"right\"\r\n value={this.formValues[keys.end]}\r\n onDateChange={e => this.handleFieldChange(keys.end, e)}\r\n ></gb-date-picker>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n const Tag = field.tag;\r\n const key = field.key as string;\r\n const currentValue = this.formValues[key];\r\n const valueProp =\r\n currentValue != null\r\n ? field.tag === 'gb-slider'\r\n ? { leftControl: currentValue.left, rightControl: currentValue.right }\r\n : field.tag === 'gb-input-dropdown'\r\n ? { value: Array.isArray(currentValue) ? currentValue : [currentValue] } // ← coerce here\r\n : { value: currentValue }\r\n : {};\r\n\r\n const eventHandler = {\r\n [`on${this.capitalize(field.event as string)}`]: (e: CustomEvent) => this.handleFieldChange(key, e.detail),\r\n };\r\n\r\n return (\r\n <div class=\"field\">\r\n <Tag {...field.props} {...valueProp} {...eventHandler} />\r\n </div>\r\n );\r\n })}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n <div class=\"filter_modal_actions\">\r\n <div class=\"modal_actions_content\">\r\n <div class=\"btn\">\r\n <gb-button size=\"xl\" hierarchy=\"secondary_gray\" icon=\"default\" onClick={() => this.handleClearClick()}>\r\n <p>Clear filter</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"btn\">\r\n <gb-button size=\"xl\" hierarchy=\"primary\" icon=\"default\" onClick={() => this.handleApplyClick()}>\r\n <p>Apply</p>\r\n </gb-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.pagination_div{\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n border-top: 1px solid var(--color-border-subtle, #EAECF0);\r\n}\r\n\r\n.pagination_entries{\r\n display: flex;\r\n gap: var(--spacing-2);\r\n align-items: center;\r\n}\r\n\r\n.pagination_btns{\r\n display: flex;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.entries_dropdown{\r\n width: 6rem;\r\n}\r\n\r\ngb-input-dropdown{\r\n z-index: 99;\r\n}\r\n\r\n.pagination_numbers{\r\n display: flex;\r\n align-items: flex-start;\r\n gap: var(--spacing-half);\r\n}\r\n\r\n.pagination_button_group{\r\n display: flex;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtle, #CDD5DF);\r\n box-shadow: var(--shadow-xs);\r\n align-items: center;\r\n overflow: hidden;\r\n}\r\n\r\n.page_numbers{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n/* Pagination Type Styles */\r\n.pagination_div.page_default.desktop,\r\n.pagination_div.page_minimal_center_aligned.desktop{\r\n padding-top: var(--spacing-5);\r\n}\r\n\r\n.pagination_div.card_default.desktop,\r\n.pagination_div.card_minimal_right_aligned.desktop,\r\n.pagination_div.card_minimal_left_aligned.desktop,\r\n.pagination_div.card_minimal_center_aligned.desktop,\r\n.pagination_div.card_button_group_right_aligned.desktop,\r\n.pagination_div.card_button_group_left_aligned.desktop{\r\n padding: var(--spacing-3) var(--spacing-6) var(--spacing-4) var(--spacing-6);\r\n}\r\n\r\n.pagination_div.page_default.mobile,\r\n.pagination_div.page_minimal_center_aligned.mobile{\r\n padding-top: var(--spacing-4);\r\n}\r\n\r\n.pagination_div.card_button_group_center_aligned.desktop{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-6) var(--spacing-4) var(--spacing-6);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_default.mobile,\r\n.pagination_div.card_minimal_left_aligned.mobile,\r\n.pagination_div.card_minimal_right_aligned.mobile,\r\n.pagination_div.card_minimal_center_aligned.mobile{\r\n padding: var(--spacing-3) var(--spacing-4);\r\n}\r\n\r\n.pagination_div.card_button_group_right_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-end;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_button_group_left_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_button_group_center_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n}\r\n\r\n.card_default_buttons{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n}","import { Component, Prop, h, Fragment, State, Event, EventEmitter, Watch } from '@stencil/core';\r\nimport { BreakPoints, PaginationNumberShapes, PaginationTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-pagination',\r\n styleUrl: 'gb-pagination.css',\r\n shadow: true,\r\n})\r\nexport class GbPagination {\r\n @Prop() type: PaginationTypes = 'card_default';\r\n @Prop() shape: PaginationNumberShapes = 'square';\r\n @Prop({ mutable: true }) breakpoint: BreakPoints = 'desktop';\r\n @Prop({ mutable: true }) currentPage: number = 1;\r\n @Prop({ mutable: true }) totalPages: number = 28;\r\n @Prop({ mutable: true }) entries: number[] = [10, 20, 50, 80, 100];\r\n @Prop() entriesDropdownMenuPosition: 'top' | ' bottom' = 'top';\r\n @State() selectedPageSize: number | string | object = this.entries[0];\r\n @State() defaultSelected: any;\r\n @State() pages = [];\r\n @State() width: number = window.innerWidth;\r\n @State() internalTotalPages: number;\r\n @Event() pageItemSelected: EventEmitter<{ pageSize: any; pageNumber: number }>;\r\n\r\n private handleResize = () => {\r\n this.width = window.innerWidth;\r\n this.updatePaginationBreakpoint();\r\n };\r\n\r\n updatePaginationBreakpoint() {\r\n this.breakpoint = this.width < 730 ? 'mobile' : 'desktop';\r\n }\r\n\r\n onPreviousButtonClicked() {\r\n if (this.internalTotalPages > 1) {\r\n if (this.currentPage === this.internalTotalPages || this.currentPage > 1) {\r\n this.currentPage = this.currentPage - 1;\r\n // console.log(this.currentPage);\r\n }\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n }\r\n\r\n onNextButtonClicked() {\r\n if (this.internalTotalPages > 1) {\r\n if (this.currentPage === 1 || this.currentPage <= this.internalTotalPages - 1) {\r\n this.currentPage = this.currentPage + 1;\r\n // console.log(this.currentPage);\r\n }\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalTotalPages = this.totalPages;\r\n this.pages = [];\r\n\r\n if (this.totalPages <= 5) {\r\n // Show all pages if totalPages <= 5\r\n for (let i = 1; i <= this.totalPages; i++) {\r\n // console.log(i)\r\n this.pages.push(i);\r\n }\r\n }\r\n\r\n this.updatePaginationBreakpoint(); // Set initial variant\r\n window.addEventListener('resize', this.handleResize);\r\n\r\n this.defaultSelected = [this.selectedPageSize];\r\n // console.log(this.currentPage)\r\n // this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n generatePages() {\r\n const tempPages = [];\r\n\r\n const maxVisible = Math.min(this.internalTotalPages, 5);\r\n\r\n for (let i = 1; i <= maxVisible; i++) {\r\n tempPages.push(i);\r\n }\r\n\r\n this.pages = tempPages;\r\n }\r\n\r\n @Watch('totalPages')\r\n onTotalPagesChange(newValue: number, _oldValue: number) {\r\n if (!newValue || newValue < 1) return;\r\n\r\n this.internalTotalPages = Number(newValue);\r\n this.generatePages();\r\n }\r\n\r\n //when the entries are changed\r\n handlePageSizeSelect(item) {\r\n this.selectedPageSize = item.detail;\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n setCurrentPage(number: number) {\r\n this.currentPage = number;\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.handleResize);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`pagination_div ${this.type} ${this.breakpoint}`}>\r\n {/* Desktop Breakpoint Pagination */}\r\n {this.type === 'page_default' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n >\r\n <p>Previous</p>\r\n </gb-button>\r\n\r\n <div class=\"pagination_numbers\">\r\n {this.internalTotalPages <= 5 &&\r\n this.pages.map(page => (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === page ? 'active' : 'default'} onClick={() => this.setCurrentPage(page)}>\r\n <p slot=\"page_number\">{page}</p>\r\n </gb-pagination-number-base>\r\n ))}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape}>\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages}</p>\r\n </gb-pagination-number-base>\r\n </>\r\n )}\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-trailing={true}\r\n icon-trailing-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n >\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'page_minimal_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n >\r\n <p>Previous</p>\r\n </gb-button>\r\n <div class=\"pagination_numbers\">\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.internalTotalPages <= 5 &&\r\n this.pages.map(page => (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === page ? 'active' : 'default'} onClick={() => this.setCurrentPage(page)}>\r\n <p slot=\"page_number\">{page}</p>\r\n </gb-pagination-number-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape}>\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages}</p>\r\n </gb-pagination-number-base>\r\n </>\r\n )}\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-trailing={true}\r\n icon-trailing-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n >\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_default' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state=\"default\"\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-help-icon={false}\r\n items={this.entries}\r\n menu-position={this.entriesDropdownMenuPosition}\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"pagination_numbers\">\r\n {this.internalTotalPages <= 5 &&\r\n this.pages.map(page => (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === page ? 'active' : 'default'} onClick={() => this.setCurrentPage(page)}>\r\n <p slot=\"page_number\">{page}</p>\r\n </gb-pagination-number-base>\r\n ))}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape} state=\"default\">\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages}</p>\r\n </gb-pagination-number-base>\r\n </>\r\n )}\r\n </div>\r\n <div class=\"pagination_btns\">\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state={this.totalPages === 1 && this.currentPage === 1 ? 'disabled' : this.currentPage === 1 ? 'disabled' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state={this.currentPage === this.internalTotalPages ? 'disabled' : this.currentPage === 1 && this.totalPages === 1 ? 'disabled' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_right_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position={this.entriesDropdownMenuPosition}\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <div class=\"pagination_btns\">\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_left_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_btns\">\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"page_number_text\">\r\n <p class=\"text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position={this.entriesDropdownMenuPosition}\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_right_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position={this.entriesDropdownMenuPosition}\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_left_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position={this.entriesDropdownMenuPosition}\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n </>\r\n )}\r\n {/* Mobile Breakpoint Pagination */}\r\n {this.type === 'page_default' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'page_minimal_center_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_default' && this.breakpoint === 'mobile' && (\r\n <>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position={this.entriesDropdownMenuPosition}\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n <div class=\"card_default_buttons\">\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_right_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_left_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_center_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_right_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n {this.type === 'card_button_group_left_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n {this.type === 'card_button_group_center_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n",".button_base_div{\r\n display: flex;\r\n align-items: center;\r\n align-self: stretch;\r\n border-right: 1px solid var(--color-border-subtle, #CDD5DF);\r\n justify-content: center;\r\n cursor: pointer;\r\n width: fit-content;\r\n}\r\n\r\n.button_base_div:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.button_base_div.active{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.button_base_div:active{\r\n background: none;\r\n}\r\n\r\n.button_base_div.false{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n padding: var(--spacing-none);\r\n}\r\n\r\n.button_base_div.leading,\r\n.button_base_div.trailing{\r\n height: 2.5rem;\r\n gap: 0.5rem;\r\n padding: var(--spacing-none) var(--spacing-4);\r\n}\r\n\r\n.button_base_div.only{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted(p.active_text){\r\n color: var(--color-text-bold, #202939);\r\n}","import { Component, Prop, h, Fragment, Element, getAssetPath, State } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-pagination-button-group-base',\r\n styleUrl: 'gb-pagination-button-group-base.css',\r\n shadow: true,\r\n})\r\nexport class GbPaginationButtonGroupBase {\r\n @Prop() icon: 'false' | 'only' | 'trailing' | 'leading';\r\n @Prop() state: 'default' | 'active';\r\n @Prop() iconSrc: string;\r\n @State() leadingIconSvg: string = '';\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('p');\r\n\r\n if (slottedContent) {\r\n slottedContent.classList.add('text-sm-semi-bold');\r\n }\r\n\r\n if(this.state === 'active') {\r\n slottedContent.classList.add('active_text');\r\n }\r\n\r\n this.loadIcon(this.iconSrc);\r\n }\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`button_base_div ${this.icon} ${this.state}`}>\r\n {this.icon === 'false' && <slot></slot>}\r\n {this.icon === 'leading' && (\r\n <>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M3.33325 9.99981H16.6666M3.33325 9.99981C3.33326 11.0978 7.49975 14.1667 7.49975 14.1667M3.33325 9.99981C3.33324 8.90182 7.49978 5.83334 7.49978 5.83334\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <slot></slot>\r\n </>\r\n )}\r\n {this.icon === 'trailing' && (\r\n <>\r\n <slot></slot>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M16.6668 9.99984H3.3335M16.6668 9.99984C16.6668 11.0978 12.5003 14.1667 12.5003 14.1667M16.6668 9.99984C16.6669 8.90185 12.5002 5.83337 12.5002 5.83337\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </>\r\n )}\r\n {this.icon === 'only' && (\r\n <>\r\n <div class={`icon`} innerHTML={this.leadingIconSvg}></div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.page_number_base{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n cursor: pointer;\r\n}\r\n\r\n/* Shape Styles */\r\n.page_number_base.square{\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.page_number_base.circle{\r\n border-radius: 1.25rem;\r\n}\r\n\r\n/* State Styles */\r\n.page_number_base:hover{\r\n background-color: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\n.page_number_base:active,\r\n.page_number_base.active{\r\n background-color: var(--color-background-information-subtle, #9AC7F4);\r\n}\r\n\r\n::slotted([slot=\"page_number\"].default) {\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"page_number\"].active) {\r\n color: var(--color-text-bold, #202939);\r\n}","import { Component, Element, Prop, h } from \"@stencil/core\";\r\nimport { PaginationNumberShapes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-pagination-number-base',\r\n styleUrl: 'gb-pagination-number-base.css',\r\n shadow: true,\r\n})\r\nexport class GbPaginationNumberBase {\r\n @Prop() shape: PaginationNumberShapes;\r\n @Prop() state: 'default' | 'active' | 'pressed';\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('[slot=\"page_number\"]');\r\n\r\n if (slottedContent) {\r\n slottedContent.classList.add('text-sm-medium');\r\n }\r\n\r\n if (this.state === 'default') {\r\n slottedContent.classList.add('default');\r\n }\r\n\r\n if (this.state === 'active') {\r\n slottedContent.classList.add('active');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`page_number_base ${this.shape} ${this.state}`}>\r\n <slot name=\"page_number\"></slot>\r\n </div>\r\n );\r\n }\r\n}","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n var _platform$detectOverf;\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: {\n ...platform,\n detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow\n },\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n",":root {\r\n --gb-portal-z: 9999;\r\n}\r\n\r\n#gb-portal-host {\r\n position: relative;\r\n z-index: var(--gb-portal-z);\r\n}\r\n\r\n.gb-portal-wrapper {\r\n position: absolute;\r\n z-index: var(--gb-portal-z);\r\n box-sizing: border-box;\r\n}\r\n\r\n/* Provide styles for dropdown wrappers moved into the portal so Shadow DOM styles\r\n from originating components are still applied when content is appended to body. */\r\n.gb-portal-wrapper .portal_dropdown_wrapper,\r\n.gb-portal-wrapper .dropdown {\r\n width: fit-content;\r\n border-radius: var(--rounded-sm, 4px);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-md, 0 6px 12px rgba(0, 0, 0, 0.08));\r\n position: absolute;\r\n z-index: calc(var(--gb-portal-z) + 1);\r\n}\r\n\r\n/* fallback for menu-item hosts if they rely on host-level backgrounds */\r\n.gb-portal-wrapper gb-input-dropdown-menu-item {\r\n display: block;\r\n}\r\n","import { Component, Prop, Element, Watch, h } from '@stencil/core';\r\nimport { computePosition, offset, flip, shift, autoUpdate, size } from '@floating-ui/dom';\r\nimport { PortalPlacement } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-portal',\r\n styleUrl: 'gb-portal.css',\r\n shadow: true,\r\n})\r\nexport class GbPortal {\r\n @Prop() anchorId?: string;\r\n @Prop() placement: PortalPlacement = 'bottom-end';\r\n @Prop() open: boolean = false;\r\n @Prop() anchorEl?: HTMLElement;\r\n @Prop() boundaryEl?: HTMLElement;\r\n @Prop() dropdownHeight?: number;\r\n @Element() el: HTMLElement;\r\n\r\n private portalHost?: HTMLElement;\r\n private wrapper?: HTMLElement;\r\n private cleanupAutoUpdate?: () => void;\r\n\r\n componentDidLoad() {\r\n this.ensureHost();\r\n if (this.open) {\r\n this.mountContent();\r\n this.updatePosition();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n this.unmountContent();\r\n }\r\n\r\n @Watch('open')\r\n onOpenChange(isOpen: boolean) {\r\n if (isOpen) {\r\n this.ensureHost();\r\n this.mountContent();\r\n this.updatePosition();\r\n } else {\r\n this.unmountContent();\r\n }\r\n }\r\n\r\n private ensureHost() {\r\n this.portalHost = document.getElementById('gb-portal-host');\r\n if (!this.portalHost) {\r\n this.portalHost = document.createElement('div');\r\n this.portalHost.id = 'gb-portal-host';\r\n document.body.appendChild(this.portalHost);\r\n }\r\n }\r\n\r\n private mountContent() {\r\n if (!this.portalHost) this.ensureHost();\r\n if (!this.wrapper) {\r\n this.wrapper = document.createElement('div');\r\n this.wrapper.className = 'gb-portal-wrapper';\r\n }\r\n\r\n // move light DOM children first\r\n while (this.el.firstChild) {\r\n this.wrapper.appendChild(this.el.firstChild as Node);\r\n }\r\n\r\n // move shadow root children if any (rare), preserving nodes\r\n if (this.el.shadowRoot) {\r\n while (this.el.shadowRoot.firstChild) {\r\n this.wrapper.appendChild(this.el.shadowRoot.firstChild as Node);\r\n }\r\n }\r\n\r\n this.portalHost.appendChild(this.wrapper);\r\n\r\n this.setupAutoUpdate();\r\n }\r\n\r\n private unmountContent() {\r\n if (this.cleanupAutoUpdate) {\r\n this.cleanupAutoUpdate();\r\n this.cleanupAutoUpdate = undefined;\r\n }\r\n\r\n if (this.wrapper && this.portalHost && this.portalHost.contains(this.wrapper)) {\r\n this.portalHost.removeChild(this.wrapper);\r\n this.wrapper = undefined;\r\n }\r\n }\r\n\r\n private updatePosition() {\r\n const anchor = this.anchorEl ?? (this.anchorId ? this.findElementByIdDeep(this.anchorId) : null);\r\n\r\n const element = this.wrapper;\r\n\r\n if (!anchor || !element) return;\r\n\r\n computePosition(anchor, element, {\r\n placement: this.placement,\r\n middleware: [\r\n offset(4),\r\n flip({ boundary: this.boundaryEl }),\r\n shift({ boundary: this.boundaryEl, padding: 8 }),\r\n size({\r\n apply({ rects, elements }) {\r\n elements.floating.style.minWidth = `${rects.reference.width}px`;\r\n },\r\n }),\r\n ],\r\n }).then(({ y }) => {\r\n const anchorRect = anchor.getBoundingClientRect();\r\n const anchorRight = anchorRect.right;\r\n // const anchorTop = anchorRect.top;\r\n\r\n if (this.placement === 'bottom-end') {\r\n requestAnimationFrame(() => {\r\n const dropdownWidth = element.scrollWidth;\r\n const alignedLeft = anchorRight - dropdownWidth;\r\n\r\n Object.assign(element.style, {\r\n position: 'absolute',\r\n left: `${alignedLeft}px`,\r\n top: `${y}px`,\r\n zIndex: '9999',\r\n });\r\n });\r\n }\r\n\r\n if (this.placement === 'top-end') {\r\n requestAnimationFrame(() => {\r\n if (!anchor || !element) return;\r\n\r\n const dropdownWidth = element.scrollWidth;\r\n const dropdownHeight = element.scrollHeight;\r\n const alignedLeft = anchorRight - dropdownWidth;\r\n\r\n Object.assign(element.style, {\r\n position: 'absolute',\r\n left: `${alignedLeft}px`,\r\n top: `${y - dropdownHeight}px`,\r\n zIndex: '9999',\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n private setupAutoUpdate() {\r\n const anchor = this.anchorId ? this.findElementByIdDeep(this.anchorId) : null;\r\n const element = this.wrapper;\r\n if (!anchor || !element) return;\r\n\r\n this.cleanupAutoUpdate = autoUpdate(anchor, element, () => this.updatePosition());\r\n }\r\n\r\n private findElementByIdDeep(id: string): HTMLElement | null {\r\n // try normal document scope first\r\n const docMatch = document.getElementById(id);\r\n if (docMatch) return docMatch as HTMLElement;\r\n\r\n // search through all elements that may host a shadowRoot\r\n const all = Array.from(document.querySelectorAll('*')) as HTMLElement[];\r\n for (const el of all) {\r\n const sr = (el as any).shadowRoot as ShadowRoot | undefined;\r\n if (sr) {\r\n try {\r\n const sel = `#${(window as any).CSS && (window as any).CSS.escape ? (window as any).CSS.escape(id) : id}`;\r\n const found = sr.querySelector(sel) as HTMLElement | null;\r\n if (found) return found;\r\n } catch (e) {\r\n // ignore selector errors\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n return <slot />;\r\n }\r\n}\r\n","@import '../../global/global.css';\r\n\r\n.table_header_div {\r\n width: 100%;\r\n box-sizing: border-box;\r\n display: flex;\r\n padding: var(--spacing-5) var(--spacing-6);\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n align-self: stretch;\r\n background: var(--color-background-card, #ffffff);\r\n border-bottom: 1px solid var(--color-border-subtle, #cdd5df);\r\n overflow: visible;\r\n}\r\n\r\n.table_heading {\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.date_filters {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n min-width: 0;\r\n}\r\n\r\n.date_dropdown,\r\n.date_input {\r\n width: 100%;\r\n max-width: 13rem;\r\n min-width: 0;\r\n}\r\n\r\n.actions {\r\n display: flex;\r\n max-width: 50.25rem;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n flex: 1 0 0;\r\n}\r\n\r\n.actions.full_width {\r\n max-width: none;\r\n}\r\n\r\n.input_field {\r\n flex-grow: 1;\r\n width: 100%;\r\n max-width: 20rem;\r\n}\r\n\r\n.action {\r\n display: flex;\r\n padding: 0rem 0rem 0rem var(--spacing-none);\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n}\r\n\r\n.export {\r\n position: relative;\r\n overflow: visible;\r\n}\r\n\r\n.dropdown {\r\n position: absolute;\r\n z-index: 10;\r\n top: calc(100% + 0.5rem);\r\n}\r\n\r\n.dropdown.left {\r\n left: 0;\r\n}\r\n\r\n.dropdown.right {\r\n right: 0;\r\n}\r\n\r\n.refresh_button {\r\n width: 2.5rem;\r\n}\r\n\r\n.controls{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n}\r\n\r\n/* Breakpoints (Responsiveness) */\r\n/* Mobile */\r\n@media (max-width: 550px) {\r\n .table_header_content {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n\r\n .dropdown {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n }\r\n\r\n .actions {\r\n flex-direction: column;\r\n width: 100%;\r\n align-items: flex-start;\r\n }\r\n\r\n .table_header_div {\r\n flex-direction: column;\r\n }\r\n\r\n .date_filters {\r\n width: 100%;\r\n }\r\n\r\n .date_dropdown,\r\n .date_input {\r\n width: 100%;\r\n max-width: none;\r\n }\r\n\r\n .input_field {\r\n max-width: none;\r\n }\r\n}\r\n\r\n@media (max-width: 390px) {\r\n .date_filters {\r\n display: flex;\r\n width: 100%;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Listen, Prop, State, h, Fragment } from '@stencil/core';\r\nimport { CloseButtonPositions, StateEnum, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-table-header',\r\n styleUrl: 'gb-table-header.css',\r\n shadow: true,\r\n})\r\nexport class GbTableHeader {\r\n @Prop() type: 'default' | 'table_control' = 'default';\r\n @Prop() showFilter: boolean = false;\r\n @Prop() showColumnOptions: boolean = false;\r\n @Prop() tableHeading: boolean = false;\r\n @Prop() tableHeadingLabel: string = '';\r\n @Prop() showSearch: boolean = false;\r\n @Prop() showExport: boolean = false;\r\n @Prop() showRefreshButton: boolean = false;\r\n @Prop() showLayoutToggle: boolean = false;\r\n @Prop() filterState: StateType;\r\n @Prop() filterCount: number = 0;\r\n @Prop() showEntireData: boolean = false;\r\n @Prop() exportButtonState: StateType = 'default';\r\n @Prop() pdfState: StateEnum = StateEnum.Default;\r\n @Prop() csvState: StateEnum = StateEnum.Default;\r\n @Prop() showDateFilter: boolean = false;\r\n @State() items = [\r\n { label: 'grid', current: false, icon: 'assets/grid-view.svg' },\r\n { label: 'list', current: true, icon: 'assets/left-to-right-list-dash.svg' },\r\n ];\r\n @Prop() mode: 'single' | 'range' = 'single';\r\n @Prop() format: string = 'M j, Y';\r\n @Prop() datePickerDisabled: boolean = false;\r\n @Prop() datePickerPlaceholder: string = 'Start date - end date';\r\n @Prop() datePickerIconPosition: CloseButtonPositions = 'left';\r\n @Prop() datePickerDropdownPosition: CloseButtonPositions = 'left';\r\n @Prop() exportDropdownPosition: CloseButtonPositions = 'right';\r\n @Prop() enableTime: boolean = false;\r\n @Prop() noCalendar: boolean = false;\r\n @Prop() twentyfourHr: boolean = false;\r\n @Prop() showMonths: number = 2;\r\n @Prop() inputPlaceholder: string = 'Search';\r\n @Prop() pdfSubDropdown: boolean = true;\r\n @Prop() csvSubDropdown: boolean = true;\r\n @State() width: number = window.innerWidth;\r\n @State() buttonIcon: 'default' | 'only';\r\n @State() showExportDropdown: boolean = false;\r\n @State() isDatePickerShown: boolean = false;\r\n @State() isDatePickerFullWidth: boolean = false;\r\n @Event() inputValueChanged: EventEmitter<void>;\r\n @Event() filterButtonClicked: EventEmitter<void>;\r\n @Event() exportClicked: EventEmitter<{ dataType: string; exportType: string }>;\r\n @Event() refreshButtonClicked: EventEmitter<void>;\r\n @Event() layoutButtonClicked: EventEmitter<string>;\r\n @Event() columnOptionsButtonClicked: EventEmitter<string>;\r\n @Event() tableControlClicked: EventEmitter<string>;\r\n @Event({ bubbles: true, composed: true }) dateChange: EventEmitter<string | string[]>;\r\n @Element() el: HTMLElement;\r\n\r\n exportDropdown!: HTMLElement;\r\n\r\n isMobile = this.width < 768;\r\n\r\n componentDidLoad() {\r\n document.addEventListener('click', this.handleClickOutside.bind(this));\r\n }\r\n\r\n componentWillLoad() {\r\n this.updateParameters();\r\n window.addEventListener('resize', this.handleResize.bind(this));\r\n }\r\n\r\n // extractDropdownItemSelected(item) {\r\n // if (item.detail === 'Custom') {\r\n // this.isDatePickerShown = true;\r\n // } else {\r\n // this.isDatePickerShown = false;\r\n // }\r\n // }\r\n\r\n emitDateSelected(date) {\r\n this.dateChange.emit(date.detail);\r\n }\r\n\r\n toggleDropdown() {\r\n this.showExportDropdown = !this.showExportDropdown;\r\n }\r\n\r\n @Listen('resize', { target: 'window' })\r\n handleResize() {\r\n this.width = window.innerWidth;\r\n this.updateParameters();\r\n }\r\n\r\n private updateParameters() {\r\n this.buttonIcon = this.width < 1007 ? 'only' : 'default';\r\n this.isDatePickerFullWidth = this.width <= 700 ? true : false;\r\n }\r\n\r\n emitTableControlClicked(control: 'previous' | 'next') {\r\n this.tableControlClicked.emit(control);\r\n }\r\n\r\n emitValue(inputValue) {\r\n this.inputValueChanged.emit(inputValue);\r\n }\r\n\r\n onFilterButtonClicked() {\r\n this.filterButtonClicked.emit();\r\n }\r\n\r\n emitSelection(selection) {\r\n this.exportClicked.emit(selection);\r\n }\r\n\r\n onRefreshButtonClicked() {\r\n this.refreshButtonClicked.emit();\r\n }\r\n\r\n onColumnOptionsButtonClicked() {\r\n this.columnOptionsButtonClicked.emit();\r\n }\r\n\r\n onLayoutButtonClicked(layout) {\r\n this.layoutButtonClicked.emit(layout.detail);\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.showExportDropdown && !this.el.contains(event.target as Node)) {\r\n this.showExportDropdown = false;\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n window.removeEventListener('resize', this.handleResize);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"table_header_div\">\r\n {this.type === 'default' && (\r\n <>\r\n {this.tableHeading && <p class=\"table_heading text-lg-semi-bold\">{this.tableHeadingLabel}</p>}\r\n {this.showDateFilter && (\r\n <div class=\"date_filters\">\r\n <div class=\"date_input\">\r\n <gb-date-picker\r\n mode={this.mode}\r\n disabled={this.datePickerDisabled}\r\n format={this.format}\r\n icon-position={this.datePickerIconPosition}\r\n placeholder={this.datePickerPlaceholder}\r\n dropdown-alignment={this.datePickerDropdownPosition}\r\n enable-time={this.enableTime}\r\n no-calendar={this.noCalendar}\r\n twentyfour-hr={this.twentyfourHr}\r\n show-months={this.showMonths}\r\n full-width={this.isDatePickerFullWidth}\r\n onDateChange={this.emitDateSelected.bind(this)}\r\n ></gb-date-picker>\r\n </div>\r\n </div>\r\n )}\r\n <div class={`actions ${!this.showDateFilter && !this.tableHeading ? 'full_width' : ''}`}>\r\n {this.showSearch && (\r\n <div class=\"input_field\">\r\n <gb-input-field\r\n size=\"sm\"\r\n type=\"icon_leading\"\r\n icon-swap=\"assets/search-01.svg\"\r\n placeholder={this.inputPlaceholder}\r\n enable-cancel-button-function={true}\r\n onInputValueChanged={this.emitValue.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n <div class=\"action\">\r\n {this.showLayoutToggle && <gb-button-group items={this.items} icon=\"only\" onOptionChange={this.onLayoutButtonClicked.bind(this)}></gb-button-group>}\r\n {this.showColumnOptions && this.width > 768 && (\r\n <gb-button\r\n size=\"md\"\r\n hierarchy=\"secondary_gray\"\r\n icon={this.width <= 1007 ? 'only' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/column-insert.svg\"\r\n onClick={() => this.onColumnOptionsButtonClicked()}\r\n >\r\n <p>Columns</p>\r\n </gb-button>\r\n )}\r\n {this.showFilter && (\r\n <gb-filter-button state={this.filterState} icon-only={this.width <= 1007 ? true : false} onClick={() => this.onFilterButtonClicked()}>\r\n <p slot=\"filter_count\">{this.filterCount}</p>\r\n </gb-filter-button>\r\n )}\r\n {this.showExport && (\r\n <div class=\"export\">\r\n <gb-button\r\n size=\"md\"\r\n state={this.exportButtonState}\r\n hierarchy=\"secondary_gray\"\r\n icon={this.width <= 1007 ? 'only' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/file-export.svg\"\r\n icon-trailing={this.width <= 1007 ? false : true}\r\n icon-trailing-swap=\"assets/arrow-down-01.svg\"\r\n onClick={e => {\r\n e.stopPropagation();\r\n this.toggleDropdown();\r\n }}\r\n >\r\n <p>Export</p>\r\n </gb-button>\r\n {this.showExportDropdown && (\r\n <gb-export-dropdown\r\n ref={el => (this.exportDropdown = el)}\r\n show-entire-data={this.showEntireData}\r\n pdf-state={this.pdfState}\r\n csv-state={this.csvState}\r\n pdf-sub-dropdown={this.pdfSubDropdown}\r\n csv-sub-dropdown={this.csvSubDropdown}\r\n onExportClicked={event => this.emitSelection(event)}\r\n class={`dropdown ${this.exportDropdownPosition}`}\r\n ></gb-export-dropdown>\r\n )}\r\n </div>\r\n )}\r\n {this.showRefreshButton && (\r\n <div class=\"refresh_button\">\r\n <gb-button\r\n size=\"md\"\r\n hierarchy=\"secondary_gray\"\r\n icon={this.width <= 1007 ? 'only' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/refresh.svg\"\r\n onClick={() => this.onRefreshButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'table_control' && (\r\n <>\r\n <p class=\"table_heading text-lg-semi-bold\">{this.tableHeadingLabel}</p>\r\n <div class=\"controls\">\r\n <gb-button\r\n size=\"md\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/icons/arrow-left-01/stroke/rounded.svg\"\r\n onClick={() => this.emitTableControlClicked('previous')}\r\n ></gb-button>\r\n <gb-button\r\n size=\"md\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/icons/arrow-right-01/stroke/rounded.svg\"\r\n onClick={() => this.emitTableControlClicked('next')}\r\n ></gb-button>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n",".toggle_div{\r\n display: flex;\r\n justify-content: space-between;\r\n width: fit-content;\r\n}\r\n\r\n.toggle_div.sm{\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.toggle_div.md{\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.text{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.text.div_centered{\r\n padding-bottom: 0.2rem;\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565) !important;\r\n}","import { Component, Element, Event, EventEmitter, h, Prop, Fragment } from '@stencil/core';\r\nimport { GeneralSizes, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-toggle',\r\n styleUrl: 'gb-toggle.css',\r\n shadow: true,\r\n})\r\nexport class GbToggle {\r\n @Prop() size: GeneralSizes;\r\n @Prop() state: StateEnum;\r\n @Prop() text: boolean = false;\r\n @Prop() supportingText: boolean = false;\r\n @Prop() pressed: boolean = false;\r\n @Prop() position: 'left' | 'right' = 'right';\r\n @Element() el: HTMLElement;\r\n @Event() toggleClicked: EventEmitter<boolean>;\r\n\r\n getMainTextClass() {\r\n switch (this.size) {\r\n case 'sm':\r\n return `text-sm-medium`;\r\n case 'md':\r\n return `text-md-medium`;\r\n }\r\n }\r\n\r\n getSupportingTextClass() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-sm-regular';\r\n case 'md':\r\n return 'text-md-regular';\r\n }\r\n }\r\n\r\n onToggle(event) {\r\n this.toggleClicked.emit(event.detail);\r\n }\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"main_text\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n const mainDiv = this.el.querySelector('.text');\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add(this.getMainTextClass());\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add(this.getSupportingTextClass());\r\n }\r\n\r\n if (mainDiv) {\r\n if (!this.supportingText) {\r\n mainDiv.classList.add('div_centered');\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`toggle_div ${this.size}`}>\r\n {this.position === 'left' && (\r\n <>\r\n {this.text && (\r\n <div class=\"text\">\r\n <slot name=\"main_text\"></slot>\r\n {this.supportingText && <slot name=\"supporting_text\"></slot>}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n <div class=\"toggle_base\">\r\n <gb-toggle-base size={this.size} state={this.state} pressed={this.pressed} onToggleClicked={this.onToggle.bind(this)}></gb-toggle-base>\r\n </div>\r\n {this.position === 'right' && (\r\n <>\r\n {this.text && (\r\n <div class=\"text\">\r\n <slot name=\"main_text\"></slot>\r\n {this.supportingText && <slot name=\"supporting_text\"></slot>}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n/* Basic Styles for the Toggle */\r\ninput[type=\"checkbox\"] {\r\n display: none; /* Hide native checkbox */\r\n}\r\n\r\nlabel {\r\n display: inline-block;\r\n border-radius: var(--rounded-lg);\r\n position: relative;\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n cursor: pointer;\r\n transition: background-color 0.3s ease;\r\n padding: 0.125rem;\r\n}\r\n\r\nlabel.sm{\r\n width: 2.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\nlabel.md{\r\n width: 2.75rem;\r\n height: 1.5rem;\r\n}\r\n\r\nlabel.pressed.default {\r\n background-color: var(--color-background-selected, #075db2);\r\n}\r\n\r\nlabel.disabled{\r\n background-color: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\nlabel.pressed.disabled {\r\n background-color: var(--color-background-gray-subtle, #E3E8EF); /* Light gray background when pressed and in disabled state */\r\n}\r\n\r\n/* Circle inside the toggle */\r\nlabel::before {\r\n content: '';\r\n position: absolute;\r\n background-color: var(--color-icon-inverse, #FFFFFF);\r\n border-radius: 50%;\r\n transition: transform 0.3s ease;\r\n filter: drop-shadow(0px 1px 2px rgba(16, 24, 40, 0.06)) drop-shadow(0px 1px 3px rgba(16, 24, 40, 0.10));\r\n}\r\n\r\nlabel.sm::before{\r\n width: 1rem;\r\n height: 1rem;\r\n top: 0.25rem;\r\n left: 0.25rem;\r\n}\r\n\r\nlabel.md::before{\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n top: 0.24rem;\r\n left: 0.25rem;\r\n}\r\n\r\nlabel.sm.pressed::before {\r\n transform: translateX(16px); /* Move the white circle to the right when pressed */\r\n}\r\n\r\nlabel.md.pressed::before {\r\n transform: translateX(20px); /* Move the white circle to the right when pressed */\r\n}\r\n\r\nlabel.disabled::before {\r\n background-color: var(--color-icon-disabled, #CDD5DF); /* Change circle background when disabled */\r\n}\r\n\r\nlabel.pressed.disabled::before {\r\n background-color: var(--color-background-gray-bold, #9AA4B2); /* Change circle background when disabled */\r\n}\r\n\r\n/* Checkmark SVG Styles */\r\n.default_checked_svg,\r\n.disabled_checked_svg {\r\n position: absolute;\r\n transform: translate(-50%, -50%);\r\n width: 12px;\r\n height: 12px;\r\n display: none; /* Hidden by default */\r\n}\r\n\r\n.pressed .default_checked_svg {\r\n display: block; /* Show checkmark when pressed and default */\r\n}\r\n\r\n.pressed .disabled_checked_svg {\r\n display: block; /* Show checkmark when pressed and disabled */\r\n}\r\n\r\n.default_checked_svg.sm,\r\n.disabled_checked_svg.sm{\r\n top: 0.75rem;\r\n right: 0;\r\n}\r\n\r\n.default_checked_svg.md,\r\n.disabled_checked_svg.md{\r\n top: 0.85rem;\r\n right: 0.1rem;\r\n}\r\n\r\n\r\n","import { Component, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { GeneralSizes, StateEnum } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-toggle-base',\r\n styleUrl: 'gb-toggle-base.css',\r\n shadow: true,\r\n})\r\nexport class GbToggleBase {\r\n @Prop() size: GeneralSizes;\r\n @Prop() state: StateEnum;\r\n @Prop({ mutable: true }) pressed: boolean = false;\r\n @Event() toggleClicked: EventEmitter<boolean>;\r\n\r\n private handleToggleClick() {\r\n if (this.state === 'default') {\r\n this.pressed = !this.pressed;\r\n this.toggleClicked.emit(this.pressed);\r\n }\r\n }\r\n\r\n render() {\r\n return [\r\n <input type=\"checkbox\" id=\"customCheckbox\" class={`${this.pressed ? 'pressed' : ''}`} readonly />,\r\n <label onClick={() => this.handleToggleClick()} class={`${this.size} ${this.state} ${this.pressed ? 'pressed' : ''}`} htmlFor=\"customCheckbox\">\r\n {this.pressed && this.state === 'default' ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`default_checked_svg ${this.size}`}>\r\n <path\r\n d=\"M2.08325 6.04167C2.08325 6.04167 2.70825 6.04167 3.54159 7.5C3.54159 7.5 5.85776 3.68056 7.91659 2.91667\"\r\n stroke=\"var(--color-background-selected, #075DB2)\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : this.pressed && this.state === 'disabled' ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`disabled_checked_svg ${this.size}`}>\r\n <path\r\n d=\"M2.08325 6.04167C2.08325 6.04167 2.70825 6.04167 3.54159 7.5C3.54159 7.5 5.85776 3.68056 7.91659 2.91667\"\r\n stroke=\"var(--color-background-gray-subtle, #E3E8EF)\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : null}\r\n </label>,\r\n ];\r\n }\r\n}"],"names":["h","Fragment","getAssetPath","computePosition","flip","offset","shift","size","getComputedStyle","StateEnum"],"mappings":"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","x_google_ignoreList":[8,9,10,11]}
|