udp-stencil-component-library 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/cjs/SearchBuilder-DOgNOiz-.js +369 -0
- package/dist/cjs/SearchBuilder-DOgNOiz-.js.map +1 -0
- package/dist/cjs/action-column-util-CQRWvOT6.js +46 -0
- package/dist/cjs/action-column-util-CQRWvOT6.js.map +1 -0
- package/dist/cjs/add-map-feature-popup.map-toolbar.select-layer-popup.split-line-popup.entry.cjs.js.map +1 -0
- package/dist/cjs/add-map-feature-popup_4.cjs.entry.js +335 -0
- package/dist/cjs/add-map-feature-popup_4.cjs.entry.js.map +1 -0
- package/dist/cjs/advanced-search_50.cjs.entry.js +8621 -0
- package/dist/cjs/advanced-search_50.cjs.entry.js.map +1 -0
- package/dist/cjs/ag-grid-CQUA5EDo.js +44 -0
- package/dist/cjs/ag-grid-CQUA5EDo.js.map +1 -0
- package/dist/cjs/ag-grid-base.grid-header.entry.cjs.js.map +1 -0
- package/dist/cjs/ag-grid-base_2.cjs.entry.js +59 -0
- package/dist/cjs/ag-grid-base_2.cjs.entry.js.map +1 -0
- package/dist/cjs/api-method-grid.cjs.entry.js +109 -0
- package/dist/cjs/api-method-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/api-method-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/api-services-NWeAzI4X.js +56 -0
- package/dist/cjs/api-services-NWeAzI4X.js.map +1 -0
- package/dist/cjs/apiUtils-DOhJ8oI9.js +481 -0
- package/dist/cjs/apiUtils-DOhJ8oI9.js.map +1 -0
- package/dist/cjs/catalog-store-BCw0bwst.js +1128 -0
- package/dist/cjs/catalog-store-BCw0bwst.js.map +1 -0
- package/dist/cjs/chart-container.chart-kpi.udp-ambient-card.entry.cjs.js.map +1 -0
- package/dist/cjs/chart-container_3.cjs.entry.js +93 -0
- package/dist/cjs/chart-container_3.cjs.entry.js.map +1 -0
- package/dist/cjs/check-box-group.cjs.entry.js +115 -0
- package/dist/cjs/check-box-group.cjs.entry.js.map +1 -0
- package/dist/cjs/check-box-group.entry.cjs.js.map +1 -0
- package/dist/cjs/check-box.cjs.entry.js +119 -0
- package/dist/cjs/check-box.cjs.entry.js.map +1 -0
- package/dist/cjs/check-box.entry.cjs.js.map +1 -0
- package/dist/cjs/chip-section.cjs.entry.js +121 -0
- package/dist/cjs/chip-section.cjs.entry.js.map +1 -0
- package/dist/cjs/chip-section.entry.cjs.js.map +1 -0
- package/dist/cjs/client-side-grid.cjs.entry.js +44 -0
- package/dist/cjs/client-side-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/client-side-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/color-preview.cjs.entry.js +29 -0
- package/dist/cjs/color-preview.cjs.entry.js.map +1 -0
- package/dist/cjs/color-preview.entry.cjs.js.map +1 -0
- package/dist/cjs/common-By_kzIQM.js +12 -0
- package/dist/cjs/common-By_kzIQM.js.map +1 -0
- package/dist/cjs/configService-OX6rz-VE.js +134 -0
- package/dist/cjs/configService-OX6rz-VE.js.map +1 -0
- package/dist/cjs/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.text-input-renderer.entry.cjs.js.map +1 -0
- package/dist/cjs/date-time-renderer_5.cjs.entry.js +272 -0
- package/dist/cjs/date-time-renderer_5.cjs.entry.js.map +1 -0
- package/dist/cjs/feature-details-card.feature-details-popup.entry.cjs.js.map +1 -0
- package/dist/cjs/feature-details-card_2.cjs.entry.js +234 -0
- package/dist/cjs/feature-details-card_2.cjs.entry.js.map +1 -0
- package/dist/cjs/file-upload.selectable-list.stencil-field.entry.cjs.js.map +1 -0
- package/dist/cjs/file-upload_3.cjs.entry.js +1084 -0
- package/dist/cjs/file-upload_3.cjs.entry.js.map +1 -0
- package/dist/cjs/get-user-eZrrSXVj.js +88 -0
- package/dist/cjs/get-user-eZrrSXVj.js.map +1 -0
- package/dist/cjs/get-user.cjs.entry.js +14 -0
- package/dist/cjs/get-user.cjs.entry.js.map +1 -0
- package/dist/cjs/get-user.entry.cjs.js.map +1 -0
- package/dist/cjs/iconUtils-Dj4qQoqr.js +205 -0
- package/dist/cjs/iconUtils-Dj4qQoqr.js.map +1 -0
- package/dist/cjs/index-Bu1pSYrV.js +2245 -0
- package/dist/cjs/index-Bu1pSYrV.js.map +1 -0
- package/dist/cjs/index.cjs.js +81 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/inputs-example.cjs.entry.js +108 -0
- package/dist/cjs/inputs-example.cjs.entry.js.map +1 -0
- package/dist/cjs/inputs-example.entry.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +15 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/logical-search-indicator.cjs.entry.js +20 -0
- package/dist/cjs/logical-search-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/logical-search-indicator.entry.cjs.js.map +1 -0
- package/dist/cjs/makeApiCall-CFfg9gI0.js +127 -0
- package/dist/cjs/makeApiCall-CFfg9gI0.js.map +1 -0
- package/dist/cjs/map-component.udp-map-toolbar.entry.cjs.js.map +1 -0
- package/dist/cjs/map-component_2.cjs.entry.js +862 -0
- package/dist/cjs/map-component_2.cjs.entry.js.map +1 -0
- package/dist/cjs/numeric-field.cjs.entry.js +151 -0
- package/dist/cjs/numeric-field.cjs.entry.js.map +1 -0
- package/dist/cjs/numeric-field.entry.cjs.js.map +1 -0
- package/dist/cjs/page-renderer.cjs.entry.js +42 -0
- package/dist/cjs/page-renderer.cjs.entry.js.map +1 -0
- package/dist/cjs/page-renderer.entry.cjs.js.map +1 -0
- package/dist/cjs/question-configs-renderer.udp-forms-builder-menu.udp-forms-builder-style-override.udp-list-item.entry.cjs.js.map +1 -0
- package/dist/cjs/question-configs-renderer_4.cjs.entry.js +231 -0
- package/dist/cjs/question-configs-renderer_4.cjs.entry.js.map +1 -0
- package/dist/cjs/resource-timeline-calendar.cjs.entry.js +442 -0
- package/dist/cjs/resource-timeline-calendar.cjs.entry.js.map +1 -0
- package/dist/cjs/resource-timeline-calendar.entry.cjs.js.map +1 -0
- package/dist/cjs/resource-timeline-primary-bar.cjs.entry.js +38 -0
- package/dist/cjs/resource-timeline-primary-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/resource-timeline-primary-bar.entry.cjs.js.map +1 -0
- package/dist/cjs/server-side-grid.cjs.entry.js +49 -0
- package/dist/cjs/server-side-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/server-side-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/simple-card.cjs.entry.js +20 -0
- package/dist/cjs/simple-card.cjs.entry.js.map +1 -0
- package/dist/cjs/simple-card.entry.cjs.js.map +1 -0
- package/dist/cjs/stencil-form-store-C79nffNH.js +12 -0
- package/dist/cjs/stencil-form-store-C79nffNH.js.map +1 -0
- package/dist/cjs/stencil-form.udp-question.entry.cjs.js.map +1 -0
- package/dist/cjs/stencil-form_2.cjs.entry.js +177 -0
- package/dist/cjs/stencil-form_2.cjs.entry.js.map +1 -0
- package/dist/cjs/stencil-library.cjs.js +27 -0
- package/dist/cjs/stencil-library.cjs.js.map +1 -0
- package/dist/cjs/tenantUtils-BCKSE0vq.js +10 -0
- package/dist/cjs/tenantUtils-BCKSE0vq.js.map +1 -0
- package/dist/cjs/test-api-updated.cjs.entry.js +84 -0
- package/dist/cjs/test-api-updated.cjs.entry.js.map +1 -0
- package/dist/cjs/test-api-updated.entry.cjs.js.map +1 -0
- package/dist/cjs/test-api.cjs.entry.js +74 -0
- package/dist/cjs/test-api.cjs.entry.js.map +1 -0
- package/dist/cjs/test-api.entry.cjs.js.map +1 -0
- package/dist/cjs/text-area.udp-date-selector.udp-datetime-selector.udp-time-selector.entry.cjs.js.map +1 -0
- package/dist/cjs/text-area_4.cjs.entry.js +630 -0
- package/dist/cjs/text-area_4.cjs.entry.js.map +1 -0
- package/dist/cjs/toggle-button.cjs.entry.js +21 -0
- package/dist/cjs/toggle-button.cjs.entry.js.map +1 -0
- package/dist/cjs/toggle-button.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-adornment.cjs.entry.js +38 -0
- package/dist/cjs/udp-adornment.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-adornment.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-bar-chart.udp-distribution-chart.udp-donut-chart.udp-line-chart.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-bar-chart_4.cjs.entry.js +731 -0
- package/dist/cjs/udp-bar-chart_4.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-calendar-base.cjs.entry.js +144 -0
- package/dist/cjs/udp-calendar-base.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-calendar-base.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-calendar-day.cjs.entry.js +23 -0
- package/dist/cjs/udp-calendar-day.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-calendar-day.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-calendar-month.cjs.entry.js +23 -0
- package/dist/cjs/udp-calendar-month.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-calendar-month.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-calendar-week.cjs.entry.js +23 -0
- package/dist/cjs/udp-calendar-week.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-calendar-week.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-calendar-year.cjs.entry.js +23 -0
- package/dist/cjs/udp-calendar-year.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-calendar-year.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-card-action-area.cjs.entry.js +20 -0
- package/dist/cjs/udp-card-action-area.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-card-action-area.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-card.udp-card-actions.udp-card-content.udp-card-header.udp-card-media.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-card_5.cjs.entry.js +126 -0
- package/dist/cjs/udp-card_5.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-charts-example.cjs.entry.js +17 -0
- package/dist/cjs/udp-charts-example.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-charts-example.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +31 -0
- package/dist/cjs/udp-container-query-grid-item.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-container-query-grid-item.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-container-query-grid.cjs.entry.js +52 -0
- package/dist/cjs/udp-container-query-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-container-query-grid.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-container-query.cjs.entry.js +40 -0
- package/dist/cjs/udp-container-query.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-container-query.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-container.cjs.entry.js +37 -0
- package/dist/cjs/udp-container.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-container.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-dynamic-form.cjs.entry.js +264 -0
- package/dist/cjs/udp-dynamic-form.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-dynamic-form.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-fetch-DAv-w6iI.js +267 -0
- package/dist/cjs/udp-fetch-DAv-w6iI.js.map +1 -0
- package/dist/cjs/udp-fetch.cjs.entry.js +12 -0
- package/dist/cjs/udp-fetch.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-fetch.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-forms-builder-question-template-t8lMsM0q.js +257 -0
- package/dist/cjs/udp-forms-builder-question-template-t8lMsM0q.js.map +1 -0
- package/dist/cjs/udp-forms-builder.cjs.entry.js +566 -0
- package/dist/cjs/udp-forms-builder.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-forms-builder.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-forms-list-card.udp-list-renderer.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-forms-list-card_2.cjs.entry.js +175 -0
- package/dist/cjs/udp-forms-list-card_2.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-forms-list.cjs.entry.js +233 -0
- package/dist/cjs/udp-forms-list.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-forms-list.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-forms-renderer.cjs.entry.js +533 -0
- package/dist/cjs/udp-forms-renderer.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-forms-renderer.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-forms-ui.cjs.entry.js +103 -0
- package/dist/cjs/udp-forms-ui.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-forms-ui.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-link.cjs.entry.js +50 -0
- package/dist/cjs/udp-link.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-link.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-map-utils-0uy05ETy.js +189 -0
- package/dist/cjs/udp-map-utils-0uy05ETy.js.map +1 -0
- package/dist/cjs/udp-map.cjs.entry.js +114 -0
- package/dist/cjs/udp-map.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-map.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-models-CZrxJTM3.js +17 -0
- package/dist/cjs/udp-models-CZrxJTM3.js.map +1 -0
- package/dist/cjs/udp-page.cjs.entry.js +33 -0
- package/dist/cjs/udp-page.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-page.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-pagination.cjs.entry.js +79 -0
- package/dist/cjs/udp-pagination.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-pagination.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-side-sheet.cjs.entry.js +93 -0
- package/dist/cjs/udp-side-sheet.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-side-sheet.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-split-screen.cjs.entry.js +68 -0
- package/dist/cjs/udp-split-screen.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-split-screen.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-stepper-demo.cjs.entry.js +104 -0
- package/dist/cjs/udp-stepper-demo.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-stepper-demo.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-stepper.cjs.entry.js +114 -0
- package/dist/cjs/udp-stepper.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-stepper.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-user-creator.cjs.entry.js +74 -0
- package/dist/cjs/udp-user-creator.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-user-creator.entry.cjs.js.map +1 -0
- package/dist/cjs/udp-vertical-spacer.cjs.entry.js +26 -0
- package/dist/cjs/udp-vertical-spacer.cjs.entry.js.map +1 -0
- package/dist/cjs/udp-vertical-spacer.entry.cjs.js.map +1 -0
- package/dist/cjs/utils-BIk18ZQ0.js +51 -0
- package/dist/cjs/utils-BIk18ZQ0.js.map +1 -0
- package/dist/collection/collection-manifest.json +150 -0
- package/dist/collection/components/deprecated/side-sheet/side-sheet-container.css +21 -0
- package/dist/collection/components/deprecated/side-sheet/side-sheet-container.js +47 -0
- package/dist/collection/components/deprecated/side-sheet/side-sheet-container.js.map +1 -0
- package/dist/collection/components/deprecated/side-sheet/side-sheet.css +79 -0
- package/dist/collection/components/deprecated/side-sheet/side-sheet.js +244 -0
- package/dist/collection/components/deprecated/side-sheet/side-sheet.js.map +1 -0
- package/dist/collection/components/my-component/AG-Grid.js +352 -0
- package/dist/collection/components/my-component/AG-Grid.js.map +1 -0
- package/dist/collection/components/my-component/UI/advanced-search/advanced-search-grouped.js +662 -0
- package/dist/collection/components/my-component/UI/advanced-search/advanced-search-grouped.js.map +1 -0
- package/dist/collection/components/my-component/UI/advanced-search/advanced-search.css +53 -0
- package/dist/collection/components/my-component/UI/advanced-search/advanced-search.js +301 -0
- package/dist/collection/components/my-component/UI/advanced-search/advanced-search.js.map +1 -0
- package/dist/collection/components/my-component/UI/advanced-search/filter-conditions/filter-conditions.css +0 -0
- package/dist/collection/components/my-component/UI/advanced-search/filter-conditions/filter-conditions.js +19 -0
- package/dist/collection/components/my-component/UI/advanced-search/filter-conditions/filter-conditions.js.map +1 -0
- package/dist/collection/components/my-component/UI/advanced-search/types.js +2 -0
- package/dist/collection/components/my-component/UI/advanced-search/types.js.map +1 -0
- package/dist/collection/components/my-component/UI/advanced-search/ui/logical-search-indicator/logical-search-indicator.css +9 -0
- package/dist/collection/components/my-component/UI/advanced-search/ui/logical-search-indicator/logical-search-indicator.js +42 -0
- package/dist/collection/components/my-component/UI/advanced-search/ui/logical-search-indicator/logical-search-indicator.js.map +1 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/function-button/udp-function-button.css +24 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/function-button/udp-function-button.js +220 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/function-button/udp-function-button.js.map +1 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/primary-button/custom-button.css +73 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/primary-button/custom-button.js +214 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/primary-button/custom-button.js.map +1 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/radio-button/udp-radio-button.css +54 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/radio-button/udp-radio-button.js +123 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/radio-button/udp-radio-button.js.map +1 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button-grid-action-header.css +51 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button-grid-action-header.js +250 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button-grid-action-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button.css +54 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button.js +310 -0
- package/dist/collection/components/my-component/UI/buttons/icon-button/stencil-icon-button.js.map +1 -0
- package/dist/collection/components/my-component/UI/buttons/udp-button/udp-button.css +508 -0
- package/dist/collection/components/my-component/UI/buttons/udp-button/udp-button.js +395 -0
- package/dist/collection/components/my-component/UI/buttons/udp-button/udp-button.js.map +1 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-base.css +0 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-base.js +985 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-base.js.map +1 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-day.css +0 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-day.js +49 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-day.js.map +1 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-month.css +0 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-month.js +49 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-month.js.map +1 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-week.css +0 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-week.js +49 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-week.js.map +1 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-year.css +0 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-year.js +49 -0
- package/dist/collection/components/my-component/UI/calendar/udp-calendar-year.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/chart-container/chart-container.css +27 -0
- package/dist/collection/components/my-component/UI/charts/chart-container/chart-container.js +285 -0
- package/dist/collection/components/my-component/UI/charts/chart-container/chart-container.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/chart-kpi/chart-kpi.css +12 -0
- package/dist/collection/components/my-component/UI/charts/chart-kpi/chart-kpi.js +61 -0
- package/dist/collection/components/my-component/UI/charts/chart-kpi/chart-kpi.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/chartUtils.js +59 -0
- package/dist/collection/components/my-component/UI/charts/chartUtils.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/udp-bar-chart/udp-bar-chart.css +0 -0
- package/dist/collection/components/my-component/UI/charts/udp-bar-chart/udp-bar-chart.js +642 -0
- package/dist/collection/components/my-component/UI/charts/udp-bar-chart/udp-bar-chart.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/udp-charts-example.js +11 -0
- package/dist/collection/components/my-component/UI/charts/udp-charts-example.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/udp-distribution-chart/udp-distribution-chart.css +0 -0
- package/dist/collection/components/my-component/UI/charts/udp-distribution-chart/udp-distribution-chart.js +513 -0
- package/dist/collection/components/my-component/UI/charts/udp-distribution-chart/udp-distribution-chart.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/udp-donut-chart/udp-donut-chart.css +0 -0
- package/dist/collection/components/my-component/UI/charts/udp-donut-chart/udp-donut-chart.js +454 -0
- package/dist/collection/components/my-component/UI/charts/udp-donut-chart/udp-donut-chart.js.map +1 -0
- package/dist/collection/components/my-component/UI/charts/udp-line-chart/udp-line-chart.css +5 -0
- package/dist/collection/components/my-component/UI/charts/udp-line-chart/udp-line-chart.js +629 -0
- package/dist/collection/components/my-component/UI/charts/udp-line-chart/udp-line-chart.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/adornment/udp-adornment/udp-adornment.css +4 -0
- package/dist/collection/components/my-component/UI/data-display/adornment/udp-adornment/udp-adornment.js +60 -0
- package/dist/collection/components/my-component/UI/data-display/adornment/udp-adornment/udp-adornment.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/badge/udp-badge.css +18 -0
- package/dist/collection/components/my-component/UI/data-display/badge/udp-badge.js +69 -0
- package/dist/collection/components/my-component/UI/data-display/badge/udp-badge.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.css +46 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.js +122 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-action-area/udp-card-action-area.css +29 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-action-area/udp-card-action-area.js +19 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-action-area/udp-card-action-area.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-actions/udp-card-actions.css +23 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-actions/udp-card-actions.js +49 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-actions/udp-card-actions.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-content/udp-card-content.css +20 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-content/udp-card-content.js +67 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-content/udp-card-content.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-header/udp-card-header.css +48 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-header/udp-card-header.js +205 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-header/udp-card-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-media/udp-card-media.css +7 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-media/udp-card-media.js +61 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card-media/udp-card-media.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card.css +67 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card.js +318 -0
- package/dist/collection/components/my-component/UI/data-display/cards/udp-card/udp-card.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/chips/stencil-chip/status-chip/status-chip.css +49 -0
- package/dist/collection/components/my-component/UI/data-display/chips/stencil-chip/status-chip/status-chip.js +106 -0
- package/dist/collection/components/my-component/UI/data-display/chips/stencil-chip/status-chip/status-chip.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/chips/stencil-chip/stencil-chip.css +49 -0
- package/dist/collection/components/my-component/UI/data-display/chips/stencil-chip/stencil-chip.js +343 -0
- package/dist/collection/components/my-component/UI/data-display/chips/stencil-chip/stencil-chip.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/divider/udp-divider.css +17 -0
- package/dist/collection/components/my-component/UI/data-display/divider/udp-divider.js +68 -0
- package/dist/collection/components/my-component/UI/data-display/divider/udp-divider.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/headers/udp-column-header.css +17 -0
- package/dist/collection/components/my-component/UI/data-display/headers/udp-column-header.js +19 -0
- package/dist/collection/components/my-component/UI/data-display/headers/udp-column-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/headers/udp-page-header/udp-page-header.css +17 -0
- package/dist/collection/components/my-component/UI/data-display/headers/udp-page-header/udp-page-header.js +49 -0
- package/dist/collection/components/my-component/UI/data-display/headers/udp-page-header/udp-page-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/hint-panel/hint-panel.css +24 -0
- package/dist/collection/components/my-component/UI/data-display/hint-panel/hint-panel.js +72 -0
- package/dist/collection/components/my-component/UI/data-display/hint-panel/hint-panel.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/icons/iconMapping.js +127 -0
- package/dist/collection/components/my-component/UI/data-display/icons/iconMapping.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/icons/iconUtils.js +11 -0
- package/dist/collection/components/my-component/UI/data-display/icons/iconUtils.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/icons/udp-icon.css +6 -0
- package/dist/collection/components/my-component/UI/data-display/icons/udp-icon.js +151 -0
- package/dist/collection/components/my-component/UI/data-display/icons/udp-icon.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/kpi/kpi-list.css +30 -0
- package/dist/collection/components/my-component/UI/data-display/kpi/kpi-list.js +55 -0
- package/dist/collection/components/my-component/UI/data-display/kpi/kpi-list.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/list-item/list-item.css +74 -0
- package/dist/collection/components/my-component/UI/data-display/list-item/list-item.js +202 -0
- package/dist/collection/components/my-component/UI/data-display/list-item/list-item.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/list-renderer/udp-list-renderer.css +42 -0
- package/dist/collection/components/my-component/UI/data-display/list-renderer/udp-list-renderer.js +360 -0
- package/dist/collection/components/my-component/UI/data-display/list-renderer/udp-list-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over/interfaces/popoverInterfaces.js +2 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over/interfaces/popoverInterfaces.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over/udp-pop-over.css +16 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over/udp-pop-over.js +270 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over/udp-pop-over.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.css +9 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.js +107 -0
- package/dist/collection/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/primary-action-header/primary-action-header.css +91 -0
- package/dist/collection/components/my-component/UI/data-display/primary-action-header/primary-action-header.js +471 -0
- package/dist/collection/components/my-component/UI/data-display/primary-action-header/primary-action-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/simple-card/simple-card.css +21 -0
- package/dist/collection/components/my-component/UI/data-display/simple-card/simple-card.js +19 -0
- package/dist/collection/components/my-component/UI/data-display/simple-card/simple-card.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.css +23 -0
- package/dist/collection/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.js +80 -0
- package/dist/collection/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.css +43 -0
- package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.js +300 -0
- package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/tree-list-item.css +69 -0
- package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/tree-list-item.js +726 -0
- package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/tree-list-item.js.map +1 -0
- package/dist/collection/components/my-component/UI/data-display/udp-avatar/udp-avatar.css +50 -0
- package/dist/collection/components/my-component/UI/data-display/udp-avatar/udp-avatar.js +141 -0
- package/dist/collection/components/my-component/UI/data-display/udp-avatar/udp-avatar.js.map +1 -0
- package/dist/collection/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.css +78 -0
- package/dist/collection/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.js +448 -0
- package/dist/collection/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.js.map +1 -0
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.css +92 -0
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.js +285 -0
- package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.js.map +1 -0
- package/dist/collection/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.css +52 -0
- package/dist/collection/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.js +87 -0
- package/dist/collection/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.js.map +1 -0
- package/dist/collection/components/my-component/UI/feedback/udp-notification/udp-notification.css +58 -0
- package/dist/collection/components/my-component/UI/feedback/udp-notification/udp-notification.js +123 -0
- package/dist/collection/components/my-component/UI/feedback/udp-notification/udp-notification.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/dynamic-form/udp-dynamic-form.css +5 -0
- package/dist/collection/components/my-component/UI/forms/dynamic-form/udp-dynamic-form.js +295 -0
- package/dist/collection/components/my-component/UI/forms/dynamic-form/udp-dynamic-form.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/edit-view-form/edit-view-form-dialog.css +14 -0
- package/dist/collection/components/my-component/UI/forms/edit-view-form/edit-view-form.js +440 -0
- package/dist/collection/components/my-component/UI/forms/edit-view-form/edit-view-form.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/form/stencil-field.css +70 -0
- package/dist/collection/components/my-component/UI/forms/form/stencil-field.js +453 -0
- package/dist/collection/components/my-component/UI/forms/form/stencil-field.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/form/stencil-form-store.js +6 -0
- package/dist/collection/components/my-component/UI/forms/form/stencil-form-store.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/form/stencil-form.js +226 -0
- package/dist/collection/components/my-component/UI/forms/form/stencil-form.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/save-view-form/save-view-form-dialog.css +14 -0
- package/dist/collection/components/my-component/UI/forms/save-view-form/save-view-form.js +461 -0
- package/dist/collection/components/my-component/UI/forms/save-view-form/save-view-form.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/enums.js +17 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/enums.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/mockData.js +388 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/mockData.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/types.js +2 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/types.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/forms-builder-utils.js +4 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/forms-builder-utils.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/typographyVariantsList.js +18 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/typographyVariantsList.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer.css +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer.js +169 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/date-time-renderer.css +19 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/date-time-renderer.js +221 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/date-time-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/file-upload-renderer.css +8 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/file-upload-renderer.js +172 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/file-upload-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/list-options-renderer.css +60 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/list-options-renderer.js +206 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/list-options-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.css +12 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.js +162 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/text-input-renderer.css +12 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/text-input-renderer.js +169 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/text-input-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-menu.css +24 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-menu.js +116 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-menu.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js +248 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-style-override.css +5 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-style-override.js +117 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-style-override.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder.css +95 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder.js +635 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-form-api-utils.js +32 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-form-api-utils.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list-card.js +154 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list-card.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list.css +43 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list.js +258 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/BaseFormHandler.js +28 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/BaseFormHandler.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/FormHandlerFactory.js +25 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/FormHandlerFactory.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/IFormHandler.js +2 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/IFormHandler.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/MockFormHandler.js +19 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/MockFormHandler.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PrivateFormHandler.js +141 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PrivateFormHandler.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PublicFormHandler.js +82 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PublicFormHandler.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/formUtils.js +12 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/formUtils.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.css +89 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +427 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-ui.js +382 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-ui.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-question/udp-question.css +4 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-question/udp-question.js +216 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/udp-question/udp-question.js.map +1 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/utils.js +27 -0
- package/dist/collection/components/my-component/UI/forms/udp-forms/utils.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/ag-table/ag-table.js +79 -0
- package/dist/collection/components/my-component/UI/grid/ag-table/ag-table.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-functions/buildGroupedSearchPayload.js +60 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-functions/buildGroupedSearchPayload.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.css +15651 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.js +4548 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/enums/gridEnums.js +2 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/enums/gridEnums.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/interfaces/gridInterfaces.js +2 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/interfaces/gridInterfaces.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/license/licenseKey.js +2 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/license/licenseKey.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/static-data/get-all-hotlists.js +140 -0
- package/dist/collection/components/my-component/UI/grid/ambient-template-grid/static-data/get-all-hotlists.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/conversionFunctions/conversionFunctions.js +192 -0
- package/dist/collection/components/my-component/UI/grid/conversionFunctions/conversionFunctions.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.css +36 -0
- package/dist/collection/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.js +836 -0
- package/dist/collection/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.css +14 -0
- package/dist/collection/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.js +111 -0
- package/dist/collection/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/ag-grid-base.js +163 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/ag-grid-base.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/api-method-grid.js +136 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/api-method-grid.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/client-side-grid.js +123 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/client-side-grid.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/datasources/apiMethodDatasource.js +71 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/datasources/apiMethodDatasource.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/grid-header.js +38 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/grid-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/interfaces/grid.js +2 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/interfaces/grid.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/interfaces/searchObject.js +2 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/interfaces/searchObject.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/server-side-grid.js +127 -0
- package/dist/collection/components/my-component/UI/grid/new-grid/server-side-grid.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/actions-renderer.js +40 -0
- package/dist/collection/components/my-component/UI/grid/renderers/actions-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/currency-renderer.js +15 -0
- package/dist/collection/components/my-component/UI/grid/renderers/currency-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/custom-actions-renderer.js +27 -0
- package/dist/collection/components/my-component/UI/grid/renderers/custom-actions-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/custom-renderer.js +18 -0
- package/dist/collection/components/my-component/UI/grid/renderers/custom-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/date-time-cell-renderer.js +72 -0
- package/dist/collection/components/my-component/UI/grid/renderers/date-time-cell-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/email-cell-renderer.js +52 -0
- package/dist/collection/components/my-component/UI/grid/renderers/email-cell-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/hot-list-add-renderer.js +181 -0
- package/dist/collection/components/my-component/UI/grid/renderers/hot-list-add-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/hover-content-cell-renderer.js +62 -0
- package/dist/collection/components/my-component/UI/grid/renderers/hover-content-cell-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/icon-renderer.js +37 -0
- package/dist/collection/components/my-component/UI/grid/renderers/icon-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/open-function-cell-renderer.js +71 -0
- package/dist/collection/components/my-component/UI/grid/renderers/open-function-cell-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/return-search-data-cell-renderer.js +52 -0
- package/dist/collection/components/my-component/UI/grid/renderers/return-search-data-cell-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/sharedContext.js +13 -0
- package/dist/collection/components/my-component/UI/grid/renderers/sharedContext.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/renderers/status-renderer.js +31 -0
- package/dist/collection/components/my-component/UI/grid/renderers/status-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/ag-grid-subtitle-cell-renderer.js +59 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/ag-grid-subtitle-cell-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/license/licenseKey.js +2 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/license/licenseKey.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-calendar.css +15722 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-calendar.js +719 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-calendar.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-header.js +37 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-header.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-primary-bar.css +44 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +345 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-primary-bar.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resourceTimelineUtilities.js +9 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resourceTimelineUtilities.js.map +1 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/timesheets-cell-renderer.js +106 -0
- package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/timesheets-cell-renderer.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/checkbox/check-box.css +8 -0
- package/dist/collection/components/my-component/UI/inputs/checkbox/check-box.js +356 -0
- package/dist/collection/components/my-component/UI/inputs/checkbox/check-box.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/date-selector/udp-date-selector.css +347 -0
- package/dist/collection/components/my-component/UI/inputs/date-selector/udp-date-selector.js +512 -0
- package/dist/collection/components/my-component/UI/inputs/date-selector/udp-date-selector.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/date-time-selector/udp-datetime-selector.css +347 -0
- package/dist/collection/components/my-component/UI/inputs/date-time-selector/udp-datetime-selector.js +544 -0
- package/dist/collection/components/my-component/UI/inputs/date-time-selector/udp-datetime-selector.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/file-upload/file-upload.css +67 -0
- package/dist/collection/components/my-component/UI/inputs/file-upload/file-upload.js +1120 -0
- package/dist/collection/components/my-component/UI/inputs/file-upload/file-upload.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/input-types.js +2 -0
- package/dist/collection/components/my-component/UI/inputs/input-types.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/numeric-field/numeric-field.css +343 -0
- package/dist/collection/components/my-component/UI/inputs/numeric-field/numeric-field.js +594 -0
- package/dist/collection/components/my-component/UI/inputs/numeric-field/numeric-field.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/selectable-list/selectable-list.css +397 -0
- package/dist/collection/components/my-component/UI/inputs/selectable-list/selectable-list.js +652 -0
- package/dist/collection/components/my-component/UI/inputs/selectable-list/selectable-list.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/text-area/text-area.css +343 -0
- package/dist/collection/components/my-component/UI/inputs/text-area/text-area.js +589 -0
- package/dist/collection/components/my-component/UI/inputs/text-area/text-area.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/text-field/text-field.css +343 -0
- package/dist/collection/components/my-component/UI/inputs/text-field/text-field.js +490 -0
- package/dist/collection/components/my-component/UI/inputs/text-field/text-field.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/time-selector/udp-time-selector.css +343 -0
- package/dist/collection/components/my-component/UI/inputs/time-selector/udp-time-selector.js +512 -0
- package/dist/collection/components/my-component/UI/inputs/time-selector/udp-time-selector.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/toggle/stencil-toggle.css +504 -0
- package/dist/collection/components/my-component/UI/inputs/toggle/stencil-toggle.js +478 -0
- package/dist/collection/components/my-component/UI/inputs/toggle/stencil-toggle.js.map +1 -0
- package/dist/collection/components/my-component/UI/inputs/udp-selector/udp-selector.css +489 -0
- package/dist/collection/components/my-component/UI/inputs/udp-selector/udp-selector.js +739 -0
- package/dist/collection/components/my-component/UI/inputs/udp-selector/udp-selector.js.map +1 -0
- package/dist/collection/components/my-component/UI/layout/udp-container/udp-container.css +42 -0
- package/dist/collection/components/my-component/UI/layout/udp-container/udp-container.js +102 -0
- package/dist/collection/components/my-component/UI/layout/udp-container/udp-container.js.map +1 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query/udp-container-query.css +11 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query/udp-container-query.js +83 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query/udp-container-query.js.map +1 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid/udp-container-query-grid.css +9 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid/udp-container-query-grid.js +96 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid/udp-container-query-grid.js.map +1 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid-item/udp-container-query-grid-item.css +5 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +56 -0
- package/dist/collection/components/my-component/UI/layout/udp-container-query-grid-item/udp-container-query-grid-item.js.map +1 -0
- package/dist/collection/components/my-component/UI/layout/udp-page/udp-page.css +5 -0
- package/dist/collection/components/my-component/UI/layout/udp-page/udp-page.js +78 -0
- package/dist/collection/components/my-component/UI/layout/udp-page/udp-page.js.map +1 -0
- package/dist/collection/components/my-component/UI/layout/udp-split-screen/udp-split-screen.css +70 -0
- package/dist/collection/components/my-component/UI/layout/udp-split-screen/udp-split-screen.js +120 -0
- package/dist/collection/components/my-component/UI/layout/udp-split-screen/udp-split-screen.js.map +1 -0
- package/dist/collection/components/my-component/UI/layout/udp-vertical-spacer.css +10 -0
- package/dist/collection/components/my-component/UI/layout/udp-vertical-spacer.js +48 -0
- package/dist/collection/components/my-component/UI/layout/udp-vertical-spacer.js.map +1 -0
- package/dist/collection/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.css +14 -0
- package/dist/collection/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.js +92 -0
- package/dist/collection/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.js.map +1 -0
- package/dist/collection/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.css +29 -0
- package/dist/collection/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.js +20 -0
- package/dist/collection/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.js.map +1 -0
- package/dist/collection/components/my-component/UI/loaders/udp-skeleton-loading.css +30 -0
- package/dist/collection/components/my-component/UI/loaders/udp-skeleton-loading.js +89 -0
- package/dist/collection/components/my-component/UI/loaders/udp-skeleton-loading.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/map-component.js +1612 -0
- package/dist/collection/components/my-component/UI/map/udp-map/map-component.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/add-map-feature-popup.js +230 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/add-map-feature-popup.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-card/feature-details-card.css +46 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-card/feature-details-card.js +398 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-card/feature-details-card.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-popup.js +392 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-popup.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/map-popup.css +45 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/select-layer-popup.js +184 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/select-layer-popup.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/split-line-popup.js +91 -0
- package/dist/collection/components/my-component/UI/map/udp-map/popups/split-line-popup.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/toolbar/map-toolbar.css +57 -0
- package/dist/collection/components/my-component/UI/map/udp-map/toolbar/map-toolbar.js +871 -0
- package/dist/collection/components/my-component/UI/map/udp-map/toolbar/map-toolbar.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/udp-map-toolbar.js +930 -0
- package/dist/collection/components/my-component/UI/map/udp-map/udp-map-toolbar.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/udp-map.css +23 -0
- package/dist/collection/components/my-component/UI/map/udp-map/udp-map.js +1204 -0
- package/dist/collection/components/my-component/UI/map/udp-map/udp-map.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/check-box-group.css +35 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/check-box-group.js +244 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/check-box-group.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/common.js +4 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/common.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/map-interactions.js +227 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/map-interactions.js.map +1 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/udp-map-utils.js +248 -0
- package/dist/collection/components/my-component/UI/map/udp-map/utils/udp-map-utils.js.map +1 -0
- package/dist/collection/components/my-component/UI/menu/menu-item/udp-menu-item.css +30 -0
- package/dist/collection/components/my-component/UI/menu/menu-item/udp-menu-item.js +135 -0
- package/dist/collection/components/my-component/UI/menu/menu-item/udp-menu-item.js.map +1 -0
- package/dist/collection/components/my-component/UI/navigation/pagination/udp-pagination.css +36 -0
- package/dist/collection/components/my-component/UI/navigation/pagination/udp-pagination.js +161 -0
- package/dist/collection/components/my-component/UI/navigation/pagination/udp-pagination.js.map +1 -0
- package/dist/collection/components/my-component/UI/navigation/udp-link/udp-link.css +35 -0
- package/dist/collection/components/my-component/UI/navigation/udp-link/udp-link.js +156 -0
- package/dist/collection/components/my-component/UI/navigation/udp-link/udp-link.js.map +1 -0
- package/dist/collection/components/my-component/UI/stepper/types.js +2 -0
- package/dist/collection/components/my-component/UI/stepper/types.js.map +1 -0
- package/dist/collection/components/my-component/UI/stepper/udp-stepper-demo.js +104 -0
- package/dist/collection/components/my-component/UI/stepper/udp-stepper-demo.js.map +1 -0
- package/dist/collection/components/my-component/UI/stepper/udp-stepper.css +284 -0
- package/dist/collection/components/my-component/UI/stepper/udp-stepper.js +335 -0
- package/dist/collection/components/my-component/UI/stepper/udp-stepper.js.map +1 -0
- package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.css +44 -0
- package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.js +29 -0
- package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.js.map +1 -0
- package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.css +11 -0
- package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.js +69 -0
- package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.js.map +1 -0
- package/dist/collection/components/my-component/UI/toolbars/app-bar/app-bar.css +28 -0
- package/dist/collection/components/my-component/UI/toolbars/app-bar/app-bar.js +43 -0
- package/dist/collection/components/my-component/UI/toolbars/app-bar/app-bar.js.map +1 -0
- package/dist/collection/components/my-component/UI/unity-typography/types.js +2 -0
- package/dist/collection/components/my-component/UI/unity-typography/types.js.map +1 -0
- package/dist/collection/components/my-component/UI/unity-typography/unity-typography.css +183 -0
- package/dist/collection/components/my-component/UI/unity-typography/unity-typography.js +162 -0
- package/dist/collection/components/my-component/UI/unity-typography/unity-typography.js.map +1 -0
- package/dist/collection/components/my-component/demo/ambient-demo-container.css +17 -0
- package/dist/collection/components/my-component/demo/ambient-demo-container.js +42 -0
- package/dist/collection/components/my-component/demo/ambient-demo-container.js.map +1 -0
- package/dist/collection/components/my-component/my-component.css +27 -0
- package/dist/collection/components/my-component/my-component.js +1575 -0
- package/dist/collection/components/my-component/my-component.js.map +1 -0
- package/dist/collection/components/my-component/test-api/test-api.js +46 -0
- package/dist/collection/components/my-component/test-api/test-api.js.map +1 -0
- package/dist/collection/components/test-component/inputs-example/inputs-example.css +240 -0
- package/dist/collection/components/test-component/inputs-example/inputs-example.js +133 -0
- package/dist/collection/components/test-component/inputs-example/inputs-example.js.map +1 -0
- package/dist/collection/global/ag-grid.js +20 -0
- package/dist/collection/global/ag-grid.js.map +1 -0
- package/dist/collection/global/app.js +11 -0
- package/dist/collection/global/app.js.map +1 -0
- package/dist/collection/global/configService.js +37 -0
- package/dist/collection/global/configService.js.map +1 -0
- package/dist/collection/global/types.js +2 -0
- package/dist/collection/global/types.js.map +1 -0
- package/dist/collection/index.js +14 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/page-renderer/page-renderer.css +0 -0
- package/dist/collection/page-renderer/page-renderer.js +159 -0
- package/dist/collection/page-renderer/page-renderer.js.map +1 -0
- package/dist/collection/store/catalog-store.js +27 -0
- package/dist/collection/store/catalog-store.js.map +1 -0
- package/dist/collection/store/internal.js +2 -0
- package/dist/collection/store/internal.js.map +1 -0
- package/dist/collection/store/lookups-store.js +14 -0
- package/dist/collection/store/lookups-store.js.map +1 -0
- package/dist/collection/store/user-store.js +22 -0
- package/dist/collection/store/user-store.js.map +1 -0
- package/dist/collection/theme/color-preview/color-preview.css +48 -0
- package/dist/collection/theme/color-preview/color-preview.js +28 -0
- package/dist/collection/theme/color-preview/color-preview.js.map +1 -0
- package/dist/collection/theme/theme-utils.js +4 -0
- package/dist/collection/theme/theme-utils.js.map +1 -0
- package/dist/collection/toggle-button.css +29 -0
- package/dist/collection/toggle-button.js +65 -0
- package/dist/collection/toggle-button.js.map +1 -0
- package/dist/collection/udp-utilities/api/api-services.js +45 -0
- package/dist/collection/udp-utilities/api/api-services.js.map +1 -0
- package/dist/collection/udp-utilities/api/makeApiCall/examples.js +47 -0
- package/dist/collection/udp-utilities/api/makeApiCall/examples.js.map +1 -0
- package/dist/collection/udp-utilities/api/makeApiCall/makeApiCall.js +115 -0
- package/dist/collection/udp-utilities/api/makeApiCall/makeApiCall.js.map +1 -0
- package/dist/collection/udp-utilities/api/useAxiosGet/useAxiosGet.js +38 -0
- package/dist/collection/udp-utilities/api/useAxiosGet/useAxiosGet.js.map +1 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/testApi.js +50 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/testApi.js.map +1 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/useApiServiceGetQuery.js +37 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/useApiServiceGetQuery.js.map +1 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/useApiServiceMutate.js +36 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/useApiServiceMutate.js.map +1 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/useAxiosMutate.js +29 -0
- package/dist/collection/udp-utilities/api/useAxiosMutate/useAxiosMutate.js.map +1 -0
- package/dist/collection/udp-utilities/api-config/configService.js +127 -0
- package/dist/collection/udp-utilities/api-config/configService.js.map +1 -0
- package/dist/collection/udp-utilities/api-config/index.js +2 -0
- package/dist/collection/udp-utilities/api-config/index.js.map +1 -0
- package/dist/collection/udp-utilities/api-udp/apiMutate.js +44 -0
- package/dist/collection/udp-utilities/api-udp/apiMutate.js.map +1 -0
- package/dist/collection/udp-utilities/api-udp/apiUtils.js +498 -0
- package/dist/collection/udp-utilities/api-udp/apiUtils.js.map +1 -0
- package/dist/collection/udp-utilities/api-udp/baseUrls.js +23 -0
- package/dist/collection/udp-utilities/api-udp/baseUrls.js.map +1 -0
- package/dist/collection/udp-utilities/api-udp/get-user.js +125 -0
- package/dist/collection/udp-utilities/api-udp/get-user.js.map +1 -0
- package/dist/collection/udp-utilities/api-udp/udp-fetch.js +284 -0
- package/dist/collection/udp-utilities/api-udp/udp-fetch.js.map +1 -0
- package/dist/collection/udp-utilities/auth/auth-actions.js +39 -0
- package/dist/collection/udp-utilities/auth/auth-actions.js.map +1 -0
- package/dist/collection/udp-utilities/auth/auth-config.js +26 -0
- package/dist/collection/udp-utilities/auth/auth-config.js.map +1 -0
- package/dist/collection/udp-utilities/auth/auth.js +1 -0
- package/dist/collection/udp-utilities/auth/auth.js.map +1 -0
- package/dist/collection/udp-utilities/auth/sign-in-auth-provider.js +63 -0
- package/dist/collection/udp-utilities/auth/sign-in-auth-provider.js.map +1 -0
- package/dist/collection/udp-utilities/enums/unity-system-enums.js +214 -0
- package/dist/collection/udp-utilities/enums/unity-system-enums.js.map +1 -0
- package/dist/collection/udp-utilities/grid/action-renderers/action-column-util.js +38 -0
- package/dist/collection/udp-utilities/grid/action-renderers/action-column-util.js.map +1 -0
- package/dist/collection/udp-utilities/grid/convertToAgGridColumns.js +42 -0
- package/dist/collection/udp-utilities/grid/convertToAgGridColumns.js.map +1 -0
- package/dist/collection/udp-utilities/grid/data-converters/transformSearchData.js +1047 -0
- package/dist/collection/udp-utilities/grid/data-converters/transformSearchData.js.map +1 -0
- package/dist/collection/udp-utilities/grid/data-source/SearchServiceDatasource.js +376 -0
- package/dist/collection/udp-utilities/grid/data-source/SearchServiceDatasource.js.map +1 -0
- package/dist/collection/udp-utilities/grid/models/udp-models.js +11 -0
- package/dist/collection/udp-utilities/grid/models/udp-models.js.map +1 -0
- package/dist/collection/udp-utilities/grid/search/inquiry-search-datasource.js +2 -0
- package/dist/collection/udp-utilities/grid/search/inquiry-search-datasource.js.map +1 -0
- package/dist/collection/udp-utilities/grid/search/search-utilities.js +37 -0
- package/dist/collection/udp-utilities/grid/search/search-utilities.js.map +1 -0
- package/dist/collection/udp-utilities/grid/udp-grid-enums.js +16 -0
- package/dist/collection/udp-utilities/grid/udp-grid-enums.js.map +1 -0
- package/dist/collection/udp-utilities/layout/breakpoints/breakpoints.js +19 -0
- package/dist/collection/udp-utilities/layout/breakpoints/breakpoints.js.map +1 -0
- package/dist/collection/udp-utilities/layout/breakpoints/useMatchBreakpoint.js +9 -0
- package/dist/collection/udp-utilities/layout/breakpoints/useMatchBreakpoint.js.map +1 -0
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.css +72 -0
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +330 -0
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js.map +1 -0
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.css +27 -0
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +235 -0
- package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js.map +1 -0
- package/dist/collection/udp-utilities/search/SearchBuilder.js +361 -0
- package/dist/collection/udp-utilities/search/SearchBuilder.js.map +1 -0
- package/dist/collection/udp-utilities/search/index.js +2 -0
- package/dist/collection/udp-utilities/search/index.js.map +1 -0
- package/dist/collection/udp-utilities/string-utilities.js +35 -0
- package/dist/collection/udp-utilities/string-utilities.js.map +1 -0
- package/dist/collection/udp-utilities/tenant/tenantUtils.js +4 -0
- package/dist/collection/udp-utilities/tenant/tenantUtils.js.map +1 -0
- package/dist/collection/udp-utilities/testAuth/manualAccessToken.js +4 -0
- package/dist/collection/udp-utilities/testAuth/manualAccessToken.js.map +1 -0
- package/dist/collection/udp-utilities/udp-user-creator.js +91 -0
- package/dist/collection/udp-utilities/udp-user-creator.js.map +1 -0
- package/dist/collection/udp-utilities/unity-session-storage.js +38 -0
- package/dist/collection/udp-utilities/unity-session-storage.js.map +1 -0
- package/dist/collection/udp-utilities/useUsers.js +5 -0
- package/dist/collection/udp-utilities/useUsers.js.map +1 -0
- package/dist/collection/udp-utilities/user.js +2 -0
- package/dist/collection/udp-utilities/user.js.map +1 -0
- package/dist/collection/utils/utils.js +15 -0
- package/dist/collection/utils/utils.js.map +1 -0
- package/dist/components/add-map-feature-popup.d.ts +11 -0
- package/dist/components/add-map-feature-popup.js +9 -0
- package/dist/components/add-map-feature-popup.js.map +1 -0
- package/dist/components/advanced-search-grouped.d.ts +11 -0
- package/dist/components/advanced-search-grouped.js +9 -0
- package/dist/components/advanced-search-grouped.js.map +1 -0
- package/dist/components/advanced-search.d.ts +11 -0
- package/dist/components/advanced-search.js +9 -0
- package/dist/components/advanced-search.js.map +1 -0
- package/dist/components/ag-grid-base.d.ts +11 -0
- package/dist/components/ag-grid-base.js +9 -0
- package/dist/components/ag-grid-base.js.map +1 -0
- package/dist/components/ag-table.d.ts +11 -0
- package/dist/components/ag-table.js +9 -0
- package/dist/components/ag-table.js.map +1 -0
- package/dist/components/ambient-demo-container.d.ts +11 -0
- package/dist/components/ambient-demo-container.js +9 -0
- package/dist/components/ambient-demo-container.js.map +1 -0
- package/dist/components/ambient-template-grid.d.ts +11 -0
- package/dist/components/ambient-template-grid.js +9 -0
- package/dist/components/ambient-template-grid.js.map +1 -0
- package/dist/components/api-method-grid.d.ts +11 -0
- package/dist/components/api-method-grid.js +145 -0
- package/dist/components/api-method-grid.js.map +1 -0
- package/dist/components/app-bar.d.ts +11 -0
- package/dist/components/app-bar.js +9 -0
- package/dist/components/app-bar.js.map +1 -0
- package/dist/components/chart-container.d.ts +11 -0
- package/dist/components/chart-container.js +9 -0
- package/dist/components/chart-container.js.map +1 -0
- package/dist/components/chart-kpi.d.ts +11 -0
- package/dist/components/chart-kpi.js +9 -0
- package/dist/components/chart-kpi.js.map +1 -0
- package/dist/components/check-box-group.d.ts +11 -0
- package/dist/components/check-box-group.js +9 -0
- package/dist/components/check-box-group.js.map +1 -0
- package/dist/components/check-box.d.ts +11 -0
- package/dist/components/check-box.js +9 -0
- package/dist/components/check-box.js.map +1 -0
- package/dist/components/chip-section.d.ts +11 -0
- package/dist/components/chip-section.js +177 -0
- package/dist/components/chip-section.js.map +1 -0
- package/dist/components/client-side-grid.d.ts +11 -0
- package/dist/components/client-side-grid.js +77 -0
- package/dist/components/client-side-grid.js.map +1 -0
- package/dist/components/color-preview.d.ts +11 -0
- package/dist/components/color-preview.js +50 -0
- package/dist/components/color-preview.js.map +1 -0
- package/dist/components/custom-button.d.ts +11 -0
- package/dist/components/custom-button.js +9 -0
- package/dist/components/custom-button.js.map +1 -0
- package/dist/components/date-time-renderer.d.ts +11 -0
- package/dist/components/date-time-renderer.js +9 -0
- package/dist/components/date-time-renderer.js.map +1 -0
- package/dist/components/edit-view-form-dialog.d.ts +11 -0
- package/dist/components/edit-view-form-dialog.js +9 -0
- package/dist/components/edit-view-form-dialog.js.map +1 -0
- package/dist/components/feature-details-card.d.ts +11 -0
- package/dist/components/feature-details-card.js +9 -0
- package/dist/components/feature-details-card.js.map +1 -0
- package/dist/components/feature-details-popup.d.ts +11 -0
- package/dist/components/feature-details-popup.js +9 -0
- package/dist/components/feature-details-popup.js.map +1 -0
- package/dist/components/file-upload-renderer.d.ts +11 -0
- package/dist/components/file-upload-renderer.js +9 -0
- package/dist/components/file-upload-renderer.js.map +1 -0
- package/dist/components/file-upload.d.ts +11 -0
- package/dist/components/file-upload.js +9 -0
- package/dist/components/file-upload.js.map +1 -0
- package/dist/components/filter-conditions.d.ts +11 -0
- package/dist/components/filter-conditions.js +9 -0
- package/dist/components/filter-conditions.js.map +1 -0
- package/dist/components/fluent-dialog.d.ts +11 -0
- package/dist/components/fluent-dialog.js +9 -0
- package/dist/components/fluent-dialog.js.map +1 -0
- package/dist/components/get-user.d.ts +11 -0
- package/dist/components/get-user.js +9 -0
- package/dist/components/get-user.js.map +1 -0
- package/dist/components/grid-header.d.ts +11 -0
- package/dist/components/grid-header.js +9 -0
- package/dist/components/grid-header.js.map +1 -0
- package/dist/components/grid-primary-bar.d.ts +11 -0
- package/dist/components/grid-primary-bar.js +9 -0
- package/dist/components/grid-primary-bar.js.map +1 -0
- package/dist/components/hint-panel.d.ts +11 -0
- package/dist/components/hint-panel.js +9 -0
- package/dist/components/hint-panel.js.map +1 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.js +44 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/inputs-example.d.ts +11 -0
- package/dist/components/inputs-example.js +238 -0
- package/dist/components/inputs-example.js.map +1 -0
- package/dist/components/kpi-list.d.ts +11 -0
- package/dist/components/kpi-list.js +9 -0
- package/dist/components/kpi-list.js.map +1 -0
- package/dist/components/list-options-renderer.d.ts +11 -0
- package/dist/components/list-options-renderer.js +9 -0
- package/dist/components/list-options-renderer.js.map +1 -0
- package/dist/components/logical-search-indicator.d.ts +11 -0
- package/dist/components/logical-search-indicator.js +44 -0
- package/dist/components/logical-search-indicator.js.map +1 -0
- package/dist/components/map-component.d.ts +11 -0
- package/dist/components/map-component.js +9 -0
- package/dist/components/map-component.js.map +1 -0
- package/dist/components/map-toolbar.d.ts +11 -0
- package/dist/components/map-toolbar.js +9 -0
- package/dist/components/map-toolbar.js.map +1 -0
- package/dist/components/my-component.d.ts +11 -0
- package/dist/components/my-component.js +1794 -0
- package/dist/components/my-component.js.map +1 -0
- package/dist/components/numeric-field.d.ts +11 -0
- package/dist/components/numeric-field.js +9 -0
- package/dist/components/numeric-field.js.map +1 -0
- package/dist/components/p-1lTvFOEd.js +282 -0
- package/dist/components/p-1lTvFOEd.js.map +1 -0
- package/dist/components/p-2iPr7Wvy.js +60 -0
- package/dist/components/p-2iPr7Wvy.js.map +1 -0
- package/dist/components/p-7300SNnv.js +132 -0
- package/dist/components/p-7300SNnv.js.map +1 -0
- package/dist/components/p-8jTNGGTa.js +41 -0
- package/dist/components/p-8jTNGGTa.js.map +1 -0
- package/dist/components/p-9Q4d_8eH.js +62 -0
- package/dist/components/p-9Q4d_8eH.js.map +1 -0
- package/dist/components/p-9eJD5PYE.js +558 -0
- package/dist/components/p-9eJD5PYE.js.map +1 -0
- package/dist/components/p-B-daVutk.js +120 -0
- package/dist/components/p-B-daVutk.js.map +1 -0
- package/dist/components/p-B08DbAFW.js +64 -0
- package/dist/components/p-B08DbAFW.js.map +1 -0
- package/dist/components/p-B0DDn0I9.js +140 -0
- package/dist/components/p-B0DDn0I9.js.map +1 -0
- package/dist/components/p-B0Z1nz8S.js +82 -0
- package/dist/components/p-B0Z1nz8S.js.map +1 -0
- package/dist/components/p-B2UYv29x.js +79 -0
- package/dist/components/p-B2UYv29x.js.map +1 -0
- package/dist/components/p-BADChq0b.js +30 -0
- package/dist/components/p-BADChq0b.js.map +1 -0
- package/dist/components/p-BA_dC8ar.js +270 -0
- package/dist/components/p-BA_dC8ar.js.map +1 -0
- package/dist/components/p-BBRYB9ub.js +128 -0
- package/dist/components/p-BBRYB9ub.js.map +1 -0
- package/dist/components/p-BEwTqpWE.js +118 -0
- package/dist/components/p-BEwTqpWE.js.map +1 -0
- package/dist/components/p-BGjVmQGN.js +53 -0
- package/dist/components/p-BGjVmQGN.js.map +1 -0
- package/dist/components/p-BIglXKmh.js +131 -0
- package/dist/components/p-BIglXKmh.js.map +1 -0
- package/dist/components/p-BJAj5sbP.js +89 -0
- package/dist/components/p-BJAj5sbP.js.map +1 -0
- package/dist/components/p-BJerffMg.js +216 -0
- package/dist/components/p-BJerffMg.js.map +1 -0
- package/dist/components/p-BNGPBq7P.js +454 -0
- package/dist/components/p-BNGPBq7P.js.map +1 -0
- package/dist/components/p-BR5QkT_5.js +72 -0
- package/dist/components/p-BR5QkT_5.js.map +1 -0
- package/dist/components/p-BSO-aueo.js +152 -0
- package/dist/components/p-BSO-aueo.js.map +1 -0
- package/dist/components/p-BU706xtx.js +170 -0
- package/dist/components/p-BU706xtx.js.map +1 -0
- package/dist/components/p-BZr397sZ.js +90 -0
- package/dist/components/p-BZr397sZ.js.map +1 -0
- package/dist/components/p-Ba5n_UGZ.js +46 -0
- package/dist/components/p-Ba5n_UGZ.js.map +1 -0
- package/dist/components/p-Basdb1b1.js +8 -0
- package/dist/components/p-Basdb1b1.js.map +1 -0
- package/dist/components/p-BdYxXY6H.js +178 -0
- package/dist/components/p-BdYxXY6H.js.map +1 -0
- package/dist/components/p-BjOva8-6.js +15 -0
- package/dist/components/p-BjOva8-6.js.map +1 -0
- package/dist/components/p-BjopjQ74.js +173 -0
- package/dist/components/p-BjopjQ74.js.map +1 -0
- package/dist/components/p-BlJaGZ4k.js +366 -0
- package/dist/components/p-BlJaGZ4k.js.map +1 -0
- package/dist/components/p-BmbhN5rI.js +179 -0
- package/dist/components/p-BmbhN5rI.js.map +1 -0
- package/dist/components/p-BoD1tv2h.js +423 -0
- package/dist/components/p-BoD1tv2h.js.map +1 -0
- package/dist/components/p-BuRv3dp5.js +72 -0
- package/dist/components/p-BuRv3dp5.js.map +1 -0
- package/dist/components/p-C-wDzVCk.js +45 -0
- package/dist/components/p-C-wDzVCk.js.map +1 -0
- package/dist/components/p-C0O6l6cU.js +50 -0
- package/dist/components/p-C0O6l6cU.js.map +1 -0
- package/dist/components/p-C0UDJI6E.js +38 -0
- package/dist/components/p-C0UDJI6E.js.map +1 -0
- package/dist/components/p-C6110wen.js +66 -0
- package/dist/components/p-C6110wen.js.map +1 -0
- package/dist/components/p-C6aDnKNm.js +266 -0
- package/dist/components/p-C6aDnKNm.js.map +1 -0
- package/dist/components/p-C7DS5naX.js +46 -0
- package/dist/components/p-C7DS5naX.js.map +1 -0
- package/dist/components/p-CC2PFIrk.js +39 -0
- package/dist/components/p-CC2PFIrk.js.map +1 -0
- package/dist/components/p-CGzs_nSP.js +38 -0
- package/dist/components/p-CGzs_nSP.js.map +1 -0
- package/dist/components/p-CHwzYRIB.js +1093 -0
- package/dist/components/p-CHwzYRIB.js.map +1 -0
- package/dist/components/p-CIxNnNBZ.js +94 -0
- package/dist/components/p-CIxNnNBZ.js.map +1 -0
- package/dist/components/p-CNX-gAQi.js +419 -0
- package/dist/components/p-CNX-gAQi.js.map +1 -0
- package/dist/components/p-CPoC5Sp5.js +45 -0
- package/dist/components/p-CPoC5Sp5.js.map +1 -0
- package/dist/components/p-CSeP-AWV.js +113 -0
- package/dist/components/p-CSeP-AWV.js.map +1 -0
- package/dist/components/p-CbpPw6wX.js +54 -0
- package/dist/components/p-CbpPw6wX.js.map +1 -0
- package/dist/components/p-CbqpSujm.js +149 -0
- package/dist/components/p-CbqpSujm.js.map +1 -0
- package/dist/components/p-CgFIw4Nt.js +101 -0
- package/dist/components/p-CgFIw4Nt.js.map +1 -0
- package/dist/components/p-CgeQJgQt.js +199 -0
- package/dist/components/p-CgeQJgQt.js.map +1 -0
- package/dist/components/p-Ci_CQV-N.js +40 -0
- package/dist/components/p-Ci_CQV-N.js.map +1 -0
- package/dist/components/p-Cn7PuhQz.js +131 -0
- package/dist/components/p-Cn7PuhQz.js.map +1 -0
- package/dist/components/p-CoGvHEIU.js +10 -0
- package/dist/components/p-CoGvHEIU.js.map +1 -0
- package/dist/components/p-CpGuVcRn.js +116 -0
- package/dist/components/p-CpGuVcRn.js.map +1 -0
- package/dist/components/p-Cqop-pkv.js +55 -0
- package/dist/components/p-Cqop-pkv.js.map +1 -0
- package/dist/components/p-CqsXQ3dF.js +231 -0
- package/dist/components/p-CqsXQ3dF.js.map +1 -0
- package/dist/components/p-CszAUhYJ.js +217 -0
- package/dist/components/p-CszAUhYJ.js.map +1 -0
- package/dist/components/p-CwN0FuAf.js +8 -0
- package/dist/components/p-CwN0FuAf.js.map +1 -0
- package/dist/components/p-Cx9slDra.js +71 -0
- package/dist/components/p-Cx9slDra.js.map +1 -0
- package/dist/components/p-CxE84DDS.js +88 -0
- package/dist/components/p-CxE84DDS.js.map +1 -0
- package/dist/components/p-CzgDLAcK.js +41 -0
- package/dist/components/p-CzgDLAcK.js.map +1 -0
- package/dist/components/p-Czt01rVg.js +70 -0
- package/dist/components/p-Czt01rVg.js.map +1 -0
- package/dist/components/p-D-E4AmnZ.js +120 -0
- package/dist/components/p-D-E4AmnZ.js.map +1 -0
- package/dist/components/p-D-b1Oy69.js +24 -0
- package/dist/components/p-D-b1Oy69.js.map +1 -0
- package/dist/components/p-D2A7YWA5.js +222 -0
- package/dist/components/p-D2A7YWA5.js.map +1 -0
- package/dist/components/p-D2pHfe6_.js +36 -0
- package/dist/components/p-D2pHfe6_.js.map +1 -0
- package/dist/components/p-D6597cWr.js +33 -0
- package/dist/components/p-D6597cWr.js.map +1 -0
- package/dist/components/p-D7lXPDDs.js +102 -0
- package/dist/components/p-D7lXPDDs.js.map +1 -0
- package/dist/components/p-D8BxImYi.js +37 -0
- package/dist/components/p-D8BxImYi.js.map +1 -0
- package/dist/components/p-D9qssFgq.js +89 -0
- package/dist/components/p-D9qssFgq.js.map +1 -0
- package/dist/components/p-DIPIddaO.js +143 -0
- package/dist/components/p-DIPIddaO.js.map +1 -0
- package/dist/components/p-DLA7ayAx.js +68 -0
- package/dist/components/p-DLA7ayAx.js.map +1 -0
- package/dist/components/p-DLWUrvpt.js +284 -0
- package/dist/components/p-DLWUrvpt.js.map +1 -0
- package/dist/components/p-DNxY-i6k.js +261 -0
- package/dist/components/p-DNxY-i6k.js.map +1 -0
- package/dist/components/p-DOXhmshg.js +219 -0
- package/dist/components/p-DOXhmshg.js.map +1 -0
- package/dist/components/p-DOY3zm9N.js +123 -0
- package/dist/components/p-DOY3zm9N.js.map +1 -0
- package/dist/components/p-DOeV3SFM.js +195 -0
- package/dist/components/p-DOeV3SFM.js.map +1 -0
- package/dist/components/p-DPon6DDX.js +1743 -0
- package/dist/components/p-DPon6DDX.js.map +1 -0
- package/dist/components/p-DUK_9dnF.js +42 -0
- package/dist/components/p-DUK_9dnF.js.map +1 -0
- package/dist/components/p-DUZtbs0w.js +365 -0
- package/dist/components/p-DUZtbs0w.js.map +1 -0
- package/dist/components/p-D_aeo02N.js +243 -0
- package/dist/components/p-D_aeo02N.js.map +1 -0
- package/dist/components/p-D_p1JpLt.js +93 -0
- package/dist/components/p-D_p1JpLt.js.map +1 -0
- package/dist/components/p-DaLqozen.js +192 -0
- package/dist/components/p-DaLqozen.js.map +1 -0
- package/dist/components/p-DaQoPi4y.js +173 -0
- package/dist/components/p-DaQoPi4y.js.map +1 -0
- package/dist/components/p-DamSevQs.js +198 -0
- package/dist/components/p-DamSevQs.js.map +1 -0
- package/dist/components/p-DeK9qLsG.js +94 -0
- package/dist/components/p-DeK9qLsG.js.map +1 -0
- package/dist/components/p-DeS7YSzc.js +81 -0
- package/dist/components/p-DeS7YSzc.js.map +1 -0
- package/dist/components/p-DfxzH0hZ.js +728 -0
- package/dist/components/p-DfxzH0hZ.js.map +1 -0
- package/dist/components/p-Dh0ptk6J.js +64 -0
- package/dist/components/p-Dh0ptk6J.js.map +1 -0
- package/dist/components/p-DhvewUwP.js +43 -0
- package/dist/components/p-DhvewUwP.js.map +1 -0
- package/dist/components/p-Dj9ueyrg.js +35 -0
- package/dist/components/p-Dj9ueyrg.js.map +1 -0
- package/dist/components/p-DjAY7avq.js +282 -0
- package/dist/components/p-DjAY7avq.js.map +1 -0
- package/dist/components/p-Dk7jOqd4.js +386 -0
- package/dist/components/p-Dk7jOqd4.js.map +1 -0
- package/dist/components/p-DkppmXNM.js +83 -0
- package/dist/components/p-DkppmXNM.js.map +1 -0
- package/dist/components/p-DmEaQGgU.js +357 -0
- package/dist/components/p-DmEaQGgU.js.map +1 -0
- package/dist/components/p-DmqHs2sO.js +33 -0
- package/dist/components/p-DmqHs2sO.js.map +1 -0
- package/dist/components/p-DntePo7I.js +88 -0
- package/dist/components/p-DntePo7I.js.map +1 -0
- package/dist/components/p-Dojklsof.js +116 -0
- package/dist/components/p-Dojklsof.js.map +1 -0
- package/dist/components/p-Dp267u3c.js +231 -0
- package/dist/components/p-Dp267u3c.js.map +1 -0
- package/dist/components/p-DpLtIIwx.js +75 -0
- package/dist/components/p-DpLtIIwx.js.map +1 -0
- package/dist/components/p-Dri6DPsA.js +133 -0
- package/dist/components/p-Dri6DPsA.js.map +1 -0
- package/dist/components/p-DtbBlfbP.js +89 -0
- package/dist/components/p-DtbBlfbP.js.map +1 -0
- package/dist/components/p-Dx-EPCPD.js +190 -0
- package/dist/components/p-Dx-EPCPD.js.map +1 -0
- package/dist/components/p-DygdPd9I.js +4524 -0
- package/dist/components/p-DygdPd9I.js.map +1 -0
- package/dist/components/p-ITdkb3Af.js +133 -0
- package/dist/components/p-ITdkb3Af.js.map +1 -0
- package/dist/components/p-Ky-XJEZL.js +254 -0
- package/dist/components/p-Ky-XJEZL.js.map +1 -0
- package/dist/components/p-PPfGq68c.js +79 -0
- package/dist/components/p-PPfGq68c.js.map +1 -0
- package/dist/components/p-QmF5VzFi.js +140 -0
- package/dist/components/p-QmF5VzFi.js.map +1 -0
- package/dist/components/p-TrvRIo8e.js +42 -0
- package/dist/components/p-TrvRIo8e.js.map +1 -0
- package/dist/components/p-UH1w_lLn.js +50 -0
- package/dist/components/p-UH1w_lLn.js.map +1 -0
- package/dist/components/p-ZeWoGdjP.js +55 -0
- package/dist/components/p-ZeWoGdjP.js.map +1 -0
- package/dist/components/p-_3wImzvq.js +175 -0
- package/dist/components/p-_3wImzvq.js.map +1 -0
- package/dist/components/p-_ffLLnhx.js +130 -0
- package/dist/components/p-_ffLLnhx.js.map +1 -0
- package/dist/components/p-ansRyAuR.js +57 -0
- package/dist/components/p-ansRyAuR.js.map +1 -0
- package/dist/components/p-cJ5N3THn.js +147 -0
- package/dist/components/p-cJ5N3THn.js.map +1 -0
- package/dist/components/p-e0GmP80t.js +182 -0
- package/dist/components/p-e0GmP80t.js.map +1 -0
- package/dist/components/p-fWjFZjQw.js +47 -0
- package/dist/components/p-fWjFZjQw.js.map +1 -0
- package/dist/components/p-hRee3qYx.js +92 -0
- package/dist/components/p-hRee3qYx.js.map +1 -0
- package/dist/components/p-i4OwefP0.js +174 -0
- package/dist/components/p-i4OwefP0.js.map +1 -0
- package/dist/components/p-jFAd2Xfe.js +193 -0
- package/dist/components/p-jFAd2Xfe.js.map +1 -0
- package/dist/components/p-k4AD5Dhf.js +137 -0
- package/dist/components/p-k4AD5Dhf.js.map +1 -0
- package/dist/components/p-kFwgcDES.js +80 -0
- package/dist/components/p-kFwgcDES.js.map +1 -0
- package/dist/components/p-o-bA5e79.js +53 -0
- package/dist/components/p-o-bA5e79.js.map +1 -0
- package/dist/components/p-pe0pbAK_.js +56 -0
- package/dist/components/p-pe0pbAK_.js.map +1 -0
- package/dist/components/p-qf6UCDV3.js +50 -0
- package/dist/components/p-qf6UCDV3.js.map +1 -0
- package/dist/components/p-y76qDwvD.js +134 -0
- package/dist/components/p-y76qDwvD.js.map +1 -0
- package/dist/components/p-zX6KOjeD.js +39 -0
- package/dist/components/p-zX6KOjeD.js.map +1 -0
- package/dist/components/page-renderer.d.ts +11 -0
- package/dist/components/page-renderer.js +317 -0
- package/dist/components/page-renderer.js.map +1 -0
- package/dist/components/primary-action-header.d.ts +11 -0
- package/dist/components/primary-action-header.js +9 -0
- package/dist/components/primary-action-header.js.map +1 -0
- package/dist/components/question-configs-renderer.d.ts +11 -0
- package/dist/components/question-configs-renderer.js +9 -0
- package/dist/components/question-configs-renderer.js.map +1 -0
- package/dist/components/question-specific-configs-renderer.d.ts +11 -0
- package/dist/components/question-specific-configs-renderer.js +9 -0
- package/dist/components/question-specific-configs-renderer.js.map +1 -0
- package/dist/components/resource-timeline-calendar.d.ts +11 -0
- package/dist/components/resource-timeline-calendar.js +519 -0
- package/dist/components/resource-timeline-calendar.js.map +1 -0
- package/dist/components/resource-timeline-primary-bar.d.ts +11 -0
- package/dist/components/resource-timeline-primary-bar.js +9 -0
- package/dist/components/resource-timeline-primary-bar.js.map +1 -0
- package/dist/components/save-view-form-dialog.d.ts +11 -0
- package/dist/components/save-view-form-dialog.js +9 -0
- package/dist/components/save-view-form-dialog.js.map +1 -0
- package/dist/components/search-list-item.d.ts +11 -0
- package/dist/components/search-list-item.js +9 -0
- package/dist/components/search-list-item.js.map +1 -0
- package/dist/components/select-layer-popup.d.ts +11 -0
- package/dist/components/select-layer-popup.js +9 -0
- package/dist/components/select-layer-popup.js.map +1 -0
- package/dist/components/selectable-list.d.ts +11 -0
- package/dist/components/selectable-list.js +9 -0
- package/dist/components/selectable-list.js.map +1 -0
- package/dist/components/server-side-grid.d.ts +11 -0
- package/dist/components/server-side-grid.js +9 -0
- package/dist/components/server-side-grid.js.map +1 -0
- package/dist/components/side-sheet-container.d.ts +11 -0
- package/dist/components/side-sheet-container.js +9 -0
- package/dist/components/side-sheet-container.js.map +1 -0
- package/dist/components/side-sheet.d.ts +11 -0
- package/dist/components/side-sheet.js +9 -0
- package/dist/components/side-sheet.js.map +1 -0
- package/dist/components/simple-card.d.ts +11 -0
- package/dist/components/simple-card.js +36 -0
- package/dist/components/simple-card.js.map +1 -0
- package/dist/components/split-line-popup.d.ts +11 -0
- package/dist/components/split-line-popup.js +9 -0
- package/dist/components/split-line-popup.js.map +1 -0
- package/dist/components/status-chip.d.ts +11 -0
- package/dist/components/status-chip.js +9 -0
- package/dist/components/status-chip.js.map +1 -0
- package/dist/components/stencil-chip.d.ts +11 -0
- package/dist/components/stencil-chip.js +9 -0
- package/dist/components/stencil-chip.js.map +1 -0
- package/dist/components/stencil-field.d.ts +11 -0
- package/dist/components/stencil-field.js +9 -0
- package/dist/components/stencil-field.js.map +1 -0
- package/dist/components/stencil-form.d.ts +11 -0
- package/dist/components/stencil-form.js +9 -0
- package/dist/components/stencil-form.js.map +1 -0
- package/dist/components/stencil-icon-button-grid-action-header.d.ts +11 -0
- package/dist/components/stencil-icon-button-grid-action-header.js +9 -0
- package/dist/components/stencil-icon-button-grid-action-header.js.map +1 -0
- package/dist/components/stencil-icon-button.d.ts +11 -0
- package/dist/components/stencil-icon-button.js +9 -0
- package/dist/components/stencil-icon-button.js.map +1 -0
- package/dist/components/stencil-toggle.d.ts +11 -0
- package/dist/components/stencil-toggle.js +9 -0
- package/dist/components/stencil-toggle.js.map +1 -0
- package/dist/components/test-api-updated.d.ts +11 -0
- package/dist/components/test-api-updated.js +103 -0
- package/dist/components/test-api-updated.js.map +1 -0
- package/dist/components/test-api.d.ts +11 -0
- package/dist/components/test-api.js +90 -0
- package/dist/components/test-api.js.map +1 -0
- package/dist/components/text-area.d.ts +11 -0
- package/dist/components/text-area.js +9 -0
- package/dist/components/text-area.js.map +1 -0
- package/dist/components/text-field.d.ts +11 -0
- package/dist/components/text-field.js +9 -0
- package/dist/components/text-field.js.map +1 -0
- package/dist/components/text-input-renderer.d.ts +11 -0
- package/dist/components/text-input-renderer.js +9 -0
- package/dist/components/text-input-renderer.js.map +1 -0
- package/dist/components/toggle-button.d.ts +11 -0
- package/dist/components/toggle-button.js +40 -0
- package/dist/components/toggle-button.js.map +1 -0
- package/dist/components/tree-list-item.d.ts +11 -0
- package/dist/components/tree-list-item.js +9 -0
- package/dist/components/tree-list-item.js.map +1 -0
- package/dist/components/udp-adornment.d.ts +11 -0
- package/dist/components/udp-adornment.js +9 -0
- package/dist/components/udp-adornment.js.map +1 -0
- package/dist/components/udp-ambient-card.d.ts +11 -0
- package/dist/components/udp-ambient-card.js +9 -0
- package/dist/components/udp-ambient-card.js.map +1 -0
- package/dist/components/udp-ambient-tool-tip.d.ts +11 -0
- package/dist/components/udp-ambient-tool-tip.js +9 -0
- package/dist/components/udp-ambient-tool-tip.js.map +1 -0
- package/dist/components/udp-avatar.d.ts +11 -0
- package/dist/components/udp-avatar.js +9 -0
- package/dist/components/udp-avatar.js.map +1 -0
- package/dist/components/udp-badge.d.ts +11 -0
- package/dist/components/udp-badge.js +9 -0
- package/dist/components/udp-badge.js.map +1 -0
- package/dist/components/udp-bar-chart.d.ts +11 -0
- package/dist/components/udp-bar-chart.js +9 -0
- package/dist/components/udp-bar-chart.js.map +1 -0
- package/dist/components/udp-button.d.ts +11 -0
- package/dist/components/udp-button.js +9 -0
- package/dist/components/udp-button.js.map +1 -0
- package/dist/components/udp-calendar-base.d.ts +11 -0
- package/dist/components/udp-calendar-base.js +9 -0
- package/dist/components/udp-calendar-base.js.map +1 -0
- package/dist/components/udp-calendar-day.d.ts +11 -0
- package/dist/components/udp-calendar-day.js +47 -0
- package/dist/components/udp-calendar-day.js.map +1 -0
- package/dist/components/udp-calendar-month.d.ts +11 -0
- package/dist/components/udp-calendar-month.js +47 -0
- package/dist/components/udp-calendar-month.js.map +1 -0
- package/dist/components/udp-calendar-week.d.ts +11 -0
- package/dist/components/udp-calendar-week.js +47 -0
- package/dist/components/udp-calendar-week.js.map +1 -0
- package/dist/components/udp-calendar-year.d.ts +11 -0
- package/dist/components/udp-calendar-year.js +47 -0
- package/dist/components/udp-calendar-year.js.map +1 -0
- package/dist/components/udp-card-action-area.d.ts +11 -0
- package/dist/components/udp-card-action-area.js +36 -0
- package/dist/components/udp-card-action-area.js.map +1 -0
- package/dist/components/udp-card-actions.d.ts +11 -0
- package/dist/components/udp-card-actions.js +9 -0
- package/dist/components/udp-card-actions.js.map +1 -0
- package/dist/components/udp-card-content.d.ts +11 -0
- package/dist/components/udp-card-content.js +9 -0
- package/dist/components/udp-card-content.js.map +1 -0
- package/dist/components/udp-card-header.d.ts +11 -0
- package/dist/components/udp-card-header.js +9 -0
- package/dist/components/udp-card-header.js.map +1 -0
- package/dist/components/udp-card-media.d.ts +11 -0
- package/dist/components/udp-card-media.js +9 -0
- package/dist/components/udp-card-media.js.map +1 -0
- package/dist/components/udp-card.d.ts +11 -0
- package/dist/components/udp-card.js +9 -0
- package/dist/components/udp-card.js.map +1 -0
- package/dist/components/udp-charts-example.d.ts +11 -0
- package/dist/components/udp-charts-example.js +104 -0
- package/dist/components/udp-charts-example.js.map +1 -0
- package/dist/components/udp-column-header.d.ts +11 -0
- package/dist/components/udp-column-header.js +9 -0
- package/dist/components/udp-column-header.js.map +1 -0
- package/dist/components/udp-container-query-grid-item.d.ts +11 -0
- package/dist/components/udp-container-query-grid-item.js +49 -0
- package/dist/components/udp-container-query-grid-item.js.map +1 -0
- package/dist/components/udp-container-query-grid.d.ts +11 -0
- package/dist/components/udp-container-query-grid.js +77 -0
- package/dist/components/udp-container-query-grid.js.map +1 -0
- package/dist/components/udp-container-query.d.ts +11 -0
- package/dist/components/udp-container-query.js +9 -0
- package/dist/components/udp-container-query.js.map +1 -0
- package/dist/components/udp-container.d.ts +11 -0
- package/dist/components/udp-container.js +9 -0
- package/dist/components/udp-container.js.map +1 -0
- package/dist/components/udp-date-selector.d.ts +11 -0
- package/dist/components/udp-date-selector.js +9 -0
- package/dist/components/udp-date-selector.js.map +1 -0
- package/dist/components/udp-datetime-selector.d.ts +11 -0
- package/dist/components/udp-datetime-selector.js +9 -0
- package/dist/components/udp-datetime-selector.js.map +1 -0
- package/dist/components/udp-distribution-chart.d.ts +11 -0
- package/dist/components/udp-distribution-chart.js +9 -0
- package/dist/components/udp-distribution-chart.js.map +1 -0
- package/dist/components/udp-divider.d.ts +11 -0
- package/dist/components/udp-divider.js +9 -0
- package/dist/components/udp-divider.js.map +1 -0
- package/dist/components/udp-donut-chart.d.ts +11 -0
- package/dist/components/udp-donut-chart.js +9 -0
- package/dist/components/udp-donut-chart.js.map +1 -0
- package/dist/components/udp-dynamic-container-with-menu.d.ts +11 -0
- package/dist/components/udp-dynamic-container-with-menu.js +9 -0
- package/dist/components/udp-dynamic-container-with-menu.js.map +1 -0
- package/dist/components/udp-dynamic-form.d.ts +11 -0
- package/dist/components/udp-dynamic-form.js +337 -0
- package/dist/components/udp-dynamic-form.js.map +1 -0
- package/dist/components/udp-fetch.d.ts +11 -0
- package/dist/components/udp-fetch.js +9 -0
- package/dist/components/udp-fetch.js.map +1 -0
- package/dist/components/udp-forms-builder-menu.d.ts +11 -0
- package/dist/components/udp-forms-builder-menu.js +9 -0
- package/dist/components/udp-forms-builder-menu.js.map +1 -0
- package/dist/components/udp-forms-builder-style-override.d.ts +11 -0
- package/dist/components/udp-forms-builder-style-override.js +9 -0
- package/dist/components/udp-forms-builder-style-override.js.map +1 -0
- package/dist/components/udp-forms-builder.d.ts +11 -0
- package/dist/components/udp-forms-builder.js +738 -0
- package/dist/components/udp-forms-builder.js.map +1 -0
- package/dist/components/udp-forms-list-card.d.ts +11 -0
- package/dist/components/udp-forms-list-card.js +9 -0
- package/dist/components/udp-forms-list-card.js.map +1 -0
- package/dist/components/udp-forms-list.d.ts +11 -0
- package/dist/components/udp-forms-list.js +391 -0
- package/dist/components/udp-forms-list.js.map +1 -0
- package/dist/components/udp-forms-renderer.d.ts +11 -0
- package/dist/components/udp-forms-renderer.js +685 -0
- package/dist/components/udp-forms-renderer.js.map +1 -0
- package/dist/components/udp-forms-ui.d.ts +11 -0
- package/dist/components/udp-forms-ui.js +9 -0
- package/dist/components/udp-forms-ui.js.map +1 -0
- package/dist/components/udp-function-button.d.ts +11 -0
- package/dist/components/udp-function-button.js +9 -0
- package/dist/components/udp-function-button.js.map +1 -0
- package/dist/components/udp-grid-loader.d.ts +11 -0
- package/dist/components/udp-grid-loader.js +9 -0
- package/dist/components/udp-grid-loader.js.map +1 -0
- package/dist/components/udp-hotlist-form.d.ts +11 -0
- package/dist/components/udp-hotlist-form.js +9 -0
- package/dist/components/udp-hotlist-form.js.map +1 -0
- package/dist/components/udp-icon.d.ts +11 -0
- package/dist/components/udp-icon.js +9 -0
- package/dist/components/udp-icon.js.map +1 -0
- package/dist/components/udp-line-chart.d.ts +11 -0
- package/dist/components/udp-line-chart.js +9 -0
- package/dist/components/udp-line-chart.js.map +1 -0
- package/dist/components/udp-linear-loader.d.ts +11 -0
- package/dist/components/udp-linear-loader.js +9 -0
- package/dist/components/udp-linear-loader.js.map +1 -0
- package/dist/components/udp-link.d.ts +11 -0
- package/dist/components/udp-link.js +9 -0
- package/dist/components/udp-link.js.map +1 -0
- package/dist/components/udp-list-item.d.ts +11 -0
- package/dist/components/udp-list-item.js +9 -0
- package/dist/components/udp-list-item.js.map +1 -0
- package/dist/components/udp-list-renderer.d.ts +11 -0
- package/dist/components/udp-list-renderer.js +9 -0
- package/dist/components/udp-list-renderer.js.map +1 -0
- package/dist/components/udp-map-toolbar.d.ts +11 -0
- package/dist/components/udp-map-toolbar.js +9 -0
- package/dist/components/udp-map-toolbar.js.map +1 -0
- package/dist/components/udp-map.d.ts +11 -0
- package/dist/components/udp-map.js +326 -0
- package/dist/components/udp-map.js.map +1 -0
- package/dist/components/udp-menu-item.d.ts +11 -0
- package/dist/components/udp-menu-item.js +9 -0
- package/dist/components/udp-menu-item.js.map +1 -0
- package/dist/components/udp-notification.d.ts +11 -0
- package/dist/components/udp-notification.js +9 -0
- package/dist/components/udp-notification.js.map +1 -0
- package/dist/components/udp-page-header.d.ts +11 -0
- package/dist/components/udp-page-header.js +9 -0
- package/dist/components/udp-page-header.js.map +1 -0
- package/dist/components/udp-page.d.ts +11 -0
- package/dist/components/udp-page.js +52 -0
- package/dist/components/udp-page.js.map +1 -0
- package/dist/components/udp-pagination.d.ts +11 -0
- package/dist/components/udp-pagination.js +9 -0
- package/dist/components/udp-pagination.js.map +1 -0
- package/dist/components/udp-pop-over-grid-action-header.d.ts +11 -0
- package/dist/components/udp-pop-over-grid-action-header.js +9 -0
- package/dist/components/udp-pop-over-grid-action-header.js.map +1 -0
- package/dist/components/udp-pop-over.d.ts +11 -0
- package/dist/components/udp-pop-over.js +9 -0
- package/dist/components/udp-pop-over.js.map +1 -0
- package/dist/components/udp-question.d.ts +11 -0
- package/dist/components/udp-question.js +9 -0
- package/dist/components/udp-question.js.map +1 -0
- package/dist/components/udp-radio-button.d.ts +11 -0
- package/dist/components/udp-radio-button.js +9 -0
- package/dist/components/udp-radio-button.js.map +1 -0
- package/dist/components/udp-selector.d.ts +11 -0
- package/dist/components/udp-selector.js +9 -0
- package/dist/components/udp-selector.js.map +1 -0
- package/dist/components/udp-side-sheet.d.ts +11 -0
- package/dist/components/udp-side-sheet.js +9 -0
- package/dist/components/udp-side-sheet.js.map +1 -0
- package/dist/components/udp-skeleton-loading.d.ts +11 -0
- package/dist/components/udp-skeleton-loading.js +9 -0
- package/dist/components/udp-skeleton-loading.js.map +1 -0
- package/dist/components/udp-split-screen.d.ts +11 -0
- package/dist/components/udp-split-screen.js +90 -0
- package/dist/components/udp-split-screen.js.map +1 -0
- package/dist/components/udp-stepper-demo.d.ts +11 -0
- package/dist/components/udp-stepper-demo.js +141 -0
- package/dist/components/udp-stepper-demo.js.map +1 -0
- package/dist/components/udp-stepper.d.ts +11 -0
- package/dist/components/udp-stepper.js +9 -0
- package/dist/components/udp-stepper.js.map +1 -0
- package/dist/components/udp-tab.d.ts +11 -0
- package/dist/components/udp-tab.js +9 -0
- package/dist/components/udp-tab.js.map +1 -0
- package/dist/components/udp-tabs.d.ts +11 -0
- package/dist/components/udp-tabs.js +9 -0
- package/dist/components/udp-tabs.js.map +1 -0
- package/dist/components/udp-time-selector.d.ts +11 -0
- package/dist/components/udp-time-selector.js +9 -0
- package/dist/components/udp-time-selector.js.map +1 -0
- package/dist/components/udp-user-creator.d.ts +11 -0
- package/dist/components/udp-user-creator.js +9 -0
- package/dist/components/udp-user-creator.js.map +1 -0
- package/dist/components/udp-vertical-spacer.d.ts +11 -0
- package/dist/components/udp-vertical-spacer.js +44 -0
- package/dist/components/udp-vertical-spacer.js.map +1 -0
- package/dist/components/unity-typography.d.ts +11 -0
- package/dist/components/unity-typography.js +9 -0
- package/dist/components/unity-typography.js.map +1 -0
- package/dist/components/upd-alert-banner.d.ts +11 -0
- package/dist/components/upd-alert-banner.js +9 -0
- package/dist/components/upd-alert-banner.js.map +1 -0
- package/dist/esm/SearchBuilder-BVS6NE__.js +366 -0
- package/dist/esm/SearchBuilder-BVS6NE__.js.map +1 -0
- package/dist/esm/action-column-util-BArOL_Uz.js +42 -0
- package/dist/esm/action-column-util-BArOL_Uz.js.map +1 -0
- package/dist/esm/add-map-feature-popup.map-toolbar.select-layer-popup.split-line-popup.entry.js.map +1 -0
- package/dist/esm/add-map-feature-popup_4.entry.js +330 -0
- package/dist/esm/add-map-feature-popup_4.entry.js.map +1 -0
- package/dist/esm/advanced-search_50.entry.js +8529 -0
- package/dist/esm/advanced-search_50.entry.js.map +1 -0
- package/dist/esm/ag-grid-D-b1Oy69.js +24 -0
- package/dist/esm/ag-grid-D-b1Oy69.js.map +1 -0
- package/dist/esm/ag-grid-base.grid-header.entry.js.map +1 -0
- package/dist/esm/ag-grid-base_2.entry.js +56 -0
- package/dist/esm/ag-grid-base_2.entry.js.map +1 -0
- package/dist/esm/api-method-grid.entry.js +107 -0
- package/dist/esm/api-method-grid.entry.js.map +1 -0
- package/dist/esm/api-services-C0O6l6cU.js +50 -0
- package/dist/esm/api-services-C0O6l6cU.js.map +1 -0
- package/dist/esm/apiUtils-BZHjGa-7.js +454 -0
- package/dist/esm/apiUtils-BZHjGa-7.js.map +1 -0
- package/dist/esm/catalog-store-DdxTs8nF.js +1119 -0
- package/dist/esm/catalog-store-DdxTs8nF.js.map +1 -0
- package/dist/esm/chart-container.chart-kpi.udp-ambient-card.entry.js.map +1 -0
- package/dist/esm/chart-container_3.entry.js +84 -0
- package/dist/esm/chart-container_3.entry.js.map +1 -0
- package/dist/esm/check-box-group.entry.js +113 -0
- package/dist/esm/check-box-group.entry.js.map +1 -0
- package/dist/esm/check-box.entry.js +117 -0
- package/dist/esm/check-box.entry.js.map +1 -0
- package/dist/esm/chip-section.entry.js +119 -0
- package/dist/esm/chip-section.entry.js.map +1 -0
- package/dist/esm/client-side-grid.entry.js +42 -0
- package/dist/esm/client-side-grid.entry.js.map +1 -0
- package/dist/esm/color-preview.entry.js +27 -0
- package/dist/esm/color-preview.entry.js.map +1 -0
- package/dist/esm/common-CwN0FuAf.js +8 -0
- package/dist/esm/common-CwN0FuAf.js.map +1 -0
- package/dist/esm/configService-Cn7PuhQz.js +131 -0
- package/dist/esm/configService-Cn7PuhQz.js.map +1 -0
- package/dist/esm/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.text-input-renderer.entry.js.map +1 -0
- package/dist/esm/date-time-renderer_5.entry.js +266 -0
- package/dist/esm/date-time-renderer_5.entry.js.map +1 -0
- package/dist/esm/feature-details-card.feature-details-popup.entry.js.map +1 -0
- package/dist/esm/feature-details-card_2.entry.js +226 -0
- package/dist/esm/feature-details-card_2.entry.js.map +1 -0
- package/dist/esm/file-upload.selectable-list.stencil-field.entry.js.map +1 -0
- package/dist/esm/file-upload_3.entry.js +1075 -0
- package/dist/esm/file-upload_3.entry.js.map +1 -0
- package/dist/esm/get-user-CVoKQ96a.js +82 -0
- package/dist/esm/get-user-CVoKQ96a.js.map +1 -0
- package/dist/esm/get-user.entry.js +8 -0
- package/dist/esm/get-user.entry.js.map +1 -0
- package/dist/esm/iconUtils-CBwYbj-f.js +140 -0
- package/dist/esm/iconUtils-CBwYbj-f.js.map +1 -0
- package/dist/esm/index-CaIWDYyq.js +2215 -0
- package/dist/esm/index-CaIWDYyq.js.map +1 -0
- package/dist/esm/index.js +50 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/inputs-example.entry.js +106 -0
- package/dist/esm/inputs-example.entry.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/logical-search-indicator.entry.js +18 -0
- package/dist/esm/logical-search-indicator.entry.js.map +1 -0
- package/dist/esm/makeApiCall-B-daVutk.js +120 -0
- package/dist/esm/makeApiCall-B-daVutk.js.map +1 -0
- package/dist/esm/map-component.udp-map-toolbar.entry.js.map +1 -0
- package/dist/esm/map-component_2.entry.js +830 -0
- package/dist/esm/map-component_2.entry.js.map +1 -0
- package/dist/esm/numeric-field.entry.js +149 -0
- package/dist/esm/numeric-field.entry.js.map +1 -0
- package/dist/esm/page-renderer.entry.js +40 -0
- package/dist/esm/page-renderer.entry.js.map +1 -0
- package/dist/esm/question-configs-renderer.udp-forms-builder-menu.udp-forms-builder-style-override.udp-list-item.entry.js.map +1 -0
- package/dist/esm/question-configs-renderer_4.entry.js +226 -0
- package/dist/esm/question-configs-renderer_4.entry.js.map +1 -0
- package/dist/esm/resource-timeline-calendar.entry.js +417 -0
- package/dist/esm/resource-timeline-calendar.entry.js.map +1 -0
- package/dist/esm/resource-timeline-primary-bar.entry.js +26 -0
- package/dist/esm/resource-timeline-primary-bar.entry.js.map +1 -0
- package/dist/esm/server-side-grid.entry.js +47 -0
- package/dist/esm/server-side-grid.entry.js.map +1 -0
- package/dist/esm/simple-card.entry.js +18 -0
- package/dist/esm/simple-card.entry.js.map +1 -0
- package/dist/esm/stencil-form-store-CoGvHEIU.js +10 -0
- package/dist/esm/stencil-form-store-CoGvHEIU.js.map +1 -0
- package/dist/esm/stencil-form.udp-question.entry.js.map +1 -0
- package/dist/esm/stencil-form_2.entry.js +170 -0
- package/dist/esm/stencil-form_2.entry.js.map +1 -0
- package/dist/esm/stencil-library.js +23 -0
- package/dist/esm/stencil-library.js.map +1 -0
- package/dist/esm/tenantUtils-Basdb1b1.js +8 -0
- package/dist/esm/tenantUtils-Basdb1b1.js.map +1 -0
- package/dist/esm/test-api-updated.entry.js +82 -0
- package/dist/esm/test-api-updated.entry.js.map +1 -0
- package/dist/esm/test-api.entry.js +68 -0
- package/dist/esm/test-api.entry.js.map +1 -0
- package/dist/esm/text-area.udp-date-selector.udp-datetime-selector.udp-time-selector.entry.js.map +1 -0
- package/dist/esm/text-area_4.entry.js +625 -0
- package/dist/esm/text-area_4.entry.js.map +1 -0
- package/dist/esm/toggle-button.entry.js +19 -0
- package/dist/esm/toggle-button.entry.js.map +1 -0
- package/dist/esm/udp-adornment.entry.js +36 -0
- package/dist/esm/udp-adornment.entry.js.map +1 -0
- package/dist/esm/udp-bar-chart.udp-distribution-chart.udp-donut-chart.udp-line-chart.entry.js.map +1 -0
- package/dist/esm/udp-bar-chart_4.entry.js +701 -0
- package/dist/esm/udp-bar-chart_4.entry.js.map +1 -0
- package/dist/esm/udp-calendar-base.entry.js +137 -0
- package/dist/esm/udp-calendar-base.entry.js.map +1 -0
- package/dist/esm/udp-calendar-day.entry.js +21 -0
- package/dist/esm/udp-calendar-day.entry.js.map +1 -0
- package/dist/esm/udp-calendar-month.entry.js +21 -0
- package/dist/esm/udp-calendar-month.entry.js.map +1 -0
- package/dist/esm/udp-calendar-week.entry.js +21 -0
- package/dist/esm/udp-calendar-week.entry.js.map +1 -0
- package/dist/esm/udp-calendar-year.entry.js +21 -0
- package/dist/esm/udp-calendar-year.entry.js.map +1 -0
- package/dist/esm/udp-card-action-area.entry.js +18 -0
- package/dist/esm/udp-card-action-area.entry.js.map +1 -0
- package/dist/esm/udp-card.udp-card-actions.udp-card-content.udp-card-header.udp-card-media.entry.js.map +1 -0
- package/dist/esm/udp-card_5.entry.js +120 -0
- package/dist/esm/udp-card_5.entry.js.map +1 -0
- package/dist/esm/udp-charts-example.entry.js +15 -0
- package/dist/esm/udp-charts-example.entry.js.map +1 -0
- package/dist/esm/udp-container-query-grid-item.entry.js +29 -0
- package/dist/esm/udp-container-query-grid-item.entry.js.map +1 -0
- package/dist/esm/udp-container-query-grid.entry.js +50 -0
- package/dist/esm/udp-container-query-grid.entry.js.map +1 -0
- package/dist/esm/udp-container-query.entry.js +38 -0
- package/dist/esm/udp-container-query.entry.js.map +1 -0
- package/dist/esm/udp-container.entry.js +35 -0
- package/dist/esm/udp-container.entry.js.map +1 -0
- package/dist/esm/udp-dynamic-form.entry.js +262 -0
- package/dist/esm/udp-dynamic-form.entry.js.map +1 -0
- package/dist/esm/udp-fetch-CdH_K5-2.js +259 -0
- package/dist/esm/udp-fetch-CdH_K5-2.js.map +1 -0
- package/dist/esm/udp-fetch.entry.js +6 -0
- package/dist/esm/udp-fetch.entry.js.map +1 -0
- package/dist/esm/udp-forms-builder-question-template-22AseVqC.js +254 -0
- package/dist/esm/udp-forms-builder-question-template-22AseVqC.js.map +1 -0
- package/dist/esm/udp-forms-builder.entry.js +560 -0
- package/dist/esm/udp-forms-builder.entry.js.map +1 -0
- package/dist/esm/udp-forms-list-card.udp-list-renderer.entry.js.map +1 -0
- package/dist/esm/udp-forms-list-card_2.entry.js +166 -0
- package/dist/esm/udp-forms-list-card_2.entry.js.map +1 -0
- package/dist/esm/udp-forms-list.entry.js +227 -0
- package/dist/esm/udp-forms-list.entry.js.map +1 -0
- package/dist/esm/udp-forms-renderer.entry.js +531 -0
- package/dist/esm/udp-forms-renderer.entry.js.map +1 -0
- package/dist/esm/udp-forms-ui.entry.js +101 -0
- package/dist/esm/udp-forms-ui.entry.js.map +1 -0
- package/dist/esm/udp-link.entry.js +48 -0
- package/dist/esm/udp-link.entry.js.map +1 -0
- package/dist/esm/udp-map-utils-_3wImzvq.js +175 -0
- package/dist/esm/udp-map-utils-_3wImzvq.js.map +1 -0
- package/dist/esm/udp-map.entry.js +112 -0
- package/dist/esm/udp-map.entry.js.map +1 -0
- package/dist/esm/udp-models-BjOva8-6.js +15 -0
- package/dist/esm/udp-models-BjOva8-6.js.map +1 -0
- package/dist/esm/udp-page.entry.js +31 -0
- package/dist/esm/udp-page.entry.js.map +1 -0
- package/dist/esm/udp-pagination.entry.js +77 -0
- package/dist/esm/udp-pagination.entry.js.map +1 -0
- package/dist/esm/udp-side-sheet.entry.js +87 -0
- package/dist/esm/udp-side-sheet.entry.js.map +1 -0
- package/dist/esm/udp-split-screen.entry.js +66 -0
- package/dist/esm/udp-split-screen.entry.js.map +1 -0
- package/dist/esm/udp-stepper-demo.entry.js +102 -0
- package/dist/esm/udp-stepper-demo.entry.js.map +1 -0
- package/dist/esm/udp-stepper.entry.js +112 -0
- package/dist/esm/udp-stepper.entry.js.map +1 -0
- package/dist/esm/udp-user-creator.entry.js +72 -0
- package/dist/esm/udp-user-creator.entry.js.map +1 -0
- package/dist/esm/udp-vertical-spacer.entry.js +24 -0
- package/dist/esm/udp-vertical-spacer.entry.js.map +1 -0
- package/dist/esm/utils-BszFRFnr.js +48 -0
- package/dist/esm/utils-BszFRFnr.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/stencil-library/add-map-feature-popup.map-toolbar.select-layer-popup.split-line-popup.entry.esm.js.map +1 -0
- package/dist/stencil-library/ag-grid-base.grid-header.entry.esm.js.map +1 -0
- package/dist/stencil-library/api-method-grid.entry.esm.js.map +1 -0
- package/dist/stencil-library/chart-container.chart-kpi.udp-ambient-card.entry.esm.js.map +1 -0
- package/dist/stencil-library/check-box-group.entry.esm.js.map +1 -0
- package/dist/stencil-library/check-box.entry.esm.js.map +1 -0
- package/dist/stencil-library/chip-section.entry.esm.js.map +1 -0
- package/dist/stencil-library/client-side-grid.entry.esm.js.map +1 -0
- package/dist/stencil-library/color-preview.entry.esm.js.map +1 -0
- package/dist/stencil-library/date-time-renderer.file-upload-renderer.list-options-renderer.question-specific-configs-renderer.text-input-renderer.entry.esm.js.map +1 -0
- package/dist/stencil-library/feature-details-card.feature-details-popup.entry.esm.js.map +1 -0
- package/dist/stencil-library/file-upload.selectable-list.stencil-field.entry.esm.js.map +1 -0
- package/dist/stencil-library/get-user.entry.esm.js.map +1 -0
- package/dist/stencil-library/index.esm.js +2 -0
- package/dist/stencil-library/index.esm.js.map +1 -0
- package/dist/stencil-library/inputs-example.entry.esm.js.map +1 -0
- package/dist/stencil-library/loader.esm.js.map +1 -0
- package/dist/stencil-library/logical-search-indicator.entry.esm.js.map +1 -0
- package/dist/stencil-library/map-component.udp-map-toolbar.entry.esm.js.map +1 -0
- package/dist/stencil-library/numeric-field.entry.esm.js.map +1 -0
- package/dist/stencil-library/p-0127a5ac.entry.js +2 -0
- package/dist/stencil-library/p-0127a5ac.entry.js.map +1 -0
- package/dist/stencil-library/p-02d7f46c.entry.js +2 -0
- package/dist/stencil-library/p-02d7f46c.entry.js.map +1 -0
- package/dist/stencil-library/p-092fe460.entry.js +2 -0
- package/dist/stencil-library/p-092fe460.entry.js.map +1 -0
- package/dist/stencil-library/p-0cfbf4a1.entry.js +2 -0
- package/dist/stencil-library/p-0cfbf4a1.entry.js.map +1 -0
- package/dist/stencil-library/p-0fba492d.entry.js +2 -0
- package/dist/stencil-library/p-0fba492d.entry.js.map +1 -0
- package/dist/stencil-library/p-11494a2a.entry.js +2 -0
- package/dist/stencil-library/p-11494a2a.entry.js.map +1 -0
- package/dist/stencil-library/p-12799897.entry.js +2 -0
- package/dist/stencil-library/p-12799897.entry.js.map +1 -0
- package/dist/stencil-library/p-137657ce.entry.js +2 -0
- package/dist/stencil-library/p-137657ce.entry.js.map +1 -0
- package/dist/stencil-library/p-140f4f00.entry.js +2 -0
- package/dist/stencil-library/p-140f4f00.entry.js.map +1 -0
- package/dist/stencil-library/p-19c1d81c.entry.js +2 -0
- package/dist/stencil-library/p-19c1d81c.entry.js.map +1 -0
- package/dist/stencil-library/p-22AseVqC.js +2 -0
- package/dist/stencil-library/p-22AseVqC.js.map +1 -0
- package/dist/stencil-library/p-2652e3e0.entry.js +2 -0
- package/dist/stencil-library/p-2652e3e0.entry.js.map +1 -0
- package/dist/stencil-library/p-340acdfa.entry.js +2 -0
- package/dist/stencil-library/p-340acdfa.entry.js.map +1 -0
- package/dist/stencil-library/p-34b51e8d.entry.js +2 -0
- package/dist/stencil-library/p-34b51e8d.entry.js.map +1 -0
- package/dist/stencil-library/p-35f55182.entry.js +2 -0
- package/dist/stencil-library/p-35f55182.entry.js.map +1 -0
- package/dist/stencil-library/p-395aa831.entry.js +2 -0
- package/dist/stencil-library/p-395aa831.entry.js.map +1 -0
- package/dist/stencil-library/p-3deb56d6.entry.js +2 -0
- package/dist/stencil-library/p-3deb56d6.entry.js.map +1 -0
- package/dist/stencil-library/p-42de2c69.entry.js +2 -0
- package/dist/stencil-library/p-42de2c69.entry.js.map +1 -0
- package/dist/stencil-library/p-454369fe.entry.js +2 -0
- package/dist/stencil-library/p-454369fe.entry.js.map +1 -0
- package/dist/stencil-library/p-45637c9c.entry.js +2 -0
- package/dist/stencil-library/p-45637c9c.entry.js.map +1 -0
- package/dist/stencil-library/p-469d33c1.entry.js +2 -0
- package/dist/stencil-library/p-469d33c1.entry.js.map +1 -0
- package/dist/stencil-library/p-477473b9.entry.js +2 -0
- package/dist/stencil-library/p-477473b9.entry.js.map +1 -0
- package/dist/stencil-library/p-5682cf7c.entry.js +2 -0
- package/dist/stencil-library/p-5682cf7c.entry.js.map +1 -0
- package/dist/stencil-library/p-56fc5314.entry.js +2 -0
- package/dist/stencil-library/p-56fc5314.entry.js.map +1 -0
- package/dist/stencil-library/p-5780296d.entry.js +2 -0
- package/dist/stencil-library/p-5780296d.entry.js.map +1 -0
- package/dist/stencil-library/p-57ef13e4.entry.js +2 -0
- package/dist/stencil-library/p-57ef13e4.entry.js.map +1 -0
- package/dist/stencil-library/p-5a529135.entry.js +2 -0
- package/dist/stencil-library/p-5a529135.entry.js.map +1 -0
- package/dist/stencil-library/p-5f349fa5.entry.js +2 -0
- package/dist/stencil-library/p-5f349fa5.entry.js.map +1 -0
- package/dist/stencil-library/p-64a7e283.entry.js +2 -0
- package/dist/stencil-library/p-64a7e283.entry.js.map +1 -0
- package/dist/stencil-library/p-68a7b3b9.entry.js +2 -0
- package/dist/stencil-library/p-68a7b3b9.entry.js.map +1 -0
- package/dist/stencil-library/p-69065e17.entry.js +2 -0
- package/dist/stencil-library/p-69065e17.entry.js.map +1 -0
- package/dist/stencil-library/p-691aaaf0.entry.js +2 -0
- package/dist/stencil-library/p-691aaaf0.entry.js.map +1 -0
- package/dist/stencil-library/p-6ae68f9d.entry.js +2 -0
- package/dist/stencil-library/p-6ae68f9d.entry.js.map +1 -0
- package/dist/stencil-library/p-74d0c986.entry.js +2 -0
- package/dist/stencil-library/p-74d0c986.entry.js.map +1 -0
- package/dist/stencil-library/p-7a2d4ad6.entry.js +2 -0
- package/dist/stencil-library/p-7a2d4ad6.entry.js.map +1 -0
- package/dist/stencil-library/p-7c2bdf23.entry.js +2 -0
- package/dist/stencil-library/p-7c2bdf23.entry.js.map +1 -0
- package/dist/stencil-library/p-809b74e0.entry.js +2 -0
- package/dist/stencil-library/p-809b74e0.entry.js.map +1 -0
- package/dist/stencil-library/p-8ca1173a.entry.js +2 -0
- package/dist/stencil-library/p-8ca1173a.entry.js.map +1 -0
- package/dist/stencil-library/p-94beac9d.entry.js +2 -0
- package/dist/stencil-library/p-94beac9d.entry.js.map +1 -0
- package/dist/stencil-library/p-958b71d2.entry.js +2 -0
- package/dist/stencil-library/p-958b71d2.entry.js.map +1 -0
- package/dist/stencil-library/p-9f8f67d1.entry.js +2 -0
- package/dist/stencil-library/p-9f8f67d1.entry.js.map +1 -0
- package/dist/stencil-library/p-9fe84df1.entry.js +2 -0
- package/dist/stencil-library/p-9fe84df1.entry.js.map +1 -0
- package/dist/stencil-library/p-B-daVutk.js +2 -0
- package/dist/stencil-library/p-B-daVutk.js.map +1 -0
- package/dist/stencil-library/p-BArOL_Uz.js +2 -0
- package/dist/stencil-library/p-BArOL_Uz.js.map +1 -0
- package/dist/stencil-library/p-BNGPBq7P.js +2 -0
- package/dist/stencil-library/p-BNGPBq7P.js.map +1 -0
- package/dist/stencil-library/p-BTDU_umf.js +2 -0
- package/dist/stencil-library/p-BTDU_umf.js.map +1 -0
- package/dist/stencil-library/p-Basdb1b1.js +2 -0
- package/dist/stencil-library/p-Basdb1b1.js.map +1 -0
- package/dist/stencil-library/p-BjOva8-6.js +2 -0
- package/dist/stencil-library/p-BjOva8-6.js.map +1 -0
- package/dist/stencil-library/p-BlJaGZ4k.js +2 -0
- package/dist/stencil-library/p-BlJaGZ4k.js.map +1 -0
- package/dist/stencil-library/p-BszFRFnr.js +2 -0
- package/dist/stencil-library/p-BszFRFnr.js.map +1 -0
- package/dist/stencil-library/p-C--DZEBi.js +2 -0
- package/dist/stencil-library/p-C--DZEBi.js.map +1 -0
- package/dist/stencil-library/p-C0O6l6cU.js +2 -0
- package/dist/stencil-library/p-C0O6l6cU.js.map +1 -0
- package/dist/stencil-library/p-CBwYbj-f.js +2 -0
- package/dist/stencil-library/p-CBwYbj-f.js.map +1 -0
- package/dist/stencil-library/p-CaIWDYyq.js +3 -0
- package/dist/stencil-library/p-CaIWDYyq.js.map +1 -0
- package/dist/stencil-library/p-Cn7PuhQz.js +2 -0
- package/dist/stencil-library/p-Cn7PuhQz.js.map +1 -0
- package/dist/stencil-library/p-CoGvHEIU.js +2 -0
- package/dist/stencil-library/p-CoGvHEIU.js.map +1 -0
- package/dist/stencil-library/p-CwN0FuAf.js +2 -0
- package/dist/stencil-library/p-CwN0FuAf.js.map +1 -0
- package/dist/stencil-library/p-D-b1Oy69.js +2 -0
- package/dist/stencil-library/p-D-b1Oy69.js.map +1 -0
- package/dist/stencil-library/p-_3wImzvq.js +2 -0
- package/dist/stencil-library/p-_3wImzvq.js.map +1 -0
- package/dist/stencil-library/p-a1742f0a.entry.js +2 -0
- package/dist/stencil-library/p-a1742f0a.entry.js.map +1 -0
- package/dist/stencil-library/p-a368ab29.entry.js +2 -0
- package/dist/stencil-library/p-a368ab29.entry.js.map +1 -0
- package/dist/stencil-library/p-a7d1c6f1.entry.js +2 -0
- package/dist/stencil-library/p-a7d1c6f1.entry.js.map +1 -0
- package/dist/stencil-library/p-b1e27be5.entry.js +2 -0
- package/dist/stencil-library/p-b1e27be5.entry.js.map +1 -0
- package/dist/stencil-library/p-b6b164dc.entry.js +2 -0
- package/dist/stencil-library/p-b6b164dc.entry.js.map +1 -0
- package/dist/stencil-library/p-b6d241a0.entry.js +2 -0
- package/dist/stencil-library/p-b6d241a0.entry.js.map +1 -0
- package/dist/stencil-library/p-b7585a50.entry.js +2 -0
- package/dist/stencil-library/p-b7585a50.entry.js.map +1 -0
- package/dist/stencil-library/p-b92173d9.entry.js +2 -0
- package/dist/stencil-library/p-b92173d9.entry.js.map +1 -0
- package/dist/stencil-library/p-b94e5ee5.entry.js +2 -0
- package/dist/stencil-library/p-b94e5ee5.entry.js.map +1 -0
- package/dist/stencil-library/p-bba6447f.entry.js +2 -0
- package/dist/stencil-library/p-bba6447f.entry.js.map +1 -0
- package/dist/stencil-library/p-c3f3bc96.entry.js +2 -0
- package/dist/stencil-library/p-c3f3bc96.entry.js.map +1 -0
- package/dist/stencil-library/p-c81dc5b7.entry.js +2 -0
- package/dist/stencil-library/p-c81dc5b7.entry.js.map +1 -0
- package/dist/stencil-library/p-c848b69c.entry.js +2 -0
- package/dist/stencil-library/p-c848b69c.entry.js.map +1 -0
- package/dist/stencil-library/p-d4094b06.entry.js +2 -0
- package/dist/stencil-library/p-d4094b06.entry.js.map +1 -0
- package/dist/stencil-library/p-d939e3f2.entry.js +2 -0
- package/dist/stencil-library/p-d939e3f2.entry.js.map +1 -0
- package/dist/stencil-library/p-e040d810.entry.js +2 -0
- package/dist/stencil-library/p-e040d810.entry.js.map +1 -0
- package/dist/stencil-library/p-e83c212a.entry.js +2 -0
- package/dist/stencil-library/p-e83c212a.entry.js.map +1 -0
- package/dist/stencil-library/p-ebd44750.entry.js +2 -0
- package/dist/stencil-library/p-ebd44750.entry.js.map +1 -0
- package/dist/stencil-library/p-f67d6d2c.entry.js +2 -0
- package/dist/stencil-library/p-f67d6d2c.entry.js.map +1 -0
- package/dist/stencil-library/p-mtb631MA.js +2 -0
- package/dist/stencil-library/p-mtb631MA.js.map +1 -0
- package/dist/stencil-library/page-renderer.entry.esm.js.map +1 -0
- package/dist/stencil-library/question-configs-renderer.udp-forms-builder-menu.udp-forms-builder-style-override.udp-list-item.entry.esm.js.map +1 -0
- package/dist/stencil-library/resource-timeline-calendar.entry.esm.js.map +1 -0
- package/dist/stencil-library/resource-timeline-primary-bar.entry.esm.js.map +1 -0
- package/dist/stencil-library/server-side-grid.entry.esm.js.map +1 -0
- package/dist/stencil-library/simple-card.entry.esm.js.map +1 -0
- package/dist/stencil-library/stencil-form.udp-question.entry.esm.js.map +1 -0
- package/dist/stencil-library/stencil-library.css +1 -0
- package/dist/stencil-library/stencil-library.esm.js +2 -0
- package/dist/stencil-library/stencil-library.esm.js.map +1 -0
- package/dist/stencil-library/test-api-updated.entry.esm.js.map +1 -0
- package/dist/stencil-library/test-api.entry.esm.js.map +1 -0
- package/dist/stencil-library/text-area.udp-date-selector.udp-datetime-selector.udp-time-selector.entry.esm.js.map +1 -0
- package/dist/stencil-library/toggle-button.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-adornment.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-bar-chart.udp-distribution-chart.udp-donut-chart.udp-line-chart.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-calendar-base.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-calendar-day.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-calendar-month.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-calendar-week.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-calendar-year.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-card-action-area.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-card.udp-card-actions.udp-card-content.udp-card-header.udp-card-media.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-charts-example.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-container-query-grid-item.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-container-query-grid.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-container-query.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-container.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-dynamic-form.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-fetch.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-forms-builder.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-forms-list-card.udp-list-renderer.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-forms-list.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-forms-renderer.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-forms-ui.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-link.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-map.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-page.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-pagination.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-side-sheet.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-split-screen.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-stepper-demo.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-stepper.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-user-creator.entry.esm.js.map +1 -0
- package/dist/stencil-library/udp-vertical-spacer.entry.esm.js.map +1 -0
- package/dist/types/components/deprecated/side-sheet/side-sheet-container.d.ts +4 -0
- package/dist/types/components/deprecated/side-sheet/side-sheet.d.ts +14 -0
- package/dist/types/components/my-component/AG-Grid.d.ts +0 -0
- package/dist/types/components/my-component/UI/advanced-search/advanced-search-grouped.d.ts +64 -0
- package/dist/types/components/my-component/UI/advanced-search/advanced-search.d.ts +26 -0
- package/dist/types/components/my-component/UI/advanced-search/filter-conditions/filter-conditions.d.ts +3 -0
- package/dist/types/components/my-component/UI/advanced-search/types.d.ts +18 -0
- package/dist/types/components/my-component/UI/advanced-search/ui/logical-search-indicator/logical-search-indicator.d.ts +4 -0
- package/dist/types/components/my-component/UI/buttons/icon-button/function-button/udp-function-button.d.ts +12 -0
- package/dist/types/components/my-component/UI/buttons/icon-button/primary-button/custom-button.d.ts +14 -0
- package/dist/types/components/my-component/UI/buttons/icon-button/radio-button/udp-radio-button.d.ts +8 -0
- package/dist/types/components/my-component/UI/buttons/icon-button/stencil-icon-button-grid-action-header.d.ts +13 -0
- package/dist/types/components/my-component/UI/buttons/icon-button/stencil-icon-button.d.ts +16 -0
- package/dist/types/components/my-component/UI/buttons/udp-button/udp-button.d.ts +89 -0
- package/dist/types/components/my-component/UI/calendar/udp-calendar-base.d.ts +54 -0
- package/dist/types/components/my-component/UI/calendar/udp-calendar-day.d.ts +6 -0
- package/dist/types/components/my-component/UI/calendar/udp-calendar-month.d.ts +6 -0
- package/dist/types/components/my-component/UI/calendar/udp-calendar-week.d.ts +6 -0
- package/dist/types/components/my-component/UI/calendar/udp-calendar-year.d.ts +6 -0
- package/dist/types/components/my-component/UI/charts/chart-container/chart-container.d.ts +22 -0
- package/dist/types/components/my-component/UI/charts/chart-kpi/chart-kpi.d.ts +5 -0
- package/dist/types/components/my-component/UI/charts/chartUtils.d.ts +11 -0
- package/dist/types/components/my-component/UI/charts/udp-bar-chart/udp-bar-chart.d.ts +39 -0
- package/dist/types/components/my-component/UI/charts/udp-charts-example.d.ts +6 -0
- package/dist/types/components/my-component/UI/charts/udp-distribution-chart/udp-distribution-chart.d.ts +35 -0
- package/dist/types/components/my-component/UI/charts/udp-donut-chart/udp-donut-chart.d.ts +30 -0
- package/dist/types/components/my-component/UI/charts/udp-line-chart/udp-line-chart.d.ts +42 -0
- package/dist/types/components/my-component/UI/data-display/adornment/udp-adornment/udp-adornment.d.ts +5 -0
- package/dist/types/components/my-component/UI/data-display/badge/udp-badge.d.ts +6 -0
- package/dist/types/components/my-component/UI/data-display/cards/udp-ambient-card/udp-ambient-card.d.ts +10 -0
- package/dist/types/components/my-component/UI/data-display/cards/udp-card/udp-card-action-area/udp-card-action-area.d.ts +3 -0
- package/dist/types/components/my-component/UI/data-display/cards/udp-card/udp-card-actions/udp-card-actions.d.ts +7 -0
- package/dist/types/components/my-component/UI/data-display/cards/udp-card/udp-card-content/udp-card-content.d.ts +5 -0
- package/dist/types/components/my-component/UI/data-display/cards/udp-card/udp-card-header/udp-card-header.d.ts +37 -0
- package/dist/types/components/my-component/UI/data-display/cards/udp-card/udp-card-media/udp-card-media.d.ts +11 -0
- package/dist/types/components/my-component/UI/data-display/cards/udp-card/udp-card.d.ts +66 -0
- package/dist/types/components/my-component/UI/data-display/chips/stencil-chip/status-chip/status-chip.d.ts +11 -0
- package/dist/types/components/my-component/UI/data-display/chips/stencil-chip/stencil-chip.d.ts +23 -0
- package/dist/types/components/my-component/UI/data-display/divider/udp-divider.d.ts +5 -0
- package/dist/types/components/my-component/UI/data-display/headers/udp-column-header.d.ts +3 -0
- package/dist/types/components/my-component/UI/data-display/headers/udp-page-header/udp-page-header.d.ts +7 -0
- package/dist/types/components/my-component/UI/data-display/hint-panel/hint-panel.d.ts +7 -0
- package/dist/types/components/my-component/UI/data-display/icons/iconMapping.d.ts +66 -0
- package/dist/types/components/my-component/UI/data-display/icons/iconUtils.d.ts +1 -0
- package/dist/types/components/my-component/UI/data-display/icons/udp-icon.d.ts +10 -0
- package/dist/types/components/my-component/UI/data-display/kpi/kpi-list.d.ts +7 -0
- package/dist/types/components/my-component/UI/data-display/list-item/list-item.d.ts +17 -0
- package/dist/types/components/my-component/UI/data-display/list-renderer/udp-list-renderer.d.ts +64 -0
- package/dist/types/components/my-component/UI/data-display/pop-over/interfaces/popoverInterfaces.d.ts +1 -0
- package/dist/types/components/my-component/UI/data-display/pop-over/udp-pop-over.d.ts +20 -0
- package/dist/types/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.d.ts +9 -0
- package/dist/types/components/my-component/UI/data-display/primary-action-header/primary-action-header.d.ts +24 -0
- package/dist/types/components/my-component/UI/data-display/simple-card/simple-card.d.ts +3 -0
- package/dist/types/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.d.ts +8 -0
- package/dist/types/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.d.ts +22 -0
- package/dist/types/components/my-component/UI/data-display/tree/tree-list-item/tree-list-item.d.ts +59 -0
- package/dist/types/components/my-component/UI/data-display/udp-avatar/udp-avatar.d.ts +10 -0
- package/dist/types/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.d.ts +24 -0
- package/dist/types/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.d.ts +24 -0
- package/dist/types/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.d.ts +6 -0
- package/dist/types/components/my-component/UI/feedback/udp-notification/udp-notification.d.ts +8 -0
- package/dist/types/components/my-component/UI/forms/dynamic-form/udp-dynamic-form.d.ts +138 -0
- package/dist/types/components/my-component/UI/forms/edit-view-form/edit-view-form.d.ts +35 -0
- package/dist/types/components/my-component/UI/forms/form/stencil-field.d.ts +25 -0
- package/dist/types/components/my-component/UI/forms/form/stencil-form-store.d.ts +11 -0
- package/dist/types/components/my-component/UI/forms/form/stencil-form.d.ts +23 -0
- package/dist/types/components/my-component/UI/forms/save-view-form/save-view-form.d.ts +36 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/enums.d.ts +15 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/mockData.d.ts +3 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/types.d.ts +66 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/forms-builder-utils.d.ts +1 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/typographyVariantsList.d.ts +2 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-specific-configs-renderer.d.ts +11 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/date-time-renderer.d.ts +12 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/file-upload-renderer.d.ts +11 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/list-options-renderer.d.ts +12 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/question-configs-renderer.d.ts +11 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question_type_renderers/text-input-renderer.d.ts +11 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-menu.d.ts +9 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-question-template.d.ts +223 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-style-override.d.ts +9 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder.d.ts +57 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-form-api-utils.d.ts +2 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list-card.d.ts +12 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list.d.ts +47 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/BaseFormHandler.d.ts +28 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/FormHandlerFactory.d.ts +8 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/IFormHandler.d.ts +15 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/MockFormHandler.d.ts +11 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PrivateFormHandler.d.ts +22 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/PublicFormHandler.d.ts +16 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/form-handler/formUtils.d.ts +4 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.d.ts +63 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-ui.d.ts +27 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/udp-question/udp-question.d.ts +19 -0
- package/dist/types/components/my-component/UI/forms/udp-forms/utils.d.ts +4 -0
- package/dist/types/components/my-component/UI/grid/ag-table/ag-table.d.ts +8 -0
- package/dist/types/components/my-component/UI/grid/ambient-template-grid/ambient-template-functions/buildGroupedSearchPayload.d.ts +13 -0
- package/dist/types/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.d.ts +395 -0
- package/dist/types/components/my-component/UI/grid/ambient-template-grid/enums/gridEnums.d.ts +7 -0
- package/dist/types/components/my-component/UI/grid/ambient-template-grid/interfaces/gridInterfaces.d.ts +41 -0
- package/dist/types/components/my-component/UI/grid/ambient-template-grid/license/licenseKey.d.ts +1 -0
- package/dist/types/components/my-component/UI/grid/ambient-template-grid/static-data/get-all-hotlists.d.ts +78 -0
- package/dist/types/components/my-component/UI/grid/conversionFunctions/conversionFunctions.d.ts +11 -0
- package/dist/types/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.d.ts +42 -0
- package/dist/types/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.d.ts +14 -0
- package/dist/types/components/my-component/UI/grid/new-grid/ag-grid-base.d.ts +16 -0
- package/dist/types/components/my-component/UI/grid/new-grid/api-method-grid.d.ts +14 -0
- package/dist/types/components/my-component/UI/grid/new-grid/client-side-grid.d.ts +14 -0
- package/dist/types/components/my-component/UI/grid/new-grid/datasources/apiMethodDatasource.d.ts +4 -0
- package/dist/types/components/my-component/UI/grid/new-grid/grid-header.d.ts +5 -0
- package/dist/types/components/my-component/UI/grid/new-grid/interfaces/grid.d.ts +10 -0
- package/dist/types/components/my-component/UI/grid/new-grid/interfaces/searchObject.d.ts +37 -0
- package/dist/types/components/my-component/UI/grid/new-grid/server-side-grid.d.ts +14 -0
- package/dist/types/components/my-component/UI/grid/renderers/actions-renderer.d.ts +8 -0
- package/dist/types/components/my-component/UI/grid/renderers/currency-renderer.d.ts +7 -0
- package/dist/types/components/my-component/UI/grid/renderers/custom-actions-renderer.d.ts +8 -0
- package/dist/types/components/my-component/UI/grid/renderers/custom-renderer.d.ts +8 -0
- package/dist/types/components/my-component/UI/grid/renderers/date-time-cell-renderer.d.ts +13 -0
- package/dist/types/components/my-component/UI/grid/renderers/email-cell-renderer.d.ts +10 -0
- package/dist/types/components/my-component/UI/grid/renderers/hot-list-add-renderer.d.ts +16 -0
- package/dist/types/components/my-component/UI/grid/renderers/hover-content-cell-renderer.d.ts +14 -0
- package/dist/types/components/my-component/UI/grid/renderers/icon-renderer.d.ts +8 -0
- package/dist/types/components/my-component/UI/grid/renderers/open-function-cell-renderer.d.ts +12 -0
- package/dist/types/components/my-component/UI/grid/renderers/return-search-data-cell-renderer.d.ts +12 -0
- package/dist/types/components/my-component/UI/grid/renderers/sharedContext.d.ts +6 -0
- package/dist/types/components/my-component/UI/grid/renderers/status-renderer.d.ts +8 -0
- package/dist/types/components/my-component/UI/grid/resource-timeline-calendar/ag-grid-subtitle-cell-renderer.d.ts +10 -0
- package/dist/types/components/my-component/UI/grid/resource-timeline-calendar/license/licenseKey.d.ts +1 -0
- package/dist/types/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-calendar.d.ts +254 -0
- package/dist/types/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-header.d.ts +6 -0
- package/dist/types/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-primary-bar.d.ts +21 -0
- package/dist/types/components/my-component/UI/grid/resource-timeline-calendar/resourceTimelineUtilities.d.ts +1 -0
- package/dist/types/components/my-component/UI/grid/resource-timeline-calendar/timesheets-cell-renderer.d.ts +13 -0
- package/dist/types/components/my-component/UI/inputs/checkbox/check-box.d.ts +135 -0
- package/dist/types/components/my-component/UI/inputs/date-selector/udp-date-selector.d.ts +154 -0
- package/dist/types/components/my-component/UI/inputs/date-time-selector/udp-datetime-selector.d.ts +188 -0
- package/dist/types/components/my-component/UI/inputs/file-upload/file-upload.d.ts +343 -0
- package/dist/types/components/my-component/UI/inputs/input-types.d.ts +12 -0
- package/dist/types/components/my-component/UI/inputs/numeric-field/numeric-field.d.ts +202 -0
- package/dist/types/components/my-component/UI/inputs/selectable-list/selectable-list.d.ts +214 -0
- package/dist/types/components/my-component/UI/inputs/text-area/text-area.d.ts +170 -0
- package/dist/types/components/my-component/UI/inputs/text-field/text-field.d.ts +160 -0
- package/dist/types/components/my-component/UI/inputs/time-selector/udp-time-selector.d.ts +155 -0
- package/dist/types/components/my-component/UI/inputs/toggle/stencil-toggle.d.ts +152 -0
- package/dist/types/components/my-component/UI/inputs/udp-selector/udp-selector.d.ts +251 -0
- package/dist/types/components/my-component/UI/layout/udp-container/udp-container.d.ts +15 -0
- package/dist/types/components/my-component/UI/layout/udp-container-query/udp-container-query.d.ts +10 -0
- package/dist/types/components/my-component/UI/layout/udp-container-query-grid/udp-container-query-grid.d.ts +9 -0
- package/dist/types/components/my-component/UI/layout/udp-container-query-grid-item/udp-container-query-grid-item.d.ts +7 -0
- package/dist/types/components/my-component/UI/layout/udp-page/udp-page.d.ts +11 -0
- package/dist/types/components/my-component/UI/layout/udp-split-screen/udp-split-screen.d.ts +12 -0
- package/dist/types/components/my-component/UI/layout/udp-vertical-spacer.d.ts +4 -0
- package/dist/types/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.d.ts +6 -0
- package/dist/types/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.d.ts +4 -0
- package/dist/types/components/my-component/UI/loaders/udp-skeleton-loading.d.ts +6 -0
- package/dist/types/components/my-component/UI/map/udp-map/map-component.d.ts +105 -0
- package/dist/types/components/my-component/UI/map/udp-map/popups/add-map-feature-popup.d.ts +22 -0
- package/dist/types/components/my-component/UI/map/udp-map/popups/feature-details-card/feature-details-card.d.ts +33 -0
- package/dist/types/components/my-component/UI/map/udp-map/popups/feature-details-popup.d.ts +23 -0
- package/dist/types/components/my-component/UI/map/udp-map/popups/select-layer-popup.d.ts +11 -0
- package/dist/types/components/my-component/UI/map/udp-map/popups/split-line-popup.d.ts +6 -0
- package/dist/types/components/my-component/UI/map/udp-map/toolbar/map-toolbar.d.ts +76 -0
- package/dist/types/components/my-component/UI/map/udp-map/udp-map-toolbar.d.ts +80 -0
- package/dist/types/components/my-component/UI/map/udp-map/udp-map.d.ts +79 -0
- package/dist/types/components/my-component/UI/map/udp-map/utils/check-box-group.d.ts +26 -0
- package/dist/types/components/my-component/UI/map/udp-map/utils/common.d.ts +3 -0
- package/dist/types/components/my-component/UI/map/udp-map/utils/map-interactions.d.ts +4 -0
- package/dist/types/components/my-component/UI/map/udp-map/utils/udp-map-utils.d.ts +28 -0
- package/dist/types/components/my-component/UI/menu/menu-item/udp-menu-item.d.ts +10 -0
- package/dist/types/components/my-component/UI/navigation/pagination/udp-pagination.d.ts +24 -0
- package/dist/types/components/my-component/UI/navigation/udp-link/udp-link.d.ts +25 -0
- package/dist/types/components/my-component/UI/stepper/types.d.ts +23 -0
- package/dist/types/components/my-component/UI/stepper/udp-stepper-demo.d.ts +12 -0
- package/dist/types/components/my-component/UI/stepper/udp-stepper.d.ts +23 -0
- package/dist/types/components/my-component/UI/tabs/tab/tabs/udp-tabs.d.ts +5 -0
- package/dist/types/components/my-component/UI/tabs/tab/udp-tab.d.ts +6 -0
- package/dist/types/components/my-component/UI/toolbars/app-bar/app-bar.d.ts +4 -0
- package/dist/types/components/my-component/UI/unity-typography/types.d.ts +8 -0
- package/dist/types/components/my-component/UI/unity-typography/unity-typography.d.ts +9 -0
- package/dist/types/components/my-component/demo/ambient-demo-container.d.ts +4 -0
- package/dist/types/components/my-component/my-component.d.ts +699 -0
- package/dist/types/components/my-component/test-api/test-api.d.ts +7 -0
- package/dist/types/components/test-component/inputs-example/inputs-example.d.ts +35 -0
- package/dist/types/components.d.ts +10454 -0
- package/dist/types/global/ag-grid.d.ts +3 -0
- package/dist/types/global/app.d.ts +5 -0
- package/dist/types/global/configService.d.ts +25 -0
- package/dist/types/global/types.d.ts +38 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/page-renderer/page-renderer.d.ts +10 -0
- package/dist/types/stencil-public-runtime.d.ts +1702 -0
- package/dist/types/store/catalog-store.d.ts +11 -0
- package/dist/types/store/internal.d.ts +10 -0
- package/dist/types/store/lookups-store.d.ts +7 -0
- package/dist/types/store/user-store.d.ts +11 -0
- package/dist/types/theme/color-preview/color-preview.d.ts +6 -0
- package/dist/types/theme/theme-utils.d.ts +1 -0
- package/dist/types/toggle-button.d.ts +5 -0
- package/dist/types/udp-utilities/api/api-services.d.ts +14 -0
- package/dist/types/udp-utilities/api/makeApiCall/examples.d.ts +7 -0
- package/dist/types/udp-utilities/api/makeApiCall/makeApiCall.d.ts +44 -0
- package/dist/types/udp-utilities/api/useAxiosGet/useAxiosGet.d.ts +19 -0
- package/dist/types/udp-utilities/api/useAxiosMutate/testApi.d.ts +7 -0
- package/dist/types/udp-utilities/api/useAxiosMutate/useApiServiceGetQuery.d.ts +19 -0
- package/dist/types/udp-utilities/api/useAxiosMutate/useApiServiceMutate.d.ts +5 -0
- package/dist/types/udp-utilities/api/useAxiosMutate/useAxiosMutate.d.ts +12 -0
- package/dist/types/udp-utilities/api-config/configService.d.ts +72 -0
- package/dist/types/udp-utilities/api-config/index.d.ts +1 -0
- package/dist/types/udp-utilities/api-udp/apiMutate.d.ts +9 -0
- package/dist/types/udp-utilities/api-udp/apiUtils.d.ts +52 -0
- package/dist/types/udp-utilities/api-udp/baseUrls.d.ts +8 -0
- package/dist/types/udp-utilities/api-udp/get-user.d.ts +18 -0
- package/dist/types/udp-utilities/api-udp/udp-fetch.d.ts +10 -0
- package/dist/types/udp-utilities/auth/auth-actions.d.ts +0 -0
- package/dist/types/udp-utilities/auth/auth-config.d.ts +14 -0
- package/dist/types/udp-utilities/auth/auth.d.ts +0 -0
- package/dist/types/udp-utilities/auth/sign-in-auth-provider.d.ts +0 -0
- package/dist/types/udp-utilities/enums/unity-system-enums.d.ts +187 -0
- package/dist/types/udp-utilities/grid/action-renderers/action-column-util.d.ts +7 -0
- package/dist/types/udp-utilities/grid/convertToAgGridColumns.d.ts +1 -0
- package/dist/types/udp-utilities/grid/data-converters/transformSearchData.d.ts +487 -0
- package/dist/types/udp-utilities/grid/data-source/SearchServiceDatasource.d.ts +5 -0
- package/dist/types/udp-utilities/grid/models/udp-models.d.ts +10 -0
- package/dist/types/udp-utilities/grid/search/inquiry-search-datasource.d.ts +30 -0
- package/dist/types/udp-utilities/grid/search/search-utilities.d.ts +3 -0
- package/dist/types/udp-utilities/grid/udp-grid-enums.d.ts +12 -0
- package/dist/types/udp-utilities/layout/breakpoints/breakpoints.d.ts +7 -0
- package/dist/types/udp-utilities/layout/breakpoints/useMatchBreakpoint.d.ts +2 -0
- package/dist/types/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.d.ts +31 -0
- package/dist/types/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.d.ts +27 -0
- package/dist/types/udp-utilities/search/SearchBuilder.d.ts +175 -0
- package/dist/types/udp-utilities/search/index.d.ts +2 -0
- package/dist/types/udp-utilities/string-utilities.d.ts +7 -0
- package/dist/types/udp-utilities/tenant/tenantUtils.d.ts +1 -0
- package/dist/types/udp-utilities/testAuth/manualAccessToken.d.ts +2 -0
- package/dist/types/udp-utilities/udp-user-creator.d.ts +27 -0
- package/dist/types/udp-utilities/unity-session-storage.d.ts +10 -0
- package/dist/types/udp-utilities/useUsers.d.ts +1 -0
- package/dist/types/udp-utilities/user.d.ts +24 -0
- package/dist/types/utils/utils.d.ts +2 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +75 -0
- package/readme.md +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"advanced-search.advanced-search-grouped.ag-table.ambient-demo-container.ambient-template-grid.app-bar.custom-button.edit-view-form-dialog.filter-conditions.fluent-dialog.grid-primary-bar.hint-panel.kpi-list.my-component.primary-action-header.save-view-form-dialog.search-list-item.side-sheet.side-sheet-container.status-chip.stencil-chip.stencil-icon-button.stencil-icon-button-grid-action-header.stencil-toggle.text-field.tree-list-item.udp-ambient-tool-tip.udp-avatar.udp-badge.udp-button.udp-column-header.udp-divider.udp-dynamic-container-with-menu.udp-function-button.udp-grid-loader.udp-hotlist-form.udp-icon.udp-linear-loader.udp-menu-item.udp-notification.udp-page-header.udp-pop-over.udp-pop-over-grid-action-header.udp-radio-button.udp-selector.udp-skeleton-loading.udp-tab.udp-tabs.unity-typography.upd-alert-banner.entry.cjs.js","mappings":"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","names":["advancedSearchCss","AdvancedSearch","state","forceUpdate","h","index","Close24","uuid","ChooseItem16","FilterOperators","getCleanData","getIconFromName","getApiCatalogAndProduct","getApiMethodInstance","getApiMethod","getPromotedLookupMethod","produce","localforage","getApiCatalogById","lazySetupAgGridLibrary","updateView","getCurrentTenantId","getAvailableViews","getSelectedView","deleteSelectedView","getAllHotlists","addRecordToAHotlist","deleteAHotlist","loadAHotlist","createAHotlist","executeQueryAdHoc","transformSearchData","getAvailableGridActions","cloneDeep","removeRecordFromHotlist","getActionColumnWidth","sortActionItemOrder","splitActionList","executeQueryAdHocAndMapLookups","convertToAgGridColumns","executeQueryWithParameters","saveView","updateViewAndConfigurations","Star16","List16","Memoize","Menu24","Save16","AdvancedQuery16","Renew16","Close16","Download16","DataEnrichment16","Settings16","demoMSSearchData","ConfigService","defaultPayload","Asterisk16","iconMapping","StencilIconButton","Host","UdpColumnHeader","TrashCan16","View16","StarFilled16","AddIcon16","Edit16","ChevronDownIcon24","UdpPopOver","createPopper"],"sources":["src/udp-utilities/string-utilities.ts","src/components/my-component/UI/grid/conversionFunctions/conversionFunctions.ts","src/components/my-component/UI/advanced-search/advanced-search.css?tag=advanced-search&encapsulation=shadow","src/components/my-component/UI/advanced-search/advanced-search.tsx","src/components/my-component/UI/advanced-search/advanced-search.css?tag=advanced-search-grouped&encapsulation=shadow","src/components/my-component/UI/advanced-search/advanced-search-grouped.tsx","src/components/my-component/UI/grid/ag-table/ag-table.tsx","src/components/my-component/demo/ambient-demo-container.css?tag=ambient-demo-container&encapsulation=shadow","src/components/my-component/demo/ambient-demo-container.tsx","src/components/my-component/UI/grid/renderers/custom-renderer.tsx","src/components/my-component/UI/grid/renderers/custom-actions-renderer.tsx","src/udp-utilities/grid/udp-grid-enums.ts","src/udp-utilities/grid/search/search-utilities.ts","src/udp-utilities/grid/data-source/SearchServiceDatasource.ts","src/components/my-component/UI/grid/renderers/email-cell-renderer.tsx","src/components/my-component/UI/grid/renderers/sharedContext.ts","src/components/my-component/UI/grid/renderers/open-function-cell-renderer.tsx","src/components/my-component/UI/grid/renderers/hot-list-add-renderer.tsx","src/components/my-component/UI/grid/renderers/hover-content-cell-renderer.tsx","src/components/my-component/UI/grid/ambient-template-grid/license/licenseKey.ts","src/components/my-component/UI/grid/ambient-template-grid/ambient-template-functions/buildGroupedSearchPayload.ts","src/components/my-component/UI/grid/renderers/date-time-cell-renderer.tsx","src/components/my-component/UI/grid/renderers/actions-renderer.tsx","src/components/my-component/UI/grid/renderers/status-renderer.tsx","src/components/my-component/UI/grid/renderers/icon-renderer.tsx","src/utils/utils.ts","src/components/my-component/UI/grid/renderers/currency-renderer.tsx","src/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.css?tag=ambient-template-grid&encapsulation=shadow","src/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.tsx","src/components/my-component/UI/toolbars/app-bar/app-bar.css?tag=app-bar&encapsulation=shadow","src/components/my-component/UI/toolbars/app-bar/app-bar.tsx","src/components/my-component/UI/buttons/icon-button/primary-button/custom-button.css?tag=custom-button&encapsulation=shadow","src/components/my-component/UI/buttons/icon-button/primary-button/custom-button.tsx","src/components/my-component/UI/forms/edit-view-form/edit-view-form-dialog.css?tag=edit-view-form-dialog&encapsulation=shadow","src/components/my-component/UI/forms/edit-view-form/edit-view-form.tsx","src/components/my-component/UI/advanced-search/filter-conditions/filter-conditions.css?tag=filter-conditions&encapsulation=shadow","src/components/my-component/UI/advanced-search/filter-conditions/filter-conditions.tsx","src/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.css?tag=fluent-dialog&encapsulation=shadow","src/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.tsx","src/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.css?tag=grid-primary-bar&encapsulation=shadow","src/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.tsx","src/components/my-component/UI/data-display/hint-panel/hint-panel.css?tag=hint-panel&encapsulation=shadow","src/components/my-component/UI/data-display/hint-panel/hint-panel.tsx","src/components/my-component/UI/data-display/kpi/kpi-list.css?tag=kpi-list","src/components/my-component/UI/data-display/kpi/kpi-list.tsx","src/components/my-component/my-component.css?tag=my-component&encapsulation=shadow","src/components/my-component/my-component.tsx","src/components/my-component/UI/data-display/primary-action-header/primary-action-header.css?tag=primary-action-header&encapsulation=shadow","src/components/my-component/UI/data-display/primary-action-header/primary-action-header.tsx","src/components/my-component/UI/forms/save-view-form/save-view-form-dialog.css?tag=save-view-form-dialog&encapsulation=shadow","src/components/my-component/UI/forms/save-view-form/save-view-form.tsx","src/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.css?tag=search-list-item&encapsulation=shadow","src/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.tsx","src/components/deprecated/side-sheet/side-sheet.css?tag=side-sheet","src/components/deprecated/side-sheet/side-sheet.tsx","src/components/deprecated/side-sheet/side-sheet-container.css?tag=side-sheet-container&encapsulation=shadow","src/components/deprecated/side-sheet/side-sheet-container.tsx","src/components/my-component/UI/data-display/chips/stencil-chip/status-chip/status-chip.css?tag=status-chip&encapsulation=shadow","src/components/my-component/UI/data-display/chips/stencil-chip/status-chip/status-chip.tsx","src/components/my-component/UI/data-display/chips/stencil-chip/stencil-chip.css?tag=stencil-chip&encapsulation=shadow","src/components/my-component/UI/data-display/chips/stencil-chip/stencil-chip.tsx","src/components/my-component/UI/buttons/icon-button/stencil-icon-button.css?tag=stencil-icon-button&encapsulation=shadow","src/components/my-component/UI/buttons/icon-button/stencil-icon-button.tsx","src/components/my-component/UI/buttons/icon-button/stencil-icon-button-grid-action-header.css?tag=stencil-icon-button-grid-action-header&encapsulation=shadow","src/components/my-component/UI/buttons/icon-button/stencil-icon-button-grid-action-header.tsx","src/components/my-component/UI/inputs/toggle/stencil-toggle.css?tag=stencil-toggle&encapsulation=shadow","src/components/my-component/UI/inputs/toggle/stencil-toggle.tsx","src/components/my-component/UI/inputs/text-field/text-field.css?tag=text-field&encapsulation=shadow","src/components/my-component/UI/inputs/text-field/text-field.tsx","src/components/my-component/UI/data-display/tree/tree-list-item/tree-list-item.css?tag=tree-list-item&encapsulation=shadow","src/components/my-component/UI/data-display/tree/tree-list-item/tree-list-item.tsx","src/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.css?tag=udp-ambient-tool-tip&encapsulation=shadow","src/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.tsx","src/components/my-component/UI/data-display/udp-avatar/udp-avatar.css?tag=udp-avatar&encapsulation=shadow","src/components/my-component/UI/data-display/udp-avatar/udp-avatar.tsx","src/components/my-component/UI/data-display/badge/udp-badge.css?tag=udp-badge&encapsulation=shadow","src/components/my-component/UI/data-display/badge/udp-badge.tsx","src/components/my-component/UI/buttons/udp-button/udp-button.css?tag=udp-button&encapsulation=shadow","src/components/my-component/UI/buttons/udp-button/udp-button.tsx","src/components/my-component/UI/data-display/headers/udp-column-header.css?tag=udp-column-header&encapsulation=shadow","src/components/my-component/UI/data-display/headers/udp-column-header.tsx","src/components/my-component/UI/data-display/divider/udp-divider.css?tag=udp-divider&encapsulation=shadow","src/components/my-component/UI/data-display/divider/udp-divider.tsx","src/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.css?tag=udp-dynamic-container-with-menu&encapsulation=shadow","src/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.tsx","src/components/my-component/UI/buttons/icon-button/function-button/udp-function-button.css?tag=udp-function-button&encapsulation=shadow","src/components/my-component/UI/buttons/icon-button/function-button/udp-function-button.tsx","src/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.css?tag=udp-grid-loader&encapsulation=shadow","src/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.tsx","src/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.css?tag=udp-hotlist-form&encapsulation=shadow","src/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.tsx","src/components/my-component/UI/data-display/icons/udp-icon.css?tag=udp-icon&encapsulation=shadow","src/components/my-component/UI/data-display/icons/udp-icon.tsx","src/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.css?tag=udp-linear-loader&encapsulation=shadow","src/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.tsx","src/components/my-component/UI/menu/menu-item/udp-menu-item.css?tag=udp-menu-item&encapsulation=shadow","src/components/my-component/UI/menu/menu-item/udp-menu-item.tsx","src/components/my-component/UI/feedback/udp-notification/udp-notification.css?tag=udp-notification&encapsulation=shadow","src/components/my-component/UI/feedback/udp-notification/udp-notification.tsx","src/components/my-component/UI/data-display/headers/udp-page-header/udp-page-header.css?tag=udp-page-header&encapsulation=shadow","src/components/my-component/UI/data-display/headers/udp-page-header/udp-page-header.tsx","src/components/my-component/UI/data-display/pop-over/udp-pop-over.css?tag=udp-pop-over&encapsulation=shadow","src/components/my-component/UI/data-display/pop-over/udp-pop-over.tsx","src/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.css?tag=udp-pop-over-grid-action-header&encapsulation=shadow","src/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.tsx","src/components/my-component/UI/buttons/icon-button/radio-button/udp-radio-button.css?tag=udp-radio-button","src/components/my-component/UI/buttons/icon-button/radio-button/udp-radio-button.tsx","src/components/my-component/UI/inputs/udp-selector/udp-selector.css?tag=udp-selector&encapsulation=shadow","src/components/my-component/UI/inputs/udp-selector/udp-selector.tsx","src/components/my-component/UI/loaders/udp-skeleton-loading.css?tag=udp-skeleton-loading&encapsulation=shadow","src/components/my-component/UI/loaders/udp-skeleton-loading.tsx","src/components/my-component/UI/tabs/tab/udp-tab.css?tag=udp-tab","src/components/my-component/UI/tabs/tab/udp-tab.tsx","src/components/my-component/UI/tabs/tab/tabs/udp-tabs.css?tag=udp-tabs","src/components/my-component/UI/tabs/tab/tabs/udp-tabs.tsx","src/components/my-component/UI/unity-typography/unity-typography.css?tag=unity-typography&encapsulation=shadow","src/components/my-component/UI/unity-typography/unity-typography.tsx","src/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.css?tag=upd-alert-banner&encapsulation=shadow","src/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.tsx"],"sourcesContent":["export const trimStringAfter = (str, character) => {\n const lastIndex = str.lastIndexOf(character);\n return str.substring(0, lastIndex === -1 ? str.length : lastIndex);\n };\n\n export const removeWhiteSpace = (str) => {\n if (!str) {\n return '';\n }\n return str.replace(/\\s/g, '');\n };\n \n export const camelToPascalCaseWithSpace = (str) => {\n const capitalizedStr = str.charAt(0).toUpperCase() + str.slice(1);\n return capitalizedStr.replace(/([a-z0-9])([A-Z])/g, '$1 $2');\n };\n \n\n \n export const toLowerFirstChar = (field) => {\n return field.charAt(0).toLowerCase() + field.slice(1);\n };\n \n export const toUpperFirstChar = (field) => {\n return field?.charAt(0)?.toUpperCase() + field?.slice(1);\n };\n \n export const toTitleCase = (str) => {\n const result = str.replace(/([A-Z][a-z]+)/g, ' $1').replace(/([A-Z]+)\\b/g, ' $1').trim();\n return result.charAt(0).toUpperCase() + result.slice(1);\n };\n \n export const pluralize = (str) => {\n const last = str.charAt(str.length - 1);\n if (last === 's') {\n return str;\n } else {\n return `${str}s`;\n }\n };\n ","import { toLowerFirstChar, toTitleCase } from '../../../../../udp-utilities/string-utilities';\n\n\n\nconst defaultGridColumn = {\n headerName: '',\n field: '',\n minWidth: 100,\n autoHeight: true,\n sortable: false,\n headerComponentParams: { id: 'myCustomId1' },\n headerComponent: 'CustomHeaderComponent',\n };\n\n\n export const defaultColActionsDef = {\n resizable: true,\n editable: false,\n sortable: true,\n filter: true,\n floatingFilter: false,\n enableRowGroup: true\n };\n\n type MyType = {\n headerName: any;\n field: any;\n checkboxSelection: boolean;\n headerCheckboxSelection: boolean;\n cellRendererParams: { checkbox: boolean };\n minWidth: number;\n autoHeight: boolean;\n sortable: boolean;\n filter: string; \n headerComponentParams: any; \n headerComponent: string; \n treatAsDate: boolean;\n };\n \n\n\nconst getModelProperties = (model, componentsObj) => {\n let modelPropertiesObj = null;\n if (model) {\n modelPropertiesObj = model.properties;\n if (!modelPropertiesObj) {\n const refKeys = [];\n if (model['allOf']?.length) {\n model['allOf'].forEach((reference) => {\n if (reference['$ref']) {\n const refString = reference['$ref'];\n if (refString) {\n const lastIndex = refString.lastIndexOf('/');\n const referenceModel = refString.substring(lastIndex + 1);\n refKeys.push(referenceModel);\n }\n }\n });\n }\n refKeys.forEach((key) => {\n const abstractModel = componentsObj[key];\n if (modelPropertiesObj && abstractModel?.properties) {\n modelPropertiesObj = {\n ...modelPropertiesObj,\n ...abstractModel.properties\n };\n } else {\n modelPropertiesObj = abstractModel?.properties;\n }\n });\n }\n }\n return modelPropertiesObj;\n };\n \n\nexport const getEntityAttributes = (catalog, entityName) => {\n console.log('catalog entityName', catalog, entityName);\n if (!catalog) {\n return [];\n }\n const catalogObjectList = catalog?.ctlg?.catalogObjectList;\n const componentsObj = catalog?.ctlg?.components;\n const entity = catalogObjectList?.find(\n (catalogObject) => catalogObject.catalogObjectName === entityName\n );\n const model = componentsObj[entityName];\n let modelPropertiesObj = getModelProperties(model, componentsObj);\n if (entity?.properties?.length) {\n entity.properties.forEach((property) => {\n let nullable = true;\n if (modelPropertiesObj) {\n const modelProperty = modelPropertiesObj[property['name']];\n if (modelProperty) {\n nullable = modelProperty.nullable || false;\n }\n }\n property['nullable'] = nullable;\n });\n }\n console.log('entity XXX', entity)\n return entity ? entity.properties : [];\n };\n \n\n\n export const UdpGridColumnDefs = (\n entityAttributes,\n // actionList,\n //columnName = 'Actions',\n // crudTableActionRenderName = 'actionsRenderer',\n // panelDirection = 'right'\n ) => {\n console.log('entityAttributes', entityAttributes)\n const childEntityAttributes = entityAttributes?.reduce((defs, element) => {\n if (element?.extendedProperties?.childEntity) {\n defs.push(element);\n }\n return defs;\n }, []);\n \n let columnDefs =\n entityAttributes?.reduce((defs, element) => {\n // if (element?.extendedProperties?.defaultVisible) {\n if (!element?.extendedProperties?.childEntity) {\n // update column header if attribute has a child entity\n const childEntity = childEntityAttributes.find(\n ea =>\n Object.keys(ea?.extendedProperties?.childEntityAssoc || {})\n .length &&\n !ea?.extendedProperties?.childEntityAssoc?.UdpType &&\n ea?.name === element?.name &&\n ea?.extendedProperties?.childEntityAssoc.Keys.find(k =>\n toLowerFirstChar(k).includes(element?.name)\n )\n );\n const columnHeaderName = element?.alias ? element?.alias : toTitleCase(\n childEntity ? childEntity?.reference : element?.name\n );\n\n const treatAsDate: boolean = element?.treatAsDate;\n \n let def = {\n ...defaultGridColumn,\n headerName: columnHeaderName,\n field: element?.name.charAt(0).toLowerCase() + element?.name.slice(1),\n //field: element?.name,\n // checkboxSelection: !defs.length && true,\n // headerCheckboxSelection: !defs.length && true,\n // Remove adding checkbox to the first column. This is now added as a single column in the grid, pinned to the left that the user cannot hide. \n checkboxSelection: false,\n headerCheckboxSelection: false,\n cellRendererParams: {\n // Remove adding checkbox to the first column. This is now added as a single column in the grid, pinned to the left that the user cannot hide. \n checkbox: false,\n },\n treatAsDate: treatAsDate\n };\n \n if (element?.extendedProperties?.searchable) {\n let filterType = 'agTextColumnFilter';\n let filterOptions = ['equals'];\n\n switch (element?.type) {\n case 'string':\n filterType = 'agTextColumnFilter';\n filterOptions = ['contains', 'equals', 'notEqual', 'startsWith'];\n break;\n case 'int':\n filterType = 'agNumberColumnFilter';\n filterOptions = [ 'equals', 'notEqual', 'greaterThan', 'greaterThanOrEqual', 'lessThan', 'lessThanOrEqual', 'inRange'];\n break;\n case 'DateTime':\n filterType = 'agDateColumnFilter';\n filterOptions = ['equals', 'notEqual', 'lessThan', 'greaterThan', 'inRange'];\n break;\n default:\n filterType = 'agTextColumnFilter';\n filterOptions = ['contains', 'equals', 'notEqual', 'startsWith'];\n break;\n }\n\n def = {\n ...def,\n filter: filterType,\n filterParams: {\n suppressAndOrCondition: true,\n numberParser: (params) => {\n return params === null ? null : params;\n },\n filterOptions: filterOptions,\n buttons: ['apply', 'clear']\n },\n enableRowGroup: true,\n } as MyType; // Add type assertion here\n }\n \n if (element?.extendedProperties?.orderable) {\n def = {\n ...def,\n sortable: true,\n };\n }\n \n defs.push(def);\n }\n // }\n return defs;\n }, []) || [];\n\n console.log('columnDefs from conversionFunctions', columnDefs)\n \n return columnDefs;\n };\n\n\n\n// Add in addition to 'name' 'parentName' - not to be confused with 'parentName currently in use'\n// use name + parentName and assign it to 'parentPath'\n// use parentPath to later set the object to set the search filter key.\n\nexport const useTreeDatasource = (\n apiCatalog,\n filter,\n searchableOnly = true,\n includeReferenceNodes = true,\n name,\n parentFilter,\n parent\n) => {\n console.log('apiCatalog', apiCatalog)\n const filteredCatalogObjects = apiCatalog.ctlg.catalogObjectList.filter(\n (obj) =>\n !(obj.catalogObjectName.includes('Page') &&\n obj.catalogObjectName.length !== 4)\n ); \n\n console.log(\n 'items sent to useTreeDatasource',\n apiCatalog,\n filter,\n searchableOnly,\n includeReferenceNodes,\n name,\n parentFilter,\n parent\n )\n\n const catalogObjectName = filter\n const catalogObject = filteredCatalogObjects.find(\n (obj) => obj.catalogObjectName === catalogObjectName\n );\n\n if (!catalogObject) {\n console.error('Catalog object not found');\n return [];\n }\n\n// const rows = catalogObject.properties.filter((obj) =>\n// (includeReferenceNodes || obj.reference == null) ||\n// (obj.extendedProperties.searchable && obj.name.includes(filter ?? '')) ||\n// (!searchableOnly && obj.name.includes(filter ?? ''))\n// ).map(obj => ({\n// ...obj,\n// extendedProperties: {\n// ...obj.extendedProperties,\n// parentFilter: filter, \n// parent: name, \n// fromFilter: parentFilter \n// }\n// }));\n\nconst rows = catalogObject.properties.filter((obj) =>\n(includeReferenceNodes || obj.reference == null) ||\n(obj.extendedProperties.searchable && obj.name.includes(filter ?? '')) ||\n(!searchableOnly && obj.name.includes(filter ?? ''))\n).map(obj => {\n// Create or update parentPath based on existing value and new parent argument\nlet parentPath = obj.extendedProperties.parentPath;\nif (parent) {\n parentPath = parentPath ? `${parentPath}.${parent}` : parent;\n}\n\nreturn {\n ...obj,\n extendedProperties: {\n ...obj.extendedProperties,\n parentFilter: filter, // Assigning the incoming filter argument to parentFilter\n parent: name, // Assigning the incoming name argument to parent\n fromFilter: parentFilter, // Assigning the incoming parentFilter argument to fromFilter\n parentPath: parentPath // Updated parentPath\n }\n};\n});\n\n\n\n\n console.log('Generated rows:', rows);\n return rows;\n};\n\n",":host {\n display: block;\n height: 100%;\n}\n\n.container {\n display: flex;\n /* height: 100%; */\n height: 100vh; \n}\n\n.left-column {\n flex: 1;\n background-color: white;\n height: 90vh;\n overflow: scroll;\n padding: 8px;\n}\n\n.right-column {\n flex: 2;\n margin-left: 16px;\n padding: 16px;\n /* padding-top: 0px; */\n}\n\n.filter-group[data-level=\"0\"] {\n padding-left: 0;\n}\n\n.filter-group[data-level=\"1\"] {\n padding-left: 20px;\n}\n\n.filter-group[data-level=\"2\"] {\n padding-left: 40px;\n}\n\n.filter-group {\n margin-top: 24px; \n border-left: 1px solid #bababa;\n}\n\n.search-input-list {\n height: 100%;\n max-height: 70vh;\n overflow: auto;\n}\n\n.recent-searches {\n min-width: 300px;\n margin-bottom: 10px;\n}","import { Component, Prop, State, Event, EventEmitter, h, Watch, forceUpdate } from '@stencil/core';\nimport { useTreeDatasource } from '../grid/conversionFunctions/conversionFunctions';\nimport { state } from '../../../../store/catalog-store';\n\n@Component({\n tag: 'advanced-search',\n styleUrl: 'advanced-search.css',\n shadow: true,\n})\nexport class AdvancedSearch {\n @Prop() filterList: any[] = [];\n @Prop() filterRenderList: any[] = [];\n @Prop() fetchFilters: Function; // Assuming this function is passed down as a prop correctly\n @Prop() handleItemClick: (item: { searchField: string, searchOperator: string, searchValue: string }) => void;\n @State() nestedData: Map<string, any[]> = new Map();\n @Prop() handleDelete: (arg0: object) => void;\n @Event() advancedSearchItemChange: EventEmitter;\n @Prop() handleValueChanged: (event: CustomEvent) => void;\n @State() searchObject: Array<any> = [];\n @State() tempNestedData: Map<string, any[]> = new Map(); \n //@Prop() parentFilter?: string; \n @State() testData: any[] = [];\n @State() showChildren: boolean = false;\n\n\n\ncomponentWillLoad() {\n console.log('this.testData', this.testData)\n}\n \n\n@Watch('filterList')\nfilterListWatcher(newValue: any[], oldValue: any[]) {\n if (newValue !== oldValue) {\n this.testData = newValue;\n console.log('filterList has changed, updated testData', this.testData);\n }\n}\n\n\n\nhandleReferenceClick = async (referenceValue: string, name: string, parentReference?: string, parentFilter?: string, parent?: string, parentPath?: string) => {\n console.log('Clicked reference:', referenceValue, 'Name:', name, 'Parent Reference:', parentReference, 'parentFilter', parentFilter, 'parent reference click test', parent, parentPath);\n\n if (state.isLoadingCatalogData || state.catalogData === null) {\n console.log('Catalog data is not ready yet.');\n return;\n }\n\n try {\n console.log('state.catalogData', state.catalogData)\n const extendedSearchFilterList = await useTreeDatasource(state.catalogData, referenceValue, true, true, name, parentFilter, parent);\n console.log('extendedSearchFilterList', extendedSearchFilterList);\n\n if (Array.isArray(extendedSearchFilterList)) {\n this.updateNestedData(extendedSearchFilterList);\n } else {\n console.error('Extended search filter list is not an array');\n }\n console.log('Updated nestedData:', Array.from(this.nestedData.entries()));\n } catch (error) {\n console.error('Error fetching filters:', error);\n }\n};\n\n\nupdateNestedData = (children) => {\n if (!Array.isArray(children) || children.length === 0) {\n console.error('Invalid or empty children data provided for updateNestedData');\n return;\n }\n\n\n console.log('children in updatedNest', children);\n const fromFilter = children[0].extendedProperties.fromFilter;\n const parentName = children[0].extendedProperties.parent;\n\n const checkForName = fromFilter;\n \n const testParentArray = useTreeDatasource(state.catalogData, checkForName, true, true, name, '', '');\n console.log('testParentArray', testParentArray);\n\n if (testParentArray) {\n testParentArray.forEach(parentItem => {\n if (parentItem.name === parentName) {\n parentItem.referenceNode = children;\n console.log('add referenceNode array', children, testParentArray);\n } else if (parentItem.reference && parentItem.referenceNode) {\n this.updateNestedDataRecursively(parentItem.referenceNode, children, parentName);\n }\n });\n }\n\n // Helper function to check if an item is already present in the array\n const isItemPresent = (array, item) => array.some(existingItem => existingItem.name === item.name);\n\n // Recursive function to update the nested data\n const updateNestedDataHelper = (array, children, parentName) => {\n return array.map(item => {\n if (item.name === parentName) {\n // Filter out children that are already present before appending\n const newChildren = children.filter(child => !isItemPresent(item.referenceNode || [], child));\n return { ...item, referenceNode: [...(item.referenceNode || []), ...newChildren] };\n } else if (item.referenceNode) {\n return { ...item, referenceNode: updateNestedDataHelper(item.referenceNode, children, parentName) };\n } else {\n return item;\n }\n });\n };\n\n // Start the recursive update and assign it to testData\n this.testData = updateNestedDataHelper(this.testData, children, parentName);\n\n console.log('Updated testData', this.testData);\n forceUpdate(this); // Not generally recommended, use as a last resort\n};\n\n\n\nupdateNestedDataRecursively = (nestedArray, children, parentName) => {\n nestedArray.forEach(item => {\n if (item.name === parentName) {\n item.referenceNode = children;\n } else if (item.referenceNode) {\n this.updateNestedDataRecursively(item.referenceNode, children, parentName);\n }\n });\n};\n\n\nprivate onTreeListItemClick = (event: CustomEvent<{ searchField: string, searchOperator: string, searchValue: string, parentName?: string, parent?: string, parentPath?: string }>) => {\n const detail = event.detail;\n \n // Function to convert string to PascalCase\n const toPascalCase = (str) => {\n return str.split('.').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('.');\n };\n\n // Check if both parentName and parentPath are present\n if (detail.parentName && detail.parentPath) {\n detail.searchField = `${detail.parentPath}.${detail.parentName}.${detail.searchField}`;\n } else if (detail.parentName) {\n // If only parentName is present, exclude parentPath\n detail.searchField = `${detail.parentName}.${detail.searchField}`;\n } else {\n // No parentName or parentPath, use searchField as is\n detail.searchField = `${detail.searchField}`;\n }\n\n // Convert searchField to PascalCase\n detail.searchField = toPascalCase(detail.searchField);\n\n this.handleItemClick(detail); // Perform the search with the modified search object\n};\n\nrender() {\n const safeTestData = Array.isArray(this.testData) ? this.testData : [];\n const safeFilterRenderList = Array.isArray(this.filterRenderList) ? this.filterRenderList : [];\n\n return (\n <div class=\"container\">\n <div class=\"left-column\">\n {!safeTestData.length && <div style={{ marginRight: '8px' }}><udp-grid-loader width=\"362px\" num-columns=\"1\" num-rows=\"20\"></udp-grid-loader></div>}\n <div>\n {safeTestData.map((filter, index) => (\n <tree-list-item\n key={`${filter.name}-${index}`}\n level={0}\n label={filter.name}\n reference={filter.reference}\n parentName=\"\"\n parentFilter={filter.extendedProperties.parentFilter}\n parentPath={'filter.extendedProperties.parentPath'}\n parent={filter.extendedProperties?.parent}\n nestedItems={filter.referenceNode}\n onReference-clicked={(event: CustomEvent<{ reference: string, name: string, parentReference?: string, parentFilter?: string, parent?: string, parentPath?: string }>) =>\n this.handleReferenceClick(event.detail.reference, event.detail.name, event.detail.parentReference, event.detail.parentFilter, event.detail.parent, event.detail.parentPath)}\n onItemClick={this.onTreeListItemClick}\n >\n </tree-list-item>\n ))}\n </div>\n </div>\n <div class=\"right-column\">\n <udp-page-header onValueChanged={this.handleValueChanged}></udp-page-header>\n <filter-conditions></filter-conditions>\n {safeFilterRenderList.map((filter) =>\n filter.filterElements.map((item, index) => (\n <search-list-item\n key={`${item.searchField}-${index}`}\n label={item.searchField}\n handleDelete={() => this.handleDelete({\"searchField\": item.searchField, \"searchValue\": item.searchValue })}\n name={item.searchValue}\n />\n ))\n )}\n </div>\n </div>\n );\n}\n}\n\n",":host {\n display: block;\n height: 100%;\n}\n\n.container {\n display: flex;\n /* height: 100%; */\n height: 100vh; \n}\n\n.left-column {\n flex: 1;\n background-color: white;\n height: 90vh;\n overflow: scroll;\n padding: 8px;\n}\n\n.right-column {\n flex: 2;\n margin-left: 16px;\n padding: 16px;\n /* padding-top: 0px; */\n}\n\n.filter-group[data-level=\"0\"] {\n padding-left: 0;\n}\n\n.filter-group[data-level=\"1\"] {\n padding-left: 20px;\n}\n\n.filter-group[data-level=\"2\"] {\n padding-left: 40px;\n}\n\n.filter-group {\n margin-top: 24px; \n border-left: 1px solid #bababa;\n}\n\n.search-input-list {\n height: 100%;\n max-height: 70vh;\n overflow: auto;\n}\n\n.recent-searches {\n min-width: 300px;\n margin-bottom: 10px;\n}","import Close24 from '@carbon/icons/es/close/24';\nimport { Component, Element, Event, EventEmitter, forceUpdate, h, Prop, State, Watch } from '@stencil/core';\nimport { v4 as uuid } from 'uuid';\nimport { state } from '../../../../store/catalog-store';\nimport { useTreeDatasource } from '../grid/conversionFunctions/conversionFunctions';\nimport { FilterGroup } from './types';\n\n@Component({\n tag: 'advanced-search-grouped',\n styleUrl: 'advanced-search.css',\n shadow: true,\n})\nexport class AdvancedSearchGrouped {\n @Prop() filterList: any[] = [];\n @Prop() filterRenderList: any[] = [];\n @Prop() fetchFilters: Function; // Assuming this function is passed down as a prop correctly\n @Prop() handleItemClick: (item: { searchField: string; searchOperator: string; searchValue: string }) => void;\n @State() nestedData: Map<string, any[]> = new Map();\n @Prop() handleDelete: (arg0: object) => void;\n @Prop() handleGroupDelete: (filterGroupId: string) => void;\n @Prop() findGroupById: (groups: FilterGroup[], id: string) => FilterGroup | null;\n\n @Event() advancedSearchItemChange: EventEmitter;\n @Prop() handleValueChanged: (event: CustomEvent) => void;\n @State() searchObject: Array<any> = [];\n @State() tempNestedData: Map<string, any[]> = new Map();\n //@Prop() parentFilter?: string;\n @State() testData: any[] = [];\n @State() showChildren: boolean = false;\n @Element() el: HTMLElement;\n @State() filterGroups: FilterGroup[] = [];\n\n @Prop() filterObjectsWithGroups: FilterGroup[] = [];\n @State() disableFilterSelection: boolean = true;\n @Prop() searchData: any;\n @Prop() updateLogicalOperator: (groupId: string, logicalOperator: 'AND' | 'OR') => void;\n\n @Prop() handleAddNewFilter: (groupId: string) => void;\n @Prop() handleAddNewGroup: (groupId: string, logicalOperator: 'AND' | 'OR') => void;\n @State() sharedId: string = '';\n\n @Event() searchItemChanged: EventEmitter;\n @Event() searchOperatorChanged: EventEmitter;\n\n @State() filters: Array<{\n id: string;\n groupId: string;\n searchField: string;\n searchOperator: string;\n searchValue: string;\n }> = [];\n\n @Prop() recentSearchesOptions: any[] = [];\n @Prop() selectRecentSearch: (e: any) => void;\n @Prop() fullClearSearch: () => void;\n @Prop() getLogicalOperatorCode: (logicalOperator: 'AND' | 'OR') => number;\n @Prop() getLogicalOperatorValue: (logicalOperator: number) => 'AND' | 'OR';\n\n componentWillLoad() {}\n\n @Watch('filterList')\n filterListWatcher(newValue: any[], oldValue: any[]) {\n if (newValue !== oldValue) {\n this.testData = newValue;\n console.log('filterList has changed, updated testData', this.testData);\n }\n }\n\n @Watch('filterObjectsWithGroups')\n filterObjectsWithGroupsChanged(newValue: FilterGroup[], oldValue: FilterGroup[]) {\n if (newValue !== oldValue) {\n console.log('filterObjectsWithGroups has been updated externally');\n // React to the change as necessary, e.g., re-initialize certain state based on the new prop value\n }\n }\n\n handleReferenceClick = async (referenceValue: string, name: string, parentReference?: string, parentFilter?: string, parent?: string, parentPath?: string) => {\n console.log(\n 'Clicked reference:',\n referenceValue,\n 'Name:',\n name,\n 'Parent Reference:',\n parentReference,\n 'parentFilter',\n parentFilter,\n 'parent reference click test',\n parent,\n parentPath,\n );\n\n if (state.isLoadingCatalogData || state.catalogData === null) {\n console.log('Catalog data is not ready yet.');\n return;\n }\n\n try {\n console.log('state.catalogData', state.catalogData);\n const extendedSearchFilterList = await useTreeDatasource(state.catalogData, referenceValue, true, true, name, parentFilter, parent);\n console.log('extendedSearchFilterList', extendedSearchFilterList);\n\n if (Array.isArray(extendedSearchFilterList)) {\n this.updateNestedData(extendedSearchFilterList);\n } else {\n console.error('Extended search filter list is not an array');\n }\n console.log('Updated nestedData:', Array.from(this.nestedData.entries()));\n } catch (error) {\n console.error('Error fetching filters:', error);\n }\n };\n\n updateNestedData = children => {\n if (!Array.isArray(children) || children.length === 0) {\n console.error('Invalid or empty children data provided for updateNestedData');\n return;\n }\n\n console.log('children in updatedNest', children);\n const fromFilter = children[0].extendedProperties.fromFilter;\n const parentName = children[0].extendedProperties.parent;\n\n const checkForName = fromFilter;\n\n const testParentArray = useTreeDatasource(state.catalogData, checkForName, true, true, name, '', '');\n console.log('testParentArray', testParentArray);\n\n if (testParentArray) {\n testParentArray.forEach(parentItem => {\n if (parentItem.name === parentName) {\n parentItem.referenceNode = children;\n console.log('add referenceNode array', children, testParentArray);\n } else if (parentItem.reference && parentItem.referenceNode) {\n this.updateNestedDataRecursively(parentItem.referenceNode, children, parentName);\n }\n });\n }\n\n // Helper function to check if an item is already present in the array\n const isItemPresent = (array, item) => array.some(existingItem => existingItem.name === item.name);\n\n // Recursive function to update the nested data\n const updateNestedDataHelper = (array, children, parentName) => {\n return array.map(item => {\n if (item.name === parentName) {\n // Filter out children that are already present before appending\n const newChildren = children.filter(child => !isItemPresent(item.referenceNode || [], child));\n return { ...item, referenceNode: [...(item.referenceNode || []), ...newChildren] };\n } else if (item.referenceNode) {\n return { ...item, referenceNode: updateNestedDataHelper(item.referenceNode, children, parentName) };\n } else {\n return item;\n }\n });\n };\n\n // Start the recursive update and assign it to testData\n this.testData = updateNestedDataHelper(this.testData, children, parentName);\n\n console.log('Updated testData', this.testData);\n forceUpdate(this); // Not generally recommended, use as a last resort\n };\n\n updateNestedDataRecursively = (nestedArray, children, parentName) => {\n nestedArray.forEach(item => {\n if (item.name === parentName) {\n item.referenceNode = children;\n } else if (item.referenceNode) {\n this.updateNestedDataRecursively(item.referenceNode, children, parentName);\n }\n });\n };\n\n private onTreeListItemClick = (\n event: CustomEvent<{ searchField: string; searchOperator: string; searchValue: string; parentName?: string; parent?: string; parentPath?: string; id?: string }>,\n ) => {\n const detail = event.detail;\n console.log('Tree list item clicked in grouped:', detail);\n // Function to convert string to PascalCase\n const toPascalCase = str => {\n return str\n .split('.')\n .map(part => part.charAt(0).toUpperCase() + part.slice(1))\n .join('.');\n };\n\n // Check if both parentName and parentPath are present\n if (detail.parentName && detail.parentPath) {\n detail.searchField = `${detail.parentPath}.${detail.parentName}.${detail.searchField}`;\n } else if (detail.parentName) {\n // If only parentName is present, exclude parentPath\n detail.searchField = `${detail.parentName}.${detail.searchField}`;\n } else {\n // No parentName or parentPath, use searchField as is\n detail.searchField = `${detail.searchField}`;\n }\n\n // Convert searchField to PascalCase\n detail.searchField = toPascalCase(detail.searchField);\n\n this.handleItemClick(detail); // Perform the search with the modified search object\n this.disableFilterSelection = true;\n };\n\n updateFilterWithUserData(uniqueId: string, userData: { searchField: string; searchOperator: string; searchValue: string }) {\n const updatedFilters = this.filters.map(filter => (filter.id === uniqueId ? { ...filter, ...userData } : filter));\n this.filters = updatedFilters; // Update the state with the modified filters array\n }\n\n updateGroupLogicalOperator(groupId: string, newLogicalOperator: 'AND' | 'OR') {\n const updateOperatorInNode = (nodes: any[], nodeId: string, newOperator: 'AND' | 'OR') => {\n for (const node of nodes) {\n if (node.id === nodeId) {\n node.logicalOperator = newOperator; // Update the operator\n return true;\n }\n if (node.children && updateOperatorInNode(node.children, nodeId, newOperator)) {\n return true; // Operator updated in a deeper level\n }\n }\n return false; // Node not found\n };\n\n // Attempt to update the operator in the node\n if (updateOperatorInNode(this.filterObjectsWithGroups, groupId, newLogicalOperator)) {\n // If the update was successful, trigger a state update\n this.filterObjectsWithGroups = [...this.filterObjectsWithGroups];\n }\n }\n\n handleSearchItemChange(event: CustomEvent) {\n const { searchOperator, searchValue, filterGroupId, id } = event.detail;\n const group = this.findGroupById(this.filterObjectsWithGroups, filterGroupId);\n\n if (group) {\n const filter = group.filters.find(f => f.id === id);\n if (filter) {\n filter.searchOperator = searchOperator;\n filter.searchValue = searchValue;\n this.filterObjectsWithGroups = [...this.filterObjectsWithGroups];\n }\n }\n\n this.searchItemChanged.emit(event.detail);\n }\n\n private handleOperatorSelected(event: CustomEvent, filterGroupId: string) {\n const selectedOptionValue = event.detail.value; // Assuming this is '1' for AND, '2' for OR\n const newLogicalOperator = this.getLogicalOperatorValue(selectedOptionValue);\n\n // Call the updateLogicalOperator prop function passed from the parent component\n this.updateLogicalOperator(filterGroupId, newLogicalOperator);\n this.searchOperatorChanged.emit();\n }\n\n currentLogicalOperator: 'AND' | 'OR' = 'AND';\n\n private renderFilterGroup(filterGroup: FilterGroup, level: number = 0) {\n const isRoot = filterGroup.id === 'root';\n const isDefault = filterGroup.id === 'default';\n const paddingStyle = { 'padding-left': `${20 * level}px` };\n\n const logicalOperator = this.getLogicalOperatorCode(filterGroup.logicalOperator).toString();\n\n const operatorSelector = (\n <udp-selector\n options={[\n { value: '1', label: 'AND' },\n { value: '2', label: 'OR' },\n ]}\n onChange={(event: CustomEvent) => this.handleOperatorSelected(event, filterGroup.filterGroupId)}\n initialValue={logicalOperator}\n disabled={isRoot || isDefault}\n />\n );\n\n const deleteGroupButton = !isRoot && !isDefault && <stencil-icon-button icon={Close24} onClick={() => this.handleGroupDelete(filterGroup.filterGroupId)} />;\n\n const filterItems = !isRoot && (\n <div class=\"search-input-list\">\n {filterGroup.filters.map((filter, index) => (\n <search-list-item\n key={`${filter.id}-${index}`}\n isDefault={isDefault}\n id={filter.id}\n filterGroupId={filter.filterGroupId}\n label={filter.searchField}\n handleDelete={() => this.handleDelete(filter)}\n name={filter.searchValue}\n operator={filter.searchOperator}\n onSearchItemChanged={event => this.handleSearchItemChange(event)}\n isInitialSearchItem={filter.isInitialFilterElement}\n />\n ))}\n </div>\n );\n\n const actionButtons = !isDefault && (\n <div style={{ display: 'flex', gap: '8px', marginTop: '8px' }}>\n {!isRoot && (\n <custom-button variant=\"outline\" onClick={() => this.addFilter(filterGroup.id, filterGroup.filterGroupId)}>\n + Field\n </custom-button>\n )}\n <custom-button variant=\"outline\" onClick={() => this.handleAddNewGroup(!isRoot ? filterGroup.id : 'root', this.currentLogicalOperator)}>\n + Group\n </custom-button>\n </div>\n );\n\n const nestedGroups = <div class=\"nested-groups\">{(filterGroup.children || []).map(childGroup => this.renderFilterGroup(childGroup, level + 1))}</div>;\n\n return (\n <div class={!isRoot && 'filter-group'} style={paddingStyle}>\n {isDefault && filterGroup.filters.length === 0 ? null : (\n <div style={{ marginBottom: '16px' }}>\n <div style={{ display: 'flex', gap: '8px' }}>\n {operatorSelector}\n {deleteGroupButton}\n </div>\n </div>\n )}\n\n {filterItems}\n {actionButtons}\n {nestedGroups}\n </div>\n );\n }\n\n private addFilter(groupId: string, filterGroupId: string) {\n console.log('Adding filter...');\n this.disableFilterSelection = false;\n if (this.handleAddNewFilter) {\n this.handleAddNewFilter(filterGroupId);\n }\n\n const newFilterPlaceholder = {\n id: uuid(),\n groupId: groupId,\n filterGroupId: filterGroupId,\n searchField: '', // Initial placeholder for the search field\n searchOperator: '=', // Default or initial placeholder for the search operator\n searchValue: '', // Initial placeholder for the search value\n };\n this.filters = [...this.filters, newFilterPlaceholder];\n }\n\n render() {\n const safeTestData = Array.isArray(this.testData) ? this.testData : [];\n //const safeFilterRenderList = Array.isArray(this.filterRenderList) ? this.filterRenderList : [];\n\n return (\n <div class=\"container\">\n <div class=\"left-column\">\n {this.selectRecentSearch !== null && this.fullClearSearch !== null && (\n <div class=\"recent-searches\">\n Recent Searches\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <udp-selector options={this.recentSearchesOptions} onChange={(e: CustomEvent) => this.selectRecentSearch(e)} style={{ marginRight: '10px' }}></udp-selector>\n <udp-function-button delete onClick={this.fullClearSearch}></udp-function-button>\n </div>\n </div>\n )}\n\n {!safeTestData.length && (\n <div style={{ marginRight: '8px' }}>\n <udp-grid-loader width=\"362px\" num-columns=\"1\" num-rows=\"20\"></udp-grid-loader>\n </div>\n )}\n <div>\n {safeTestData.map((filter, index) => (\n <tree-list-item\n add={true}\n showAdd={true}\n key={`${filter.name}-${index}`}\n level={0}\n label={filter.name}\n reference={filter.reference}\n parentName=\"\"\n parentFilter={filter.extendedProperties.parentFilter}\n parentPath={'filter.extendedProperties.parentPath'}\n parent={filter.extendedProperties?.parent}\n nestedItems={filter.referenceNode}\n onReference-clicked={(\n event: CustomEvent<{ reference: string; name: string; parentReference?: string; parentFilter?: string; parent?: string; parentPath?: string }>,\n ) =>\n this.handleReferenceClick(\n event.detail.reference,\n event.detail.name,\n event.detail.parentReference,\n event.detail.parentFilter,\n event.detail.parent,\n event.detail.parentPath,\n )\n }\n onItemClick={this.onTreeListItemClick}\n ></tree-list-item>\n ))}\n </div>\n </div>\n <div class=\"right-column\">{this.filterObjectsWithGroups.map(group => this.renderFilterGroup(group))}</div>\n {this.disableFilterSelection && (\n <div style={{ width: '411px', height: '100vh', background: 'white', position: 'absolute', zIndex: '9', top: '45px', left: 'px', opacity: '0.7' }}></div>\n )}\n </div>\n );\n }\n}\n","import { Component, h, Prop, Element } from '@stencil/core';\nimport { GridOptions } from 'ag-grid-enterprise';\n\n@Component({\n tag: 'ag-table',\n shadow: false // Changed from true to false\n})\nexport class AgTable {\n @Element() el: HTMLElement;\n @Prop() gridOptions: GridOptions;\n @Prop() licensekey: string; // Changed to lowercase to match JSX/TSX\n @Prop() height: string = 'calc(100vh - 200px)';\n\n render() {\n return (\n <div id=\"myGrid\" style={{ height: this.height, width: '100%' }} class=\"ag-theme-material\"></div>\n );\n }\n}\n",".container {\n background-color: white;\n padding: 20px;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n margin-top: 40px;\n margin-bottom: 40px;\n }\n \n .title {\n font-size: 1.2em;\n margin-bottom: 16px;\n }\n \n .title-container {\n margin-bottom: 16px;\n }","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'ambient-demo-container',\n styleUrl: 'ambient-demo-container.css',\n shadow: true,\n})\nexport class AmbientDemoContainer {\n @Prop() title: string;\n\n render() {\n return (\n <div class=\"container\">\n <div class=\"title-container\" > <unity-typography variant=\"button\"> {this.title} </unity-typography> </div>\n \n <slot></slot>\n </div>\n );\n }\n}\n ","import { ICellRenderer } from 'ag-grid-community';\n\nexport default class CustomRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private statusChip: any; // Use appropriate type\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `\n <status-chip></status-chip>\n `;\n this.statusChip = this.eGui.querySelector('status-chip');\n this.statusChip.status = params.value;\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(params: any): boolean {\n this.statusChip.status = params.value;\n return true;\n }\n}\n","import { ICellRenderer } from 'ag-grid-community';\nimport ChooseItem16 from '@carbon/icons/es/choose-item/16';\n\nexport default class CustomActionsRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private iconButton: any; // Use appropriate type\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n\n this.eGui.innerHTML = `\n <stencil-icon-button></stencil-icon-button>\n `;\n\n this.iconButton = this.eGui.querySelector('stencil-icon-button');\n \n // Assuming `icon` is the attribute or property used to set the icon\n this.iconButton.icon = ChooseItem16;\n\n this.iconButton = this.eGui.querySelector('stencil-icon-button');\n\n // Assigning the cell value to some attribute or property\n this.iconButton.cellValue = params.value;\n\n // Use the provided onClick function if it exists\n const onClick = params.onClick || function() {};\n \n // Add an onClick event listener to the button\n this.iconButton.addEventListener('click', () => onClick(params.value));\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(params: any): boolean {\n this.iconButton.cellValue = params.value;\n return true;\n }\n}\n","export enum LogicalSearchOperatorEnums {\n And = 1,\n Or = 2\n }\n \n export enum SearchGroupingType {\n Distinct = 'DISTINCT',\n Aggregate = 'AGGREGATE'\n }\n \n \n export enum SearchSortDirection {\n Asc = 'ASC',\n Desc = 'DESC'\n }\n ","import { LogicalSearchOperatorEnums, SearchGroupingType } from '../udp-grid-enums';\nimport { Search } from '../search/inquiry-search-datasource';\n\nexport const getSearchObject = (\n searchFilterElements,\n page,\n pageSize,\n eagerLoad = false,\n logicalSearchOperator = LogicalSearchOperatorEnums.And\n ) => {\n\n console.log('Incoming arguments SearchUtility', searchFilterElements);\n const searchObject: Search = {\n pageNumber: page || 1,\n pageSize: pageSize || 20,\n filterElements: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: eagerLoad,\n logicalSearchOperator: logicalSearchOperator,\n };\n \n if (searchFilterElements) {\n searchFilterElements.forEach(property => {\n const formattedPropertyName = property.searchField;\n searchObject.filterElements = searchFilterElements;\n // adds order elements\n if (property.sortDirection) {\n const orderElement = {\n sortColumn: formattedPropertyName,\n sortDirection: property.sortDirection,\n };\n searchObject.orderElements.push(orderElement);\n }\n if (property.distinct) {\n searchObject.groupingType = SearchGroupingType.Distinct;\n searchObject.groupProperty?.push(formattedPropertyName);\n }\n });\n }\n console.log('SearchUtility output', searchObject)\n return searchObject;\n };","import { SearchGroupingType, SearchSortDirection } from '../udp-grid-enums';\nimport { FilterOperators } from '../models/udp-models';\nimport { getSearchObject } from '../search/search-utilities';\nimport { getCleanData } from '../../api-udp/apiUtils';\n\nlet rowGroups = [];\n\nexport const SearchServiceDatasource = (\n queryData,\n gridUID,\n isRecentSearch,\n apiMethodId,\n hotlistEmpty,\n searchFilterElements,\n logicalSearchOperator,\n lookupApiMethodId: Promise<string> | string,\n executeQuery,\n lookupsMap: object | null | undefined,\n defaultFilterObject,\n onDataFetched,\n updateLoadingState,\n) => {\n return {\n async getRows(params, shouldForceEmptyResults = false) {\n console.log(\n 'Incoming arguments get rows',\n // queryData,\n gridUID,\n isRecentSearch,\n // apiMethodId,\n searchFilterElements,\n defaultFilterObject,\n //logicalSearchOperator,\n //accessToken, // Add accessToken as an argument\n //tenantId, // Add tenantId as an argument\n // executeQuery,\n // onDataFetched\n );\n\n if (shouldForceEmptyResults) {\n params.success({\n rowData: [],\n rowCount: 0,\n });\n onDataFetched([], 0);\n return;\n }\n\n const {\n startRow,\n endRow,\n rowGroupCols,\n groupKeys,\n // valueCols,\n filterModel,\n sortModel,\n } = params.request;\n const page = endRow / 20;\n const searchObject = getSearchObject(\n //searchFilterElements,\n [],\n page,\n null,\n false,\n logicalSearchOperator,\n );\n updateLoadingState(true);\n\n // handle server-side sorting on ag-grid\n // const data = { data: searchObject, filterObject:searchFilterElements };\n // const response = await executeQuery(data, apiMethodId, accessToken, tenantId, searchFilterElements, defaultFilterObject, logicalSearchOperator);\n // console.log('early response', response.pageList)\n\n // if (response) {\n // if (response?.pageList?.length > 0) {\n // onDataFetched(response.pageList);\n // params.success({\n // rowData: response.pageList,\n // rowCount: parseInt(response.total)\n // });\n // } else {\n // params.success([], 0);\n // }\n // }\n\n if (Array.isArray(sortModel) && sortModel.length > 0) {\n const orderElements = searchObject.orderElements || [];\n sortModel.forEach(sortItem => {\n if (sortItem && sortItem.colId) {\n const formattedPropertyName = sortItem.colId.charAt(0).toUpperCase() + sortItem.colId.slice(1);\n const element = orderElements.find(element => element.sortColumn === formattedPropertyName);\n if (element) {\n element.sortDirection = sortItem.sort.toUpperCase();\n } else {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: sortItem.sort.toUpperCase(),\n });\n }\n }\n });\n }\n\n // handle server-side filtering on ag-grid\n if (Object.keys(filterModel).length) {\n const filterElements = searchObject.filterElements || [];\n Object.keys(filterModel).forEach(key => {\n const filterItem = filterModel[key];\n const formattedPropertyName = key.charAt(0).toUpperCase() + key.slice(1);\n const element = filterElements.find(element => element.searchField === formattedPropertyName);\n if (element) {\n element.searchValue = filterItem.filter;\n element.searchOperator = FilterOperators[filterItem.type];\n } else {\n filterElements.push({\n searchField: formattedPropertyName,\n searchValue: filterItem.filter,\n searchOperator: FilterOperators[filterItem.type],\n });\n }\n });\n }\n\n // construct search for initial grouping\n if (rowGroupCols.length && !groupKeys.length) {\n const formattedPropertyName = rowGroupCols[0].field.charAt(0).toUpperCase() + rowGroupCols[0].field.slice(1);\n searchObject.groupingType = SearchGroupingType.Distinct;\n if (!searchObject.groupProperty.includes(formattedPropertyName)) {\n searchObject.groupProperty.push(formattedPropertyName);\n\n const orderElements = searchObject.orderElements || [];\n const element = orderElements.find(element => element.sortColumn === formattedPropertyName);\n if (!element) {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: SearchSortDirection.Asc,\n });\n }\n }\n }\n\n // construct the filter for grouped columns\n // Check if groupKeys is an array and has elements\n if (Array.isArray(groupKeys) && groupKeys.length > 0) {\n // Check if the length of groupKeys is equal to the length of rowGroupCols\n if (groupKeys.length === rowGroupCols.length) {\n searchObject.groupingType = '';\n const filterElements = searchObject.filterElements || [];\n groupKeys.forEach((key, index) => {\n if (rowGroupCols[index]) {\n // Ensure rowGroupCols[index] is not undefined\n const rowGroupCol = rowGroupCols[index];\n const formattedPropertyName = rowGroupCol.field.charAt(0).toUpperCase() + rowGroupCol.field.slice(1);\n const element = filterElements.find(element => element.searchField === formattedPropertyName);\n let currentNode = null;\n\n params.api.forEachNode(node => {\n const nodeKey = node.field;\n if (nodeKey?.toLowerCase() === formattedPropertyName?.toLowerCase() && node?.data?.[nodeKey] === key) {\n currentNode = node;\n return;\n }\n });\n let searchValue = key;\n if (currentNode) {\n const cleanData = getCleanData(currentNode.data, lookupsMap) || null;\n if (cleanData) {\n searchValue = cleanData[currentNode.field];\n }\n }\n\n if (element) {\n element.searchValue = searchValue;\n element.searchOperator = '=';\n } else {\n filterElements.push({\n searchField: formattedPropertyName,\n searchValue: searchValue,\n searchOperator: '=',\n });\n }\n }\n });\n } else {\n // Construct search for the next grouped element\n groupKeys.forEach((key, index) => {\n if (rowGroupCols[index]) {\n // Ensure rowGroupCols[index] is not undefined\n const formattedPropertyNameForSearch = rowGroupCols[index].field.charAt(0).toUpperCase() + rowGroupCols[index].field.slice(1);\n\n searchObject.filterElements = searchObject.filterElements || [];\n let currentNode = null;\n params.api.forEachNode(node => {\n const nodeKey = node.field;\n if (nodeKey?.toLowerCase() === formattedPropertyNameForSearch?.toLowerCase() && node?.data?.[nodeKey] === key) {\n currentNode = node;\n return;\n }\n });\n let searchValue = key;\n if (currentNode) {\n const cleanData = getCleanData(currentNode.data, lookupsMap) || null;\n if (cleanData) {\n searchValue = cleanData[currentNode.field];\n }\n }\n\n searchObject.filterElements.push({\n searchField: formattedPropertyNameForSearch,\n searchValue: searchValue,\n searchOperator: '=',\n });\n }\n });\n\n searchObject.groupingType = SearchGroupingType.Distinct;\n if (groupKeys.length < rowGroupCols.length) {\n const rowGroupCol = rowGroupCols[groupKeys.length];\n if (rowGroupCol) {\n // Ensure rowGroupCol is not undefined\n const formattedPropertyName = rowGroupCol.field.charAt(0).toUpperCase() + rowGroupCol.field.slice(1);\n\n searchObject.groupProperty = searchObject.groupProperty || [];\n if (!searchObject.groupProperty.includes(formattedPropertyName)) {\n searchObject.groupProperty.push(formattedPropertyName);\n\n const orderElements = searchObject.orderElements || [];\n const element = orderElements.find(element => element.sortColumn === formattedPropertyName);\n if (!element) {\n orderElements.push({\n sortColumn: formattedPropertyName,\n sortDirection: SearchSortDirection.Asc,\n });\n }\n }\n }\n }\n }\n }\n\n if (!startRow && rowGroupCols.length === 0 && !sortModel.length && !Object.keys(filterModel).length && !groupKeys.length && queryData) {\n if (queryData.pageList && queryData.pageList) {\n params.successCallback(queryData.pageList, queryData.total);\n } else {\n // TODO: add an overlay to display no rows\n params.successCallback([], 0);\n }\n } else {\n let response = null;\n if (executeQuery) {\n function deepCopy(obj) {\n return JSON.parse(JSON.stringify(obj));\n }\n\n function mergeArrays(searchFilterElements, searchObject) {\n return searchFilterElements.map(element => {\n let newElement = deepCopy(element);\n for (const key in searchObject) {\n if (Array.isArray(newElement[key]) && newElement[key].length === 0 && searchObject[key].length > 0) {\n newElement[key] = deepCopy(searchObject[key]);\n } else if (!Array.isArray(newElement[key]) && searchObject.hasOwnProperty(key)) {\n newElement[key] = searchObject[key];\n } else if (key === 'filterElements' && searchObject[key].length > 0 && newElement[key].length > 0 && rowGroupCols.length > 0) {\n //If columnFiltering and grouping rows are present, then we need to merge the filter elements\n const filteredElements = searchObject[key].filter(element => element.searchOperator === '=');\n newElement[key] = newElement[key].concat(filteredElements);\n }\n }\n return newElement;\n });\n }\n rowGroups = rowGroupCols.map(group => group.field);\n const updatedSearchFilterElements = mergeArrays(searchFilterElements, searchObject);\n\n function saveSearch() {\n // Ignore if empty search\n if (updatedSearchFilterElements[0].filterElements.length == 0) {\n return;\n }\n\n // Define the new search\n var newSearchObj = updatedSearchFilterElements[0];\n\n // Add Timestamp\n const currentTimeStamp: number = Date.now();\n const formattedTimeStamp: string = new Date(currentTimeStamp).toLocaleString();\n\n // Get list of all search histories for all grids, we'll be replacing this entirely in localstorage\n var recentSearches = localStorage.getItem('recentSearches') ? JSON.parse(localStorage.getItem('recentSearches')) : [];\n\n // Get search history specific to current grid\n // Find current grid\n var currentGridSearchHistoryObj = recentSearches.find(item => item.gridUID === (gridUID || 'default_gridUID'));\n if (currentGridSearchHistoryObj) {\n // Update the searchHistory property of the found object\n currentGridSearchHistoryObj.searchHistory.unshift({ timestamp: formattedTimeStamp, searchObj: newSearchObj });\n // Limit length to 10\n if (currentGridSearchHistoryObj.searchHistory.length > 10) {\n currentGridSearchHistoryObj.searchHistory = currentGridSearchHistoryObj.searchHistory.slice(0, 10);\n }\n } else {\n // If the gridUID is not found, create a new object\n recentSearches.push({ gridUID: gridUID, searchHistory: [{ timestamp: formattedTimeStamp, searchObj: newSearchObj }] });\n }\n // Store the updated array back into localStorage\n localStorage.setItem('recentSearches', JSON.stringify(recentSearches));\n }\n if (isRecentSearch == false) {\n saveSearch();\n } else isRecentSearch = false;\n\n // const data = { data: searchObject, filterObject:searchFilterElements };\n //response = await executeQuery(data, apiMethodId);\n // Pass accessToken and tenantId to executeQueryAdHoc\n response = await executeQuery(updatedSearchFilterElements, defaultFilterObject, logicalSearchOperator, apiMethodId, lookupsMap, false, {\n lookupApiMethodId,\n prefetch: params.request.prefetch ?? false,\n }).catch(e => console.error(e.message));\n }\n //const rowData = response?.data;\n const rowData = response;\n\n if (hotlistEmpty) {\n rowData.pageList = [];\n rowData.total = 0;\n }\n\n console.log('early response', rowData?.pageList);\n console.log('filter object from SearchServiceDatasource', searchFilterElements[0].filterElements);\n\n function toCamelCase(str) {\n // Check if 'str' is a string\n if (typeof str === 'string') {\n return str.charAt(0).toLowerCase() + str.slice(1);\n } else {\n // Handle the case where 'str' is not a string\n return str;\n }\n }\n\n function rankData(rowData, filterObjects) {\n // If this is true then row grouping has been enabled and we need to hide values when row is collasped\n //by setting them to null\n if (searchObject.groupProperty.length > 0 && searchObject.groupProperty) {\n const groupProps = searchObject.groupProperty.map(prop => prop.toLowerCase());\n rowData.forEach(row => {\n // Loop through each property in the row\n for (let prop in row) {\n // Check if the property is not in the groupProperties since properties in groupProperties should not be NULL\n // but rather have its column hidden which is done in ambient-template-grid.tsx\n if (!groupProps.includes(prop.toLowerCase())) {\n // Set the property to null\n row[prop] = null;\n }\n }\n });\n }\n\n console.log('rankData, rd', rowData);\n console.log('rankData filterObjects', filterObjects);\n return rowData?.map(row => {\n let searchRank = 10;\n\n filterObjects.forEach(filter => {\n const fieldName = toCamelCase(filter.searchField);\n\n // Check if the field exists in the row\n if (row.hasOwnProperty(fieldName)) {\n console.log('pass this test? ', row.hasOwnProperty(fieldName));\n // Check if the field is a string and compare with lowercase, else compare directly\n if (typeof row[fieldName] === 'string') {\n console.log('pass test 2', typeof row[fieldName] === 'string');\n if (row[fieldName].toLowerCase() === filter.searchValue.toLowerCase()) {\n console.log('pass test 3', row[fieldName].toLowerCase() === filter.searchValue.toLowerCase());\n searchRank += 10;\n }\n } else if (row[fieldName] === filter.searchValue) {\n searchRank += 10;\n }\n }\n });\n\n return { ...row, searchRank };\n });\n }\n\n const rowDataRanked = rankData(rowData?.pageList, searchFilterElements[0].filterElements);\n\n console.log('rowDataRanked', rowDataRanked);\n\n //const rowDataRankedSorted = rowDataRanked.sort((a, b) => b.searchRank - a.searchRank);\n\n // if (rowData) {\n // if (rowData?.pageList?.length > 0) {\n // onDataFetched(rowDataRankedSorted);\n // params.success({\n // rowData: rowDataRankedSorted,\n // rowCount: parseInt(rowData.total)\n // });\n // } else {\n // params.success([], 0);\n // }\n // }\n\n if (!rowData || rowData.pageList.length === 0) {\n // When there are no records, ensure the format aligns with AG-Grid's expectations:\n console.log('No data to display.');\n const event = new CustomEvent('noDataDetected', { detail: {} });\n document.dispatchEvent(event);\n params.success({\n // Make sure to pass an object with rowData and rowCount\n rowData: [],\n rowCount: 0,\n });\n onDataFetched([], 0); // Indicating no data\n } else {\n // Handle the normal case with data\n const rowDataRanked = rankData(rowData.pageList, searchFilterElements[0].filterElements);\n const rowDataRankedSorted = rowDataRanked.sort((a, b) => b.searchRank - a.searchRank);\n onDataFetched(rowDataRankedSorted, parseInt(rowData.total));\n params.success({\n rowData: rowDataRankedSorted,\n rowCount: parseInt(rowData.total),\n });\n console.log('Data processed and sent to grid.');\n }\n }\n },\n };\n};\n\nexport { rowGroups };\n","import { ICellRenderer } from 'ag-grid-community';\n//import { SharedContext } from './sharedContext'; // Ensure the path is correct\n\nexport default class EmailCellRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n //private otherCellValue: any;\n private clickListener: () => void;\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n\n // Set the cell's content with the arrow character appended\n this.eGui.innerHTML = `${params.value} <span style=\"padding-left: 5px; color: blue \">🡕</span>`;\n\n // Style the cell\n this.applyStyles();\n\n // Retrieve the value from another cell in the same row (update 'otherField' accordingly)\n //this.otherCellValue = params.data.contactID;\n\n // Create a click listener that calls the shared callback with the other cell's value\n //this.clickListener = () => SharedContext.myClickCallback(this.otherCellValue);\n\n // Add the click event listener to the cell\n this.eGui.addEventListener('click', this.clickListener);\n }\n\n private applyStyles(): void {\n // Apply your desired styling here\n this.eGui.style.backgroundColor = '#f0f0f0'; // Light grey background\n this.eGui.style.borderRadius = '50px'; // Rounded corners\n this.eGui.style.paddingLeft = '8px'; // Some padding\n this.eGui.style.paddingRight = '8px'; // Some padding\n this.eGui.style.textAlign = 'center'; // Center the text\n this.eGui.style.margin = '2px 0'; // Add a bit of margin for spacing\n this.eGui.style.lineHeight = '26px'; // Add a bit of margin for spacing\n this.eGui.style.cursor = 'pointer'; \n \n // Apply styles to the arrow\n const arrowStyle = document.createElement('style');\n arrowStyle.innerHTML = `\n .arrow {\n display: inline-block;\n \n }\n `;\n document.head.appendChild(arrowStyle);\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(params: any): boolean {\n // Update the content (with arrow) and other cell value when data changes\n this.eGui.innerHTML = `${params.value} <span style=\"padding-left: 6px; \">⇡</span>`;\n //this.otherCellValue = params.data.contactID;\n return true; // Return true to indicate the refresh happened\n }\n\n public destroy(): void {\n // Cleanup: remove the click event listener\n if (this.eGui && this.clickListener) {\n this.eGui.removeEventListener('click', this.clickListener);\n }\n }\n}\n","export const SharedContext = {\n myClickCallback: (otherCellValue, callbackId) => { \n console.log('In callback',otherCellValue, callbackId)\n },\n viewActionCallback: (otherCellValue, callbackId) => { \n console.log('In callback',otherCellValue, callbackId)\n },\n thirdActionCallback: (otherCellValue, callbackId) => { \n console.log('In callback',otherCellValue, callbackId)\n },\n hotListAddHandler: null, // New handler specifically for HotListAddRenderer\n \n};\n\n ","import { ICellRenderer } from 'ag-grid-community';\nimport { SharedContext } from './sharedContext'; // Ensure the path is correct\n\nexport default class OpenFunctionCellRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private otherCellValue: any;\n private otherField: string;\n private callbackId: string;\n \n public init(params: any): void {\n console.log('Renderer params:', params);\n \n this.eGui = document.createElement('div');\n\n // Check if we're in a group and if the specific field is available\n if(params.node.group) {\n // Possibly display something different for group rows or nothing at all\n if(params.value) {\n this.eGui.innerHTML = `${params.value} <span style=\"padding-left: 5px; color: blue;\">🡕</span>`;\n }else {\n this.eGui.style.display = 'none';\n }\n\n } else {\n // Normal row rendering\n if(params.value) {\n this.eGui.innerHTML = `${params.value} <span style=\"padding-left: 5px; color: blue;\">🡕</span>`;\n }\n }\n \n this.applyStyles();\n\n // Only proceed if not a group row\n if(!params.node.group) {\n this.otherField = params.colDef.cellRendererParams.otherField;\n this.otherCellValue = params.data[this.otherField];\n this.callbackId = params.colDef.cellRendererParams.callbackId;\n\n this.eGui.addEventListener('click', () => {\n console.log('Click event triggered');\n if (typeof SharedContext.myClickCallback === 'function') {\n console.log('Executing shared callback');\n SharedContext.myClickCallback(this.otherCellValue, this.callbackId);\n } else {\n console.log('Dispatching custom event');\n const customEvent = new CustomEvent('cellClick', {\n detail: { cellValue: this.otherCellValue, callbackId: this.callbackId },\n bubbles: true,\n composed: true\n });\n this.eGui.dispatchEvent(customEvent);\n }\n });\n }\n } \n\n private applyStyles(): void {\n this.eGui.style.backgroundColor = '#f0f0f0';\n this.eGui.style.borderRadius = '50px';\n this.eGui.style.paddingLeft = '8px';\n this.eGui.style.paddingRight = '8px';\n this.eGui.style.textAlign = 'center';\n this.eGui.style.margin = '2px 0';\n this.eGui.style.lineHeight = '26px';\n this.eGui.style.cursor = 'pointer';\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(params: any): boolean {\n // Make sure the renderer updates correctly for grouped/non-grouped rows\n if(!params.node.group && params.value) {\n this.eGui.innerHTML = `${params.value} <span style=\"padding-left: 5px; color: blue;\">🡕</span>`;\n this.otherCellValue = params.data[this.otherField];\n }\n return true;\n }\n\n public destroy(): void {\n // Cleanup if necessary\n }\n}","import { ICellRenderer } from 'ag-grid-community';\nimport { SharedContext } from './sharedContext';\nimport { state } from '../../../../../store/catalog-store';\n\nexport default class HotListAddRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private otherCellValue: any;\n private callbackId: string;\n private viewActionElement: HTMLButtonElement;\n private thirdActionElement: HTMLButtonElement;\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n this.otherCellValue = params.data;\n this.callbackId = params.colDef.cellRendererParams.callbackId;\n\n this.viewActionElement = document.createElement('button');\n this.viewActionElement.textContent = '⋯';\n this.viewActionElement.addEventListener('click', this.onViewActionClick.bind(this));\n \n\n this.thirdActionElement = document.createElement('button');\n this.thirdActionElement.textContent = 'Third Action'; // Example text\n this.thirdActionElement.addEventListener('click', this.onThirdActionClick.bind(this));\n\n // Update display based on hotListActive\n this.updateDisplay(params);\n\n // Append second action button if enabled\n if (params.colDef.cellRendererParams.showViewAction) {\n this.eGui.appendChild(this.viewActionElement);\n }\n if( params.node.group && !params.value){\n this.eGui.style.display = 'none';\n }\n\n this.eGui.addEventListener('click', () => {\n if (SharedContext.hotListAddHandler && params.colDef.cellRendererParams.showThirdAction) {\n SharedContext.hotListAddHandler(this.otherCellValue, this.callbackId);\n } else if (typeof SharedContext.myClickCallback === 'function') {\n SharedContext.myClickCallback(this.otherCellValue, this.callbackId);\n } else {\n const customEvent = new CustomEvent('cellClick', {\n detail: { cellValue: this.otherCellValue, callbackId: this.callbackId },\n bubbles: true,\n composed: true\n });\n this.eGui.dispatchEvent(customEvent);\n }\n });\n \n \n\n this.applyStyles(params);\n }\n\n private onViewActionClick(event: MouseEvent): void {\n event.stopPropagation();\n\n if (typeof SharedContext.viewActionCallback === 'function') {\n SharedContext.viewActionCallback(this.otherCellValue, this.callbackId);\n } else {\n const customEvent = new CustomEvent('viewActionClick', {\n detail: { cellValue: this.otherCellValue, callbackId: this.callbackId },\n bubbles: true,\n composed: true\n });\n this.eGui.dispatchEvent(customEvent);\n }\n }\n\n private onThirdActionClick(event: MouseEvent): void {\n event.stopPropagation();\n\n if (typeof SharedContext.thirdActionCallback === 'function') {\n SharedContext.thirdActionCallback(this.otherCellValue, this.callbackId);\n } else {\n const customEvent = new CustomEvent('thirdActionClick', {\n detail: { cellValue: this.otherCellValue, callbackId: this.callbackId },\n bubbles: true,\n composed: true\n });\n this.eGui.dispatchEvent(customEvent);\n }\n }\n\n // private updateDisplay(params: any): void {\n // console.log(params);\n // const hotListActive = state.hotListActive || '';\n\n // if (params.colDef.cellRendererParams.showThirdAction) {\n // const symbol = hotListActive !== '' ? '-' : '+';\n // const color = hotListActive !== '' ? '#dfd3ff' : '#f0f0f0';\n // this.eGui.innerHTML = `✱ <span style=\"padding-left: 5px; color: blue;\">${symbol}</span>`;\n // this.eGui.style.backgroundColor = color;\n // this.eGui.title = 'Hotlist';\n // this.thirdActionElement.disabled = !params.colDef.cellRendererParams.showThirdAction;\n // }\n // }\n\n// private updateDisplay(params: any): void {\n// console.log(params);\n// const hotListActive = state.hotListActive || '';\n\n\n// // This assumes that you're managing the visibility and interaction of both the symbol and the third action button\n// if (params.colDef.cellRendererParams.showThirdAction) {\n// // Update symbol container if necessary\n// const symbol = hotListActive !== '' ? '-' : '+';\n// const color = hotListActive !== '' ? 'green' : 'pink';\n// this.eGui.innerHTML = `✱ <span style=\"padding-left: 5px; color: grey;\">${symbol}</span>`;\n \n// this.eGui.style.backgroundColor = color;\n// this.eGui.title = 'Hotlist';\n\n// // Ensure third action element is ready for interaction\n// this.thirdActionElement.style.display = ''; // Ensure button is visible\n// this.thirdActionElement.disabled = false; // Ensure button is interactive\n// this.thirdActionElement.style.display = 'none'; // Hide the button\n// this.thirdActionElement.disabled = true; // Disable the button\n\n// // Optionally clear any innerHTML manipulation if it affects interaction\n// this.eGui.innerHTML = '';\n// } else {\n// // Hide and disable third action element when not needed\n// this.thirdActionElement.style.display = 'none'; // Hide the button\n// this.thirdActionElement.disabled = true; // Disable the button\n\n// // Optionally clear any innerHTML manipulation if it affects interaction\n// this.eGui.innerHTML = ''; // Remove other interactive elements or symbols\n// this.eGui.appendChild(this.viewActionElement); // Make sure to re-append view action element to maintain it in the DOM\n// }\n\n// // Ensure view action element is always interactive regardless of other conditions\n// this.viewActionElement.style.display = '';\n// this.viewActionElement.disabled = false;\n// }\n\nprivate updateDisplay(params: any): void {\n console.log(params);\n const hotListActive = state.hotListActive || '';\n\n \n\n // Conditionally add or remove the styled span based on `showThirdAction`\n if (params.colDef.cellRendererParams.showThirdAction) {\n // Determine the background color and symbol based on `hotListActive`\n const color = hotListActive !== '' ? 'rgb(224, 224, 224)' : 'rgb(201, 239, 224)';\n const symbol = hotListActive !== '' ? '-' : '+';\n\n // Set the title and background color of the entire GUI element\n this.eGui.title = 'Hotlist';\n this.eGui.style.backgroundColor = color;\n const specialContent = `✱ <span style=\"padding-left: 5px; color: grey;\">${symbol}</span>`;\n // Try to access the existing special content element if it exists\n let existingSpan = this.eGui.querySelector('span');\n if (!existingSpan) {\n // If it doesn't exist, use insertAdjacentHTML to add without overwriting\n this.eGui.insertAdjacentHTML('afterbegin', specialContent);\n }\n } else {\n // If `showThirdAction` is false, remove the span if it exists\n let existingSpan = this.eGui.querySelector('span');\n if (existingSpan) {\n existingSpan.remove(); // Remove the styled span\n }\n }\n\n // Control visibility and interaction of the third action button\n this.thirdActionElement.style.display = params.colDef.cellRendererParams.showThirdAction ? '' : 'none';\n this.thirdActionElement.disabled = !params.colDef.cellRendererParams.showThirdAction;\n\n // Ensure the view action element is maintained and always interactive\n if (!this.eGui.contains(this.viewActionElement)) {\n this.eGui.appendChild(this.viewActionElement);\n }\n this.viewActionElement.style.display = '';\n this.viewActionElement.disabled = false;\n}\n\n \n\n private applyStyles(params): void {\n \n this.eGui.style.borderRadius = '50px';\n this.eGui.style.paddingLeft = '8px';\n this.eGui.style.paddingRight = '8px';\n this.eGui.style.textAlign = 'center';\n this.eGui.style.margin = '2px 0';\n this.eGui.style.lineHeight = '26px';\n this.eGui.style.cursor = params.colDef.cellRendererParams.showThirdAction && 'pointer';\n this.eGui.style.width = '30px';\n\n // Additional styles for viewActionElement\n this.viewActionElement.style.backgroundColor = 'rgb(224, 224, 224)'; // light grey background\n this.viewActionElement.style.color = '#000'; // text color\n this.viewActionElement.style.border = 'none';\n this.viewActionElement.style.borderRadius = '15px'; // rounded corners\n this.viewActionElement.style.padding = '5px 10px'; // padding inside the button\n this.viewActionElement.style.margin = '2px';\n this.viewActionElement.style.cursor = 'pointer';\n this.viewActionElement.style.fontSize = '14px'; // font size\n this.viewActionElement.style.marginLeft = params.colDef.cellRendererParams.showThirdAction ? '16px' : '0px';\n this.viewActionElement.style.transform = params.colDef.cellRendererParams.showThirdAction ? 'none' : 'translateX(-10px)';\n this.viewActionElement.title = 'View More';\n this.thirdActionElement.title = 'Third Action';\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(params: any): boolean {\n this.updateDisplay(params);\n return true;\n }\n\n public destroy(): void {\n // Cleanup if necessary\n }\n}\n","import { ICellRenderer } from 'ag-grid-community';\nimport { SharedContext } from './sharedContext'; // Ensure the path is correct\n\nexport default class HoverContentCellRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private hoverInfo: string;\n private tooltipField: string;\n\n public init(params: any): void {\n console.log('Renderer params:', params);\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = params.value;\n this.applyStyles();\n\n \n if (params.colDef.tooltipField) {\n const columnDefs = params.api.getColumnDefs();\n const columnDefToModify = columnDefs.find(col => col.colId === params.colDef.field);\n const updatedColDef = {\n ...columnDefToModify,\n tooltipField: \"\"\n };\n params.api.setColumnDefs(columnDefs.map(col =>\n col.field === params.colDef.field ? updatedColDef : col\n ));\n }\n\n this.tooltipField = params.colDef.cellRendererParams.otherField || 'defaultTooltipField';\n this.hoverInfo = params.data[this.tooltipField];\n this.createTooltip();\n\n this.eGui.addEventListener('mouseover', this.handleMouseOver);\n this.eGui.addEventListener('mouseout', this.hideTooltip);\n }\n\n private applyStyles(): void {\n (this.eGui as HTMLElement).style.cursor = 'help'; // Change as needed\n // Add more styles as needed\n }\n\n private createTooltip(): void {\n const tooltip = document.createElement('span');\n tooltip.innerText = this.hoverInfo;\n tooltip.style.visibility = 'hidden';\n tooltip.style.position = 'absolute';\n tooltip.style.zIndex = '999';\n tooltip.style.backgroundColor = 'white';\n tooltip.style.border = '1px solid grey';\n tooltip.style.padding = '5px';\n tooltip.style.boxShadow = '0px 4px 8px rgba(0, 0, 0, 0.1)'; \n tooltip.classList.add('cell-tooltip');\n this.eGui.appendChild(tooltip);\n }\n\n private handleMouseOver = () => {\n const tooltip = this.eGui.querySelector('.cell-tooltip') as HTMLElement;\n tooltip.style.visibility = 'visible';\n\n // Using SharedContext's myClickCallback\n SharedContext.myClickCallback(this.hoverInfo, 'someCallbackId');\n };\n\n private hideTooltip = () => {\n const tooltip = this.eGui.querySelector('.cell-tooltip') as HTMLElement;\n tooltip.style.visibility = 'hidden';\n };\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(params: any): boolean {\n this.eGui.innerHTML = params.value;\n this.hoverInfo = params.data[this.tooltipField];\n // Update tooltip text if necessary\n return true;\n }\n\n public destroy(): void {\n // Cleanup if necessary\n }\n}\n","export const LicenseKey =\n'Using_this_{AG_Grid}_Enterprise_key_{AG-060880}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2025}____[v3]_[01]_MTc1MTA2NTIwMDAwMA==17ac166e7bb5dcca7f3eaa21c79da63b'\n","export function buildSearchPayload(filterObjectsWithGroups) {\n let currentGroupId = 0;\n console.log('filterObjectsWithGroups', filterObjectsWithGroups);\n // Converts the search operator to its symbolic form\n const convertSearchOperator = (operator) => {\n switch (operator) {\n case 'equals':\n return '=';\n case '<>':\n return '<>'; // Assuming this is already the symbolic form\n case '=': // Added to handle cases where the operator might already be in symbolic form\n return '=';\n // Add more cases as needed\n default:\n return operator; // Default case returns the operator as is\n }\n };\n \n // Converts the logical operator to its numeric form\n const convertLogicalOperator = (logicalOperator) => {\n return logicalOperator === 'AND' ? 1 : 2; // Assuming only AND/OR are used\n };\n \n const filterElements = [];\n const filterGroups = [];\n \n const traverse = (filterObject, parentId = null) => {\n currentGroupId++;\n const groupId = currentGroupId;\n \n filterGroups.push({\n groupId,\n logicalSearchOperator: convertLogicalOperator(filterObject.logicalOperator),\n parentGroupId: parentId,\n });\n \n filterObject.filters.forEach(filter => {\n filterElements.push({\n searchField: filter.searchField,\n searchOperator: convertSearchOperator(filter.searchOperator),\n searchValue: filter.searchValue, // Ensure this is correctly accessing the searchValue\n groupId,\n });\n });\n \n filterObject.children?.forEach(child => {\n traverse(child, groupId);\n });\n };\n \n filterObjectsWithGroups.forEach(filterObject => traverse(filterObject));\n \n return {\n pageNumber: 1,\n pageSize: 20,\n filterElements,\n orderElements: [],\n groupingType: \"\",\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: filterGroups.length > 0 ? filterGroups[0].logicalSearchOperator : 1, // Default to 1 if no groups\n type: \"advanced\",\n filterGroups,\n };\n }\n \n\n ","import { ICellRenderer } from 'ag-grid-community';\n\nexport default class DateTimeCellRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private formatMode: 'exact' | 'relative' | 'exact-with-time' = 'exact'; // Default to 'relative'\n private locale: 'UK' | 'US' = 'UK'; // Default locale\n\n public init(params: any): void {\n console.log('Renderer init called.'); // Check if init is called\n this.eGui = document.createElement('div');\n this.formatMode = params.formatMode || this.formatMode;\n this.locale = params.locale || this.locale;\n\n // If we are grouping by row and value is null we want to hide the cell\n if (params.node.group && !params.value) {\n this.eGui.style.display = 'none';\n } else {\n const formattedDate = this.formatDate(params.value);\n this.eGui.innerHTML = `${formattedDate}`;\n }\n this.applyStyles();\n }\n\n private formatDate(dateString: string): string {\n console.log('formatDate called with:', dateString); // Log when formatDate is called\n if (!dateString) {\n return '';\n }\n\n const date = new Date(dateString);\n if (this.formatMode === 'exact-with-time') {\n return this.formatExactDate(date, true);\n }\n\n return this.formatExactDate(date);\n }\n\n private formatExactDate(date: Date, includeTime: boolean = false): string {\n const day = date.getDate().toString().padStart(2, '0');\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const year = date.getFullYear().toString();\n\n let formatted = this.locale === 'UK' ? `${day}/${month}/${year}` : `${month}/${day}/${year}`;\n\n if (includeTime) {\n const hours = date.getHours();\n const minutes = date.getMinutes().toString().padStart(2, '0');\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const hour12 = (hours % 12 || 12).toString().padStart(2, '0');\n const time = `${hour12}:${minutes}${ampm}`;\n\n formatted += ` ${time}`;\n }\n\n console.log(`Formatting date${includeTime ? '/time' : ''} for locale: ${this.locale}`);\n return formatted;\n }\n\n public refresh(params: any): boolean {\n console.log('Renderer refresh called.'); // Check if refresh is called\n if (params.formatMode && params.formatMode !== this.formatMode) {\n this.formatMode = params.formatMode;\n }\n if (params.locale && params.locale !== this.locale) {\n this.locale = params.locale;\n }\n const formattedDate = this.formatDate(params.value);\n this.eGui.innerHTML = `${formattedDate}`;\n return true;\n }\n\n private applyStyles(): void {\n // this.eGui.style.padding = '8px';\n this.eGui.style.textAlign = 'left';\n this.eGui.style.cursor = 'default';\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public destroy(): void {\n // Optionally, clean up any added listeners, etc.\n }\n}\n","import { ICellRenderer } from 'ag-grid-community';\nimport { ActionItem } from '../ambient-template-grid/interfaces/gridInterfaces';\nimport { getIconFromName } from '../../data-display/icons/iconUtils';\n\nexport default class ActionsRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private actionList: ActionItem[] = [];\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n this.eGui.style.cssText = `display: flex;\n width: 100%;\n gap: 4px;\n justify-content: center;\n `;\n\n if (params?.hideActions && params?.hideActions(params?.node)) {\n return;\n }\n\n this.actionList = params?.actionList;\n this.actionList?.forEach(action => {\n const disabledAction = action?.checkDisabled ? action?.checkDisabled(params?.node) : action?.disabled ?? false;\n const actionTitle = action?.getTitle ? action?.getTitle(params?.node) : action?.title;\n const actionButton = document.createElement('stencil-icon-button');\n\n actionButton.buttonId = action?.id.toString();\n actionButton.icon = getIconFromName(action?.iconName);\n actionButton.tooltip = actionTitle;\n actionButton.disabled = disabledAction;\n actionButton.onClick = e => {\n action?.handleOnClick(e, params?.node);\n };\n\n this.eGui.appendChild(actionButton);\n });\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(): boolean {\n return true;\n }\n}\n","import { ICellRenderer } from 'ag-grid-community';\n\nexport default class StatusRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private statusMappingClasses: { [key: string]: string } = {\n error: 'error',\n warning: 'warning',\n success: 'success',\n info: 'info',\n };\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n\n if (params?.statusMappingConfig) {\n this.statusMappingClasses = params?.statusMappingConfig;\n }\n const statusChip = document.createElement('status-chip');\n const currentValue = params?.getStatusValue ? params?.getStatusValue(params?.node?.data) : params.value;\n \n statusChip.statusValue = currentValue;\n statusChip.statusClasses = this.statusMappingClasses;\n statusChip.dense = true;\n statusChip.innerHTML = currentValue;\n this.eGui.appendChild(statusChip);\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(): boolean {\n return true;\n }\n}\n","import { ICellRenderer } from 'ag-grid-community';\n\nexport default class IconRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n private iconMappingConfig: { [key: string]: { label: string; iconName: string; iconType: string } } = {};\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n this.eGui.style.cssText = `display: flex;\n width: 100%;\n height: 100%;\n gap: 8px;\n justify-content: center;\n align-items: center;\n height: 32px;\n `;\n if (params?.iconMappingConfig) {\n this.iconMappingConfig = params?.iconMappingConfig;\n }\n const icon = document.createElement('udp-icon');\n\n icon.iconType = this.iconMappingConfig[params.value]?.iconType;\n icon.iconName = this.iconMappingConfig[params.value]?.iconName;\n this.eGui.appendChild(icon);\n\n if (this.iconMappingConfig[params.value]?.label) {\n const text = document.createElement('p');\n text.innerHTML = this.iconMappingConfig[params.value]?.label;\n text.style.cssText = 'margin: 0px';\n this.eGui.appendChild(text);\n } \n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(): boolean {\n return true;\n }\n}\n","export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function fortmatCurrency(\n value: number | undefined | null,\n currency: string = 'USD',\n locales: string = 'en-US',\n minimumFractionDigits: number = 2,\n maximumFractionDigits: number = 3,\n) {\n const valueOrNull = value ?? null;\n\n return !!valueOrNull\n ? new Intl.NumberFormat(locales, {\n style: 'currency',\n currency: currency,\n minimumFractionDigits: minimumFractionDigits,\n maximumFractionDigits: maximumFractionDigits,\n }).format(valueOrNull)\n : '';\n}\n","import { ICellRenderer } from 'ag-grid-community';\nimport { fortmatCurrency } from 'src/utils/utils';\n\nexport default class CurrencyRenderer implements ICellRenderer {\n private eGui: HTMLElement;\n\n public init(params: any): void {\n this.eGui = document.createElement('div');\n const formattedCurrency = fortmatCurrency(params?.value, params?.currency, params?.locales, params?.minimumFractionDigits, params?.maximumFractionDigits);\n this.eGui.innerHTML = formattedCurrency;\n }\n\n public getGui(): HTMLElement {\n return this.eGui;\n }\n\n public refresh(): boolean {\n return true;\n }\n}\n","@import '~ag-grid-enterprise/styles/ag-grid.css';\n@import '~ag-grid-enterprise/styles/ag-theme-material.css';\n\n.ag-virtual-list-viewport {\n background-color: rgb(214, 218, 223) !important;\n}\n\n.ag-column-panel {\n background-color: rgb(214, 218, 223) !important;\n}\n\n.ag-checkbox-input-wrapper.ag-checked::after {\n color: var(--primary-color);\n}\n\n.ag-header-cell,\n.ag-header-group-cell {\n background: var(--primary-color);\n color: rgb(214, 218, 223);\n}\n\n.ag-filter-toolpanel {\n background-color: rgb(214, 218, 223) !important;\n}\n\n.ag-row {\n border-bottom: 1px solid #ccc;\n}\n\n.ag-body-horizontal-scroll-viewport {\n overflow-x: hidden;\n}\n\n.ag-center-cols-viewport {\n width: 100% !important;\n /* overflow-x: scroll !important; */\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n.ag-cell {\n display: flex;\n align-items: center; /* Ensures vertical centering */\n justify-content: start; /* Adjusts horizontal alignment as needed */\n padding-top: 6px;\n padding-bottom: 2px;\n line-height: 16px;\n}\n\n/* Specific adjustments for text content */\n.ag-cell .ag-text-cell,\n.ag-cell .ag-text-area {\n line-height: 16px; /* Ensure line height matches the general adjustment */\n}\n\n/* .ag-row .ag-cell:last-child {\njustify-content: flex-end;\n} */\n\n.second-row {\n display: flex;\n align-items: center;\n width: 100%;\n /* background-color: #ccc; */\n background-color: rgb(247, 245, 243);\n padding-left: 16px;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n.chip-section {\n /* flex: 1; */\n display: flex;\n margin-left: 8px;\n}\n\n.chip-wrapper {\n display: flex;\n}\n\n.advanced-search-chips {\n margin-right: 16px;\n display: flex;\n gap: 8px;\n}\n\n.logical-operator {\n margin-right: 16px;\n}\n\n.kpi {\n margin-right: 16px;\n}\n\n.bulk-select {\n margin-right: 16px;\n}\n\n.ag-body-viewport.ag-layout-normal {\n /* overflow-y: hidden !important; */\n /* height: 100vh; */\n overflow-y: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n /* Hide scrollbar for Chrome, Safari */\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n/* .ag-center-cols-viewport {\n height: 150vh !important;\n} */\n\n.ag-side-button {\n display: none;\n}\n\n.ag-root-wrapper {\n box-sizing: content-box;\n}\n\n.ag-side-buttons {\n width: 0px !important;\n}\n\n.ag-header-container,\n.ag-floating-top-container,\n.ag-floating-bottom-container,\n.ag-sticky-top-container {\n background: var(--primary-color);\n}\n\n.advanced-group-search-chips {\n display: flex;\n gap: 8px;\n flex: 1;\n /* width: 400px; */\n}\n\n.chip-container {\n display: flex;\n gap: 8px;\n}\n\n.overflowChip {\n width: 200px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n/* ag-grid.css */\n.ag-icon {\n font-family: var(--ag-icon-font-family);\n font-size: var(--ag-icon-size);\n line-height: var(--ag-icon-size);\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.ag-icon-aggregation::before {\n content: var(--ag-icon-font-code-aggregation, '\\f101');\n}\n\n.ag-icon-arrows::before {\n content: var(--ag-icon-font-code-arrows, '\\f102');\n}\n\n.ag-icon-asc::before {\n content: var(--ag-icon-font-code-asc, '\\f103');\n}\n\n.ag-icon-cancel::before {\n content: var(--ag-icon-font-code-cancel, '\\f104');\n}\n\n.ag-icon-chart::before {\n content: var(--ag-icon-font-code-chart, '\\f105');\n}\n\n.ag-icon-checkbox-checked::before {\n content: var(--ag-icon-font-code-checkbox-checked, '\\f106');\n}\n\n.ag-icon-checkbox-indeterminate::before {\n content: var(--ag-icon-font-code-checkbox-indeterminate, '\\f107');\n}\n\n.ag-icon-checkbox-unchecked::before {\n content: var(--ag-icon-font-code-checkbox-unchecked, '\\f108');\n}\n\n.ag-icon-color-picker::before {\n content: var(--ag-icon-font-code-color-picker, '\\f109');\n}\n\n.ag-icon-columns::before {\n content: var(--ag-icon-font-code-columns, '\\f10a');\n}\n\n.ag-icon-contracted::before {\n content: var(--ag-icon-font-code-contracted, '\\f10b');\n}\n\n.ag-icon-copy::before {\n content: var(--ag-icon-font-code-copy, '\\f10c');\n}\n\n.ag-icon-cross::before {\n content: var(--ag-icon-font-code-cross, '\\f10d');\n}\n\n.ag-icon-csv::before {\n content: var(--ag-icon-font-code-csv, '\\f10e');\n}\n\n.ag-icon-cut::before {\n content: var(--ag-icon-font-code-cut, '\\f10f');\n}\n\n.ag-icon-desc::before {\n content: var(--ag-icon-font-code-desc, '\\f110');\n}\n\n.ag-icon-excel::before {\n content: var(--ag-icon-font-code-excel, '\\f111');\n}\n\n.ag-icon-expanded::before {\n content: var(--ag-icon-font-code-expanded, '\\f112');\n}\n\n.ag-icon-eye-slash::before {\n content: var(--ag-icon-font-code-eye-slash, '\\f113');\n}\n\n.ag-icon-eye::before {\n content: var(--ag-icon-font-code-eye, '\\f114');\n}\n\n.ag-icon-filter::before {\n content: var(--ag-icon-font-code-filter, '\\f115');\n}\n\n.ag-icon-first::before {\n content: var(--ag-icon-font-code-first, '\\f116');\n}\n\n.ag-icon-grip::before {\n content: var(--ag-icon-font-code-grip, '\\f117');\n}\n\n.ag-icon-group::before {\n content: var(--ag-icon-font-code-group, '\\f118');\n}\n\n.ag-icon-last::before {\n content: var(--ag-icon-font-code-last, '\\f119');\n}\n\n.ag-icon-left::before {\n content: var(--ag-icon-font-code-left, '\\f11a');\n}\n\n.ag-icon-linked::before {\n content: var(--ag-icon-font-code-linked, '\\f11b');\n}\n\n.ag-icon-loading::before {\n content: var(--ag-icon-font-code-loading, '\\f11c');\n}\n\n.ag-icon-maximize::before {\n content: var(--ag-icon-font-code-maximize, '\\f11d');\n}\n\n.ag-icon-menu::before {\n content: var(--ag-icon-font-code-menu, '\\f11e');\n}\n\n.ag-icon-minimize::before {\n content: var(--ag-icon-font-code-minimize, '\\f11f');\n}\n\n.ag-icon-next::before {\n content: var(--ag-icon-font-code-next, '\\f120');\n}\n\n.ag-icon-none::before {\n content: var(--ag-icon-font-code-none, '\\f121');\n}\n\n.ag-icon-not-allowed::before {\n content: var(--ag-icon-font-code-not-allowed, '\\f122');\n}\n\n.ag-icon-paste::before {\n content: var(--ag-icon-font-code-paste, '\\f123');\n}\n\n.ag-icon-pin::before {\n content: var(--ag-icon-font-code-pin, '\\f124');\n}\n\n.ag-icon-pivot::before {\n content: var(--ag-icon-font-code-pivot, '\\f125');\n}\n\n.ag-icon-previous::before {\n content: var(--ag-icon-font-code-previous, '\\f126');\n}\n\n.ag-icon-radio-button-off::before {\n content: var(--ag-icon-font-code-radio-button-off, '\\f127');\n}\n\n.ag-icon-radio-button-on::before {\n content: var(--ag-icon-font-code-radio-button-on, '\\f128');\n}\n\n.ag-icon-right::before {\n content: var(--ag-icon-font-code-right, '\\f129');\n}\n\n.ag-icon-save::before {\n content: var(--ag-icon-font-code-save, '\\f12a');\n}\n\n.ag-icon-small-down::before {\n content: var(--ag-icon-font-code-small-down, '\\f12b');\n}\n\n.ag-icon-small-left::before {\n content: var(--ag-icon-font-code-small-left, '\\f12c');\n}\n\n.ag-icon-small-right::before {\n content: var(--ag-icon-font-code-small-right, '\\f12d');\n}\n\n.ag-icon-small-up::before {\n content: var(--ag-icon-font-code-small-up, '\\f12e');\n}\n\n.ag-icon-tick::before {\n content: var(--ag-icon-font-code-tick, '\\f12f');\n}\n\n.ag-icon-tree-closed::before {\n content: var(--ag-icon-font-code-tree-closed, '\\f130');\n}\n\n.ag-icon-tree-indeterminate::before {\n content: var(--ag-icon-font-code-tree-indeterminate, '\\f131');\n}\n\n.ag-icon-tree-open::before {\n content: var(--ag-icon-font-code-tree-open, '\\f132');\n}\n\n.ag-icon-unlinked::before {\n content: var(--ag-icon-font-code-unlinked, '\\f133');\n}\n\n.ag-icon-row-drag::before {\n content: var(--ag-icon-font-code-grip);\n}\n\n.ag-left-arrow::before {\n content: var(--ag-icon-font-code-left);\n}\n\n.ag-right-arrow::before {\n content: var(--ag-icon-font-code-right);\n}\n\n[class*='ag-theme-'] {\n --ag-foreground-color: #000;\n --ag-data-color: var(--ag-foreground-color);\n --ag-secondary-foreground-color: var(--ag-foreground-color);\n --ag-header-foreground-color: var(--ag-secondary-foreground-color);\n --ag-disabled-foreground-color: rgba(0, 0, 0, 0.5);\n --ag-background-color: #fff;\n --ag-header-background-color: transparent;\n --ag-tooltip-background-color: transparent;\n --ag-subheader-background-color: transparent;\n --ag-subheader-toolbar-background-color: transparent;\n --ag-control-panel-background-color: transparent;\n --ag-side-button-selected-background-color: var(--ag-control-panel-background-color);\n --ag-selected-row-background-color: #bbb;\n --ag-odd-row-background-color: var(--ag-background-color);\n --ag-modal-overlay-background-color: rgba(255, 255, 255, 0.66);\n --ag-row-hover-color: transparent;\n --ag-column-hover-color: transparent;\n --ag-range-selection-border-color: var(--ag-foreground-color);\n --ag-range-selection-border-style: solid;\n --ag-range-selection-background-color: rgba(0, 0, 0, 0.2);\n --ag-range-selection-background-color-2: var(--ag-range-selection-background-color);\n --ag-range-selection-background-color-3: var(--ag-range-selection-background-color);\n --ag-range-selection-background-color-4: var(--ag-range-selection-background-color);\n --ag-range-selection-highlight-color: var(--ag-range-selection-border-color);\n --ag-selected-tab-underline-color: var(--ag-range-selection-border-color);\n --ag-selected-tab-underline-width: 0;\n --ag-selected-tab-underline-transition-speed: 0s;\n --ag-range-selection-chart-category-background-color: rgba(0, 255, 132, 0.1);\n --ag-range-selection-chart-background-color: rgba(0, 88, 255, 0.1);\n --ag-header-cell-hover-background-color: transparent;\n --ag-header-cell-moving-background-color: var(--ag-background-color);\n --ag-value-change-value-highlight-background-color: rgba(22, 160, 133, 0.5);\n --ag-value-change-delta-up-color: #43a047;\n --ag-value-change-delta-down-color: #e53935;\n --ag-chip-background-color: transparent;\n --ag-borders: solid 1px;\n --ag-border-color: rgba(0, 0, 0, 0.25);\n --ag-borders-critical: var(--ag-borders);\n --ag-borders-secondary: var(--ag-borders);\n --ag-secondary-border-color: var(--ag-border-color);\n --ag-row-border-style: solid;\n --ag-row-border-color: var(--ag-secondary-border-color);\n --ag-row-border-width: 1px;\n --ag-cell-horizontal-border: solid transparent;\n --ag-borders-input: var(--ag-borders-secondary);\n --ag-input-border-color: var(--ag-secondary-border-color);\n --ag-borders-input-invalid: solid 2px;\n --ag-input-border-color-invalid: var(--ag-invalid-color);\n --ag-borders-side-button: var(--ag-borders);\n --ag-border-radius: 0px;\n --ag-row-border-color: var(--ag-secondary-border-color);\n --ag-header-column-separator-display: none;\n --ag-header-column-separator-height: 100%;\n --ag-header-column-separator-width: 1px;\n --ag-header-column-separator-color: var(--ag-secondary-border-color);\n --ag-header-column-resize-handle-display: none;\n --ag-header-column-resize-handle-height: 50%;\n --ag-header-column-resize-handle-width: 1px;\n --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);\n --ag-invalid-color: red;\n --ag-input-disabled-border-color: var(--ag-input-border-color);\n --ag-input-disabled-background-color: transparent;\n --ag-checkbox-background-color: transparent;\n --ag-checkbox-border-radius: var(--ag-border-radius);\n --ag-checkbox-checked-color: var(--ag-foreground-color);\n --ag-checkbox-unchecked-color: var(--ag-foreground-color);\n --ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);\n --ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);\n --ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);\n --ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);\n --ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);\n --ag-toggle-button-switch-background-color: var(--ag-background-color);\n --ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);\n --ag-toggle-button-border-width: 1px;\n --ag-toggle-button-height: var(--ag-icon-size);\n --ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);\n --ag-input-focus-box-shadow: none;\n --ag-input-focus-border-color: none;\n --ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);\n --ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);\n --ag-grid-size: 4px;\n --ag-icon-size: 12px;\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);\n --ag-widget-vertical-spacing: var(--ag-grid-size);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);\n --ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);\n --ag-header-height: var(--ag-row-height);\n --ag-list-item-height: calc(var(--ag-grid-size) * 5);\n --ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));\n --ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));\n --ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));\n --ag-filter-tool-panel-group-indent: 16px;\n --ag-tab-min-width: 220px;\n --ag-menu-min-width: 181px;\n --ag-side-bar-panel-width: 200px;\n --ag-font-family: 'Helvetica Neue', sans-serif;\n --ag-font-size: 14px;\n --ag-card-radius: var(--ag-border-radius);\n --ag-card-shadow: none;\n --ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);\n}\n\n.ag-root-wrapper,\n.ag-sticky-top,\n.ag-dnd-ghost {\n background-color: var(--ag-background-color);\n}\n\n[class*='ag-theme-'] {\n -webkit-font-smoothing: antialiased;\n font-family: var(--ag-font-family);\n font-size: var(--ag-font-size);\n line-height: normal;\n color: var(--ag-foreground-color);\n}\n\nag-grid,\nag-grid-angular,\nag-grid-ng2,\nag-grid-polymer,\nag-grid-aurelia {\n display: block;\n}\n\n.ag-hidden {\n display: none !important;\n}\n\n.ag-invisible {\n visibility: hidden !important;\n}\n\n.ag-no-transition {\n transition: none !important;\n}\n\n.ag-drag-handle {\n cursor: grab;\n}\n\n.ag-column-drop-wrapper {\n display: flex;\n}\n\n.ag-column-drop-horizontal-half-width {\n display: inline-block;\n width: 50% !important;\n}\n\n.ag-unselectable {\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-selectable {\n -moz-user-select: text;\n -webkit-user-select: text;\n -ms-user-select: text;\n user-select: text;\n}\n\n.ag-tab {\n position: relative;\n}\n\n.ag-tab-guard {\n position: absolute;\n width: 0;\n height: 0;\n display: block;\n}\n\n.ag-select-agg-func-popup {\n position: absolute;\n}\n\n.ag-input-wrapper,\n.ag-picker-field-wrapper {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n line-height: normal;\n position: relative;\n}\n\n.ag-shake-left-to-right {\n animation-direction: alternate;\n animation-duration: 0.2s;\n animation-iteration-count: infinite;\n animation-name: ag-shake-left-to-right;\n}\n\n@keyframes ag-shake-left-to-right {\n from {\n padding-left: 6px;\n padding-right: 2px;\n }\n to {\n padding-left: 2px;\n padding-right: 6px;\n }\n}\n.ag-root-wrapper {\n cursor: default;\n position: relative;\n display: flex;\n flex-direction: column;\n /* overflow: hidden; */\n}\n.ag-root-wrapper.ag-layout-normal {\n height: 100%;\n}\n\n.ag-watermark {\n position: absolute;\n bottom: 20px;\n right: 25px;\n opacity: 0.5;\n transition: opacity 1s ease-out 3s;\n}\n.ag-watermark::before {\n content: '';\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDIzNSA0MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjM1NzIzLDAsMCwwLjYzNTcyMywtNDkyLjkyMSwtMzIzLjYwOCkiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDk5LjQsNTQ5LjRMMTA5OS40LDUzNi45TDEwNzguMSw1MzYuOUwxMDY1LjYsNTQ5LjRMMTA5OS40LDU0OS40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTEyMy40LDUxOC40TDEwOTYuNyw1MTguNEwxMDg0LjEsNTMwLjlMMTEyMy40LDUzMC45TDExMjMuNCw1MTguNFoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNTMuMiw1NjEuOUwxMDU5LjYsNTU1LjVMMTA4MS4yLDU1NS41TDEwODEuMiw1NjhMMTA1My4yLDU2OEwxMDUzLjIsNTYxLjlaIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDU3LjksNTQzLjNMMTA3MS43LDU0My4zTDEwODQuMyw1MzAuOEwxMDU3LjksNTMwLjhMMTA1Ny45LDU0My4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTA0Mi44LDU2MS45TDEwNTMuMiw1NjEuOUwxMDY1LjYsNTQ5LjRMMTA0Mi44LDU0OS40TDEwNDIuOCw1NjEuOVoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOTYuNyw1MTguNEwxMDkwLjMsNTI0LjhMMTA0OS41LDUyNC44TDEwNDkuNSw1MTIuM0wxMDk2LjcsNTEyLjNMMTA5Ni43LDUxOC40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNODI4LjYsNTU5LjdMODA5LDU1OS43TDgwNS42LDU2OC4xTDc5Nyw1NjguMUw4MTUuMSw1MjUuN0w4MjIuNiw1MjUuN0w4NDAuNyw1NjguMUw4MzIsNTY4LjFMODI4LjYsNTU5LjdaTTgyNS45LDU1M0w4MTguOCw1MzUuN0w4MTEuNyw1NTNMODI1LjksNTUzWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTYwLjEsNTQxLjNDOTYyLjYsNTM3LjYgOTY4LjksNTM3LjIgOTcxLjUsNTM3LjJMOTcxLjUsNTQ0LjRDOTY4LjMsNTQ0LjQgOTY1LjEsNTQ0LjUgOTYzLjIsNTQ1LjlDOTYxLjMsNTQ3LjMgOTYwLjMsNTQ5LjIgOTYwLjMsNTUxLjVMOTYwLjMsNTY4LjFMOTUyLjUsNTY4LjFMOTUyLjUsNTM3LjJMOTYwLDUzNy4yTDk2MC4xLDU0MS4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTM3LjIiIHdpZHRoPSI3LjgiIGhlaWdodD0iMzAuOSIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTIzLjQiIHdpZHRoPSI3LjgiIGhlaWdodD0iOS4yIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDIyLjMsNTIzLjRMMTAyMi4zLDU2OC4xTDEwMTQuOCw1NjguMUwxMDE0LjYsNTYzLjRDMTAxMy41LDU2NSAxMDEyLjEsNTY2LjMgMTAxMC40LDU2Ny4zQzEwMDguNyw1NjguMiAxMDA2LjYsNTY4LjcgMTAwNC4yLDU2OC43QzEwMDIuMSw1NjguNyAxMDAwLjEsNTY4LjMgOTk4LjQsNTY3LjZDOTk2LjYsNTY2LjggOTk1LDU2NS44IDk5My43LDU2NC40Qzk5Mi40LDU2MyA5OTEuMyw1NjEuMyA5OTAuNiw1NTkuNEM5ODkuOCw1NTcuNSA5ODkuNSw1NTUuMyA5ODkuNSw1NTIuOUM5ODkuNSw1NTAuNSA5ODkuOSw1NDguMyA5OTAuNiw1NDYuM0M5OTEuNCw1NDQuMyA5OTIuNCw1NDIuNiA5OTMuNyw1NDEuMkM5OTUsNTM5LjggOTk2LjYsNTM4LjcgOTk4LjQsNTM3LjlDMTAwMC4yLDUzNy4xIDEwMDIuMSw1MzYuNyAxMDA0LjIsNTM2LjdDMTAwNi42LDUzNi43IDEwMDguNiw1MzcuMSAxMDEwLjMsNTM4QzEwMTIsNTM4LjkgMTAxMy40LDU0MC4xIDEwMTQuNSw1NDEuOEwxMDE0LjUsNTIzLjVMMTAyMi4zLDUyMy41TDEwMjIuMyw1MjMuNFpNMTAwNS45LDU2MkMxMDA4LjUsNTYyIDEwMTAuNSw1NjEuMSAxMDEyLjEsNTU5LjRDMTAxMy43LDU1Ny43IDEwMTQuNSw1NTUuNCAxMDE0LjUsNTUyLjZDMTAxNC41LDU0OS44IDEwMTMuNyw1NDcuNiAxMDEyLjEsNTQ1LjhDMTAxMC41LDU0NC4xIDEwMDguNSw1NDMuMiAxMDA1LjksNTQzLjJDMTAwMy40LDU0My4yIDEwMDEuMyw1NDQuMSA5OTkuOCw1NDUuOEM5OTguMiw1NDcuNSA5OTcuNCw1NDkuOCA5OTcuNCw1NTIuNkM5OTcuNCw1NTUuNCA5OTguMiw1NTcuNiA5OTkuOCw1NTkuM0MxMDAxLjQsNTYxLjEgMTAwMy40LDU2MiAxMDA1LjksNTYyIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik04ODUuOCw1NDQuMkw4NjYuNSw1NDQuMkw4NjYuNSw1NTAuOUw4NzcuNSw1NTAuOUM4NzcuMiw1NTQuMyA4NzUuOSw1NTYuOSA4NzMuNyw1NTlDODcxLjUsNTYxIDg2OC43LDU2MiA4NjUuMSw1NjJDODYzLjEsNTYyIDg2MS4yLDU2MS42IDg1OS42LDU2MC45Qzg1Ny45LDU2MC4yIDg1Ni41LDU1OS4yIDg1NS4zLDU1Ny44Qzg1NC4xLDU1Ni41IDg1My4yLDU1NC45IDg1Mi41LDU1M0M4NTEuOCw1NTEuMSA4NTEuNSw1NDkuMSA4NTEuNSw1NDYuOEM4NTEuNSw1NDQuNSA4NTEuOCw1NDIuNSA4NTIuNSw1NDAuNkM4NTMuMSw1MzguNyA4NTQuMSw1MzcuMiA4NTUuMyw1MzUuOEM4NTYuNSw1MzQuNSA4NTcuOSw1MzMuNSA4NTkuNiw1MzIuN0M4NjEuMyw1MzIgODYzLjEsNTMxLjYgODY1LjIsNTMxLjZDODY5LjQsNTMxLjYgODcyLjYsNTMyLjYgODc0LjgsNTM0LjZMODgwLDUyOS40Qzg3Ni4xLDUyNi40IDg3MS4xLDUyNC44IDg2NS4yLDUyNC44Qzg2MS45LDUyNC44IDg1OC45LDUyNS4zIDg1Ni4yLDUyNi40Qzg1My41LDUyNy41IDg1MS4yLDUyOC45IDg0OS4zLDUzMC44Qzg0Ny40LDUzMi43IDg0NS45LDUzNSA4NDQuOSw1MzcuN0M4NDMuOSw1NDAuNCA4NDMuNCw1NDMuNCA4NDMuNCw1NDYuNkM4NDMuNCw1NDkuOCA4NDMuOSw1NTIuOCA4NDUsNTU1LjVDODQ2LjEsNTU4LjIgODQ3LjUsNTYwLjUgODQ5LjQsNTYyLjRDODUxLjMsNTY0LjMgODUzLjYsNTY1LjggODU2LjMsNTY2LjhDODU5LDU2Ny45IDg2Miw1NjguNCA4NjUuMiw1NjguNEM4NjguNCw1NjguNCA4NzEuMyw1NjcuOSA4NzMuOSw1NjYuOEM4NzYuNSw1NjUuNyA4NzguNyw1NjQuMyA4ODAuNSw1NjIuNEM4ODIuMyw1NjAuNSA4ODMuNyw1NTguMiA4ODQuNyw1NTUuNUM4ODUuNyw1NTIuOCA4ODYuMiw1NDkuOCA4ODYuMiw1NDYuNkw4ODYuMiw1NDUuM0M4ODUuOSw1NDUuMSA4ODUuOCw1NDQuNiA4ODUuOCw1NDQuMiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTQ2LjgsNTQ0LjJMOTI3LjUsNTQ0LjJMOTI3LjUsNTUwLjlMOTM4LjUsNTUwLjlDOTM4LjIsNTU0LjMgOTM2LjksNTU2LjkgOTM0LjcsNTU5QzkzMi41LDU2MSA5MjkuNyw1NjIgOTI2LjEsNTYyQzkyNC4xLDU2MiA5MjIuMiw1NjEuNiA5MjAuNiw1NjAuOUM5MTguOSw1NjAuMiA5MTcuNSw1NTkuMiA5MTYuMyw1NTcuOEM5MTUuMSw1NTYuNSA5MTQuMiw1NTQuOSA5MTMuNSw1NTNDOTEyLjgsNTUxLjEgOTEyLjUsNTQ5LjEgOTEyLjUsNTQ2LjhDOTEyLjUsNTQ0LjUgOTEyLjgsNTQyLjUgOTEzLjUsNTQwLjZDOTE0LjEsNTM4LjcgOTE1LjEsNTM3LjIgOTE2LjMsNTM1LjhDOTE3LjUsNTM0LjUgOTE4LjksNTMzLjUgOTIwLjYsNTMyLjdDOTIyLjMsNTMyIDkyNC4xLDUzMS42IDkyNi4yLDUzMS42QzkzMC40LDUzMS42IDkzMy42LDUzMi42IDkzNS44LDUzNC42TDk0MSw1MjkuNEM5MzcuMSw1MjYuNCA5MzIuMSw1MjQuOCA5MjYuMiw1MjQuOEM5MjIuOSw1MjQuOCA5MTkuOSw1MjUuMyA5MTcuMiw1MjYuNEM5MTQuNSw1MjcuNSA5MTIuMiw1MjguOSA5MTAuMyw1MzAuOEM5MDguNCw1MzIuNyA5MDYuOSw1MzUgOTA1LjksNTM3LjdDOTA0LjksNTQwLjQgOTA0LjQsNTQzLjQgOTA0LjQsNTQ2LjZDOTA0LjQsNTQ5LjggOTA0LjksNTUyLjggOTA2LDU1NS41QzkwNy4xLDU1OC4yIDkwOC41LDU2MC41IDkxMC40LDU2Mi40QzkxMi4zLDU2NC4zIDkxNC42LDU2NS44IDkxNy4zLDU2Ni44QzkyMCw1NjcuOSA5MjMsNTY4LjQgOTI2LjIsNTY4LjRDOTI5LjQsNTY4LjQgOTMyLjMsNTY3LjkgOTM0LjksNTY2LjhDOTM3LjUsNTY1LjcgOTM5LjcsNTY0LjMgOTQxLjUsNTYyLjRDOTQzLjMsNTYwLjUgOTQ0LjcsNTU4LjIgOTQ1LjcsNTU1LjVDOTQ2LjcsNTUyLjggOTQ3LjIsNTQ5LjggOTQ3LjIsNTQ2LjZMOTQ3LjIsNTQ1LjNDOTQ2LjksNTQ1LjEgOTQ2LjgsNTQ0LjYgOTQ2LjgsNTQ0LjIiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);\n background-repeat: no-repeat;\n background-size: 170px 40px;\n display: block;\n height: 40px;\n width: 170px;\n opacity: 0.5;\n}\n\n.ag-watermark-text {\n opacity: 0.5;\n font-weight: bold;\n font-family: Impact, sans-serif;\n font-size: 19px;\n padding-left: 0.7rem;\n}\n\n.ag-root-wrapper-body {\n display: flex;\n flex-direction: row;\n}\n.ag-root-wrapper-body.ag-layout-normal {\n flex: 1 1 auto;\n height: 0;\n min-height: 0;\n}\n\n.ag-root {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n.ag-root.ag-layout-normal,\n.ag-root.ag-layout-auto-height {\n overflow: hidden;\n flex: 1 1 auto;\n width: 0;\n}\n.ag-root.ag-layout-normal {\n height: 100%;\n}\n\n.ag-header-viewport,\n.ag-floating-top-viewport,\n.ag-body-viewport,\n.ag-center-cols-viewport,\n.ag-floating-bottom-viewport,\n.ag-body-horizontal-scroll-viewport,\n.ag-body-vertical-scroll-viewport,\n.ag-virtual-list-viewport,\n.ag-sticky-top-viewport {\n position: relative;\n height: 100%;\n min-width: 0px;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.ag-body-viewport {\n display: flex;\n}\n.ag-body-viewport.ag-layout-normal {\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.ag-center-cols-viewport {\n width: 100%;\n overflow-x: auto;\n}\n\n.ag-body-horizontal-scroll-viewport {\n overflow-x: scroll;\n}\n\n.ag-body-vertical-scroll-viewport {\n overflow-y: scroll;\n}\n\n.ag-virtual-list-viewport {\n overflow: auto;\n width: 100%;\n}\n\n.ag-header-container,\n.ag-floating-top-container,\n.ag-body-container,\n.ag-pinned-right-cols-container,\n.ag-center-cols-container,\n.ag-pinned-left-cols-container,\n.ag-floating-bottom-container,\n.ag-body-horizontal-scroll-container,\n.ag-body-vertical-scroll-container,\n.ag-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-virtual-list-container,\n.ag-sticky-top-container {\n position: relative;\n}\n\n.ag-header-container,\n.ag-floating-top-container,\n.ag-floating-bottom-container,\n.ag-sticky-top-container {\n height: 100%;\n white-space: nowrap;\n}\n\n.ag-center-cols-container {\n display: block;\n}\n\n.ag-pinned-right-cols-container {\n display: block;\n}\n\n.ag-body-horizontal-scroll-container {\n height: 100%;\n}\n\n.ag-body-vertical-scroll-container {\n width: 100%;\n}\n\n.ag-full-width-container,\n.ag-floating-top-full-width-container,\n.ag-floating-bottom-full-width-container,\n.ag-sticky-top-full-width-container {\n position: absolute;\n top: 0px;\n pointer-events: none;\n}\n.ag-ltr .ag-full-width-container,\n.ag-ltr .ag-floating-top-full-width-container,\n.ag-ltr .ag-floating-bottom-full-width-container,\n.ag-ltr .ag-sticky-top-full-width-container {\n left: 0;\n}\n.ag-rtl .ag-full-width-container,\n.ag-rtl .ag-floating-top-full-width-container,\n.ag-rtl .ag-floating-bottom-full-width-container,\n.ag-rtl .ag-sticky-top-full-width-container {\n right: 0;\n}\n\n.ag-floating-bottom-full-width-container,\n.ag-floating-top-full-width-container {\n display: inline-block;\n overflow: hidden;\n height: 100%;\n width: 100%;\n}\n\n.ag-virtual-list-container {\n overflow: hidden;\n}\n\n.ag-center-cols-clipper {\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n min-height: 100%;\n transform: translate3d(0, 0, 0);\n}\n\n.ag-body {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n flex-direction: row !important;\n min-height: 0;\n}\n\n.ag-body-clipper {\n overflow: hidden;\n min-width: 0px;\n flex: 1 1 auto;\n height: 100%;\n transform: translate3d(0, 0, 0);\n}\n\n.ag-body-horizontal-scroll,\n.ag-body-vertical-scroll {\n min-height: 0;\n min-width: 0;\n display: flex;\n position: relative;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible,\n.ag-body-vertical-scroll.ag-scrollbar-invisible {\n position: absolute;\n bottom: 0;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar {\n opacity: 0;\n transition: opacity 400ms;\n visibility: hidden;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,\n.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,\n.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active {\n visibility: visible;\n opacity: 1;\n}\n\n.ag-body-horizontal-scroll {\n width: 100%;\n}\n.ag-body-horizontal-scroll.ag-scrollbar-invisible {\n left: 0;\n right: 0;\n}\n\n.ag-body-vertical-scroll {\n height: 100%;\n}\n.ag-body-vertical-scroll.ag-scrollbar-invisible {\n top: 0;\n z-index: 10;\n}\n.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible {\n right: 0;\n}\n.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible {\n left: 0;\n}\n\n.ag-force-vertical-scroll {\n overflow-y: scroll !important;\n}\n\n.ag-horizontal-left-spacer,\n.ag-horizontal-right-spacer {\n height: 100%;\n min-width: 0;\n overflow-x: scroll;\n}\n.ag-horizontal-left-spacer.ag-scroller-corner,\n.ag-horizontal-right-spacer.ag-scroller-corner {\n overflow-x: hidden;\n}\n\n.ag-header,\n.ag-pinned-left-header,\n.ag-pinned-right-header {\n display: inline-block;\n overflow: hidden;\n position: relative;\n}\n\n.ag-header-cell-sortable .ag-header-cell-label {\n cursor: pointer;\n}\n\n.ag-header {\n display: flex;\n width: 100%;\n white-space: nowrap;\n background-color: var(--primary-color);\n}\n\n.ag-pinned-left-header {\n height: 100%;\n}\n\n.ag-pinned-right-header {\n height: 100%;\n}\n\n.ag-header-row {\n position: absolute;\n}\n\n.ag-header-row:not(.ag-header-row-column-group) {\n overflow: hidden;\n}\n\n.ag-header.ag-header-allow-overflow .ag-header-row {\n overflow: visible;\n}\n\n.ag-header-cell {\n display: inline-flex;\n align-items: center;\n position: absolute;\n height: 100%;\n overflow: hidden;\n}\n\n.ag-header-cell.ag-header-active .ag-header-cell-menu-button {\n opacity: 1;\n}\n\n.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {\n transition: opacity 0.2s;\n opacity: 0;\n}\n\n.ag-header-group-cell-label,\n.ag-header-cell-label {\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n align-items: center;\n text-overflow: ellipsis;\n align-self: stretch;\n}\n\n.ag-header-group-cell-label.ag-sticky-label {\n position: sticky;\n flex: none;\n max-width: 100%;\n}\n\n.ag-header-cell-text {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.ag-header-cell-comp-wrapper {\n width: 100%;\n overflow: hidden;\n}\n\n.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper {\n white-space: normal;\n}\n\n.ag-right-aligned-header .ag-header-cell-label {\n flex-direction: row-reverse;\n}\n\n.ag-header-group-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-header-cell-resize {\n position: absolute;\n z-index: 2;\n height: 100%;\n width: 8px;\n top: 0;\n cursor: ew-resize;\n}\n.ag-ltr .ag-header-cell-resize {\n right: -4px;\n}\n.ag-rtl .ag-header-cell-resize {\n left: -4px;\n}\n\n.ag-pinned-left-header .ag-header-cell-resize {\n right: -4px;\n}\n\n.ag-pinned-right-header .ag-header-cell-resize {\n left: -4px;\n}\n\n.ag-header-select-all {\n display: flex;\n}\n\n.ag-column-moving .ag-cell {\n transition: left 0.2s;\n}\n.ag-column-moving .ag-header-cell {\n transition: left 0.2s;\n}\n.ag-column-moving .ag-header-group-cell {\n transition: left 0.2s, width 0.2s;\n}\n\n.ag-column-panel {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.ag-column-select {\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 3 1 0px;\n}\n\n.ag-column-select-header {\n position: relative;\n display: flex;\n flex: none;\n}\n\n.ag-column-select-header-icon {\n position: relative;\n}\n\n.ag-column-select-header-filter-wrapper {\n flex: 1 1 auto;\n}\n\n.ag-column-select-header-filter {\n width: 100%;\n}\n\n.ag-column-select-list {\n flex: 1 1 0px;\n overflow: hidden;\n}\n\n.ag-column-drop {\n position: relative;\n display: inline-flex;\n align-items: center;\n overflow: auto;\n width: 100%;\n}\n\n.ag-column-drop-list {\n display: flex;\n align-items: center;\n}\n\n.ag-column-drop-cell {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.ag-column-drop-cell-text {\n overflow: hidden;\n flex: 1 1 auto;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-column-drop-vertical {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n align-items: stretch;\n flex: 1 1 0px;\n}\n\n.ag-column-drop-vertical-title-bar {\n display: flex;\n align-items: center;\n flex: none;\n}\n\n.ag-column-drop-vertical-list {\n position: relative;\n align-items: stretch;\n flex-grow: 1;\n flex-direction: column;\n overflow-x: auto;\n}\n.ag-column-drop-vertical-list > * {\n flex: none;\n}\n\n.ag-column-drop-empty .ag-column-drop-vertical-list {\n overflow: hidden;\n}\n\n.ag-column-drop-vertical-empty-message {\n display: block;\n}\n\n.ag-column-drop.ag-column-drop-horizontal {\n white-space: nowrap;\n overflow: hidden;\n}\n\n.ag-column-drop-cell-button {\n cursor: pointer;\n}\n\n.ag-filter-toolpanel {\n flex: 1 1 0px;\n min-width: 0;\n}\n\n.ag-filter-toolpanel-header {\n position: relative;\n}\n\n.ag-filter-toolpanel-header,\n.ag-filter-toolpanel-search {\n display: flex;\n align-items: center;\n}\n.ag-filter-toolpanel-header > *,\n.ag-filter-toolpanel-search > * {\n display: flex;\n align-items: center;\n}\n\n.ag-filter-apply-panel {\n display: flex;\n justify-content: flex-end;\n overflow: hidden;\n}\n\n.ag-row-animation .ag-row {\n transition: transform 0.4s, top 0.4s, background-color 0.1s, opacity 0.2s;\n}\n\n.ag-row-animation .ag-row.ag-after-created {\n transition: transform 0.4s, top 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s;\n}\n\n.ag-row-no-animation .ag-row {\n transition: background-color 0.1s;\n}\n\n.ag-row {\n white-space: nowrap;\n width: 100%;\n}\n\n.ag-row-loading {\n display: flex;\n align-items: center;\n}\n\n.ag-row-position-absolute {\n position: absolute;\n}\n\n.ag-row-position-relative {\n position: relative;\n}\n\n.ag-full-width-row {\n overflow: hidden;\n pointer-events: all;\n}\n\n.ag-row-inline-editing {\n z-index: 1;\n}\n\n.ag-row-dragging {\n z-index: 2;\n}\n\n.ag-stub-cell {\n display: flex;\n align-items: center;\n}\n\n.ag-cell {\n display: inline-block;\n position: absolute;\n white-space: nowrap;\n height: 100%;\n}\n\n.ag-cell-value {\n flex: 1 1 auto;\n min-height: 36px;\n}\n\n.ag-cell-value,\n.ag-group-value {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-cell-wrap-text {\n white-space: normal;\n word-break: break-all;\n}\n\n.ag-cell-wrapper {\n display: flex;\n align-items: center;\n}\n.ag-cell-wrapper.ag-row-group {\n align-items: flex-start;\n}\n\n.ag-sparkline-wrapper {\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n}\n\n.ag-full-width-row .ag-cell-wrapper.ag-row-group {\n height: 100%;\n align-items: center;\n}\n\n.ag-cell-inline-editing {\n z-index: 1;\n}\n.ag-cell-inline-editing .ag-cell-wrapper,\n.ag-cell-inline-editing .ag-cell-edit-wrapper,\n.ag-cell-inline-editing .ag-cell-editor,\n.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,\n.ag-cell-inline-editing .ag-cell-editor input {\n height: 100%;\n width: 100%;\n line-height: normal;\n}\n\n.ag-cell .ag-icon {\n display: inline-block;\n vertical-align: middle;\n}\n\n.ag-set-filter-item {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.ag-set-filter-item-checkbox {\n display: flex;\n overflow: hidden;\n}\n\n.ag-set-filter-group-icons {\n display: block;\n}\n.ag-set-filter-group-icons > * {\n cursor: pointer;\n}\n\n.ag-filter-body-wrapper {\n display: flex;\n flex-direction: column;\n}\n\n.ag-filter-filter {\n flex: 1 1 0px;\n}\n\n.ag-filter-condition {\n display: flex;\n justify-content: center;\n}\n\n.ag-advanced-filter-header {\n position: relative;\n display: flex;\n align-items: center;\n padding-left: var(--ag-cell-horizontal-padding);\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-advanced-filter {\n display: flex;\n align-items: center;\n width: 100%;\n}\n\n.ag-advanced-filter-apply-button {\n line-height: normal;\n}\n.ag-ltr .ag-advanced-filter-apply-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-advanced-filter-apply-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-floating-filter-body {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n}\n\n.ag-floating-filter-full-body {\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n align-items: center;\n overflow: hidden;\n}\n\n.ag-floating-filter-full-body > div {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-input {\n align-items: center;\n display: flex;\n width: 100%;\n}\n.ag-floating-filter-input > * {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-button {\n display: flex;\n flex: none;\n}\n\n.ag-set-floating-filter-input input[disabled] {\n pointer-events: none;\n}\n\n.ag-dnd-ghost {\n position: absolute;\n display: inline-flex;\n align-items: center;\n cursor: move;\n white-space: nowrap;\n z-index: 9999;\n}\n\n.ag-overlay {\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.ag-overlay-panel {\n display: flex;\n height: 100%;\n width: 100%;\n}\n\n.ag-overlay-wrapper {\n display: flex;\n flex: none;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.ag-overlay-loading-wrapper {\n pointer-events: all;\n}\n\n.ag-popup-child {\n z-index: 5;\n top: 0;\n}\n\n.ag-popup-editor {\n position: absolute;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-large-text-input {\n display: block;\n}\n\n.ag-virtual-list-item {\n position: absolute;\n width: 100%;\n}\n\n.ag-floating-top {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n position: relative;\n display: flex;\n}\n\n.ag-pinned-left-floating-top {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-pinned-right-floating-top {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-floating-bottom {\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n position: relative;\n display: flex;\n}\n\n.ag-pinned-left-floating-bottom {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-pinned-right-floating-bottom {\n display: inline-block;\n overflow: hidden;\n position: relative;\n min-width: 0px;\n}\n\n.ag-sticky-top {\n position: absolute;\n display: flex;\n width: 100%;\n}\n\n.ag-pinned-left-sticky-top,\n.ag-pinned-right-sticky-top {\n position: relative;\n height: 100%;\n overflow: hidden;\n}\n\n.ag-sticky-top-full-width-container {\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n\n.ag-dialog,\n.ag-panel {\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n.ag-panel-title-bar {\n display: flex;\n flex: none;\n align-items: center;\n cursor: default;\n}\n\n.ag-panel-title-bar-title {\n flex: 1 1 auto;\n}\n\n.ag-panel-title-bar-buttons {\n display: flex;\n}\n\n.ag-panel-title-bar-button {\n cursor: pointer;\n}\n\n.ag-panel-content-wrapper {\n display: flex;\n flex: 1 1 auto;\n position: relative;\n overflow: hidden;\n}\n\n.ag-dialog {\n position: absolute;\n}\n\n.ag-resizer {\n position: absolute;\n pointer-events: none;\n z-index: 1;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.ag-resizer.ag-resizer-topLeft {\n top: 0;\n left: 0;\n height: 5px;\n width: 5px;\n cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-top {\n top: 0;\n left: 5px;\n right: 5px;\n height: 5px;\n cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-topRight {\n top: 0;\n right: 0;\n height: 5px;\n width: 5px;\n cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-right {\n top: 5px;\n right: 0;\n bottom: 5px;\n width: 5px;\n cursor: ew-resize;\n}\n.ag-resizer.ag-resizer-bottomRight {\n bottom: 0;\n right: 0;\n height: 5px;\n width: 5px;\n cursor: nwse-resize;\n}\n.ag-resizer.ag-resizer-bottom {\n bottom: 0;\n left: 5px;\n right: 5px;\n height: 5px;\n cursor: ns-resize;\n}\n.ag-resizer.ag-resizer-bottomLeft {\n bottom: 0;\n left: 0;\n height: 5px;\n width: 5px;\n cursor: nesw-resize;\n}\n.ag-resizer.ag-resizer-left {\n left: 0;\n top: 5px;\n bottom: 5px;\n width: 5px;\n cursor: ew-resize;\n}\n\n.ag-tooltip {\n position: absolute;\n z-index: 99999;\n}\n\n.ag-tooltip-custom {\n position: absolute;\n z-index: 99999;\n}\n\n.ag-tooltip:not(.ag-tooltip-interactive),\n.ag-tooltip-custom:not(.ag-tooltip-interactive) {\n pointer-events: none;\n}\n\n.ag-value-slide-out {\n margin-right: 5px;\n opacity: 1;\n transition: opacity 3s, margin-right 3s;\n transition-timing-function: linear;\n}\n\n.ag-value-slide-out-end {\n margin-right: 10px;\n opacity: 0;\n}\n\n.ag-opacity-zero {\n opacity: 0 !important;\n}\n\n.ag-menu {\n max-height: 100%;\n overflow-y: auto;\n position: absolute;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-menu-column-select-wrapper {\n height: 265px;\n overflow: auto;\n}\n.ag-menu-column-select-wrapper .ag-column-select {\n height: 100%;\n}\n\n.ag-menu-list {\n display: table;\n width: 100%;\n}\n\n.ag-menu-option,\n.ag-menu-separator {\n display: table-row;\n}\n\n.ag-menu-option-part,\n.ag-menu-separator-part {\n display: table-cell;\n vertical-align: middle;\n}\n\n.ag-menu-option-text {\n white-space: nowrap;\n}\n\n.ag-compact-menu-option {\n width: 100%;\n display: flex;\n flex-wrap: nowrap;\n}\n\n.ag-compact-menu-option-text {\n white-space: nowrap;\n flex: 1 1 auto;\n}\n\n.ag-rich-select {\n cursor: default;\n outline: none;\n height: 100%;\n}\n\n.ag-rich-select-value {\n display: flex;\n align-items: center;\n height: 100%;\n}\n.ag-rich-select-value .ag-picker-field-display {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-rich-select-list {\n position: relative;\n}\n\n.ag-rich-select-row {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n height: 100%;\n}\n\n.ag-autocomplete {\n align-items: center;\n display: flex;\n}\n.ag-autocomplete > * {\n flex: 1 1 auto;\n}\n\n.ag-autocomplete-list-popup {\n position: absolute;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-autocomplete-list {\n position: relative;\n}\n\n.ag-autocomplete-virtual-list-item {\n display: flex;\n}\n\n.ag-autocomplete-row {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n overflow: hidden;\n}\n\n.ag-autocomplete-row-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ag-paging-panel {\n align-items: center;\n display: flex;\n justify-content: flex-end;\n}\n\n.ag-paging-page-summary-panel {\n display: flex;\n align-items: center;\n}\n\n.ag-paging-button {\n position: relative;\n}\n\n.ag-disabled .ag-paging-page-summary-panel {\n pointer-events: none;\n}\n\n.ag-tool-panel-wrapper {\n display: flex;\n overflow-y: auto;\n overflow-x: hidden;\n cursor: default;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-column-select-column,\n.ag-column-select-column-group,\n.ag-select-agg-func-item {\n position: relative;\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n height: 100%;\n}\n.ag-column-select-column > *,\n.ag-column-select-column-group > *,\n.ag-select-agg-func-item > * {\n flex: none;\n}\n\n.ag-select-agg-func-item,\n.ag-column-select-column-label {\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ag-column-select-checkbox {\n display: flex;\n}\n\n.ag-tool-panel-horizontal-resize {\n cursor: ew-resize;\n height: 100%;\n position: absolute;\n top: 0;\n width: 5px;\n z-index: 1;\n}\n\n.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n right: -3px;\n}\n.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {\n left: -3px;\n}\n\n.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n left: -3px;\n}\n.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {\n right: -3px;\n}\n\n.ag-details-row {\n width: 100%;\n}\n\n.ag-details-row-fixed-height {\n height: 100%;\n}\n\n.ag-details-grid {\n width: 100%;\n}\n\n.ag-details-grid-fixed-height {\n height: 100%;\n}\n\n.ag-header-group-cell {\n display: flex;\n align-items: center;\n height: 100%;\n position: absolute;\n}\n\n.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize {\n display: none;\n}\n\n.ag-cell-label-container {\n display: flex;\n justify-content: space-between;\n flex-direction: row-reverse;\n align-items: center;\n height: 100%;\n width: 100%;\n overflow: hidden;\n padding: 5px 0px;\n}\n\n.ag-right-aligned-header .ag-cell-label-container {\n flex-direction: row;\n}\n.ag-right-aligned-header .ag-header-cell-text {\n text-align: end;\n}\n\n.ag-side-bar {\n display: flex;\n flex-direction: row-reverse;\n}\n\n.ag-side-bar-left {\n order: -1;\n flex-direction: row;\n}\n\n.ag-side-button-button {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex-wrap: nowrap;\n white-space: nowrap;\n outline: none;\n cursor: pointer;\n}\n\n.ag-side-button-label {\n writing-mode: vertical-lr;\n}\n\n.ag-status-bar {\n display: flex;\n justify-content: space-between;\n overflow: hidden;\n}\n\n.ag-status-panel {\n display: inline-flex;\n}\n\n.ag-status-name-value {\n white-space: nowrap;\n}\n\n.ag-status-bar-left {\n display: inline-flex;\n}\n\n.ag-status-bar-center {\n display: inline-flex;\n}\n\n.ag-status-bar-right {\n display: inline-flex;\n}\n\n.ag-icon {\n display: block;\n speak: none;\n}\n\n.ag-group {\n position: relative;\n width: 100%;\n}\n\n.ag-group-title-bar {\n display: flex;\n align-items: center;\n}\n\n.ag-group-title {\n display: block;\n flex: 1 1 auto;\n min-width: 0;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.ag-group-title-bar .ag-group-title {\n cursor: default;\n}\n\n.ag-group-toolbar {\n display: flex;\n align-items: center;\n}\n\n.ag-group-container {\n display: flex;\n}\n\n.ag-disabled .ag-group-container {\n pointer-events: none;\n}\n\n.ag-group-container-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n}\n\n.ag-group-container-vertical {\n flex-direction: column;\n}\n\n.ag-column-group-icons {\n display: block;\n}\n.ag-column-group-icons > * {\n cursor: pointer;\n}\n\n.ag-group-item-alignment-stretch .ag-group-item {\n align-items: stretch;\n}\n\n.ag-group-item-alignment-start .ag-group-item {\n align-items: flex-start;\n}\n\n.ag-group-item-alignment-end .ag-group-item {\n align-items: flex-end;\n}\n\n.ag-toggle-button-icon {\n transition: right 0.3s;\n position: absolute;\n top: -1px;\n}\n\n.ag-input-field,\n.ag-select {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.ag-input-field-input {\n flex: 1 1 auto;\n}\n\n.ag-floating-filter-input .ag-input-field-input[type='date'] {\n width: 1px;\n}\n\n.ag-range-field {\n display: flex;\n align-items: center;\n}\n\n.ag-angle-select {\n display: flex;\n align-items: center;\n}\n\n.ag-angle-select-wrapper {\n display: flex;\n}\n\n.ag-angle-select-parent-circle {\n display: block;\n position: relative;\n}\n\n.ag-angle-select-child-circle {\n position: absolute;\n}\n\n.ag-slider-wrapper {\n display: flex;\n}\n.ag-slider-wrapper .ag-input-field {\n flex: 1 1 auto;\n}\n\n.ag-picker-field-display {\n flex: 1 1 auto;\n}\n\n.ag-picker-field {\n display: flex;\n align-items: center;\n}\n\n.ag-picker-field-icon {\n display: flex;\n border: 0;\n padding: 0;\n margin: 0;\n cursor: pointer;\n}\n\n.ag-picker-field-wrapper {\n overflow: hidden;\n}\n\n.ag-label-align-right .ag-label {\n order: 1;\n}\n.ag-label-align-right > * {\n flex: none;\n}\n\n.ag-label-align-top {\n flex-direction: column;\n align-items: flex-start;\n}\n.ag-label-align-top > * {\n align-self: stretch;\n}\n\n.ag-label-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n.ag-color-panel {\n width: 100%;\n display: flex;\n flex-direction: column;\n text-align: center;\n}\n\n.ag-spectrum-color {\n flex: 1 1 auto;\n position: relative;\n overflow: hidden;\n cursor: default;\n}\n\n.ag-spectrum-fill {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.ag-spectrum-val {\n cursor: pointer;\n}\n\n.ag-spectrum-dragger {\n position: absolute;\n pointer-events: none;\n cursor: pointer;\n}\n\n.ag-spectrum-hue {\n cursor: default;\n background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);\n}\n\n.ag-spectrum-alpha {\n cursor: default;\n}\n\n.ag-spectrum-hue-background {\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-alpha-background {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));\n width: 100%;\n height: 100%;\n}\n\n.ag-spectrum-tool {\n cursor: pointer;\n}\n\n.ag-spectrum-slider {\n position: absolute;\n pointer-events: none;\n}\n\n.ag-recent-colors {\n display: flex;\n}\n\n.ag-recent-color {\n cursor: pointer;\n}\n\n.ag-ltr .ag-column-select-indent-1 {\n padding-left: 20px;\n}\n.ag-rtl .ag-column-select-indent-1 {\n padding-right: 20px;\n}\n\n.ag-ltr .ag-set-filter-indent-1 {\n padding-left: 20px;\n}\n.ag-rtl .ag-set-filter-indent-1 {\n padding-right: 20px;\n}\n\n.ag-ltr .ag-row-group-indent-1 {\n padding-left: 20px;\n}\n.ag-rtl .ag-row-group-indent-1 {\n padding-right: 20px;\n}\n\n.ag-ltr .ag-column-select-indent-2 {\n padding-left: 40px;\n}\n.ag-rtl .ag-column-select-indent-2 {\n padding-right: 40px;\n}\n\n.ag-ltr .ag-set-filter-indent-2 {\n padding-left: 40px;\n}\n.ag-rtl .ag-set-filter-indent-2 {\n padding-right: 40px;\n}\n\n.ag-ltr .ag-row-group-indent-2 {\n padding-left: 40px;\n}\n.ag-rtl .ag-row-group-indent-2 {\n padding-right: 40px;\n}\n\n.ag-ltr .ag-column-select-indent-3 {\n padding-left: 60px;\n}\n.ag-rtl .ag-column-select-indent-3 {\n padding-right: 60px;\n}\n\n.ag-ltr .ag-set-filter-indent-3 {\n padding-left: 60px;\n}\n.ag-rtl .ag-set-filter-indent-3 {\n padding-right: 60px;\n}\n\n.ag-ltr .ag-row-group-indent-3 {\n padding-left: 60px;\n}\n.ag-rtl .ag-row-group-indent-3 {\n padding-right: 60px;\n}\n\n.ag-ltr .ag-column-select-indent-4 {\n padding-left: 80px;\n}\n.ag-rtl .ag-column-select-indent-4 {\n padding-right: 80px;\n}\n\n.ag-ltr .ag-set-filter-indent-4 {\n padding-left: 80px;\n}\n.ag-rtl .ag-set-filter-indent-4 {\n padding-right: 80px;\n}\n\n.ag-ltr .ag-row-group-indent-4 {\n padding-left: 80px;\n}\n.ag-rtl .ag-row-group-indent-4 {\n padding-right: 80px;\n}\n\n.ag-ltr .ag-column-select-indent-5 {\n padding-left: 100px;\n}\n.ag-rtl .ag-column-select-indent-5 {\n padding-right: 100px;\n}\n\n.ag-ltr .ag-set-filter-indent-5 {\n padding-left: 100px;\n}\n.ag-rtl .ag-set-filter-indent-5 {\n padding-right: 100px;\n}\n\n.ag-ltr .ag-row-group-indent-5 {\n padding-left: 100px;\n}\n.ag-rtl .ag-row-group-indent-5 {\n padding-right: 100px;\n}\n\n.ag-ltr .ag-column-select-indent-6 {\n padding-left: 120px;\n}\n.ag-rtl .ag-column-select-indent-6 {\n padding-right: 120px;\n}\n\n.ag-ltr .ag-set-filter-indent-6 {\n padding-left: 120px;\n}\n.ag-rtl .ag-set-filter-indent-6 {\n padding-right: 120px;\n}\n\n.ag-ltr .ag-row-group-indent-6 {\n padding-left: 120px;\n}\n.ag-rtl .ag-row-group-indent-6 {\n padding-right: 120px;\n}\n\n.ag-ltr .ag-column-select-indent-7 {\n padding-left: 140px;\n}\n.ag-rtl .ag-column-select-indent-7 {\n padding-right: 140px;\n}\n\n.ag-ltr .ag-set-filter-indent-7 {\n padding-left: 140px;\n}\n.ag-rtl .ag-set-filter-indent-7 {\n padding-right: 140px;\n}\n\n.ag-ltr .ag-row-group-indent-7 {\n padding-left: 140px;\n}\n.ag-rtl .ag-row-group-indent-7 {\n padding-right: 140px;\n}\n\n.ag-ltr .ag-column-select-indent-8 {\n padding-left: 160px;\n}\n.ag-rtl .ag-column-select-indent-8 {\n padding-right: 160px;\n}\n\n.ag-ltr .ag-set-filter-indent-8 {\n padding-left: 160px;\n}\n.ag-rtl .ag-set-filter-indent-8 {\n padding-right: 160px;\n}\n\n.ag-ltr .ag-row-group-indent-8 {\n padding-left: 160px;\n}\n.ag-rtl .ag-row-group-indent-8 {\n padding-right: 160px;\n}\n\n.ag-ltr .ag-column-select-indent-9 {\n padding-left: 180px;\n}\n.ag-rtl .ag-column-select-indent-9 {\n padding-right: 180px;\n}\n\n.ag-ltr .ag-set-filter-indent-9 {\n padding-left: 180px;\n}\n.ag-rtl .ag-set-filter-indent-9 {\n padding-right: 180px;\n}\n\n.ag-ltr .ag-row-group-indent-9 {\n padding-left: 180px;\n}\n.ag-rtl .ag-row-group-indent-9 {\n padding-right: 180px;\n}\n\n.ag-ltr {\n direction: ltr;\n}\n.ag-ltr .ag-body,\n.ag-ltr .ag-floating-top,\n.ag-ltr .ag-floating-bottom,\n.ag-ltr .ag-header,\n.ag-ltr .ag-sticky-top,\n.ag-ltr .ag-body-viewport,\n.ag-ltr .ag-body-horizontal-scroll {\n flex-direction: row;\n}\n\n.ag-rtl {\n direction: rtl;\n}\n.ag-rtl .ag-body,\n.ag-rtl .ag-floating-top,\n.ag-rtl .ag-floating-bottom,\n.ag-rtl .ag-header,\n.ag-rtl .ag-sticky-top,\n.ag-rtl .ag-body-viewport,\n.ag-rtl .ag-body-horizontal-scroll {\n flex-direction: row-reverse;\n}\n.ag-rtl .ag-icon-contracted,\n.ag-rtl .ag-icon-expanded,\n.ag-rtl .ag-icon-tree-closed {\n display: block;\n transform: rotate(180deg);\n}\n\n.ag-body .ag-body-viewport {\n -webkit-overflow-scrolling: touch;\n overflow: auto;\n}\n\n.ag-layout-print.ag-body {\n display: block;\n height: unset;\n}\n.ag-layout-print.ag-body-clipper {\n height: unset;\n}\n.ag-layout-print.ag-root-wrapper {\n display: inline-flex;\n}\n.ag-layout-print .ag-center-cols-clipper {\n min-width: 100%;\n}\n.ag-layout-print .ag-body-vertical-scroll {\n display: none;\n}\n.ag-layout-print .ag-body-horizontal-scroll {\n display: none;\n}\n.ag-layout-print.ag-force-vertical-scroll {\n overflow-y: visible !important;\n}\n\n@media print {\n .ag-root-wrapper.ag-layout-print {\n display: table;\n }\n .ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,\n .ag-root-wrapper.ag-layout-print .ag-root,\n .ag-root-wrapper.ag-layout-print .ag-body-viewport,\n .ag-root-wrapper.ag-layout-print .ag-center-cols-container,\n .ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,\n .ag-root-wrapper.ag-layout-print .ag-center-cols-clipper,\n .ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,\n .ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {\n height: auto !important;\n overflow: hidden !important;\n display: block !important;\n }\n .ag-root-wrapper.ag-layout-print .ag-row,\n .ag-root-wrapper.ag-layout-print .ag-cell {\n break-inside: avoid;\n }\n}\n[class^='ag-'],\n[class^='ag-']:focus,\n[class^='ag-']:after,\n[class^='ag-']:before {\n box-sizing: border-box;\n outline: none;\n}\n\n[class^='ag-']::-ms-clear {\n display: none;\n}\n\n.ag-checkbox .ag-input-wrapper,\n.ag-radio-button .ag-input-wrapper {\n overflow: visible;\n}\n\n.ag-range-field .ag-input-wrapper {\n height: 100%;\n}\n\n.ag-toggle-button {\n flex: none;\n width: unset;\n min-width: unset;\n}\n\n.ag-button {\n border-radius: 0px;\n color: var(--ag-foreground-color);\n}\n\n.ag-button:hover {\n background-color: transparent;\n}\n\n.ag-ltr .ag-label-align-right .ag-label {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-label-align-right .ag-label {\n margin-right: var(--ag-grid-size);\n}\n\ninput[class^='ag-'] {\n margin: 0;\n background-color: var(--ag-background-color);\n}\n\ntextarea[class^='ag-'],\nselect[class^='ag-'] {\n background-color: var(--ag-background-color);\n}\n\ninput[class^='ag-']:not([type]),\ninput[class^='ag-'][type='text'],\ninput[class^='ag-'][type='number'],\ninput[class^='ag-'][type='tel'],\ninput[class^='ag-'][type='date'],\ninput[class^='ag-'][type='datetime-local'],\ntextarea[class^='ag-'] {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n border: var(--ag-borders-input) var(--ag-input-border-color);\n}\ninput[class^='ag-']:not([type]):disabled,\ninput[class^='ag-'][type='text']:disabled,\ninput[class^='ag-'][type='number']:disabled,\ninput[class^='ag-'][type='tel']:disabled,\ninput[class^='ag-'][type='date']:disabled,\ninput[class^='ag-'][type='datetime-local']:disabled,\ntextarea[class^='ag-']:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\ninput[class^='ag-']:not([type]):focus,\ninput[class^='ag-'][type='text']:focus,\ninput[class^='ag-'][type='number']:focus,\ninput[class^='ag-'][type='tel']:focus,\ninput[class^='ag-'][type='date']:focus,\ninput[class^='ag-'][type='datetime-local']:focus,\ntextarea[class^='ag-']:focus {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-input-focus-border-color);\n}\ninput[class^='ag-']:not([type]):invalid,\ninput[class^='ag-'][type='text']:invalid,\ninput[class^='ag-'][type='number']:invalid,\ninput[class^='ag-'][type='tel']:invalid,\ninput[class^='ag-'][type='date']:invalid,\ninput[class^='ag-'][type='datetime-local']:invalid,\ntextarea[class^='ag-']:invalid {\n border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);\n}\n\ninput[class^='ag-'][type='number']:not(.ag-number-field-input-stepper) {\n -moz-appearance: textfield;\n}\ninput[class^='ag-'][type='number']:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button,\ninput[class^='ag-'][type='number']:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\ninput[class^='ag-'][type='range'] {\n padding: 0;\n}\n\ninput[class^='ag-'][type='button']:focus,\nbutton[class^='ag-']:focus {\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n\n.ag-drag-handle {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-list-item,\n.ag-virtual-list-item {\n height: var(--ag-list-item-height);\n}\n\n.ag-keyboard-focus .ag-virtual-list-item:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-virtual-list-item:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-select-list {\n background-color: var(--ag-background-color);\n overflow-y: auto;\n overflow-x: hidden;\n border-radius: var(--ag-border-radius);\n border: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-list-item {\n display: flex;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-list-item.ag-active-item {\n background-color: var(--ag-row-hover-color);\n}\n\n.ag-select-list-item {\n padding-left: 4px;\n padding-right: 4px;\n cursor: default;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.ag-select-list-item span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ag-row-drag,\n.ag-selection-checkbox,\n.ag-group-expanded,\n.ag-group-contracted {\n color: var(--ag-secondary-foreground-color);\n}\n.ag-ltr .ag-row-drag,\n.ag-ltr .ag-selection-checkbox,\n.ag-ltr .ag-group-expanded,\n.ag-ltr .ag-group-contracted {\n margin-right: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-row-drag,\n.ag-rtl .ag-selection-checkbox,\n.ag-rtl .ag-group-expanded,\n.ag-rtl .ag-group-contracted {\n margin-left: var(--ag-cell-widget-spacing);\n}\n\n.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {\n --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));\n --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));\n height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));\n display: flex;\n align-items: center;\n flex: none;\n}\n\n.ag-group-expanded,\n.ag-group-contracted {\n cursor: pointer;\n}\n\n.ag-group-title-bar-icon {\n cursor: pointer;\n flex: none;\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-ltr .ag-group-child-count {\n margin-left: 2px;\n}\n.ag-rtl .ag-group-child-count {\n margin-right: 2px;\n}\n\n.ag-group-title-bar {\n background-color: var(--ag-subheader-background-color);\n padding: var(--ag-grid-size);\n}\n\n.ag-group-toolbar {\n padding: var(--ag-grid-size);\n background-color: var(--ag-subheader-toolbar-background-color);\n}\n\n.ag-disabled-group-title-bar,\n.ag-disabled-group-container {\n opacity: 0.5;\n}\n\n.group-item {\n margin: calc(var(--ag-grid-size) * 0.5) 0;\n}\n\n.ag-label {\n white-space: nowrap;\n}\n.ag-ltr .ag-label {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-label {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-label-align-top .ag-label {\n margin-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-angle-select[disabled] {\n color: var(--ag-disabled-foreground-color);\n pointer-events: none;\n}\n.ag-angle-select[disabled] .ag-angle-select-field {\n opacity: 0.4;\n}\n\n.ag-ltr .ag-slider-field,\n.ag-ltr .ag-angle-select-field {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-slider-field,\n.ag-rtl .ag-angle-select-field {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-angle-select-parent-circle {\n width: 24px;\n height: 24px;\n border-radius: 12px;\n border: solid 1px;\n border-color: var(--ag-border-color);\n background-color: var(--ag-background-color);\n}\n\n.ag-angle-select-child-circle {\n top: 4px;\n left: 12px;\n width: 6px;\n height: 6px;\n margin-left: -3px;\n margin-top: -4px;\n border-radius: 3px;\n background-color: var(--ag-secondary-foreground-color);\n}\n\n.ag-picker-field-wrapper {\n border: var(--ag-borders);\n border-color: var(--ag-border-color);\n border-radius: 5px;\n}\n.ag-picker-field-wrapper:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-picker-field-wrapper.ag-picker-has-focus,\n.ag-picker-field-wrapper:focus {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-picker-field-button {\n background-color: var(--ag-background-color);\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-dialog.ag-color-dialog {\n border-radius: 5px;\n}\n\n.ag-color-picker .ag-picker-field-display {\n height: var(--ag-icon-size);\n}\n\n.ag-color-panel {\n padding: var(--ag-grid-size);\n}\n\n.ag-spectrum-color {\n background-color: rgb(255, 0, 0);\n border-radius: 2px;\n}\n\n.ag-spectrum-tools {\n padding: 10px;\n}\n\n.ag-spectrum-sat {\n background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));\n}\n\n.ag-spectrum-val {\n background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));\n}\n\n.ag-spectrum-dragger {\n border-radius: 12px;\n height: 12px;\n width: 12px;\n border: 1px solid white;\n background: black;\n box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);\n}\n\n.ag-spectrum-hue-background {\n border-radius: 2px;\n}\n\n.ag-spectrum-alpha-background {\n border-radius: 2px;\n}\n\n.ag-spectrum-tool {\n margin-bottom: 10px;\n height: 11px;\n border-radius: 2px;\n}\n\n.ag-spectrum-slider {\n margin-top: -12px;\n width: 13px;\n height: 13px;\n border-radius: 13px;\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n\n.ag-recent-color {\n margin: 0 3px;\n}\n.ag-recent-color:first-child {\n margin-left: 0;\n}\n.ag-recent-color:last-child {\n margin-right: 0;\n}\n\n.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),\n.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),\n.ag-recent-color:focus-visible:not(:disabled):not([readonly]) {\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n\n.ag-dnd-ghost {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n overflow: hidden;\n text-overflow: ellipsis;\n border: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n color: var(--ag-secondary-foreground-color);\n height: var(--ag-header-height) !important;\n line-height: var(--ag-header-height);\n margin: 0;\n padding: 0 calc(var(--ag-grid-size) * 2);\n transform: translateY(calc(var(--ag-grid-size) * 2));\n}\n\n.ag-dnd-ghost-icon {\n margin-right: var(--ag-grid-size);\n color: var(--ag-foreground-color);\n}\n\n.ag-popup-child:not(.ag-tooltip-custom) {\n box-shadow: var(--ag-popup-shadow);\n}\n\n.ag-select .ag-picker-field-wrapper {\n background-color: var(--ag-background-color);\n min-height: var(--ag-list-item-height);\n cursor: default;\n}\n.ag-select.ag-disabled .ag-picker-field-wrapper:focus {\n box-shadow: none;\n}\n.ag-select:not(.ag-cell-editor, .ag-label-align-top) {\n height: var(--ag-list-item-height);\n}\n.ag-select .ag-picker-field-display {\n margin: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ag-select .ag-picker-field-icon {\n display: flex;\n align-items: center;\n}\n.ag-select.ag-disabled {\n opacity: 0.5;\n}\n\n.ag-rich-select-value,\n.ag-rich-select-list {\n background-color: var(--ag-background-color);\n}\n\n.ag-rich-select-list {\n width: 100%;\n height: auto;\n border-radius: var(--ag-border-radius);\n border: var(--ag-borders) var(--ag-border-color);\n max-height: calc(var(--ag-row-height) * 6.5);\n}\n\n.ag-rich-select-value {\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n padding-top: 0;\n padding-bottom: 0;\n}\n.ag-ltr .ag-rich-select-value {\n padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-rich-select-value {\n padding-right: var(--ag-cell-horizontal-padding);\n}\n.ag-ltr .ag-rich-select-value {\n padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-rich-select-value {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-popup-editor .ag-rich-select-value {\n height: var(--ag-row-height);\n min-width: 200px;\n}\n\n.ag-rich-select-virtual-list-item {\n cursor: default;\n height: var(--ag-list-item-height);\n}\n.ag-keyboard-focus .ag-rich-select-virtual-list-item:focus::after {\n content: none;\n}\n.ag-rich-select-virtual-list-item:hover {\n background-color: var(--ag-row-hover-color);\n}\n\n.ag-ltr .ag-rich-select-row {\n padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-rich-select-row {\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-rich-select-row-selected {\n background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-autocomplete {\n width: 100%;\n}\n\n.ag-autocomplete-list {\n width: 100%;\n min-width: 200px;\n height: calc(var(--ag-row-height) * 6.5);\n}\n\n.ag-autocomplete-virtual-list-item {\n cursor: default;\n height: var(--ag-list-item-height);\n}\n.ag-keyboard-focus .ag-autocomplete-virtual-list-item:focus::after {\n content: none;\n}\n.ag-autocomplete-virtual-list-item:hover {\n background-color: var(--ag-row-hover-color);\n}\n\n.ag-autocomplete-row-label {\n margin: 0px var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-autocomplete-row-selected {\n background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-dragging-range-handle .ag-dialog,\n.ag-dragging-fill-handle .ag-dialog {\n opacity: 0.7;\n pointer-events: none;\n}\n\n.ag-dialog {\n border-radius: var(--ag-border-radius);\n border: var(--ag-borders) var(--ag-border-color);\n box-shadow: var(--ag-popup-shadow);\n}\n\n.ag-panel {\n background-color: var(--ag-background-color);\n}\n\n.ag-panel-title-bar {\n background-color: var(--ag-header-background-color);\n color: var(--ag-header-foreground-color);\n height: var(--ag-header-height);\n padding: var(--ag-grid-size) var(--ag-cell-horizontal-padding);\n border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-ltr .ag-panel-title-bar-button {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-panel-title-bar-button {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-tooltip {\n background-color: var(--ag-tooltip-background-color);\n color: var(--ag-foreground-color);\n padding: var(--ag-grid-size);\n border: var(--ag-borders) var(--ag-border-color);\n border-radius: var(--ag-card-radius);\n white-space: normal;\n}\n\n.ag-tooltip.ag-tooltip-animate,\n.ag-tooltip-custom.ag-tooltip-animate {\n transition: opacity 1s;\n}\n.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,\n.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding {\n opacity: 0;\n}\n\n.ag-ltr .ag-column-select-indent-1 {\n padding-left: calc(1 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-1 {\n padding-right: calc(1 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-2 {\n padding-left: calc(2 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-2 {\n padding-right: calc(2 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-3 {\n padding-left: calc(3 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-3 {\n padding-right: calc(3 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-4 {\n padding-left: calc(4 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-4 {\n padding-right: calc(4 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-5 {\n padding-left: calc(5 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-5 {\n padding-right: calc(5 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-6 {\n padding-left: calc(6 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-6 {\n padding-right: calc(6 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-7 {\n padding-left: calc(7 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-7 {\n padding-right: calc(7 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-8 {\n padding-left: calc(8 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-8 {\n padding-right: calc(8 * var(--ag-column-select-indent-size));\n}\n\n.ag-ltr .ag-column-select-indent-9 {\n padding-left: calc(9 * var(--ag-column-select-indent-size));\n}\n.ag-rtl .ag-column-select-indent-9 {\n padding-right: calc(9 * var(--ag-column-select-indent-size));\n}\n\n.ag-column-select-header-icon {\n cursor: pointer;\n}\n\n.ag-keyboard-focus .ag-column-select-header-icon:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-column-select-header-icon:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 0px;\n left: 0px;\n display: block;\n width: calc(100% - 0px);\n height: calc(100% - 0px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-ltr .ag-column-group-icons:not(:last-child),\n.ag-ltr .ag-column-select-header-icon:not(:last-child),\n.ag-ltr .ag-column-select-header-checkbox:not(:last-child),\n.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),\n.ag-ltr .ag-column-select-checkbox:not(:last-child),\n.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),\n.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),\n.ag-ltr .ag-column-select-column-label:not(:last-child) {\n margin-right: var(--ag-widget-horizontal-spacing);\n}\n.ag-rtl .ag-column-group-icons:not(:last-child),\n.ag-rtl .ag-column-select-header-icon:not(:last-child),\n.ag-rtl .ag-column-select-header-checkbox:not(:last-child),\n.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),\n.ag-rtl .ag-column-select-checkbox:not(:last-child),\n.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),\n.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),\n.ag-rtl .ag-column-select-column-label:not(:last-child) {\n margin-left: var(--ag-widget-horizontal-spacing);\n}\n\n.ag-keyboard-focus .ag-column-select-virtual-list-item:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-column-select-virtual-list-item:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 1px;\n left: 1px;\n display: block;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-select-column-group:not(:last-child),\n.ag-column-select-column:not(:last-child) {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-column-select-column-readonly,\n.ag-column-select-column-group-readonly {\n color: var(--ag-disabled-foreground-color);\n pointer-events: none;\n}\n\n.ag-ltr .ag-column-select-add-group-indent {\n margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-column-select-add-group-indent {\n margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n\n.ag-column-select-virtual-list-viewport {\n padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) 0px;\n}\n\n.ag-column-select-virtual-list-item {\n padding: 0 var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-checkbox-edit {\n padding-left: var(--ag-cell-horizontal-padding);\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-rtl {\n text-align: right;\n}\n\n.ag-root-wrapper {\n border: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);\n}\n\n.ag-ltr .ag-row-group-indent-1 {\n padding-left: calc(1 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-1 {\n padding-right: calc(1 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-1 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-1 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);\n}\n\n.ag-ltr .ag-row-group-indent-2 {\n padding-left: calc(2 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-2 {\n padding-right: calc(2 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-2 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-2 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);\n}\n\n.ag-ltr .ag-row-group-indent-3 {\n padding-left: calc(3 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-3 {\n padding-right: calc(3 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-3 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-3 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);\n}\n\n.ag-ltr .ag-row-group-indent-4 {\n padding-left: calc(4 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-4 {\n padding-right: calc(4 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-4 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-4 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);\n}\n\n.ag-ltr .ag-row-group-indent-5 {\n padding-left: calc(5 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-5 {\n padding-right: calc(5 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-5 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-5 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);\n}\n\n.ag-ltr .ag-row-group-indent-6 {\n padding-left: calc(6 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-6 {\n padding-right: calc(6 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-6 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-6 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);\n}\n\n.ag-ltr .ag-row-group-indent-7 {\n padding-left: calc(7 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-7 {\n padding-right: calc(7 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-7 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-7 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);\n}\n\n.ag-ltr .ag-row-group-indent-8 {\n padding-left: calc(8 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-8 {\n padding-right: calc(8 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-8 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-8 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);\n}\n\n.ag-ltr .ag-row-group-indent-9 {\n padding-left: calc(9 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-9 {\n padding-right: calc(9 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-9 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-9 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);\n}\n\n.ag-ltr .ag-row-group-indent-10 {\n padding-left: calc(10 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-10 {\n padding-right: calc(10 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-10 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-10 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);\n}\n\n.ag-ltr .ag-row-group-indent-11 {\n padding-left: calc(11 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-11 {\n padding-right: calc(11 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-11 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-11 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);\n}\n\n.ag-ltr .ag-row-group-indent-12 {\n padding-left: calc(12 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-12 {\n padding-right: calc(12 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-12 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-12 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);\n}\n\n.ag-ltr .ag-row-group-indent-13 {\n padding-left: calc(13 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-13 {\n padding-right: calc(13 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-13 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-13 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);\n}\n\n.ag-ltr .ag-row-group-indent-14 {\n padding-left: calc(14 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-14 {\n padding-right: calc(14 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-14 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-14 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);\n}\n\n.ag-ltr .ag-row-group-indent-15 {\n padding-left: calc(15 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-15 {\n padding-right: calc(15 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-15 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-15 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);\n}\n\n.ag-ltr .ag-row-group-indent-16 {\n padding-left: calc(16 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-16 {\n padding-right: calc(16 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-16 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-16 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);\n}\n\n.ag-ltr .ag-row-group-indent-17 {\n padding-left: calc(17 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-17 {\n padding-right: calc(17 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-17 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-17 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);\n}\n\n.ag-ltr .ag-row-group-indent-18 {\n padding-left: calc(18 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-18 {\n padding-right: calc(18 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-18 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-18 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);\n}\n\n.ag-ltr .ag-row-group-indent-19 {\n padding-left: calc(19 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-19 {\n padding-right: calc(19 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-19 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-19 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);\n}\n\n.ag-ltr .ag-row-group-indent-20 {\n padding-left: calc(20 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-20 {\n padding-right: calc(20 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-20 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-20 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);\n}\n\n.ag-ltr .ag-row-group-indent-21 {\n padding-left: calc(21 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-21 {\n padding-right: calc(21 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-21 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-21 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);\n}\n\n.ag-ltr .ag-row-group-indent-22 {\n padding-left: calc(22 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-22 {\n padding-right: calc(22 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-22 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-22 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);\n}\n\n.ag-ltr .ag-row-group-indent-23 {\n padding-left: calc(23 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-23 {\n padding-right: calc(23 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-23 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-23 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);\n}\n\n.ag-ltr .ag-row-group-indent-24 {\n padding-left: calc(24 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-24 {\n padding-right: calc(24 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-24 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-24 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);\n}\n\n.ag-ltr .ag-row-group-indent-25 {\n padding-left: calc(25 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-25 {\n padding-right: calc(25 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-25 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-25 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);\n}\n\n.ag-ltr .ag-row-group-indent-26 {\n padding-left: calc(26 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-26 {\n padding-right: calc(26 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-26 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-26 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);\n}\n\n.ag-ltr .ag-row-group-indent-27 {\n padding-left: calc(27 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-27 {\n padding-right: calc(27 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-27 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-27 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);\n}\n\n.ag-ltr .ag-row-group-indent-28 {\n padding-left: calc(28 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-28 {\n padding-right: calc(28 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-28 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-28 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);\n}\n\n.ag-ltr .ag-row-group-indent-29 {\n padding-left: calc(29 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-29 {\n padding-right: calc(29 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-29 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-29 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);\n}\n\n.ag-ltr .ag-row-group-indent-30 {\n padding-left: calc(30 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-30 {\n padding-right: calc(30 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-30 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-30 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);\n}\n\n.ag-ltr .ag-row-group-indent-31 {\n padding-left: calc(31 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-31 {\n padding-right: calc(31 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-31 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-31 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);\n}\n\n.ag-ltr .ag-row-group-indent-32 {\n padding-left: calc(32 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-32 {\n padding-right: calc(32 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-32 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-32 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);\n}\n\n.ag-ltr .ag-row-group-indent-33 {\n padding-left: calc(33 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-33 {\n padding-right: calc(33 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-33 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-33 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);\n}\n\n.ag-ltr .ag-row-group-indent-34 {\n padding-left: calc(34 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-34 {\n padding-right: calc(34 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-34 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-34 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);\n}\n\n.ag-ltr .ag-row-group-indent-35 {\n padding-left: calc(35 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-35 {\n padding-right: calc(35 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-35 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-35 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);\n}\n\n.ag-ltr .ag-row-group-indent-36 {\n padding-left: calc(36 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-36 {\n padding-right: calc(36 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-36 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-36 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);\n}\n\n.ag-ltr .ag-row-group-indent-37 {\n padding-left: calc(37 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-37 {\n padding-right: calc(37 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-37 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-37 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);\n}\n\n.ag-ltr .ag-row-group-indent-38 {\n padding-left: calc(38 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-38 {\n padding-right: calc(38 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-38 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-38 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);\n}\n\n.ag-ltr .ag-row-group-indent-39 {\n padding-left: calc(39 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-39 {\n padding-right: calc(39 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-39 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-39 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);\n}\n\n.ag-ltr .ag-row-group-indent-40 {\n padding-left: calc(40 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-40 {\n padding-right: calc(40 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-40 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-40 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);\n}\n\n.ag-ltr .ag-row-group-indent-41 {\n padding-left: calc(41 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-41 {\n padding-right: calc(41 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-41 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-41 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);\n}\n\n.ag-ltr .ag-row-group-indent-42 {\n padding-left: calc(42 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-42 {\n padding-right: calc(42 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-42 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-42 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);\n}\n\n.ag-ltr .ag-row-group-indent-43 {\n padding-left: calc(43 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-43 {\n padding-right: calc(43 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-43 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-43 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);\n}\n\n.ag-ltr .ag-row-group-indent-44 {\n padding-left: calc(44 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-44 {\n padding-right: calc(44 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-44 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-44 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);\n}\n\n.ag-ltr .ag-row-group-indent-45 {\n padding-left: calc(45 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-45 {\n padding-right: calc(45 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-45 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-45 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);\n}\n\n.ag-ltr .ag-row-group-indent-46 {\n padding-left: calc(46 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-46 {\n padding-right: calc(46 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-46 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-46 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);\n}\n\n.ag-ltr .ag-row-group-indent-47 {\n padding-left: calc(47 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-47 {\n padding-right: calc(47 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-47 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-47 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);\n}\n\n.ag-ltr .ag-row-group-indent-48 {\n padding-left: calc(48 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-48 {\n padding-right: calc(48 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-48 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-48 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);\n}\n\n.ag-ltr .ag-row-group-indent-49 {\n padding-left: calc(49 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-49 {\n padding-right: calc(49 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-49 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-49 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);\n}\n\n.ag-ltr .ag-row-group-indent-50 {\n padding-left: calc(50 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-50 {\n padding-right: calc(50 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-50 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-50 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);\n}\n\n.ag-ltr .ag-row-group-indent-51 {\n padding-left: calc(51 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-51 {\n padding-right: calc(51 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-51 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-51 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);\n}\n\n.ag-ltr .ag-row-group-indent-52 {\n padding-left: calc(52 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-52 {\n padding-right: calc(52 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-52 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-52 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);\n}\n\n.ag-ltr .ag-row-group-indent-53 {\n padding-left: calc(53 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-53 {\n padding-right: calc(53 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-53 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-53 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);\n}\n\n.ag-ltr .ag-row-group-indent-54 {\n padding-left: calc(54 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-54 {\n padding-right: calc(54 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-54 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-54 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);\n}\n\n.ag-ltr .ag-row-group-indent-55 {\n padding-left: calc(55 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-55 {\n padding-right: calc(55 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-55 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-55 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);\n}\n\n.ag-ltr .ag-row-group-indent-56 {\n padding-left: calc(56 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-56 {\n padding-right: calc(56 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-56 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-56 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);\n}\n\n.ag-ltr .ag-row-group-indent-57 {\n padding-left: calc(57 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-57 {\n padding-right: calc(57 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-57 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-57 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);\n}\n\n.ag-ltr .ag-row-group-indent-58 {\n padding-left: calc(58 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-58 {\n padding-right: calc(58 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-58 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-58 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);\n}\n\n.ag-ltr .ag-row-group-indent-59 {\n padding-left: calc(59 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-59 {\n padding-right: calc(59 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-59 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-59 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);\n}\n\n.ag-ltr .ag-row-group-indent-60 {\n padding-left: calc(60 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-60 {\n padding-right: calc(60 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-60 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-60 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);\n}\n\n.ag-ltr .ag-row-group-indent-61 {\n padding-left: calc(61 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-61 {\n padding-right: calc(61 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-61 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-61 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);\n}\n\n.ag-ltr .ag-row-group-indent-62 {\n padding-left: calc(62 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-62 {\n padding-right: calc(62 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-62 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-62 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);\n}\n\n.ag-ltr .ag-row-group-indent-63 {\n padding-left: calc(63 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-63 {\n padding-right: calc(63 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-63 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-63 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);\n}\n\n.ag-ltr .ag-row-group-indent-64 {\n padding-left: calc(64 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-64 {\n padding-right: calc(64 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-64 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-64 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);\n}\n\n.ag-ltr .ag-row-group-indent-65 {\n padding-left: calc(65 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-65 {\n padding-right: calc(65 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-65 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-65 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);\n}\n\n.ag-ltr .ag-row-group-indent-66 {\n padding-left: calc(66 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-66 {\n padding-right: calc(66 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-66 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-66 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);\n}\n\n.ag-ltr .ag-row-group-indent-67 {\n padding-left: calc(67 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-67 {\n padding-right: calc(67 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-67 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-67 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);\n}\n\n.ag-ltr .ag-row-group-indent-68 {\n padding-left: calc(68 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-68 {\n padding-right: calc(68 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-68 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-68 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);\n}\n\n.ag-ltr .ag-row-group-indent-69 {\n padding-left: calc(69 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-69 {\n padding-right: calc(69 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-69 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-69 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);\n}\n\n.ag-ltr .ag-row-group-indent-70 {\n padding-left: calc(70 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-70 {\n padding-right: calc(70 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-70 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-70 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);\n}\n\n.ag-ltr .ag-row-group-indent-71 {\n padding-left: calc(71 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-71 {\n padding-right: calc(71 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-71 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-71 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);\n}\n\n.ag-ltr .ag-row-group-indent-72 {\n padding-left: calc(72 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-72 {\n padding-right: calc(72 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-72 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-72 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);\n}\n\n.ag-ltr .ag-row-group-indent-73 {\n padding-left: calc(73 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-73 {\n padding-right: calc(73 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-73 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-73 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);\n}\n\n.ag-ltr .ag-row-group-indent-74 {\n padding-left: calc(74 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-74 {\n padding-right: calc(74 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-74 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-74 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);\n}\n\n.ag-ltr .ag-row-group-indent-75 {\n padding-left: calc(75 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-75 {\n padding-right: calc(75 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-75 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-75 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);\n}\n\n.ag-ltr .ag-row-group-indent-76 {\n padding-left: calc(76 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-76 {\n padding-right: calc(76 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-76 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-76 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);\n}\n\n.ag-ltr .ag-row-group-indent-77 {\n padding-left: calc(77 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-77 {\n padding-right: calc(77 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-77 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-77 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);\n}\n\n.ag-ltr .ag-row-group-indent-78 {\n padding-left: calc(78 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-78 {\n padding-right: calc(78 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-78 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-78 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);\n}\n\n.ag-ltr .ag-row-group-indent-79 {\n padding-left: calc(79 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-79 {\n padding-right: calc(79 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-79 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-79 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);\n}\n\n.ag-ltr .ag-row-group-indent-80 {\n padding-left: calc(80 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-80 {\n padding-right: calc(80 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-80 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-80 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);\n}\n\n.ag-ltr .ag-row-group-indent-81 {\n padding-left: calc(81 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-81 {\n padding-right: calc(81 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-81 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-81 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);\n}\n\n.ag-ltr .ag-row-group-indent-82 {\n padding-left: calc(82 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-82 {\n padding-right: calc(82 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-82 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-82 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);\n}\n\n.ag-ltr .ag-row-group-indent-83 {\n padding-left: calc(83 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-83 {\n padding-right: calc(83 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-83 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-83 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);\n}\n\n.ag-ltr .ag-row-group-indent-84 {\n padding-left: calc(84 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-84 {\n padding-right: calc(84 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-84 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-84 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);\n}\n\n.ag-ltr .ag-row-group-indent-85 {\n padding-left: calc(85 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-85 {\n padding-right: calc(85 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-85 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-85 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);\n}\n\n.ag-ltr .ag-row-group-indent-86 {\n padding-left: calc(86 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-86 {\n padding-right: calc(86 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-86 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-86 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);\n}\n\n.ag-ltr .ag-row-group-indent-87 {\n padding-left: calc(87 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-87 {\n padding-right: calc(87 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-87 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-87 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);\n}\n\n.ag-ltr .ag-row-group-indent-88 {\n padding-left: calc(88 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-88 {\n padding-right: calc(88 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-88 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-88 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);\n}\n\n.ag-ltr .ag-row-group-indent-89 {\n padding-left: calc(89 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-89 {\n padding-right: calc(89 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-89 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-89 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);\n}\n\n.ag-ltr .ag-row-group-indent-90 {\n padding-left: calc(90 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-90 {\n padding-right: calc(90 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-90 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-90 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);\n}\n\n.ag-ltr .ag-row-group-indent-91 {\n padding-left: calc(91 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-91 {\n padding-right: calc(91 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-91 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-91 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);\n}\n\n.ag-ltr .ag-row-group-indent-92 {\n padding-left: calc(92 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-92 {\n padding-right: calc(92 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-92 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-92 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);\n}\n\n.ag-ltr .ag-row-group-indent-93 {\n padding-left: calc(93 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-93 {\n padding-right: calc(93 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-93 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-93 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);\n}\n\n.ag-ltr .ag-row-group-indent-94 {\n padding-left: calc(94 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-94 {\n padding-right: calc(94 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-94 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-94 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);\n}\n\n.ag-ltr .ag-row-group-indent-95 {\n padding-left: calc(95 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-95 {\n padding-right: calc(95 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-95 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-95 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);\n}\n\n.ag-ltr .ag-row-group-indent-96 {\n padding-left: calc(96 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-96 {\n padding-right: calc(96 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-96 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-96 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);\n}\n\n.ag-ltr .ag-row-group-indent-97 {\n padding-left: calc(97 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-97 {\n padding-right: calc(97 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-97 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-97 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);\n}\n\n.ag-ltr .ag-row-group-indent-98 {\n padding-left: calc(98 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-98 {\n padding-right: calc(98 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-98 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-98 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);\n}\n.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {\n padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);\n}\n\n.ag-ltr .ag-row-group-indent-99 {\n padding-left: calc(99 * var(--ag-row-group-indent-size));\n}\n.ag-rtl .ag-row-group-indent-99 {\n padding-right: calc(99 * var(--ag-row-group-indent-size));\n}\n\n.ag-ltr .ag-row-level-99 .ag-pivot-leaf-group {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-level-99 .ag-pivot-leaf-group {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-ltr .ag-row-group-leaf-indent {\n margin-left: var(--ag-row-group-indent-size);\n}\n.ag-rtl .ag-row-group-leaf-indent {\n margin-right: var(--ag-row-group-indent-size);\n}\n\n.ag-value-change-delta {\n padding-right: 2px;\n}\n\n.ag-value-change-delta-up {\n color: var(--ag-value-change-delta-up-color);\n}\n\n.ag-value-change-delta-down {\n color: var(--ag-value-change-delta-down-color);\n}\n\n.ag-value-change-value {\n background-color: transparent;\n border-radius: 1px;\n padding-left: 1px;\n padding-right: 1px;\n transition: background-color 1s;\n}\n\n.ag-value-change-value-highlight {\n background-color: var(--ag-value-change-value-highlight-background-color);\n transition: background-color 0.1s;\n}\n\n.ag-cell-data-changed {\n background-color: var(--ag-value-change-value-highlight-background-color) !important;\n}\n\n.ag-cell-data-changed-animation {\n background-color: transparent;\n}\n\n.ag-cell-highlight {\n background-color: var(--ag-range-selection-highlight-color) !important;\n}\n\n.ag-row {\n height: var(--ag-row-height);\n background-color: var(--ag-background-color);\n color: var(--ag-data-color);\n border-bottom: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);\n}\n\n.ag-row-highlight-above::after,\n.ag-row-highlight-below::after {\n content: '';\n position: absolute;\n width: calc(100% - 1px);\n height: 1px;\n background-color: var(--ag-range-selection-border-color);\n left: 1px;\n}\n\n.ag-row-highlight-above::after {\n top: -1px;\n}\n\n.ag-row-highlight-above.ag-row-first::after {\n top: 0;\n}\n\n.ag-row-highlight-below::after {\n bottom: 0px;\n}\n\n.ag-row-odd {\n background-color: var(--ag-odd-row-background-color);\n}\n\n.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {\n border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {\n border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-row-selected::before {\n content: '';\n background-color: var(--ag-selected-row-background-color);\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.ag-row-hover:not(.ag-full-width-row)::before,\n.ag-row-hover.ag-full-width-row.ag-row-group::before {\n content: '';\n background-color: var(--ag-row-hover-color);\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n}\n\n.ag-row-hover.ag-full-width-row.ag-row-group > * {\n position: relative;\n}\n\n.ag-row-hover.ag-row-selected::before {\n background-color: var(--ag-row-hover-color);\n background-image: linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));\n}\n\n.ag-column-hover {\n background-color: var(--ag-column-hover-color);\n}\n\n.ag-ltr .ag-right-aligned-cell {\n text-align: right;\n}\n.ag-rtl .ag-right-aligned-cell {\n text-align: left;\n}\n\n.ag-ltr .ag-right-aligned-cell .ag-cell-value,\n.ag-ltr .ag-right-aligned-cell .ag-group-value {\n margin-left: auto;\n}\n.ag-rtl .ag-right-aligned-cell .ag-cell-value,\n.ag-rtl .ag-right-aligned-cell .ag-group-value {\n margin-right: auto;\n}\n\n.ag-cell,\n.ag-full-width-row .ag-cell-wrapper.ag-row-group {\n --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));\n --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));\n border: 1px solid transparent;\n line-height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));\n padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);\n padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);\n -webkit-font-smoothing: subpixel-antialiased;\n}\n\n.ag-row > .ag-cell-wrapper {\n padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);\n padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);\n}\n\n.ag-row-dragging {\n cursor: move;\n opacity: 0.5;\n}\n\n.ag-cell-inline-editing {\n border: 1px solid var(--ag-border-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: 0;\n background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-popup-editor .ag-large-text,\n.ag-autocomplete-list-popup {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n background-color: var(--ag-control-panel-background-color);\n padding: 0;\n}\n\n.ag-large-text-input {\n height: auto;\n padding: var(--ag-cell-horizontal-padding);\n}\n\n.ag-rtl .ag-large-text-input textarea {\n resize: none;\n}\n\n.ag-details-row {\n padding: calc(var(--ag-grid-size) * 5);\n background-color: var(--ag-background-color);\n}\n\n.ag-layout-auto-height .ag-center-cols-clipper,\n.ag-layout-auto-height .ag-center-cols-container,\n.ag-layout-print .ag-center-cols-clipper,\n.ag-layout-print .ag-center-cols-container {\n min-height: 50px;\n}\n\n.ag-overlay-loading-wrapper {\n background-color: var(--ag-modal-overlay-background-color);\n}\n\n.ag-overlay-loading-center {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n}\n\n.ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 30px;\n}\n\n.ag-loading {\n display: flex;\n height: 100%;\n align-items: center;\n}\n.ag-ltr .ag-loading {\n padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-loading {\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-loading-icon {\n padding-right: var(--ag-cell-widget-spacing);\n}\n.ag-rtl .ag-loading-icon {\n padding-left: var(--ag-cell-widget-spacing);\n}\n\n.ag-icon-loading {\n animation-name: spin;\n animation-duration: 1000ms;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.ag-floating-top {\n border-bottom: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-floating-bottom {\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-ltr .ag-cell {\n border-right: var(--ag-cell-horizontal-border);\n}\n.ag-rtl .ag-cell {\n border-left: var(--ag-cell-horizontal-border);\n}\n.ag-ltr .ag-cell {\n border-right-width: 1px;\n}\n.ag-rtl .ag-cell {\n border-left-width: 1px;\n}\n\n.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {\n border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {\n border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-cell-range-selected:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {\n background-color: var(--ag-range-selection-background-color);\n}\n.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {\n background-color: var(--ag-range-selection-chart-background-color) !important;\n}\n.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {\n background-color: var(--ag-range-selection-chart-category-background-color) !important;\n}\n\n.ag-cell-range-selected-1:not(.ag-cell-focus),\n.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {\n background-color: var(--ag-range-selection-background-color);\n}\n\n.ag-cell-range-selected-2:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {\n background-color: var(--ag-range-selection-background-color-2);\n}\n\n.ag-cell-range-selected-3:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {\n background-color: var(--ag-range-selection-background-color-3);\n}\n\n.ag-cell-range-selected-4:not(.ag-cell-focus),\n.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {\n background-color: var(--ag-range-selection-background-color-4);\n}\n\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {\n border-top-color: var(--ag-range-selection-border-color);\n border-top-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {\n border-right-color: var(--ag-range-selection-border-color);\n border-right-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {\n border-bottom-color: var(--ag-range-selection-border-color);\n border-bottom-style: var(--ag-range-selection-border-style);\n}\n.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {\n border-left-color: var(--ag-range-selection-border-color);\n border-left-style: var(--ag-range-selection-border-style);\n}\n\n.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,\n.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,\n.ag-ltr .ag-cell-range-single-cell,\n.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle,\n.ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,\n.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),\n.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,\n.ag-rtl .ag-cell-range-single-cell,\n.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {\n border: 1px solid;\n border-color: var(--ag-range-selection-border-color);\n border-style: var(--ag-range-selection-border-style);\n outline: initial;\n}\n\n.ag-cell.ag-selection-fill-top,\n.ag-cell.ag-selection-fill-top.ag-cell-range-selected {\n border-top: 1px dashed;\n border-top-color: var(--ag-range-selection-border-color);\n}\n\n.ag-ltr .ag-cell.ag-selection-fill-right,\n.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-right: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n.ag-rtl .ag-cell.ag-selection-fill-right,\n.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {\n border-left: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n\n.ag-cell.ag-selection-fill-bottom,\n.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {\n border-bottom: 1px dashed;\n border-bottom-color: var(--ag-range-selection-border-color);\n}\n\n.ag-ltr .ag-cell.ag-selection-fill-left,\n.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-left: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n.ag-rtl .ag-cell.ag-selection-fill-left,\n.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {\n border-right: 1px dashed var(--ag-range-selection-border-color) !important;\n}\n\n.ag-fill-handle,\n.ag-range-handle {\n position: absolute;\n width: 6px;\n height: 6px;\n bottom: -1px;\n background-color: var(--ag-range-selection-border-color);\n}\n.ag-ltr .ag-fill-handle,\n.ag-ltr .ag-range-handle {\n right: -1px;\n}\n.ag-rtl .ag-fill-handle,\n.ag-rtl .ag-range-handle {\n left: -1px;\n}\n\n.ag-fill-handle {\n cursor: cell;\n}\n\n.ag-range-handle {\n cursor: nwse-resize;\n}\n\n.ag-cell-inline-editing {\n border-color: var(--ag-input-focus-border-color) !important;\n}\n\n.ag-menu {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n padding: 0;\n}\n\n.ag-menu-list {\n cursor: default;\n padding: var(--ag-grid-size) 0;\n}\n\n.ag-menu-separator {\n height: calc(var(--ag-grid-size) * 2 + 1px);\n}\n\n.ag-menu-separator-part::after {\n content: '';\n display: block;\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-menu-option-active,\n.ag-compact-menu-option-active {\n background-color: var(--ag-row-hover-color);\n}\n\n.ag-menu-option-part,\n.ag-compact-menu-option-part {\n line-height: var(--ag-icon-size);\n padding: calc(var(--ag-grid-size) + 2px) 0;\n}\n\n.ag-menu-option-disabled,\n.ag-compact-menu-option-disabled {\n opacity: 0.5;\n}\n\n.ag-menu-option-icon,\n.ag-compact-menu-option-icon {\n width: var(--ag-icon-size);\n}\n.ag-ltr .ag-menu-option-icon,\n.ag-ltr .ag-compact-menu-option-icon {\n padding-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-menu-option-icon,\n.ag-rtl .ag-compact-menu-option-icon {\n padding-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-menu-option-text,\n.ag-compact-menu-option-text {\n padding-left: calc(var(--ag-grid-size) * 2);\n padding-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-ltr .ag-menu-option-shortcut,\n.ag-ltr .ag-compact-menu-option-shortcut {\n padding-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-menu-option-shortcut,\n.ag-rtl .ag-compact-menu-option-shortcut {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-menu-option-popup-pointer,\n.ag-compact-menu-option-popup-pointer {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-tabs {\n min-width: var(--ag-tab-min-width);\n}\n\n.ag-tabs-header {\n width: 100%;\n display: flex;\n}\n\n.ag-tab {\n border-bottom: var(--ag-selected-tab-underline-width) solid transparent;\n transition: border-bottom var(--ag-selected-tab-underline-transition-speed);\n display: flex;\n flex: none;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n\n.ag-keyboard-focus .ag-tab:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-tab:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-tab-selected {\n border-bottom-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-menu-header {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-filter-separator {\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-filter-select .ag-picker-field-wrapper {\n width: 0;\n}\n\n.ag-filter-condition-operator {\n height: 17px;\n}\n\n.ag-ltr .ag-filter-condition-operator-or {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-filter-condition-operator-or {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-set-filter-select-all {\n padding-top: var(--ag-widget-container-vertical-padding);\n}\n\n.ag-set-filter-list,\n.ag-filter-no-matches {\n height: calc(var(--ag-list-item-height) * 6);\n}\n\n.ag-set-filter-tree-list {\n height: calc(var(--ag-list-item-height) * 10);\n}\n\n.ag-set-filter-filter {\n margin-top: var(--ag-widget-container-vertical-padding);\n margin-left: var(--ag-widget-container-horizontal-padding);\n margin-right: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-filter-to {\n margin-top: var(--ag-widget-vertical-spacing);\n}\n\n.ag-mini-filter {\n margin: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-set-filter-item {\n margin: 0px var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-ltr .ag-set-filter-add-group-indent {\n margin-left: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-set-filter-add-group-indent {\n margin-right: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-icon-size) + var(--ag-grid-size) * 2);\n}\n\n.ag-ltr .ag-set-filter-indent-1 {\n padding-left: calc(1 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-1 {\n padding-right: calc(1 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-2 {\n padding-left: calc(2 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-2 {\n padding-right: calc(2 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-3 {\n padding-left: calc(3 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-3 {\n padding-right: calc(3 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-4 {\n padding-left: calc(4 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-4 {\n padding-right: calc(4 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-5 {\n padding-left: calc(5 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-5 {\n padding-right: calc(5 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-6 {\n padding-left: calc(6 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-6 {\n padding-right: calc(6 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-7 {\n padding-left: calc(7 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-7 {\n padding-right: calc(7 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-8 {\n padding-left: calc(8 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-8 {\n padding-right: calc(8 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-indent-9 {\n padding-left: calc(9 * var(--ag-set-filter-indent-size));\n}\n.ag-rtl .ag-set-filter-indent-9 {\n padding-right: calc(9 * var(--ag-set-filter-indent-size));\n}\n\n.ag-ltr .ag-set-filter-group-icons {\n margin-right: var(--ag-widget-container-horizontal-padding);\n}\n.ag-rtl .ag-set-filter-group-icons {\n margin-left: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-filter-apply-panel {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-filter-apply-panel-button {\n line-height: 1.5;\n}\n.ag-ltr .ag-filter-apply-panel-button {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-filter-apply-panel-button {\n margin-right: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-simple-filter-body-wrapper {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n overflow-y: auto;\n min-height: calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));\n}\n.ag-simple-filter-body-wrapper > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n.ag-simple-filter-body-wrapper .ag-resizer-wrapper {\n margin: 0;\n}\n\n.ag-menu:not(.ag-tabs) .ag-filter .ag-simple-filter-body-wrapper,\n.ag-menu:not(.ag-tabs) .ag-filter > *:not(.ag-filter-wrapper) {\n min-width: calc(var(--ag-menu-min-width) - 2px);\n}\n\n.ag-filter-no-matches {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-multi-filter-menu-item {\n margin: var(--ag-grid-size) 0;\n}\n\n.ag-multi-filter-group-title-bar {\n padding: calc(var(--ag-grid-size) * 2) var(--ag-grid-size);\n background-color: transparent;\n}\n\n.ag-group-filter-field-select-wrapper {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n}\n.ag-group-filter-field-select-wrapper > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-keyboard-focus .ag-multi-filter-group-title-bar:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-multi-filter-group-title-bar:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-side-bar {\n position: relative;\n}\n\n.ag-tool-panel-wrapper {\n width: var(--ag-side-bar-panel-width);\n background-color: var(--ag-control-panel-background-color);\n}\n\n.ag-side-buttons {\n padding-top: calc(var(--ag-grid-size) * 4);\n width: calc(var(--ag-icon-size) + 4px);\n position: relative;\n overflow: hidden;\n}\n\nbutton.ag-side-button-button {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n background: transparent;\n padding: calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;\n width: 100%;\n margin: 0;\n min-height: calc(var(--ag-grid-size) * 18);\n background-position-y: center;\n background-position-x: center;\n background-repeat: no-repeat;\n border: none;\n border-top: var(--ag-borders-side-button) var(--ag-border-color);\n border-bottom: var(--ag-borders-side-button) var(--ag-border-color);\n}\nbutton.ag-side-button-button:focus {\n box-shadow: none;\n}\n\n.ag-keyboard-focus .ag-side-button-button:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-side-button-button:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-selected button.ag-side-button-button {\n background-color: var(--ag-side-button-selected-background-color);\n}\n\n.ag-side-button-icon-wrapper {\n margin-bottom: 3px;\n}\n\n.ag-ltr .ag-side-bar-left,\n.ag-rtl .ag-side-bar-right {\n border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,\n.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper {\n border-left: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-side-bar-left .ag-side-button-button,\n.ag-rtl .ag-side-bar-right .ag-side-button-button {\n border-right: var(--ag-selected-tab-underline-width) solid transparent;\n transition: border-right var(--ag-selected-tab-underline-transition-speed);\n}\n.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-right-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-rtl .ag-side-bar-left,\n.ag-ltr .ag-side-bar-right {\n border-left: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,\n.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper {\n border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-side-bar-left .ag-side-button-button,\n.ag-ltr .ag-side-bar-right .ag-side-button-button {\n border-left: var(--ag-selected-tab-underline-width) solid transparent;\n transition: border-left var(--ag-selected-tab-underline-transition-speed);\n}\n.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,\n.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {\n border-left-color: var(--ag-selected-tab-underline-color);\n}\n\n.ag-filter-toolpanel-header {\n height: calc(var(--ag-grid-size) * 6);\n}\n\n.ag-ltr .ag-filter-toolpanel-header,\n.ag-ltr .ag-filter-toolpanel-search {\n padding-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-header,\n.ag-rtl .ag-filter-toolpanel-search {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-keyboard-focus .ag-filter-toolpanel-header:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-filter-toolpanel-header:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n font-family: var(--ag-icon-font-family);\n font-size: var(--ag-icon-size);\n line-height: var(--ag-icon-size);\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n content: var(--ag-icon-font-code-filter, '\\f115');\n position: absolute;\n}\n.ag-ltr .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n padding-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-group-level-0-header {\n height: calc(var(--ag-grid-size) * 8);\n}\n\n.ag-filter-toolpanel-group-item {\n margin-top: calc(var(--ag-grid-size) * 0.5);\n margin-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n\n.ag-filter-toolpanel-search {\n height: var(--ag-header-height);\n}\n\n.ag-filter-toolpanel-search-input {\n flex-grow: 1;\n height: calc(var(--ag-grid-size) * 4);\n}\n.ag-ltr .ag-filter-toolpanel-search-input {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-search-input {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-group-level-0 {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-ltr .ag-filter-toolpanel-expand,\n.ag-ltr .ag-filter-toolpanel-group-title-bar-icon {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-expand,\n.ag-rtl .ag-filter-toolpanel-group-title-bar-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar {\n background-color: transparent;\n}\n.ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));\n}\n.ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {\n padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));\n}\n\n.ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header {\n padding-left: var(--ag-grid-size);\n}\n\n.ag-filter-toolpanel-instance-filter {\n border-bottom: var(--ag-borders) var(--ag-border-color);\n border-top: var(--ag-borders) var(--ag-border-color);\n margin-top: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-filter-toolpanel-instance-header-icon {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-filter-toolpanel-instance-header-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-set-filter-group-icons {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-pivot-mode-panel {\n min-height: var(--ag-header-height);\n height: var(--ag-header-height);\n display: flex;\n}\n\n.ag-pivot-mode-select {\n display: flex;\n align-items: center;\n}\n.ag-ltr .ag-pivot-mode-select {\n margin-left: var(--ag-widget-container-horizontal-padding);\n}\n.ag-rtl .ag-pivot-mode-select {\n margin-right: var(--ag-widget-container-horizontal-padding);\n}\n\n.ag-keyboard-focus .ag-column-select-header:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-column-select-header:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-select-header {\n height: var(--ag-header-height);\n align-items: center;\n padding: 0 var(--ag-widget-container-horizontal-padding);\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-column-panel-column-select {\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-column-group-icons,\n.ag-column-select-header-icon {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-select-list .ag-list-item-hovered::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: 1px;\n background-color: var(--ag-range-selection-border-color);\n}\n.ag-column-select-list .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-column-select-list .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n\n.ag-header,\n.ag-advanced-filter-header {\n background-color: var(--primary-color);\n border-bottom: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-header-row {\n color: var(--ag-header-foreground-color);\n height: var(--ag-header-height);\n background-color: #344861;\n}\n\n.ag-pinned-right-header {\n border-left: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-pinned-left-header {\n border-right: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {\n margin-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {\n margin-right: var(--ag-grid-size);\n}\n.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-header-cell,\n.ag-header-group-cell {\n padding-left: var(--ag-cell-horizontal-padding);\n padding-right: var(--ag-cell-horizontal-padding);\n}\n.ag-header-cell.ag-header-cell-moving,\n.ag-header-group-cell.ag-header-cell-moving {\n background-color: var(--ag-header-cell-moving-background-color);\n}\n\n.ag-ltr .ag-header-group-cell-label.ag-sticky-label {\n left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-header-group-cell-label.ag-sticky-label {\n right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-header-cell.ag-header-span-height::after,\n.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {\n height: calc(100% - var(--ag-grid-size) * 4);\n top: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-keyboard-focus .ag-header-cell:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-header-cell:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n.ag-keyboard-focus .ag-header-group-cell:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-header-group-cell:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n.ag-keyboard-focus .ag-advanced-filter-header-cell:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-advanced-filter-header-cell:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 4px;\n left: 4px;\n display: block;\n width: calc(100% - 8px);\n height: calc(100% - 8px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-header-icon {\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-header-expand-icon {\n cursor: pointer;\n}\n.ag-ltr .ag-header-expand-icon {\n padding-left: 4px;\n}\n.ag-rtl .ag-header-expand-icon {\n padding-right: 4px;\n}\n\n.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),\n.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {\n border-top: var(--ag-borders-critical) var(--ag-border-color);\n}\n\n.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,\n.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,\n.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,\n.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover).ag-column-resizing,\n.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,\n.ag-header-group-cell:first-of-type.ag-column-resizing,\n.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,\n.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing {\n background-color: var(--ag-header-cell-hover-background-color);\n}\n\n.ag-header-cell::after,\n.ag-header-group-cell::after {\n content: '';\n position: absolute;\n z-index: 1;\n display: var(--ag-header-column-separator-display);\n width: var(--ag-header-column-separator-width);\n height: var(--ag-header-column-separator-height);\n top: calc(50% - var(--ag-header-column-separator-height) * 0.5);\n background-color: var(--ag-header-column-separator-color);\n}\n.ag-ltr .ag-header-cell::after,\n.ag-ltr .ag-header-group-cell::after {\n right: 0;\n}\n.ag-rtl .ag-header-cell::after,\n.ag-rtl .ag-header-group-cell::after {\n left: 0;\n}\n\n.ag-header-cell-resize {\n display: flex;\n align-items: center;\n}\n\n.ag-header-cell-resize::after {\n content: '';\n position: absolute;\n z-index: 1;\n display: var(--ag-header-column-resize-handle-display);\n width: var(--ag-header-column-resize-handle-width);\n height: var(--ag-header-column-resize-handle-height);\n top: calc(50% - var(--ag-header-column-resize-handle-height) * 0.5);\n background-color: var(--ag-header-column-resize-handle-color);\n}\n\n.ag-header-cell.ag-header-span-height::after,\n.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {\n height: calc(100% - var(--ag-grid-size) * 4);\n top: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-ltr .ag-header-viewport .ag-header-cell-resize::after {\n left: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n.ag-rtl .ag-header-viewport .ag-header-cell-resize::after {\n right: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n\n.ag-pinned-left-header .ag-header-cell-resize::after {\n left: calc(50% - var(--ag-header-column-resize-handle-width));\n}\n\n.ag-pinned-right-header .ag-header-cell-resize::after {\n left: 50%;\n}\n\n.ag-ltr .ag-header-select-all {\n margin-right: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-header-select-all {\n margin-left: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-floating-filter-button {\n margin-left: calc(var(--ag-grid-size) * 3);\n}\n.ag-rtl .ag-floating-filter-button {\n margin-right: calc(var(--ag-grid-size) * 3);\n}\n\n.ag-floating-filter-button-button {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n appearance: none;\n background: transparent;\n border: none;\n height: var(--ag-icon-size);\n padding: 0;\n width: var(--ag-icon-size);\n}\n\n.ag-filter-loading {\n background-color: var(--ag-control-panel-background-color);\n height: 100%;\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n position: absolute;\n width: 100%;\n z-index: 1;\n}\n\n.ag-paging-panel {\n border-top: 1px solid;\n border-top-color: var(--ag-border-color);\n color: var(--ag-secondary-foreground-color);\n height: var(--ag-header-height);\n}\n.ag-paging-panel > * {\n margin: 0 var(--ag-cell-horizontal-padding);\n}\n\n.ag-paging-button {\n cursor: pointer;\n}\n\n.ag-paging-button.ag-disabled {\n cursor: default;\n color: var(--ag-disabled-foreground-color);\n}\n\n.ag-keyboard-focus .ag-paging-button:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-paging-button:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 0px;\n left: 0px;\n display: block;\n width: calc(100% - 0px);\n height: calc(100% - 0px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-paging-button,\n.ag-paging-description {\n margin: 0 var(--ag-grid-size);\n}\n\n.ag-status-bar {\n border-top: var(--ag-borders) var(--ag-border-color);\n color: var(--ag-disabled-foreground-color);\n padding-right: calc(var(--ag-grid-size) * 4);\n padding-left: calc(var(--ag-grid-size) * 4);\n line-height: 1.5;\n}\n\n.ag-status-name-value-value {\n color: var(--ag-foreground-color);\n}\n\n.ag-status-bar-center {\n text-align: center;\n}\n\n.ag-status-name-value {\n margin-left: var(--ag-grid-size);\n margin-right: var(--ag-grid-size);\n padding-top: calc(var(--ag-grid-size) * 2);\n padding-bottom: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-column-drop-cell {\n background: var(--ag-chip-background-color);\n border-radius: calc(var(--ag-grid-size) * 4);\n height: calc(var(--ag-grid-size) * 4);\n padding: 0 calc(var(--ag-grid-size) * 0.5);\n border: 1px solid transparent;\n}\n\n.ag-keyboard-focus .ag-column-drop-cell:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-column-drop-cell:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 2px;\n left: 2px;\n display: block;\n width: calc(100% - 4px);\n height: calc(100% - 4px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-column-drop-cell-text {\n margin: 0 var(--ag-grid-size);\n}\n\n.ag-column-drop-cell-button {\n min-width: calc(var(--ag-grid-size) * 4);\n margin: 0 calc(var(--ag-grid-size) * 0.5);\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-drop-cell-drag-handle {\n margin-left: calc(var(--ag-grid-size) * 2);\n}\n\n.ag-column-drop-cell-ghost {\n opacity: 0.5;\n}\n\n.ag-column-drop-horizontal {\n background-color: var(--ag-control-panel-background-color);\n color: var(--ag-secondary-foreground-color);\n height: var(--ag-row-height);\n border-bottom: var(--ag-borders) var(--ag-border-color);\n}\n.ag-ltr .ag-column-drop-horizontal {\n padding-left: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-column-drop-horizontal {\n padding-right: var(--ag-cell-horizontal-padding);\n}\n\n.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child) {\n border-right: var(--ag-borders) var(--ag-border-color);\n}\n.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child) {\n border-left: var(--ag-borders) var(--ag-border-color);\n}\n\n.ag-column-drop-horizontal-cell-separator {\n margin: 0 var(--ag-grid-size);\n color: var(--ag-secondary-foreground-color);\n}\n\n.ag-column-drop-horizontal-empty-message {\n color: var(--ag-disabled-foreground-color);\n}\n\n.ag-ltr .ag-column-drop-horizontal-icon {\n margin-right: var(--ag-cell-horizontal-padding);\n}\n.ag-rtl .ag-column-drop-horizontal-icon {\n margin-left: var(--ag-cell-horizontal-padding);\n}\n\n.ag-column-drop-vertical-list {\n padding-bottom: var(--ag-grid-size);\n padding-right: var(--ag-grid-size);\n padding-left: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical-cell {\n margin-top: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical {\n min-height: 50px;\n border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n.ag-column-drop-vertical.ag-last-column-drop {\n border-bottom: none;\n}\n\n.ag-column-drop-vertical-icon {\n margin-left: var(--ag-grid-size);\n margin-right: var(--ag-grid-size);\n}\n\n.ag-column-drop-vertical-empty-message {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n color: var(--ag-disabled-foreground-color);\n margin-top: var(--ag-grid-size);\n}\n\n.ag-select-agg-func-popup {\n border: var(--ag-borders) var(--ag-border-color);\n background: var(--ag-background-color);\n border-radius: var(--ag-card-radius);\n box-shadow: var(--ag-card-shadow);\n padding: var(--ag-grid-size);\n background: var(--ag-background-color);\n height: calc(var(--ag-grid-size) * 5 * 3.5);\n padding: 0;\n}\n\n.ag-select-agg-func-virtual-list-item {\n cursor: default;\n}\n.ag-ltr .ag-select-agg-func-virtual-list-item {\n padding-left: calc(var(--ag-grid-size) * 2);\n}\n.ag-rtl .ag-select-agg-func-virtual-list-item {\n padding-right: calc(var(--ag-grid-size) * 2);\n}\n.ag-select-agg-func-virtual-list-item:hover {\n background-color: var(--ag-selected-row-background-color);\n}\n\n.ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus {\n outline: none;\n}\n.ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus::after {\n content: '';\n position: absolute;\n background-color: transparent;\n pointer-events: none;\n top: 1px;\n left: 1px;\n display: block;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px solid;\n border-color: var(--ag-input-focus-border-color);\n}\n\n.ag-sort-indicator-container {\n display: flex;\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n padding-left: var(--ag-grid-size);\n}\n.ag-rtl .ag-sort-indicator-icon {\n padding-right: var(--ag-grid-size);\n}\n\n.ag-chart {\n position: relative;\n display: flex;\n overflow: hidden;\n width: 100%;\n height: 100%;\n}\n\n.ag-chart-components-wrapper {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.ag-chart-title-edit {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n text-align: center;\n}\n\n.ag-chart-title-edit.currently-editing {\n display: inline-block;\n}\n\n.ag-chart-canvas-wrapper {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.ag-charts-canvas {\n display: block;\n}\n\n.ag-chart-menu {\n position: absolute;\n top: 10px;\n width: 24px;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ag-ltr .ag-chart-menu {\n right: 20px;\n}\n.ag-rtl .ag-chart-menu {\n left: 20px;\n}\n\n.ag-chart-docked-container {\n position: relative;\n width: 0;\n min-width: 0;\n transition: min-width 0.4s;\n}\n\n.ag-chart-menu-hidden ~ .ag-chart-docked-container {\n max-width: 0;\n overflow: hidden;\n}\n\n.ag-chart-tabbed-menu {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ag-chart-tabbed-menu-header {\n flex: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n}\n\n.ag-chart-tabbed-menu-body {\n display: flex;\n flex: 1 1 auto;\n align-items: stretch;\n overflow: hidden;\n}\n\n.ag-chart-tab {\n width: 100%;\n overflow: hidden;\n overflow-y: auto;\n}\n\n.ag-chart-settings {\n overflow-x: hidden;\n}\n\n.ag-chart-settings-wrapper {\n position: relative;\n flex-direction: column;\n width: 100%;\n height: 100%;\n display: flex;\n overflow: hidden;\n}\n\n.ag-chart-settings-nav-bar {\n display: flex;\n align-items: center;\n width: 100%;\n height: 30px;\n padding: 0 10px;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-chart-settings-card-selector {\n display: flex;\n align-items: center;\n justify-content: space-around;\n flex: 1 1 auto;\n height: 100%;\n padding: 0 10px;\n}\n\n.ag-chart-settings-card-item {\n cursor: pointer;\n width: 10px;\n height: 10px;\n background-color: #000;\n position: relative;\n}\n.ag-chart-settings-card-item.ag-not-selected {\n opacity: 0.2;\n}\n.ag-chart-settings-card-item::before {\n content: ' ';\n display: block;\n position: absolute;\n background-color: transparent;\n left: 50%;\n top: 50%;\n margin-left: -10px;\n margin-top: -10px;\n width: 20px;\n height: 20px;\n}\n\n.ag-chart-settings-prev,\n.ag-chart-settings-next {\n position: relative;\n flex: none;\n}\n\n.ag-chart-settings-prev-button,\n.ag-chart-settings-next-button {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n opacity: 0;\n}\n\n.ag-chart-settings-mini-charts-container {\n position: relative;\n flex: 1 1 auto;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.ag-chart-settings-mini-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 100%;\n overflow: hidden;\n}\n.ag-chart-settings-mini-wrapper.ag-animating {\n transition: left 0.3s;\n transition-timing-function: ease-in-out;\n}\n\n.ag-chart-mini-thumbnail {\n cursor: pointer;\n}\n\n.ag-chart-mini-thumbnail-canvas {\n display: block;\n}\n\n.ag-chart-data-wrapper,\n.ag-chart-format-wrapper {\n display: flex;\n flex-direction: column;\n position: relative;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.ag-chart-data-wrapper {\n height: 100%;\n overflow-y: auto;\n}\n\n.ag-chart-data-section,\n.ag-chart-format-section {\n display: flex;\n margin: 0;\n}\n\n.ag-chart-empty-text {\n display: flex;\n top: 0;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.ag-chart .ag-chart-menu {\n display: none;\n}\n\n.ag-chart-menu-hidden:hover .ag-chart-menu {\n display: block;\n}\n\n.ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu {\n display: flex;\n flex-direction: row;\n overflow: auto;\n top: 5px;\n gap: calc(var(--ag-grid-size) * 3 - 8px);\n width: auto;\n}\n.ag-ltr .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu {\n right: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);\n justify-content: right;\n}\n.ag-rtl .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu {\n left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);\n justify-content: left;\n}\n\n.ag-chart-menu-close {\n display: none;\n}\n\n.ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n position: absolute;\n top: 50%;\n transition: transform 0.33s ease-in-out;\n padding: 0;\n display: block;\n cursor: pointer;\n border: none;\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n right: 0px;\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n left: 0px;\n}\n.ag-chart-tool-panel-button-enable .ag-chart-menu-close .ag-icon {\n padding: 14px 5px 14px 2px;\n}\n.ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n content: '';\n position: absolute;\n top: -40px;\n bottom: -40px;\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n right: 0px;\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n left: 0px;\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n left: -10px;\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {\n right: -10px;\n}\n.ag-chart-tool-panel-button-enable .ag-icon-menu {\n display: none;\n}\n\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n transform: translate(3px, -50%);\n}\n.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n transform: translate(0, -50%);\n}\n.ag-ltr .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n transform: translate(5px, -50%);\n}\n\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {\n transform: translate(-3px, -50%);\n}\n.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n transform: translate(0, -50%);\n}\n.ag-rtl .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {\n transform: translate(-5px, -50%);\n}\n\n.ag-charts-font-size-color {\n display: flex;\n align-self: stretch;\n justify-content: space-between;\n}\n\n.ag-charts-data-group-item {\n position: relative;\n}\n\n.ag-chart-menu {\n border-radius: var(--ag-card-radius);\n background: var(--ag-background-color);\n}\n\n.ag-chart-menu-icon {\n opacity: 0.5;\n line-height: 24px;\n font-size: 24px;\n width: 24px;\n height: 24px;\n margin: 2px 0;\n cursor: pointer;\n border-radius: var(--ag-card-radius);\n color: var(--ag-secondary-foreground-color);\n}\n.ag-chart-menu-icon:hover {\n opacity: 1;\n}\n\n.ag-chart-mini-thumbnail {\n border: 1px solid var(--ag-secondary-border-color);\n border-radius: 5px;\n margin: 5px;\n}\n.ag-chart-mini-thumbnail:nth-last-child(3),\n.ag-chart-mini-thumbnail:nth-last-child(3) ~ .ag-chart-mini-thumbnail {\n margin-left: auto;\n margin-right: auto;\n}\n.ag-ltr .ag-chart-mini-thumbnail:first-child {\n margin-left: 0;\n}\n.ag-rtl .ag-chart-mini-thumbnail:first-child {\n margin-right: 0;\n}\n.ag-ltr .ag-chart-mini-thumbnail:last-child {\n margin-right: 0;\n}\n.ag-rtl .ag-chart-mini-thumbnail:last-child {\n margin-left: 0;\n}\n.ag-chart-mini-thumbnail.ag-selected {\n border-color: var(--ag-minichart-selected-chart-color);\n}\n\n.ag-chart-settings-card-item {\n background: var(--ag-foreground-color);\n width: 8px;\n height: 8px;\n border-radius: 4px;\n}\n.ag-chart-settings-card-item.ag-selected {\n background-color: var(--ag-minichart-selected-page-color);\n}\n\n.ag-chart-data-column-drag-handle {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-charts-settings-group-title-bar,\n.ag-charts-data-group-title-bar,\n.ag-charts-format-top-level-group-title-bar {\n border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);\n}\n\n.ag-charts-settings-group-container {\n padding: var(--ag-grid-size);\n}\n\n.ag-charts-data-group-container {\n padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) var(--ag-widget-container-horizontal-padding);\n}\n.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group) {\n height: var(--ag-list-item-height);\n}\n.ag-charts-data-group-container .ag-list-item-hovered::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: 1px;\n background-color: var(--ag-range-selection-border-color);\n}\n.ag-charts-data-group-container .ag-item-highlight-top::after {\n top: 0;\n}\n.ag-charts-data-group-container .ag-item-highlight-bottom::after {\n bottom: 0;\n}\n\n.ag-charts-format-top-level-group-container {\n margin-left: calc(var(--ag-grid-size) * 2);\n padding: var(--ag-grid-size);\n}\n\n.ag-charts-format-top-level-group-item {\n margin: var(--ag-grid-size) 0;\n}\n\n.ag-charts-format-sub-level-group-container {\n padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);\n padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));\n}\n.ag-charts-format-sub-level-group-container > * {\n margin-bottom: var(--ag-widget-vertical-spacing);\n}\n\n.ag-charts-group-container.ag-group-container-horizontal {\n padding: var(--ag-grid-size);\n}\n\n.ag-chart-data-section,\n.ag-chart-format-section {\n display: flex;\n margin: 0;\n}\n\n.ag-chart-menu-panel {\n background-color: var(--ag-control-panel-background-color);\n}\n.ag-ltr .ag-chart-menu-panel {\n border-left: solid 1px var(--ag-border-color);\n}\n.ag-rtl .ag-chart-menu-panel {\n border-right: solid 1px var(--ag-border-color);\n}\n\n.ag-date-time-list-page-title-bar {\n display: flex;\n}\n\n.ag-date-time-list-page-title {\n flex-grow: 1;\n text-align: center;\n}\n\n.ag-date-time-list-page-column-labels-row,\n.ag-date-time-list-page-entries-row {\n display: flex;\n}\n\n.ag-date-time-list-page-column-label,\n.ag-date-time-list-page-entry {\n flex-basis: 0;\n flex-grow: 1;\n}\n\n.ag-date-time-list-page-entry {\n cursor: pointer;\n text-align: center;\n}\n\n.ag-date-time-list-page-column-label {\n text-align: center;\n}\n\n.ag-input-field-input {\n width: 100%;\n min-width: 0;\n}\n\n.ag-checkbox-input-wrapper {\n font-family: var(--ag-icon-font-family);\n font-size: var(--ag-icon-size);\n line-height: var(--ag-icon-size);\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-checkbox-background-color);\n border-radius: var(--ag-checkbox-border-radius);\n display: inline-block;\n vertical-align: middle;\n flex: none;\n}\n.ag-checkbox-input-wrapper input,\n.ag-checkbox-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-checkbox-input-wrapper:focus-within,\n.ag-checkbox-input-wrapper:active {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-checkbox-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-checkbox-input-wrapper::after {\n content: var(--ag-icon-font-code-checkbox-unchecked, '\\f108');\n color: var(--ag-checkbox-unchecked-color);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-checkbox-input-wrapper.ag-checked::after {\n content: var(--ag-icon-font-code-checkbox-checked, '\\f106');\n color: var(--ag-checkbox-checked-color);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-checkbox-input-wrapper.ag-indeterminate::after {\n content: var(--ag-icon-font-code-checkbox-indeterminate, '\\f107');\n color: var(--ag-checkbox-indeterminate-color);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n\n.ag-toggle-button-input-wrapper {\n box-sizing: border-box;\n width: var(--ag-toggle-button-width);\n height: var(--ag-toggle-button-height);\n background-color: var(--ag-toggle-button-off-background-color);\n border-radius: calc(var(--ag-toggle-button-height) * 0.5);\n position: relative;\n flex: none;\n border: var(--ag-toggle-button-border-width) solid;\n border-color: var(--ag-toggle-button-off-border-color);\n}\n.ag-toggle-button-input-wrapper input {\n opacity: 0;\n height: 100%;\n width: 100%;\n}\n.ag-toggle-button-input-wrapper:focus-within {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-toggle-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-toggle-button-input-wrapper.ag-checked {\n background-color: var(--ag-toggle-button-on-background-color);\n border-color: var(--ag-toggle-button-on-border-color);\n}\n.ag-toggle-button-input-wrapper::before {\n content: ' ';\n position: absolute;\n top: calc(0px - var(--ag-toggle-button-border-width));\n left: calc(0px - var(--ag-toggle-button-border-width));\n display: block;\n box-sizing: border-box;\n height: var(--ag-toggle-button-height);\n width: var(--ag-toggle-button-height);\n background-color: var(--ag-toggle-button-switch-background-color);\n border-radius: 100%;\n transition: left 100ms;\n border: var(--ag-toggle-button-border-width) solid;\n border-color: var(--ag-toggle-button-switch-border-color);\n}\n.ag-toggle-button-input-wrapper.ag-checked::before {\n left: calc(100% - var(--ag-toggle-button-height));\n border-color: var(--ag-toggle-button-on-border-color);\n}\n\n.ag-radio-button-input-wrapper {\n font-family: var(--ag-icon-font-family);\n font-size: var(--ag-icon-size);\n line-height: var(--ag-icon-size);\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-checkbox-background-color);\n border-radius: var(--ag-checkbox-border-radius);\n display: inline-block;\n vertical-align: middle;\n flex: none;\n border-radius: var(--ag-icon-size);\n}\n.ag-radio-button-input-wrapper input,\n.ag-radio-button-input-wrapper input {\n -webkit-appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n}\n.ag-radio-button-input-wrapper:focus-within,\n.ag-radio-button-input-wrapper:active {\n outline: none;\n box-shadow: var(--ag-input-focus-box-shadow);\n}\n.ag-radio-button-input-wrapper.ag-disabled {\n opacity: 0.5;\n}\n.ag-radio-button-input-wrapper::after {\n content: var(--ag-icon-font-code-radio-button-off, '\\f127');\n color: var(--ag-checkbox-unchecked-color);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n.ag-radio-button-input-wrapper.ag-checked::after {\n content: var(--ag-icon-font-code-radio-button-on, '\\f128');\n color: var(--ag-checkbox-checked-color);\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n\ninput[class^='ag-'][type='range'] {\n -webkit-appearance: none;\n width: 100%;\n height: 100%;\n background: none;\n overflow: visible;\n}\ninput[class^='ag-'][type='range']::-webkit-slider-runnable-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: var(--ag-border-color);\n border-radius: var(--ag-border-radius);\n border-radius: var(--ag-checkbox-border-radius);\n}\ninput[class^='ag-'][type='range']::-moz-range-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: var(--ag-border-color);\n border-radius: var(--ag-border-radius);\n border-radius: var(--ag-checkbox-border-radius);\n}\ninput[class^='ag-'][type='range']::-ms-track {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 3px;\n background-color: var(--ag-border-color);\n border-radius: var(--ag-border-radius);\n border-radius: var(--ag-checkbox-border-radius);\n color: transparent;\n width: calc(100% - 2px);\n}\ninput[class^='ag-'][type='range']::-webkit-slider-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-background-color);\n border: 1px solid;\n border-color: var(--ag-checkbox-unchecked-color);\n border-radius: var(--ag-icon-size);\n transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));\n}\ninput[class^='ag-'][type='range']::-ms-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-background-color);\n border: 1px solid;\n border-color: var(--ag-checkbox-unchecked-color);\n border-radius: var(--ag-icon-size);\n}\ninput[class^='ag-'][type='range']::-moz-ag-range-thumb {\n margin: 0;\n padding: 0;\n -webkit-appearance: none;\n width: var(--ag-icon-size);\n height: var(--ag-icon-size);\n background-color: var(--ag-background-color);\n border: 1px solid;\n border-color: var(--ag-checkbox-unchecked-color);\n border-radius: var(--ag-icon-size);\n}\ninput[class^='ag-'][type='range']:focus {\n outline: none;\n}\ninput[class^='ag-'][type='range']:focus::-webkit-slider-thumb {\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^='ag-'][type='range']:focus::-ms-thumb {\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^='ag-'][type='range']:focus::-moz-ag-range-thumb {\n box-shadow: var(--ag-input-focus-box-shadow);\n border-color: var(--ag-checkbox-checked-color);\n}\ninput[class^='ag-'][type='range']:active::-webkit-slider-runnable-track {\n background-color: var(--ag-input-focus-border-color);\n}\ninput[class^='ag-'][type='range']:active::-moz-ag-range-track {\n background-color: var(--ag-input-focus-border-color);\n}\ninput[class^='ag-'][type='range']:active::-ms-track {\n background-color: var(--ag-input-focus-border-color);\n}\ninput[class^='ag-'][type='range']:disabled {\n opacity: 0.5;\n}\n\n/* ag-theme-material.css */\n\n@font-face {\n font-family: 'agGridMaterial';\n src: url(data:font/woff2;charset=utf-8;base64,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);\n font-weight: normal;\n font-style: normal;\n}\n.ag-theme-material {\n --ag-material-primary-color: #0074cc;\n --ag-material-accent-color: #494647;\n --ag-foreground-color: rgba(0, 0, 0, 0.87);\n --ag-secondary-foreground-color: rgba(0, 0, 0, 0.54);\n --ag-disabled-foreground-color: rgba(0, 0, 0, 0.38);\n --ag-background-color: #fff;\n --ag-header-background-color: #344861;\n --ag-tooltip-background-color: #fff;\n --ag-subheader-background-color: #eee;\n --ag-subheader-toolbar-background-color: rgba(238, 238, 238, 0.5);\n --ag-header-cell-hover-background-color: #f2f2f2;\n --ag-chip-background-color: #e2e2e2;\n --ag-range-selection-background-color: rgba(122, 134, 203, 0.1);\n --ag-range-selection-background-color-2: rgba(122, 134, 203, 0.19);\n --ag-range-selection-background-color-3: rgba(122, 134, 203, 0.27);\n --ag-range-selection-background-color-4: rgba(122, 134, 203, 0.34);\n --ag-range-selection-highlight-color: #fce4ec;\n --ag-row-hover-color: #fafafa;\n --ag-column-hover-color: #fafafa;\n --ag-control-panel-background-color: #fafafa;\n --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);\n --ag-checkbox-unchecked-color: #333;\n --ag-value-change-value-highlight-background-color: #00acc1;\n --ag-side-button-selected-background-color: transparent;\n --ag-range-selection-border-color: var(--ag-material-primary-color);\n --ag-checkbox-checked-color: var(--ag-material-accent-color);\n --ag-borders: none;\n --ag-borders-critical: solid 1px;\n --ag-border-color: #e2e2e2;\n --ag-grid-size: 8px;\n --ag-icon-size: 18px;\n --ag-header-height: calc(var(--ag-grid-size) * 7);\n --ag-row-height: calc(var(--ag-grid-size) * 6);\n --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);\n --ag-list-item-height: calc(var(--ag-grid-size) * 4);\n --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--ag-icon-size));\n --ag-filter-tool-panel-sub-level-row-height: calc(var(--ag-grid-size) * 4);\n --ag-checkbox-border-radius: 2px;\n --ag-toggle-button-switch-border-width: 2px;\n --ag-toggle-button-height: var(--ag-icon-size);\n --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);\n --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);\n --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.75);\n --ag-font-family: 'Roboto', sans-serif;\n --ag-font-size: 13px;\n --ag-icon-font-family: agGridMaterial;\n --ag-selected-tab-underline-color: var(--ag-material-primary-color);\n --ag-selected-tab-underline-width: 2px;\n --ag-input-focus-border-color: var(--ag-material-primary-color);\n --ag-input-focus-box-shadow: 0 0 0 5px rgba(32, 33, 36, 0.122);\n --ag-card-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --ag-card-radius: 2px;\n --ag-invalid-color: #e02525;\n}\n\n.ag-theme-material .ag-filter-toolpanel-header,\n.ag-theme-material .ag-filter-toolpanel-search,\n.ag-theme-material .ag-status-bar,\n.ag-theme-material .ag-header-row,\n.ag-theme-material .ag-panel-title-bar-title,\n.ag-theme-material .ag-multi-filter-group-title-bar {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n color: var(--ag-header-foreground-color);\n}\n.ag-theme-material .ag-tab {\n height: calc(var(--ag-grid-size) * 4.5);\n flex: 1 1 auto;\n}\n.ag-theme-material .ag-tabs-header,\n.ag-theme-material .ag-column-drop-horizontal {\n background-color: var(--ag-subheader-background-color);\n}\n.ag-theme-material .ag-tabs-body {\n padding: calc(var(--ag-grid-size) * 0.5) 0;\n}\n.ag-theme-material .ag-tabs-body .ag-menu-list {\n padding-top: 0;\n padding-bottom: 0;\n}\n.ag-theme-material .ag-header-cell,\n.ag-theme-material .ag-header-group-cell {\n transition: background-color 0.5s;\n}\n.ag-theme-material .ag-row-last:not(.ag-row-first) .ag-cell-inline-editing {\n bottom: 0;\n}\n.ag-theme-material .ag-cell-inline-editing {\n padding: var(--ag-grid-size);\n height: calc(var(--ag-row-height) + var(--ag-grid-size) * 3);\n border-color: var(--ag-border-color) !important;\n}\n.ag-theme-material .ag-has-focus .ag-cell-inline-editing {\n border-color: var(--ag-input-focus-border-color) !important;\n}\n.ag-theme-material .ag-column-drop-vertical {\n border-bottom: solid 1px;\n border-bottom-color: var(--ag-border-color);\n padding-top: var(--ag-grid-size);\n}\n.ag-theme-material .ag-column-drop-vertical.ag-last-column-drop {\n border-bottom: none;\n}\n.ag-theme-material .ag-column-drop-vertical-cell {\n margin-left: 0;\n}\n.ag-theme-material .ag-column-drop-vertical-empty-message {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material .ag-ltr .ag-column-drop-vertical-empty-message {\n padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-right: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-rtl .ag-column-drop-vertical-empty-message {\n padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);\n padding-left: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-status-bar {\n border: solid 1px;\n border-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-panel-column-select {\n border-top: solid 1px;\n border-top-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-select,\n.ag-theme-material .ag-column-select-header {\n border-bottom: solid 1px;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material .ag-column-select-header {\n height: var(--ag-header-height);\n}\n.ag-theme-material .ag-group-title-bar {\n padding: calc(var(--ag-grid-size) * 0.75) var(--ag-grid-size);\n}\n.ag-theme-material .ag-charts-format-sub-level-group-title-bar {\n padding: calc(var(--ag-grid-size) * 0.5) var(--ag-grid-size);\n}\n.ag-theme-material .ag-chart-data-section,\n.ag-theme-material .ag-chart-format-section {\n padding-bottom: calc(var(--ag-grid-size) * 0.5);\n}\n.ag-theme-material .ag-chart-menu-close {\n background: var(--ag-background-color);\n}\n.ag-theme-material .ag-chart-menu-close .ag-icon {\n background: var(--ag-subheader-background-color);\n}\n.ag-theme-material input[class^='ag-']:not([type]),\n.ag-theme-material input[class^='ag-'][type='text'],\n.ag-theme-material input[class^='ag-'][type='number'],\n.ag-theme-material input[class^='ag-'][type='tel'],\n.ag-theme-material input[class^='ag-'][type='date'],\n.ag-theme-material input[class^='ag-'][type='datetime-local'],\n.ag-theme-material textarea[class^='ag-'] {\n background: transparent;\n color: var(--ag-foreground-color);\n font-family: inherit;\n font-size: inherit;\n height: calc(var(--ag-grid-size) * 5);\n padding-bottom: var(--ag-grid-size);\n border-width: 0;\n border-bottom: 2px solid;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material input[class^='ag-']:not([type]):focus,\n.ag-theme-material input[class^='ag-'][type='text']:focus,\n.ag-theme-material input[class^='ag-'][type='number']:focus,\n.ag-theme-material input[class^='ag-'][type='tel']:focus,\n.ag-theme-material input[class^='ag-'][type='date']:focus,\n.ag-theme-material input[class^='ag-'][type='datetime-local']:focus,\n.ag-theme-material textarea[class^='ag-']:focus {\n border-bottom: 2px solid;\n border-bottom-color: var(--ag-material-primary-color);\n outline: none;\n box-shadow: none;\n}\n.ag-theme-material input[class^='ag-']:not([type])::placeholder,\n.ag-theme-material input[class^='ag-'][type='text']::placeholder,\n.ag-theme-material input[class^='ag-'][type='number']::placeholder,\n.ag-theme-material input[class^='ag-'][type='tel']::placeholder,\n.ag-theme-material input[class^='ag-'][type='date']::placeholder,\n.ag-theme-material input[class^='ag-'][type='datetime-local']::placeholder,\n.ag-theme-material textarea[class^='ag-']::placeholder {\n color: var(--ag-disabled-foreground-color);\n}\n.ag-theme-material input[class^='ag-']:not([type]):disabled,\n.ag-theme-material input[class^='ag-'][type='text']:disabled,\n.ag-theme-material input[class^='ag-'][type='number']:disabled,\n.ag-theme-material input[class^='ag-'][type='tel']:disabled,\n.ag-theme-material input[class^='ag-'][type='date']:disabled,\n.ag-theme-material input[class^='ag-'][type='datetime-local']:disabled,\n.ag-theme-material textarea[class^='ag-']:disabled {\n border-bottom: 1px solid;\n border-bottom-color: var(--ag-border-color);\n}\n.ag-theme-material input[class^='ag-']:not([type]):invalid,\n.ag-theme-material input[class^='ag-'][type='text']:invalid,\n.ag-theme-material input[class^='ag-'][type='number']:invalid,\n.ag-theme-material input[class^='ag-'][type='tel']:invalid,\n.ag-theme-material input[class^='ag-'][type='date']:invalid,\n.ag-theme-material input[class^='ag-'][type='datetime-local']:invalid,\n.ag-theme-material textarea[class^='ag-']:invalid {\n border-width: 0;\n border-bottom: 1px solid;\n border-bottom-color: var(--ag-invalid-color);\n color: var(--ag-invalid-color);\n}\n.ag-theme-material .ag-standard-button {\n appearance: none;\n background-color: transparent;\n border: 0;\n color: var(--ag-material-primary-color);\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n padding: 0;\n text-transform: uppercase;\n}\n.ag-theme-material .ag-standard-button:disabled {\n color: var(--ag-disabled-foreground-color);\n background-color: var(--ag-input-disabled-background-color);\n border-color: var(--ag-input-disabled-border-color);\n}\n.ag-theme-material.ag-dnd-ghost {\n font-size: calc(var(--ag-font-size) - 1px);\n font-weight: 600;\n}\n.ag-theme-material .ag-filter-toolpanel-header {\n height: calc(var(--ag-grid-size) * 4);\n}\n.ag-theme-material .ag-filter-toolpanel-group-level-0-header {\n height: calc(var(--ag-grid-size) * 7);\n}\n.ag-theme-material .ag-ltr .ag-filter-apply-panel-button,\n.ag-theme-material .ag-ltr .ag-advanced-filter-apply-button {\n margin-left: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-rtl .ag-filter-apply-panel-button,\n.ag-theme-material .ag-rtl .ag-advanced-filter-apply-button {\n margin-right: var(--ag-grid-size);\n}\n\n.ag-theme-material .ag-layout-auto-height .ag-center-cols-clipper,\n.ag-theme-material .ag-layout-auto-height .ag-center-cols-container,\n.ag-theme-material .ag-layout-print .ag-center-cols-clipper,\n.ag-theme-material .ag-layout-print .ag-center-cols-container {\n min-height: 150px;\n}\n.ag-theme-material .ag-overlay-no-rows-wrapper.ag-layout-auto-height {\n padding-top: 60px;\n}\n.ag-theme-material .ag-picker-field-wrapper:focus {\n box-shadow: 0 0 0 1px var(--ag-material-primary-color);\n}\n.ag-theme-material .ag-rich-select-list {\n box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px, rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px;\n}\n\n.ag-aria-description-container {\n display: none !important;\n}\n","import { Draft, produce } from 'immer';\nimport { Component, Element, h, State, Prop, Event, EventEmitter, Watch, Listen, Method } from '@stencil/core';\nimport { state } from '../../../../../store/catalog-store';\nimport type { ColumnApi, GridOptions, ICellRendererParams, IServerSideDatasource } from 'ag-grid-enterprise';\nimport CustomRenderer from '../../../../my-component/UI/grid/renderers/custom-renderer';\nimport CustomActionsRenderer from '../../../../my-component/UI/grid/renderers/custom-actions-renderer';\nimport Star16 from '@carbon/icons/es/star/16';\nimport List16 from '@carbon/icons/es/list/16';\nimport { SearchServiceDatasource, rowGroups } from '../../../../../udp-utilities/grid/data-source/SearchServiceDatasource';\nimport { convertToAgGridColumns } from '../../../../../udp-utilities/grid/convertToAgGridColumns';\nimport {\n getSelectedView,\n getAvailableViews,\n saveView,\n updateView,\n updateViewAndConfigurations,\n getAvailableGridActions,\n getPromotedLookupMethod,\n executeQueryAdHocAndMapLookups,\n executeQueryWithParameters,\n getApiCatalogAndProduct,\n getApiCatalogById,\n executeQueryAdHoc,\n getAllHotlists,\n createAHotlist,\n deleteAHotlist,\n addRecordToAHotlist,\n loadAHotlist,\n removeRecordFromHotlist,\n deleteSelectedView,\n getApiMethodInstance,\n getApiMethod,\n} from '../../../../../udp-utilities/api-udp/apiUtils';\nimport { UdpGridColumnDefs, useTreeDatasource } from '../conversionFunctions/conversionFunctions';\nimport '../../../../my-component/ag-grid.css';\nimport EmailCellRenderer from '../renderers/email-cell-renderer';\nimport OpenFunctionCellRenderer from '../renderers/open-function-cell-renderer';\nimport HotListAddRenderer from '../renderers/hot-list-add-renderer';\nimport { SharedContext } from '../renderers/sharedContext';\nimport HoverContentCellRenderer from '../renderers/hover-content-cell-renderer';\nimport { GridStateTypeEnums } from './enums/gridEnums';\nimport { SearchObject, FilterDetail, HotListObject, ActionItem } from './interfaces/gridInterfaces';\nimport { transformSearchData } from '../../../../../udp-utilities/grid/data-converters/transformSearchData';\nimport { LicenseKey } from './license/licenseKey';\nimport { buildSearchPayload } from './ambient-template-functions/buildGroupedSearchPayload';\n// import { FilterElement } from '../../advanced-search/advanced-search-grouped';\nimport * as localforage from 'localforage';\nimport '../../../../../global/app.css';\n// import OverflowMenuHorizontal16 from '@carbon/icons/es/overflow-menu--horizontal/16';\nimport DateTimeCellRenderer from '../renderers/date-time-cell-renderer';\nimport { RenderConfig } from './interfaces/gridInterfaces';\nimport ActionsRenderer from '../renderers/actions-renderer';\nimport { getActionColumnWidth, sortActionItemOrder, splitActionList } from '../../../../../udp-utilities/grid/action-renderers/action-column-util';\nimport { GridApi } from 'ag-grid-enterprise';\nimport { lazySetupAgGridLibrary } from '../../../../../global/ag-grid';\nimport { Memoize } from 'fast-typescript-memoize';\nimport { GridReadyEvent } from 'ag-grid-community';\nimport StatusRenderer from '../renderers/status-renderer';\nimport IconRenderer from '../renderers/icon-renderer';\nimport CurrencyRenderer from '../renderers/currency-renderer';\nimport { cloneDeep } from 'lodash';\nimport { v4 as uuid } from 'uuid';\nimport { getCurrentTenantId } from 'src/udp-utilities/tenant/tenantUtils';\n\ntype NotificationStatus = 'error' | 'success' | 'warning';\n\n@Component({\n tag: 'ambient-template-grid',\n styleUrl: './ambient-template-grid.css',\n shadow: true,\n})\nexport class AmbientTemplateGrid {\n private prevPivotMode: boolean;\n //private dynamicFormRef: HTMLUdpDynamicFormElement;\n\n @Event() viewSaved: EventEmitter;\n @Event() externalEmitter: EventEmitter;\n @Event() filterChanged: EventEmitter;\n @Element() el: HTMLElement;\n\n @Prop() columnDefs: any[] = [];\n @Prop() fullViewData: any = {};\n @Prop() rowData: any[] = [];\n @Prop() viewListrowData: any[] = [];\n @Prop() gridState: any[] = [];\n @Prop() gridId: string = '';\n @Prop({ mutable: true }) apiCatalogId: string = '';\n @Prop() userId: string = '';\n @Prop() userPermissions: any[] = [];\n @Prop({ mutable: true }) apiMethodId: string = '';\n @Prop({ mutable: true }) lookupApiMethodId: string = '';\n @Prop({ mutable: true }) entityName: string = '';\n @Prop() menuItems: Array<any> = [];\n @Prop() gridBarTitle: string = '';\n @Prop() viewChips: Array<any> = [];\n @Prop() additionalFilterChips: Array<any> = [];\n @Prop() kpiValues: Array<any> = [];\n @Prop() showAdvancedSearchFeature: boolean = true;\n @Prop() showFilterColumnFeature: boolean = true;\n @Prop() queryId: string = '';\n @Prop() defaultSearchObject: Array<any> = [];\n @Prop() actionId: string = '';\n @Prop() cellClickHandler: (value: any, callback: any) => void;\n @Prop() cellClickHandlerX: (value: any, callback: any) => void;\n @Prop() viewActionClickHandler: (value: any, callback: any) => void;\n @Prop() renderConfigs: RenderConfig[] = [];\n // @Prop() externalPayload: any = {}; // check to see if it fixes the issue with adding an empty object\n @Prop() externalPayload: any = null;\n @Prop() dataEmitter: any = {};\n @Prop() dataEmitterRequest: any = {};\n @Prop() fitGrid: string = '';\n @Prop() hotListIdentifier: string = '';\n @Prop() searchKey: Object = {};\n @Prop({ mutable: true }) filterObject: any = [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 2,\n type: 'advanced',\n },\n ];\n @Prop({ mutable: true }) externalSearchFilter: Array<any> = [];\n @Prop() noResults: boolean = false;\n @Prop() maxChipsAllowed: number = 5;\n @Prop() suppressMenuHide: boolean = true; // default show column menu option without hovering\n @Prop() showRank: boolean = false;\n @Prop() showHotlistButton: boolean = false;\n @Prop() columnNames: { [key: string]: string } = {};\n @Prop() buttonTransform: string = '';\n @Prop() rowGrouping: Array<any> = [];\n @Prop() restrictBulkActionsPermissions: boolean = false;\n @Prop() restrictedGridFeatures: { [key: string]: string } = {};\n @Prop() triggerGridUpdate: boolean = false;\n @Prop() hideActionsColumn: boolean = false; //temporary, need better approach\n @Prop() primaryActionLabel: string;\n @Prop() primaryActionOnClick: (e: any) => void;\n @Prop() primaryActionIcon: string;\n @Prop() showInsightsAction: boolean = false;\n @Prop() insightsActionOnClick: (e: any) => void;\n @Prop() hideBulkActions: boolean = false;\n @Prop() enableCheckboxOnColumns: boolean = false;\n @Prop() hiddenColumnsList: Array<string> = [];\n @Prop() hideDefaultSearchFilterChips: boolean = false;\n @Prop() executeBulkAction: (actionId: string, data: any) => void;\n @Prop() bulkActionFunctions: Object = {};\n @Prop() exportFunction: (entityName: string, searchObject: Object) => void;\n @Prop() rowIdField: string | null = null;\n @Prop() defaultSearchMode: 'advanced' | 'standard' = 'standard';\n @Prop() disableSearchSwitch: boolean = false;\n\n @State() drawerOpen: boolean = false;\n @State() filterPanelOpen: boolean = true;\n @State() saveDialogOpen: boolean = false;\n @State() editDialogOpen: boolean = false;\n @State() editViewConfirmationDialogOpen: boolean = false;\n @State() gridOptionsDrawerOpen: boolean = false;\n @State() viewListGridOptions: GridOptions;\n @State() filterChips: Array<any> = [];\n @State() promotedEntity: any = {};\n @State() isServerSide: boolean = true;\n @State() showNotification: boolean = false;\n @State() notificationMessage: string = '';\n @State() notificationStatus: NotificationStatus = 'success';\n @State() loadedView: Array<any> = [];\n @State() loadedViewTitle: string = '';\n @State() loadedViewData: string = '';\n @State() currentColumnOrdering: Array<any> = [];\n @State() currentHiddenColumns: Array<any> = [];\n @State() rowsSelected: boolean = false;\n @State() selectedRowCount: number = 0;\n @State() serverColumnDefs: Array<any> = [];\n @State() isSetupComplete: boolean = false;\n @State() extendedSearchFilterList: Array<any> = [];\n @State() viewListRowData: Array<any> = [];\n @State() bulkActions: Array<any> = [];\n @State() sheetContent: string = 'advancedSearch';\n @State() searchObject: SearchObject = { filterElements: [] };\n @State() configuredColumnDefs: Array<any> = [];\n @State() hasConfiguredColumnDefs: boolean = false;\n @State() fullDataColumns: any[] = [];\n @State() filterOn: string = '';\n @State() gridOptions: GridOptions;\n @State() agGrid:\n | undefined\n | {\n api: GridApi<any>;\n // @note As of ag-grid@v31 ColumnApi has been deprecated and all methods will move to api.\n columnApi: ColumnApi;\n };\n @State() hasSearchRank: boolean;\n @State() serverSideDatasource: IServerSideDatasource | undefined;\n @State() tempSearchObject: { searchField: string; searchOperator: string; searchValue: any; groupId: number } = {\n searchField: '',\n searchOperator: '',\n searchValue: '',\n groupId: 1,\n };\n @State() catalogList: any = {};\n @State() dataRowClicked: any = {};\n @State() advancedSearchFilterList: Array<any> = [];\n @State() allHotlists: Array<any> = [];\n @State() externalToggle: string = '';\n @State() viewId: string = '';\n @State() defaultFilterObject: Array<any> = [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [\n // {\n // \"searchField\": \"genderCode\",\n // \"searchOperator\": \"=\",\n // \"searchValue\" : \"1\"\n // }\n ],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n type: 'advanced',\n },\n ];\n\n @State() filterRenderList: Array<any> = [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [\n // {\n // \"searchField\": \"Title\",\n // \"searchOperator\": \"IN\",\n // \"searchValue\": \"VP\"\n // }\n ],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n type: 'advanced',\n },\n ];\n @State() logicalSearchOperator: number = 1;\n @State() lookupsMap: any = null;\n @State() formattedBulkActions: { label: string; value: string }[] = [];\n @State() advancedDrawerOpen: boolean = false;\n @State() viewDrawerOpen: boolean = false;\n @State() hotlistDrawerOpen: boolean = false;\n @State() customSearchDrawerOpen: boolean = false;\n @State() businessObjectKey: string;\n @State() hotListActive: string;\n @State() hotListCount: number = 0;\n @State() hotListId: string;\n @State() loadedHotlistTitle: string = '';\n @State() showHotlistForm: boolean = false;\n @State() confirmDialog: boolean = false;\n @State() confirmDialogDeleteView: boolean = false;\n @State() filteredCount: Array<any> = [];\n @State() hotlistSelectedFull: object = {};\n @State() advancedGroupSearchNodeId: string = '';\n @State() otherId: string = '';\n @State() updateForConfiguredColumnDefs: boolean = true;\n @State() filterObjectsWithGroups: Array<any> = [\n {\n id: 'root',\n filterGroupId: null,\n logicalOperator: 'AND',\n filters: [],\n },\n ];\n @State() loadedGridView: object = {};\n @State() linearLoading: boolean = false;\n @State() selectedGridId: string = '';\n @State() selectedViewName: string = '';\n @State() selectedViewIsDefault: boolean = false;\n @State() selectedViewGridViewVisibilityTypeId: number;\n @State() selectedGridViewGridConfigurations: any[];\n @State() allFilters: Array<any> = [];\n @State() visibleChips: any[];\n @State() overflowChips: any[];\n @State() overflowActive: boolean = false;\n @State() setSearchStart: boolean = false;\n @State() refreshChips: boolean = false;\n @State() gridUID: string = '';\n @State() recentSearches: any[] = [];\n @State() recentSearchesOptions: any[] = [];\n @State() isRecentSearch: boolean = false;\n @State() gridError: boolean = false;\n @State() gridHeight: string = 'calc(100vh - 200px)';\n @State() openActionPopoverMenu: boolean = false;\n @State() selectedRowParams: ICellRendererParams;\n @State() actionMenuAnchorElement: HTMLElement;\n @State() overflowActionMenuItems: ActionItem[];\n @State() initialFilterData: any = {\n filterObjectsWithGroups: [\n {\n id: 'root',\n filterGroupId: null,\n logicalOperator: 'AND',\n filters: [],\n },\n ],\n logicalSearchOperator: 1,\n filterObject: [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 2,\n type: 'advanced',\n },\n ],\n filterRenderList: [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n type: 'advanced',\n },\n ],\n };\n @State() defaultColumnState: any[] = null;\n @State() _distinctValueStore: any = {};\n @State() _distinctsCached: boolean = false;\n @State() shouldForceEmptyResults: boolean = false;\n @State() enableAdvancedSearch: boolean = true;\n @State() toggleSearchModeConfirmationDialogOpen: boolean = false;\n viewListcolumnDefs: any[];\n\n @Watch('triggerGridUpdate')\n handleTriggerGridUpdate(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue && this.agGrid) {\n this.agGrid?.api?.refreshServerSide({ purge: true });\n this.updateServerSideDatasource('', 'advanced search sheet');\n }\n }\n\n @Event() selectedIdsChanged: EventEmitter<number[]>;\n\n @Listen('noDataDetected', { target: 'document' })\n noDataHandler() {\n this.linearLoading = false;\n this.noResults = true;\n }\n\n\n @Watch('catalogList')\n watchHandler(newVal: any, _oldVal: any) {\n if (newVal) {\n this.filterByCatalogObjectName(this.entityName);\n }\n }\n\n @Memoize()\n async getApiCatalogId(): Promise<string> {\n if (this.apiCatalogId) return this.apiCatalogId;\n\n const fetchedData = await getApiCatalogAndProduct();\n return (this.apiCatalogId = fetchedData.apiCatalogId);\n }\n\n async getApiMethodId(): Promise<string> {\n if (this.apiMethodId) return this.apiMethodId;\n\n const apiMethodInstance = await this.getApiMethodInstance();\n const apiMethodId = apiMethodInstance.apiMethodId;\n if (!apiMethodId) {\n throw new Error('apiMethodId not found');\n }\n\n return (this.apiMethodId = apiMethodId);\n }\n\n async getLookupApiMethod(): Promise<string> {\n if (this.lookupApiMethodId) return this.lookupApiMethodId;\n\n const promotedLookupMethod = await this.getPromotedLookupMethod();\n return (this.lookupApiMethodId = promotedLookupMethod?.unityBaseGetDataMethod?.apiMethodId);\n }\n\n @Memoize()\n async getApiMethodInstance() {\n return await getApiMethodInstance(this.queryId);\n }\n\n @Memoize()\n async getApiMethod() {\n return await getApiMethod(await this.getApiMethodId());\n }\n\n @Memoize()\n async getPromotedLookupMethod() {\n return await getPromotedLookupMethod(await this.getApiCatalogId());\n }\n\n @Memoize()\n async getFilterBody() {\n const apiMethodInstance = await this.getApiMethodInstance();\n return apiMethodInstance.body;\n }\n\n /**\n * Get column definitions from props or API Method Instance catalogModification\n */\n async getColumnDefinitions(): Promise<any[]> {\n if (this.columnDefs && this.columnDefs.length > 0) return this.columnDefs;\n\n const apiMethodInstance = await this.getApiMethodInstance();\n return JSON.parse(apiMethodInstance.catalogModification);\n }\n\n async getEntityName() {\n if (this.entityName) return this.entityName;\n\n const apiMethod = await this.getApiMethod();\n return (this.entityName = apiMethod.entityName);\n }\n\n updateFilterObject(recipe: (state: Draft<any[]>) => any[] | void | undefined) {\n this.filterObject = produce(this.filterObject, recipe);\n }\n\n async filterByCatalogObjectName(catalogObjectName: string) {\n if (!this.catalogList) {\n console.warn('catalogList is empty or undefined.');\n return;\n }\n // change to list from UdpGridColumnDefs\n const catalogObjectList = this.catalogList?.ctlg?.catalogObjectList;\n if (Array.isArray(catalogObjectList)) {\n catalogObjectList.forEach(object => {\n if (object.catalogObjectName === catalogObjectName) {\n const names = object.properties.map(property => {\n return { name: property.name };\n });\n this.advancedSearchFilterList = names;\n }\n });\n } else {\n console.warn('catalogObjectList is not an array or is undefined.');\n }\n }\n\n // PUTS apiCatalogData into localStorage\n getExtendedAdvancedSearchFilterList = async () => {\n\n try {\n const apiCatalogId = await this.getApiCatalogId();\n let apiCatalogData: any;\n\n // Retrieve apiCatalogData from localForage or make the API call if not found\n apiCatalogData = await localforage.getItem('apiCatalogData');\n if (!apiCatalogData) {\n // Fetch data from the API if not available in localForage\n apiCatalogData = await getApiCatalogById(apiCatalogId);\n // Store the fetched data in localForage for future use\n await localforage.setItem('apiCatalogData', apiCatalogData);\n }\n\n const transformedData = useTreeDatasource(apiCatalogData, await this.getEntityName(), true, true, '', '', '');\n\n if (transformedData) {\n state.catalogData = apiCatalogData;\n this.extendedSearchFilterList = transformedData;\n } else {\n console.error('No data returned from useTreeDatasource');\n }\n } catch (error) {\n this.gridError = true;\n console.error('Error fetching API Catalog:', error);\n }\n };\n\n constructor() {\n this.changeOperator = this.changeOperator?.bind(this);\n }\n changeOperator(event: CustomEvent) {\n // Convert string to integer\n const convertedValue = parseInt(event.detail, 10);\n // Update the state\n this.logicalSearchOperator = convertedValue;\n }\n\n @Method()\n async updateFilterAndFetch(newFilter: Array<any>) {\n this.updateFilterObject(() => [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [...newFilter],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 2,\n type: 'advanced',\n },\n ]);\n // Now call updateServerSideDatasource\n this.updateServerSideDatasource('', 'updateFilterAndFetch');\n }\n\n buildSearchFilterElements(filterElement, forObject, isInitialFilterElement) {\n let filterElementObject = {\n id: uuid(),\n groupId: 1,\n isInitialFilterElement: isInitialFilterElement,\n originalSearchOperator: filterElement.searchOperator,\n originalSearchValue: filterElement.searchValue,\n ...filterElement,\n };\n\n if (forObject) {\n filterElementObject = {\n id: uuid(),\n otherId: uuid(),\n level: 0,\n ...filterElementObject,\n };\n }\n\n return filterElementObject;\n }\n\n @Watch('externalSearchFilter')\n @Watch('defaultSearchObject')\n async handleFilteringSetup() {\n const filterBodyStr = await this.getFilterBody();\n const filterBody = !!filterBodyStr && typeof filterBodyStr === 'string' ? JSON.parse(filterBodyStr) : {};\n const intialFilterElements = filterBody?.filterElements || [];\n const updatedInitialFilterElementsForObject = [];\n\n const rootFilterGroupId = uuid();\n intialFilterElements.forEach(filterElement => {\n updatedInitialFilterElementsForObject.push({\n id: uuid(),\n filterGroupId: rootFilterGroupId,\n groupId: 1,\n isInitialFilterElement: true,\n ...filterElement,\n });\n });\n\n // construct filterElements from defaultSearchObject props\n this.defaultSearchObject.forEach(searchObj => {\n updatedInitialFilterElementsForObject.push(this.buildSearchFilterElements(searchObj, false, true));\n });\n\n // construct filterElements from filterObject props\n this.externalSearchFilter.forEach(filterElement => {\n updatedInitialFilterElementsForObject.push(this.buildSearchFilterElements(filterElement, false, false));\n });\n\n this.filterObjectsWithGroups = [\n {\n id: 'root',\n filterGroupId: null,\n logicalOperator: this.getLogicalOperatorValue(1), // defaulted to 1/AND\n filters: [],\n children: [\n {\n id: 'default',\n filterGroupId: rootFilterGroupId,\n logicalOperator: this.getLogicalOperatorValue(filterBody?.logicalSearchOperator),\n filters: updatedInitialFilterElementsForObject,\n },\n ],\n },\n ];\n\n this.initialFilterData.filterObjectsWithGroups = cloneDeep(this.filterObjectsWithGroups);\n\n this.logicalSearchOperator = filterBody?.logicalSearchOperator || 1;\n this.initialFilterData.logicalSearchOperator = filterBody?.logicalSearchOperator || 1;\n\n this.updateFilterObject(filterObject => {\n filterObject[0].filterElements = [...updatedInitialFilterElementsForObject];\n });\n const initialFilterObject = cloneDeep(this.initialFilterData.filterObject);\n initialFilterObject[0].filterElements = [...updatedInitialFilterElementsForObject];\n\n this.initialFilterData.filterObject = initialFilterObject;\n\n this.filterRenderList = cloneDeep(this.filterObject);\n this.initialFilterData.filterRenderList = cloneDeep(this.initialFilterData.filterObject);\n\n this.updateChipLayout();\n }\n\n async componentWillLoad() {\n lazySetupAgGridLibrary({ LicenseKey });\n\n this.gridError = false;\n\n\n this.gridUID = this.gridId + '-' + this.queryId;\n\n this.handleAdditionalSetup();\n this.handleFilteringSetup();\n\n this.viewListcolumnDefs = [\n {\n headerName: 'Name',\n field: 'name',\n resizable: true, // Enable resizing\n height: 100,\n },\n {\n field: 'gridViewVisibilityTypeId',\n cellRenderer: CustomRenderer,\n height: '100px',\n },\n {\n headerName: 'Actions',\n field: 'gridViewId',\n cellRenderer: CustomActionsRenderer,\n cellRendererParams: {\n onClick: this.handleLoadView,\n },\n },\n ];\n\n // Preload the ag-Grid library\n\n // Grab list of recent searches from local storage\n this.getRecentSearches();\n\n this.enableAdvancedSearch = this.defaultSearchMode === 'advanced';\n }\n\n waitForGrid(callback: () => void) {\n const observer = new MutationObserver(([], observer) => {\n const myGrid = this.el.shadowRoot.querySelector('#myGrid');\n if (myGrid) {\n observer.disconnect(); // Stop observing once the grid is found\n callback();\n }\n });\n\n observer.observe(this.el.shadowRoot, {\n childList: true, // Observe direct children changes\n subtree: true, // Observe nested children changes\n });\n }\n\n componentDidLoad() {\n lazySetupAgGridLibrary({ LicenseKey })\n .then(() => {\n // Initialize the ag-Grid\n this.waitForGrid(() => this.initializeGrid());\n })\n .catch(error => {\n this.gridError = true;\n console.error('Error during grid initialization:', error);\n });\n\n SharedContext.myClickCallback = this.cellClickHandler?.bind(this);\n SharedContext.viewActionCallback = this.viewActionClickHandler?.bind(this);\n SharedContext.thirdActionCallback = this.cellClickHandlerX?.bind(this);\n SharedContext.hotListAddHandler = (otherCellValue, callbackId) => {\n this.businessObjectKey = otherCellValue;\n console.log(callbackId);\n };\n\n // Can handle add or delete hotlist record from a list\n SharedContext.hotListAddHandler = (otherCellValue, callbackId) => {\n console.log(callbackId);\n\n function findMatchingHotListId(dataObject: any, otherCellValue: any): string | null {\n for (const record of dataObject.records) {\n const parsedData = JSON.parse(record.data);\n\n if (parsedData.businessObjectKey === otherCellValue.businessObjectKey) {\n return record.hotListRecordId;\n }\n }\n return null;\n }\n\n this.businessObjectKey = otherCellValue;\n if (!this.hotListActive) {\n this.hotlistDrawerOpen = true;\n } else {\n const matchingHotListId = findMatchingHotListId(this.hotlistSelectedFull, otherCellValue);\n removeRecordFromHotlist(matchingHotListId);\n const hotlistSelectedFull: HotListObject = this.hotlistSelectedFull as HotListObject;\n this.removeFilterItem({\n searchField: 'contactId',\n searchValue: matchingHotListId,\n });\n this.handleRequestHotlist(hotlistSelectedFull.hotListId);\n }\n };\n\n this.updateChipLayout();\n window.addEventListener('resize', this.updateChipLayout);\n }\n\n handleLinerLoading = (isLoading: boolean) => {\n this.linearLoading = isLoading;\n };\n\n //#region Action Renderer\n updateActionRendererState = (event: any, params: any) => {\n this.openActionPopoverMenu = !this.openActionPopoverMenu;\n this.selectedRowParams = params;\n this.actionMenuAnchorElement = event.currentTarget;\n };\n\n handleOnCloseActionPopover = event => {\n event?.preventDefault();\n this.selectedRowParams = null;\n this.openActionPopoverMenu = false;\n this.actionMenuAnchorElement = null;\n };\n\n getOverflowActionList = (overflowActions, params) => {\n return overflowActions?.map((action: ActionItem) => {\n const disabledAction = action?.checkDisabled ? action?.checkDisabled(params) : action?.disabled ?? false;\n const actionTitle = action?.getTitle ? action?.getTitle(params) : action?.title;\n return (\n <udp-menu-item\n label={actionTitle}\n iconName={action?.iconName}\n disabled={disabledAction}\n handleOnClick={e => {\n action?.handleOnClick(e, params);\n }}\n />\n );\n });\n };\n //#endregion\n\n // Main search call to server (old)\n updateServerSideDatasource(requestType: string, specialType: string) {\n console.warn('(dead branch) updateServerSideDataSouced: ', specialType);\n\n // Optionally close the drawer.\n if (requestType !== 'remove') {\n this.drawerOpen = false;\n this.advancedDrawerOpen = false;\n }\n }\n //#region Column Defs\n @Watch('configuredColumnDefs')\n @Watch('columnNames')\n @Watch('bulkActions')\n changeServerColumnDefs() {\n const updateColumnDefs = serverColumnDefs => {\n // Create a Set of fields from fullDataColumns for quick lookup\n // const fullDataFieldsSet = new Set(this.fullDataColumns.map(column => column.field));\n\n // Start with serverColumnDefs and update hide property\n let updatedColumns = serverColumnDefs.map(columnDef => {\n // Check if the field is 'searchRank' or in fullDataFieldsSet\n\n const hide = false;\n return {\n ...columnDef,\n hide: hide,\n };\n });\n\n // Add any columns from fullDataColumns that are not in serverColumnDefs\n this.fullDataColumns.forEach(column => {\n if (!serverColumnDefs.some(serverColumn => serverColumn.field === column.field) && this.showRank) {\n const hide = column.field !== 'searchRank';\n updatedColumns.push({ ...column, hide: hide });\n }\n });\n\n // Update the column header names\n if (this.columnNames) {\n const updatedColumnsWithNewNames = updatedColumns.map(obj => ({\n ...obj,\n headerName: this.columnNames[obj.headerName] || obj.headerName, // Use dictionary value or fallback to original value\n }));\n\n // Update the state or the updatedColumns with the new names\n updatedColumns = updatedColumnsWithNewNames;\n }\n\n // Hide column\n if (rowGroups.length > 0 && rowGroups) {\n let groupProps = null;\n groupProps = rowGroups.map(prop => prop.toLowerCase());\n updatedColumns = updatedColumns.map(column => {\n // Check if this column's field is present in groupProperty\n const hide = groupProps.includes(column.field.toLowerCase());\n return {\n ...column,\n hide: hide,\n };\n });\n }\n\n return updatedColumns;\n };\n\n const displayColumns = updateColumnDefs(this.configuredColumnDefs);\n\n const modifiedColumnDefs = displayColumns.map(column => {\n // Check if this column's headerName is present in displayColumns\n const isColumnDisplayed = displayColumns.find(displayColumn => displayColumn.headerName === column.headerName);\n // If it's not present, add the 'hide' property\n if (!isColumnDisplayed) {\n if (column.headerName === 'Search Rank') {\n return { ...column, sortable: false, hide: this.hasSearchRank ? false : true };\n } else {\n return { ...column, hide: true };\n }\n }\n // If it is present, return the column as is\n return column;\n });\n\n const addRenderers = (columnDefs, renderConfigs) => {\n return columnDefs.map(colDef => {\n // Find a matching configuration for this column\n const config = renderConfigs.find(cfg => cfg.field === colDef.field);\n if (config) {\n // Merge existing cellRendererParams with ones from config, prioritizing config params\n const cellRendererParams = {\n ...colDef.cellRendererParams,\n ...config.cellRendererParams,\n otherField: config.otherField, // Assuming you might want to keep using this pattern\n callbackId: config.callbackId,\n showViewAction: true,\n showThirdAction:\n this.showHotlistButton &&\n !(this.restrictedGridFeatures?.Hotlist && !this.userPermissions.some(permission => permission.name === this.restrictedGridFeatures.Hotlist)),\n };\n\n if (config?.rendererName === 'actionsRenderer') {\n const maximumVisibleActions = 4;\n //set minWidth and maxWidth for action columns\n const actionColumnWidth = getActionColumnWidth(config?.cellRendererParams?.actionList);\n colDef.minWidth = actionColumnWidth;\n colDef.maxWidth = actionColumnWidth;\n\n //sort action list\n const sortedActionList = sortActionItemOrder([...config.cellRendererParams.actionList]);\n\n if (config?.cellRendererParams?.actionList?.length > maximumVisibleActions) {\n // Split the action list if there are more than 4 actions\n const { visibleActions, overflowActions } = splitActionList(sortedActionList, maximumVisibleActions - 1);\n this.overflowActionMenuItems = overflowActions;\n visibleActions.push({\n id: 100,\n iconName: 'overflowMenuVertical',\n title: 'View More',\n handleOnClick: this.updateActionRendererState.bind(this),\n disabled: false,\n });\n\n cellRendererParams.actionList = visibleActions;\n }\n }\n\n if (config.rendererName === 'currencyRenderer') {\n colDef.type = 'rightAligned';\n }\n\n return {\n ...colDef,\n cellRenderer: config.rendererName,\n cellRendererParams: cellRendererParams,\n };\n }\n return colDef; // Return original colDef if no matching config is found\n });\n };\n\n const addActionsColumn = columnDefs => {\n const actionsColumnExists = columnDefs.some(column => column.field === 'actions');\n if (!actionsColumnExists && !this.hideActionsColumn) {\n const actionsColumn = {\n headerName: 'Actions',\n field: 'actions',\n cellRendererParams: {\n shouldDisplayCustomContent: false,\n },\n cellRenderer: 'hotListAddRenderer',\n pinned: 'right',\n };\n columnDefs.push(actionsColumn);\n }\n return columnDefs;\n };\n\n const CHECKBOX_FIELD = 'checkbox';\n const addCheckboxColumn = columnDefs => {\n var bulkActions = this.bulkActions; // check if bulk actions are configured, if not then skip adding checkboxes\n if (bulkActions?.length > 0 || this.enableCheckboxOnColumns) {\n const checkboxColumnExists = columnDefs.some(column => column.field === CHECKBOX_FIELD);\n if (!checkboxColumnExists) {\n const checkboxColumn = {\n headerName: '', // No title for the checkbox column\n field: CHECKBOX_FIELD,\n checkboxSelection: true, // This enables the checkbox selection feature\n headerCheckboxSelection: this.enableCheckboxOnColumns, // set to false now as the server-size for select all is not fully implemented\n pinned: 'left', // Pinned to the left\n lockVisible: true, // This prevents the column from being hideable\n maxWidth: 70,\n filter: false, // no need to show filter for this column\n menuTabs: [], // Disables the menu in the column header\n sortable: false, // Disables sorting for this column\n };\n columnDefs.unshift(checkboxColumn); // Use unshift to add it at the start of the array\n }\n }\n return columnDefs;\n };\n\n const addToolTip = columnDefs => {\n return columnDefs.map(colDef => {\n colDef.tooltipField = colDef.field;\n colDef.headerTooltip = colDef.headerName;\n return { ...colDef };\n });\n };\n\n // Usage of the function to add checkbox column\n const columnDefsWithCheckbox = addCheckboxColumn(modifiedColumnDefs);\n\n // Add the Actions column to the definitions with checkbox\n let columnDefsWithActions = addActionsColumn(columnDefsWithCheckbox);\n\n // Reorder the columns based on the currentColumnOrdering\n if (this.currentColumnOrdering.length > 0) {\n const reorderedColumns = this.currentColumnOrdering.map(currentColOrder => columnDefsWithActions.find(col => col.field === currentColOrder.colId));\n // Update the columnDefs with the reordered columns\n columnDefsWithActions = reorderedColumns;\n }\n\n // Update each column definition's 'hide' property with the value from grid state\n if (this.currentHiddenColumns?.length > 0) {\n columnDefsWithActions = columnDefsWithActions.map(colDef => {\n const hiddenCol = this.currentHiddenColumns.find(hiddenCol => hiddenCol.colId === colDef.field);\n if (hiddenCol) {\n return { ...colDef, hide: hiddenCol.hide };\n }\n return colDef;\n });\n }\n\n const columnDefsWithToolTips = addToolTip(columnDefsWithActions);\n\n // Now pass this updated array to addRenderers or other manipulation functions\n const columnDefsWithRenderers = addRenderers(columnDefsWithToolTips, this.renderConfigs);\n\n this.serverColumnDefs = columnDefsWithRenderers;\n }\n\n @Watch('agGrid')\n @Watch('serverColumnDefs')\n watchServerColumnDefs() {\n if (this.agGrid && this.serverColumnDefs.length > 0) {\n const baseColumnDefs = this.serverColumnDefs.map(colDef => {\n const shouldHide = this.hiddenColumnsList.includes(colDef.field);\n return {\n ...colDef,\n hide: shouldHide,\n };\n });\n\n this.agGrid.api.setColumnDefs(baseColumnDefs);\n this.defaultColumnState = this.agGrid.columnApi.getColumnState();\n }\n }\n\n @Watch('hiddenColumnsList')\n watchHiddenColumnList() {\n if (this.agGrid) {\n const newDefaultState = this.defaultColumnState.map(col => {\n const shouldHide = this.hiddenColumnsList.includes(col.colId);\n return {\n ...col,\n hide: shouldHide,\n };\n });\n this.defaultColumnState = newDefaultState;\n //TODO here might not want to apply column state if a view is active\n if (this.loadedView.length === 0) {\n this.agGrid.columnApi.applyColumnState({ state: this.defaultColumnState, applyOrder: true });\n }\n }\n }\n\n @Watch('configuredColumnDefs')\n configuredColumnDefsChanged(newValue: Array<any>) {\n this.hasConfiguredColumnDefs = newValue.length > 0;\n }\n //#endregion\n\n @Watch('isServerSide')\n @Watch('apiMethodId')\n @Watch('agGrid')\n @Watch('filterObject')\n @Watch('logicalSearchOperator')\n @Watch('lookupsMap')\n changeServerSideDatasource(_newValue?: any, _oldValue?: any, propName?: string) {\n console.log(`changeServerSideDatasource triggered by ${propName || 'unknown'}`);\n this.linearLoading = true;\n\n // Ensure all prerequisites are met before attempting to update the data source.\n if (!this.isServerSide || !this.apiMethodId) {\n this.linearLoading = false;\n console.warn('Grid update prerequisites not met..');\n return;\n }\n\n this.noResults = false;\n\n let datasource = SearchServiceDatasource(\n null,\n this.gridUID,\n this.isRecentSearch,\n this.apiMethodId,\n this.hotListActive && this.extractContactIDs(this.hotlistSelectedFull).length === 0,\n this.filterObject,\n this.logicalSearchOperator,\n this.getLookupApiMethod(),\n executeQueryAdHocAndMapLookups,\n this.lookupsMap,\n this.defaultSearchObject,\n (dataFetched, totalCount) => {\n try {\n if (totalCount === 0) {\n this.linearLoading = false;\n }\n\n // Convert the fetched data to ag-grid columns, representing the full set of data columns\n this.fullDataColumns = convertToAgGridColumns(dataFetched);\n\n this.hasSearchRank = !!dataFetched?.[0]?.searchRank;\n\n if (this.agGrid) {\n // Assuming api is initialized\n\n // Listen for any event that signifies data has been updated or loaded\n this.agGrid.api.addEventListener('modelUpdated', () => {\n const rowCount = this.agGrid.api.getDisplayedRowCount();\n\n this.getExtendedAdvancedSearchFilterList();\n\n // Check if the grid has no rows displayed after a data update\n if (rowCount === 0) {\n // No rows in the grid, meaning the data source returned an empty pageList\n this.linearLoading = false; // Stop the loading animation\n // Optionally, trigger any other UI updates to reflect the empty state\n } else {\n // Rows are present, data loading was successful with content\n // Any additional handling for successful data load with rows\n }\n });\n }\n\n if (this.agGrid) {\n this.linearLoading = false;\n // load ctlg for advanced search after setting column defs\n }\n } catch (error) {\n this.gridError = true;\n console.error('Error processing data fetched for the grid:', error);\n }\n\n // Update list of recent searches\n this.getRecentSearches();\n this.isRecentSearch = false;\n },\n this.handleLinerLoading,\n );\n\n // Set the new data source and trigger a refresh.\n this.serverSideDatasource = datasource;\n\n this.getGridState();\n }\n\n cacheDistinctValues(rowData) {\n rowData.forEach(row => {\n Object.keys(row).forEach(field => {\n if (!this._distinctValueStore[field]) {\n this._distinctValueStore[field] = new Set();\n }\n this._distinctValueStore[field].add(row[field]);\n });\n });\n }\n\n withFilterTracking(datasource) {\n const originalGetRows = datasource.getRows;\n\n this._distinctValueStore = {};\n\n datasource.getRows = params => {\n const wrappedParams = {\n ...params,\n success: data => {\n const rowData = data?.rowData || [];\n\n if (Array.isArray(rowData) && rowData.length > 0 && !this._distinctsCached) {\n this.cacheDistinctValues(rowData);\n this._distinctsCached = true;\n\n this.updateColumnDefsWithFilterValues();\n }\n\n params.success(data);\n },\n };\n\n originalGetRows(wrappedParams, this.shouldForceEmptyResults);\n };\n\n return datasource;\n }\n\n updateColumnDefsWithFilterValues() {\n const currentDefs = this.agGrid.columnApi.getColumns().map(col => col.getColDef());\n\n const newDefs = currentDefs.map(col => {\n if (!col.field) return col;\n\n const distinct = Array.from(this._distinctValueStore[col.field] || []);\n\n return {\n ...col,\n filter: 'agSetColumnFilter',\n filterParams: {\n values: params => {\n params.success(distinct);\n },\n valuesArray: distinct,\n },\n };\n });\n\n this.agGrid.api.setColumnDefs(newDefs);\n }\n\n @Watch('serverSideDatasource')\n @Watch('agGrid')\n setServerSideDatasource() {\n // Set the new data source and trigger a refresh.\n if (this.agGrid) {\n try {\n const wrappedDatasource = this.withFilterTracking(this.serverSideDatasource);\n this.agGrid.api.setServerSideDatasource(wrappedDatasource);\n this.gridError = false;\n // No need to call refreshServerSide() as setting the datasource will implicitly refresh it.\n } catch (error) {\n this.gridError = true;\n console.error('Error setting server-side datasource:', error);\n }\n } else {\n this.serverSideDatasource.getRows({\n api: undefined,\n columnApi: undefined,\n context: undefined,\n request: {\n startRow: 0,\n endRow: 20,\n rowGroupCols: [],\n valueCols: [],\n pivotCols: [],\n pivotMode: false,\n groupKeys: [],\n filterModel: {},\n sortModel: [],\n // @ts-expect-error -- Prefetch property is custom\n prefetch: true,\n },\n fail() {},\n success() {},\n });\n }\n }\n\n adjustGridScroll() {\n const gridViewport = this.el.querySelector('.ag-center-cols-viewport') as HTMLElement;\n if (gridViewport && gridViewport.style) {\n gridViewport.style.overflowY = 'hidden';\n }\n const scrollViewport = this.el.querySelector('.ag-body-viewport.ag-layout-normal') as HTMLElement;\n if (scrollViewport && scrollViewport.style) {\n scrollViewport.style.overflowY = 'hidden';\n }\n }\n\n triggerResizeEvent() {\n let resizeEvent = new CustomEvent('resize');\n window.dispatchEvent(resizeEvent);\n }\n\n @Listen('resize', { target: 'window' })\n handleResize() {\n this.updateChipLayout();\n }\n\n @Watch('serverColumnDefs')\n serverColumnDefsChanged(newValue: any[]) {\n if (newValue && newValue.length != 0 && !this.isSetupComplete) {\n this.handleSecondarySetup();\n this.isSetupComplete = true;\n }\n this.updateChipLayout();\n }\n\n @Watch('filterRenderList')\n watchChipLayoutChanges() {\n this.updateChipLayout();\n }\n\n private selectedRowMap: Record<string, any> = {};\n initializeGrid() {\n this.gridOptions = {\n animateRows: true,\n ...(this.isServerSide ? { rowModelType: 'serverSide' } : {}),\n ...(this.isServerSide ? { serverSideStoreType: 'partial' } : {}),\n ...(this.isServerSide ? { cacheOverflowSize: 2 } : {}),\n ...(this.isServerSide ? { cacheBlockSize: 20 } : {}),\n ...(this.isServerSide ? { maxConcurrentDatasourceRequests: 1 } : {}),\n pagination: true,\n paginationPageSize: 20,\n rowHeight: 32,\n defaultColDef: {\n filter: !this.enableAdvancedSearch,\n menuTabs: this.enableAdvancedSearch ? ['generalMenuTab', 'columnsMenuTab'] : ['generalMenuTab', 'filterMenuTab', 'columnsMenuTab'],\n resizable: true,\n },\n rowSelection: 'multiple',\n ...(this.rowIdField\n ? {\n getRowId: params => {\n const id = params.data?.[this.rowIdField];\n if (!id) {\n console.warn(`Missing ID for row using rowIdField=\"${this.rowIdField}\"`, params.data);\n return undefined;\n }\n return id;\n },\n }\n : {}),\n suppressRowClickSelection: true,\n onRowSelected: event => {\n const node = event.node;\n const rowId = node.id;\n\n if (!rowId) return;\n\n if (node.isSelected()) {\n this.selectedRowMap[rowId] = node.data;\n } else {\n delete this.selectedRowMap[rowId];\n }\n\n this.selectedRowCount = Object.keys(this.selectedRowMap).length;\n this.rowsSelected = this.selectedRowCount > 0;\n },\n onCellClicked: event => {\n this.dataRowClicked = event.data;\n },\n\n // frameworkComponents: {\n // emailCellRenderer: 'email-cell-renderer',\n // },\n components: {\n emailCellRenderer: EmailCellRenderer,\n openFunctionCellRenderer: OpenFunctionCellRenderer,\n hoverContentCellRenderer: HoverContentCellRenderer,\n hotListAddRenderer: HotListAddRenderer,\n dateTimeCellRenderer: DateTimeCellRenderer,\n actionsRenderer: ActionsRenderer,\n statusRenderer: StatusRenderer,\n iconRenderer: IconRenderer,\n currencyRenderer: CurrencyRenderer,\n },\n columnDefs: this.serverColumnDefs, // getting defs for server side fetch\n rowData: this.rowData,\n serverSideDatasource: this.serverSideDatasource,\n sideBar: this.filterPanelOpen\n ? {\n toolPanels: [\n {\n id: 'filters',\n labelDefault: 'Filters',\n labelKey: 'filters',\n iconKey: 'filter',\n toolPanel: 'agFiltersToolPanel',\n },\n {\n id: 'columns',\n labelDefault: 'Columns',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n toolPanelParams: {\n suppressRowGroups: true,\n suppressValues: true,\n suppressPivots: true,\n suppressPivotMode: true,\n },\n },\n ],\n defaultToolPanel: '',\n }\n : null,\n onGridReady: (event: GridReadyEvent<any>) => {\n this.agGrid = {\n api: event.api,\n columnApi: event.columnApi, // still needed for now\n };\n\n const tryResize = () => {\n try {\n // If loadedView/loadedViewData aren't ready or throw, fallback to just resizing\n const view = this.loadedView;\n const data = this.loadedViewData;\n\n const skipResize = Array.isArray(view) && Array.isArray(data) ? view.length !== 0 || data.length !== 0 : false;\n\n if (!skipResize) {\n if (this.fitGrid === 'fit') {\n this.agGrid?.api?.sizeColumnsToFit?.();\n } else {\n this.agGrid?.columnApi?.autoSizeAllColumns?.();\n }\n }\n } catch (error) {\n // Fallback: just attempt resizing if any error occurs\n if (this.fitGrid === 'fit') {\n this.agGrid?.api?.sizeColumnsToFit?.();\n } else {\n this.agGrid?.columnApi?.autoSizeAllColumns?.();\n }\n }\n };\n\n [500, 1000, 2000, 3000, 4000, 5000, 6000, 10000, 20000].forEach(delay => {\n setTimeout(tryResize, delay);\n });\n\n this.getGridState?.();\n this.adjustGridScroll?.();\n },\n onColumnMoved: () => {\n this.currentColumnOrdering = this.agGrid.columnApi.getColumnState();\n this.getGridState(true);\n },\n onColumnVisible: () => {\n this.currentHiddenColumns = this.agGrid.columnApi.getColumnState();\n this.getGridState(true);\n },\n onColumnResized: () => {\n let gridFilters = localStorage.getItem('currentGridFilters');\n if (!gridFilters || gridFilters?.length === 0) {\n this.getGridState();\n } else {\n this.getGridState(true);\n }\n },\n onColumnPinned: () => {\n this.getGridState(true);\n },\n onFilterChanged: () => {\n const filterModel = this.agGrid.api.getFilterModel();\n this.transformAndApplyFilters(filterModel);\n this.getGridState();\n },\n onSortChanged: () => {\n this.getGridState(true);\n },\n onFirstDataRendered: () => {\n this.getGridState();\n // Here you can also check if pivot mode has changed\n const isPivotMode = this.agGrid.columnApi.isPivotMode();\n if (isPivotMode !== this.prevPivotMode) {\n this.getPivotModeState(); // Replace with your actual method\n this.prevPivotMode = isPivotMode;\n }\n },\n onFilterOpened: params => {\n const field = params.column.getColDef().field;\n const customFilters = this.filterObject?.[0]?.filterElements || [];\n\n // Get all filterElements matching the column and operator '='\n const matchingFilters = customFilters.filter(f => f.searchField.toLowerCase() === field.toLowerCase() && f.searchOperator === '=');\n\n if (matchingFilters.length === 0) return;\n\n const filterInstance = params.api.getFilterInstance(field);\n\n if (filterInstance) {\n const values = matchingFilters.map(f => f.searchValue);\n filterInstance.setModel({\n values,\n });\n\n if (typeof filterInstance.refreshFilterUi === 'function') {\n filterInstance.refreshFilterUi();\n }\n }\n },\n suppressMenuHide: this.suppressMenuHide,\n tooltipShowDelay: 1000,\n } as unknown as GridOptions;\n const myGrid = this.el.shadowRoot.querySelector('#myGrid');\n if (!myGrid) throw new Error('#myGrid did not exist when trying to initalize agGrid');\n new window['agGrid'].Grid(myGrid, this.gridOptions);\n }\n\n handleSearchModeToggle() {\n this.toggleSearchModeConfirmation(true);\n }\n\n confirmSearchModeToggle() {\n this.enableAdvancedSearch = !this.enableAdvancedSearch;\n // switching from advanced to standard\n if (!this.enableAdvancedSearch) {\n this.noResults = true;\n this.refreshOnNoResults();\n } else {\n this.noResults = true;\n this.refreshOnNoResults(false);\n }\n this.toggleSearchModeConfirmation(false);\n }\n\n @Watch('defaultSearchMode')\n handleDefaultSearchModeChange(newValue: 'advanced' | 'standard') {\n this.enableAdvancedSearch = newValue === 'advanced';\n }\n\n @Watch('enableAdvancedSearch')\n onSearchModeChange() {\n this.reinitializeGrid();\n }\n\n toggleSearchModeConfirmation(show: boolean) {\n this.toggleSearchModeConfirmationDialogOpen = show;\n }\n\n reinitializeGrid() {\n if (this.agGrid?.api) {\n this.agGrid.api.destroy();\n this._distinctsCached = false; // Reset distincts cache\n this._distinctValueStore = {}; // Reset distinct value store\n }\n this.initializeGrid();\n }\n\n // After apiCatalogId is pushed into localStorage\n handleGetPromotedLookupMethod = async () => {\n try {\n // Fetch the API Catalog ID, but don't await it since may not be needed yet\n this.getApiCatalogId().then(apiCatalogId => {\n if (!apiCatalogId) {\n this.gridError = true;\n throw new Error('apiCatalogId is undefined');\n }\n });\n\n localStorage.setItem('lookupApiMethodId', await this.getLookupApiMethod());\n\n let productList = state.catalogData;\n this.catalogList = productList;\n } catch (error) {\n this.gridError = true;\n console.error('Error performing API call:', error);\n }\n };\n\n handleGetInstanceAndMethod = async () => {\n localStorage.setItem('apiMethodId', await this.getApiMethodId());\n\n // Save data to local storage\n const catalogModificationP = this.getColumnDefinitions();\n\n const getConfiguredColumnDefs = UdpGridColumnDefs(await catalogModificationP);\n getConfiguredColumnDefs.forEach(column => {\n if (this.rowGrouping.includes(column.field)) {\n column.rowGroup = true;\n column.hide = true;\n }\n });\n this.configuredColumnDefs = getConfiguredColumnDefs;\n this.lookupsMap = this.getLookupsMap(await catalogModificationP);\n };\n\n async getLookupId(lookupsMap: any) {\n if (!lookupsMap) return null;\n\n const lookupToFilterOn = Object.values(lookupsMap).find((item: any) => item.filterOn);\n const lookupId = (lookupToFilterOn as any)?.value || '';\n\n const uuidPattern = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;\n\n if (!lookupId || typeof lookupId !== 'string' || !uuidPattern.test(lookupId)) {\n console.error('Invalid lookupId', lookupId);\n return null;\n }\n\n // Call the function and await its result\n const data = await executeQueryWithParameters(\n {\n data: {\n id: lookupId,\n },\n },\n await this.getLookupApiMethod()\n );\n this.filterChips = data.data;\n return lookupId;\n }\n\n getLookupsMap(queryColumnsData) {\n if (!queryColumnsData.length) return null;\n const map = {};\n const lookupColumns = queryColumnsData.filter(column => {\n const lookupValue = column.extendedProperties?.lookup;\n return !!lookupValue;\n });\n\n lookupColumns.forEach(lc => {\n map[lc.name] = {\n lookupKeyName: lc.extendedProperties?.lookupKeyName || '',\n lookupValueName: lc.extendedProperties?.lookupValueName || '',\n value: lc.extendedProperties?.lookup || '',\n filterOn: !!lc.filterOn || false,\n };\n });\n this.getLookupId(map);\n const keys = Object.keys(map);\n const keyString = keys[0];\n this.filterOn = keyString;\n return map;\n }\n\n async handleAdditionalSetup() {\n // Ensure handleGetPromotedLookupMethod is awaited to complete before proceeding.\n await this.handleGetPromotedLookupMethod();\n\n // After awaiting, check again for lookupApiMethodId in localStorage.\n if (await this.getLookupApiMethod()) {\n this.handleGetInstanceAndMethod();\n } else {\n // If lookupApiMethodId is still not set, it means there was an issue in handleGetPromotedLookupMethod.\n console.error('Failed to retrieve lookupApiMethodId - handleAdditionalSetup aborted.');\n // Return or handle the error as needed.\n }\n }\n\n handleSecondarySetup() {\n this.fetchAvailableGridActions();\n this.filterByCatalogObjectName(this.entityName);\n this.fetchDataForViews();\n this.transformBulkActions();\n this.handleGetAllHotlists();\n }\n\n getGridState(setAutoGridState = false) {\n if (this.gridOptions && this.agGrid) {\n const columnState = this.agGrid.columnApi.getColumnState();\n const columnGroupState = this.agGrid.columnApi.getColumnGroupState();\n const filterModel = this.filterObjectsWithGroups;\n const isPivotMode = this.agGrid.columnApi.isPivotMode();\n const sortModel = columnState.filter(column => column.sort != null);\n\n const gridState = [];\n const columnGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column,\n gridId: this.gridId,\n values: JSON.stringify(columnState),\n };\n const columnGroupGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Group,\n gridId: this.gridId,\n values: JSON.stringify(columnGroupState),\n };\n const columnSortGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Sort,\n gridId: this.gridId,\n values: JSON.stringify(sortModel),\n };\n const columnFilterGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Column_Filter,\n gridId: this.gridId,\n values: JSON.stringify(filterModel),\n };\n const pivotGridConfiguration = {\n gridStateTypeId: GridStateTypeEnums.Pivot_Mode,\n gridId: this.gridId,\n values: JSON.stringify(isPivotMode),\n };\n gridState.push(columnGridConfiguration);\n gridState.push(columnGroupGridConfiguration);\n gridState.push(columnSortGridConfiguration);\n gridState.push(columnFilterGridConfiguration);\n gridState.push(pivotGridConfiguration);\n\n this.gridState = gridState;\n let gridStateObject = {\n state: gridState,\n tenantId: getCurrentTenantId(),\n gridId: this.gridId,\n loadedGridViewName: null,\n };\n\n if (setAutoGridState) {\n let savedGridStatesString = localStorage.getItem('savedGridStates');\n if (!savedGridStatesString) {\n localStorage.setItem('savedGridStates', JSON.stringify([gridStateObject]));\n } else {\n let currentGridStateObj = this.getCurrentGridState();\n if (!currentGridStateObj) {\n let savedGridStatesArray = JSON.parse(savedGridStatesString) ?? [];\n savedGridStatesArray.push(gridStateObject);\n localStorage.setItem('savedGridStates', JSON.stringify(savedGridStatesArray));\n } else {\n this.saveCurrentGridState({\n ...currentGridStateObj,\n state: gridState,\n });\n }\n }\n }\n // Do something with columnState\n }\n }\n setColumnState(state: Array<{ [key: string]: any }>) {\n if (this.gridOptions && this.agGrid.columnApi) {\n const castedState = state as any;\n this.agGrid.columnApi.applyColumnState({ state: castedState, applyOrder: true });\n } else {\n console.warn('Grid options or Column API not available.');\n }\n }\n\n onFirstDataRendered(gridData) {\n if (this.hotListActive) {\n this.handleRemoveHotlist();\n }\n let gridConfigurations = [];\n let gridConfigArray = [];\n if (gridData?.state) {\n gridConfigArray = gridData.state;\n let loadedGridViewName = gridData.loadedGridViewName;\n if (loadedGridViewName?.length > 0) {\n this.loadedViewTitle = loadedGridViewName;\n }\n this.loadedView = gridConfigArray;\n }\n if (gridData?.gridViewGridViewGridConfiguration) {\n this.loadedViewTitle = gridData.name;\n gridConfigArray = gridData?.gridViewGridViewGridConfiguration;\n }\n if (gridConfigArray && gridConfigArray?.length > 0) {\n gridConfigArray.forEach(config => {\n let state = config;\n if (config?.gridViewGridConfigurationGridConfiguration) {\n state = config?.gridViewGridConfigurationGridConfiguration;\n }\n if (state) {\n gridConfigurations.push({\n gridConfigurationId: state?.gridConfigurationId ?? 0,\n gridStateTypeId: state?.gridStateTypeId,\n });\n switch (state.gridStateTypeId) {\n case 1:\n // this.agGrid.columnApi.applyColumnState({state: JSON.parse(state.values)});\n this.loadedViewData = state.values;\n this.setColumnState(JSON.parse(state.values));\n //this.agGrid.api.refreshServerSide();\n break;\n case GridStateTypeEnums.Pivot_Mode:\n this.agGrid.columnApi.setPivotMode(JSON.parse(state.values));\n\n break;\n case GridStateTypeEnums.Column_Sort:\n const currentColumnState = this.agGrid.columnApi.getColumnState();\n const newColumnState = JSON.parse(state.values);\n const mergedState = currentColumnState.map(col => newColumnState.find(newCol => newCol.colId === col.colId) || col);\n this.agGrid.columnApi.applyColumnState({ state: mergedState });\n\n break;\n case GridStateTypeEnums.Column_Filter:\n let filterObjects = JSON.parse(state.values);\n this.defaultSearchObject.forEach(defaultFilter => {\n let filterExists = false;\n\n for (let fo of filterObjects) {\n if (Array.isArray(fo.filters)) {\n const match = fo.filters.find(f => f.searchField === defaultFilter.searchField);\n if (match) {\n match.isInitialFilterElement = true;\n filterExists = true;\n break;\n }\n }\n }\n\n if (!filterExists) {\n const newFilter = this.buildSearchFilterElements(defaultFilter, true, true);\n const target = filterObjects.find(fo => Array.isArray(fo.filters));\n if (target) {\n target.filters.push(newFilter);\n } else {\n filterObjects.push({ filters: [newFilter] });\n }\n }\n });\n\n this.filterObject\n .flatMap(({ filterElements }) => filterElements)\n .forEach(filterElement => {\n const exists = filterObjects[0].filters.some(filter => filter.searchField === filterElement.searchField);\n if (!exists) {\n filterObjects[0].filters.push(this.buildSearchFilterElements(filterElement, true, false));\n }\n });\n\n this.filterObjectsWithGroups = filterObjects;\n this.handleSideSheetButtonClick();\n break;\n case GridStateTypeEnums.Column_Group:\n this.agGrid.columnApi.setColumnGroupState(JSON.parse(state.values));\n break;\n default:\n break;\n }\n }\n });\n if (this.filterChips?.length === 0) {\n let currentGridStateObj = this.getCurrentGridState();\n let filters = currentGridStateObj;\n if (currentGridStateObj?.gridViewGridViewGridConfiguration) {\n filters = currentGridStateObj?.gridViewGridViewGridConfiguration;\n }\n if (filters) {\n this.updateChipLayout();\n }\n }\n } else {\n }\n this.selectedGridViewGridConfigurations = gridConfigurations;\n }\n\n primaryActionClick(type: string) {\n if (type === 'advancedSearch') {\n this.advancedDrawerOpen = !this.advancedDrawerOpen;\n } else if (type === 'views') {\n this.viewDrawerOpen = !this.viewDrawerOpen;\n } else if (type === 'customSearch') {\n this.customSearchDrawerOpen = !this.customSearchDrawerOpen;\n } else {\n this.hotlistDrawerOpen = !this.hotlistDrawerOpen;\n }\n }\n\n // Opens the drop down menu of the gear icon in the header\n showGridOptions() {\n this.gridOptionsDrawerOpen = !this.gridOptionsDrawerOpen;\n }\n\n resetToOriginalFilters() {\n this.filterObjectsWithGroups = cloneDeep(this.initialFilterData.filterObjectsWithGroups);\n this.filterObject = cloneDeep(this.initialFilterData.filterObject);\n this.logicalSearchOperator = cloneDeep(this.initialFilterData.logicalSearchOperator);\n this.filterRenderList = cloneDeep(this.initialFilterData.filterRenderList);\n this.updateChipLayout();\n }\n\n clearViewFilter() {\n if (this.gridOptions && this.agGrid) {\n const { api, columnApi } = this.agGrid;\n\n api.setQuickFilter('');\n columnApi.setRowGroupColumns([]);\n api.setFilterModel(null);\n columnApi.applyColumnState({ state: this.defaultColumnState, applyOrder: true });\n this.loadedView = [];\n }\n state.hotListActive = '';\n let currentGridStateObj = this.getCurrentGridState();\n if (currentGridStateObj) {\n this.saveCurrentGridState({\n ...currentGridStateObj,\n state: null,\n loadedGridViewName: null,\n });\n }\n this.loadedViewTitle = '';\n this.refreshGrid();\n }\n\n clearFilters() {\n this.refreshOnNoResults();\n if (this.gridOptions && this.agGrid) {\n const { api } = this.agGrid;\n\n api.setQuickFilter('');\n api.setFilterModel(null);\n }\n }\n\n refreshGrid() {\n this.changeServerSideDatasource();\n this.fitColumns();\n }\n\n refreshOnNoResults = (resetFilters: boolean = true) => {\n this.hotListActive = '';\n this.loadedView = [];\n\n if (this.noResults) {\n lazySetupAgGridLibrary({ LicenseKey })\n .then(() => {\n this.handleSecondarySetup();\n })\n .catch(error => {\n this.gridError = true;\n console.error('Error refreshing the grid on no results:', error);\n });\n }\n this.updateServerSideDatasource('', 'advanced search sheet');\n if (resetFilters) {\n this.resetToOriginalFilters();\n }\n this.noResults = false;\n };\n\n // ONCLICK FUNCTIONS for grid-primary-bar and stencil-icon-button-grid-action-header\n exportToCsv() {\n if (this.agGrid) {\n const params = {};\n this.agGrid.api.exportDataAsCsv(params);\n }\n }\n fitColumns() {\n if (this.gridOptions && this.agGrid) {\n this.agGrid.api.sizeColumnsToFit();\n }\n }\n expandColumns() {\n if (this.gridOptions && this.agGrid && this.agGrid.columnApi) {\n this.agGrid.columnApi.autoSizeAllColumns();\n }\n }\n togglePanel(panelType) {\n const panelTypes = ['filters', 'columns'];\n panelTypes.forEach(type => {\n if (type !== panelType) {\n const otherPanelOpenKey = `${type}PanelOpen`;\n this[otherPanelOpenKey] = false; // Close other panel if open\n }\n });\n\n const panelOpenKey = `${panelType}PanelOpen`;\n this[panelOpenKey] = !this[panelOpenKey]; // Toggle the current panel\n\n // Create the toolPanel configuration based on the panelType\n const toolPanelConfig = {\n id: panelType,\n labelDefault: panelType.charAt(0).toUpperCase() + panelType.slice(1),\n labelKey: panelType,\n iconKey: panelType === 'filters' ? 'filter' : 'columns',\n toolPanel: panelType === 'filters' ? 'agFiltersToolPanel' : 'agColumnsToolPanel',\n toolPanelParams: {\n suppressRowGroups: true,\n suppressValues: true,\n suppressPivots: true,\n suppressPivotMode: true,\n },\n };\n\n // Update gridOptions to reflect new sidebar settings\n this.gridOptions.sideBar = this[panelOpenKey]\n ? {\n toolPanels: [toolPanelConfig],\n defaultToolPanel: panelType,\n }\n : null;\n\n this.agGrid.api.setSideBarVisible(this[panelOpenKey]);\n\n if (this[panelOpenKey]) {\n this.agGrid.api.openToolPanel(panelType);\n } else {\n this.agGrid.api.closeToolPanel();\n }\n\n // Apply Direct DOM Manipulation\n const sidebarElement = this.el.shadowRoot.querySelector('.ag-side-bar');\n if (sidebarElement instanceof HTMLElement) {\n sidebarElement.style.width = this[panelOpenKey] ? '200px' : 'initial';\n }\n }\n toggleServerSide = () => {\n this.isServerSide = !this.isServerSide;\n };\n getPivotModeState() {\n if (this.gridOptions && this.agGrid.columnApi) {\n return this.agGrid.columnApi.isPivotMode();\n }\n return false;\n }\n\n // VIEW FUNCTIONS\n showViews() {\n this.viewDrawerOpen = !this.viewDrawerOpen;\n this.sheetContent = 'views';\n }\n showViewSave() {\n this.saveDialogOpen = !this.saveDialogOpen;\n }\n resetDefaultView = () => {\n const domain = this.entityName;\n this.viewListRowData.forEach(item => {\n if (item.isDefault === true) {\n try {\n updateView(item.gridViewId, this.userId, this.gridId, this.apiCatalogId, item.name, 0, domain, item.gridViewVisibilityTypeId, data => {\n console.log('updateView, data: ', data);\n });\n } catch (error) {\n console.error('Error updating view, data:', error);\n }\n }\n });\n };\n setCurrentViewData(viewName: string, isDefault: boolean, gridViewVisibilityTypeId: number, gridViewId: string = '') {\n this.selectedGridId = gridViewId || this.selectedGridId;\n this.selectedViewName = viewName;\n this.selectedViewIsDefault = isDefault;\n this.selectedViewGridViewVisibilityTypeId = gridViewVisibilityTypeId;\n }\n openViewEdit(gridViewId: string, viewName: string, isDefault: boolean, gridViewVisibilityTypeId: number) {\n this.editDialogOpen = !this.editDialogOpen;\n this.setCurrentViewData(viewName, isDefault, gridViewVisibilityTypeId, gridViewId);\n }\n closeViewEdit() {\n this.editDialogOpen = !this.editDialogOpen;\n }\n openViewEditConfirmation(name: string, isPrivate: number, isDefault: boolean) {\n this.showViewEditConfirmation(true);\n this.setCurrentViewData(name, isDefault, isPrivate);\n }\n showViewEditConfirmation(show: boolean) {\n this.editViewConfirmationDialogOpen = show;\n }\n\n async handleViewFormSubmit(name: string, isPrivate: number, isDefault: boolean, columnState) {\n const userId = this.userId;\n const gridId = this.gridId;\n const apiCatalogId = this.apiCatalogId;\n const gridConfigurations = columnState; // The columnState from the argument\n const isDefaultNum: number = isDefault ? 1 : 0;\n const domain = await this.getEntityName();\n // if newDefault == 1, then we need to make sure any existing view with isDefault=1 is set to =0\n if (isDefaultNum == 1) {\n this.resetDefaultView();\n }\n\n // Now call saveView\n try {\n await saveView(userId, gridId, apiCatalogId, name, domain, gridConfigurations, isPrivate, isDefaultNum, data => {\n this.saveDialogOpen = !this.saveDialogOpen; // closes form\n this.showNotification = true;\n this.notificationMessage = `${data.gridView.name} has been saved successfully.`;\n this.notificationStatus = 'success';\n this.fetchDataForViews();\n setTimeout(() => {\n this.showNotification = !this.showNotification;\n }, 4000);\n });\n } catch (error) {\n console.error('Error saving data:', error);\n }\n }\n // Ensures each GridConfiguration has the correct GridConfigurationID for updating in the database\n updateGridConfigurationsWithIDsForUpdatingView(gridConfigs: any[]) {\n gridConfigs.forEach(config => {\n if (this.selectedGridViewGridConfigurations) {\n const gridConfigInfo = this.selectedGridViewGridConfigurations.find(item => item.gridStateTypeId === config.gridStateTypeId);\n config.gridConfigurationId = gridConfigInfo?.gridConfigurationId;\n }\n });\n return gridConfigs;\n }\n // Handler for saving changes to an existing GridView and its GridConfigurations\n async handleViewAndConfigurationsUpdate(name: string, isPrivate: number, isDefault: boolean, columnState) {\n const gridConfigurations = this.updateGridConfigurationsWithIDsForUpdatingView(columnState);\n const isDefaultNum: number = isDefault ? 1 : 0;\n const domain = await this.getEntityName();\n if (isDefaultNum == 1) {\n this.resetDefaultView();\n }\n\n try {\n await updateViewAndConfigurations(\n this.selectedGridId,\n this.userId,\n this.gridId,\n this.apiCatalogId,\n name,\n gridConfigurations,\n isDefaultNum,\n domain,\n isPrivate,\n () => {\n this.saveDialogOpen = !this.saveDialogOpen; // closes form\n this.showViewEditConfirmation(false);\n this.showNotification = true;\n this.notificationMessage = `${name} has been saved successfully.`;\n this.notificationStatus = 'success';\n this.fetchDataForViews();\n setTimeout(() => {\n this.showNotification = !this.showNotification;\n }, 4000);\n },\n );\n } catch (error) {\n console.error('Error saving data:', error);\n }\n }\n\n // Used for both hotlists and views\n toggleDeleteDialog = type => {\n switch (type) {\n case 'hotlist':\n this.confirmDialog = !this.confirmDialog;\n break;\n case 'view':\n this.confirmDialogDeleteView = !this.confirmDialogDeleteView;\n break;\n default:\n break;\n }\n };\n updateDefaultView = item => {\n var newDefault = item.isDefault ? 0 : 1;\n const domain = this.entityName;\n // if newDefault == 1, then we need to make sure any existing view with isDefault=1 is set to =0\n if (newDefault == 1) {\n this.resetDefaultView();\n }\n try {\n updateView(\n item.gridViewId,\n this.userId,\n this.gridId,\n this.apiCatalogId,\n item.name,\n newDefault,\n domain,\n item.gridViewVisibilityTypeId,\n data => {\n console.log('updateView, data:', data);\n },\n ).then(() => {\n this.fetchDataForViews();\n this.confirmDialog = false;\n this.showNotification = true;\n this.notificationMessage = `Updated default view.`;\n this.notificationStatus = 'success';\n setTimeout(() => {\n this.showNotification = !this.showNotification;\n }, 4000);\n });\n } catch (error) {\n this.gridError = true;\n console.error('Error updating view, data:', error);\n }\n };\n\n getCurrentGridState = () => {\n let savedStatesString = localStorage.getItem('savedGridStates');\n let currentGridStateObj = null;\n if (savedStatesString) {\n let savedStatesArray = JSON.parse(savedStatesString) ?? [];\n if (savedStatesArray?.length > 0) {\n currentGridStateObj = savedStatesArray?.filter((i: any) => i?.tenantId && i?.tenantId === getCurrentTenantId() && i?.gridId && i?.gridId === this.gridId)[0];\n } else {\n }\n }\n return currentGridStateObj;\n };\n\n saveCurrentGridState = (gridStateObject: any) => {\n let savedGridStatesString = localStorage.getItem('savedGridStates');\n if (savedGridStatesString) {\n let savedGridStatesArray = JSON.parse(savedGridStatesString) ?? [];\n let newArray = savedGridStatesArray.map((s: any) => {\n if (s?.tenantId && s?.tenantId === getCurrentTenantId() && s?.gridId && s?.gridId === this.gridId) {\n s = gridStateObject;\n }\n return s;\n });\n localStorage.setItem('savedGridStates', JSON.stringify(newArray));\n } else {\n localStorage.setItem('savedGridStates', JSON.stringify([gridStateObject]));\n }\n };\n\n async handleViewUpdate(gridId: any, name: string, isPrivate: number, isDefault: boolean) {\n var isDefaultNum = isDefault ? 1 : 0;\n const domain = await this.getEntityName();\n\n // if this isDefault is true, then we need to make sure any existing view with isDefault=1 is set to =0\n if (isDefaultNum == 1) {\n this.resetDefaultView();\n }\n try {\n updateView(gridId, this.userId, this.gridId, this.apiCatalogId, name, isDefaultNum, domain, isPrivate, data => {\n console.log('updateView, data:', data);\n }).then(() => {\n this.fetchDataForViews();\n this.confirmDialog = false;\n this.showNotification = true;\n this.notificationMessage = `Updated view.`;\n this.notificationStatus = 'success';\n setTimeout(() => {\n this.showNotification = !this.showNotification;\n }, 4000);\n });\n } catch (error) {\n this.gridError = true;\n console.error('Error updating view, data:', error);\n }\n }\n fetchDataForViews = async () => {\n try {\n let apiCatalogId = await this.getApiCatalogId();\n if (!apiCatalogId) {\n console.warn('apiCatalogId is not yet defined');\n return;\n }\n\n const userId = this.userId;\n const gridId = this.gridId;\n\n getAvailableViews(userId, gridId, apiCatalogId, await this.getEntityName(), data => {\n this.viewListRowData = data; // Ensure this correctly updates the state\n this.setDefaultView();\n });\n this.updateForConfiguredColumnDefs = false;\n } catch (error) {\n this.gridError = true;\n console.error('Error fetching data for views:', error);\n }\n };\n setDefaultView = () => {\n const defaultViewObj = this.viewListRowData.find(item => item.isDefault === true);\n let currentGridStateObj = this.getCurrentGridState();\n if (defaultViewObj) {\n const callback = data => {\n this.onFirstDataRendered(data);\n };\n getSelectedView(defaultViewObj.gridViewId, callback);\n } else if (currentGridStateObj) {\n this.onFirstDataRendered(currentGridStateObj);\n }\n };\n openDeleteViewConfirmation = gridViewId => {\n this.viewId = gridViewId;\n this.confirmDialogDeleteView = true;\n };\n handleDeleteView = () => {\n this.confirmDialogDeleteView = false;\n const callback = () => {\n // Will send to grid to update view\n getAvailableViews(this.userId, this.gridId, this.apiCatalogId, this.entityName, data => {\n this.viewListRowData = data; // Ensure this correctly updates the state\n });\n };\n deleteSelectedView(this.viewId, callback);\n this.showNotification = true;\n this.notificationMessage = `Deleted view`;\n this.notificationStatus = 'success';\n setTimeout(() => {\n this.showNotification = !this.showNotification;\n }, 4000);\n };\n\n // HOTLIST FUNCTIONS\n showHotlist() {\n this.hotlistDrawerOpen = !this.hotlistDrawerOpen;\n this.businessObjectKey = null;\n this.logicalSearchOperator = 2;\n }\n // set hotlist form open\n toggleHotlistForm = () => {\n this.showHotlistForm = !this.showHotlistForm;\n };\n handleGetAllHotlists = async () => {\n try {\n const hotlistData = await getAllHotlists();\n this.allHotlists = hotlistData;\n } catch (error) {\n console.error('Error fetching hotlists:', error);\n }\n };\n // Add a hotlist item single\n handleSetSingleHotlistItem = id => {\n this.showNotification = true;\n this.notificationMessage = `Record added to hotlist`;\n this.notificationStatus = 'success';\n setTimeout(() => {\n this.showNotification = !this.showNotification;\n }, 4000);\n this.hotlistDrawerOpen = !this.hotlistDrawerOpen;\n const businessObjectKey = this.dataRowClicked.businessObjectKey;\n // Update the dataObject\n const dataObject = {\n hotListId: id, // Assuming id is already defined\n contextDate: '2023/01/01',\n data: JSON.stringify(this.dataRowClicked),\n entityBusinessObjectKey: businessObjectKey,\n currentUserId: '8fe3b5ce-6a94-4ff4-b35c-be2596ea1380',\n };\n addRecordToAHotlist(dataObject);\n };\n // delete a selected hotlist\n confirmRequestDelete = hotListId => {\n this.confirmDialog = !this.confirmDialog;\n this.hotListId = hotListId;\n };\n handleRequestDeleteHotlist = () => {\n deleteAHotlist(this.hotListId)\n .then(() => {\n this.handleGetAllHotlists();\n this.confirmDialog = false;\n })\n .catch(error => {\n console.error('Error deleting hotlist:', error);\n // handle any errors here\n });\n };\n // convert hotlist to payload\n mapHotlistsToPayload(hotlistIdentifiers) {\n return hotlistIdentifiers.map(keyID => ({\n searchField: this.hotListIdentifier,\n searchOperator: '=',\n searchValue: keyID,\n }));\n }\n updateFilterObjectWithPayload(hotlistSearchKeys) {\n // clear view if active\n this.loadedView = [];\n this.resetToOriginalFilters();\n this.updateChipLayout();\n\n const payload = this.mapHotlistsToPayload(hotlistSearchKeys);\n this.hotListCount = payload.length;\n this.updateFilterObject(() => [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: payload,\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 2,\n type: 'hotlist',\n },\n ]);\n this.updateServerSideDatasource('', 'updateFilterObjectWithPayload');\n this.hotlistDrawerOpen = false;\n }\n // extract id to process for search object\n extractContactIDs = payload => {\n const contactIDs = payload.records.map(record => {\n const dataObject = JSON.parse(record.data);\n return dataObject[this.hotListIdentifier];\n });\n return contactIDs;\n };\n // view a selected hotlist\n handleRequestHotlist = async hotlistID => {\n try {\n // Await for the Promise to resolve and then store the result\n const hotloadList = await loadAHotlist(hotlistID);\n\n // Process the data with extractContactIDs\n const contactIDs = this.extractContactIDs(hotloadList);\n this.hotListActive = hotloadList.name;\n state.hotListActive = this.hotListActive;\n\n // Set full list hotlist data\n this.hotlistSelectedFull = hotloadList;\n\n // Send the processed data to sendAsSearchObject\n this.updateFilterObjectWithPayload(contactIDs);\n } catch (error) {\n // Handle any errors that occur during the API call\n this.gridError = true;\n console.error('Error in handleRequestHotlist:', error);\n }\n };\n handleLoadView = cellValue => {\n // Define the callback\n const callback = data => {\n // Will send to grid to update view\n this.onFirstDataRendered(data);\n this.loadedGridView = data;\n if (data?.name) {\n this.loadedViewTitle = data.name;\n let currentGridStateObject = this.getCurrentGridState();\n if (currentGridStateObject) {\n this.saveCurrentGridState({\n ...currentGridStateObject,\n loadedGridViewName: data?.name,\n });\n } else {\n this.saveCurrentGridState({\n gridId: this.gridId,\n tenantId: getCurrentTenantId(),\n gridState: null,\n loadedGridViewName: data?.name,\n });\n }\n }\n this.getGridState(true);\n };\n\n getSelectedView(cellValue, callback);\n this.viewDrawerOpen = !this.viewDrawerOpen;\n };\n // Submit to save hotlist\n handleSaveHotlist = async (name: string, isPrivate: boolean) => {\n const hostListRequestBody = {\n domain: this.entityName,\n name: name,\n tenantId: getCurrentTenantId(),\n isPrivate: isPrivate,\n createdBy: this.userId,\n hotListDataSourceId: 1,\n hotListTypeId: 2,\n };\n\n try {\n await createAHotlist(hostListRequestBody);\n this.showHotlistForm = false;\n this.handleGetAllHotlists();\n } catch (error) {\n console.error('Error creating hotlist:', error);\n // handle any errors here\n }\n };\n\n // FILTER CHIP FUNCTIONS\n hasInitializedDefaultFilter = false; // Add this flag as a property in your class\n defaultFilterElements: any; // Replace any with your specific type\n activeChips: any[] = [];\n\n handleViewChipDelete = () => {\n // Your delete logic here\n // alert('Chip deleted!');\n this.loadedView = [];\n this.clearViewFilter();\n };\n\n handleRemoveHotlist = () => {\n this.hotListActive = '';\n this.loadedView = [];\n this.clearViewFilter();\n state.hotListActive = '';\n };\n\n fullClearSearch = () => {\n // this.filterObjectsWithGroups[0].filters.length = 0; // clears the form UI\n\n // this.updateFilterObject(() => [\n // {\n // pageNumber: 1,\n // pageSize: 20,\n // filterElements: [],\n // orderElements: [],\n // groupingType: '',\n // groupProperty: [],\n // groupOperationList: [],\n // eagerLoad: false,\n // logicalSearchOperator: 2,\n // type: 'advanced',\n // },\n // ]);\n this.resetToOriginalFilters();\n\n this.hotListActive = null;\n state.hotListActive = null;\n this.updateServerSideDatasource('', 'clearSearch');\n };\n\n setFilterFromChips(chipText: string) {\n const isChipValid = this.filterChips.some(chip => chip.description === chipText);\n if (!isChipValid) {\n return;\n }\n\n const index = this.activeChips.findIndex(chip => chip.description === chipText);\n // Initialize defaultFilterElements once, and only once\n if (!this.hasInitializedDefaultFilter) {\n if (this.filterObject && this.filterObject[0] && this.filterObject[0].filterElements) {\n this.defaultFilterElements = JSON.parse(JSON.stringify(this.filterObject[0].filterElements));\n this.hasInitializedDefaultFilter = true;\n }\n }\n\n // Toggle the chip on or off in activeChips\n if (index !== -1) {\n this.activeChips.splice(index, 1);\n } else {\n const chip = this.filterChips.find(chip => chip.description === chipText);\n this.activeChips.push(chip);\n }\n\n this.updateFilterObject(filterObject => {\n // Clear existing FirstName filters from filterElements\n filterObject[0].filterElements = filterObject[0].filterElements.filter(element => {\n return element.searchField !== this.filterOn;\n });\n\n // Re-add filters based on activeChips\n for (const chip of this.activeChips) {\n const searchValue = chip[this.filterOn] ? chip[this.filterOn] : chip.description;\n filterObject[0].filterElements.push({\n searchField: this.filterOn, // @todo: make this dynamic from api\n searchOperator: '=',\n searchValue: searchValue,\n });\n }\n\n // If all chips are deactivated, revert to default pre-set filter\n if (this.activeChips.length === 0) {\n filterObject[0].filterElements = JSON.parse(JSON.stringify(this.defaultFilterElements));\n }\n });\n\n this.logicalSearchOperator = 2;\n // Update the server-side datasource to apply the new filters\n this.updateServerSideDatasource('', 'setFilterChips');\n }\n\n setFilterSelections(filter) {\n const currentFilterObject = this.filterRenderList[0];\n currentFilterObject.filterElements = [...currentFilterObject.filterElements, filter];\n // Update the filterRenderList with the modified filter object\n this.filterRenderList = [currentFilterObject, ...this.filterRenderList.slice(1)];\n }\n\n // ADVANCED SEARCH FUNCTIONS\n showCustomSearch() {\n this.customSearchDrawerOpen = !this.customSearchDrawerOpen;\n }\n showAdvancedSearch() {\n this.advancedDrawerOpen = !this.advancedDrawerOpen;\n this.logicalSearchOperator = 1;\n this.setSearchStart = false;\n }\n\n setGroupedFilterSelections(filter: any) {\n // Try to find corresponding domain field from configuredColumnDefs because only grid columns configured in query builder could have an alias.\n const searchFieldAlias = this.configuredColumnDefs?.find(col => col.field.toLowerCase() === filter.searchField.toLowerCase())?.headerName;\n\n // Prepare the filter object with the new ID\n const newFilter = { ...filter, searchFieldAlias: searchFieldAlias };\n\n // Function to recursively find and update the correct node\n const addFilterToNode = (nodes: any[], nodeId: string, filter: any) => {\n for (const node of nodes) {\n if (node.filterGroupId === nodeId) {\n const newFilter = { ...filter, id: uuid(), filterGroupId: node.filterGroupId };\n node.filters.push(newFilter);\n return true; // Stop searching when the correct node is updated\n }\n if (node.children && node.children.length > 0) {\n if (addFilterToNode(node.children, nodeId, filter)) {\n return true; // Stop searching if the correct node was found in the children\n }\n }\n }\n return false; // Node not found in this branch\n };\n\n addFilterToNode(this.filterObjectsWithGroups, this.advancedGroupSearchNodeId, newFilter);\n this.handleSearchItemChange();\n }\n\n setGroupedSearchSections(groupId: string, filterGroupId: string, logicalOperator: 'AND' | 'OR') {\n const newChild = {\n id: uuid(),\n filterGroupId: filterGroupId,\n logicalOperator: logicalOperator,\n filters: [],\n children: [],\n };\n\n // Recursive function to find the correct node and add the new child\n const addChildToNode = (nodes: any[], nodeId: string, child: any) => {\n for (const node of nodes) {\n if (node.id === nodeId) {\n if (!node.children) {\n node.children = []; // Ensure the children array exists\n }\n node.children.push(child);\n return true; // Node updated, stop the search\n }\n if (node.children && node.children.length > 0) {\n if (addChildToNode(node.children, nodeId, child)) {\n return true; // Child added in a deeper level\n }\n }\n }\n return false; // Node not found in this branch\n };\n\n // Attempt to add the new child to the node identified by groupId\n addChildToNode(this.filterObjectsWithGroups, groupId, newChild);\n\n // Trigger a state update to reflect the change\n this.filterObjectsWithGroups = [...this.filterObjectsWithGroups];\n }\n\n updateGroupLogicalOperator(groupId: string, logicalOperator: 'AND' | 'OR') {\n const updateOperator = (nodes: any[], nodeId: string, newOperator: 'AND' | 'OR') => {\n for (const node of nodes) {\n if (node.filterGroupId === nodeId) {\n if (node.id === 'root') {\n this.logicalSearchOperator = this.getLogicalOperatorCode(newOperator);\n }\n node.logicalOperator = newOperator; // Update the logical operator here\n return true; // Successfully updated, stop the search\n }\n if (node.children && updateOperator(node.children, nodeId, newOperator)) {\n return true; // Successfully updated in a deeper level\n }\n }\n return false; // Node not found\n };\n\n // Attempt to update the logical operator in the node identified by groupId\n if (updateOperator(this.filterObjectsWithGroups, groupId, logicalOperator)) {\n // If the group was found and updated, trigger a state update\n this.filterObjectsWithGroups = [...this.filterObjectsWithGroups];\n }\n }\n\n removeFilterItem(filter) {\n this.setFilterFromChips(filter.searchValue);\n this.externalToggle = filter.searchValue;\n\n const group = this.findGroupById(this.filterObjectsWithGroups, filter.filterGroupId);\n if (group) {\n group.filters = group.filters.filter(item => item.id !== filter.id);\n\n this.filterObjectsWithGroups = this.filterObjectsWithGroups.map(g => (g.filterGroupId === group.filterGroupId ? { ...group } : g));\n }\n\n this.filtersChangedHandler();\n\n this.agGrid.api.setFilterModel(this.filterObject[0].filterElements);\n this.getGridState();\n }\n\n handleGroupDelete(groupId) {\n // Recursive function to search for and remove the group by ID\n const searchAndRemoveGroup = (groups, groupId) => {\n return groups.reduce((acc, group) => {\n // If the current group matches the groupId, do not add it to the accumulator\n if (group.filterGroupId === groupId) {\n return acc;\n }\n\n // Otherwise, add the group to the accumulator\n const newGroup = { ...group };\n\n // If the group has children, recurse to potentially remove from children\n if (newGroup.children && newGroup.children.length > 0) {\n newGroup.children = searchAndRemoveGroup(newGroup.children, groupId);\n }\n\n acc.push(newGroup);\n return acc;\n }, []);\n };\n\n // Start the recursive search and remove process\n this.filterObjectsWithGroups = searchAndRemoveGroup(this.filterObjectsWithGroups, groupId);\n this.filtersChangedHandler();\n }\n\n // Function to update filter list with groups\n updateFilterObjectsWithGroups = (\n searchField: string,\n searchOperator: string,\n searchValues: string[],\n searchFieldAlias: string,\n originalSearchOperator: string,\n originalSearchValue: string,\n targetFilterGroupId: string,\n ) => {\n let found = false;\n\n const traverse = group => {\n if (group.filterGroupId === targetFilterGroupId) {\n // Remove any existing filters for this fieldId (optional)\n group.filters = [];\n\n // Add new filters for each searchValue\n for (let val of searchValues) {\n group.filters.push({\n id: uuid(),\n searchField,\n searchOperator,\n searchValue: val,\n parentName: '',\n parentPath: 'filter.extendedProperties.parentPath',\n searchFieldAlias,\n originalSearchOperator,\n originalSearchValue,\n filterGroupId: targetFilterGroupId,\n });\n }\n\n found = true;\n return;\n }\n\n for (let child of group.children || []) {\n if (found) return;\n traverse(child);\n }\n };\n\n for (let group of this.filterObjectsWithGroups) {\n traverse(group);\n if (found) break;\n }\n\n // If target group not found, fallback to root\n if (!found) {\n for (let val of searchValues) {\n this.filterObjectsWithGroups[0].filters.push({\n id: uuid(),\n searchField,\n searchOperator,\n searchValue: val,\n parentName: '',\n parentPath: 'filter.extendedProperties.parentPath',\n searchFieldAlias,\n originalSearchOperator,\n originalSearchValue,\n });\n }\n }\n };\n\n getLogicalOperatorCode(op: string) {\n return op === 'AND' ? 1 : 2;\n }\n\n getLogicalOperatorValue(op: number) {\n return op.toString() === '1' ? 'AND' : 'OR';\n }\n\n findGroupById(groups, id) {\n for (const group of groups) {\n if (group.filterGroupId === id) return group;\n const result = group.children && this.findGroupById(group.children, id);\n if (result) return result;\n }\n return null;\n }\n\n updateFilterGroups(groupedFilterObjects) {\n let groupIdCounter = 1;\n const groupIdMap = new Map();\n\n const filterElements = [];\n const filterGroups = [];\n\n const transformGroup = (group, parentGroupId = null) => {\n let currentGroupId = null;\n\n if (group.filters.length === 0 && group.id === 'default') {\n return;\n }\n\n if (group.filterGroupId) {\n if (!groupIdMap.has(group.filterGroupId)) {\n groupIdMap.set(group.filterGroupId, groupIdCounter++);\n }\n currentGroupId = groupIdMap.get(group.filterGroupId);\n\n filterGroups.push({\n groupId: currentGroupId,\n logicalSearchOperator: this.getLogicalOperatorCode(group.logicalOperator),\n parentGroupId: parentGroupId,\n });\n }\n\n // Add all filters in this group\n (group.filters || []).forEach(filter => {\n filterElements.push({\n searchField: filter.searchField,\n searchOperator: filter.searchOperator,\n searchValue: filter.searchValue,\n fieldId: filter.otherId,\n groupId: currentGroupId,\n });\n });\n\n // Recurse children\n (group.children || []).forEach(child => {\n transformGroup(child, currentGroupId);\n });\n };\n\n // Start with each top-level group (usually just one root)\n groupedFilterObjects.forEach(rootGroup => {\n transformGroup(rootGroup);\n });\n\n return [\n {\n pageNumber: 1,\n pageSize: 20,\n type: 'advanced',\n eagerLoad: false,\n logicalSearchOperator: 1,\n filterElements,\n filterGroups,\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n },\n ];\n }\n\n @Listen('searchOperatorChanged')\n filtersChangedHandler() {\n const updatedFilterList = this.updateFilterGroups(this.filterObjectsWithGroups);\n const deepClonedList = cloneDeep(updatedFilterList);\n\n this.filterObject = deepClonedList;\n this.filterRenderList = deepClonedList;\n this.filterObjectsWithGroups = [...this.filterObjectsWithGroups];\n }\n\n @Listen('filterChanged')\n @Listen('searchItemChanged')\n searchItemChangedHandler(event: CustomEvent) {\n let { searchField, searchOperator, searchValue, searchFieldAlias, type, originalSearchOperator, originalSearchValue } = event.detail;\n this.refreshChips = true;\n this.setSearchStart = true;\n let updatedFilterList = [...this.filterObject];\n\n if (!type && type === 'agGridColumnFilter') {\n // Only apply the following logic if event is not from the native ag grid column filter\n let advancedSearchFilter = this.extendedSearchFilterList?.find(filter => filter.name.toLowerCase() === searchField.toLowerCase());\n if (advancedSearchFilter?.type?.toLowerCase() === 'datetime') {\n const configuredColumnDef = this.configuredColumnDefs?.find(col => col.field.toLowerCase() === searchField.toLowerCase());\n searchFieldAlias = configuredColumnDef?.headerName;\n if (searchOperator === this.filterOptions['equals'] && configuredColumnDef?.treatAsDate) {\n let dateFrom = new Date(searchValue);\n let dateTo = new Date(dateFrom);\n\n // Set dateTo to one day ahead\n dateTo.setDate(dateFrom.getDate() + 1);\n\n // Convert the dates to the required format (YYYY-MM-DD HH:mm:ss)\n const formatDate = (date, dateOnly: boolean = false) => {\n const year = date.getFullYear();\n const month = ('0' + (date.getMonth() + 1)).slice(-2);\n const day = ('0' + date.getDate()).slice(-2);\n return dateOnly ? `${year}-${month}-${day}` : `${year}-${month}-${day} 00:00:00`;\n };\n originalSearchOperator = searchOperator;\n originalSearchValue = searchValue;\n searchOperator = this.filterOptions['inRange'];\n searchValue = formatDate(dateFrom) + ',' + formatDate(dateTo);\n }\n }\n this.getGridState(true);\n }\n\n if (type === 'set') {\n if (searchValue.length > 0) {\n if (!this.findGroupById(this.filterObjectsWithGroups, `set-${searchField}-group`)) {\n this.handleAddNewGroup('root', searchOperator, `set-${searchField}-group`);\n }\n this.updateFilterObjectsWithGroups(\n searchField,\n searchOperator.value ? searchOperator.value : searchOperator,\n searchValue,\n searchFieldAlias,\n originalSearchOperator,\n originalSearchValue,\n `set-${searchField}-group`,\n );\n\n // update the AG Grid filter model explicitly\n const currentModel = this.agGrid.api.getFilterModel() || {};\n currentModel[searchField] = {\n filterType: 'set',\n values: searchValue,\n };\n this.agGrid.api.setFilterModel(currentModel);\n } else {\n this.handleGroupDelete(`set-${searchField}-group`);\n return;\n }\n }\n updatedFilterList = this.updateFilterGroups(this.filterObjectsWithGroups);\n\n // Immutably update the state for both lists\n this.filterObject = [...updatedFilterList];\n this.filterRenderList = [...updatedFilterList];\n this.filterObjectsWithGroups = [...this.filterObjectsWithGroups];\n\n if (type !== 'set') {\n this.agGrid.api.setFilterModel(this.convertFilterToAgGridFilterModel(this.filterObject[0].filterElements));\n this.filterObject[0].filterElements.forEach(filter => {\n if (filter.searchOperator === '=') {\n const filterInstance = this.agGrid.api.getFilterInstance(filter.searchField);\n\n if (filterInstance && 'setModel' in filterInstance && 'onFilterChanged' in filterInstance) {\n (filterInstance as any).setModel({ values: [filter.searchValue] });\n (filterInstance as any).onFilterChanged();\n }\n }\n });\n }\n }\n\n convertFilterToAgGridFilterModel(customFilters) {\n const agGridModel = {};\n\n customFilters.forEach(filter => {\n if (filter.searchOperator === '=') {\n agGridModel[filter.searchField] = {\n filterType: 'set',\n values: [filter.searchValue],\n };\n }\n });\n\n return agGridModel;\n }\n\n updateSearchObject(detail: { searchField: string; searchOperator: string; searchValue: any }) {\n this.updateFilterObject(filterObject => {\n // Append the new filter element to filterElements array\n filterObject[0].filterElements.push(detail);\n });\n [500, 1000, 2000, 3000, 4000, 5000, 6000, 10000, 20000].forEach(delay => {\n setTimeout(() => {\n this.getGridState(true);\n }, delay);\n });\n }\n\n // Commented out filter options are currently not suppored in the regex\n filterOptions = {\n equals: '=',\n contains: 'LIKE',\n // notContains: 'NOT LIKE',\n notEqual: '<>',\n greaterThan: '>',\n lessThan: '<',\n greaterThanOrEqual: '>=',\n lessThanOrEqual: '<=',\n startsWith: 'STARTSWITH',\n // endsWith: 'ENDSWITH',\n blank: 'IS NULL',\n // notBlank: 'IS NOT NULL',\n inRange: 'BETWEEN',\n };\n\n // FOR HANDLING NATIVE AG-grid filter\n capitalizeFirstLetter(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n applyFilterDetail(\n column: string,\n selectedFilterOptions: string,\n value: string,\n searchFieldAlias: string | undefined,\n originalSearchOperator: string,\n originalSearchValue: string,\n groupCount: number,\n groupedFilterElements: {\n groupId: number;\n searchField: string;\n searchOperator: string;\n searchValue: string;\n searchFieldAlias?: string;\n originalSearchOperator: string;\n originalSearchValue: string;\n }[],\n filterObjectsWithGroupsFilters: {\n searchField: string;\n searchOperator: string;\n searchValue: string;\n otherId: string;\n parentName: string;\n parentPath: string;\n searchFieldAlias?: string;\n originalSearchOperator: string;\n originalSearchValue: string;\n }[],\n ) {\n const setDetail = {\n searchField: column,\n searchOperator: selectedFilterOptions,\n searchValue: value,\n searchFieldAlias: searchFieldAlias,\n originalSearchOperator: originalSearchOperator || '',\n originalSearchValue: originalSearchValue || '',\n };\n\n if (this.hotListActive) {\n groupedFilterElements.push({\n groupId: groupCount,\n searchField: this.capitalizeFirstLetter(setDetail.searchField),\n searchOperator: setDetail.searchOperator,\n searchValue: String(setDetail.searchValue),\n searchFieldAlias: setDetail.searchFieldAlias,\n originalSearchOperator: setDetail.originalSearchOperator,\n originalSearchValue: setDetail.originalSearchValue,\n });\n filterObjectsWithGroupsFilters.push({\n searchField: setDetail.searchField,\n searchOperator: setDetail.searchOperator,\n searchValue: setDetail.searchValue,\n otherId: uuid(),\n parentName: '',\n parentPath: 'filter.extendedProperties.parentPath',\n searchFieldAlias: setDetail.searchFieldAlias,\n originalSearchOperator: setDetail.originalSearchOperator,\n originalSearchValue: setDetail.originalSearchValue,\n });\n if (groupCount === 1) {\n groupCount = 3;\n } else {\n groupCount++;\n }\n return true;\n }\n\n //this.updateSearchObject(detail);\n this.searchItemChangedHandler({\n detail: setDetail,\n initCustomEvent: function (): void {\n throw new Error('Function not implemented.');\n },\n bubbles: false,\n cancelBubble: false,\n cancelable: false,\n composed: false,\n currentTarget: undefined,\n defaultPrevented: false,\n eventPhase: 0,\n isTrusted: false,\n returnValue: false,\n srcElement: undefined,\n target: undefined,\n timeStamp: 0,\n type: 'agGridColumnFilter',\n composedPath: function (): EventTarget[] {\n throw new Error('Function not implemented.');\n },\n initEvent: function (): void {\n throw new Error('Function not implemented.');\n },\n preventDefault: function (): void {\n throw new Error('Function not implemented.');\n },\n stopImmediatePropagation: function (): void {\n throw new Error('Function not implemented.');\n },\n stopPropagation: function (): void {\n throw new Error('Function not implemented.');\n },\n NONE: 0,\n CAPTURING_PHASE: 1,\n AT_TARGET: 2,\n BUBBLING_PHASE: 3,\n });\n return false;\n }\n\n transformAndApplyFilters(filterModel: { [key: string]: FilterDetail }) {\n let groupedFilterElements;\n let filterObjectsWithGroupsFilters = [];\n\n if (this.hotListActive) {\n // first group all the hotlist origin filters\n groupedFilterElements = this.filterObject[0].filterElements.map(element => ({\n ...element,\n searchField: this.capitalizeFirstLetter(element.searchField),\n groupId: 2,\n }));\n\n // slicing because need to remove duplicate native filters\n let slicedGroupedFilterElements = groupedFilterElements.slice(0, this.hotListCount);\n groupedFilterElements = slicedGroupedFilterElements;\n\n // this.filterRenderList = [...this.filterRenderList, ...groupedFilterElements]\n this.filterObject[0].filterElements.map(element => this.filterRenderList.push(element));\n }\n var groupCount = 1;\n const formatDate = (date: Date, dateOnly: boolean = false) => {\n const year = date.getFullYear();\n const month = ('0' + (date.getMonth() + 1)).slice(-2);\n const day = ('0' + date.getDate()).slice(-2);\n return dateOnly ? `${year}-${month}-${day}` : `${year}-${month}-${day} 00:00:00`;\n };\n\n if (Object.entries(filterModel).length === 0) {\n this.shouldForceEmptyResults = false;\n this.noResults = false;\n }\n\n for (const [column, filterDetails] of Object.entries(filterModel)) {\n if (!filterDetails || !(filterDetails.type || filterDetails.filterType)) continue;\n\n const configuredColumnDef = this.configuredColumnDefs?.find(col => col.field === column);\n const searchFieldAlias = configuredColumnDef?.headerName;\n const treatAsDate = configuredColumnDef?.treatAsDate;\n\n const filterType = filterDetails.filterType;\n let selectedFilterOptions = this.filterOptions[filterDetails.type] || this.filterOptions['equals'];\n\n let value = '';\n let originalSearchOperator = '';\n let originalSearchValue = '';\n\n let shouldApply = true;\n switch (filterType) {\n case 'date':\n if (filterDetails.type === 'inRange') {\n value = `${filterDetails.dateFrom},${filterDetails.dateTo}`;\n } else if (filterDetails.type === 'equals' && treatAsDate) {\n const dateFrom = new Date(filterDetails.dateFrom);\n const dateTo = new Date(dateFrom);\n dateTo.setDate(dateFrom.getDate() + 1);\n\n originalSearchOperator = selectedFilterOptions;\n originalSearchValue = formatDate(dateFrom, treatAsDate);\n\n selectedFilterOptions = this.filterOptions['inRange'];\n value = `${formatDate(dateFrom)},${formatDate(dateTo)}`;\n } else {\n value = filterDetails.dateFrom;\n originalSearchOperator = selectedFilterOptions;\n originalSearchValue = value;\n }\n break;\n case 'number':\n originalSearchOperator = selectedFilterOptions;\n originalSearchValue = filterDetails.filter;\n value = filterDetails.type === 'inRange' ? `${filterDetails.filter},${filterDetails.filterTo}` : filterDetails.filter;\n break;\n case 'text':\n originalSearchOperator = selectedFilterOptions;\n originalSearchValue = value = filterDetails.filter;\n break;\n case 'set':\n const values = (filterDetails as { values: string[] }).values || [];\n this.shouldForceEmptyResults = false;\n\n if (values.length === 0) {\n this.noResults = true;\n this.shouldForceEmptyResults = true;\n\n shouldApply = false;\n continue;\n }\n\n this.filterChanged.emit({\n searchField: configuredColumnDef?.field,\n searchOperator: selectedFilterOptions,\n searchValue: values,\n searchFieldAlias,\n type: 'set',\n originalSearchOperator,\n originalSearchValue,\n });\n\n shouldApply = false;\n continue;\n default:\n shouldApply = false;\n continue;\n }\n\n if (shouldApply) {\n const shouldSkip = this.applyFilterDetail(\n column,\n selectedFilterOptions,\n value,\n searchFieldAlias,\n originalSearchOperator,\n originalSearchValue,\n groupCount,\n groupedFilterElements,\n filterObjectsWithGroupsFilters,\n );\n\n if (shouldSkip) {\n groupCount = groupCount === 1 ? 3 : groupCount + 1;\n }\n }\n }\n\n if (this.hotListActive) {\n this.updateFilterObject(filterObject => {\n filterObject[0].filterElements = groupedFilterElements;\n filterObject[0].filterGroups = [\n {\n groupId: 1,\n logicalSearchOperator: 1,\n parentGroupId: null,\n },\n {\n groupId: 2,\n logicalSearchOperator: 2,\n parentGroupId: 1,\n },\n ];\n\n // Adds additional native grid filters\n for (let i = 3; i < groupCount; i++) {\n filterObject[0].filterGroups.push({\n groupId: i,\n logicalSearchOperator: 1,\n parentGroupId: 1,\n });\n }\n\n filterObject[0].logicalSearchOperator = 1;\n filterObject[0].type = 'advanced';\n });\n\n this.logicalSearchOperator = 1;\n this.updateChipLayout();\n\n this.filterObjectsWithGroups[0].filters = filterObjectsWithGroupsFilters;\n this.refreshChips = true;\n }\n }\n\n handleSideSheetButtonClick = async () => {\n this.groupFilter();\n this.customSearchDrawerOpen = false;\n };\n\n // advanced search grouping\n handleAddNewFilter = (filterGroupId: string) => {\n this.advancedGroupSearchNodeId = filterGroupId;\n };\n\n handleAddNewGroup = (groupId: string, logicalOperator: 'AND' | 'OR', filterGroupId = null) => {\n this.setGroupedSearchSections(groupId, filterGroupId ?? uuid(), logicalOperator);\n };\n\n updateLogicalOperator = (groupId: string, logicalOperator: 'AND' | 'OR') => {\n // Implement the logic to update the logical operator for the group\n this.updateGroupLogicalOperator(groupId, logicalOperator);\n };\n\n @Watch('externalPayload')\n externalPayloadChanged(newValue: any, oldValue: any) {\n if (newValue !== oldValue) {\n this.handleTransformSearchData();\n }\n }\n\n @Watch('dataEmitterRequest')\n dataEmitterChanged(newValue: any, oldValue: any) {\n if (newValue !== oldValue) {\n this.handleDataEmitterRequest(newValue);\n }\n }\n\n isEmptyObject = obj => {\n return obj && Object.keys(obj).length === 0 && obj.constructor === Object;\n };\n\n handleDataEmitterRequest = async newValue => {\n // Check if newValue is null, undefined, or an empty object\n if (newValue === null || newValue === undefined || this.isEmptyObject(newValue)) {\n // Handle the case where newValue is not usable\n return;\n }\n\n const emitterSearchObject = {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [newValue],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n type: 'advanced',\n };\n\n try {\n const response = await executeQueryAdHoc(emitterSearchObject, await this.getApiMethodId(), '');\n this.externalEmitter.emit(response); // Emitting the response data\n } catch (error) {\n this.gridError = true;\n console.error('Error fetching data:', error);\n }\n };\n\n handleTransformSearchData = () => {\n const modifiedSearchObjects = transformSearchData(this.externalPayload, this.searchKey);\n\n // Merge the filterElements\n if (modifiedSearchObjects.filterElements) {\n this.updateFilterObject(filterObject => {\n filterObject[0].filterElements.push(...modifiedSearchObjects.filterElements);\n });\n }\n\n // Handle filterGroups (assuming you want to replace the existing ones)\n if (modifiedSearchObjects.filterGroups) {\n this.updateFilterObject(filterObject => {\n filterObject[0].filterGroups = modifiedSearchObjects.filterGroups;\n });\n }\n\n // Extract the first element to send as an individual object\n const firstFilterElement = this.filterObject[0].filterElements[0];\n\n // Create a new CustomEvent with the first object as detail (instead of the entire array)\n const filterElementEvent = new CustomEvent('filterElementChange', {\n detail: firstFilterElement,\n });\n\n // Pass the event to the handler function\n this.searchItemChangedHandler(filterElementEvent);\n\n this.updateServerSideDatasource('', 'handleTransformSearchData');\n };\n\n // FOR HANDLING IF SELECT OR GROUPING IN ADVANCED SEARCH\n groupFilter = () => {\n const searchGroupFilterPayload = buildSearchPayload(this.filterObjectsWithGroups);\n this.updateFilterObject(() => [searchGroupFilterPayload]);\n this.setSearchStart = true;\n };\n\n handleSearchItemChange() {\n const updatedFilterObjectsWithGroups = cloneDeep(this.filterObjectsWithGroups);\n const updatedFilterObject = cloneDeep(this.filterObject);\n\n this.filterObjectsWithGroups = updatedFilterObjectsWithGroups;\n this.filterObject = updatedFilterObject;\n }\n\n collectAllFilters(filterGroup, level = 0) {\n let allFilters = [];\n\n // Collect top-level filters and include the current level\n if (filterGroup.filters && filterGroup.filters.length > 0) {\n allFilters = allFilters.concat(filterGroup.filters.map(filter => ({ ...filter, level })));\n }\n\n // Recursively collect filters from children, incrementing the level\n if (filterGroup.children && filterGroup.children.length > 0) {\n filterGroup.children.forEach(child => {\n allFilters = allFilters.concat(this.collectAllFilters(child, level + 1));\n });\n }\n\n return allFilters;\n }\n\n updateChipLayout = () => {\n requestAnimationFrame(() => {\n const chipsContainer = this.el.shadowRoot ? this.el.shadowRoot.getElementById('advanced-group-search-chips') : document.getElementById('advanced-group-search-chips');\n\n if (chipsContainer) {\n // Force reflow if necessary\n chipsContainer.offsetWidth;\n\n const containerWidth = chipsContainer.getBoundingClientRect().width;\n let totalChipWidth = 0;\n const chipWidths = Array.from(chipsContainer.querySelectorAll('stencil-chip')).map(chip => chip.getBoundingClientRect().width);\n let maxVisible = 1;\n\n for (let width of chipWidths) {\n if (totalChipWidth + width + 400 > containerWidth) break;\n if (maxVisible >= this.maxChipsAllowed) break; // Limit the number of visible chips to 7, but only after width check\n totalChipWidth += width;\n maxVisible++;\n }\n this.allFilters = this.filterObjectsWithGroups.reduce((acc, curr) => {\n return acc.concat(this.collectAllFilters(curr));\n }, []);\n\n if (this.hideDefaultSearchFilterChips) {\n this.allFilters = this.allFilters.filter(f => !f.isInitialFilterElement);\n }\n this.refreshChips = false;\n } else {\n console.warn('Chips container not found');\n }\n });\n };\n\n // Fetch recentSearches from local storage\n getRecentSearches = () => {\n const recentSearchesString = localStorage.getItem('recentSearches');\n if (recentSearchesString == null) {\n return;\n }\n const recentSearches: any[] = JSON.parse(recentSearchesString);\n var currentGridSearchHistoryObj = recentSearches.find(item => item.gridUID === this.gridUID);\n if (!currentGridSearchHistoryObj) {\n this.recentSearches = [];\n } else {\n this.recentSearches = recentSearches.length > 0 ? currentGridSearchHistoryObj.searchHistory : [];\n }\n this.recentSearchesOptions = this.recentSearches.map(item => ({\n label: item.timestamp,\n value: item.searchObj,\n }));\n };\n // Handle selecting a recent search from the drop down udp-selector\n selectRecentSearch = e => {\n this.fullClearSearch(); // Clear previous searches first\n var selectedSearchObj = e.detail.value;\n this.updateFilterObject(filterObject => {\n filterObject[0] = selectedSearchObj;\n });\n this.filterRenderList[0] = selectedSearchObj;\n this.isRecentSearch = true;\n this.updateServerSideDatasource('', 'advanced grouped search');\n // this.customSearchDrawerOpen = false; // uncomment if want advanced search sidesheet to close after clicking\n\n var filterObjectsWithGroupsTemp = this.filterObjectsWithGroups;\n selectedSearchObj.filterElements.map((tempFilter, index) => {\n filterObjectsWithGroupsTemp[0].filters[index] = { ...tempFilter };\n });\n this.filterObjectsWithGroups = filterObjectsWithGroupsTemp;\n };\n\n @Watch('allFilters')\n allFiltersChanged() {\n if (this.refreshChips) {\n this.updateChipLayout();\n }\n }\n\n // BULK ACTIONS FUNCTIONS\n fetchAvailableGridActions = () => {\n if (this.restrictedGridFeatures?.BulkActions && !this.userPermissions.some(permission => permission.name === this.restrictedGridFeatures.BulkActions)) {\n localStorage.setItem('bulkActions', JSON.stringify([]));\n return;\n }\n const callback = data => {\n // Will send to grid to update view\n localStorage.setItem('bulkActions', JSON.stringify(data));\n this.bulkActions = data;\n };\n\n\n getAvailableGridActions(this.gridId, this.restrictBulkActionsPermissions, this.userPermissions, callback);\n\n this.updateServerSideDatasource('', 'configuredColumnDefs');\n };\n\n async handleSelectedBulkOption(event: CustomEvent) {\n // Assuming `event.detail` includes the selected option's identifier, like `value`\n const { value } = event.detail; // You might need to adjust based on the actual structure\n // Find the index of the selected option based on its value\n\n if (this.gridOptions && this.agGrid) {\n const selectedNodes = this.agGrid.api.getSelectedNodes();\n\n // Extract the data from selected nodes\n let selectedData = selectedNodes.map(node => node.data);\n\n // Extract just the ids from the selectedData\n const selectedIds = selectedData.map(data => data.id);\n\n // Emit the selectedIds array so parent components can listen to it\n this.selectedIdsChanged.emit(selectedIds);\n\n let actionData;\n\n if (this.bulkActionFunctions[value.value]) {\n //There exists a bulk action function corresponding to the actions value. Passing the function as the actionData to the action executor\n const selectedBulkActionFunction = this.bulkActionFunctions[value.value];\n actionData = { execute: () => selectedBulkActionFunction(selectedData) };\n } else {\n actionData = selectedData;\n }\n\n await this.executeBulkAction(value.actionId, actionData);\n }\n }\n\n @Watch('bulkActions')\n transformBulkActions() {\n if (this.bulkActions) {\n this.formattedBulkActions = this.bulkActions.map(action => ({\n label: action.name,\n value: action,\n }));\n }\n }\n\n getSelectedRows() {\n return Object.values(this.selectedRowMap);\n }\n\n render() {\n const filterPanelWidth = this.filterPanelOpen ? '200px' : 'initial';\n const shouldShowSecondRow =\n (this.setSearchStart && this.filterObjectsWithGroups?.[0]?.filters?.[0]?.searchValue) ||\n this.filterChips.length > 0 ||\n this.loadedViewTitle.length > 0 ||\n this.hotListActive ||\n this.kpiValues.length > 0 ||\n this.selectedRowCount > 0;\n\n const shouldHideSecondRow = !shouldShowSecondRow;\n if (shouldShowSecondRow) {\n this.gridHeight = 'calc(100vh - 245px)';\n } else {\n this.gridHeight = 'calc(100vh - 200px)';\n }\n\n const actionMenuItems = this.getOverflowActionList(this.overflowActionMenuItems, this.selectedRowParams);\n return (\n <div>\n {this.openActionPopoverMenu && (\n <udp-pop-over\n isOpen={this.openActionPopoverMenu}\n anchorElement={this.actionMenuAnchorElement}\n popoverWidth=\"170px\"\n popoverMaxHeight=\"250px\"\n handleOnClose={event => {\n this.handleOnCloseActionPopover(event);\n }}\n >\n <div class=\"overflowActionButtons\">{actionMenuItems}</div>\n </udp-pop-over>\n )}\n <div>\n {this.showNotification && (\n <udp-notification\n active={this.showNotification}\n message={this.notificationMessage}\n status={this.notificationStatus}\n userCancel\n style={{ zIndex: '999991', transform: 'translateY(20px)' }}\n ></udp-notification>\n )}\n </div>\n <style>\n {`:host ::slotted(.ag-side-bar) {\n width: ${filterPanelWidth} !important;\n }`}\n </style>\n\n <grid-primary-bar\n title={this.gridBarTitle}\n customSaveViewClick={() => this.showViewSave()}\n customShowViewClick={() => this.showViews()}\n customShowHotlistClick={() => this.showHotlist()}\n customShowCustomSearchClick={() => this.showCustomSearch()}\n customClearClick={() => this.clearFilters()}\n customRefreshClick={() => this.refreshGrid()}\n customExpandClick={() => this.expandColumns()}\n customExportClick={this.exportFunction ? () => this.exportFunction(this.entityName, this.filterRenderList[0]) : () => this.exportToCsv()}\n customInsightsClick={e => {\n this.insightsActionOnClick(e);\n }}\n showInsightsAction={this.showInsightsAction}\n hiddenActionButtons={['saveView', 'filter']}\n primaryActionLabel={this.primaryActionLabel}\n primaryActionClick={e => {\n this.primaryActionOnClick(e);\n }}\n primaryActionIcon={this.primaryActionIcon}\n customColumnViewClick={() => this.togglePanel('columns')}\n customFitColumnClick={() => this.fitColumns()}\n customFilterViewClick={() => this.togglePanel('filters')}\n customToggleServerClientClick={() => this.toggleServerSide()}\n customAdvancedSearchClick={() => this.showAdvancedSearch()}\n customShowGridOptionsClick={() => this.showGridOptions()}\n showAdvancedSearchFeature={this.showAdvancedSearchFeature}\n showFilterColumnFeature={this.showFilterColumnFeature}\n showHotlistButton={\n this.showHotlistButton && !(this.restrictedGridFeatures?.Hotlist && !this.userPermissions.some(permission => permission.name === this.restrictedGridFeatures.Hotlist))\n }\n hideExport={this.restrictedGridFeatures?.Export && !this.userPermissions.some(permission => permission.name === this.restrictedGridFeatures.Export)}\n enableAdvancedSearch={this.enableAdvancedSearch}\n ></grid-primary-bar>\n\n <udp-pop-over-grid-action-header isOpen={this.gridOptionsDrawerOpen} anchorElement={document.querySelector('grid-primary-bar')}>\n <stencil-icon-button-grid-action-header\n onClick={() => {\n this.togglePanel('columns');\n this.showGridOptions();\n }}\n tooltip=\"Show/Hide Columns\"\n >\n <unity-typography variant=\"button\">Show/Hide Columns</unity-typography>\n </stencil-icon-button-grid-action-header>\n <udp-divider size=\"100%\"></udp-divider>\n <stencil-icon-button-grid-action-header\n onClick={() => {\n this.fitColumns();\n this.showGridOptions();\n }}\n tooltip=\"Fit to Column\"\n >\n <unity-typography variant=\"button\">Fit to Column</unity-typography>\n </stencil-icon-button-grid-action-header>\n <udp-divider size=\"0px\"></udp-divider>\n <stencil-icon-button-grid-action-header\n onClick={() => {\n this.expandColumns();\n this.showGridOptions();\n }}\n tooltip=\"Expand Grid\"\n >\n <unity-typography variant=\"button\">Expand Grid</unity-typography>\n </stencil-icon-button-grid-action-header>\n <udp-divider size=\"0px\"></udp-divider>\n {!this.disableSearchSwitch && (\n <stencil-icon-button-grid-action-header\n onClick={() => {\n this.handleSearchModeToggle();\n this.showGridOptions();\n }}\n tooltip={this.enableAdvancedSearch ? 'Standard Search' : 'Advanced Search'}\n >\n <unity-typography variant=\"button\">{this.enableAdvancedSearch ? 'Standard Search' : 'Advanced Search'}</unity-typography>\n </stencil-icon-button-grid-action-header>\n )}\n </udp-pop-over-grid-action-header>\n\n <div class=\"second-row\" style={{ display: shouldHideSecondRow ? 'none' : '' }}>\n {!this.hideBulkActions && this.rowsSelected && (\n <div class=\"bulk-select\">\n <udp-badge content={this.selectedRowCount}>\n <udp-selector options={this.bulkActions.length > 0 ? this.formattedBulkActions : []} onChange={(e: CustomEvent) => this.handleSelectedBulkOption(e)}></udp-selector>\n </udp-badge>\n </div>\n )}\n\n {this.loadedViewTitle?.length !== 0 && (\n <div class=\"chip-wrapper\">\n <stencil-chip\n text={this.loadedViewTitle}\n // onOnDelete={this.handleDelete as any}\n onOnDelete={this.handleViewChipDelete}\n color=\"secondary\"\n defaultToggled={true}\n leftIcon={Star16}\n ></stencil-chip>\n <udp-divider variant=\"vertical\" size=\"30px\"></udp-divider>\n </div>\n )}\n\n {this.hotListActive && (\n <div class=\"chip-wrapper\">\n <stencil-chip text={this.hotListActive} color=\"secondary\" onOnDelete={this.handleRemoveHotlist} defaultToggled={true} leftIcon={List16}></stencil-chip>\n <udp-divider variant=\"vertical\" size=\"30px\"></udp-divider>\n </div>\n )}\n\n <div class=\"chip-section\">\n {this.filterChips.length > 0 && (\n <udp-dynamic-container-with-menu\n id=\"filterChipsContainer\"\n externalToggle={this.externalToggle}\n onUdpChipClicked={(event: CustomEvent) => this.setFilterFromChips(event.detail)}\n menuItems={this.filterChips}\n ></udp-dynamic-container-with-menu>\n )}\n </div>\n <div class=\"kpi\">\n <kpi-list kpiValues={this.kpiValues}></kpi-list>\n </div>\n </div>\n\n {this.gridError && (\n <div>\n <upd-alert-banner type=\"error\" message={`An error occurred with loading the grid with data.`}></upd-alert-banner>\n </div>\n )}\n\n <div style={{ height: '4px', backgroundColor: shouldHideSecondRow ? 'var(--accent-color)' : 'rgb(247, 245, 243)' }}>{this.linearLoading && <udp-linear-loader />}</div>\n\n {this.noResults && (\n <div>\n <upd-alert-banner onClick={() => this.refreshOnNoResults()} type=\"info\" message=\"Sorry, no records meet your search criteria\"></upd-alert-banner>\n </div>\n )}\n\n <div>\n {' '}\n <ag-table gridOptions={this.gridOptions} licensekey={LicenseKey} height={this.gridHeight}></ag-table>{' '}\n </div>\n\n <side-sheet\n sideSheetButtonLabel=\"Search\"\n handleSideSheetButton={() => this.updateServerSideDatasource('', 'advanced search sheet')}\n title=\"Advanced Search\"\n open={this.advancedDrawerOpen}\n toggleDrawer={() => this.primaryActionClick('advancedSearch')}\n position=\"right\"\n >\n <div style={{ width: '1200px' }}>\n <advanced-search\n handleDelete={filter => this.removeFilterItem(filter)}\n filterRenderList={this.filterRenderList}\n filterList={this.extendedSearchFilterList} // list that shows available filters\n handleItemClick={headerName => this.setFilterSelections(headerName)}\n onAdvancedSearchItemChange={(event: CustomEvent) => this.updateSearchObject(event.detail)}\n handleValueChanged={this.changeOperator}\n fetchFilters={() => this.getExtendedAdvancedSearchFilterList()}\n />\n </div>\n </side-sheet>\n\n <side-sheet widthOption=\"short\" title=\"Views\" open={this.viewDrawerOpen} toggleDrawer={() => this.primaryActionClick('views')} position=\"right\">\n <div>\n <div style={{ width: '450px', marginBottom: '8px' }}>\n <hint-panel\n hint=\"Quickly access and manage your pre-configured table/grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.\"\n hideHintText=\"Hide Hint\"\n ></hint-panel>\n </div>\n\n <div style={{ width: '446px' }}>\n {this.viewListRowData &&\n this.viewListRowData.map(item => {\n if (item.gridViewVisibilityTypeId === 2 || item.userId.toLowerCase() === this.userId.toLocaleLowerCase()) {\n return (\n <tree-list-item\n // key={index}\n showEditOption\n showDeleteOption\n label={item.name}\n onClick={() => {\n this.handleLoadView(item.gridViewId);\n this.setCurrentViewData(item.name, item.isDefault, item.gridViewVisibilityTypeId, item.gridViewId);\n }}\n editHandler={() => this.openViewEdit(item.gridViewId, item.name, item.isDefault, item.gridViewVisibilityTypeId)}\n deleteHandler={() => this.openDeleteViewConfirmation(item.gridViewId)}\n showUpdateDefaultOption={true}\n updateDefaultHandler={() => this.updateDefaultView(item)}\n isDefault={item.isDefault}\n gridViewVisibilityTypeId={item.gridViewVisibilityTypeId}\n showAdd={false}\n showViewOption={false}\n ></tree-list-item>\n );\n }\n })}\n </div>\n </div>\n </side-sheet>\n\n <side-sheet\n title=\"Search\"\n sideSheetButtonLabel=\"Search\"\n handleSideSheetButton={this.handleSideSheetButtonClick}\n open={this.customSearchDrawerOpen}\n toggleDrawer={() => this.primaryActionClick('customSearch')}\n position=\"right\"\n buttonTransform={this.buttonTransform}\n >\n <advanced-search-grouped\n getLogicalOperatorValue={this.getLogicalOperatorValue}\n getLogicalOperatorCode={this.getLogicalOperatorCode}\n handleAddNewFilter={this.handleAddNewFilter}\n handleAddNewGroup={this.handleAddNewGroup}\n handleDelete={filter => this.removeFilterItem(filter)}\n filterRenderList={this.filterRenderList}\n filterList={this.extendedSearchFilterList} // list that shows available filters\n handleItemClick={headerName => this.setGroupedFilterSelections(headerName)}\n onAdvancedSearchItemChange={(event: CustomEvent) => this.updateSearchObject(event.detail)}\n handleValueChanged={this.changeOperator}\n filterObjectsWithGroups={this.filterObjectsWithGroups}\n fetchFilters={() => this.getExtendedAdvancedSearchFilterList()}\n // onSearchItemChanged={() => this.handleSearchItemChange()}\n updateLogicalOperator={this.updateLogicalOperator?.bind(this)}\n handleGroupDelete={groupId => this.handleGroupDelete(groupId)}\n recentSearchesOptions={this.recentSearchesOptions}\n selectRecentSearch={this.selectRecentSearch}\n fullClearSearch={this.fullClearSearch}\n findGroupById={this.findGroupById}\n />\n </side-sheet>\n\n <side-sheet\n disabled={this.showHotlistForm}\n widthOption=\"short\"\n sideSheetButtonLabel=\"Create New Hotlist\"\n handleSideSheetButton={() => this.toggleHotlistForm()}\n title=\"Hot Lists\"\n open={this.hotlistDrawerOpen}\n toggleDrawer={() => this.primaryActionClick('hotlists')}\n position=\"right\"\n >\n <div>\n {this.showHotlistForm && <udp-hotlist-form handleFormSubmit={this.handleSaveHotlist} handleCancelClick={() => this.toggleHotlistForm()}></udp-hotlist-form>}\n\n <div style={{ width: '446px' }}>\n {this.allHotlists &&\n this.allHotlists.map(item => {\n if (item.domain === this.entityName) {\n return (\n <tree-list-item\n label={item.name}\n showViewOption={true}\n showAdd={this.businessObjectKey ? true : false}\n showDeleteOption={true}\n viewHandler={() => this.handleRequestHotlist(item.hotListId)}\n deleteHandler={() => this.confirmRequestDelete(item.hotListId)}\n onClick={() => this.handleSetSingleHotlistItem(item.hotListId)}\n statusValue={item.isPrivate}\n statusClasses={{\n true: 'default',\n false: 'neutral',\n }}\n statusLabel={item.isPrivate ? 'Private' : 'Shared'}\n ></tree-list-item>\n );\n }\n })}\n </div>\n </div>\n </side-sheet>\n\n <save-view-form-dialog\n open={this.saveDialogOpen}\n title=\"Save New View\"\n closeDialog={() => this.showViewSave()}\n currentGridViewId={this.selectedGridId}\n currentName={this.selectedViewName}\n currentIsPrivate={this.selectedViewGridViewVisibilityTypeId}\n currentIsDefault={this.selectedViewIsDefault}\n handleFormSubmit={(name: string, isPrivate: number, isDefault: boolean) => {\n // Assuming this.columnState exists in this component's scope\n this.handleViewFormSubmit(name, isPrivate, isDefault, this.gridState);\n }}\n handleViewAndConfigurationSubmit={(name: string, isPrivate: number, isDefault: boolean) => {\n if (this.selectedGridId) {\n if (this.selectedViewGridViewVisibilityTypeId === 2) {\n this.openViewEditConfirmation(name, isPrivate, isDefault);\n } else {\n this.setCurrentViewData(name, isDefault, isPrivate);\n this.handleViewAndConfigurationsUpdate(this.selectedViewName, this.selectedViewGridViewVisibilityTypeId, this.selectedViewIsDefault, this.gridState);\n }\n }\n }}\n />\n\n <edit-view-form-dialog\n open={this.editDialogOpen}\n title=\"Edit View\"\n closeDialog={() => this.closeViewEdit()}\n currentGridId={this.selectedGridId}\n currentName={this.selectedViewName}\n currentGridViewVisibilityTypeId={this.selectedViewGridViewVisibilityTypeId}\n currentIsDefault={this.selectedViewIsDefault}\n handleFormSubmit={(gridId: any, name: string, isPrivate: number, isDefault: boolean) => {\n this.handleViewUpdate(gridId, name, isPrivate, isDefault);\n }}\n />\n\n <div />\n <fluent-dialog\n title=\"Delete Hotlist\"\n message=\"Are you sure you want to delete this hotlist?\"\n actionOne={() => this.handleRequestDeleteHotlist()}\n actionTwo={() => this.toggleDeleteDialog('hotlist')}\n labelOne=\"Confirm\"\n labelTwo=\"Cancel\"\n open={this.confirmDialog} // Use state to control dialog visibility\n >\n <div>\n This will not delete any of the data but only the records <br />\n from the hotlist and the hotlist itself.{' '}\n </div>\n </fluent-dialog>\n\n <fluent-dialog\n title=\"Delete View\"\n message=\"Are you sure you want to delete this view?\"\n actionOne={() => this.handleDeleteView()}\n actionTwo={() => this.toggleDeleteDialog('View')}\n labelOne=\"Confirm\"\n labelTwo=\"Cancel\"\n open={this.confirmDialogDeleteView} // Use state to control dialog visibility\n >\n <div>\n This will not delete any of the data but only the settings <br />\n saved to display this view.{' '}\n </div>\n </fluent-dialog>\n\n <fluent-dialog\n title=\"Update View\"\n message=\"Are you sure you want to update this view?\"\n actionOne={() => this.handleViewAndConfigurationsUpdate(this.selectedViewName, this.selectedViewGridViewVisibilityTypeId, this.selectedViewIsDefault, this.gridState)}\n actionTwo={() => this.showViewEditConfirmation(false)}\n labelOne=\"Confirm\"\n labelTwo=\"Cancel\"\n open={this.editViewConfirmationDialogOpen}\n >\n <div>This is a public view. Any changes made to it will be seen by others when they load this view. </div>\n </fluent-dialog>\n\n <fluent-dialog\n title={'Toggle Search Mode to ' + (this.enableAdvancedSearch ? 'Standard' : 'Advanced') + ' Search'}\n message={\n this.enableAdvancedSearch\n ? `Are you sure you want to toggle the search mode to standard search?`\n : `Are you sure you want to toggle the search mode to advanced search?`\n }\n actionOne={() => this.confirmSearchModeToggle()}\n actionTwo={() => this.toggleSearchModeConfirmation(false)}\n labelOne=\"Confirm\"\n labelTwo=\"Cancel\"\n open={this.toggleSearchModeConfirmationDialogOpen}\n >\n <div>\n {this.enableAdvancedSearch\n ? 'The advanced search functionality will be disabled, all advanced search filters will be cleared and the grid will be reset to its default state.'\n : 'The standard search functionality will be disabled and any existing standard filters will persist to the advanced search.'}\n </div>\n </fluent-dialog>\n </div>\n );\n }\n}\n",".header {\n display: flex;\n align-items: center;\n height: 3rem;\n background-color: #262626;\n color: #fff;\n padding-right: 1rem;\n }\n \n .skip-to-content {\n position: absolute;\n top: -40px;\n }\n \n .header__logo {\n /* Add your logo styles here */\n }\n \n .header__nav {\n flex: 1;\n display: flex;\n justify-content: space-between;\n }\n \n .header__global {\n /* Global actions styling here */\n }\n ","import { Component, Prop, h } from '@stencil/core';\nimport Menu24 from '@carbon/icons/es/menu/24';\n\n@Component({\n tag: 'app-bar',\n styleUrl: 'app-bar.css',\n shadow: true\n})\nexport class AppBar {\n @Prop() username: string;\n\n render() {\n\n return (\n <div class=\"header\">\n <stencil-icon-button noBackground darkIcon={false} icon={Menu24} ></stencil-icon-button>\n <unity-typography variant='data-display-one'> <slot></slot> </unity-typography> \n <a class=\"skip-to-content\" href=\"#main-content\">Skip to main content</a>\n <div class=\"header__logo\">\n {/* Logo here */}\n </div>\n <div class=\"header__nav\" role=\"navigation\" aria-label=\"Carbon Design System\">\n {/* Navigation here */}\n </div>\n <div class=\"header__global\">\n {/* Global actions here */}\n <udp-avatar username={this.username}/>\n </div>\n </div>\n );\n }\n}\n","/* Base class */\n.my-button {\n background-color: var(--primary-color);\n box-sizing: border-box;\n border: none;\n color: white;\n padding: 8px 24px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.3s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n min-width: 48px;\n min-height: 24px; /* Default size */\n}\n\n.my-button:hover {\n background-color: var(--primary-color-dark) \n}\n\n.my-button:disabled {\n background-color: #c6c6c6;\n color: #6f6f6f;\n cursor: not-allowed;\n}\n\n/* Outline variant */\n.my-button--outline {\n background-color: transparent;\n border: 1px solid var(--primary-color);\n color: var(--primary-color);\n /* padding: calc(8px - 1px) 24px; */\n padding: 5px 15px;\n min-width: 64px;\n}\n\n.my-button--outline:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n/* Secondary variant */\n.my-button--secondary {\n background-color: var(--accent-color-two);\n}\n\n.my-button--secondary:hover {\n background-color: brightness(var(--accent-color-two, 90%)); \n}\n\n/* Text variant */\n.my-button--text {\n background-color: transparent;\n color: var(--primary-color);\n padding: 5px 15px; /* Matching outline padding */\n min-width: 64px; /* Matching outline min-width */\n border: none;\n}\n\n.my-button--text:hover {\n background-color: rgba(0, 0, 0, 0.1); /* Consistent hover with outline/secondary */\n}\n\n/* Size Variants */\n.my-button--short {\n min-height: 24px; /* Shorter button */\n}\n\n.my-button--tall {\n min-height: 48px; /* Taller button */\n}\n","import { Component, Prop, h, Event, EventEmitter, Element } from '@stencil/core';\n\n@Component({\n tag: 'custom-button',\n styleUrl: 'custom-button.css',\n shadow: true,\n})\nexport class CustomButton {\n @Element() el: HTMLElement;\n @Prop() label: string;\n\n @Prop() variant: 'default' | 'outline' | 'text' = 'default';\n @Prop() secondary: boolean = false;\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n @Prop() disabled: boolean = false; \n @Prop() size: 'default' | 'short' | 'tall' = 'default'; \n @Prop() handleClick: any \n\n @Event() customClick: EventEmitter<void>;\n\n handleButtonClick = (event: Event) => {\n if (this.type === 'submit') {\n event.preventDefault();\n }\n if (!this.disabled) {\n if(this.handleClick){\n this.handleClick(event)\n }\n this.customClick.emit();\n }\n };\n\n render() {\n let buttonClass = 'my-button';\n\n if (this.variant === 'outline') {\n buttonClass += ' my-button--outline';\n } else if (this.variant === 'text') {\n buttonClass += ' my-button--text';\n } else if (this.secondary) {\n buttonClass += ' my-button--secondary';\n }\n\n if (this.size === 'short') {\n buttonClass += ' my-button--short';\n } else if (this.size === 'tall') {\n buttonClass += ' my-button--tall';\n }\n\n return (\n <button type={this.type} class={buttonClass} onClick={this.handleButtonClick} disabled={this.disabled}>\n {this.label}\n <slot></slot>\n </button>\n );\n }\n}\n",".info-columns{\n display: flex;\n}\n\n.column{\n width: 100px\n}\n\n.toggle-options {\n display: flex;\n gap: 16px;\n align-items: center;\n margin-bottom: 16px;\n}","import { Component, Prop, h, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'edit-view-form-dialog',\n styleUrl: 'edit-view-form-dialog.css',\n shadow: true,\n})\nexport class EditViewFormDialog {\n @Element() el: HTMLElement;\n @Prop() open: boolean;\n @Prop() title: string;\n @Prop() handleClose: Function;\n @Prop() tenant: string;\n @Prop() application: string;\n @Prop() entity: string;\n @Prop() user: any;\n @Prop() refetchViews: () => void;\n @Prop() gApi: any;\n @Prop() gcApi: any;\n @Prop() gridId: any;\n @Prop() domain: any;\n @Prop() apiCatalogId: any;\n @Prop() closeDialog: any;\n @Prop() currentGridId: string;\n @Prop() currentName: string;\n @Prop() currentGridViewVisibilityTypeId: number;\n @Prop() currentIsDefault: boolean;\n\n // Adjust the handleFormSubmit to accept a number for isPrivate\n @Prop() handleFormSubmit: (gridId: any, name: string, isPrivate: number, isDefault: boolean) => void;\n\n // Initialize name with the value of currentName\n @State() name: string = '';\n // Change isPrivate to be a number, defaulting to 2 (false/not private)\n @State() isPrivate: number = 2;\n @State() isDefault: boolean = false;\n @State() fetchedCurrentView: boolean = false;\n\n componentDidUpdate() {\n if (this.open) {\n this.handleGetExistingView();\n }\n }\n\n componentWillRender() {\n // console.log(\"rerendered name\");\n this.name = this.currentName;\n this.gridId = this.currentGridId;\n }\n\n handleGetExistingView = () => {\n this.isPrivate = this.currentGridViewVisibilityTypeId;\n this.isDefault = this.currentIsDefault;\n console.log(\"isPrivate:\", this.isPrivate, \"isDefault:\", this.isDefault);\n this.fetchedCurrentView = true;\n };\n\n resetFetchedCurrentView() {\n this.fetchedCurrentView = false;\n }\n\n handleNameChange = (event) => {\n this.currentName = event.target.value;\n this.name = event.target.value;\n };\n\n handlePrivateChange = () => {\n this.isPrivate = this.isPrivate === 1 ? 2 : 1;\n this.currentGridViewVisibilityTypeId = this.currentGridViewVisibilityTypeId === 1 ? 2 : 1;\n console.log(this.isPrivate);\n };\n\n handleDefaultChange = () => {\n this.isDefault = !this.isDefault;\n this.currentIsDefault = !this.currentIsDefault;\n console.log(this.isDefault);\n };\n\n handleSubmit = () => {\n this.handleFormSubmit(this.gridId, this.name, this.isPrivate, this.isDefault );\n };\n\n render() {\n return (\n <fluent-dialog\n open={this.open}\n actionOne={() => { this.handleSubmit(); this.closeDialog(); this.resetFetchedCurrentView(); }}\n actionTwo={() => { this.closeDialog(); this.resetFetchedCurrentView(); }}\n handleClose={this.handleClose}\n labelOne=\"Save Update\"\n labelTwo=\"Cancel\"\n title={this.title}\n disableOne={!this.name}\n >\n <form class=\"edit-form\">\n <text-field\n label=\"View Name\"\n value={this.name}\n onInput={(event: any) => this.handleNameChange(event)}\n ></text-field>\n { this.fetchedCurrentView &&\n <div class=\"toggle-options\" >\n <div><stencil-toggle label=\"Private\" checked={this.isPrivate === 1} onToggledChange={this.handlePrivateChange}></stencil-toggle> </div>\n <div><stencil-toggle label=\"Default\" checked={this.isDefault} onToggledChange={this.handleDefaultChange} style={{ marginTop: '10px' }}></stencil-toggle></div>\n </div>\n }\n </form>\n </fluent-dialog>\n );\n }\n}\n","","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'filter-conditions',\n styleUrl: 'filter-conditions.css',\n shadow: true,\n})\nexport class AdvancedSearch {\n render() {\n return (\n <div class=\"container\">\n <udp-column-header></udp-column-header>\n </div>\n );\n }\n}\n","\n:host([open]) {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n background-color: rgba(0, 0, 0, 0.5); /* Greyed-out background */\n }\n\n\n.dialog-container {\n display: none;\n /* Additional styles for the container */\n }\n \n .dialog-container.open {\n display: block;\n /* Additional styles for when the dialog is open */\n }\n \n .dialog-container {\n display: none; /* Hide the dialog by default */\n position: fixed; /* Position in relation to the viewport */\n top: 50%; /* Start at the center vertically */\n left: 50%; /* Start at the center horizontally */\n transform: translate(-50%, -50%); /* Shift the dialog to be truly centered */\n background-color: #fff;\n box-shadow: 0 12px 24px rgba(0, 0, 0, 0.16), 0 12px 24px rgba(0, 0, 0, 0.23);\n max-width: 90%;\n min-width: 500px;\n overflow: hidden;\n z-index: 10000; /* Make sure it's above the overlay */\n }\n \n \n .dialog-title {\n padding: 16px;\n font-size: 20px;\n }\n \n .dialog-content {\n padding-left: 16px;\n padding-right: 16px;\n }\n \n .dialog-actions {\n /* padding: 16px; */\n display: flex;\n justify-content: flex-end;\n }\n \n \n button {\n margin-left: 8px;\n }\n \n\n .overlay {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 9998;\n }\n \n .overlay-open {\n display: block;\n }\n \n .dialog-open {\n display: block;\n }","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'fluent-dialog',\n styleUrl: 'fluent-dialog.css',\n shadow: true,\n})\nexport class FluentDialog {\n @Prop() title: string;\n @Prop() message: string;\n @Prop() actionOne: Function;\n @Prop() actionTwo: Function;\n @Prop() actionThree: Function;\n @Prop() labelOne: string;\n @Prop() labelTwo: string;\n @Prop() labelThree: string;\n @Prop() open: boolean;\n @Prop() handleClose: Function;\n @Prop() ariaLabelledby: string;\n @Prop() ariaDescribedby: string;\n @Prop() titleId: string;\n @Prop() descriptionId: string;\n @Prop() buttonOneHidden: boolean = false;\n @Prop() buttonTwoHidden: boolean = false;\n @Prop() buttonThreeHidden: boolean = true;\n @Prop() disableOne: boolean;\n @Prop() disableTwo: boolean;\n @Prop() disableThree: boolean;\n @Prop() progress: number;\n\n render() {\n return (\n <div class={{ 'overlay': true, 'overlay-open': this.open }}>\n <div class={{ 'dialog-container': true, 'dialog-open': this.open }}>\n <div class=\"dialog-title\" id={this.titleId}>\n <unity-typography variant=\"h3\">{this.title}</unity-typography>\n </div>\n <div class=\"dialog-content\">\n <unity-typography variant=\"h6\">{this.message}</unity-typography>\n <unity-typography variant=\"body\">\n <slot />\n </unity-typography>\n </div>\n <div class=\"dialog-actions\">\n {!this.buttonTwoHidden && (\n <custom-button size=\"tall\" variant=\"text\" onClick={() => this.actionTwo()}>\n {this.labelTwo}\n </custom-button>\n )}\n {!this.buttonThreeHidden && (\n <custom-button\n //class=\"primary-action\"\n onClick={() => this.actionThree()}\n size=\"tall\"\n variant=\"text\"\n disabled={this.disableThree}\n >\n {this.labelThree}\n </custom-button>\n )}\n {!this.buttonOneHidden && (\n <custom-button class=\"primary-action\" variant=\"text\" onClick={() => this.actionOne()} size=\"tall\" disabled={this.disableOne}>\n {this.labelOne}\n </custom-button>\n )}\n </div>\n {this.progress && <div class=\"linear-progress\"></div>}\n </div>\n </div>\n );\n }\n}\n","/* grid-primary-bar.css */\n.header-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n background: var(--accent-color);\n }\n \n .title-section {\n flex: 1;\n margin-left: 16px;\n display: flex;\n gap: 16px;\n align-items: center;\n }\n \n .button-section {\n display: flex;\n gap: 8px;\n align-items: center;\n padding-right: 16px;\n padding-top: 8px;\n padding-bottom: 8px;\n }\n \n\n /* Targeting by class added to grid-primary-bar */\n/* grid-primary-bar.custom-class {\n overflow: hidden;\n} */\n\n/* .hydrated {\n overflow: hidden;\n} */\n\n","import { Component, Prop, h, State, Watch } from '@stencil/core';\nimport Save16 from '@carbon/icons/es/save/16';\nimport Close16 from '@carbon/icons/es/close/16';\nimport List16 from '@carbon/icons/es/list/16';\nimport Download16 from '@carbon/icons/es/download/16';\nimport Settings16 from '@carbon/icons/es/settings/16';\nimport Star16 from '@carbon/icons/es/star/16';\nimport AdvancedQuery16 from '@carbon/icons/es/ibm-watson--discovery/16';\nimport DataEnrichment16 from '@carbon/icons/es/idea/16';\nimport Renew16 from '@carbon/icons/es/renew/16';\n\n@Component({\n tag: 'grid-primary-bar',\n styleUrl: 'grid-primary-bar.css',\n shadow: true,\n})\nexport class GridPrimaryBar {\n @Prop() title: string;\n @Prop() hiddenActionButtons: string[] = [];\n @Prop() hiddenLabels: string[] = [];\n @Prop() actionButtons: any[] = [];\n @Prop() customSaveViewClick?: (event?: MouseEvent) => void;\n @Prop() customSizeToFitClick?: (event?: MouseEvent) => void;\n @Prop() customExportClick?: (event?: MouseEvent) => void;\n @Prop() primaryActionClick?: (event?: MouseEvent) => void;\n @Prop() customColumnViewClick?: (event?: MouseEvent) => void;\n @Prop() customFitColumnClick?: (event?: MouseEvent) => void;\n @Prop() customFilterViewClick?: (event?: MouseEvent) => void;\n @Prop() customClearClick?: (event?: MouseEvent) => void;\n @Prop() customRefreshClick?: (event?: MouseEvent) => void;\n @Prop() customExpandClick?: (event?: MouseEvent) => void;\n @Prop() customShowViewClick?: (event?: MouseEvent) => void;\n @Prop() customShowHotlistClick?: (event?: MouseEvent) => void;\n @Prop() customShowCustomSearchClick?: (event?: MouseEvent) => void;\n @Prop() customToggleServerClientClick?: (event?: MouseEvent) => void;\n @Prop() customAdvancedSearchClick?: (event?: MouseEvent) => void;\n @Prop() customInsightsClick?: (event?: MouseEvent) => void;\n @Prop() customShowGridOptionsClick?: (event?: MouseEvent) => void;\n @Prop() showAdvancedSearchFeature: boolean = true;\n @Prop() showFilterColumnFeature: boolean = true;\n @Prop() showGridOptions: boolean = true;\n @Prop() showHotlistButton: boolean = false;\n @Prop() hideExport: boolean = false;\n @Prop() showInsightsAction: boolean = false;\n @Prop() primaryActionLabel: string;\n @Prop() primaryActionIcon: string;\n @Prop() enableAdvancedSearch: boolean = true;\n\n @State() defaultActionButtons: any[] = [];\n @State() showLabels: boolean = true;\n\n checkWindowWidth() {\n const windowWidth = window.innerWidth;\n this.showLabels = windowWidth >= 1000;\n }\n\n @Watch('window:resize')\n onResize() {\n this.checkWindowWidth();\n }\n\n componentWillLoad() {\n this.checkWindowWidth();\n this.defaultActionButtons = this.initializeActionButtons();\n }\n\n componentDidLoad() {\n // Add event listener for window resize\n window.addEventListener('resize', this.checkWindowWidth.bind(this));\n }\n\n disconnectedCallback() {\n // Remove event listener when component is unloaded\n window.removeEventListener('resize', this.checkWindowWidth.bind(this));\n }\n\n private initializeActionButtons() {\n let buttons = [\n {\n icon: Save16,\n tooltip: 'Save View',\n label: 'Save View',\n visible: true,\n showLabel: true,\n iconClassName: 'save-icon-class',\n clickHandler: this.customSaveViewClick,\n },\n {\n icon: Star16,\n tooltip: 'Views',\n label: 'Views',\n visible: true,\n showLabel: true,\n iconClassName: 'save-icon-class',\n clickHandler: this.customShowViewClick,\n },\n {\n icon: List16,\n tooltip: 'Hotlists',\n label: 'Hotlists',\n visible: true,\n showLabel: true,\n iconClassName: 'save-icon-class',\n clickHandler: this.customShowHotlistClick,\n },\n {\n icon: AdvancedQuery16,\n tooltip: 'Search',\n label: 'Search',\n visible: this.enableAdvancedSearch,\n showLabel: true,\n iconClassName: 'save-icon-class',\n clickHandler: this.customShowCustomSearchClick,\n },\n {\n icon: Renew16,\n tooltip: 'Refresh',\n label: 'Refresh',\n visible: true,\n showLabel: true,\n iconClassName: 'save-icon-class',\n clickHandler: this.customRefreshClick,\n },\n {\n icon: Close16,\n tooltip: 'Clear Search',\n label: 'Clear Search',\n visible: true,\n showLabel: true,\n iconClassName: 'save-icon-class',\n clickHandler: this.customClearClick,\n },\n ];\n\n if (!this.hideExport) {\n buttons.splice(3, 0, {\n icon: Download16,\n tooltip: 'Export',\n label: 'Export',\n visible: true,\n showLabel: true,\n iconClassName: 'size-to-fit-icon-class',\n clickHandler: this.customExportClick,\n });\n }\n\n if (this.showInsightsAction) {\n buttons.splice(this.hideExport ? 3 : 4, 0, {\n icon: DataEnrichment16,\n tooltip: 'Insights',\n label: 'Insights',\n visible: true,\n showLabel: true,\n iconClassName: 'save-icon-class',\n clickHandler: this.customInsightsClick,\n });\n }\n\n if (!this.showHotlistButton) {\n buttons = buttons.filter((btn: { label: string }) => btn.label !== 'Hotlists');\n }\n\n if (this.showGridOptions) {\n buttons.push({\n icon: Settings16,\n tooltip: 'Grid Options',\n label: 'Grid Options',\n visible: true,\n showLabel: false,\n iconClassName: 'save-icon-class',\n clickHandler: this.customShowGridOptionsClick,\n });\n }\n\n return buttons;\n }\n\n @Watch('enableAdvancedSearch')\n handleAdvancedSearchToggle() {\n this.defaultActionButtons = this.initializeActionButtons();\n }\n\n render() {\n return (\n <div class=\"header-bar\">\n <div class=\"title-section\">\n <div>\n <unity-typography variant=\"h4\">{this.title} </unity-typography>{' '}\n </div>\n </div>\n <div class=\"button-section\">\n <div>\n <slot></slot>\n </div>\n\n {this.defaultActionButtons.map(btn => {\n const clickHandler = (event?: MouseEvent) => {\n if (btn.clickHandler) {\n btn.clickHandler(event);\n } else {\n console.log(`${btn.label} Clicked but no custom handler defined`);\n }\n };\n\n if (!this.hiddenActionButtons.includes(btn.label) && btn.visible) {\n return (\n <stencil-icon-button-grid-action-header\n showLabel={this.showLabels}\n secondary={btn.secondary}\n icon={btn.icon}\n onClick={clickHandler}\n tooltip={btn.tooltip}\n iconClassName={btn.iconClassName}\n >\n {btn.icon && <i class={btn.icon}></i>}\n {btn.label.toLowerCase() === 'save' || (!this.hiddenLabels.includes(btn.label) && btn.showLabel) ? <span>{btn.label}</span> : null}\n </stencil-icon-button-grid-action-header>\n );\n }\n return null;\n })}\n {this.primaryActionClick && this.primaryActionLabel && (\n <custom-button label={this.primaryActionLabel} onClick={(event: MouseEvent) => this.primaryActionClick(event)} size=\"tall\">\n {this.primaryActionIcon && <udp-icon iconName={this.primaryActionIcon} darkIcon={false} />}\n </custom-button>\n )}\n </div>\n </div>\n );\n }\n}\n",".hint-container {\n border-left: 3px solid blue; /* Replace with your primary color */\n }\n \n .hint-content {\n background-color: #F3F9FE;\n padding: 1rem;\n }\n \n .hide-hint-button {\n border: none;\n background: none;\n cursor: pointer;\n color: #0B79D0;\n text-decoration: none;\n }\n \n .hide-help {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n width: 100%;\n }\n ","import { Component, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'hint-panel',\n styleUrl: 'hint-panel.css',\n shadow: true,\n})\nexport class HintPanel {\n @Prop() hint: string;\n @Prop() hideHintText: string;\n @State() showHint: boolean = true;\n\n handleHideHint = () => {\n this.showHint = false;\n };\n\n render() {\n return (\n <div class=\"hint-container\">\n {this.showHint && (\n <div class=\"hint-content\">\n <div><unity-typography variant='body' > {this.hint} </unity-typography>\n \n </div>\n <div class=\"hide-help\">\n <button class=\"hide-hint-button\" onClick={this.handleHideHint}>\n {this.hideHintText}\n </button>\n </div>\n </div>\n )}\n </div>\n );\n }\n \n}\n",".kpi-container {\n display: flex;\n align-items: center;\n padding-top: 8px;\n padding-bottom: 8px;\n justify-content: flex-end;\n padding-right: 16px;\n background-color: rgb(247, 245, 243);\n }\n \n .kpi-item {\n display: flex;\n align-items: center;\n }\n \n .kpi-label {\n margin-right: 5px;\n font-weight: 700;\n }\n \n .kpi-value {\n margin-left: 5px;\n }\n \n .divider {\n border-left: 1px solid black;\n height: 20px;\n margin: 0 10px;\n }\n ","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'kpi-list',\n styleUrl: 'kpi-list.css',\n})\nexport class KpiList {\n @Prop() kpiValues: Array<{ label: string, value: number }>;\n\n render() {\n return (\n <div class=\"kpi-container\">\n {this.kpiValues.map((kpi, index) => (\n <div class=\"kpi-item\">\n <span class=\"kpi-label\"\n style={{\n fontSize:' 0.875rem',\n fontWeight: '300',\n lineHeight: '0.25',\n fontFamily: 'sans-serif'\n }} > <unity-typography > {kpi.label}: </unity-typography> </span>\n <span class=\"kpi-value\"\n style={{\n fontSize:' 0.875rem',\n fontWeight: '600',\n lineHeight: '0.25',\n fontFamily: 'sans-serif'\n }}\n > <unity-typography > {kpi.value.toLocaleString()} </unity-typography> </span>\n {index < this.kpiValues.length - 1 && <div class=\"divider\"></div>}\n </div>\n ))}\n </div>\n );\n }\n}\n",":host {\n display: block;\n}\n.wrapper {\n display: flex;\n width: 100%;\n border-bottom: 1px solid #e5e5e5;\n background-color: #344861;\n}\n\n.titleWrapper {\n flex: 1;\n margin-left: 16px;\n color: white\n}\n\nbody {\n margin: 0;\n font-family: sans-serif;\n padding: 0;\n}\n\n.container {\n /* margin: 16px; */\n padding: 16px;\n background-color: rgb(249, 249, 249);\n}","import { Component, Prop, h, State, Listen } from '@stencil/core';\nimport Asterisk16 from '@carbon/icons/es/asterisk/16';\nimport { ConfigService } from 'src/udp-utilities/api-config'\nimport '../my-component/ag-grid.css';\nimport { defaultPayload, demoMSSearchData } from '../../udp-utilities/grid/data-converters/transformSearchData';\nimport { RenderConfig } from '../my-component/UI/grid/ambient-template-grid/interfaces/gridInterfaces';\n\n@Component({\n tag: 'my-component',\n styleUrl: 'my-component.css',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() first: string;\n @Prop() middle: string;\n @Prop() last: string;\n\n @State() toggled: boolean = false;\n @State() dialogOpen: boolean = false; // new State property for dialog\n @State() drawerOpen: boolean = false;\n @State() popoverOpen: boolean = false;\n @State() loadedView: Array<any> = [];\n @State() loadedViewTitle: string = 'Root View';\n @State() tenantId: string = '034A2261-E825-4857-9EC5-E1DC2E577EEB';\n @State() externalSearchFilter: Array<any> = [];\n\n @State() mindscopeDemoPayload: Object = {};\n @State() dataEmitterDemo: Object = {};\n\n // In your root Stencil component\n @State() renderConfigs = [\n {\n field: 'ownership',\n rendererName: 'emailCellRenderer',\n otherField: 'emailAddress',\n callbackId: 'handleContactClick',\n },\n {\n field: 'fullName',\n rendererName: 'openFunctionCellRenderer',\n otherField: 'fullName',\n callbackId: 'handleDefaultContactClick',\n },\n {\n field: 'actions',\n rendererName: 'hotListAddRenderer',\n otherField: 'businessObjectKey',\n callbackId: 'handleActionClick',\n },\n {\n field: 'lastUpdate',\n rendererName: 'dateTimeCellRenderer',\n otherField: 'lastUpdate',\n callbackId: 'handleContactClick',\n cellRendererParams: {\n formatMode: 'exact' as 'exact', // Type assertion\n locale: 'US' as 'US', // Type assertion\n },\n } as RenderConfig,\n ];\n\n @State() filterObject: Array<any> = [\n {\n pageNumber: 1,\n pageSize: 20,\n filterElements: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n },\n ];\n\n @State() activeTabIndex: number = 0;\n @State() viewChips: Array<any> = [];\n @State() additionalFilterChips: Array<any> = [];\n @State() kpiValues: Array<any> = [\n { label: 'Avg per cycle', value: 2.3 },\n { label: 'Water', value: 2.3 },\n { label: 'Electric', value: 16.7 },\n { label: 'Sewer', value: 5600 },\n ];\n @State() rowData: Array<any> = [];\n @State() columnDefs: Array<any> = [];\n @State() TestcolumnDefs: Array<any> = [\n {\n name: 'BusinessObjectKeyA',\n field: 'businessObjectKeyB',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'Id',\n field: 'id',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'FirstName',\n field: 'firstName',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'LastName',\n field: 'lastName',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'GenderCode',\n field: 'genderCode',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'Birthdate',\n field: 'birthdate',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'DeathDate',\n field: 'deathDate',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'SerializeFields',\n field: 'serializeFields',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'ActorGender',\n field: 'actorGender',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'ActorMovieActors',\n field: 'actorMovieActors',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n {\n headerName: 'UdpTags',\n field: 'udpTags',\n minWidth: 80,\n autoHeight: true,\n sortable: true,\n cellStyle: {\n 'white-space': 'nowrap',\n 'overflow': 'hidden',\n 'text-overflow': 'ellipsis',\n },\n filter: 'agTextColumnFilter',\n resizable: true,\n },\n ];\n\n @State() filterChips: Array<any> = [\n {\n label: 'Brad',\n value: 'Brad',\n id: 0,\n keyName: 'firstName',\n },\n {\n label: 'Bruce',\n value: 'Bruce',\n id: 1,\n keyName: 'firstName',\n },\n {\n label: 'Tom',\n value: 'Tom',\n id: 2,\n keyName: 'firstName',\n },\n {\n label: 'Dispatched',\n value: 0,\n id: 3,\n keyName: 'firstName',\n },\n {\n label: 'Field Mobility',\n value: 0,\n id: 4,\n keyName: 'firstName',\n },\n {\n label: 'Fleet Management X',\n value: 0,\n id: 5,\n keyName: 'firstName',\n },\n {\n label: 'Crew Routing',\n value: 0,\n id: 6,\n keyName: 'firstName',\n },\n {\n label: 'Asset Routing',\n value: 0,\n id: 7,\n keyName: 'firstName',\n },\n {\n label: 'Work Orders',\n value: 0,\n id: 8,\n keyName: 'firstName',\n },\n {\n label: 'Consumer Information',\n value: 0,\n id: 9,\n keyName: 'firstName',\n },\n {\n label: 'Cashiering',\n value: 0,\n id: 10,\n keyName: 'firstName',\n },\n {\n label: 'Consumer Engagement',\n value: 0,\n id: 11,\n keyName: 'firstName',\n },\n {\n label: 'Contact Center',\n value: 0,\n id: 12,\n keyName: 'firstName',\n },\n {\n label: 'MDM',\n value: 0,\n id: 13,\n keyName: 'firstName',\n },\n {\n label: 'Course Management',\n value: 0,\n id: 14,\n keyName: 'firstName',\n },\n {\n label: 'Facility Management',\n value: 0,\n id: 15,\n keyName: 'firstName',\n },\n {\n label: 'Instructor Application',\n value: 0,\n id: 16,\n keyName: 'firstName',\n },\n {\n label: 'Member Management',\n value: 0,\n id: 17,\n keyName: 'firstName',\n },\n ];\n @Prop() accessTokenProp: string = '';\n\n @State() clientDetails: Array<any> = [];\n @State() viewDrawerOpen: boolean = false;\n\n //accessToken = accessToken\n accessToken = localStorage.getItem('accessToken');\n entityName = 'Actor';\n productId = parseInt(localStorage.getItem('productId'), 10);\n apiCatalogId = localStorage.getItem('apiCatalogId');\n userId = '8fe3b5ce-6a94-4ff4-b35c-be2596ea1380';\n gridId = 'CC8529E0-1CDD-4FC2-820A-50F76433B19E';\n\n toggleDrawer = () => {\n this.drawerOpen = !this.drawerOpen;\n };\n\n handleUserData(event: CustomEvent) {\n const userInfo = event.detail;\n // Do something with userInfo\n console.log('USER::::', userInfo);\n this.tenantId = userInfo.tenantIds[0];\n }\n\n handleChipDelete = () => {\n // Your delete logic here\n this.loadedView = [];\n };\n\n setAdditionalFilterChips = newChips => {\n this.additionalFilterChips = newChips;\n };\n\n setViewChips = newChips => {\n this.viewChips = newChips;\n };\n\n setFilter = () => {\n // Your set filter logic here\n };\n\n handleToggle() {\n this.toggled = !this.toggled;\n }\n\n handlePopover = () => {\n this.popoverOpen = !this.popoverOpen;\n };\n\n logTest = () => {\n console.log('log Test...!');\n this.dialogOpen = !this.dialogOpen; // Toggle dialog state\n };\n\n viewListrowData = [\n {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridView|f8defdca-2ffe-4064-a208-730ab9c46357',\n gridViewId: 'f8defdca-2ffe-4064-a208-730ab9c46357',\n name: 'Test Page View',\n clusterId: 4,\n gridViewVisibilityTypeId: 2,\n isDefault: false,\n tenantId: 'f86a9b7c-bab0-4281-89a2-52b4caf89fab',\n userId: '26c5be02-219d-4a8b-896a-4da10bde0839',\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n domain: 'Page',\n apiCatalogId: '5ee7b3ed-8aba-4c40-8b61-fabdcf9a440c',\n serializeFields: null,\n gridViewGridViewVisibilityType: null,\n gridViewTenant: null,\n gridViewUser: null,\n gridViewGrid: null,\n gridViewApiCatalog: null,\n gridViewGridViewGridConfiguration: [],\n udpTags: [],\n },\n {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridView|ef966d75-07e8-4664-ae08-ec30adf756f7',\n gridViewId: 'ef966d75-07e8-4664-ae08-ec30adf756f7',\n name: 'Test view',\n clusterId: 5,\n gridViewVisibilityTypeId: 1,\n isDefault: false,\n tenantId: 'f86a9b7c-bab0-4281-89a2-52b4caf89fab',\n userId: '8fe3b5ce-6a94-4ff4-b35c-be2596ea1380',\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n domain: 'Page',\n apiCatalogId: '5ee7b3ed-8aba-4c40-8b61-fabdcf9a440c',\n serializeFields: null,\n gridViewGridViewVisibilityType: null,\n gridViewTenant: null,\n gridViewUser: null,\n gridViewGrid: null,\n gridViewApiCatalog: null,\n gridViewGridViewGridConfiguration: [],\n udpTags: [],\n },\n ];\n\n fullViewData = {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridView|f8defdca-2ffe-4064-a208-730ab9c46357',\n gridViewId: 'f8defdca-2ffe-4064-a208-730ab9c46357',\n name: 'Test Page View',\n clusterId: 4,\n gridViewVisibilityTypeId: 2,\n isDefault: false,\n tenantId: 'f86a9b7c-bab0-4281-89a2-52b4caf89fab',\n userId: '26c5be02-219d-4a8b-896a-4da10bde0839',\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n domain: 'Page',\n apiCatalogId: '5ee7b3ed-8aba-4c40-8b61-fabdcf9a440c',\n serializeFields: null,\n gridViewGridViewVisibilityType: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridViewVisibilityType|2',\n gridViewVisibilityTypeId: 2,\n name: 'Public',\n serializeFields: null,\n gridViewVisibilityTypeGridView: [],\n udpTags: [],\n },\n gridViewTenant: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.Tenant|f86a9b7c-bab0-4281-89a2-52b4caf89fab',\n tenantId: 'f86a9b7c-bab0-4281-89a2-52b4caf89fab',\n clusterId: 1,\n tenantName: 'Univerus Software Inc',\n contactEmail: 'userdemo@outlook.com',\n locked: false,\n theme: 'sap',\n showUnsubscribedProducts: false,\n description: 'Univerus Software',\n apiAuthKey: '220b069a-5598-4ed6-b3fa-893ca0220f32',\n defaultVerticalId: 2,\n serializeFields: null,\n tenantAggregateThreshold: [],\n tenantApiMethodInstanceTenant: [],\n tenantBillingDetails: [],\n tenantBlobDocument: [],\n tenantGridView: [],\n tenantGroup: [],\n tenantInquiryTreeTenant: [],\n tenantMenuInstanceTenant: [],\n tenantMenuItemInstanceTenant: [],\n tenantMenuItemInstanceTenantGroup: [],\n tenantMenuItemInstanceTenantRole: [],\n tenantMenuStructure: [],\n tenantPage: [],\n tenantPanel: [],\n tenantProperty: [],\n tenantRole: [],\n tenantRule: [],\n tenantSupportIntegration: [],\n tenantVertical: null,\n tenantTenantDriveConfig: [],\n tenantTenantProduct: [],\n tenantTenantProductApiCatalogBase: [],\n tenantTenantProductHomePage: [],\n tenantTenantUser: [],\n tenantTranslation: [],\n tenantUser: [],\n udpTags: [],\n },\n gridViewUser: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.User|26c5be02-219d-4a8b-896a-4da10bde0839',\n userId: '26c5be02-219d-4a8b-896a-4da10bde0839',\n clusterId: 778,\n externalUUID: '22248368-9a38-41b7-9980-e7b3b79f5990',\n email: 'ckung@univerus.com',\n locked: false,\n defaultTenantId: 'f86a9b7c-bab0-4281-89a2-52b4caf89fab',\n serializeFields: null,\n userApiCatalog: [],\n userApiCatalog2: [],\n userApiUrlBase: [],\n userApiUrlBase2: [],\n userBillingDetailUsers: [],\n userGridView: [],\n userInquiryTree: [],\n userLoadedInquiryTreeNode: [],\n userMenuInstanceUser: [],\n userPage: [],\n userRule: [],\n userTenantUser: [],\n userTranslation: [],\n userTenant: null,\n userUserGridConfiguration: [],\n userUserGroup: [],\n userUserProduct: [],\n userUserRole: [],\n udpTags: [],\n },\n gridViewGrid: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.Grid|678410c2-430b-454b-bbef-1a6236a686ec',\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n clusterId: 31,\n name: 'UDP_Grid_UI_UX_Sandbox',\n serializeFields: null,\n gridGridConfiguration: [],\n gridGridView: [],\n udpTags: [],\n },\n gridViewApiCatalog: null,\n gridViewGridViewGridConfiguration: [\n {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridViewGridConfiguration|f8defdca-2ffe-4064-a208-730ab9c46357,27c4125d-2d39-4753-aba6-1a24581ba5b5',\n gridViewId: 'f8defdca-2ffe-4064-a208-730ab9c46357',\n gridConfigurationId: '27c4125d-2d39-4753-aba6-1a24581ba5b5',\n serializeFields: null,\n gridViewGridConfigurationGridView: null,\n gridViewGridConfigurationGridConfiguration: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridConfiguration|27c4125d-2d39-4753-aba6-1a24581ba5b5',\n gridConfigurationId: '27c4125d-2d39-4753-aba6-1a24581ba5b5',\n clusterId: 2927,\n gridStateTypeId: 5,\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n values: '[]',\n serializeFields: null,\n gridConfigurationApiMethodInstanceGridConfiguration: [],\n gridConfigurationGridStateType: null,\n gridConfigurationGrid: null,\n gridConfigurationGridViewGridConfiguration: [],\n gridConfigurationUserGridConfiguration: [],\n udpTags: [],\n },\n udpTags: [],\n },\n {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridViewGridConfiguration|f8defdca-2ffe-4064-a208-730ab9c46357,341f3721-60d5-445c-b2c8-2959c679bbc2',\n gridViewId: 'f8defdca-2ffe-4064-a208-730ab9c46357',\n gridConfigurationId: '341f3721-60d5-445c-b2c8-2959c679bbc2',\n serializeFields: null,\n gridViewGridConfigurationGridView: null,\n gridViewGridConfigurationGridConfiguration: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridConfiguration|341f3721-60d5-445c-b2c8-2959c679bbc2',\n gridConfigurationId: '341f3721-60d5-445c-b2c8-2959c679bbc2',\n clusterId: 2926,\n gridStateTypeId: 1,\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n values: [\n {\n colId: 'data1',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'data2',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'data3',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'data4',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'productId',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'tenantId',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'userId',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'pageTypeId',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'gridProperties',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'widgets',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'basePageId',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'showPageName',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'isUdpPage',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'version',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n {\n colId: 'layoutTypeId',\n width: 200,\n hide: false,\n pinned: null,\n sort: null,\n sortIndex: null,\n aggFunc: null,\n rowGroup: false,\n rowGroupIndex: null,\n pivot: false,\n pivotIndex: null,\n flex: null,\n },\n ],\n\n serializeFields: null,\n gridConfigurationApiMethodInstanceGridConfiguration: [],\n gridConfigurationGridStateType: null,\n gridConfigurationGrid: null,\n gridConfigurationGridViewGridConfiguration: [],\n gridConfigurationUserGridConfiguration: [],\n udpTags: [],\n },\n udpTags: [],\n },\n {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridViewGridConfiguration|f8defdca-2ffe-4064-a208-730ab9c46357,e422b3bd-9752-423b-ab40-a887b453bab3',\n gridViewId: 'f8defdca-2ffe-4064-a208-730ab9c46357',\n gridConfigurationId: 'e422b3bd-9752-423b-ab40-a887b453bab3',\n serializeFields: null,\n gridViewGridConfigurationGridView: null,\n gridViewGridConfigurationGridConfiguration: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridConfiguration|e422b3bd-9752-423b-ab40-a887b453bab3',\n gridConfigurationId: 'e422b3bd-9752-423b-ab40-a887b453bab3',\n clusterId: 2928,\n gridStateTypeId: 3,\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n values: '[]',\n serializeFields: null,\n gridConfigurationApiMethodInstanceGridConfiguration: [],\n gridConfigurationGridStateType: null,\n gridConfigurationGrid: null,\n gridConfigurationGridViewGridConfiguration: [],\n gridConfigurationUserGridConfiguration: [],\n udpTags: [],\n },\n udpTags: [],\n },\n {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridViewGridConfiguration|f8defdca-2ffe-4064-a208-730ab9c46357,b3d19bb6-feda-4746-8df5-d2f677faa3b2',\n gridViewId: 'f8defdca-2ffe-4064-a208-730ab9c46357',\n gridConfigurationId: 'b3d19bb6-feda-4746-8df5-d2f677faa3b2',\n serializeFields: null,\n gridViewGridConfigurationGridView: null,\n gridViewGridConfigurationGridConfiguration: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridConfiguration|b3d19bb6-feda-4746-8df5-d2f677faa3b2',\n gridConfigurationId: 'b3d19bb6-feda-4746-8df5-d2f677faa3b2',\n clusterId: 2929,\n gridStateTypeId: 4,\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n values: '{}',\n serializeFields: null,\n gridConfigurationApiMethodInstanceGridConfiguration: [],\n gridConfigurationGridStateType: null,\n gridConfigurationGrid: null,\n gridConfigurationGridViewGridConfiguration: [],\n gridConfigurationUserGridConfiguration: [],\n udpTags: [],\n },\n udpTags: [],\n },\n {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridViewGridConfiguration|f8defdca-2ffe-4064-a208-730ab9c46357,30a5a78a-0ff0-45c3-a6ff-f7716ad3b8a1',\n gridViewId: 'f8defdca-2ffe-4064-a208-730ab9c46357',\n gridConfigurationId: '30a5a78a-0ff0-45c3-a6ff-f7716ad3b8a1',\n serializeFields: null,\n gridViewGridConfigurationGridView: null,\n gridViewGridConfigurationGridConfiguration: {\n businessObjectKey: 'Univerus.Unity.Crm.Domain.Models.GridConfiguration|30a5a78a-0ff0-45c3-a6ff-f7716ad3b8a1',\n gridConfigurationId: '30a5a78a-0ff0-45c3-a6ff-f7716ad3b8a1',\n clusterId: 2930,\n gridStateTypeId: 2,\n gridId: '678410c2-430b-454b-bbef-1a6236a686ec',\n values: 'false',\n serializeFields: null,\n gridConfigurationApiMethodInstanceGridConfiguration: [],\n gridConfigurationGridStateType: null,\n gridConfigurationGrid: null,\n gridConfigurationGridViewGridConfiguration: [],\n gridConfigurationUserGridConfiguration: [],\n udpTags: [],\n },\n udpTags: [],\n },\n ],\n udpTags: [],\n };\n\n customSaveViewClick = () => {\n alert('Save View Clicked');\n };\n\n defaultActionButtons = [\n {\n icon: 'user',\n label: 'Add Candidate',\n visible: true,\n showLabel: true,\n clickHandler: this.customSaveViewClick,\n },\n {\n icon: 'wizard',\n label: 'Candidate Wizard',\n visible: true,\n showLabel: true,\n clickHandler: this.customSaveViewClick,\n },\n ];\n\n handleLoadView = () => {\n this.loadedView = [this.fullViewData];\n };\n\n testPah = () => {\n // alert('Primary Action Header Function')\n };\n\n selectTab(index: number) {\n this.activeTabIndex = index;\n console.log('select tab');\n }\n\n handleDataFetched = (event: CustomEvent) => {\n console.log('Data fetched in parent:', event.detail);\n };\n\n // Test search convertor:\n\n transformSearchData(searchData) {\n const transformed = [];\n\n // Iterate over all keys in searchData\n Object.keys(searchData).forEach(key => {\n const value = searchData[key];\n\n // Skip non-searchable, empty fields, or boolean values\n if (value === null || value === '' || typeof value === 'boolean' || (Array.isArray(value) && value.length === 0)) {\n return;\n }\n\n // Determine the appropriate operator for each field.\n // For example, if the field should use \"IN\" operator\n // This is a placeholder, implement your logic here\n const operator = 'IN';\n\n // Push a new search criteria object into the transformed array\n transformed.push({\n searchField: key,\n searchOperator: operator,\n searchValue: value,\n });\n });\n\n console.log('Transformed search data:', transformed);\n\n return transformed;\n }\n\n demoMSSearchData = {\n SearchCriteriaEquationDetails: {\n SkillSearchDetails: {\n AnySkillDetails: [],\n AllSkillDetails: [],\n ExcludeSkillDetails: [],\n ValueExpression: '',\n DisplayExpression: '',\n SkillDetailsBoolOn: [],\n },\n },\n CustomFieldSearch: [],\n SearchName: null,\n CandidateID: null,\n IsCandidateIDOptional: false,\n CandidateIdID: '_textCandidateId',\n CandidateIDLabelKey: '26',\n FirstName: null,\n IsFirstNameOptional: false,\n FirstNameID: '_textFirstName',\n FirstNameLabelKey: '28',\n LastName: null,\n IsLastNameOptional: false,\n LastNameID: '_textLastName',\n LastNameLabelKey: '30',\n PhoneNumber: null,\n IsPhoneNumberOptional: false,\n PhoneNumberID: '_textPhone',\n PhoneNumberLabelKey: '21',\n PhoneType: null,\n PhoneTypeID: '_listPhoneType',\n PhoneTypeSelectedText: null,\n IsPhoneTypeOptional: false,\n Email: null,\n IsEmailOptional: false,\n EmailID: '_textEmail',\n EmailLabelKey: '1000',\n ExcludeCandidatesPartOfText: null,\n IsExcludeCandidatesPartOfOptional: false,\n ExcludeCandidatesPartOfID: '_autoExcludeCandidatesPartOf',\n ListExcludeCandidatesPartOf: null,\n CheckExcludeOfflimits: false,\n CheckBoxExcludeOfflimitsID: '_checkBoxExcludeOfflimits',\n IsDateAvailiabilityOptional: false,\n DateAvailiabilityID: '_dateAvailiability',\n ConditionAvailiabilityLabelKey: '1413',\n ConditionAvailiabilityRelation: null,\n IsDateLastContactedOptional: false,\n DateBoxLastContactID: '_dateBoxLastContact',\n ConditionLastContactLabelKey: '151',\n ConditionLastContactedRelation: null,\n IsMustHaveNotInPlaceOptional: false,\n DatePlaceFromID: '_datePlaceFrom',\n DatePlaceFromLabelKey: '1727',\n MustHaveNotInPlaceID: '_mustHaveNotInPlace',\n DatePlaceToID: '_datePlaceTo',\n ChkSun: false,\n ChkSunID: '_ckSun',\n LabelSun: 'Sun',\n ChkMon: false,\n ChkMonID: '_ckMon',\n LabelMon: 'Mon',\n ChkTue: false,\n ChkTueID: '_ckTue',\n LabelTue: 'Tue',\n ChkWed: false,\n ChkWedID: '_ckWed',\n LabelWed: 'Wed',\n ChkThu: false,\n ChkThuID: '_ckThu',\n LabelThu: 'Thu',\n ChkFri: false,\n ChkFriID: '_ckFri',\n LabelFri: 'Fri',\n ChkSat: false,\n ChkSatID: '_ckSat',\n LabelSat: 'Sat',\n ScheduleActivitySelectedValue: '1059',\n ScheduleActivitySelectedText: 'ANNIVERSARY',\n IsScheduleActivityOptional: false,\n ScheduleActivityID: '_listScheduleActivityId',\n ScheduleActivityLabelKey: '4684',\n WithScheduleActivity: true,\n ScheduleStatusSelectedValue: 2,\n ScheduleStatusSelectedText: 'Completed',\n IsScheduleStatusOptional: true,\n ScheduleStatusID: '_listScheduleStatusId',\n ScheduleStatusLabelKey: '4684',\n RecruiterSelectedValue: '13',\n RecruiterSelectedText: 'Brad Atchison',\n RecruiterID: '_listRecruiterId',\n RecruiterLabelKey: '4684',\n IsRecruiterOptional: true,\n ResultOfActivitySelectedValue: null,\n ResultOfActivitySelectedText: null,\n ResultOfActivityID: '_listResultOfActivityId',\n ResultOfActivityLabelKey: '4684',\n IsResultOfActivityOptional: false,\n EnteredDateFromID: 'EnteredDateFromID',\n EnteredDateToID: 'EnteredDateToID',\n EnteredDateLabelKey: null,\n IsEnteredDateOptional: false,\n StartDateFromID: 'StartDateFromID',\n StartDateToID: 'StartDateToID',\n StartDateLabelKey: null,\n IsStartDateOptional: false,\n LastContactedDateFromID: 'LastContactedDateFromID',\n LastContactedDateToID: 'LastContactedDateToID',\n LastContactedDateLabelKey: null,\n IsLastContactedDateOptional: false,\n ChkOriginalResume: false,\n ChkOriginalResumeID: '_checkBoxOriginalResume',\n ChkModifiedResume: false,\n ChkModifiedResumeID: '_checkBoxModifiedResume',\n ChkHistoricalResume: false,\n ChkHistoricalResumeID: '_checkBoxHistoricalResume',\n ChkCandProfileNote: false,\n ChkCandProfileNoteID: '_checkBoxCandProfileNote',\n ChkNotes: false,\n ChkNotesID: '_checkBoxNotes',\n ChkEmail: false,\n ChkEmailID: '_checkBoxEmail',\n IsKeyWordSearch: false,\n KeyWordsearch: null,\n County: null,\n IsCountyOptional: false,\n CountyID: '_textCounty',\n CountyLabelKey: '4684',\n CountriesSelectedValue: null,\n CountriesSelectedText: null,\n CountryID: '_listCountries',\n CountriesLabelKey: '56',\n IsCountryOptional: false,\n ProvincesSelectedValue: null,\n ProvincesSelectedText: null,\n ProvincesID: '_listProvinces',\n ProvincesLabelKey: '55',\n IsProvincesOptional: false,\n ListCitiesValue: null,\n ListCitiesID: '_listCities',\n ListCitiesLabelKey: '9',\n LkCitiesLabelKey: '9',\n LkCitiesID: '_lkCities',\n LkCitiesValue: null,\n LkCitiesText: null,\n IsCityOptional: false,\n Address: null,\n AddressID: '_textAddress',\n AddressLabelKey: '8',\n IsAddressOptional: false,\n Address2: null,\n Address2ID: '_textAddress2',\n Address2LabelKey: '4004',\n IsAddress2Optional: false,\n PostalCode: null,\n PostalCodeID: '_textPostalCode',\n PostalCodeLabelKey: '10',\n IsPostalCodeOptional: false,\n LocatedFrom: null,\n LocatedFromID: '_textLocatedFrom',\n LocatedDistanceSelectedValue: null,\n IsLocatedFromOptional: false,\n BirthID: '_dateBirth',\n BirthLabelKey: '32',\n IsdateBirthOptional: false,\n AgeFrom: null,\n AgeFromID: '_txtAgeFrom',\n IsAgeOptional: false,\n AgeTo: null,\n AgeToID: '_txtAgeTo',\n YearsExpFrom: null,\n YearsExpFromID: '_txtYearsExpFrom',\n YearsExpTo: null,\n YearsExpToID: '_txtYearsExpTo',\n IsYearsExperienceOptional: false,\n TextSin: null,\n TextSinID: '_textSin',\n TextSinLabelKey: '128',\n IsSinIDOptional: false,\n StatusSelectedValue: null,\n StatusSelectedText: null,\n StatusID: '_listStatus',\n StatusLabelKey: '34',\n IsStatusOptional: false,\n SecondStatusSelectedValue: null,\n SecondStatusSelectedText: null,\n SecondStatusID: '_listSecondStatus',\n SecondStatusLabelKey: '4529',\n IsSecondStatusOptional: false,\n RatingSelectedValue: null,\n RatingSelectedText: null,\n RatingID: '_listRating',\n RatingLabelKey: '35',\n IsRatingOptional: false,\n MarketSrcSelectedValue: null,\n MarketSrcSelectedText: null,\n MarketSrcID: '_listMarketSrc',\n MarketSrcLabelKey: '1084',\n IsMarketSrcOptional: false,\n CandidateNpn: null,\n CandidateNpnID: '_txtCandidateNpn',\n CandidateNpnLabelKey: '4275',\n IsCandidateNpnOptional: false,\n TransportationTypeSelectedValue: null,\n TransportationTypeSelectedText: null,\n TransportationTypeID: '_listTransportation',\n TransportationTypeLabelKey: '3149',\n IsTransportationTypeOptional: false,\n EmploymentTypeSelectedValue: null,\n EmploymentTypeSelectedText: null,\n EmploymentTypeID: '_listEmploymentType',\n EmploymentTypeLabelKey: '117',\n IsEmploymentTypeOptional: false,\n PayRateCurrencySelectedValue: null,\n PayRateCurrencySelectedText: null,\n PayRateCurrencyID: '_listPayRateCurrency',\n PayRateCurrencyLabelKey: '5070',\n IsPayRateCurrencyOptional: false,\n MinimumPayRateFrom: null,\n MinimumPayRateFromID: '_txtMinimumPayRateFrom',\n MinimumPayRateFromLabelKey: '118',\n IsMinimumPayRateOptional: false,\n MinimumPayRateTo: null,\n MinimumPayRateToID: '_txtMinimumPayRateTo',\n OvertimePayRateFrom: null,\n OvertimePayRateFromID: '_txtOvertimePayRateFrom',\n OvertimePayRateFromLabelKey: '4982',\n IsOvertimePayRateOptional: false,\n OvertimePayRateTo: null,\n OvertimePayRateToID: '_txtOvertimePayRateTo',\n DivisionSelectedValue: null,\n DivisionSelectedText: null,\n DivisionID: '_listDivision',\n DivisionLabelKey: '143',\n IsDivisionOptional: false,\n DepartmentSelectedValue: null,\n DepartmentSelectedText: null,\n DepartmentID: '_listDepartment',\n DepartmentLabelKey: '146',\n IsDeptOptional: false,\n OfficeSelectedValue: null,\n OfficeSelectedText: null,\n OfficeID: '_listOffice',\n OfficeLabelKey: '1876',\n IsOfficeOptional: false,\n BusinessUnitSelectedValue: null,\n BusinessUnitSelectedText: null,\n BusinessUnitID: '_listBusinessUnit',\n BusinessUnitLabelKey: '556',\n IsBusinessUnitOptional: false,\n OwnershipValue: null,\n OwnershipText: null,\n OwnershipID: '_autoOwnership',\n OwnershipLabelKey: '1694',\n IsOwnershipOptional: false,\n CustomUserList1Value: null,\n CustomUserList1Text: null,\n CustomUserList1ID: '_listCustomUserList1',\n CustomUserList1LabelKey: '11414',\n IsCustomUserList1Optional: false,\n CustomUserList2Value: null,\n CustomUserList2Text: null,\n CustomUserList2ID: '_listCustomUserList2',\n CustomUserList2LabelKey: '11415',\n IsCustomUserList2Optional: false,\n CustomUserList3Value: null,\n CustomUserList3Text: null,\n CustomUserList3ID: '_listCustomUserList3',\n CustomUserList3LabelKey: '11416',\n IsCustomUserList3Optional: false,\n NoteTypeSelectedValue: null,\n NoteTypeSelectedText: null,\n NoteTypeID: '_listNoteType',\n NoteTypeLabelKey: '63',\n IsNoteTypeOptional: false,\n ActMgrValue: null,\n ActMgrText: null,\n ActMgrID: '_autoActMgr',\n ActMgrLabelKey: '1818',\n IsActMgrOptional: false,\n CompanyName: null,\n CompanyNameID: '_txtCompanyName',\n CompanyNameLabelKey: '37',\n IsCompanyNameOptional: false,\n Title: null,\n TitleID: '_txtTitle',\n TitleLabelKey: '149',\n IsTitleOptional: false,\n BaseSalaryID: '_txtBaseSalary',\n ConditionBaseSalaryRelation: null,\n BaseSalaryLabelKey: null,\n IsBaseSalaryOptional: false,\n LastSalaryIncreaseID: '_txtLastSalaryIncrease',\n LastSalaryIncreaseLabelKey: '4952',\n IsLastSalaryIncreaseOptional: false,\n TotalCompensationID: '_txtTotalCompensation',\n TotalCompensationLabelKey: '4953',\n IsTotalCompensationOptional: false,\n EnteredDateFrom: '2023-12-01',\n EnteredDateTo: '2023-12-10',\n StartDateFrom: '2023-12-07',\n StartDateTo: '2023-12-10',\n ListID: 0,\n Append: false,\n };\n\n handleApiResult = result => {\n console.log('Received result in parent:', result);\n // Save to local storage\n localStorage.setItem('promotedMethod', JSON.stringify(result));\n localStorage.setItem('promotedMethodDemo', JSON.stringify(result));\n };\n\n promotedEntityFromLocalStorage = JSON.parse(localStorage.getItem('promotedEntity'));\n\n handleCellClick = (cellValue: any, callbackId: any) => {\n // Your Angular-specific logic here\n console.log('Cell clicked in Angular. Value:', cellValue, 'CB', callbackId);\n if (callbackId === 'handleContactClick') {\n this.dataEmitterDemo = {\n searchField: 'clientContact',\n searchOperator: '=',\n searchValue: cellValue,\n };\n } else if (callbackId === 'handleActionClick') {\n alert(`Second action clicked in my test..., ${callbackId}, ${cellValue}`);\n } else {\n console.log(`A second function in parent, ${callbackId}`);\n }\n };\n handleCellClickX = (cellValue: any, callbackId: any) => {\n alert(`Third action clicked, ${callbackId}, ${cellValue}`);\n };\n\n handleViewActionClick = (cellValue: any, callbackId: any) => {\n alert(`VIEW !! in my test, ${callbackId}, ${cellValue}`);\n console.log('get full data list from grid:', cellValue.defaultClient);\n };\n\n cellClickHandler(otherCellValue, callbackId) {\n console.log('In Angular Parent:', otherCellValue, 'Callback ID:', callbackId);\n // Additional logic here\n }\n\n // @ts-ignore: 'childComponent' is declared but its value is never read.\n private childComponent: HTMLAmbientTemplateGridElement;\n\n updateDemoPayload() {\n this.mindscopeDemoPayload = demoMSSearchData;\n }\n\n updateDemoEmitter() {\n this.dataEmitterDemo = {\n searchField: 'city',\n searchOperator: '=',\n searchValue: 'San Diego',\n };\n }\n\n @Listen('externalEmitter')\n onExternalData(event: CustomEvent) {\n const dataFromChild = event.detail; // Data from the child component\n console.log('Received data from child:', dataFromChild);\n\n if (dataFromChild && dataFromChild.pageList) {\n this.clientDetails = dataFromChild.pageList;\n this.viewDrawerOpen = true; // Assuming this is part of your component's state\n console.log('clientDetails list...', this.clientDetails);\n }\n }\n\n componentWillLoad() {\n // Set configuration before the component loads\n ConfigService.config = {\n UNITY_API_DOMAIN: 'https://gateway.unitydev.ca',\n };\n }\n\n pageData = {\n pageId: 'b3854182-009b-4396-b51d-fbec4b732dca',\n name: 'New PAH',\n userId: '8fe3b5ce-6a94-4ff4-b35c-be2596ea1380',\n tenantId: 'f86a9b7c-bab0-4281-89a2-52b4caf89fab',\n productId: 3,\n layoutTypeId: 5,\n pageData: [\n {\n section: 1,\n position: 1,\n sectionName: 'Section One',\n componentName: 'Header',\n componentTypeId: 12,\n sectionId: '21e8ccff-71c6-49ad-999b-7969bc13b539',\n id: '9acb3088-ceff-4bc2-9ae5-71cf9d265c9d',\n columnSize: {\n xs: 12,\n },\n properties: {\n title: {\n key: null,\n i18n: 'utilitiesLabel',\n label: 'Primary Action Header',\n type: 'label',\n },\n subheader: {\n key: null,\n i18n: 'utilitiesDescription',\n label: 'Primary Action Button',\n type: 'label',\n },\n single: {\n value: true,\n type: 'bool',\n },\n grid: {\n value: false,\n type: 'bool',\n },\n tabList: {\n value: [\n {\n icon: 'ChannelIcon',\n label: 'Channel',\n i18n: 'channelLabel',\n view: {\n id: '5c69deb2-0d55-4245-9950-3d4087736567',\n component: 'Page',\n type: 'page',\n properties: {},\n },\n },\n {\n icon: 'RegisterIcon',\n label: 'Registry',\n i18n: 'registryLabel',\n view: {\n id: '954e62ed-42c4-470b-ae20-b6538c229ee2',\n component: 'Page',\n type: 'page',\n properties: {},\n },\n },\n ],\n type: 'tabs',\n },\n button: {\n id: 'd428b3a7-15fc-47e8-9328-07311e6c8811',\n key: null,\n i18n: 'createLabel',\n label: 'Create',\n opens: 'sideSheet',\n view: {\n id: '1724bbc2-62ba-4fcf-97f8-4a49c1393672',\n component: 'Form',\n type: 'form',\n properties: {},\n },\n type: 'button',\n },\n secondaryButtons: {\n value: [\n {\n id: '52b093b8-d9b5-4fff-96b6-086f25a2254a',\n icon: 'RefreshIcon',\n label: 'Refresh',\n i18n: 'refreshLabel',\n opens: null,\n apiMethodInstanceId: null,\n apiMethod: {\n apiMethodId: '71d826dc-88b0-46fe-85c3-ad53a72f0efc',\n apiCatalogId: '95aa404c-48c4-43b7-a908-13f97172a170',\n },\n },\n {\n id: 'e7db268b-f829-450d-8113-8696a9ed04e7',\n icon: 'DetailIcon',\n label: 'Details',\n i18n: 'detailsLabel',\n opens: 'sideSheet',\n view: {\n id: 'b1f4001f-1d5f-485f-a36c-3eba8a621a64',\n component: 'DisplayCard',\n type: 'card',\n properties: {},\n },\n apiMethodInstanceId: null,\n apiMethod: null,\n },\n ],\n type: 'secondaryActions',\n },\n },\n },\n {\n section: 2,\n position: 1,\n sectionName: 'Section Two',\n componentName: 'AmbientGrid',\n componentTypeId: 12,\n sectionId: 'dea1a869-a29e-4e74-bad8-57634feaf796',\n id: 'baab045a-7ff6-4083-99bd-71ccbe77b06c',\n columnSize: {\n xs: 12,\n },\n properties: {\n tenantId: '034A2261-E825-4857-9EC5-E1DC2E577EEB',\n productId: 44,\n queryId: 'de331702-3ada-4f61-91ba-4772b758a691',\n gridId: 'CC8529E0-1CDD-4FC2-820A-50F76433B19E',\n hotListIdentifier: 'candidateID',\n userId: '8fe3b5ce-6a94-4ff4-b35c-be2596ea1380',\n gridBarTitle: 'Data Bar',\n renderConfigs: [\n {\n field: 'clientContact',\n rendererName: 'openFunctionCellRenderer',\n otherField: 'defaultClient',\n callbackId: 'handleContactClick',\n },\n {\n field: 'defaultClient',\n rendererName: 'hoverContentCellRenderer',\n otherField: 'title',\n callbackId: 'handleDefaultContactClick',\n },\n {\n field: 'actions',\n rendererName: 'hotListAddRenderer',\n otherField: 'businessObjectKey',\n callbackId: 'handleDefaultContactClickX',\n },\n ],\n },\n },\n ],\n };\n\n render() {\n const usernames = Array.from({ length: 26 }, (_, i) => String.fromCharCode(97 + i));\n return (\n <div>\n <app-bar username=\"joey\"> Unity Ambient X </app-bar>\n <primary-action-header\n title=\"Primary Action Header\"\n onClick={() => this.testPah()}\n defaultActionButtons={this.defaultActionButtons}\n activeTabIndex={this.activeTabIndex}\n selectTab={index => this.selectTab(index)}\n primaryActionClick={() => this.handleLoadView()}\n tabs={false}\n ></primary-action-header>\n\n <div>\n <udp-tab active={this.activeTabIndex === 0}>\n <custom-button variant=\"outline\" onClick={() => this.updateDemoPayload()}>\n Demo External Search\n </custom-button>\n {\n <div>\n <ambient-template-grid\n ref={el => (this.childComponent = el as HTMLAmbientTemplateGridElement)}\n maxChipsAllowed={6}\n showHotlistButton={true}\n dataEmitterRequest={this.dataEmitterDemo}\n externalPayload={this.mindscopeDemoPayload}\n renderConfigs={this.renderConfigs}\n cellClickHandler={this.handleCellClick}\n cellClickHandlerX={this.handleCellClickX}\n viewActionClickHandler={this.handleViewActionClick}\n hotListIdentifier=\"contactID\"\n queryId=\"97a18cdb-2484-4720-ad37-e11e43ad4866\" // Contact\n userId={this.userId}\n gridId={this.gridId}\n fullViewData={this.fullViewData}\n externalSearchFilter={this.externalSearchFilter}\n gridBarTitle=\"Data Bar\"\n searchKey={defaultPayload}\n ></ambient-template-grid>\n </div>\n }\n\n <side-sheet widthOption=\"short\" title=\"Details\" open={this.viewDrawerOpen} toggleDrawer={() => (this.viewDrawerOpen = false)} position=\"right\">\n <div>\n <div style={{ width: '450px', marginBottom: '8px' }}>\n <hint-panel\n hint=\"Quickly access and manage your pre-configured table/grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.\"\n hideHintText=\"Hide Hint\"\n ></hint-panel>\n </div>\n <div>\n {this.clientDetails &&\n this.clientDetails.map(item => {\n return (\n <div>\n <tree-list-item label={'Name : ' + item.fullName} />\n <tree-list-item label={'City : ' + item.city} />\n <tree-list-item label={'Candidate ID : ' + item.candidateID} />\n <tree-list-item label={'Phone : ' + item.businessPhone} />\n <tree-list-item label={item.client_ContactClientID} />\n <tree-list-item label={item.client_ContactContactID} />\n\n <tree-list-item label={item.emailAddress} />\n <tree-list-item label={item.emailID} />\n <tree-list-item label={item.personID} />\n <tree-list-item label={item.phoneID} />\n\n <tree-list-item label={item.contactID} />\n <tree-list-item label={item.businessObjectKey} />\n </div>\n );\n })}\n </div>\n </div>\n </side-sheet>\n </udp-tab>\n <udp-tab active={this.activeTabIndex === 1}>\n <div class=\"container\">\n <ambient-demo-container title=\"Hint Panel\">\n <hint-panel\n hint=\"Quickly access and manage your pre-configured table/grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.\"\n hideHintText=\"Hide Hint\"\n ></hint-panel>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Primary Button\">\n <custom-button>Main Button</custom-button>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Secondary Button\">\n <custom-button variant=\"outline\">Secondary Button</custom-button>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Chip\">\n <stencil-chip text=\"Chip\" color=\"secondary\" />\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Chip\">\n <stencil-chip text=\"Chip\" defaultToggled={true} leftIcon={Asterisk16} />\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Icon Button\">\n <div style={{ display: 'flex', gap: '8px' }}>\n <div>\n <stencil-icon-button noBackground darkIcon={true} icon={Asterisk16}>\n Secondary Action\n </stencil-icon-button>\n </div>\n <div style={{ background: 'black' }}>\n <stencil-icon-button noBackground darkIcon={false} icon={Asterisk16}>\n Secondary Action\n </stencil-icon-button>\n </div>\n </div>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Popover\">\n <div style={{ width: '100px', height: '170px' }}>\n <udp-pop-over isOpen={true}>\n <div style={{ width: '100px', height: '150px' }}></div>\n </udp-pop-over>\n </div>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Primary Action Header\">\n <primary-action-header\n title=\"Primary Action Header\"\n onClick={() => this.testPah()}\n defaultActionButtons={this.defaultActionButtons}\n activeTabIndex={this.activeTabIndex}\n selectTab={index => this.selectTab(index)}\n primaryActionClick={() => this.handleLoadView()}\n actionButtonLabel=\"Add\"\n ></primary-action-header>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Tooltip\">\n <udp-ambient-tool-tip content=\"Tool tip content\">\n <unity-typography>Hover for tooltip </unity-typography>\n </udp-ambient-tool-tip>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Textfield\">\n <text-field label=\"View Name\" placeholder=\"Create a name for your view\"></text-field>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Toggle\">\n <stencil-toggle label=\"Private\" checked={true}></stencil-toggle>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Selector\"></ambient-demo-container>\n\n <ambient-demo-container title=\"Badge\">\n <udp-badge content={5}>\n <custom-button>Main Button</custom-button>\n </udp-badge>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"Tabs\">\n <div class=\"tabs\">\n <udp-tabs>\n <button class={this.activeTabIndex === 0 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(0)}>\n Demo Grid\n </button>\n <button class={this.activeTabIndex === 1 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(1)}>\n Other Content\n </button>\n </udp-tabs>\n </div>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"App bar\">\n <app-bar username=\"joey\"> Unity Ambient X </app-bar>\n </ambient-demo-container>\n\n <div style={{ display: 'flex', gap: '8px' }}>\n <ambient-demo-container title=\"Avatar\">\n <div style={{ display: 'flex', gap: '8px' }}>\n {usernames.map(username => (\n <udp-avatar username={username}></udp-avatar>\n ))}\n </div>\n </ambient-demo-container>\n </div>\n\n <ambient-demo-container title=\"Typography\">\n <unity-typography variant=\"body\">Body</unity-typography>\n <unity-typography variant=\"h1\">H1</unity-typography>\n <unity-typography variant=\"h2\">H2</unity-typography>\n <unity-typography variant=\"h3\">H3</unity-typography>\n <unity-typography variant=\"h4\">H4</unity-typography>\n <unity-typography variant=\"h4\">H5</unity-typography>\n <unity-typography variant=\"h4\">H6</unity-typography>\n <unity-typography variant=\"h4\">caption-text</unity-typography>\n <unity-typography variant=\"h4\">data-display-one</unity-typography>\n <unity-typography variant=\"h4\">data-display-two</unity-typography>\n <unity-typography variant=\"h4\">button</unity-typography>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"theme color\">\n <div style={{ display: 'flex', gap: '8px' }}>\n <div style={{ width: '50px', height: '50px', background: 'var(--primary-color)' }}></div>\n <div style={{ width: '50px', height: '50px', background: 'var(--secondary-color)' }}></div>\n </div>\n </ambient-demo-container>\n\n <ambient-demo-container title=\"new\"></ambient-demo-container>\n </div>\n </udp-tab>\n </div>\n\n <div />\n <fluent-dialog\n title=\"Sample Dialog\"\n message=\"This is a message.\"\n actionOne={() => alert('Action One Clicked')}\n actionTwo={() => alert('Action Two Clicked')}\n labelOne=\"Confirm\"\n labelTwo=\"Cancel\"\n open={this.dialogOpen} // Use state to control dialog visibility\n >\n <div>Here is some dialog content...</div>\n </fluent-dialog>\n </div>\n );\n }\n}\n","/* grid-primary-bar.css */\n:host {\n display: block;\n font-family: var(--font-family-base, sans-serif); \n background-color: var(--primary-action-header-background, #ffffff);\n color: var(--primary-action-header-text-color, rgba(0, 0, 0, 0.87));\n box-shadow: var(--primary-action-header-shadow, 0px 2px 4px -1px rgba(0,0,0,0.2));\n height: var(--primary-action-header-height, 48px);\n padding: var(--primary-action-header-padding, 0 var(--spacing-04));\n box-sizing: border-box;\n}\n\n.header-bar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.title-section {\n flex-shrink: 0;\n margin-right: var(--spacing-md, 16px);\n}\n\n/* Tabs are not fully supported yet - this is leftover from work Greg did with Mindscope */\n.tabs {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n align-items: stretch;\n min-width: 0;\n}\n\n.tabs udp-tabs {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n.tabs udp-tabs::part(tab-list) {\n /* This rule targets the 'tab-list' part within the udp-tabs component's shadow DOM. */\n /* It's a placeholder for any specific styling needed for the tab list container itself. */\n /* For example: display: flex; align-items: stretch; height: 100%; */\n}\n\n.tabs udp-tabs button {\n padding: 0 16px;\n margin: 0 var(--spacing-xxs, 4px);\n height: 100%;\n border: none;\n background-color: transparent;\n cursor: pointer;\n font-size: var(--font-size-sm, 0.875rem);\n color: var(--text-color-secondary, rgba(0, 0, 0, 0.6));\n text-transform: uppercase;\n font-weight: var(--font-weight-medium, 500);\n border-bottom: 2px solid transparent;\n transition: color 0.3s ease, border-bottom-color 0.3s ease;\n}\n\n.tabs udp-tabs button:hover {\n color: var(--primary-color-hover, var(--primary-color, #1976d2));\n}\n\n.tabs udp-tabs button.active {\n color: var(--primary-color, #1976d2);\n border-bottom: 2px solid var(--primary-color, #1976d2);\n}\n\n.button-section {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: var(--spacing-sm, 8px);\n}\n\n.button-section stencil-icon-button {\n color: var(--primary-action-header-icon-color, var(--text-color-primary, rgba(0, 0, 0, 0.54)));\n}\n\n.button-section stencil-icon-button:hover {\n background-color: rgba(0,0,0,0.04);\n}\n\n\n.button-section custom-button {\n /* Styles for the primary action button */\n /* You might want to use your design system's button styles here */\n /* Example: margin-left: var(--spacing-sm, 8px); */\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport iconMapping from '../icons/iconMapping';\n\n@Component({\n tag: 'primary-action-header',\n styleUrl: 'primary-action-header.css',\n shadow: true,\n})\nexport class PrimaryActionHeader {\n @Prop() title: string;\n @Prop() hiddenActionButtons: string[] = [];\n @Prop() hiddenLabels: string[] = [];\n @Prop() actionButtons: any[] = [];\n @Prop() defaultActionButtons: any[] = [];\n @Prop() customSaveViewClick?: (event?: MouseEvent) => void;\n @Prop() customSizeToFitClick?: (event?: MouseEvent) => void;\n @Prop() customExportClick?: (event?: MouseEvent) => void;\n @Prop() primaryActionClick?: (event?: MouseEvent) => void;\n @Prop() customColumnViewClick?: (event?: MouseEvent) => void;\n @Prop() customFitColumnClick?: (event?: MouseEvent) => void;\n @Prop() customFilterViewClick?: (event?: MouseEvent) => void;\n @Prop() customClearClick?: (event?: MouseEvent) => void;\n @Prop() customExpandClick?: (event?: MouseEvent) => void;\n @Prop() customShowViewClick?: (event?: MouseEvent) => void;\n @Prop() activeTabIndex: number;\n @Prop() selectTab: (index: number) => void;\n @Prop() tabs: boolean = true;\n @Prop() actionButtonLabel: string = '';\n // @State() activeTabIndex: number = 0;\n\n getIconComponent(icon: string | Function, customIcon: Function) {\n if (customIcon) {\n return customIcon;\n }\n\n if (typeof icon === 'string') {\n return iconMapping[icon];\n }\n\n return icon;\n }\n\n renderIcon(ActualIcon: any) {\n if (ActualIcon && ActualIcon.elem === 'svg') {\n return (\n <svg {...ActualIcon.attrs}>\n {ActualIcon.content.map((content: any, index: number) => {\n return <path key={index} {...content.attrs} />;\n })}\n </svg>\n );\n }\n return null;\n }\n\n // selectTab(index: number) {\n // this.activeTabIndex = index;\n // }\n\n render() {\n console.log('active tab', this.activeTabIndex);\n\n return (\n <div class=\"header-bar\">\n <div class=\"title-section\">\n <unity-typography variant=\"h4\">{this.title}</unity-typography>\n </div>\n\n {/* IMPORTANT: NEED TO ADD A TABS COMPONENT SUPPORT - This is from work Greg did for mindscope demo */}\n {this.tabs && (\n <div class=\"tabs\">\n <udp-tabs>\n <button class={this.activeTabIndex === 0 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(0)}>\n Demo Grid\n </button>\n <button class={this.activeTabIndex === 1 ? 'active' : ''} slot=\"tab-title\" onClick={() => this.selectTab(1)}>\n Other Content\n </button>\n </udp-tabs>\n </div>\n )}\n\n <div class=\"button-section\">\n {this.defaultActionButtons.map(btn => {\n // Determine the actual icon to use\n const ActualIcon = this.getIconComponent(btn.icon, btn.customIcon);\n\n const clickHandler = (event?: MouseEvent) => {\n if (btn.clickHandler) {\n btn.clickHandler(event);\n } else {\n console.log(`${btn.label} Clicked but no custom handler defined`);\n }\n };\n\n if (!this.hiddenActionButtons.includes(btn.label) && btn.visible) {\n return (\n <stencil-icon-button secondary={btn.secondary} onClick={clickHandler} tooltip={btn.tooltip}>\n {/* Render icon directly */}\n {this.renderIcon(ActualIcon)}\n\n {/* Show label if it's not hidden and should be shown */}\n {!this.hiddenLabels.includes(btn.label) && btn.showLabel && <span>{btn.label}</span>}\n </stencil-icon-button>\n );\n }\n return null;\n })}\n {!this.actionButtonLabel && <div class=\"right-margin\" />}\n\n {this.actionButtonLabel && (\n <udp-button variant=\"contained\" color=\"secondary\" onClick={event => this.primaryActionClick(event.detail)}>\n {this.actionButtonLabel}\n </udp-button>\n )}\n </div>\n </div>\n );\n }\n}\n",".info-columns{\n display: flex;\n}\n\n.column{\n width: 100px\n}\n\n.toggle-options {\n display: flex;\n gap: 16px;\n align-items: center;\n margin-bottom: 16px;\n}","import { Component, Prop, h, State, Element, Watch } from '@stencil/core';\n\n@Component({\n tag: 'save-view-form-dialog',\n styleUrl: 'save-view-form-dialog.css',\n shadow: true,\n})\nexport class SaveViewFormDialog {\n @Element() el: HTMLElement;\n @Prop() open: boolean;\n @Prop() title: string;\n @Prop() handleClose: Function;\n @Prop() tenant: string;\n @Prop() application: string;\n @Prop() entity: string;\n @Prop() user: any;\n @Prop() refetchViews: () => void;\n @Prop() gApi: any;\n @Prop() gcApi: any;\n @Prop() gridId: any;\n @Prop() domain: any;\n @Prop() apiCatalogId: any;\n @Prop() closeDialog: any;\n // Adjust the handleFormSubmit to accept a number for isPrivate\n @Prop() handleFormSubmit: (name: string, isPrivate: number, isDefault: boolean) => void;\n @Prop() handleViewAndConfigurationSubmit: (name: string, isPrivate: number, isDefault: boolean) => void;\n @Prop() currentName: string;\n @Prop() currentIsPrivate: number;\n @Prop() currentIsDefault: boolean;\n @Prop() currentGridViewId: string;\n\n @State() name: string = '';\n // Change isPrivate to be a number, defaulting to 2 (false/not private)\n @State() isPrivate: number = 2;\n @State() isDefault: boolean = false;\n @State() gridViewId: string = '';\n @State() fetchedCurrentView: boolean = false;\n\n @Watch(\"open\")\n handleModalOpen(newValue: boolean) {\n if (newValue) {\n // Reset the state every time the modal opens\n this.name = this.currentName || '';\n this.isPrivate = this.currentIsPrivate ?? 2; // Set to 2 if null/undefined\n this.isDefault = this.currentIsDefault ?? false;\n this.gridViewId = this.currentGridViewId || '';\n }\n }\n\n handleNameChange = (event) => {\n this.name = event.target.value;\n };\n\n // Update the toggle method to flip between 1 (true/private) and 2 (false/not private)\n handlePrivateChange = () => {\n this.isPrivate = this.isPrivate === 1 ? 2 : 1;\n };\n\n handleDefaultChange = () => {\n this.isDefault = !this.isDefault;\n };\n\n // Ensure handleSubmit correctly handles the isPrivate number\n handleSubmit = () => {\n this.handleFormSubmit(this.name, this.isPrivate, this.isDefault );\n this.resetForm();\n };\n\n handleViewUpdate = () => {\n this.handleViewAndConfigurationSubmit(this.name, this.isPrivate, this.isDefault);\n };\n\n resetForm = () => {\n this.name = '';\n this.isPrivate = 2;\n this.isDefault = false;\n }\n\n render() {\n return (\n <fluent-dialog\n open={this.open}\n actionOne={() => { this.handleSubmit();}}\n actionTwo={this.closeDialog}\n actionThree={() => { this.handleViewUpdate();}}\n handleClose={this.handleClose}\n labelOne=\"Save Copy\"\n labelTwo=\"Cancel\"\n labelThree=\"Save View\"\n title={this.title}\n disableOne={!this.name}\n buttonThreeHidden={!this.gridViewId} // Hidden when no view has been loaded into the grid\n >\n <form class=\"save-form\">\n <text-field\n label=\"View Name\"\n placeholder=\"Create a name for your view\"\n value={this.name}\n onInput={(event: any) => this.handleNameChange(event)}\n ></text-field>\n {/* Adjust the toggle to reflect isPrivate's state accurately, might need custom handling based on stencil-toggle's API */}\n\n <div class=\"toggle-options\" >\n <div><stencil-toggle label=\"Private\" checked={this.isPrivate === 1} onToggledChange={this.handlePrivateChange}></stencil-toggle> </div>\n <div><stencil-toggle label=\"Default\" checked={this.isDefault} onToggledChange={this.handleDefaultChange} style={{ marginTop: '10px' }}></stencil-toggle></div>\n </div>\n\n </form>\n </fluent-dialog>\n );\n }\n}\n",".list-item {\n display: flex;\n gap: 8px;\n align-items: center;\n background-color: white;\n border-bottom: 1px solid rgba(0,0,0,.12);\n}\n.list-body {\n display: flex;\n padding-left: 16px;\n gap: 8px;\n align-items: center;\n flex: 1;\n}\n\n.input {\n margin-top: 5.5px;\n}\n\n\n.list-inputs {\n display: flex;\n flex: 1;\n gap: 24px;\n align-items: center;\n}\n\n.close-button {\n display: flex;\n align-items: center;\n}\n\n.name {\n min-width: 215px;\n white-space: nowrap; \n overflow: hidden; \n text-overflow: ellipsis; \n max-width: 215px; \n}\n\n.select-container {\n width: \"200px\";\n}","import { Component, Prop, State, Watch, Event, EventEmitter, h, Element } from '@stencil/core';\nimport Close24 from '@carbon/icons/es/close/24';\n\n@Component({\n tag: 'search-list-item',\n styleUrl: 'search-list-item.css',\n shadow: true,\n})\nexport class SearchListItem {\n @Element() el: HTMLElement;\n\n @Prop() id: string;\n @Prop() isDefault: boolean = false;\n @Prop() filterGroupId: string;\n @Prop() label: string;\n @Prop() name: string;\n @Prop() handleDelete: (event: MouseEvent) => void;\n @Prop() operator: string; // Prop to receive the current operator\n @Prop() isInitialSearchItem: boolean | undefined | null;\n\n @State() searchOperator: string = '='; // Default value\n\n @Event({ bubbles: true, composed: true }) searchItemChanged: EventEmitter;\n\n @Watch('operator')\n operatorChanged(newValue: string) {\n if (newValue !== this.searchOperator && newValue !== null) {\n this.searchOperator = newValue;\n console.log('Operator changed:', newValue);\n }\n }\n\n componentWillUpdate() {\n if (this.operator && this.operator.length > 0) {\n this.searchOperator = this.operator; // Manually sync inside lifecycle if @Watch doesn't catch\n }\n }\n\n conponentDidLoad() {\n console.log('Component did load:', this.operator);\n }\n\n handleOperatorSelected(event: CustomEvent) {\n console.log('event.detail', event.detail.value);\n // const newOperator = newOperator;\n this.searchOperator = event.detail.value;\n this.emitChange(); // Emit the change to ensure it is captured\n }\n\n emitChange(newValue = this.name) {\n // Ensure the operator is passed as a string, not an object\n this.searchItemChanged.emit({\n id: this.id,\n searchField: this.label,\n filterGroupId: this.filterGroupId,\n searchOperator: this.searchOperator || '=', // Ensure default to '=' if undefined\n searchValue: newValue,\n });\n }\n\n handleInputBlur = (event: Event) => {\n const inputElement = event.target as HTMLInputElement;\n const inputVal = inputElement.value;\n\n if (inputVal !== this.name) {\n this.searchItemChanged.emit({\n id: this.id,\n searchField: this.label,\n filterGroupId: this.filterGroupId,\n searchOperator: this.searchOperator,\n searchValue: inputVal,\n });\n }\n }\n\n private selectorOptions = [\n {\n value: '=',\n label: 'Equals',\n },\n {\n value: 'IN',\n label: 'Contains',\n },\n {\n value: '<>',\n label: 'Does not Equal',\n },\n {\n value: '>',\n label: 'Greater Than',\n },\n {\n value: '<',\n label: 'Less Than',\n },\n {\n value: '>=',\n label: 'Greater Than or Equal To',\n },\n {\n value: '<=',\n label: 'Less Than or Equal To',\n },\n {\n value: 'LIKE',\n label: 'Like',\n },\n {\n value: 'STARTSWITH',\n label: 'Starts With',\n },\n {\n value: 'BETWEEN',\n label: 'Between',\n },\n ];\n\n render() {\n return (\n <div class=\"list-item\">\n <div class=\"list-body\">\n <div class=\"name\">\n <unity-typography variant=\"button\">{this.label}</unity-typography>\n </div>\n <div style={{ width: '200px' }}>\n <udp-selector\n key={this.searchOperator}\n initialValue={this.searchOperator}\n options={this.selectorOptions}\n disabled={this.isInitialSearchItem || this.isDefault}\n onChange={(event: CustomEvent) => this.handleOperatorSelected(event)}\n ></udp-selector>\n </div>\n <div class=\"input\">\n <text-field\n value={this.name}\n disabled={this.isInitialSearchItem}\n onBlur={this.handleInputBlur}\n ></text-field>\n </div>\n </div>\n\n {(!this.isInitialSearchItem || !this.isDefault) && <stencil-icon-button icon={Close24} onClick={this.handleDelete}></stencil-icon-button>}\n </div>\n );\n }\n}\n",".side-sheet {\n width: 0;\n height: 100%;\n position: fixed;\n z-index: 9999; /* High z-index to overlay page content */\n top: 0;\n bottom: 0;\n overflow-x: hidden;\n overflow-y: hidden; /* change to auto to enable vertical scrolling */\n transition: width 0.5s ease;\n background-color: #ffffff; /* Add background color */\n \n /* Hide scrollbar for Chrome, Safari and Opera */\n ::-webkit-scrollbar {\n display: none;\n }\n \n /* Hide scrollbar for Firefox */\n scrollbar-width: none;\n \n /* Hide scrollbar for IE and Edge */\n -ms-overflow-style: none;\n }\n \n \n .side-sheet.left {\n left: 0;\n }\n \n .side-sheet.right {\n right: 0;\n }\n \n .side-sheet.open {\n width: 1300px\n }\n\n .side-sheet.short.open {\n width: 480px;\n }\n \n \n .backdrop {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 9; /* Lower than the side-sheet but higher than page content */\n opacity: 0;\n pointer-events: none; /* By default, do not block interactions */\n transition: opacity 0.5s ease;\n }\n \n .backdrop.open {\n opacity: 1;\n pointer-events: auto; /* Allow interactions when visible */\n }\n\n .title {\n display: flex;\n flex: 1;\n align-items: center;\n }\n \n .close-button {\n display: flex;\n align-items: center;\n }\n\n .ag-root.ag-layout-normal {\n font-family: sans-serif !important;\n font-size: 13px;\n }\n\n .side-sheet.custom-width.open {\n transition: width 0.5s ease; /* Same transition */\n }","import { Component, Prop, h } from '@stencil/core';\nimport Close24 from '@carbon/icons/es/close/24';\n\n@Component({\n tag: 'side-sheet',\n styleUrl: 'side-sheet.css',\n})\nexport class SideSheet {\n @Prop() open: boolean;\n @Prop() title: string;\n @Prop() buttonLabel: string;\n @Prop() toggleDrawer: () => void;\n @Prop() position: 'left' | 'right' = 'left';\n @Prop() handleSideSheetButton: () => void;\n @Prop() sideSheetButtonLabel: string;\n @Prop() widthOption: 'short' | 'long' | number = 'long';\n @Prop() disabled: boolean = false;\n @Prop() padding: boolean = true;\n @Prop() buttonTransform: string = \"translate(0,0)\";\n \n render() {\n const widthClass = typeof this.widthOption === 'number' ? 'custom-width' : this.widthOption;\n const sideSheetStyle = typeof this.widthOption === 'number' ? { width: `${this.widthOption}px` } : {};\n\n return (\n <div>\n <div class={{ 'backdrop': true, 'open': this.open }} onClick={this.toggleDrawer}></div>\n \n <div class={{ 'side-sheet': true, 'open': this.open, 'close': !this.open, [this.position]: true, [widthClass]: true }}\n style={sideSheetStyle}>\n <div class=\"title\">\n <div class='close-button'>\n <stencil-icon-button icon={Close24} onClick={this.toggleDrawer}></stencil-icon-button>\n </div>\n <div class='title'>\n <unity-typography variant=\"data-display-four\">{this.title}</unity-typography>\n </div>\n { this.sideSheetButtonLabel && <custom-button style={{ transform: this.buttonTransform, }} size='tall' disabled={this.disabled} onCustomClick={() => this.handleSideSheetButton()}>\n {this.sideSheetButtonLabel}\n </custom-button>}\n </div>\n \n <side-sheet-container padding={this.padding} >\n <slot></slot>\n </side-sheet-container>\n </div>\n </div>\n );\n }\n}\n\n","/* @import '../../../../../../node_modules/ag-grid-enterprise/styles/ag-grid.css';\n@import '../../../../../../node_modules/ag-grid-enterprise/styles/ag-theme-material.css'; */\n\n.container {\n width: 100%;\n height: 100%;\n background-color: #f2f2f2; /* light grey background */\n overflow: auto; /* enable scrolling */\n \n /* Hide scrollbar for Chrome, Safari and Opera */\n ::-webkit-scrollbar {\n display: none;\n }\n \n /* Hide scrollbar for Firefox */\n scrollbar-width: none;\n \n /* Hide scrollbar for IE and Edge */\n -ms-overflow-style: none;\n }\n ","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'side-sheet-container',\n styleUrl: 'side-sheet-container.css',\n shadow: true,\n})\nexport class SideSheetContainer {\n @Prop() padding: boolean = true;\n\n render() {\n const style = this.padding ? {'padding': '16px'} : {};\n return (\n <div class=\"container\" style={style}>\n <slot />\n </div>\n );\n }\n \n}\n","/* Base style for the chip */\n.chip {\n padding: 0.3em 1em;\n border-radius: 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n /* margin: 0.5em; */\n transition: background-color 0.3s, color 0.3s;\n max-width: 100%; /* Ensures it fits the container */\n max-height: 100%;\n}\n\n/* Styles for different statuses */\n.success {\n background-color: #4caf50; /* Green */\n color: white;\n}\n\n.warning {\n background-color: #ffeb3b; /* Yellow */\n color: #212121; /* Use a darker text color for contrast */\n}\n\n.error {\n background-color: #f44336; /* Red */\n color: white;\n}\n\n.info {\n background-color: rgb(52, 120, 176);\n color: white;\n}\n\n/* Default style if no status is matched */\n.default {\n background-color: rgb(207, 207, 207);\n color: black; /* Dark Grey */\n}\n\n.dense {\n padding-top: 0;\n padding-bottom: 0;\n}\n\np {\n margin-top: 0;\n margin-bottom: 0;\n}","import { Component, Prop, h, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'status-chip',\n styleUrl: 'status-chip.css',\n shadow: true,\n})\nexport class StatusChip {\n // State to handle the internal status class\n @State() internalStatusClass: string;\n\n // Prop for the status value, which now can be string or boolean\n @Prop() statusValue: string | boolean;\n\n // Define a mapping of possible status values to CSS classes\n @Prop() statusClasses: { [key: string]: string } = {};\n \n @Prop() dense: boolean = false;\n\n // Watch for changes in statusValue\n @Watch('statusValue')\n protected statusValueWatcher(newValue: string | boolean) {\n const valueKey = typeof newValue === 'boolean' ? newValue.toString() : newValue;\n this.internalStatusClass = this.statusClasses && this.statusClasses[valueKey] ? this.statusClasses[valueKey] : 'default';\n }\n\n // Initial call to set the status based on the initial statusValue\n componentWillLoad() {\n this.statusValueWatcher(this.statusValue);\n }\n\n render() {\n return (\n <div class={`chip ${this.internalStatusClass} ${this.dense ? 'dense' : ''}`}>\n <p>\n <slot></slot> {/* Slot for content */}\n </p>\n </div>\n );\n }\n}\n",".chip {\n display: inline-flex; /* changed from inline-block */\n align-items: center;\n padding: 3px;\n padding-left: 8px;\n font-size: 14px;\n border-radius: 16px;\n color: #333;\n cursor: pointer;\n /* border: 1px solid #393939; */\n background-color: transparent; /* Make background transparent */\n height: 26px;\n}\n\n.chip--unclickable {\n cursor: default;\n}\n\n.delete-button {\n margin-left: 12px; /* Increased spacing */\n background-color: #fff; /* light circle */\n border: none;\n border-radius: 50%; /* make it round */\n cursor: pointer;\n width: 24px; /* Increased button dimensions */\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.delete-button svg {\n width: 20px; /* Increased SVG dimensions */\n height: 20px;\n fill: #333; /* dark 'x' */\n}\n\n\n.left-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%; /* makes it round */\n width: 24px;\n height: 24px;\n margin-right: 8px; /* add some spacing between the icon and the text */\n}\n\n\n","import { Component, Prop, h, Event, EventEmitter, State, Watch } from '@stencil/core';\nimport Close16 from '@carbon/icons/es/close/16';\n\n@Component({\n tag: 'stencil-chip',\n styleUrl: 'stencil-chip.css',\n shadow: true\n})\nexport class StencilChip {\n\n @Prop() text: string;\n @Prop() color: 'primary' | 'secondary' = 'primary';\n @Prop() level: number = 0;\n @Prop() defaultToggled: boolean = false; // New Prop\n @Prop() leftIcon: any; // New Prop for Left Icon\n @Prop() showLeftIcon: boolean = false; // New Prop to control display of Left Icon\n @Prop() showDelete: boolean = true;\n @Prop() externalToggleString: string;\n @Prop() clickable: boolean = true; // New Prop to turn off click ability\n\n @Event() onDelete: EventEmitter<void>;\n @Event() onToggle: EventEmitter<boolean>; \n @Event({ bubbles: true }) udpChipClicked: EventEmitter<string>;\n\n\n\n @State() toggled: boolean;\n\n @Watch('externalToggleString')\n externalStringChanged(newValue: string) {\n if (newValue && newValue === this.text ) {\n this.toggleOff();\n }\n }\n \n\n private toggleOff() {\n if (this.toggled) {\n this.toggled = false;\n this.onToggle.emit(this.toggled); // Optionally emit an event\n }\n }\n\n // Initialize the toggle state with the default value\n componentWillLoad() {\n this.toggled = this.defaultToggled;\n }\n\n handleClick = () => {\n this.toggled = !this.toggled;\n this.udpChipClicked.emit(this.text); // emit the event when clicked\n }\n\n handleDelete = (event: Event) => {\n event.stopPropagation();\n this.onDelete.emit();\n }\n\n// Method to lighten the color based on the level\ngetLightenedColor(color: 'primary' | 'secondary', level: number): string {\n // Static HSL values for primary and secondary colors\n const hslValues = {\n primary: { hue: 156, saturation: 58, lightness: 67 }, \n secondary: { hue: 156, saturation: 58, lightness: 67 }, \n };\n\n // Retrieve the correct color values\n const { hue, saturation, lightness } = hslValues[color];\n\n // Dramatically increase the lightness based on the level to ensure a noticeable difference\n const lightnessIncrease = 15; // More substantial increase per level\n const newLightness = Math.min(100, lightness + level * lightnessIncrease);\n\n // Optional: Adjust hue for a more drastic change (future-proofing)\n const hueAdjustment = 50; // Set to non-zero to see hue changes; keep at 0 for no change\n const newHue = (hue + hueAdjustment * level) % 360; // Adjust hue based on level if needed\n\n // Construct and return the HSL color string\n return `hsl(${newHue}, ${saturation}%, ${newLightness}%)`;\n}\n\n\n\n render() {\n\n\n \n\n const additionalPaddingWhenDeleteHidden = {\n paddingRight: '8px', // Adjust this value according to your needs\n };\n\n const chipStyle = this.toggled ? {\n //backgroundColor: this.color === 'primary' ? 'var(--primary-color)' : 'var(--secondary-color)',\n backgroundColor: this.getLightenedColor(this.color, this.level),\n color: '#000',\n border: '1px solid var(--secondary-color)',\n ...(!this.showDelete ? additionalPaddingWhenDeleteHidden : {}),\n } : {\n backgroundColor: 'transparent',\n color: '#393939',\n border: '1px solid var(--secondary-color)',\n ...(!this.showDelete ? additionalPaddingWhenDeleteHidden : {}),\n }; \n\n const deleteButtonStyle = this.toggled ? {\n backgroundColor: '#fff',\n color: '#333'\n } : {\n backgroundColor: '#d3d3d3', // light grey background\n color: '#393939'\n };\n\n const leftIconStyle = this.toggled ? {\n backgroundColor: '#fff',\n color: '#333'\n } : {\n backgroundColor: 'var(--primary-color)', // Or some darker shade\n color: '#fff'\n };\n\n const leftIconData = this.leftIcon || Close16; // Fallback to Add16 if no icon is provided\n\n console.log(leftIconStyle);\n console.log(leftIconData);\n\nreturn (\n <div class={`chip${!this.clickable ? ' chip--unclickable' : ''}`} style={chipStyle} onClick={this.clickable ? this.handleClick : undefined}>\n {/* {this.leftIcon && (\n <span class=\"left-icon\" style={leftIconStyle}>\n <svg {...leftIconData.attrs} fill={leftIconStyle.color}>\n {leftIconData.content.map((item, index) => {\n if (item.elem === 'path') {\n return <path {...item.attrs} key={index} />;\n }\n return null;\n })}\n </svg>\n </span>\n )} */}\n {this.leftIcon && (\n <span class=\"left-icon\" style={leftIconStyle}>\n <svg {...leftIconData.attrs} fill={leftIconStyle.color}>\n {leftIconData.content.map((item, index) => {\n if (item.elem === 'path') {\n return <path {...item.attrs} key={index} />;\n }\n return null;\n })}\n </svg>\n </span>\n )}\n <unity-typography variant='caption-text'>\n <span class='remove-height'>{this.text}</span>\n </unity-typography>\n {this.showDelete && (\n <button class=\"delete-button\" style={deleteButtonStyle} onClick={this.handleDelete}>\n <svg {...Close16.attrs} fill={deleteButtonStyle.color}>\n {Close16.content.map((item, index) => {\n if (item.elem === 'path') {\n return <path {...item.attrs} key={index} />;\n }\n return null;\n })}\n </svg>\n </button>\n )}\n </div>\n);\n\n }\n}",".icon-button {\n background: rgb(255, 255, 255);\n /* border: 1px solid rgb(171, 177, 174); */\n border: 0px;\n border-radius: 25px; /* Changed from 50% to 25px */\n /* min-width: 110px; */\n /* height: 34px; */\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n gap: 4px;\n /* padding-right: 16px;\n padding-left: 16px; */\n padding: 10px;\n}\n\n.icon-button-secondary {\n background: transparent;\n border: 0px;\n color: var(--primary-color);\n border-radius: 25px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n gap: 4px;\n padding-right: 16px;\n padding-left: 16px;\n}\n\n.icon-button:hover {\n background: rgba(255, 255, 255, 0.539);\n}\n\n.icon-button.no-background {\n background: transparent;\n border: 0px;\n}\n\n.icon-button.no-background:hover {\n background-color: var(--primary-color-alpha-15);\n}\n\n.icon-button:disabled {\n opacity: 0.4;\n pointer-events: none;\n}\n\n.icon-button-secondary:disabled {\n opacity: 0.4;\n pointer-events: none;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'stencil-icon-button',\n styleUrl: 'stencil-icon-button.css',\n shadow: true,\n})\nexport class StencilIconButton {\n @Prop() iconName: string;\n //@Prop() onClick: () => void;\n @Prop() onClick: (event: MouseEvent) => void;\n\n @Prop() iconClassName: string;\n @Prop() tooltip: string;\n @Prop() icon: any; // Removed the default value\n @Prop() secondary: boolean = false;\n @Prop() noBackground: boolean = false;\n @Prop() noTooltip: boolean = false;\n @Prop() darkIcon: boolean = true;\n @Prop() showLabel: boolean = true;\n @Prop() disabled: boolean = false;\n @Prop() buttonId: string;\n @Prop() count : number | null = null\n\n render() {\n let buttonClass = this.secondary ? 'icon-button-secondary' : 'icon-button'; // conditional class\n let buttonStyle = this.showLabel ? {} : { paddingLeft: '10px', paddingRight: '10px' }; // conditional style\n\n // Use the 'noBackground' prop to add another conditional class\n if (this.noBackground) {\n buttonClass += ' no-background';\n }\n\n // Your existing code for setting up the icon\n const iconColor = this.darkIcon ? 'black' : 'white';\n const iconData = this.icon; // Removed the default value\n\n const Content = () =>{\n return (\n <button disabled={this.disabled} class={buttonClass} onClick={this.onClick} title={this.showLabel ? this.tooltip : null} style={buttonStyle} id={this.buttonId}>\n {/* Conditionally render the icon if one is provided */}\n {iconData && (\n <svg {...iconData.attrs} fill={iconColor}>\n {iconData.content.map((item, index) => {\n if (item.elem === 'path') {\n return <path {...item.attrs} key={index} />;\n } else if (item.elem === 'circle') {\n return <circle {...item.attrs} key={index} />;\n }\n return null;\n })}\n </svg>\n )}\n {this.showLabel && <slot></slot>}\n </button>\n )\n }\n return (\n <udp-ambient-tool-tip content={this.showLabel ? '' : this.tooltip} noTooltip={this.noTooltip}>\n { this.count ? (\n <udp-badge content={this.count}>\n <Content/>\n </udp-badge>\n ) : (\n <Content/>\n )\n }\n </udp-ambient-tool-tip>\n );\n }\n}\n",".icon-button {\n background: rgb(255, 255, 255);\n /* border: 1px solid rgb(171, 177, 174); */\n border: 0px;\n border-radius: 25px; /* Changed from 50% to 25px */\n /* min-width: 110px; */\n /* height: 34px; */\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n gap: 4px;\n /* padding-right: 16px;\n padding-left: 16px; */\n padding: 10px;\n }\n \n .icon-button-secondary {\n background: transparent; \n border: 0px;\n color: var(--primary-color);\n border-radius: 25px;\n height: 34px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n gap: 4px;\n padding-right: 16px;\n padding-left: 16px;\n }\n \n .icon-button.no-background {\n background: transparent;\n border: 0px;\n }\n\n button{\n position: relative;\n }\n\n button[title]:not([title=\"Save View\"]):not([title='']):hover:after{\n content: attr(title);\n background-color: black;\n color:white;\n position:absolute;\n top:110%;\n padding: 5px;\n border-radius: 5px;\n z-index: 10;\n }","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'stencil-icon-button-grid-action-header',\n styleUrl: 'stencil-icon-button-grid-action-header.css',\n shadow: true,\n})\nexport class StencilIconButton {\n @Prop() iconName: string;\n //@Prop() onClick: () => void;\n @Prop() onClick: (event: MouseEvent) => void;\n @Prop() iconClassName: string;\n @Prop() tooltip: string;\n @Prop() icon: any; // Removed the default value\n @Prop() secondary: boolean = false;\n @Prop() noBackground: boolean = false;\n @Prop() darkIcon: boolean = true;\n @Prop() showLabel: boolean = true;\n @Prop() count: number | null = null\n\n render() {\n let buttonClass = this.secondary ? 'icon-button-secondary' : 'icon-button'; // conditional class\n let buttonStyle = this.showLabel ? {} : { paddingLeft: '10px', paddingRight: '10px' }; // conditional style\n\n // Use the 'noBackground' prop to add another conditional class\n if (this.noBackground) {\n buttonClass += ' no-background';\n }\n\n // Your existing code for setting up the icon\n let iconColor = this.darkIcon ? 'black' : 'white';\n iconColor = this.tooltip.toLowerCase() === 'save view' ? '#1d6bfd' : iconColor;\n const iconData = this.icon; // Removed the default value\n\n // ToolTip style is being modified in the CSS under title\n\n const Content = () =>{\n return (\n <button class={buttonClass} onClick={this.onClick} title={this.showLabel ? '' : this.tooltip} style={buttonStyle}>\n {/* Conditionally render the icon if one is provided */}\n {iconData && (\n <svg {...iconData.attrs} fill={iconColor}>\n {iconData.content.map((item, index) => {\n if (item.elem === 'path') {\n return <path {...item.attrs} key={index} />;\n }\n return null;\n })}\n </svg>\n )}\n {/* Render slot conditionally based on showLabel */}\n {this.showLabel\n ? !['grid options', 'clear grid'].includes(this.tooltip.toLocaleLowerCase()) && <slot></slot>\n : (this.showLabel || this.tooltip.toLowerCase() === 'save view') && <slot></slot>}\n </button>\n )\n }\n return ( \n this.count ? (\n <udp-badge content={this.count}>\n <Content/>\n </udp-badge>\n ) : (\n <Content/>\n ))\n \n }\n}\n","@import '../inputs.css';\n\n/* Size variants for toggle sizing */\n:host(.udp-input--size-small) .toggle-container {\n width: 32px;\n height: 18px;\n}\n\n:host(.udp-input--size-small) button {\n border-radius: 18px;\n}\n\n:host(.udp-input--size-small) .toggle-knob {\n width: 14px;\n height: 14px;\n top: 2px;\n left: 2px;\n}\n\n:host(.udp-input--size-small) .toggled .toggle-knob {\n left: 16px;\n}\n\n:host(.udp-input--size-normal) .toggle-container {\n width: 38px;\n height: 22px;\n}\n\n:host(.udp-input--size-normal) button {\n border-radius: 22px;\n}\n\n:host(.udp-input--size-normal) .toggle-knob {\n position: absolute;\n top: 2px;\n left: 2px;\n width: 18px;\n height: 18px;\n}\n\n:host(.udp-input--size-normal) .toggled .toggle-knob {\n left: 18px;\n}\n\n:host(.udp-input--size-large) .toggle-container {\n width: 44px;\n height: 26px;\n}\n\n:host(.udp-input--size-large) button {\n border-radius: 26px;\n}\n\n:host(.udp-input--size-large) .toggle-knob {\n width: 22px;\n height: 22px;\n top: 2px;\n left: 2px;\n}\n\n:host(.udp-input--size-large) .toggled .toggle-knob {\n left: 20px;\n}\n\n.toggle-container {\n position: relative;\n display: inline-block;\n}\n\nbutton {\n appearance: none;\n background-color: var(--gray-04, #ccc);\n width: 100%;\n height: 100%;\n position: relative;\n outline: none;\n border: none;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n\n.toggled button {\n background-color: var(--primary-color, #344861);\n}\n\n.toggle-knob {\n position: absolute;\n background-color: var(--white, #ffffff);\n border-radius: 50%;\n transition: left 0.2s ease;\n}\n\n/* Size variants for label spacing */\n:host(.udp-input--size-small) .label-left {\n margin-right: var(--spacing-02);\n}\n\n:host(.udp-input--size-small) .label-right {\n margin-left: var(--spacing-02);\n}\n\n:host(.udp-input--size-small) .label-bottom {\n margin-top: var(--spacing-02);\n}\n\n:host(.udp-input--size-normal) .label-left {\n margin-right: var(--spacing-03);\n}\n\n:host(.udp-input--size-normal) .label-right {\n margin-left: var(--spacing-03);\n}\n\n:host(.udp-input--size-normal) .label-bottom {\n margin-top: var(--spacing-03);\n}\n\n:host(.udp-input--size-large) .label-left {\n margin-right: var(--spacing-04);\n}\n\n:host(.udp-input--size-large) .label-right {\n margin-left: var(--spacing-04);\n}\n\n:host(.udp-input--size-large) .label-bottom {\n margin-top: var(--spacing-04);\n}\n\n.toggle-wrapper {\n display: flex;\n align-items: center;\n}\n\n.toggle-wrapper.position-left {\n flex-direction: row;\n}\n\n.toggle-wrapper.position-right {\n flex-direction: row;\n}\n\n.toggle-wrapper.position-bottom {\n flex-direction: column;\n align-items: flex-start;\n}\n\n.toggle-label {\n font-size: var(--caption-font-size, 0.875rem);\n}\n\n.label-left {\n margin-right: var(--spacing-03);\n}\n\n.label-right {\n margin-left: var(--spacing-03);\n}\n\n.label-bottom {\n margin-top: var(--spacing-03);\n}\n","import { Component, Prop, State, h, Host, Event, EventEmitter, Watch, Element } from '@stencil/core';\nimport { InputMargin, InputSize } from '../input-types';\n\n/**\n * A standardized toggle/switch component with customizable positioning and comprehensive state management.\n * Supports both controlled and uncontrolled modes with proper accessibility features and standard DOM events.\n *\n * **Toggle States:**\n * - Uses boolean internal state with string value emission for form compatibility\n * - Accepts various string formats for initial values ('true', '1', 'on')\n * - Emits string values ('true'/'false') for consistent form integration\n *\n * **Accessibility:**\n * - Proper ARIA attributes (role=\"switch\", aria-checked, aria-labelledby)\n * - Keyboard navigation support\n * - Semantic label association with htmlFor attribute\n *\n * @example\n * ```tsx\n * // Uncontrolled component with initial value\n * <stencil-toggle\n * label=\"Enable notifications\"\n * initialValue=\"false\"\n * onChange={(e) => console.log('Toggled:', e.detail)}\n * />\n *\n * // Controlled component\n * <stencil-toggle\n * label=\"Dark mode\"\n * checked={isDarkMode}\n * onChange={(e) => setIsDarkMode(e.detail === 'true')}\n * />\n *\n * // With custom positioning and validation\n * <stencil-toggle\n * label=\"Accept terms\"\n * labelPosition=\"right\"\n * required={true}\n * error={termsError}\n * checked={acceptTerms}\n * onChange={handleTermsChange}\n * />\n * ```\n */\n@Component({\n tag: 'stencil-toggle',\n styleUrl: 'stencil-toggle.css',\n shadow: true,\n})\nexport class StencilToggle {\n @Element() el: HTMLElement;\n\n @State() toggled: boolean = false;\n\n /**\n * Initial value for the toggle. Used for uncontrolled components to set the default state.\n * Accepts string values: 'true', '1', 'on' for true state, anything else for false.\n * Only used when `checked` prop is not provided.\n */\n @Prop() initialValue: string;\n\n /**\n * Current checked state of the toggle. When provided, makes this a controlled component.\n * The component will use this value and update it through events.\n */\n @Prop({ mutable: true }) checked: boolean;\n\n /**\n * Label text displayed next to the toggle. Used for accessibility and user guidance.\n */\n @Prop() label: string;\n\n /**\n * Position of the label relative to the toggle switch.\n * - 'left': Label appears to the left of the toggle (default)\n * - 'right': Label appears to the right of the toggle\n * - 'bottom': Label appears below the toggle\n */\n @Prop() labelPosition: 'left' | 'right' | 'bottom' = 'left';\n\n /**\n * Whether the toggle is disabled. Users cannot interact with the toggle when disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Legacy ID property for the toggle element. Use `id` prop instead for new implementations.\n * @deprecated Use the standard `id` prop instead\n */\n @Prop() idItem: string;\n\n /**\n * Unique identifier for the toggle element. Used for form association and accessibility.\n */\n @Prop() id: string;\n\n /**\n * Name attribute for the toggle element. Used for form submission.\n */\n @Prop() name: string;\n\n /**\n * Error message to display below the toggle. Shows validation errors or other issues.\n */\n @Prop() error: string;\n\n /**\n * Whether the toggle is required for form submission. Adds visual indicator and validation.\n */\n @Prop() required: boolean;\n\n /**\n * Margin spacing around the component. Affects vertical spacing in form layouts.\n * - 'none': No margin\n * - 'dense': Reduced margin for compact layouts\n * - 'normal': Standard margin spacing (default)\n */\n @Prop() margin: InputMargin = 'normal';\n\n /**\n * Size variant for the toggle component.\n * - 'small': Smaller toggle size.\n * - 'normal': Standard toggle size (default).\n * - 'large': Larger toggle size.\n */\n @Prop() size: InputSize = 'normal';\n\n @State() errorMessage: string;\n\n /**\n * Emitted when the toggle state changes through user interaction.\n * Contains the new state as a string value ('true' or 'false') for form compatibility.\n * @deprecated Use standard 'change' event instead for better integration\n */\n @Event() toggledChange: EventEmitter;\n\n // Static counter to ensure unique IDs for generated fallbacks\n private static S_TOGGLE_ID_COUNTER = 0;\n // Internally generated ID if no idItem is provided\n private _internalId: string;\n\n /**\n * Watcher for the error prop. Updates the internal error message when the error prop changes.\n */\n @Watch('error')\n updateError() {\n this.errorMessage = this.error;\n }\n\n /**\n * Watcher for the initialValue prop. Updates the toggle state when initialValue changes\n * (useful for form resets, dynamic initial values, etc.).\n * @param newValue - The new initial value\n */\n @Watch('initialValue')\n initialValueChanged(newValue: string) {\n // Update toggled when initialValue changes (for form resets, etc.)\n if (newValue !== undefined) {\n this.toggled = newValue === 'true' || newValue === '1' || newValue === 'on';\n }\n }\n\n /**\n * Watcher for the checked prop. Updates the toggle state when the checked prop changes\n * (controlled component behavior).\n */\n @Watch('checked')\n checkedChanged() {\n // Backward compatibility: if checked prop is set directly, use it\n if (this.checked !== undefined && this.checked !== this.toggled) {\n this.toggled = this.checked;\n }\n }\n\n /**\n * Component lifecycle method called when the component is about to load.\n * Initializes the toggle state from either the checked prop or initialValue prop.\n */\n componentWillLoad() {\n // Initialize toggled from initialValue or checked prop (backward compatibility)\n if (this.initialValue !== undefined) {\n this.toggled = this.initialValue === 'true' || this.initialValue === '1' || this.initialValue === 'on';\n } else {\n this.toggled = this.checked || false;\n }\n\n if (this.error) {\n this.errorMessage = this.error;\n }\n\n // Generate a unique ID for the toggle instance if idItem is not provided.\n // This ensures the label's htmlFor can always link to the button's id.\n this._internalId = `stencil-toggle-generated-${StencilToggle.S_TOGGLE_ID_COUNTER++}`;\n }\n\n /**\n * Legacy lifecycle method - no longer needed with current state management.\n * @deprecated This method is no longer used\n */\n componentWillUpdate() {\n // Remove this since we're handling state differently now\n }\n\n /**\n * Handles toggle button clicks and keyboard interactions.\n * Updates internal state and emits both legacy and standard DOM events.\n */\n toggleButton() {\n if (this.disabled) return;\n\n this.toggled = !this.toggled;\n\n // Update controlled value if this is a controlled component\n if (this.checked !== undefined) {\n this.checked = this.toggled;\n }\n\n // Emit for backward compatibility\n this.toggledChange.emit(this.toggled);\n\n // Emit standard DOM events that stencil-field and form libraries can handle\n const changeEvent = new CustomEvent('change', {\n detail: this.toggled ? 'true' : 'false',\n bubbles: true\n });\n this.el.dispatchEvent(changeEvent);\n\n const inputEvent = new CustomEvent('input', {\n detail: this.toggled ? 'true' : 'false',\n bubbles: true\n });\n this.el.dispatchEvent(inputEvent);\n }\n\n /**\n * Renders the toggle component with proper accessibility attributes and layout.\n * Handles label positioning and generates unique IDs for form association.\n */\n render() {\n // Use the provided idItem, id, or fall back to the internally generated ID\n const baseId = this.idItem || this.id || this._internalId;\n const buttonId = `${baseId}-button`;\n const labelId = `${baseId}-label`;\n const isError = !!this.errorMessage;\n\n const labelElement = this.label && (\n <label id={labelId} class={`toggle-label label-${this.labelPosition}`} htmlFor={!this.disabled ? buttonId : undefined}>\n <unity-typography variant=\"caption-text\">{this.label}</unity-typography>\n </label>\n );\n\n const toggleElement = (\n <div class={`toggle-container ${this.toggled ? 'toggled' : ''}`}>\n <button\n id={buttonId}\n onClick={() => this.toggleButton()}\n disabled={this.disabled}\n aria-checked={this.toggled.toString()}\n aria-labelledby={labelId}\n role=\"switch\"\n >\n <span class=\"toggle-knob\"></span>\n </button>\n </div>\n );\n\n return (\n <Host\n class={{\n 'udp-input': true,\n 'udp-input--error': isError,\n 'udp-input--disabled': this.disabled,\n 'udp-input--checked': this.toggled,\n [`udp-input--margin-${this.margin}`]: true,\n [`udp-input--size-${this.size}`]: true,\n }}\n aria-invalid={isError ? 'true' : 'false'}\n >\n <div class={`toggle-wrapper position-${this.labelPosition}`}>\n {this.labelPosition === 'left' && labelElement}\n {toggleElement}\n {this.labelPosition === 'right' && labelElement}\n {this.labelPosition === 'bottom' && labelElement}\n {this.errorMessage && <div class=\"error-message\">{this.errorMessage}</div>}\n </div>\n </Host>\n );\n }\n}\n","@import '../inputs.css';","import {\n Component,\n Prop,\n h,\n Host,\n State,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { InputSize, InputMargin } from '../input-types';\n\n/**\n * A standardized text input field component with error handling, validation, and custom styling.\n * Supports both controlled and uncontrolled modes with proper event emission for integration\n * with form libraries and custom event handlers.\n *\n * @example\n * ```tsx\n * // Uncontrolled component with initial value\n * <text-field\n * placeholder=\"Enter your name\"\n * initialValue=\"John Doe\"\n * onChange={(e) => console.log('Final value:', e.detail)}\n * />\n *\n * // Controlled component\n * <text-field\n * placeholder=\"Enter your name\"\n * value={nameValue}\n * onChange={(e) => setNameValue(e.detail)}\n * />\n *\n * // With validation and error handling\n * <text-field\n * label=\"Email Address\"\n * placeholder=\"user@example.com\"\n * required={true}\n * error={emailError}\n * value={email}\n * onChange={handleEmailChange}\n * />\n * ```\n */\n@Component({\n tag: 'text-field',\n styleUrl: 'text-field.css',\n shadow: true,\n})\nexport class TextField {\n /**\n * Unique identifier for the input element. Used for form association and accessibility.\n */\n @Prop() id: string;\n\n /**\n * Label text displayed above the input field. Used for accessibility and user guidance.\n */\n @Prop() label: string;\n\n /**\n * Placeholder text shown when the input is empty. Provides hints about expected input format.\n */\n @Prop() placeholder: string;\n\n /**\n * Whether the field is required for form submission. Adds visual indicator (*) and validation.\n */\n @Prop() required: boolean;\n\n /**\n * Whether the field is read-only. Users can see the value but cannot modify it.\n */\n @Prop() readonly: boolean;\n\n /**\n * Whether the field is disabled. Users cannot interact with the field.\n */\n @Prop() disabled: boolean;\n\n /**\n * Maximum number of characters allowed in the input. Enforces character limits.\n */\n @Prop() maxCharacter: number;\n\n /**\n * Current value of the input field. When provided, makes this a controlled component.\n * The component will use this value and update it through events.\n */\n @Prop({ mutable: true }) value: string;\n\n /**\n * Initial value for the input field. Used for uncontrolled components to set the default value.\n * Only used when `value` prop is not provided.\n */\n @Prop() initialValue: string;\n\n /**\n * Whether the field should be hidden from display while maintaining form functionality.\n */\n @Prop() hidden: boolean;\n\n /**\n * Error message to display below the input field. Shows validation errors or other issues.\n */\n @Prop() error: string = '';\n\n /**\n * Input mode hint for mobile keyboards. Optimizes keyboard layout for specific input types.\n * Common values: 'text', 'email', 'tel', 'url', 'numeric', 'decimal', 'search'\n */\n @Prop() inputMode: string;\n\n /**\n * Size variant controlling the padding and spacing of the input.\n * - 'small': Compact spacing for data-heavy interfaces\n * - 'normal': Standard spacing (default)\n * - 'large': Generous spacing for accessibility\n */\n @Prop() size: InputSize = 'normal';\n\n /**\n * Margin variant for the input spacing.\n * - 'none': No margin\n * - 'dense': Minimal margin spacing\n * - 'normal': Standard margin spacing (default)\n */\n @Prop() margin: InputMargin = 'normal';\n\n /**\n * Internal error message state. Manages display of validation errors.\n * @internal\n */\n @State() errorMessage: string;\n\n /**\n * Internal value state. Manages the current input value independently of props.\n * @internal\n */\n @State() internalValue: string;\n\n /**\n * Emitted when the text field value changes (on blur, enter, etc.).\n * Provides the final committed value when user finishes editing.\n *\n * @event change\n * @param {string} value - The current value of the text field\n *\n * @example\n * ```tsx\n * <text-field onChange={(e) => handleValueChange(e.detail)} />\n * ```\n */\n @Event() change: EventEmitter<string>;\n\n /**\n * Updates the error message when the error prop changes.\n * @internal\n */\n @Watch('error')\n updateError() {\n this.errorMessage = this.error;\n }\n\n /**\n * Updates the internal value when initialValue prop changes.\n * Only updates if current value is empty to avoid overriding user input.\n * @internal\n */\n @Watch('initialValue')\n updateInitialValue() {\n // Only update if we don't have a value yet or if explicitly resetting\n if (this.internalValue === '' || this.internalValue === undefined) {\n this.internalValue = this.initialValue || '';\n }\n }\n\n /**\n * Updates the internal value when value prop changes.\n * For controlled components, the value prop takes precedence.\n * @internal\n */\n @Watch('value')\n updateValue() {\n // If value prop is provided, this is a controlled component\n if (this.value !== undefined) {\n this.internalValue = this.value;\n }\n }\n\n /**\n * Component lifecycle method. Initializes error message and internal value.\n * @internal\n */\n componentWillLoad() {\n // Initialize error message\n if (this.error) {\n this.errorMessage = this.error;\n }\n // Initialize value: use value prop if provided (controlled), otherwise use initialValue (uncontrolled)\n this.internalValue = this.value !== undefined ? this.value : (this.initialValue || '');\n }\n\n /**\n * Handles input events (real-time typing). Updates internal state and emits input event.\n * For controlled components, also updates the value prop.\n * @param event - The native input event\n * @internal\n */\n private onInput = (event: InputEvent) => {\n if (this.readonly) {\n // Prevent typing if the field is read-only\n const input = event.target as HTMLInputElement;\n input.value = this.internalValue;\n return;\n }\n const newValue = (event.target as HTMLInputElement).value;\n this.internalValue = newValue; // Update internal state\n\n // If this is a controlled component (value prop provided), update the value prop\n if (this.value !== undefined) {\n this.value = newValue;\n }\n }\n\n /**\n * Handles change events (committed changes on blur/enter). Emits change event.\n * @param event - The native change event\n * @internal\n */\n private onChange = (event: Event) => {\n if (this.readonly) {\n return;\n }\n const newValue = (event.target as HTMLInputElement).value;\n // Emit change event when user finishes editing (blur, enter, etc.)\n this.change.emit(newValue);\n }\n\n render() {\n const isError = !!this.errorMessage;\n\n const inputClass = {\n 'bx--text-input': true,\n 'bx--text-input--error': isError,\n 'bx--text-input:user-invalid': isError,\n 'text-field--disabled': this.disabled,\n };\n return (\n <Host\n class={{\n 'udp-input': true,\n 'udp-input--error': isError,\n 'udp-input--disabled': this.disabled,\n 'udp-input--readonly': this.readonly,\n 'udp-input--required': this.required,\n }}\n aria-invalid={isError ? 'true' : 'false'}\n aria-required={this.required ? 'true' : 'false'}\n >\n <div class=\"bx--form-item\">\n <unity-typography variant=\"caption-text\">\n <label htmlFor={this.id} class=\"bx--label\">\n {this.label}\n {this.required ? '*' : ''}\n </label>\n </unity-typography>\n {this.hidden ? (\n <input id={this.id} type=\"hidden\" value={this.internalValue} />\n ) : (\n <input\n id={this.id}\n type=\"text\"\n class={{ ...inputClass }}\n placeholder={this.placeholder}\n value={this.internalValue}\n required={this.required}\n disabled={this.disabled}\n readonly={this.readonly}\n maxLength={this.maxCharacter}\n inputMode={this.inputMode}\n onInput={this.onInput}\n onChange={this.onChange}\n //@ts-ignore\n udprecordid={'udpRecord-text-field-' + this.id}\n />\n )}\n {isError && (\n <div class=\"error-message\">\n <unity-typography variant=\"caption-text\" color=\"error\">{this.errorMessage}</unity-typography>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n",".tree-item {\n display: flex;\n\n border-bottom: 1px solid rgba(0,0,0,.12);\n padding-bottom: 8px;\n margin-bottom: 6px;\n}\n\n.label {\n flex: 1;\n padding-left: 8px;\n}\n\n.arrow-icon {\n cursor: pointer;\n font-size: 20px; /* Adjust size as needed */\n}\n\n.tree-item-label {\n display: flex;\n /* align-items: center; */\n justify-content: space-between; /* Aligns children at opposite ends */\n width: 100%; /* Ensures the container takes the full width */\n gap: 16px\n}\n\n.tree-label-select {\n flex: 1;\n /* align-items: center; */\n display: flex;\n /* padding-top: 6px; */\n padding-right: 8px;\n align-items: center;\n}\n\n.tree-item {\n border-bottom: 1px solid rgba(0,0,0,.12);\n padding-bottom: 8px;\n margin-bottom: 6px;\n}\n\n.tree-item-label {\n display: flex; \n width: 100%;\n cursor: pointer;\n}\n\n.nested-list {\n margin-left: 20px; \n}\n\n.label-icon-container {\n display: flex;\n align-items: center; \n border-bottom: 1px solid rgba(0,0,0,.12);\n padding: 4px;\n}\n\n/* .tree-label-select {\n \n} */\n\n\n[level=\"1\"] .nested-list { margin-left: 10px; }\n[level=\"2\"] .nested-list { margin-left: 20px; }\n[level=\"3\"] .nested-list { margin-left: 30px; }\n[level=\"4\"] .nested-list { margin-left: 40px; }\n[level=\"5\"] .nested-list { margin-left: 50px; }\n[level=\"6\"] .nested-list { margin-left: 60px; }\n","import { Component, Prop, Event, EventEmitter, h, State, Watch, forceUpdate } from '@stencil/core';\n\n\n@Component({\n tag: 'tree-list-item',\n styleUrl: 'tree-list-item.css',\n shadow: true\n})\n\nexport class TreeListItem {\n @Prop() label: string;\n @Prop() reference: string | null;\n @Prop() nestedItems?: any[];\n @State() showNested: boolean = false;\n @Prop() level: number = 0;\n @Event() itemClick: EventEmitter<{ searchField: string, searchOperator: string, searchValue: string, parentName?: string, parentPath?: string }>;\n @Prop() parentFilter: any; \n @Prop() parentPath: string;\n @Prop() parentName: string = 'defaultParentName';\n @State() showChildren: boolean = false;\n @State() updateTrigger: boolean = false;\n @Prop() customAttribute: string; // New property added\n @Prop() test: string; // New property added\n @Prop() parent: string; // New property added\n @Prop() dataOne: string; // New property added\n @Prop() dataTwo: string; // New property added\n @Prop() statusKey: string;\n @Prop() statusClasses: { [key: string]: string };\n @Prop() statusLabel: string;\n @Prop() statusValue: boolean;\n @Prop() showViewOption: boolean = false; \n @Prop() showDeleteOption: boolean = false; \n @Prop() showEditOption: boolean = false; \n @Prop() showUpdateDefaultOption: boolean = false; \n @Prop() showAdd: boolean = true; \n @Prop() viewHandler: (event: MouseEvent) => void;\n @Prop() deleteHandler: (event: MouseEvent) => void;\n @Prop() editHandler: (event: MouseEvent) => void;\n @Prop() updateDefaultHandler: (event: MouseEvent) => void;\n @Prop() isDefault: boolean = false; \n @Prop() add: boolean = false;\n @Prop() gridViewVisibilityTypeId : number;\n \n@Watch('nestedItems')\nnestedItemsChanged(newValue: any[], oldValue: any[]) { \n if (newValue !== oldValue) {\n console.log('Nested items have changed');\n // Perform necessary actions or state updates based on the new value \n forceUpdate(this); \n }\n}\n\n @Event({\n eventName: 'reference-clicked',\n bubbles: true,\n composed: true,\n cancelable: true,\n }) referenceClicked: EventEmitter<{ reference: string, name: string, parentReference?: string, parentFilter?: string, parent?: string, parentPath?: string }>;\n \n\n// componentWillRender() {\n// console.log('Rendering TreeListItem:', this.label, 'Nested Items:', this.nestedItems);\n// }\n\n \n private handleButtonClick = (event: MouseEvent) => {\n this.showChildren = !this.showChildren;\n event.stopPropagation();\n if (this.reference) {\n this.showNested = !this.showNested;\n this.updateTrigger = !this.updateTrigger;\n this.referenceClicked.emit({\n reference: this.reference,\n name: this.label,\n parentReference: this.parentName,\n parentFilter: this.parentFilter,\n parent: this.parent,\n parentPath: this.parentPath\n });\n forceUpdate(this);\n } \n } \n \n \nprivate onSelfClick = () => {\n \n if (!this.reference) {\n this.itemClick.emit({\n searchField: this.label,\n searchOperator: \"\", \n searchValue: \"\", \n parentName: this.parentName,\n parentPath: this.parentPath\n });\n } else {\n // Handle the case for items with children\n }\n};\n\n// private someOtherHandler = (event: MouseEvent) => {\n// event.stopPropagation();\n// console.log('someOtherHandler called');\n// }\n\n\nprivate handleViewClick = (event: MouseEvent) => {\n event.stopPropagation();\n if (this.viewHandler) {\n this.viewHandler(event);\n }\n}\n\n\nprivate handleDeleteClick = (event: MouseEvent) => {\n event.stopPropagation();\n if (this.deleteHandler) {\n this.deleteHandler(event);\n }\n}\n\nprivate handleEditClick = (event: MouseEvent) => {\n event.stopPropagation();\n if (this.editHandler) {\n this.editHandler(event);\n }\n}\n\nprivate handleUpdateDefaultClick = (event: MouseEvent) => {\n event.stopPropagation();\n if (this.updateDefaultHandler) {\n this.updateDefaultHandler(event);\n }\n}\n\n\nrender() {\n \n const indentationStyle = { 'marginLeft': `${this.level * 20}px` };\n\n // Recursive function to render nested items\n const renderNestedItems = (nestedItems, currentLevel) => {\n \n return nestedItems.map((item, index) => (\n \n <tree-list-item\n key={`${item.name}-${currentLevel}-${index}`}\n label={item.name}\n reference={item.reference}\n nestedItems={item.referenceNode} // Pass the nested items for further recursion\n level={currentLevel + 1} // Increment the level for each nested item\n parentName={this.label}\n parentFilter={item.extendedProperties?.parentFilter}\n parent={item.extendedProperties?.parent}\n parentPath={item.extendedProperties?.parentPath}\n onReference-clicked={(event: CustomEvent<{ reference: string; name: string; parentReference?: string; parentFilter?: string, parent?: string; parentPath?: string }>) => {\n event.stopPropagation();\n // Emitting referenceClicked event with detailed payload\n this.referenceClicked.emit({\n reference: event.detail.reference,\n name: event.detail.name,\n parentReference: this.label,\n parentFilter: event.detail.parentFilter,\n parent: event.detail.parent,\n parentPath: event.detail.parentPath\n });\n }}\n />\n ));\n }; \n \n return (\n <div class=\"tree-list-item\" style={indentationStyle}>\n <div class=\"label-icon-container\" onClick={this.onSelfClick}>\n <div class=\"tree-label-select\">\n <unity-typography variant='data-display-three'>{this.label}</unity-typography>\n </div>\n {/* Conditionally rendered buttons alongside the label */}\n {this.gridViewVisibilityTypeId && <status-chip statusClasses={{\"Private\" : \"error\", \"Public\" : \"success\" }} statusValue={this.gridViewVisibilityTypeId === 1 ? \"Private\" : \"Public\"}>{this.gridViewVisibilityTypeId === 1 ? \"Private\" : \"Public\"}</status-chip>}\n {this.showEditOption && <udp-function-button edit onClick={this.handleEditClick}>Edit</udp-function-button>}\n {this.showDeleteOption && <udp-function-button delete onClick={this.handleDeleteClick}>Delete</udp-function-button>}\n {this.showUpdateDefaultOption && <udp-function-button isDefault={this.isDefault} onClick={this.handleUpdateDefaultClick}>Make Default</udp-function-button>}\n {this.showViewOption && <udp-function-button view onClick={this.handleViewClick}>Other Action</udp-function-button>}\n {this.reference ? (\n <udp-function-button expand={true} noBackground onClick={this.handleButtonClick}>Details</udp-function-button>\n ) : (\n this.showAdd && <udp-function-button add={true}></udp-function-button>\n )}\n </div>\n {this.showNested && this.nestedItems && (\n <div class=\"nested-list\">\n {renderNestedItems(this.nestedItems, this.level)}\n </div>\n )}\n </div>\n );\n \n \n}\n\n\n}",".tooltip-wrapper {\n position: relative;\n display: inline-block;\n}\n\n.tooltip-content {\nvisibility: hidden;\nbackground-color: #000;\ncolor: #fff;\ntext-align: center;\nborder-radius: 4px;\nposition: absolute;\nz-index: 99;\ntransform: translateY(-20px);\ntransform: translateX(-50px);\npadding: 5px;\ncursor: pointer;\n/* more styles here, matching Carbon Design System */\n}\n\n.tooltip-wrapper:hover .tooltip-content {\nvisibility: visible;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'udp-ambient-tool-tip',\n styleUrl: 'udp-ambient-tool-tip.css',\n shadow: true,\n})\nexport class UdpAmbientToolTip {\n\n @Prop() content: string;\n @Prop() noTooltip: boolean\n @State() isVisible: boolean = false;\n\n handleMouseOver = () => {\n // Only set isVisible to true if there is content.\n if (this.content && this.content.trim() !== '') {\n this.isVisible = true;\n }\n }\n\n handleMouseOut = () => {\n this.isVisible = false;\n }\n\n render() {\n // Check if content is provided before rendering the tooltip content.\n const shouldDisplayTooltip = this.isVisible && this.content && this.content.trim() !== '';\n\n return (\n <div class=\"tooltip-wrapper\" onMouseOver={!this.noTooltip &&this.handleMouseOver} onMouseOut={this.handleMouseOut}>\n {shouldDisplayTooltip && (\n <div class=\"tooltip-content\">\n <unity-typography variant='caption-text'>{this.content}</unity-typography>\n </div>\n )}\n <slot></slot>\n </div>\n );\n }\n}\n",".avatar {\n width: 35px;\n height: 35px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-weight: bold;\n }\n\n .avatar.circular {\n border-radius: 50%;\n }\n \n .avatar.rounded {\n border-radius: 4px;\n }\n \n .avatar.square {\n border-radius: 0;\n }\n \n .avatar.color-primary {\n background-color: var(--primary-color);\n }\n \n .avatar.color-secondary {\n background-color: var(--secondary-color);\n }\n \n .avatar.color-success {\n background-color: var(--success-color-main);\n }\n \n .avatar.color-warning {\n background-color: var(--warning-color-main);\n }\n \n .avatar.color-error {\n background-color: var(--error-color-main);\n }\n \n .avatar.color-info {\n background-color: var(--info-color-main);\n }\n \n .avatar.color-note {\n background-color: var(--note-color-main);\n }\n ","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'udp-avatar',\n styleUrl: 'udp-avatar.css',\n shadow: true,\n})\nexport class UdpAvatar {\n @Prop() username: string;\n @Prop() iconName: string;\n @Prop() variant: 'circular' | 'rounded' | 'square' = 'circular';\n @Prop() color: string;\n\n private colors = [\n '#F44336',\n '#E91E63',\n '#9C27B0',\n '#673AB7',\n '#3F51B5',\n '#2196F3',\n '#03A9F4',\n '#00BCD4',\n '#009688',\n '#4CAF50',\n '#8BC34A',\n '#CDDC39',\n '#FFC107',\n '#FF9800',\n '#FF5722',\n '#795548',\n ];\n\n getInitial() {\n return this.username ? this.username[0].toUpperCase() : '?';\n }\n\n private getColorForUsername() {\n const charCode = this.username ? this.username.charCodeAt(0) : 0;\n return this.colors[charCode % this.colors.length];\n }\n\n render() {\n const systemColors = ['primary', 'secondary', 'info', 'error', 'success', 'warning', 'note'];\n const isSystemColor = systemColors.includes(this.color);\n\n const style = {};\n const classes = ['avatar', this.variant];\n\n if (isSystemColor) {\n classes.push(`color-${this.color}`);\n } else if (this.color) {\n style['background-color'] = this.color;\n } else {\n style['background-color'] = this.getColorForUsername();\n }\n\n return (\n <div class={classes.join(' ')} style={style}>\n {this.iconName ? <udp-icon iconName={this.iconName} darkIcon={false}></udp-icon> : <unity-typography variant=\"data-display-two\"> {this.getInitial()}</unity-typography>}\n </div>\n );\n }\n}\n",".badge-wrapper {\n position: relative;\n display: inline-block;\n }\n \n .badge-content {\n position: absolute;\n top: -12px;\n right: -8px;\n background-color: var(--primary-color);\n color: white;\n border-radius: 50%;\n padding: 4px;\n min-width: 18px;\n text-align: center;\n z-index: 1;\n }\n ","import { Component, h, Prop } from '@stencil/core';\nimport './udp-badge.css';\n\n@Component({\n tag: 'udp-badge',\n styleUrl: 'udp-badge.css',\n shadow: true,\n})\nexport class UdpBadge {\n @Prop() content: number = 0;\n @Prop() max: number = 99;\n\n render() {\n const displayContent =\n this.content > this.max ? `${this.max}+` : this.content;\n\n return (\n <div class=\"badge-wrapper\">\n <slot></slot>\n <span class=\"badge-content\">\n <unity-typography variant='caption-text' > {displayContent} </unity-typography>\n \n </span>\n </div>\n );\n }\n}\n",":host {\n display: inline-flex;\n vertical-align: middle;\n --udp-button-primary-color: var(--primary-color, #000);\n --udp-button-primary-color-text: var(--primary-contrast-text, #fff);\n --udp-button-secondary-color: var(--secondary-color, #000);\n --udp-button-secondary-color-text: var(--secondary-contrast-text, #fff);\n --udp-button-success-color: var(--success-color, #0da40d);\n --udp-button-success-color-text: var(--success-contrast-text, #fff);\n --udp-button-error-color: var(--error-color, #ff0000);\n --udp-button-error-color-text: var(--error-contrast-text, #fff);\n --udp-button-warning-color: var(--warning-color, #ffa500);\n --udp-button-warning-color-text: var(--warning-contrast-text, #fff);\n --udp-button-info-color: var(--info-color, #2953ff);\n --udp-button-info-color-text: var(--info-contrast-text, #fff);\n\n /* Define base padding variables */\n --host-udp-btn-padding-y: var(--spacing-03);\n --host-udp-btn-padding-x: var(--spacing-05);\n --host-udp-btn-padding-x-with-start-icon: var(--spacing-03);\n --host-udp-btn-padding-x-with-end-icon: var(--spacing-03);\n}\n\n \n/* Base styles for udp-button */\n.udp-button {\n width: 100%;\n font-family: var(--font-family);\n /* font-weight: var(--button-font-weight); */\n font-size: var(--button-font-size);\n line-height: var(--button-line-height);\n /* padding: var(--spacing-03) var(--spacing-05); */\n padding-top: var(--host-udp-btn-padding-y);\n padding-bottom: var(--host-udp-btn-padding-y);\n padding-left: var(--host-udp-btn-padding-x);\n padding-right: var(--host-udp-btn-padding-x);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n text-decoration: none; /* For <a> tags */\n background-color: var(--host-udp-btn-base-bg, transparent);\n color: var(--host-udp-btn-base-text, inherit);\n border: 1px solid var(--host-udp-btn-base-border, transparent);\n transition: background-color var(--animation-duration) var(--animation-easing),\n border-color var(--animation-duration) var(--animation-easing),\n color var(--animation-duration) var(--animation-easing),\n box-shadow var(--animation-duration) var(--animation-easing);\n min-width: 64px;\n user-select: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n gap: var(--host-udp-btn-icon-gap, var(--spacing-03)); /* Gap between icon and text */\n}\n\n/* Adjust padding when icons are present */\n.udp-button--has-start-icon {\n padding-left: var(--host-udp-btn-padding-x-with-start-icon);\n}\n\n.udp-button--has-end-icon {\n padding-right: var(--host-udp-btn-padding-x-with-end-icon);\n}\n\n.udp-button:focus-visible {\n outline: var(--host-udp-btn-focus-outline, var(--focus-outline, 2px solid blue));\n outline-offset: 0;\n}\n\n/* Styles for the icon containers and text content */\n.udp-button__icon,\n.udp-button__text-content {\n display: inline-flex; /* Ensures proper alignment and wrapping */\n align-items: center;\n}\n\n.udp-button__icon svg {\n /* Default icon size, can be overridden by specific icon styles or button size variants */\n width: var(--host-udp-btn-icon-size, 1.25em); /* Relative to current font size */\n height: var(--host-udp-btn-icon-size, 1.25em);\n /* fill: currentColor; Icons inherit button text color */\n}\n\n/* Spacing for icons when text is also present. Gap property on .udp-button handles this generally. */\n/* If more specific margin control is needed: */\n/* .udp-button__icon--start:not(:only-child) {\n margin-right: var(--host-udp-btn-icon-gap, var(--spacing-02));\n}\n.udp-button__icon--end:not(:only-child) {\n margin-left: var(--host-udp-btn-icon-gap, var(--spacing-02));\n} */\n\n/* Hide text content span if it's empty and there are icons, \n so the gap doesn't create extra space. \n The `gap` property on the parent flex container handles this well usually.\n If slot is empty, its span won't render content to create a gap against. \n*/\n.udp-button__text-content:empty {\n display: none;\n}\n\n.udp-button__label {\n display: inherit; /* Allows slot content (e.g. icons) to align correctly */\n align-items: inherit;\n justify-content: inherit;\n width: 100%; /* Ensure label fills the button */\n}\n\n/* Full width variant */\n.udp-button--full-width {\n width: 100%;\n}\n\n/* --- Size Variants --- */\n.udp-button--small {\n font-size: calc(var(--button-font-size) * 0.9); /* Slightly smaller font */\n padding: var(--spacing-02) var(--spacing-04);\n min-width: 48px;\n}\n\n.udp-button--large {\n font-size: calc(var(--button-font-size) * 1.1); /* Slightly larger font */\n padding: var(--spacing-04) var(--spacing-06);\n min-width: 80px;\n}\n\n.udp-button--small .udp-button__icon svg {\n width: var(--host-udp-btn-small-icon-size, 1.1em);\n height: var(--host-udp-btn-small-icon-size, 1.1em);\n}\n\n.udp-button--large .udp-button__icon svg {\n width: var(--host-udp-btn-large-icon-size, 1.4em);\n height: var(--host-udp-btn-large-icon-size, 1.4em);\n}\n\n/* --- Contained Variant --- */\n/* \n box-shadow: var(--host-udp-btn-contained-shadow, var(--elevation-02, none));\n box-shadow: var(--host-udp-btn-contained-hover-shadow, var(--elevation-04, none));\n box-shadow: var(--host-udp-btn-contained-active-shadow, var(--elevation-01, none));\n*/\n\n/* Contained - Primary */\n.udp-button--contained.udp-button--color-primary {\n background-color: var(--host-udp-btn-contained-primary-bg, var(--primary-color, black));\n color: var(--host-udp-btn-contained-primary-text, var(--primary-contrast-text, white));\n}\n.udp-button--contained.udp-button--color-primary:hover {\n background-color: var(--host-udp-btn-contained-primary-hover-bg, var(--primary-color-dark, dimgray));\n}\n\n/* Contained - Secondary */\n.udp-button--contained.udp-button--color-secondary {\n background-color: var(--host-udp-btn-contained-secondary-bg, var(--secondary-color, black));\n color: var(--host-udp-btn-contained-secondary-text, var(--secondary-contrast-text, white));\n}\n.udp-button--contained.udp-button--color-secondary:hover {\n background-color: var(--host-udp-btn-contained-secondary-hover-bg, var(--secondary-color-dark, dimgray));\n}\n\n/* Contained - Success */\n.udp-button--contained.udp-button--color-success {\n background-color: var(--host-udp-btn-contained-success-bg, var(--success-color-main, green));\n color: var(--host-udp-btn-contained-success-text, var(--success-contrast-text, white));\n}\n.udp-button--contained.udp-button--color-success:hover {\n background-color: var(--host-udp-btn-contained-success-hover-bg, var(--success-color-dark, darkgreen));\n}\n\n/* Contained - Error */\n.udp-button--contained.udp-button--color-error {\n background-color: var(--host-udp-btn-contained-error-bg, var(--error-color-main, red));\n color: var(--host-udp-btn-contained-error-text, var(--error-contrast-text, white));\n}\n.udp-button--contained.udp-button--color-error:hover {\n background-color: var(--host-udp-btn-contained-error-hover-bg, var(--error-color-dark, darkred));\n}\n\n/* Contained - Warning */\n.udp-button--contained.udp-button--color-warning {\n background-color: var(--host-udp-btn-contained-warning-bg, var(--warning-color-main, orange));\n color: var(--host-udp-btn-contained-warning-text, var(--warning-contrast-text, white));\n}\n.udp-button--contained.udp-button--color-warning:hover {\n background-color: var(--host-udp-btn-contained-warning-hover-bg, var(--warning-color-dark, darkorange));\n}\n\n/* Contained - Info */\n.udp-button--contained.udp-button--color-info {\n background-color: var(--host-udp-btn-contained-info-bg, var(--info-color-main, blue));\n color: var(--host-udp-btn-contained-info-text, var(--info-contrast-text, white));\n}\n.udp-button--contained.udp-button--color-info:hover {\n background-color: var(--host-udp-btn-contained-info-hover-bg, var(--info-color-dark, darkblue));\n}\n\n\n/* --- Outlined Variant --- */\n.udp-button--outlined {\n background-color: var(--host-udp-btn-outlined-default-bg, transparent);\n}\n.udp-button--outlined:active {\n background-color: var(--host-udp-btn-outlined-default-active-bg, rgba(0,0,0, 0.04));\n}\n\n/* Outlined - Primary */\n.udp-button--outlined.udp-button--color-primary {\n border-color: var(--host-udp-btn-outlined-primary-border, var(--primary-color, black));\n color: var(--host-udp-btn-outlined-primary-text, var(--primary-color, black));\n}\n.udp-button--outlined.udp-button--color-primary:hover {\n background-color: var(--host-udp-btn-outlined-primary-hover-bg, var(--primary-color-hint, lightgray));\n border-color: var(--host-udp-btn-outlined-primary-hover-border, var(--primary-color-dark, dimgray));\n}\n\n/* Outlined - Secondary */\n.udp-button--outlined.udp-button--color-secondary {\n border-color: var(--host-udp-btn-outlined-secondary-border, var(--secondary-color, black));\n color: var(--host-udp-btn-outlined-secondary-text, var(--secondary-color, black));\n}\n.udp-button--outlined.udp-button--color-secondary:hover {\n background-color: var(--host-udp-btn-outlined-secondary-hover-bg, var(--secondary-color-hint, lightgray));\n border-color: var(--host-udp-btn-outlined-secondary-hover-border, var(--secondary-color-dark, dimgray));\n}\n\n/* Outlined - Success */\n.udp-button--outlined.udp-button--color-success {\n border-color: var(--host-udp-btn-outlined-success-border, var(--success-color-main, green));\n color: var(--host-udp-btn-outlined-success-text, var(--success-color-main, green));\n}\n.udp-button--outlined.udp-button--color-success:hover {\n background-color: var(--host-udp-btn-outlined-success-hover-bg, var(--success-color-hint, lightgreen));\n border-color: var(--host-udp-btn-outlined-success-hover-border, var(--success-color-dark, darkgreen));\n}\n\n/* Outlined - Error */\n.udp-button--outlined.udp-button--color-error {\n border-color: var(--host-udp-btn-outlined-error-border, var(--error-color-main, red));\n color: var(--host-udp-btn-outlined-error-text, var(--error-color-main, red));\n}\n.udp-button--outlined.udp-button--color-error:hover {\n background-color: var(--host-udp-btn-outlined-error-hover-bg, var(--error-color-hint, lightpink));\n border-color: var(--host-udp-btn-outlined-error-hover-border, var(--error-color-dark, darkred));\n}\n\n/* Outlined - Warning */\n.udp-button--outlined.udp-button--color-warning {\n border-color: var(--host-udp-btn-outlined-warning-border, var(--warning-color-main, orange));\n color: var(--host-udp-btn-outlined-warning-text, var(--warning-color-main, orange));\n}\n.udp-button--outlined.udp-button--color-warning:hover {\n background-color: var(--host-udp-btn-outlined-warning-hover-bg, var(--warning-color-hint, lightyellow));\n border-color: var(--host-udp-btn-outlined-warning-hover-border, var(--warning-color-dark, darkorange));\n}\n\n/* Outlined - Info */\n.udp-button--outlined.udp-button--color-info {\n border-color: var(--host-udp-btn-outlined-info-border, var(--info-color-main, blue));\n color: var(--host-udp-btn-outlined-info-text, var(--info-color-main, blue));\n}\n.udp-button--outlined.udp-button--color-info:hover {\n background-color: var(--host-udp-btn-outlined-info-hover-bg, var(--info-color-hint, lightblue));\n border-color: var(--host-udp-btn-outlined-info-hover-border, var(--info-color-dark, darkblue));\n}\n\n\n/* --- Text Variant --- */\n.udp-button--text {\n background-color: var(--host-udp-btn-text-default-bg, transparent);\n border-color: var(--host-udp-btn-text-default-border, transparent); /* Ensure no border unless outlined */\n}\n.udp-button--text:active {\n background-color: var(--host-udp-btn-text-default-active-bg, rgba(0,0,0, 0.04));\n}\n\n/* Text - Primary */\n.udp-button--text.udp-button--color-primary {\n color: var(--host-udp-btn-text-primary-text, var(--primary-color, black));\n}\n.udp-button--text.udp-button--color-primary:hover {\n background-color: var(--host-udp-btn-text-primary-hover-bg, var(--primary-color-hint, lightgray));\n}\n\n/* Text - Secondary */\n.udp-button--text.udp-button--color-secondary {\n color: var(--host-udp-btn-text-secondary-text, var(--secondary-color, black));\n}\n.udp-button--text.udp-button--color-secondary:hover {\n background-color: var(--host-udp-btn-text-secondary-hover-bg, var(--secondary-color-hint, lightgray));\n}\n\n/* Text - Success */\n.udp-button--text.udp-button--color-success {\n color: var(--host-udp-btn-text-success-text, var(--success-color-main, green));\n}\n.udp-button--text.udp-button--color-success:hover {\n background-color: var(--host-udp-btn-text-success-hover-bg, var(--success-color-hint, lightgreen));\n}\n\n/* Text - Error */\n.udp-button--text.udp-button--color-error {\n color: var(--host-udp-btn-text-error-text, var(--error-color-main, red));\n}\n.udp-button--text.udp-button--color-error:hover {\n background-color: var(--host-udp-btn-text-error-hover-bg, var(--error-color-hint, lightpink));\n}\n\n/* Text - Warning */\n.udp-button--text.udp-button--color-warning {\n color: var(--host-udp-btn-text-warning-text, var(--warning-color-main, orange));\n}\n.udp-button--text.udp-button--color-warning:hover {\n background-color: var(--host-udp-btn-text-warning-hover-bg, var(--warning-color-hint, lightyellow));\n}\n\n/* Text - Info */\n.udp-button--text.udp-button--color-info {\n color: var(--host-udp-btn-text-info-text, var(--info-color-main, blue));\n}\n.udp-button--text.udp-button--color-info:hover {\n background-color: var(--host-udp-btn-text-info-hover-bg, var(--info-color-hint, lightblue));\n}\n\n\n/* Inherit color variant */\n.udp-button--color-inherit {\n color: var(--host-udp-btn-inherit-text, inherit);\n}\n.udp-button--text.udp-button--color-inherit:hover {\n background-color: var(--host-udp-btn-text-inherit-hover-bg, var(--gray-02, #e0e0e0));\n}\n.udp-button--outlined.udp-button--color-inherit {\n border-color: var(--host-udp-btn-outlined-inherit-border, currentColor);\n}\n.udp-button--outlined.udp-button--color-inherit:hover {\n background-color: var(--host-udp-btn-outlined-inherit-hover-bg, var(--gray-02, #e0e0e0));\n border-color: var(--host-udp-btn-outlined-inherit-hover-border, currentColor);\n}\n.udp-button--contained.udp-button--color-inherit {\n background-color: var(--host-udp-btn-contained-inherit-bg, var(--gray-03, #c0c0c0));\n color: var(--host-udp-btn-contained-inherit-text, var(--text-main, black));\n}\n.udp-button--contained.udp-button--color-inherit:hover {\n background-color: var(--host-udp-btn-contained-inherit-hover-bg, var(--gray-04, #b0b0b0));\n}\n\n\n/* --- Disabled State (applies to all variants) --- */\n.udp-button--disabled {\n cursor: not-allowed;\n pointer-events: none; /* Prevents click events */\n color: var(--host-udp-btn-disabled-general-text, var(--text-disabled, #a0a0a0)) !important;\n}\n\n/* Disabled Contained */\n.udp-button--contained.udp-button--disabled {\n background-color: var(--host-udp-btn-contained-disabled-bg, var(--disabled-color-main, #e0e0e0)) !important;\n color: var(--host-udp-btn-contained-disabled-text, var(--text-disabled, #a0a0a0)) !important;\n box-shadow: var(--host-udp-btn-contained-disabled-shadow, none) !important;\n}\n\n/* Disabled Outlined */\n.udp-button--outlined.udp-button--disabled {\n border-color: var(--host-udp-btn-outlined-disabled-border, var(--disabled-color-main, #e0e0e0)) !important;\n color: var(--host-udp-btn-outlined-disabled-text, var(--text-disabled, #a0a0a0)) !important; /* Explicitly set for outlined disabled text */\n}\n\n/* Disabled Text */\n.udp-button--text.udp-button--disabled {\n color: var(--host-udp-btn-text-disabled-text, var(--text-disabled, #a0a0a0)) !important;\n background-color: var(--host-udp-btn-text-disabled-bg, transparent) !important; /* Ensure text buttons remain transparent */\n}\n\n\n/* Ensure no hover/active effects when disabled by resetting properties potentially set by general hover/active rules */\n.udp-button--disabled:hover,\n.udp-button--disabled:active {\n /* These might need to be more specific if there are general hover/active styles on .udp-button not covered by variant styles */\n /* For now, variant-specific disabled styles handle most overrides. */\n /* Example of a general reset if needed:\n background-color: var(--host-udp-btn-disabled-general-bg-override, transparent) !important;\n box-shadow: var(--host-udp-btn-disabled-general-shadow-override, none) !important;\n */\n}\n\n/* Reset hover/active for contained disabled (already specific, but defensive) */\n.udp-button--contained.udp-button--disabled:hover,\n.udp-button--contained.udp-button--disabled:active {\n background-color: var(--host-udp-btn-contained-disabled-bg, var(--disabled-color-main, #e0e0e0)) !important;\n box-shadow: var(--host-udp-btn-contained-disabled-shadow, none) !important;\n}\n\n/* Reset hover/active for outlined disabled */\n.udp-button--outlined.udp-button--disabled:hover,\n.udp-button--outlined.udp-button--disabled:active {\n background-color: var(--host-udp-btn-outlined-disabled-hover-bg, transparent) !important; /* Usually no background for outlined hover when disabled */\n border-color: var(--host-udp-btn-outlined-disabled-border, var(--disabled-color-main, #e0e0e0)) !important;\n}\n\n/* Reset hover/active for text disabled */\n.udp-button--text.udp-button--disabled:hover,\n.udp-button--text.udp-button--disabled:active {\n background-color: var(--host-udp-btn-text-disabled-hover-bg, transparent) !important; /* Text buttons remain transparent */\n}\n\n/* --- Toolbar Layout --- */\n/* Applied when toolbarLayout prop is true. Can be combined with variants like text, outlined, contained. */\n.udp-button--toolbar-layout {\n flex-direction: column;\n justify-content: center; /* Center content vertically */\n align-items: center; /* Center content horizontally */\n padding: var(--host-udp-btn-toolbar-padding, var(--spacing-03)); /* Overall padding */\n /* Default to medium size for toolbar layout */\n width: var(--host-udp-btn-toolbar-fixed-size-medium, 80px);\n height: var(--host-udp-btn-toolbar-fixed-size-medium, 80px);\n gap: var(--host-udp-btn-toolbar-gap-medium, var(--spacing-01));\n\n /* Base appearance for toolbarLayout, if needed (user removed default border/bg) */\n /* border: 1px solid var(--host-udp-btn-toolbar-layout-base-border-color, transparent); */\n /* background-color: var(--host-udp-btn-toolbar-layout-base-bg, transparent); */\n}\n\n/* Icon styling within toolbarLayout - default (medium) */\n.udp-button--toolbar-layout .udp-button__icon svg {\n width: var(--host-udp-btn-toolbar-icon-size-medium, 2em);\n height: var(--host-udp-btn-toolbar-icon-size-medium, 2em);\n fill: currentColor;\n}\n\n/* Text content styling within toolbarLayout - default (medium) */\n.udp-button--toolbar-layout .udp-button__text-content {\n font-size: var(--host-udp-btn-toolbar-font-size-medium, var(--font-size-caption, 0.75rem));\n line-height: var(--host-udp-btn-toolbar-line-height-medium, var(--line-height-caption, 1.2));\n text-align: center;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n max-height: calc(var(--host-udp-btn-toolbar-line-height-medium, 1.2) * 2em);\n word-break: break-word;\n}\n\n/* Toolbar Layout - Small Size */\n.udp-button--toolbar-layout.udp-button--small {\n width: var(--host-udp-btn-toolbar-fixed-size-small, 60px);\n height: var(--host-udp-btn-toolbar-fixed-size-small, 60px);\n gap: var(--host-udp-btn-toolbar-gap-small, var(--spacing-01));\n padding: var(--host-udp-btn-toolbar-padding-small, var(--spacing-02));\n}\n.udp-button--toolbar-layout.udp-button--small .udp-button__icon svg {\n width: var(--host-udp-btn-toolbar-icon-size-small, 1.6em);\n height: var(--host-udp-btn-toolbar-icon-size-small, 1.6em);\n}\n.udp-button--toolbar-layout.udp-button--small .udp-button__text-content {\n font-size: var(--host-udp-btn-toolbar-font-size-small, calc(var(--font-size-caption, 0.75rem) * 0.9));\n line-height: var(--host-udp-btn-toolbar-line-height-small, var(--line-height-caption, 1.2));\n max-height: calc(var(--host-udp-btn-toolbar-line-height-small, 1.2) * 2em); /* Adjust max-height based on smaller font */\n}\n\n/* Toolbar Layout - Large Size */\n.udp-button--toolbar-layout.udp-button--large {\n width: var(--host-udp-btn-toolbar-fixed-size-large, 100px);\n height: var(--host-udp-btn-toolbar-fixed-size-large, 100px);\n gap: var(--host-udp-btn-toolbar-gap-large, var(--spacing-02));\n padding: var(--host-udp-btn-toolbar-padding-large, var(--spacing-04));\n}\n.udp-button--toolbar-layout.udp-button--large .udp-button__icon svg {\n width: var(--host-udp-btn-toolbar-icon-size-large, 2.4em);\n height: var(--host-udp-btn-toolbar-icon-size-large, 2.4em);\n}\n.udp-button--toolbar-layout.udp-button--large .udp-button__text-content {\n max-height: calc(var(--host-udp-btn-toolbar-line-height-large, 1.2) * 2em); /* Adjust max-height based on larger font */\n}\n\n/* Base hover/active for toolbarLayout (when variant=\"text\" or not strongly styled by other variants) */\n.udp-button--toolbar-layout:hover:not(.udp-button--contained):not(.udp-button--outlined) {\n background-color: var(--host-udp-btn-toolbar-layout-base-hover-bg, var(--gray-02, #e0e0e0));\n border-color: var(--host-udp-btn-toolbar-layout-base-hover-border-color, var(--gray-04, #b0b0b0));\n}\n.udp-button--toolbar-layout:active:not(.udp-button--contained):not(.udp-button--outlined) {\n background-color: var(--host-udp-btn-toolbar-layout-base-active-bg, var(--gray-03, #c0c0c0));\n}\n\n/* Inherit color variant */\n.udp-button--color-inherit {\n color: var(--host-udp-btn-inherit-text, inherit);\n}\n.udp-button--text.udp-button--color-inherit:hover {\n background-color: var(--host-udp-btn-text-inherit-hover-bg, var(--gray-02, #e0e0e0));\n}\n.udp-button--outlined.udp-button--color-inherit {\n border-color: var(--host-udp-btn-outlined-inherit-border, currentColor);\n}\n.udp-button--outlined.udp-button--color-inherit:hover {\n background-color: var(--host-udp-btn-outlined-inherit-hover-bg, var(--gray-02, #e0e0e0));\n border-color: var(--host-udp-btn-outlined-inherit-hover-border, currentColor);\n}\n.udp-button--contained.udp-button--color-inherit {\n background-color: var(--host-udp-btn-contained-inherit-bg, var(--gray-03, #c0c0c0));\n color: var(--host-udp-btn-contained-inherit-text, var(--text-main, black));\n}\n.udp-button--contained.udp-button--color-inherit:hover {\n background-color: var(--host-udp-btn-contained-inherit-hover-bg, var(--gray-04, #b0b0b0));\n} ","import { Component, Prop, h, Event, EventEmitter, Element } from '@stencil/core';\n\n/**\n * UdpButton is a versatile button component inspired by MUI, using global theme variables.\n * It aims to replace and improve upon the older `custom-button`.\n *\n * Features from `custom-button` and their `udp-button` equivalents:\n * - `label` prop from `custom-button`: Replaced by placing content directly within the\n * `<udp-button></udp-button>` tags (default slot).\n * - `variant='default'`: Maps to `udp-button`'s `variant='contained'`.\n * - `variant='outline'`: Maps to `udp-button`'s `variant='outlined'`.\n * - `secondary=true` (from `custom-button`): Similar to `udp-button`'s `variant='text'`\n * with a `color` prop (e.g., `color='secondary'` or `color='primary'`).\n * - `size`: Values 'short', 'default', 'tall' map to 'small', 'medium', 'large'.\n * - `type`, `disabled`: Directly supported.\n * - `customClick` (from `custom-button`): Replaced by the `click` event.\n *\n * New features:\n * - `startIcon`: Allows placing an icon (JSX/VNode) before the button text.\n * - `endIcon`: Allows placing an icon (JSX/VNode) after the button text.\n */\n@Component({\n tag: 'udp-button',\n styleUrl: 'udp-button.css',\n shadow: true,\n})\nexport class UdpButton {\n @Element() el: HTMLElement;\n\n /**\n * The variant to use.\n * - `text`: Typically used for less-pronounced actions.\n * - `outlined`: Emphasizes actions with a border.\n * - `contained`: High-emphasis, distinguished by a background color.\n */\n @Prop() variant: 'text' | 'outlined' | 'contained' = 'text';\n\n /**\n * If true, applies styling suitable for a toolbar button (e.g., icon above text, caption-style text).\n * This can be combined with other variants like 'text', 'outlined', or 'contained'.\n */\n @Prop() toolbarLayout: boolean = false;\n\n /**\n * The color of the component. It supports theming using global CSS variables.\n * `inherit` will inherit the color from its parent.\n */\n @Prop() color: 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'info' | 'inherit' = 'primary';\n\n /**\n * The size of the component.\n * `custom-button`'s 'short', 'default', 'tall' map to 'small', 'medium', 'large'.\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * If `true`, the component is disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The URL to link to when the button is clicked. If provided, the component renders as an `<a>` tag.\n */\n @Prop() href?: string;\n\n /**\n * If `true`, the button will take up the full width of its container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The type of the button. Only used if `href` is not set.\n * Corresponds to the native `type` attribute of a `<button>` element.\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * If provided, will display an icon before the button's content.\n * Accepts JSX (e.g., an <svg> element or another Stencil component).\n */\n @Prop() startIcon?: any;\n\n /**\n * If provided, will display an icon after the button's content.\n * Accepts JSX (e.g., an <svg> element or another Stencil component).\n */\n @Prop() endIcon?: any;\n\n /**\n * Emitted when the button is clicked.\n */\n @Event() click: EventEmitter<MouseEvent>;\n\n /**\n * Optional aria-label for accessibility.\n * If not provided, it defaults to null.\n */\n @Prop() ariaLabel: string | null = null;\n\n /**\n * Tabindex for accessibility.\n * Defaults to 0 if not disabled, and -1 if disabled.\n * If the user does not provide a value, it defaults to 0.\n */\n @Prop() tabIndex: number = 0;\n\n private handleClick = (event: MouseEvent) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n // If it's a submit button type and not a link, let the form handle submission.\n // For other types or if it's a link, prevent default if needed by consumers.\n if (this.type === 'submit' && !this.href) {\n // Allow native form submission\n }\n this.click.emit(event);\n event.stopPropagation();\n };\n\n render() {\n const TagType = this.href ? 'a' : 'button';\n\n const classMap = {\n 'udp-button': true,\n [`udp-button--${this.variant}`]: true,\n [`udp-button--toolbar-layout`]: this.toolbarLayout,\n [`udp-button--${this.size}`]: true,\n [`udp-button--color-${this.color}`]: this.color !== 'inherit',\n 'udp-button--disabled': this.disabled,\n 'udp-button--full-width': this.fullWidth,\n 'udp-button--has-start-icon': !!this.startIcon,\n 'udp-button--has-end-icon': !!this.endIcon,\n };\n\n const attributes: any = {\n class: Object.keys(classMap)\n .filter(key => classMap[key])\n .join(' '),\n disabled: this.disabled && !this.href, // disabled attribute not valid on <a>\n onClick: this.handleClick,\n };\n\n if (this.ariaLabel) {\n attributes['aria-label'] = this.ariaLabel;\n }\n\n attributes.tabindex = this.disabled ? -1 : this.tabIndex;\n\n if (this.href) {\n attributes.href = this.href;\n // Add rel=\"noopener noreferrer\" for security if target=\"_blank\" is used by consumer\n } else {\n attributes.type = this.type;\n }\n\n return (\n <TagType {...attributes}>\n {this.startIcon && (\n <span class=\"udp-button__icon udp-button__icon--start\" aria-hidden=\"true\">\n {this.startIcon}\n </span>\n )}\n <span class=\"udp-button__text-content\">\n <slot></slot>\n </span>\n {this.endIcon && (\n <span class=\"udp-button__icon udp-button__icon--end\" aria-hidden=\"true\">\n {this.endIcon}\n </span>\n )}\n </TagType>\n );\n }\n}\n",".header-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px;\n border-bottom: 1px solid #ccc;\n background-color: var(--accent-color-two);\n color: white;\n \n }\n \n .column, .operator, .criteria {\n flex: 1;\n text-align: left;\n padding: 4px;\n }\n ","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'udp-column-header',\n styleUrl: 'udp-column-header.css',\n shadow: true\n})\nexport class UdpColumnHeader {\n render() {\n return (\n <div class=\"header-container\">\n <div class=\"column\"> <unity-typography variant=\"button\" >Column </unity-typography> </div>\n <div class=\"operator\"><unity-typography variant=\"button\" >Operator </unity-typography> </div>\n <div class=\"criteria\"><unity-typography variant=\"button\" >Criteria </unity-typography> </div>\n </div>\n );\n }\n}\n",":host {\n display: block;\n }\n \n .horizontal {\n width: 100%;\n height: 1px;\n background-color: rgba(0, 0, 0, 0.12);\n min-width: 1px;\n }\n \n .vertical {\n width: 1px;\n background-color: rgba(0, 0, 0, 0.12);\n min-height: 1px;\n }\n ","import { Component, Prop, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'udp-divider',\n styleUrl: 'udp-divider.css',\n shadow: true,\n})\nexport class UdpDivider {\n @Prop() variant: 'horizontal' | 'vertical' = 'horizontal';\n @Prop() size: string; // new Prop for size\n\n render() {\n const style = this.variant === 'vertical'\n ? { height: this.size }\n : { width: this.size };\n\n return (\n <Host style={style}>\n <div class={this.variant === 'horizontal' ? 'horizontal' : 'vertical'}></div>\n </Host>\n );\n }\n}\n",".container {\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-wrap: nowrap;\n flex: 1;\n min-width: 600px;\n /* background-color: azure; */\n }\n \n.menu {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.chips {\n display: flex; \n gap: 8px; \n flex-grow: 1;\n /* padding-top: 8px;\n padding-bottom: 8px; */\n}\n\n.overflow {\n display: flex;\n}","import { Component, State, h, Prop, Element, Watch, Method, Event, EventEmitter } from '@stencil/core';\n//import Menu16 from '@carbon/icons/es/menu/16';\n\nfunction debounce(func: (...args: any[]) => void, wait: number): (...args: any[]) => void {\n let timeout: NodeJS.Timeout | null = null;\n return (...args: any[]) => {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n func(...args);\n }, wait);\n };\n}\n\n@Component({\n tag: 'udp-dynamic-container-with-menu',\n styleUrl: 'udp-dynamic-container-with-menu.css',\n shadow: true,\n})\nexport class DynamicContainerWithMenu {\n @Element() el: HTMLElement;\n @State() visibleChildren: any[] | null = null;\n\n @State() menuChildren = [];\n @State() anchorEl: HTMLElement | null = null;\n containerWidth: number = 0;\n @State() rerender: number = 0;\n @State() renderReady: boolean = false; // a flag to indicate readiness to render\n @State() popoverOpen: boolean = false;\n @Prop() externalToggle: string = '';\n\n @Prop() menuItems: any[] = []; // renamed from children\n\n @Event() udpChipClicked: EventEmitter<string>;\n\n open: boolean = false;\n id: string = '';\n boundCalculateChildren: any;\n\n constructor() {\n this.boundCalculateChildren = debounce(this.calculateChildren.bind(this), 300);\n }\n \n// Was causing a loop when connected to the api\n // connectedCallback() {\n // this.calculateChildren();\n // }\n\n\n componentWillLoad() {\n // This lifecycle hook will be called before the first render,\n // ensuring calculateChildren is called before the component renders\n // this.calculateChildren();\n }\n\n componentWillUpdate() {\n // This lifecycle hook will be called before every update (re-render),\n // ensuring calculateChildren is called before the component re-renders\n // this.calculateChildren();\n }\n\n \n \n\n\n @Method()\n async calculateChildren() {\n if (!this.el.shadowRoot) return;\n \n console.log('Calculating children...');\n console.log('Menu Items:', JSON.stringify(this.menuItems));\n \n const container: HTMLElement | null = this.el.shadowRoot.querySelector('.container') ;\n console.log('Container:', container);\n\n\n \n if (container) {\n this.containerWidth = container.offsetWidth ;\n console.log('Container Width:', this.containerWidth);\n }\n \n let currentWidth = 0;\n const newVisibleChildren = [];\n const newMenuChildren = [];\n \n this.menuItems.forEach((child) => {\n if (child) {\n const childWidth = (child as any).props?.width || 100;\n // console.log(`Child[${index}] Width:`, childWidth);\n \n if (currentWidth + childWidth <= this.containerWidth) {\n currentWidth += childWidth;\n newVisibleChildren.push(child);\n } else {\n newMenuChildren.push(child);\n }\n }\n });\n\n \n this.visibleChildren = [...newVisibleChildren];\n this.menuChildren = [...newMenuChildren];\n this.rerender += 1;\n }\n \n\n @Watch('menuItems')\n childrenChanged() {\n this.calculateChildren();\n }\n\n async componentDidLoad() {\n // Existing logic\n await this.calculateChildren().then(() => {\n this.renderReady = true; // set the flag to true after calculating\n });\n window.addEventListener('resize', this.boundCalculateChildren);\n\n // New logic for listening to stencil-chip click events\n const chips = Array.from(document.querySelectorAll('stencil-chip'));\n chips.forEach(chip => {\n chip.addEventListener('chipClicked', (event: CustomEvent) => {\n // Forward this data to the upper-level parent\n const chipText = event.detail;\n this.handleChipClick(chipText);\n });\n });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.boundCalculateChildren);\n }\n\n // handlePopoverClick(event?: Event) {\n // if (!event) return;\n // this.anchorEl = event.target as HTMLElement;\n // this.open = Boolean(this.anchorEl);\n // this.id = this.open ? 'simple-popover' : undefined;\n // }\n\n // handlePopoverClose() {\n // this.anchorEl = null;\n // this.open = false;\n // }\n\n handlePopover = () => {\n this.popoverOpen = !this.popoverOpen;\n }\n\n\n // handleChipClick = (event: CustomEvent) => {\n // const chipLabel = event.detail;\n \n // }\n\n handleChipClick(chipText: string) {\n this.udpChipClicked.emit(chipText);\n }\n\n\n render() {\n \n return (\n <div class=\"container\">\n {/* <div class=\"chips\">\n {this.visibleChildren && this.visibleChildren.map((child, index) => (\n <stencil-chip color=\"secondary\" key={index} text={child.label} show-delete=\"false\" > </stencil-chip>\n ))}\n </div> */}\n\n<div class=\"chips\">\n{console.log('Received data for chips via executeQwith', this.visibleChildren)}\n {this.visibleChildren && this.visibleChildren.map((child, index) => (\n <stencil-chip\n color=\"secondary\"\n key={index}\n text={child.description\n }\n show-delete=\"false\"\n externalToggleString={this.externalToggle}\n >\n </stencil-chip>\n ))}\n \n </div>\n\n\n <div class=\"overflow\" >\n {/* @todo: overflow button commented out */}\n {/* <stencil-icon-button showLabel={false} icon={Menu16} onClick={this.handlePopover}></stencil-icon-button> */}\n <udp-pop-over isOpen={this.popoverOpen} anchorElement={document.getElementById('anchorElement')}>\n <div class=\"menu\" >\n {this.menuChildren && this.menuChildren.map((child, index) => (\n <stencil-chip key={index} text={child.label} show-delete=\"false\" > </stencil-chip>\n ))}\n </div>\n </udp-pop-over>\n \n </div> \n </div>\n );\n }\n \n \n\n}\n",".udp-btn {\n border: 0;\n border-radius: 50%;\n padding: 1px 3px;\n cursor: pointer;\n background-color: var(--accent-color-three);\n transition: background-color 0.3s;\n}\n\n.udp-btn.no-bg {\n background-color: transparent; /* Override for no background */\n}\n\n.udp-btn:hover {\n background-color: #f0f0f0; \n}\n\n.btn-content {\n color: var(--accent-color-four)\n}\n\n.btn-content svg {\n fill: currentColor; \n}\n","import { Component, Prop, h } from '@stencil/core';\nimport './udp-function-button.css';\nimport AddIcon16 from '@carbon/icons/es/add/16';\nimport ChevronDownIcon24 from '@carbon/icons/es/chevron--down/16';\nimport View16 from '@carbon/icons/es/view/16';\nimport TrashCan16 from '@carbon/icons/es/trash-can/16';\n// import FlagFilled16 from '@carbon/icons/es/flag--filled/16'\nimport Star16 from '@carbon/icons/es/star/16';\nimport StarFilled16 from '@carbon/icons/es/star--filled/16';\nimport Edit16 from '@carbon/icons/es/edit/16'\n\n@Component({\n tag: 'udp-function-button',\n styleUrl: 'udp-function-button.css',\n shadow: true\n})\nexport class UdpFunctionButton {\n @Prop() expand: boolean = false;\n @Prop() view: boolean = false; \n @Prop() add: boolean = false; \n @Prop() edit: boolean = false;\n @Prop() delete: boolean = false; \n @Prop() isDefault: boolean = false;\n @Prop() noBackground: boolean = false; // New property for controlling background\n\n renderIcon() {\n let icon;\n let iconStyles = {};\n\n if (this.delete) {\n icon = TrashCan16;\n iconStyles = { padding: '5px' }; \n } else if (this.view) {\n icon = View16;\n iconStyles = { padding: '5px' }; \n } else if (this.isDefault) {\n icon = StarFilled16;\n iconStyles = { padding: '5px' };\n } else if (this.add) {\n icon = AddIcon16; \n iconStyles = { padding: '5px' };\n } else if (this.edit) {\n icon = Edit16; \n iconStyles = { padding: '5px' };\n } else if (this.expand) { \n icon = ChevronDownIcon24; \n iconStyles = { padding: '5px', color: 'black'}; \n } else {\n icon = Star16;\n iconStyles = { padding: '5px' };\n }\n \n return (\n <svg {...icon.attrs} style={iconStyles}>\n {icon.content.map((item, index) => {\n if (item.elem === 'path') {\n return <path {...item.attrs} key={index} />;\n }\n return null;\n })}\n </svg>\n );\n }\n\n render() {\n const btnClass = this.noBackground ? 'udp-btn no-bg' : 'udp-btn';\n return (\n <button class={btnClass}>\n <span class=\"btn-content\">\n {this.renderIcon()}\n </span>\n </button>\n );\n }\n}\n\n",":host {\n display: block;\n }\n \n .grid-row {\n display: flex;\n justify-content: space-between;\n }\n \n udp-skeleton-loading {\n flex-grow: 1;\n margin: 2px;\n }\n ","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'udp-grid-loader',\n styleUrl: 'udp-grid-loader.css',\n shadow: true\n})\nexport class UdpGridLoader {\n @Prop() numColumns: number = 8;\n @Prop() numRows: number = 5; // Default number of rows\n @Prop() width: string = 'calc(100vw - 70px)';\n\n render() {\n // Header bar (fatter, divided into columns)\n const headerBar = (\n <div class=\"grid-row\">\n {Array.from({ length: this.numColumns }).map(() => (\n <udp-skeleton-loading width=\"100%\" height=\"55px\"></udp-skeleton-loading>\n ))}\n </div>\n );\n\n // Row bars (each divided into columns)\n const rowBars = Array.from({ length: this.numRows }).map(() => (\n <div class=\"grid-row\">\n {Array.from({ length: this.numColumns }).map(() => (\n <udp-skeleton-loading width=\"100%\" height=\"30px\"></udp-skeleton-loading>\n ))}\n </div>\n ));\n\n return (\n <div style={{width: this.width }} >\n {headerBar}\n {rowBars}\n </div>\n );\n }\n}\n",".submit-button {\n margin-top: 18px;\n display: flex;\n justify-content: flex-end;\n margin-right: 24px;\n gap: 8px;\n}\n\n.wrapper {\n border-bottom: 1px solid #d9d9d9;\n padding-bottom: 16px;\n margin-bottom: 10px;\n width: 480px;\n}","import { Component, Prop, h, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'udp-hotlist-form',\n styleUrl: 'udp-hotlist-form.css',\n shadow: true,\n})\nexport class UdpHotlistForm {\n @Element() el: HTMLElement;\n @Prop() refetchViews: () => void;\n @Prop() handleFormSubmit: (name: string, isPrivate: boolean, columnState: any) => void;\n @Prop() handleCancelClick: () => void;\n\n @State() name: string = '';\n @State() isPrivate: boolean = false;\n // Add a state or prop for columnState\n @State() columnState: any; // Adjust this according to your needs\n\n handleNameChange = (event) => {\n this.name = event.target.value;\n };\n\n handlePrivateChange = () => {\n this.isPrivate = !this.isPrivate;\n };\n\n// Refreshes the page\n// handleSubmit = () => {\n// // Now passing columnState as well\n// this.handleFormSubmit(this.name, this.isPrivate, this.columnState);\n// };\n\n\nhandleSubmit = (event: Event) => {\n event.preventDefault();\n this.handleFormSubmit(this.name, this.isPrivate, this.columnState);\n };\n\n // Handling custom button click\n onCustomButtonClick = () => {\n this.handleFormSubmit(this.name, this.isPrivate, this.columnState);\n };\n\n\n// handleCancelClick = () => {\n// console.log('Cancel button clicked');\n// }\n\n render() {\n return (\n <div class=\"wrapper\" >\n <form class=\"save-form\" onSubmit={this.handleSubmit}>\n <text-field\n label=\"Hotlist Name\"\n placeholder=\"Create a name for your Hotlist\"\n value={this.name}\n onChange={(event: any) => this.handleNameChange(event)}\n ></text-field>\n <stencil-toggle\n label=\"Private\"\n checked={this.isPrivate}\n onToggledChange={this.handlePrivateChange}\n ></stencil-toggle>\n {/* <button type=\"submit\">Save List</button> */}\n <div class=\"submit-button\" >\n <custom-button\n variant='outline'\n type=\"submit\"\n onCustomClick={this.handleCancelClick}>\n Cancel\n </custom-button>\n <custom-button\n disabled={!this.name}\n type=\"submit\"\n onCustomClick={this.onCustomButtonClick}>\n Create List\n </custom-button>\n </div>\n\n </form>\n </div>\n );\n }\n}\n\n\n",".icon-container{\n height: 100%;\n display: flex;\n align-items: center;\n color: inherit;\n}","import { Component, h, Prop } from '@stencil/core';\nimport { getIconFromName } from './iconUtils';\n\n@Component({\n tag: 'udp-icon',\n styleUrl: 'udp-icon.css',\n shadow: true,\n})\nexport class UdpIcon {\n @Prop() iconName: string;\n @Prop() iconType: string = 'carbon';\n /**\n * @deprecated Use color prop instead\n */\n @Prop() darkIcon: boolean = true;\n @Prop() color: 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'inherit' | string;\n\n render() {\n const iconData = getIconFromName(this.iconName, this.iconType);\n let iconColor: string;\n\n if (this.color) {\n switch (this.color) {\n case 'primary':\n iconColor = 'var(--primary-color)';\n break;\n case 'secondary':\n iconColor = 'var(--secondary-color)';\n break;\n case 'error':\n iconColor = 'var(--error-color-main)';\n break;\n case 'info':\n iconColor = 'var(--info-color-main)';\n break;\n case 'success':\n iconColor = 'var(--success-color-main)';\n break;\n case 'inherit':\n iconColor = 'currentColor';\n break;\n default:\n iconColor = this.color;\n }\n } else {\n iconColor = this.darkIcon ? 'black' : 'white';\n }\n\n return (\n <div class=\"icon-container\">\n <svg {...(iconData?.attrs ?? {})} fill={iconColor}>\n {iconData?.content?.map((item, index) => {\n if (item?.elem === 'path') {\n return <path {...(item?.attrs ?? {})} key={index} />;\n } else if (item?.elem === 'circle') {\n return <circle {...(item?.attrs ?? {})} key={index} />;\n }\n return null;\n })}\n </svg>\n </div>\n );\n }\n}\n",".loader {\n position: relative;\n width: 100%;\n height: 4px;\n background-color: #e0e0e0;\n }\n \n .indeterminate {\n background-color: var(--primary-color);\n position: absolute;\n width: 50%;\n height: 100%;\n animation: indeterminate 2s linear infinite;\n }\n \n @keyframes indeterminate {\n 0% {\n left: -50%;\n }\n 50% {\n left: 100%;\n width: 100%;\n }\n 100% {\n left: 100%;\n width: 50%;\n }\n }\n ","import { Component, h, Host } from '@stencil/core';\nimport './udp-linear-loader.css';\n\n@Component({\n tag: 'udp-linear-loader',\n styleUrl: 'udp-linear-loader.css',\n shadow: true,\n})\nexport class UdpLinearLoader {\n render() {\n return (\n <Host>\n <div class=\"loader\">\n <div class=\"indeterminate\"></div>\n </div>\n </Host>\n );\n }\n}\n",".menu-item-root {\n padding: 8px 16px;\n cursor: pointer;\n transition: background-color 0.3s ease-in-out;\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.menu-item-root:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.menu-item-label {\n font-size: 14px;\n}\n\n.menu-item-root[disabled] {\n pointer-events: none;\n opacity: 0.4;\n}\n\n.menu-icon {\n height: 100%;\n text-align: center;\n}\n\n.menu-icon[disabled] {\n opacity: 0.4;\n}\n","// udp-menu-item.tsx\nimport { Component, Prop, h, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'udp-menu-item',\n styleUrl: 'udp-menu-item.css',\n shadow: true\n})\nexport class UdpMenuItem {\n @Prop() label: string;\n @Prop() handleOnClick: (e: Event) => void;\n @Prop() iconName: string;\n @Prop() disabled: boolean = false;\n\n @Event() itemClick: EventEmitter;\n\n handleItemClick = (e: Event) => {\n if (this.handleOnClick) {\n this.handleOnClick(e);\n }\n this.itemClick.emit();\n }\n\n render() {\n return (\n <div \n class=\"menu-item-root\" \n onClick={this.handleItemClick}\n id={\"udpRecord-udp-menu-item-ItemClick\"}\n //@ts-ignore\n udprecordid={\"udpRecord-udp-menu-item-ItemClick\"}\n disabled={this.disabled}\n >\n {this.iconName && <udp-icon iconName={this.iconName} class=\"menu-icon\"/>}\n <span class=\"menu-item-label\">\n <unity-typography variant='button' > {this.label} </unity-typography> \n </span>\n </div>\n );\n }\n}\n","/* src/components/udp-notification/udp-notification.css */\n\n:host {\n position: fixed;\n top: 1rem;\n right: 1rem;\n z-index: 1000;\n display: block; /* Ensure that :host is not display: inline by default */\n }\n \n .udp-notification {\n min-width: 250px; /* or any other dimension you prefer */\n margin: 0.5rem;\n padding: 0.5rem 1rem;\n border-radius: 4px; /* Carbon design system notification style */\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Optional: add shadow for better visibility */\n display: flex;\n align-items: center;\n justify-content: space-between;\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\n transform: translateY(-100%);\n opacity: 0;\n visibility: hidden;\n background-color: #f4f4f4; /* Default background; replace with your preferred default */\n }\n \n .visible {\n transform: translateY(0);\n opacity: 1;\n visibility: visible;\n }\n \n .status-success {\n border-left: 4px solid #5aa700; /* Success color */\n }\n \n .status-error {\n border-left: 4px solid #e0182d; /* Error color */\n }\n \n .status-warning {\n border-left: 4px solid #ff832b; /* Warning color */\n }\n \n .message {\n flex: 1;\n padding: 0 1rem;\n }\n \n .close-button {\n background: none;\n border: none;\n font-size: 1.5rem;\n cursor: pointer;\n }\n \n /* Rest of your styles... */\n ","// src/components/udp-notification/udp-notification.tsx\n\nimport { Component, Prop, h, Watch } from '@stencil/core';\n\n@Component({\n tag: 'udp-notification',\n styleUrl: 'udp-notification.css',\n shadow: true\n})\nexport class UdpNotification {\n @Prop() message: string;\n @Prop() status: 'success' | 'error' | 'warning';\n @Prop() userCancel: boolean = false;\n @Prop({ mutable: true, reflect: true }) active: boolean = false;\n\n @Watch('active')\n activeChanged(newValue: boolean) {\n if (newValue && !this.userCancel) {\n // Hide the notification after 3 seconds only if userCancel is false\n setTimeout(() => this.active = false, 3000);\n }\n }\n \n render() {\n const statusClass = `status-${this.status}`;\n \n return (\n <div class={{\n 'udp-notification': true,\n 'visible': this.active,\n [statusClass]: true // This will apply the correct class based on the status\n }}>\n {this.userCancel && (\n <button class=\"close-button\" onClick={() => this.active = false}>\n ×\n </button>\n )}\n <span class=\"message\"> <unity-typography variant='body' > {this.message} </unity-typography></span>\n </div>\n );\n }\n \n}\n",".header-container {\n display: flex;\n width: 100%;\n padding: 16px;\n padding-left: 0px\n}\n\n.title {\n flex: 1;\n width: 100%;\n display: 'none';\n}\n\n.radio-group {\n display: flex;\n gap: 16px;\n}","import { Component, h, Event, EventEmitter, State } from '@stencil/core';\n\n@Component({\n tag: 'udp-page-header',\n styleUrl: 'udp-page-header.css',\n shadow: true\n})\nexport class UdpColumnHeader {\n \n @Event() valueChanged: EventEmitter;\n @State() selectedValue: string = '1'; // '1' corresponds to the \"And\" radio button\n\n radioClicked(value: string) {\n this.selectedValue = value;\n this.valueChanged.emit(value);\n }\n\n render() {\n return (\n <div class=\"header-container\">\n <div class=\"title\"> \n <unity-typography variant=\"button\">Filter Conditions </unity-typography> \n </div>\n <div class=\"radio-group\"> \n <div onClick={() => this.radioClicked('1')}>\n <udp-radio-button name=\"group1\" value=\"1\" label=\"And\" checked={this.selectedValue === '1'}></udp-radio-button>\n </div>\n <div onClick={() => this.radioClicked('2')}>\n <udp-radio-button name=\"group1\" value=\"2\" label=\"Or\" checked={this.selectedValue === '2'}></udp-radio-button>\n </div> \n </div>\n </div>\n );\n }\n}\n",".popover {\n background-color: white;\n border: 1px solid #ccc;\n padding: 10px;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n}\n\n.popover[data-popper-reference-hidden] {\n visibility: hidden;\n pointer-events: none;\n}\n\n.no-padding {\n padding: 0;\n}\n","import { createPopper } from '@popperjs/core';\nimport { Component, h, Prop, Element, Watch } from '@stencil/core';\nimport { PopoverPlacement } from './interfaces/popoverInterfaces';\n\n@Component({\n tag: 'udp-pop-over',\n styleUrl: 'udp-pop-over.css',\n shadow: true,\n})\nexport class UdpPopOver {\n @Prop({ mutable: true }) isOpen: boolean = false;\n @Prop() anchorElement: HTMLElement;\n @Prop() popoverWidth: string;\n @Prop() popoverMaxHeight: string;\n @Prop() handleOnClose: (event: Event) => void;\n @Prop() popoverPlacement: PopoverPlacement = 'bottom-end';\n @Prop() overflow = 'auto';\n @Prop() noPadding? = false;\n @Element() el: HTMLElement;\n popoverInstance: any;\n\n componentWillLoad() {\n if (this.isOpen) {\n document.addEventListener('click', this.handleClose);\n } else {\n document.removeEventListener('click', this.handleClose);\n }\n }\n\n @Watch('isOpen')\n watchHandler(newValue: boolean, oldValue: boolean) {\n if (newValue) {\n document.addEventListener('click', this.handleClose);\n } else {\n document.removeEventListener('click', this.handleClose);\n if (oldValue && this.handleOnClose) {\n this.handleOnClose(new Event('close'));\n }\n }\n }\n\n handleClose = (event?: Event) => {\n const path = event.composedPath();\n if (path.includes(this.el) || path.includes(this.anchorElement)) {\n return; // Clicked inside, do nothing\n }\n document.removeEventListener('click', this.handleClose);\n this.isOpen = false;\n };\n\n createPopperInstance() {\n if (this.anchorElement) {\n this.popoverInstance = createPopper(this.anchorElement, this.el.shadowRoot.querySelector('.popover'), {\n placement: this.popoverPlacement,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 5],\n },\n },\n ],\n });\n }\n }\n\n componentDidLoad() {\n if (this.popoverInstance) {\n this.popoverInstance?.update();\n } else {\n this.createPopperInstance();\n }\n }\n\n disconnectedCallback() {\n if (this.popoverInstance) {\n this.popoverInstance.destroy();\n }\n }\n\n render() {\n const style = {\n display: this.isOpen ? 'block' : 'none',\n position: 'absolute',\n width: this.popoverWidth,\n maxHeight: this.popoverMaxHeight,\n overflow: this.overflow,\n };\n\n return (\n <div class={{ 'popover': true, 'no-padding': this.noPadding }} style={style}>\n <slot></slot>\n </div>\n );\n }\n}\n",".popover {\n background-color: white;\n border: 1px solid #ccc;\n padding: 10px;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n z-index: 1000;\n position: relative\n }\n ","import { Component, h, Prop, Element, Watch } from '@stencil/core';\n\n@Component({\n tag: 'udp-pop-over-grid-action-header',\n styleUrl: 'udp-pop-over-grid-action-header.css',\n shadow: true,\n})\nexport class UdpPopOver {\n @Prop() isOpen: boolean = false;\n @Prop() anchorElement: HTMLElement;\n\n @Element() el: HTMLElement;\n\n componentWillLoad() {\n if (this.isOpen) {\n document.addEventListener('click', this.handleClose);\n }\n document.removeEventListener('click', this.handleClose);\n }\n\n @Watch('isOpen')\n watchHandler(newValue: boolean) {\n if (newValue) {\n document.addEventListener('click', this.handleClose);\n } else {\n document.removeEventListener('click', this.handleClose);\n }\n }\n\n handleClose = (event?: Event) => {\n if (event && this.el.shadowRoot.contains(event.target as Node)) {\n return; // Clicked inside, do nothing\n }\n this.isOpen = false;\n document.removeEventListener('click', this.handleClose);\n };\n\n render() {\n const style = {\n display: this.isOpen ? 'block' : 'none',\n position: 'absolute',\n right: '6px',\n };\n\n if (this.anchorElement) {\n const rect = this.anchorElement.getBoundingClientRect();\n style['top'] = `${rect.bottom}px`;\n style['left'] = `${rect.left}px`;\n }\n\n return (\n <div class=\"popover\" style={style}>\n <unity-typography variant=\"caption-text\">\n <slot></slot>\n </unity-typography>\n </div>\n );\n }\n}\n",".udp-radio-button {\n display: inline-flex;\n align-items: center;\n }\n \n input[type=\"radio\"] {\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n z-index: -1;\n \n }\n \n input[type=\"radio\"] + label {\n position: relative;\n padding-left: 20px; /* Space for custom radio */\n cursor: pointer;\n font-size: 16px;\n font-family: 'Roboto', sans-serif;\n }\n \n /* Custom radio button */\n input[type=\"radio\"] + label:before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 17px;\n height: 17px;\n border: 1px solid #000;\n border-radius: 50%;\n }\n \n /* Checked state */\n input[type=\"radio\"]:checked + label:after {\n content: \"\";\n position: absolute;\n left: 4px;\n top: 50%;\n transform: translateY(-50%);\n width: 10px;\n height: 10px;\n background-color: #000;\n border-radius: 50%;\n }\n \n /* Disabled state */\n input[type=\"radio\"]:disabled + label {\n opacity: 0.5;\n cursor: not-allowed;\n }\n ","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'udp-radio-button',\n styleUrl: 'udp-radio-button.css',\n shadow: false\n})\nexport class UdpRadioButton {\n \n @Prop() name: string;\n @Prop() value: string;\n @Prop() checked: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() label: string;\n\n render() {\n return (\n <div class=\"udp-radio-button\">\n {/* Moved input and label out of shadow root */}\n <slot>\n <input \n type=\"radio\" \n name={this.name} \n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n id={`radio-${this.name}-${this.value}`}\n />\n <label htmlFor={`radio-${this.name}-${this.value}`}> <unity-typography variant='caption-text' > {this.label} </unity-typography> </label>\n </slot>\n </div>\n );\n }\n}\n","@import '../inputs.css';\n\n/* UDP Selector specific styles */\n\n/* Size variants for selector */\n:host(.udp-input--size-small) .selected-option {\n padding: var(--spacing-02);\n padding-bottom: 6px;\n font-size: var(--caption-font-size, 0.875rem);\n}\n\n:host(.udp-input--size-normal) .selected-option {\n padding: var(--spacing-03);\n padding-bottom: 9px;\n font-size: var(--body-font-size);\n}\n\n:host(.udp-input--size-large) .selected-option {\n padding: var(--spacing-04);\n padding-bottom: 12px;\n font-size: var(--body-font-size);\n}\n\n.selected-option {\n border: none;\n border-bottom: var(--underline-standard) solid var(--input-underline-color, var(--gray-08));\n box-sizing: border-box;\n cursor: pointer;\n background-color: var(--input-background);\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: var(--spacing-03);\n padding-bottom: 9px;\n width: 100%;\n font-size: var(--body-font-size);\n font-family: var(--font-family);\n transition: border-bottom-color 0.15s ease-in-out;\n}\n\n.selected-option:active,\n.selected-option:focus,\n.selected-option.focused {\n outline: none;\n border-bottom-color: var(--input-underline-color-focus, var(--primary-color));\n border-bottom-width: 2px;\n}\n\n/* Error state for selector */\n:host(.udp-input--error) .selected-option,\n:host(.udp-input--error) .selected-option:focus,\n:host(.udp-input--error) .selected-option:active,\n:host(.udp-input--error) .selected-option.focused {\n border-bottom-color: var(--input-underline-color-error, var(--error-color-main)) !important;\n}\n\n/* Disabled state for selector */\n:host(.udp-input--disabled) .selected-option {\n border-bottom-color: var(--input-underline-color-disabled, var(--gray-08));\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.selected-option-label {\n flex-grow: 1;\n color: var(--ag-foreground-color, #000);\n}\n\n.selected-option-label.placeholder {\n color: var(--placeholder-color, #999);\n}\n\n.udp-selector--large .selected-option {\n background-color: var(--gray-08);\n color: white;\n width: 60px;\n padding: var(--spacing-05);\n box-shadow: var(--elevation-08);\n width: 100px;\n border-radius: 50px;\n font-size: var(--body-font-size);\n}\n\n.arrow {\n position: relative;\n display: inline-block;\n width: 10px;\n height: 5px;\n}\n\n.arrow::before,\n.arrow::after {\n content: '';\n position: absolute;\n bottom: 0;\n width: 0.6em;\n height: 10px;\n border-bottom: var(--underline-standard) solid var(--gray-09);\n}\n\n.udp-selector--large .selected-option .arrow::before,\n.udp-selector--large .selected-option .arrow::after {\n border-bottom: 1px solid white;\n}\n\n.arrow::before {\n left: -0.1em;\n transform: rotate(-45deg);\n}\n\n.arrow::after {\n /* left: 0.5em; */\n transform: rotate(45deg);\n}\n\n.udp-selector__container {\n position: relative;\n}\n\n.options-list {\n max-width: 100%;\n border: none;\n margin: 4px 0 0 0;\n padding: 0;\n list-style: none;\n z-index: 9999;\n max-height: 150px;\n overflow-y: auto;\n overflow-x: hidden;\n border-radius: var(--border-radius);\n box-shadow: var(--elevation-08);\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n}\n\n.options-list li {\n position: relative;\n padding: 10px;\n cursor: pointer;\n background-color: var(--input-background);\n}\n\n.options-list li:hover {\n background-color: var(--primary-color);\n color: white;\n}\n","import { Component, Prop, State, h, Watch, Element, Listen, Host } from '@stencil/core';\nimport { createPopper, Instance as PopperInstance } from '@popperjs/core';\nimport { InputSize, InputMargin } from '../input-types';\n\n/**\n * A standardized selector component with single/multi-select support and various display options.\n * Supports both controlled and uncontrolled modes.\n *\n * This component emits a custom `change` event with the committed value and also\n * propagates standard DOM events like `input`, `focus`, and `blur` from the\n * underlying input element.\n *\n * @example\n * ```tsx\n * // Uncontrolled component with initial selection\n * <udp-selector\n * options={[{ value: '1', label: 'Option 1' }, { value: '2', label: 'Option 2' } ]}\n * initialValue=\"1\"\n * label=\"Select an option\"\n * onChange={(e) => console.log('Selected:', e.detail)}\n * />\n *\n * // Controlled component with multi-select\n * <udp-selector\n * options={[{ value: 'a', label: 'Apple' }, { value: 'b', label: 'Banana' } ]}\n * value={selectedFruits}\n * multiSelect={true}\n * label=\"Select fruits\"\n * onChange={(e) => setSelectedFruits(e.detail)}\n * />\n *\n * // With validation and density\n * <udp-selector\n * options={[{ value: 'x', label: 'X-ray' }, { value: 'y', label: 'Yacht' } ]}\n * label=\"Choose type\"\n * required={true}\n * error={selectionError}\n * density=\"dense\"\n * onChange={handleTypeChange}\n * />\n * ```\n */\n@Component({\n tag: 'udp-selector',\n styleUrl: 'udp-selector.css',\n shadow: true,\n})\nexport class UdpSelector {\n @Element() el: HTMLElement;\n\n /**\n * Array of options to display in the selector. Each option should be an object with `value` and `label` properties.\n */\n @Prop() options: Array<{ value: string; label: string }> = [];\n\n /**\n * Initial value for the selector. Used for uncontrolled components to set the default selection.\n * For multi-select, use comma-separated values (e.g., \"1,2,3\").\n * Only used when `value` prop is not provided.\n */\n @Prop() initialValue: string;\n\n /**\n * Current value of the selector. When provided, makes this a controlled component.\n * For multi-select, use comma-separated values (e.g., \"1,2,3\").\n * The component will use this value and update it through events.\n */\n @Prop({ mutable: true }) value: string;\n\n /**\n * Whether the selector should display in a large style.\n */\n @Prop() large: boolean = false;\n\n /**\n * Whether multiple items can be selected. When false, only one item can be selected at a time.\n */\n @Prop() multiSelect: boolean = false;\n\n /**\n * Name attribute for form submission. Used for form data collection.\n */\n @Prop() name: string;\n\n /**\n * Label text displayed above the selector. Used for accessibility and user guidance.\n */\n @Prop() label: string;\n\n /**\n * Error message to display below the selector. Shows validation errors or other issues.\n */\n @Prop() error: string;\n\n /**\n * Whether the field is required for form submission. Adds validation behavior.\n */\n @Prop() required: boolean;\n\n /**\n * Unique identifier for the selector element. Used for form association and accessibility.\n */\n @Prop() id: string;\n\n /**\n * Whether the selector is disabled. Users cannot interact with the selector when disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the selector is in a read-only state. Users can see the value but cannot modify it.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Size variant controlling the padding and spacing of the selector.\n * - 'small': Compact spacing for data-heavy interfaces\n * - 'normal': Standard spacing (default)\n * - 'large': Generous spacing for accessibility\n */\n @Prop() size: InputSize = 'normal';\n\n /**\n * Margin variant for the input spacing.\n * - 'none': No margin\n * - 'dense': Minimal margin spacing\n * - 'normal': Standard margin spacing (default)\n */\n @Prop() margin: InputMargin = 'normal';\n\n /**\n * Internal state to control the visibility of the dropdown options.\n * @internal\n */\n @State() isOpen = false;\n\n /**\n * Internal state to manage selected options for multi-select mode.\n * @internal\n */\n @State() selectedOptions: Array<{ value: string; label: string }> = [];\n\n /**\n * Internal state to manage the selected option for single-select mode.\n * @internal\n */\n @State() selectedOption: { value: string; label: string } | null = null;\n\n /**\n * Internal error message state. Manages display of validation errors.\n * @internal\n */\n @State() errorMessage: string;\n\n private popperInstance: PopperInstance;\n\n /**\n * Updates the error message when the error prop changes.\n * @internal\n */\n @Watch('error')\n updateError() {\n this.errorMessage = this.error;\n }\n\n /**\n * Updates the selection when the `initialValue` prop changes.\n * @param newValue - The new initial value.\n * @internal\n */\n @Watch('initialValue')\n initialValueChanged(newValue: string) {\n if (newValue !== undefined) {\n this.setSelectionFromValue(newValue);\n }\n }\n\n /**\n * Updates the selection when the `value` prop changes.\n * @internal\n */\n @Watch('value')\n valueChanged() {\n if (this.value !== undefined) {\n this.setSelectionFromValue(this.value);\n }\n }\n\n /**\n * Handles clicks outside the component to close the dropdown.\n * @param event - The mouse event.\n * @internal\n */\n @Listen('click', { target: 'document' })\n handleClickOutside(event: MouseEvent) {\n if (this.isOpen && !event.composedPath().includes(this.el)) {\n this.isOpen = false;\n }\n }\n\n /**\n * Component lifecycle method. Initializes error message and selection state.\n * @internal\n */\n componentWillLoad() {\n if (this.error) {\n this.errorMessage = this.error;\n }\n\n const initValue = this.initialValue || this.value;\n if (initValue) {\n this.setSelectionFromValue(initValue);\n }\n }\n\n /**\n * Component lifecycle method. Destroys the Popper.js instance when the component is removed from the DOM.\n * @internal\n */\n disconnectedCallback() {\n this.destroyPopper();\n }\n\n /**\n * Handles the blur event on the selector. Delays closing the dropdown to allow option clicks.\n * @internal\n */\n handleBlur = () => {\n setTimeout(() => {\n this.isOpen = false;\n }, 200);\n };\n\n /**\n * Prevents the blur event on the main input when an option is clicked.\n * @param event - The mouse event.\n * @internal\n */\n handleOptionMouseDown = (event: MouseEvent) => {\n event.preventDefault();\n };\n\n /**\n * Watches for changes in the `isOpen` state and sets up/destroys the Popper.js instance accordingly.\n * @param isOpen - The new state of `isOpen`.\n * @internal\n */\n @Watch('isOpen')\n handleOpenChange(isOpen: boolean) {\n if (isOpen) {\n requestAnimationFrame(() => this.setupPopper());\n } else {\n this.destroyPopper();\n }\n }\n\n /**\n * Toggles the visibility of the dropdown options.\n * @internal\n */\n toggleDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n this.isOpen = !this.isOpen;\n }\n\n /**\n * Sets up the Popper.js instance for positioning the dropdown.\n * @internal\n */\n setupPopper() {\n const referenceEl = this.el.shadowRoot.querySelector('.selected-option');\n const popperEl = this.el.shadowRoot.querySelector('.options-list');\n\n if (referenceEl && popperEl) {\n this.popperInstance = createPopper(referenceEl, popperEl as HTMLElement, {\n strategy: 'fixed',\n placement: 'bottom-start',\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 4],\n },\n },\n {\n name: 'preventOverflow',\n options: {\n padding: 8,\n },\n },\n {\n name: 'flip',\n },\n {\n name: 'sameWidth',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: ({ state }) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n },\n ],\n });\n }\n }\n\n /**\n * Destroys the Popper.js instance.\n * @internal\n */\n destroyPopper() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Sets the selected option(s) based on a provided value string.\n * @param value - The value string (comma-separated for multi-select).\n * @internal\n */\n setSelectionFromValue(value: string) {\n if (!value || this.options.length === 0) {\n if (this.multiSelect) {\n this.selectedOptions = [];\n } else {\n this.selectedOption = null;\n }\n return;\n }\n\n if (this.multiSelect) {\n const values = value.split(',').map(v => v.trim()).filter(v => v);\n this.selectedOptions = this.options.filter(option => values.includes(option.value));\n } else {\n const option = this.options.find(opt => opt.value === value);\n this.selectedOption = option || null;\n }\n }\n\n /**\n * Re-applies the current selection when the `options` prop changes.\n * @internal\n */\n @Watch('options')\n optionsChanged() {\n const currentValue = this.multiSelect\n ? this.selectedOptions.map(option => option.value).join(',')\n : this.selectedOption?.value || '';\n\n if (currentValue) {\n this.setSelectionFromValue(currentValue);\n }\n }\n\n /**\n * Handles the selection of an option from the dropdown.\n * @param option - The selected option object.\n * @internal\n */\n selectOption(option: { value: string; label: string }) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.multiSelect) {\n const isSelected = this.selectedOptions.some(selected => selected.value === option.value);\n if (isSelected) {\n this.selectedOptions = this.selectedOptions.filter(selected => selected.value !== option.value);\n } else {\n this.selectedOptions = [...this.selectedOptions, option];\n }\n } else {\n this.selectedOption = option;\n this.isOpen = false;\n }\n\n this.updateValueProp();\n this.emitSelectedOptions();\n\n const selectedOptionIndex = this.options.findIndex(opt => opt.value === option.value);\n if (selectedOptionIndex !== -1) {\n const selectedOptionElement = document.querySelector(`.options-list li:nth-child(${selectedOptionIndex + 1})`);\n if (selectedOptionElement) {\n selectedOptionElement.classList.toggle('selected');\n }\n }\n }\n\n /**\n * Updates the mutable `value` prop to reflect the current selection.\n * @internal\n */\n updateValueProp() {\n if (this.multiSelect) {\n this.value = this.selectedOptions.map(option => option.value).join(',');\n } else {\n this.value = this.selectedOption ? this.selectedOption.value : '';\n }\n }\n\n /**\n * Emits custom `change` and `input` events with the current selection.\n * @event change\n * @event input\n * @param {string} value - The current selected value(s), comma-separated for multi-select.\n * @internal\n */\n emitSelectedOptions() {\n let standardValue;\n\n if (this.multiSelect) {\n standardValue = this.selectedOptions.map(option => option.value).join(',');\n } else {\n standardValue = this.selectedOption ? this.selectedOption.value : '';\n }\n\n const changeEvent = new CustomEvent('change', {\n detail: standardValue,\n bubbles: true,\n composed: true\n });\n this.el.dispatchEvent(changeEvent);\n\n const inputEvent = new CustomEvent('input', {\n detail: standardValue,\n bubbles: true,\n composed: true\n });\n this.el.dispatchEvent(inputEvent);\n }\n\n /**\n * Renders the UDP Selector component.\n * @returns JSX element.\n * @internal\n */\n render() {\n const isError = !!this.errorMessage;\n\n const selectedOptionClasses = {\n 'selected-option': true,\n 'focused': this.isOpen,\n };\n\n const hasSelection = this.multiSelect ? this.selectedOptions.length > 0 : !!this.selectedOption;\n\n return (\n <Host\n class={{\n 'udp-input': true,\n 'udp-selector': true,\n 'udp-input--error': isError,\n 'udp-input--disabled': this.disabled,\n 'udp-input--readonly': this.readonly,\n 'udp-input--required': this.required,\n 'udp-input--large': this.large,\n [`udp-input--size-${this.size}`]: true,\n [`udp-input--margin-${this.margin}`]: true,\n }}\n aria-invalid={isError ? 'true' : 'false'}\n aria-required={this.required ? 'true' : 'false'}\n >\n <div class=\"bx--form-item\">\n {this.label && (\n <unity-typography variant=\"caption-text\">\n <label htmlFor={this.id} class=\"bx--label\">\n {this.label}\n {this.required ? '*' : ''}\n </label>\n </unity-typography>\n )}\n <div class=\"udp-selector__container\">\n <div\n class={selectedOptionClasses}\n onClick={() => this.toggleDropdown()}\n onBlur={this.handleBlur}\n tabindex={this.disabled || this.readonly ? '-1' : '0'}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={this.isOpen.toString()}\n id={'udpRecord-udp-selector-' + this.id}\n // @ts-ignore\n udprecordid={'udpRecord-udp-selector-' + this.id}\n >\n <div\n class={{\n 'selected-option-label': true,\n 'placeholder': !hasSelection,\n }}\n >\n {this.multiSelect\n ? this.selectedOptions.length > 0\n ? this.selectedOptions.map(option => option.label).join(', ')\n : 'Select option(s)'\n : this.selectedOption\n ? this.selectedOption.label\n : 'Select an option'}\n </div>\n {this.multiSelect && this.selectedOptions.length > 0 && <span class=\"checkmark\"></span>}\n <div class=\"arrow\"></div>\n </div>\n {this.isOpen && (\n <ul class=\"options-list\">\n {this.options.map(option => (\n <unity-typography variant=\"button\">\n <li class={this.isOptionSelected(option) ? 'selected' : ''} onClick={() => this.selectOption(option)} onMouseDown={this.handleOptionMouseDown}>\n {option.label}\n {this.isOptionSelected(option) && <span class=\"checkmark\"></span>}\n </li>\n </unity-typography>\n ))}\n </ul>\n )}\n </div>\n {this.errorMessage && (\n <div class=\"error-message\">\n <unity-typography variant=\"caption-text\" color=\"error\">\n {this.errorMessage}\n </unity-typography>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n /**\n * Checks if a given option is currently selected.\n * @param option - The option to check.\n * @returns True if the option is selected, false otherwise.\n * @internal\n */\n isOptionSelected(option: { value: string; label: string }) {\n if (this.multiSelect) {\n return this.selectedOptions.some(selected => selected.value === option.value);\n } else {\n return this.selectedOption && this.selectedOption.value === option.value;\n }\n }\n}\n","/* udp-skeleton-loading.css */\n.skeleton-loader {\n background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);\n background-size: 1000px 100%;\n display: inline-block;\n position: relative;\n overflow: hidden;\n }\n \n /* Animation */\n .skeleton-loader::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-image: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.5), transparent);\n animation: load 1.5s infinite;\n }\n \n @keyframes load {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(100%);\n }\n }\n ","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'udp-skeleton-loading',\n styleUrl: 'udp-skeleton-loading.css',\n shadow: true\n})\nexport class UdpSkeletonLoading {\n // You can use properties to define the size, shape, etc.\n @Prop() width: string = '100%';\n @Prop() height: string = '20px';\n @Prop() borderRadius: string = '4px';\n\n render() {\n return (\n <div class=\"skeleton-loader\" style={{ width: this.width, height: this.height, borderRadius: this.borderRadius }}>\n {/* Additional markup if needed */}\n </div>\n );\n }\n}\n",".tab-panel {\n display: none;\n background-color: #ffffff;\n }\n \n .tab-panel.active {\n display: block;\n }\n \n\n ","import { Component, h, Prop, Watch } from '@stencil/core';\n\n@Component({\n tag: 'udp-tab',\n styleUrl: 'udp-tab.css',\n})\nexport class UdpTab {\n @Prop() title: string;\n @Prop() active: boolean;\n\n @Watch('active')\n activeChanged() {\n // Handle the active state change, if needed\n }\n\n render() {\n return (\n <div class={{ 'tab-panel': true, 'active': this.active }}>\n <slot></slot>\n </div>\n );\n }\n}\n",".tab-header {\n display: flex;\n background-color: #ffffff;\n border-bottom: 1px solid #e0e0e0;\n }\n \n .tab-header button {\n flex-grow: 1;\n padding: 16px;\n font-size: 14px;\n text-align: center;\n border: none;\n background: none;\n cursor: pointer;\n outline: none;\n transition: all 0.3s ease;\n }\n \n .tab-header button.active {\n border-bottom: 2px solid 'var(--secondary-color)';\n font-weight: 600;\n }\n \n .tab-content {\n display: flex;\n flex-direction: column;\n padding: 16px;\n background-color: #ffffff;\n }\n \n .tab-header button {\n cursor: pointer;\n border: none;\n padding: 16px;\n background-color: transparent;\n color: #757575;\n }\n \n .tab-header button.active {\n border-bottom: 2px solid #344861;\n color: #344861;\n font-weight: 600;\n }\n ","import { Component, h, State } from '@stencil/core';\n\n@Component({\n tag: 'udp-tabs',\n styleUrl: 'udp-tabs.css',\n})\nexport class UdpTabs {\n @State() activeTab: number = 0;\n\n tabClicked(tabIndex: number) {\n this.activeTab = tabIndex;\n }\n\n render() {\n return (\n <div>\n <div class=\"tab-header\">\n <slot name=\"tab-title\">\n {/* Titles go here */}\n </slot>\n </div>\n <div>\n <slot></slot>\n </div>\n </div>\n );\n }\n}\n","body {\n font-family: var(--font-family);\n}\n\n:host {\n display: block;\n}\n\n/* Reset margins for all typography elements */\nh1, h2, h3, h4, h5, h6, p, span {\n margin: 0;\n padding: 0;\n}\n\n/* Add specific margins only when gutterBottom prop is true */\n:host([gutterBottom]) h1,\n:host([gutterBottom]) h2,\n:host([gutterBottom]) h3,\n:host([gutterBottom]) h4,\n:host([gutterBottom]) h5,\n:host([gutterBottom]) h6,\n:host([gutterBottom]) p,\n:host([gutterBottom]) span {\n margin-bottom: var(--spacing-02);\n}\n\n/* Body Text */\n.body1 {\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n font-family: var(--font-family);\n}\n\n.body2 {\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n font-family: var(--font-family);\n}\n\n/* Headings */\nh1 {\n font-size: var(--h1-font-size);\n font-weight: var(--h1-font-weight);\n line-height: var(--h1-line-height);\n font-family: var(--font-family);\n}\n\nh2 {\n font-size: var(--h2-font-size);\n font-weight: var(--h2-font-weight);\n line-height: var(--h2-line-height);\n font-family: var(--font-family);\n}\n\nh3 {\n font-size: var(--h3-font-size);\n font-weight: var(--h3-font-weight);\n line-height: var(--h3-line-height);\n font-family: var(--font-family);\n}\n\nh4 {\n font-size: var(--h4-font-size);\n font-weight: var(--h4-font-weight);\n line-height: var(--h4-line-height);\n font-family: var(--font-family);\n}\n\nh5 {\n font-size: var(--h5-font-size);\n font-weight: var(--h5-font-weight);\n line-height: var(--h5-line-height);\n font-family: var(--font-family);\n}\n\nh6 {\n font-size: var(--h6-font-size);\n font-weight: var(--h6-font-weight);\n line-height: var(--h6-line-height);\n font-family: var(--font-family);\n}\n\n/* Body */\np {\n font-size: var(--body-font-size);\n font-weight: var(--body-font-weight);\n line-height: var(--body-line-height);\n font-family: var(--font-family);\n}\n\n/* Caption Text */\n.caption-text {\n font-size: var(--caption-text-font-size);\n font-weight: var(--caption-text-font-weight);\n line-height: var(--caption-text-line-height);\n font-family: var(--font-family);\n}\n\n/* Data Display One */\n.data-display-one {\n font-size: var(--data-display-one-font-size);\n font-weight: var(--data-display-one-font-weight);\n line-height: var(--data-display-one-line-height);\n font-family: var(--font-family);\n}\n\n/* Data Display Two */\n.data-display-two {\n font-size: var(--data-display-two-font-size);\n font-weight: var(--data-display-two-font-weight);\n line-height: var(--data-display-two-line-height);\n font-family: var(--font-family);\n}\n\n/* Data Display Three */\n.data-display-three {\n font-size: var(--data-display-three-font-size);\n font-weight: var(--data-display-three-font-weight);\n line-height: var(--data-display-three-line-height);\n font-family: var(--font-family);\n}\n\n/* Data Display Four */\n.data-display-four {\n font-size: var(--data-display-four-font-size);\n font-weight: var(--data-display-four-font-weight);\n line-height: var(--data-display-four-line-height);\n font-family: var(--font-family);\n}\n\n/* Button */\n.button {\n font-size: var(--button-font-size);\n font-weight: var(--button-font-weight);\n line-height: var(--button-line-height);\n font-family: var(--font-family);\n}\n\n/* Add this after your existing styles */\n\n/* Bold modifier */\n.bold {\n font-weight: var(--font-weight-bold, 700) !important;\n}\n\n/* Add after existing styles */\n\n/* Color variants */\n.color-main {\n color: var(--text-main);\n}\n\n.color-textSecondary {\n color: var(--text-secondary);\n}\n\n.color-primary {\n color: var(--primary-color);\n}\n\n.color-secondary {\n color: var(--secondary-color);\n}\n\n.color-disabled {\n color: var(--text-disabled);\n}\n\n.color-hint {\n color: var(--text-hint);\n}\n\n/* Add this to your color variants section */\n.color-inherit {\n color: inherit;\n}\n\n/* Error color variant for form error messages */\n.color-error {\n color: var(--error-color-main, #d32f2f) !important;\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { TypographyVariant, TypographyColor, UnityTypographyProps } from './types';\n\n\n@Component({\n tag: 'unity-typography',\n styleUrl: 'unity-typography.css',\n shadow: true\n})\nexport class typography implements UnityTypographyProps {\n @Prop() variant: TypographyVariant = 'body';\n @Prop() gutterBottom: boolean = false;\n @Prop() bold: boolean = false;\n @Prop() color: TypographyColor = 'main';\n\n private getClasses(baseClass: string): { [key: string]: boolean } {\n return {\n [baseClass]: true,\n 'bold': this.bold,\n [`color-${this.color}`]: true\n };\n }\n\n render() {\n if (this.variant === 'body') {\n return <span class={this.getClasses('body')}><slot /></span>;\n }\n\n switch (this.variant) {\n case 'h1':\n return <h1 class={this.getClasses('h1')}><slot /></h1>;\n case 'h2':\n return <h2 class={this.getClasses('h2')}><slot /></h2>;\n case 'h3':\n return <h3 class={this.getClasses('h3')}><slot /></h3>;\n case 'h4':\n return <h4 class={this.getClasses('h4')}><slot /></h4>;\n case 'h5':\n return <h5 class={this.getClasses('h5')}><slot /></h5>;\n case 'h6':\n return <h6 class={this.getClasses('h6')}><slot /></h6>;\n case 'body1':\n return <p class={this.getClasses('body1')}><slot /></p>;\n case 'body2':\n return <p class={this.getClasses('body2')}><slot /></p>;\n case 'caption-text':\n return <span class={this.getClasses('caption-text')}><slot /></span>;\n case 'data-display-one':\n return <span class={this.getClasses('data-display-one')}><slot /></span>;\n case 'data-display-two':\n return <span class={this.getClasses('data-display-two')}><slot /></span>;\n case 'data-display-three':\n return <span class={this.getClasses('data-display-three')}><slot /></span>;\n case 'data-display-four':\n return <span class={this.getClasses('data-display-four')}><slot /></span>;\n case 'button':\n return <span class={this.getClasses('button')}><slot /></span>;\n default:\n return <p class={this.getClasses('body1')}><slot /></p>;\n }\n }\n}\n",":host {\n display: block;\n width: 100%;\n box-sizing: border-box;\n }\n \n .alert-banner {\n display: flex; /* Use flex display for horizontal alignment */\n align-items: center; /* Center items vertically */\n justify-content: space-between; /* Space between text and button */\n padding: 5px;\n padding-left: 24px;\n padding-right: 8px;\n box-sizing: border-box;\n background-color: var(--success-color-light); /* Use a variable for background */\n color: #000;\n \n}\n\n .banner-group {\n display: flex;\n width: 500px;\n /* flex-direction: column;\n align-items: center;\n justify-content: center; */\n }\n \n .info {\n background-color: var(--success-color-light); /* Adjust colors as needed */\n color: #000;\n }\n \n .warning {\n background-color: var(--warning-color-main);\n color: #000;\n }\n \n .error {\n background-color: var(--error-color-light);\n color: #000;\n }\n \n .success {\n background-color: var(--success-color-light);\n color: #000;\n }\n \n\n .stencil-icon-button {\n /* your styles for the icon button */\n margin-left: auto; /* Pushes the button to the right */\n}","import { Component, Prop, h } from '@stencil/core';\n// import Reset16 from '@carbon/icons/es/reset/16';\n\n@Component({\n tag: 'upd-alert-banner',\n styleUrl: 'upd-alert-banner.css',\n shadow: true,\n})\nexport class UpdAlertBanner {\n // Define properties here\n @Prop() type: 'info' | 'warning' | 'error' | 'success' = 'info';\n @Prop() message: string = '';\n @Prop() onClick: () => void;\n\n render() {\n return (\n <div class={`alert-banner ${this.type}`}>\n <unity-typography variant=\"data-display-three\"> {this.message} </unity-typography>\n {/* <stencil-icon-button icon={Reset16} showLabel={false} onClick={this.onClick} tooltip='Refresh Search' ></stencil-icon-button> */}\n </div>\n );\n }\n}\n"],"version":3}
|