@3ddv/software-division-components 1.0.2 → 1.1.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/dvm/neighbors/neighbors.component.d.ts +41 -0
- package/dvm/neighbors/neighbors.component.d.ts.map +1 -0
- package/dvm/neighbors/public-api.d.ts +3 -0
- package/{dist/dvm → dvm}/neighbors/public-api.d.ts.map +1 -1
- package/{dist/dvm → dvm}/neighbors/types.d.ts +6 -0
- package/{dist/dvm → dvm}/neighbors/types.d.ts.map +1 -1
- package/dvm/popover/base-popover.component.d.ts +28 -0
- package/dvm/popover/base-popover.component.d.ts.map +1 -0
- package/dvm/popover/popover.component.d.ts +69 -0
- package/dvm/popover/popover.component.d.ts.map +1 -0
- package/{dist/dvm → dvm}/popover/popover.config.d.ts +7 -2
- package/dvm/popover/popover.config.d.ts.map +1 -0
- package/{dist/dvm → dvm}/popover/popover.service.d.ts +57 -2
- package/dvm/popover/popover.service.d.ts.map +1 -0
- package/dvm/popover/public-api.d.ts +11 -0
- package/dvm/popover/public-api.d.ts.map +1 -0
- package/dvm/popover/seat-popover/seat-popover.component.d.ts +21 -0
- package/dvm/popover/seat-popover/seat-popover.component.d.ts.map +1 -0
- package/dvm/popover/section-popover/section-popover.component.d.ts +32 -0
- package/dvm/popover/section-popover/section-popover.component.d.ts.map +1 -0
- package/dvm/popover/services/dvm-popover-positioner.service.d.ts +30 -0
- package/dvm/popover/services/dvm-popover-positioner.service.d.ts.map +1 -0
- package/dvm/popover/services/popover-manager.service.d.ts +29 -0
- package/dvm/popover/services/popover-manager.service.d.ts.map +1 -0
- package/dvm/popover/transformers/base-popover-data-transformer.d.ts +29 -0
- package/dvm/popover/transformers/base-popover-data-transformer.d.ts.map +1 -0
- package/dvm/popover/types.d.ts +79 -0
- package/dvm/popover/types.d.ts.map +1 -0
- package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components.mjs +1009 -356
- package/fesm2022/3ddv-software-division-components.mjs.map +1 -0
- package/package.json +180 -130
- package/{dist/styles.css → styles.css} +1 -1
- package/README.backup.md +0 -575
- package/dist/README.md +0 -575
- package/dist/dvm/neighbors/neighbors.component.d.ts +0 -45
- package/dist/dvm/neighbors/neighbors.component.d.ts.map +0 -1
- package/dist/dvm/neighbors/public-api.d.ts +0 -3
- package/dist/dvm/popover/popover.component.d.ts +0 -39
- package/dist/dvm/popover/popover.component.d.ts.map +0 -1
- package/dist/dvm/popover/popover.config.d.ts.map +0 -1
- package/dist/dvm/popover/popover.service.d.ts.map +0 -1
- package/dist/dvm/popover/public-api.d.ts +0 -5
- package/dist/dvm/popover/public-api.d.ts.map +0 -1
- package/dist/dvm/popover/types.d.ts +0 -33
- package/dist/dvm/popover/types.d.ts.map +0 -1
- package/dist/fesm2022/3ddv-software-division-components.mjs.map +0 -1
- /package/{dist/3ddv-software-division-components.d.ts.map → 3ddv-software-division-components.d.ts.map} +0 -0
- /package/{dist/backoffice → backoffice}/checkbox/checkbox.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/checkbox/checkbox.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/checkbox/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/checkbox/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/checkbox/public-api.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/checkbox/public-api.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/datepicker.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/datepicker.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/public-api.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/public-api.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-calendar-helm/src/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-calendar-helm/src/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-icon-helm/src/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-icon-helm/src/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-popover-helm/src/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-popover-helm/src/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/input/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/input/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/input/input.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/input/input.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/input/public-api.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/input/public-api.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/public-api.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/public-api.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/radio/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/radio/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/radio/public-api.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/radio/public-api.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/radio/radio.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/radio/radio.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/pagination/pagination.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/pagination/pagination.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/selection-table-head/selection-table-head.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/selection-table-head/selection-table-head.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/selection-table-row/selection-table-row.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/selection-table-row/selection-table-row.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/sort-header-button/sort-header-button.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/_components/sort-header-button/sort-header-button.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/public-api.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/public-api.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/table.component.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/table.component.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-icon-helm/src/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-icon-helm/src/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-table-helm/src/index.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-table-helm/src/index.d.ts.map +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-table-helm/src/lib/hlm-table.d.ts +0 -0
- /package/{dist/backoffice → backoffice}/table/ui/ui-table-helm/src/lib/hlm-table.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart/cart.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart/cart.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart/cart.service.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart/cart.service.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart-item/cart-item.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart-item/cart-item.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart-item/cart-item.service.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart-item/cart-item.service.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart-item/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart-item/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/cart-item/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/cart-item/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/legend/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/legend/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/legend/legend.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/legend/legend.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/legend/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/legend/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/legend/types.d.ts +0 -0
- /package/{dist/dvm → dvm}/legend/types.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/legend/ui/legend-elements/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/legend/ui/legend-elements/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/legend/ui/legend-elements/legend-elements.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/legend/ui/legend-elements/legend-elements.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/loader/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/loader/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/loader/loader.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/loader/loader.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/loader/loader.service.d.ts +0 -0
- /package/{dist/dvm → dvm}/loader/loader.service.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/loader/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/loader/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/map-loader/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/map-loader/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/map-loader/map-loader.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/map-loader/map-loader.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/map-loader/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/map-loader/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/neighbors/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/neighbors/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/popover/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/popover/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/stepper/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/stepper/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/stepper/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/stepper/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/stepper/stepper.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/stepper/stepper.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/stepper/types.d.ts +0 -0
- /package/{dist/dvm → dvm}/stepper/types.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/index.d.ts +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/index.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/public-api.d.ts +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/public-api.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/ticket-info-item.component.d.ts +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/ticket-info-item.component.d.ts.map +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/ticket-info-item.service.d.ts +0 -0
- /package/{dist/dvm → dvm}/ticket-info-item/ticket-info-item.service.d.ts.map +0 -0
- /package/{dist/generic → generic}/add-digital-wallet/add-digital-wallet.component.d.ts +0 -0
- /package/{dist/generic → generic}/add-digital-wallet/add-digital-wallet.component.d.ts.map +0 -0
- /package/{dist/generic → generic}/add-digital-wallet/index.d.ts +0 -0
- /package/{dist/generic → generic}/add-digital-wallet/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/add-digital-wallet/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/add-digital-wallet/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/braintree/braintree.component.d.ts +0 -0
- /package/{dist/generic → generic}/braintree/braintree.component.d.ts.map +0 -0
- /package/{dist/generic → generic}/braintree/index.d.ts +0 -0
- /package/{dist/generic → generic}/braintree/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/braintree/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/braintree/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/braintree/types.d.ts +0 -0
- /package/{dist/generic → generic}/braintree/types.d.ts.map +0 -0
- /package/{dist/generic → generic}/button/button.component.d.ts +0 -0
- /package/{dist/generic → generic}/button/button.component.d.ts.map +0 -0
- /package/{dist/generic → generic}/button/index.d.ts +0 -0
- /package/{dist/generic → generic}/button/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/button/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/button/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/button/ui/ui-button-helm/src/index.d.ts +0 -0
- /package/{dist/generic → generic}/button/ui/ui-button-helm/src/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/button/ui/ui-button-helm/src/lib/hlm-button.d.ts +0 -0
- /package/{dist/generic → generic}/button/ui/ui-button-helm/src/lib/hlm-button.d.ts.map +0 -0
- /package/{dist/generic → generic}/button/ui/ui-button-helm/src/lib/hlm-button.token.d.ts +0 -0
- /package/{dist/generic → generic}/button/ui/ui-button-helm/src/lib/hlm-button.token.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/dialog.component.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/dialog.component.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/index.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/index.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.d.ts.map +0 -0
- /package/{dist/generic → generic}/dialog/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/dialog/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/drawer/drawer.component.d.ts +0 -0
- /package/{dist/generic → generic}/drawer/drawer.component.d.ts.map +0 -0
- /package/{dist/generic → generic}/drawer/drawer.service.d.ts +0 -0
- /package/{dist/generic → generic}/drawer/drawer.service.d.ts.map +0 -0
- /package/{dist/generic → generic}/drawer/index.d.ts +0 -0
- /package/{dist/generic → generic}/drawer/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/drawer/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/drawer/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/icon/icon.component.d.ts +0 -0
- /package/{dist/generic → generic}/icon/icon.component.d.ts.map +0 -0
- /package/{dist/generic → generic}/icon/index.d.ts +0 -0
- /package/{dist/generic → generic}/icon/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/icon/lib/ui-icon-helm/src/index.d.ts +0 -0
- /package/{dist/generic → generic}/icon/lib/ui-icon-helm/src/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/icon/lib/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -0
- /package/{dist/generic → generic}/icon/lib/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -0
- /package/{dist/generic → generic}/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -0
- /package/{dist/generic → generic}/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -0
- /package/{dist/generic → generic}/icon/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/icon/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/index.d.ts +0 -0
- /package/{dist/generic → generic}/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/index.d.ts +0 -0
- /package/{dist/generic → generic}/select/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-content.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-content.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-group.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-group.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-label.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-label.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-option.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-option.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-scroll-down.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-scroll-down.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-scroll-up.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-scroll-up.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-trigger.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-trigger.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-value.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select-value.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/hlm-select.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/lib/index.d.ts +0 -0
- /package/{dist/generic → generic}/select/lib/index.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/public-api.d.ts +0 -0
- /package/{dist/generic → generic}/select/public-api.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/select.component.d.ts +0 -0
- /package/{dist/generic → generic}/select/select.component.d.ts.map +0 -0
- /package/{dist/generic → generic}/select/types.d.ts +0 -0
- /package/{dist/generic → generic}/select/types.d.ts.map +0 -0
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/public-api.d.ts → public-api.d.ts} +0 -0
- /package/{dist/public-api.d.ts.map → public-api.d.ts.map} +0 -0
- /package/{dist/shared → shared}/declare-theme-variables/declare-theme-variables.d.ts +0 -0
- /package/{dist/shared → shared}/declare-theme-variables/declare-theme-variables.d.ts.map +0 -0
- /package/{dist/shared → shared}/declare-theme-variables/index.d.ts +0 -0
- /package/{dist/shared → shared}/declare-theme-variables/index.d.ts.map +0 -0
- /package/{dist/shared → shared}/lib-provider/config-token.d.ts +0 -0
- /package/{dist/shared → shared}/lib-provider/config-token.d.ts.map +0 -0
- /package/{dist/shared → shared}/lib-provider/index.d.ts +0 -0
- /package/{dist/shared → shared}/lib-provider/index.d.ts.map +0 -0
- /package/{dist/shared → shared}/lib-provider/provide-sdc.d.ts +0 -0
- /package/{dist/shared → shared}/lib-provider/provide-sdc.d.ts.map +0 -0
- /package/{dist/shared → shared}/lib-provider/public-api.d.ts +0 -0
- /package/{dist/shared → shared}/lib-provider/public-api.d.ts.map +0 -0
- /package/{dist/shared → shared}/screen-observer/index.d.ts +0 -0
- /package/{dist/shared → shared}/screen-observer/index.d.ts.map +0 -0
- /package/{dist/shared → shared}/screen-observer/provide-screen-observer.d.ts +0 -0
- /package/{dist/shared → shared}/screen-observer/provide-screen-observer.d.ts.map +0 -0
- /package/{dist/shared → shared}/screen-observer/screen-observer.d.ts +0 -0
- /package/{dist/shared → shared}/screen-observer/screen-observer.d.ts.map +0 -0
- /package/{dist/shared → shared}/types.d.ts +0 -0
- /package/{dist/shared → shared}/types.d.ts.map +0 -0
- /package/{dist/tailwind.config.js → tailwind.config.js} +0 -0
- /package/{dist/types → types}/sizes.type.d.ts +0 -0
- /package/{dist/types → types}/sizes.type.d.ts.map +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, computed, signal, Component, InjectionToken, inject, Directive, NgModule, booleanAttribute, model, numberAttribute, viewChild, ChangeDetectionStrategy, Renderer2, ElementRef, effect, forwardRef, output, Injectable, ChangeDetectorRef, ViewChild, ApplicationRef, EnvironmentInjector, createComponent, Input, DestroyRef, untracked, ViewEncapsulation, contentChild } from '@angular/core';
|
|
2
|
+
import { input, computed, signal, Component, InjectionToken, inject, Directive, NgModule, booleanAttribute, model, numberAttribute, viewChild, ChangeDetectionStrategy, Renderer2, ElementRef, effect, forwardRef, output, Injectable, ChangeDetectorRef, EventEmitter, Output, ViewChild, ApplicationRef, EnvironmentInjector, createEnvironmentInjector, createComponent, TemplateRef, Input, Inject, DestroyRef, untracked, ViewEncapsulation, contentChild } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/forms';
|
|
4
4
|
import { FormSubmittedEvent, ReactiveFormsModule, NG_VALUE_ACCESSOR, TouchedChangeEvent, PristineChangeEvent, FormsModule, FormControl } from '@angular/forms';
|
|
5
5
|
import { injectDateAdapter, provideDateAdapter, BrnNativeDateAdapter } from '@spartan-ng/brain/date-time';
|
|
@@ -9,20 +9,21 @@ import { hlm, injectExposesStateProvider, injectCustomClassSettable, injectExpos
|
|
|
9
9
|
import { BrnPopover, BrnPopoverTrigger, BrnPopoverContent } from '@spartan-ng/brain/popover';
|
|
10
10
|
import { injectBrnCalendarI18n, BrnCalendar, BrnCalendarHeader, BrnCalendarNextButton, BrnCalendarPreviousButton, BrnCalendarWeekday, BrnCalendarWeek, BrnCalendarCellButton, BrnCalendarCell, BrnCalendarGrid, BrnCalendarMulti } from '@spartan-ng/brain/calendar';
|
|
11
11
|
import { cva } from 'class-variance-authority';
|
|
12
|
-
import { Subject, takeUntil as takeUntil$1, mergeMap, skip, tap, merge, catchError, map, shareReplay, fromEvent, startWith } from 'rxjs';
|
|
12
|
+
import { Subject, takeUntil as takeUntil$1, mergeMap, skip, tap, merge, catchError, of, map, shareReplay, fromEvent, startWith } from 'rxjs';
|
|
13
13
|
import { takeUntil, map as map$1 } from 'rxjs/operators';
|
|
14
14
|
import { injectFlexRenderContext, FlexRenderDirective, flexRenderComponent, createAngularTable, getPaginationRowModel, getCoreRowModel } from '@tanstack/angular-table';
|
|
15
15
|
export { FlexRenderDirective, createAngularTable, flexRenderComponent, getCoreRowModel, getExpandedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel } from '@tanstack/angular-table';
|
|
16
|
-
import * as i1$
|
|
16
|
+
import * as i1$1 from '@angular/common';
|
|
17
17
|
import { CommonModule, NgOptimizedImage, DOCUMENT, CurrencyPipe, NgComponentOutlet, DatePipe } from '@angular/common';
|
|
18
|
-
import { createTimeline
|
|
18
|
+
import { createTimeline } from 'animejs';
|
|
19
19
|
import { autoUpdate, arrow, computePosition, detectOverflow, inline, hide, autoPlacement, size, flip, shift, offset } from '@floating-ui/dom';
|
|
20
|
+
import { createPopper } from '@popperjs/core';
|
|
20
21
|
import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
|
|
21
|
-
import * as i1$
|
|
22
|
+
import * as i1$2 from '@spartan-ng/brain/dialog';
|
|
22
23
|
import { BrnDialog, BrnDialogOverlay, provideBrnDialogDefaultOptions, BrnDialogRef, injectBrnDialogContext, BrnDialogClose, BrnDialogDescription, BrnDialogTitle, BrnDialogService, cssClassesToArray, DEFAULT_BRN_DIALOG_OPTIONS } from '@spartan-ng/brain/dialog';
|
|
23
24
|
import { HttpClient } from '@angular/common/http';
|
|
24
25
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
25
|
-
import * as i1$
|
|
26
|
+
import * as i1$3 from '@spartan-ng/brain/select';
|
|
26
27
|
import { BrnSelectGroup, BrnSelectLabel, BrnSelectOption, BrnSelect, BrnSelectTrigger, BrnSelectImports } from '@spartan-ng/brain/select';
|
|
27
28
|
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
|
|
28
29
|
|
|
@@ -875,7 +876,7 @@ function injectHlmDatePickerConfig() {
|
|
|
875
876
|
return injectedConfig ? injectedConfig : getDefaultConfig$1();
|
|
876
877
|
}
|
|
877
878
|
|
|
878
|
-
const _c0$
|
|
879
|
+
const _c0$c = ["*"];
|
|
879
880
|
function HlmDatePicker_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
880
881
|
i0.ɵɵtext(0);
|
|
881
882
|
} if (rf & 2) {
|
|
@@ -971,7 +972,7 @@ class HlmDatePicker {
|
|
|
971
972
|
this._popoverState.set('closed');
|
|
972
973
|
}
|
|
973
974
|
static ɵfac = function HlmDatePicker_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HlmDatePicker)(); };
|
|
974
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HlmDatePicker, selectors: [["hlm-date-picker"]], hostAttrs: [1, "block"], inputs: { userClass: [1, "class", "userClass"], styleClass: [1, "styleClass"], min: [1, "min"], max: [1, "max"], disabled: [1, "disabled"], date: [1, "date"], autoCloseOnSelect: [1, "autoCloseOnSelect"], formatDate: [1, "formatDate"], transformDate: [1, "transformDate"] }, outputs: { date: "dateChange", changed: "changed" }, features: [i0.ɵɵProvidersFeature([HLM_DATE_PICKER_VALUE_ACCESSOR, provideIcons({ lucideCalendar })])], ngContentSelectors: _c0$
|
|
975
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HlmDatePicker, selectors: [["hlm-date-picker"]], hostAttrs: [1, "block"], inputs: { userClass: [1, "class", "userClass"], styleClass: [1, "styleClass"], min: [1, "min"], max: [1, "max"], disabled: [1, "disabled"], date: [1, "date"], autoCloseOnSelect: [1, "autoCloseOnSelect"], formatDate: [1, "formatDate"], transformDate: [1, "transformDate"] }, outputs: { date: "dateChange", changed: "changed" }, features: [i0.ɵɵProvidersFeature([HLM_DATE_PICKER_VALUE_ACCESSOR, provideIcons({ lucideCalendar })])], ngContentSelectors: _c0$c, decls: 7, vars: 5, consts: [["sideOffset", "5", 3, "stateChanged", "state"], ["type", "button", "brnPopoverTrigger", "", 3, "disabled"], [1, "truncate"], ["hlm", "", "size", "sm", "name", "lucideCalendar"], ["hlmPopoverContent", "", "class", "w-auto p-0", 3, "class", 4, "brnPopoverContent"], ["hlmPopoverContent", "", 1, "w-auto", "p-0"], ["calendarClass", "border-0 rounded-none", 3, "dateChange", "date", "min", "max", "disabled"]], template: function HlmDatePicker_Template(rf, ctx) { if (rf & 1) {
|
|
975
976
|
i0.ɵɵprojectionDef();
|
|
976
977
|
i0.ɵɵelementStart(0, "brn-popover", 0);
|
|
977
978
|
i0.ɵɵlistener("stateChanged", function HlmDatePicker_Template_brn_popover_stateChanged_0_listener($event) { return ctx._popoverState.set($event); });
|
|
@@ -1047,7 +1048,7 @@ function injectHlmDatePickerMultiConfig() {
|
|
|
1047
1048
|
return injectedConfig ? injectedConfig : getDefaultConfig();
|
|
1048
1049
|
}
|
|
1049
1050
|
|
|
1050
|
-
const _c0$
|
|
1051
|
+
const _c0$b = ["*"];
|
|
1051
1052
|
function HlmDatePickerMulti_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
1052
1053
|
i0.ɵɵtext(0);
|
|
1053
1054
|
} if (rf & 2) {
|
|
@@ -1148,7 +1149,7 @@ class HlmDatePickerMulti {
|
|
|
1148
1149
|
this._popoverState.set('closed');
|
|
1149
1150
|
}
|
|
1150
1151
|
static ɵfac = function HlmDatePickerMulti_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HlmDatePickerMulti)(); };
|
|
1151
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HlmDatePickerMulti, selectors: [["hlm-date-picker-multi"]], hostAttrs: [1, "block"], inputs: { userClass: [1, "class", "userClass"], min: [1, "min"], max: [1, "max"], minSelection: [1, "minSelection"], maxSelection: [1, "maxSelection"], disabled: [1, "disabled"], date: [1, "date"], autoCloseOnMaxSelection: [1, "autoCloseOnMaxSelection"], formatDates: [1, "formatDates"], transformDates: [1, "transformDates"] }, outputs: { date: "dateChange", changed: "changed" }, features: [i0.ɵɵProvidersFeature([HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR, provideIcons({ lucideCalendar })])], ngContentSelectors: _c0$
|
|
1152
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HlmDatePickerMulti, selectors: [["hlm-date-picker-multi"]], hostAttrs: [1, "block"], inputs: { userClass: [1, "class", "userClass"], min: [1, "min"], max: [1, "max"], minSelection: [1, "minSelection"], maxSelection: [1, "maxSelection"], disabled: [1, "disabled"], date: [1, "date"], autoCloseOnMaxSelection: [1, "autoCloseOnMaxSelection"], formatDates: [1, "formatDates"], transformDates: [1, "transformDates"] }, outputs: { date: "dateChange", changed: "changed" }, features: [i0.ɵɵProvidersFeature([HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR, provideIcons({ lucideCalendar })])], ngContentSelectors: _c0$b, decls: 7, vars: 5, consts: [["sideOffset", "5", 3, "stateChanged", "state"], ["type", "button", "brnPopoverTrigger", "", 3, "disabled"], ["hlm", "", "size", "sm", "name", "lucideCalendar"], [1, "truncate"], ["hlmPopoverContent", "", "class", "w-auto p-0", 4, "brnPopoverContent"], ["hlmPopoverContent", "", 1, "w-auto", "p-0"], ["calendarClass", "border-0 rounded-none", 3, "dateChange", "date", "min", "max", "minSelection", "maxSelection", "disabled"]], template: function HlmDatePickerMulti_Template(rf, ctx) { if (rf & 1) {
|
|
1152
1153
|
i0.ɵɵprojectionDef();
|
|
1153
1154
|
i0.ɵɵelementStart(0, "brn-popover", 0);
|
|
1154
1155
|
i0.ɵɵlistener("stateChanged", function HlmDatePickerMulti_Template_brn_popover_stateChanged_0_listener($event) { return ctx._popoverState.set($event); });
|
|
@@ -2168,7 +2169,7 @@ class RadioComponent {
|
|
|
2168
2169
|
|
|
2169
2170
|
const SIZES = { xxs: 'xxs', xs: 'xs', sm: 'sm', md: 'md', lg: 'lg', xl: 'xl', '2xl': '2xl' };
|
|
2170
2171
|
|
|
2171
|
-
const _c0$
|
|
2172
|
+
const _c0$a = ["*"];
|
|
2172
2173
|
const BUTTON_VARIANTS = {
|
|
2173
2174
|
primary: 'primary',
|
|
2174
2175
|
secondary: 'secondary',
|
|
@@ -2436,7 +2437,7 @@ class ButtonComponent {
|
|
|
2436
2437
|
}, 600);
|
|
2437
2438
|
}
|
|
2438
2439
|
static ɵfac = function ButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ButtonComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
2439
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ButtonComponent, selectors: [["sdc-button"]], inputs: { theme: [1, "theme"], styleClass: [1, "styleClass"], className: [1, "className"], variant: [1, "variant"], size: [1, "size"], type: [1, "type"], disabled: [1, "disabled"], ripple: [1, "ripple"], debounce: [1, "debounce"] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur", isDebounced: "isDebounced" }, ngContentSelectors: _c0$
|
|
2440
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ButtonComponent, selectors: [["sdc-button"]], inputs: { theme: [1, "theme"], styleClass: [1, "styleClass"], className: [1, "className"], variant: [1, "variant"], size: [1, "size"], type: [1, "type"], disabled: [1, "disabled"], ripple: [1, "ripple"], debounce: [1, "debounce"] }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur", isDebounced: "isDebounced" }, ngContentSelectors: _c0$a, decls: 2, vars: 4, consts: [["hlmBtn", "", 3, "click", "focus", "blur", "disabled", "type"]], template: function ButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2440
2441
|
i0.ɵɵprojectionDef();
|
|
2441
2442
|
i0.ɵɵelementStart(0, "button", 0);
|
|
2442
2443
|
i0.ɵɵlistener("click", function ButtonComponent_Template_button_click_0_listener($event) { ctx.handleClick($event); return ctx.createRipple($event); })("focus", function ButtonComponent_Template_button_focus_0_listener($event) { return ctx.handleFocus($event); })("blur", function ButtonComponent_Template_button_blur_0_listener($event) { return ctx.handleBlur($event); });
|
|
@@ -3599,7 +3600,7 @@ class LoaderService {
|
|
|
3599
3600
|
* Public API Surface of software-division-components
|
|
3600
3601
|
*/
|
|
3601
3602
|
|
|
3602
|
-
const _c0$
|
|
3603
|
+
const _c0$9 = ["pill"];
|
|
3603
3604
|
const _c1$3 = ["pillContainer"];
|
|
3604
3605
|
const _c2$1 = ["container"];
|
|
3605
3606
|
class MapLoaderComponent {
|
|
@@ -3740,7 +3741,7 @@ class MapLoaderComponent {
|
|
|
3740
3741
|
}
|
|
3741
3742
|
static ɵfac = function MapLoaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MapLoaderComponent)(); };
|
|
3742
3743
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapLoaderComponent, selectors: [["sdc-map-loader"]], viewQuery: function MapLoaderComponent_Query(rf, ctx) { if (rf & 1) {
|
|
3743
|
-
i0.ɵɵviewQuerySignal(ctx.pill, _c0$
|
|
3744
|
+
i0.ɵɵviewQuerySignal(ctx.pill, _c0$9, 5);
|
|
3744
3745
|
i0.ɵɵviewQuerySignal(ctx.pillContainer, _c1$3, 5);
|
|
3745
3746
|
i0.ɵɵviewQuerySignal(ctx.container, _c2$1, 5);
|
|
3746
3747
|
} if (rf & 2) {
|
|
@@ -3765,113 +3766,53 @@ class MapLoaderComponent {
|
|
|
3765
3766
|
* Public API Surface of software-division-components
|
|
3766
3767
|
*/
|
|
3767
3768
|
|
|
3768
|
-
const _c0$
|
|
3769
|
+
const _c0$8 = ["neighborsContainer"];
|
|
3769
3770
|
const _c1$2 = ["currentSection"];
|
|
3770
3771
|
const _c2 = ["currentSection3d"];
|
|
3771
3772
|
const _c3 = ["leftSectionNumber"];
|
|
3772
3773
|
const _c4 = ["rightSectionNumber"];
|
|
3773
|
-
function NeighborsComponent_Conditional_2_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
3774
|
-
i0.ɵɵelementStart(0, "span", 18, 1);
|
|
3775
|
-
i0.ɵɵtext(2);
|
|
3776
|
-
i0.ɵɵelementEnd();
|
|
3777
|
-
} if (rf & 2) {
|
|
3778
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
3779
|
-
i0.ɵɵadvance(2);
|
|
3780
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.leftSection, " ");
|
|
3781
|
-
} }
|
|
3782
3774
|
function NeighborsComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
3783
3775
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
3784
|
-
i0.ɵɵelementStart(0, "div",
|
|
3785
|
-
i0.ɵɵlistener("click", function NeighborsComponent_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateToSection(ctx_r1.
|
|
3786
|
-
i0.ɵɵelementStart(1, "
|
|
3776
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
3777
|
+
i0.ɵɵlistener("click", function NeighborsComponent_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateToSection(ctx_r1.leftSection)); })("keypress.enter", function NeighborsComponent_Conditional_2_Template_div_keypress_enter_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateToSection(ctx_r1.leftSection)); });
|
|
3778
|
+
i0.ɵɵelementStart(1, "i", 8);
|
|
3787
3779
|
i0.ɵɵnamespaceSVG();
|
|
3788
|
-
i0.ɵɵelementStart(
|
|
3789
|
-
i0.ɵɵelement(
|
|
3780
|
+
i0.ɵɵelementStart(2, "svg", 9);
|
|
3781
|
+
i0.ɵɵelement(3, "path", 10);
|
|
3790
3782
|
i0.ɵɵelementEnd()()();
|
|
3791
|
-
i0.ɵɵnamespaceHTML();
|
|
3792
|
-
i0.ɵɵelementStart(5, "div", 14)(6, "p", 15)(7, "span", 16);
|
|
3793
|
-
i0.ɵɵtext(8);
|
|
3794
|
-
i0.ɵɵelementEnd();
|
|
3795
|
-
i0.ɵɵelementStart(9, "span", 17);
|
|
3796
|
-
i0.ɵɵtext(10);
|
|
3797
|
-
i0.ɵɵelementEnd();
|
|
3798
|
-
i0.ɵɵtemplate(11, NeighborsComponent_Conditional_2_Conditional_11_Template, 3, 1, "span", 18);
|
|
3799
|
-
i0.ɵɵelementEnd()()();
|
|
3800
|
-
} if (rf & 2) {
|
|
3801
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
3802
|
-
i0.ɵɵclassMap(ctx_r1.leftSection === "none" ? "pointer-events-none opacity-0" : "");
|
|
3803
|
-
i0.ɵɵadvance(8);
|
|
3804
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.modeLr() ? "Left Section" : "Section", "\u00A0 ");
|
|
3805
|
-
i0.ɵɵadvance(2);
|
|
3806
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.modeLr() ? "L.Sec" : "Sec", "\u00A0 ");
|
|
3807
|
-
i0.ɵɵadvance();
|
|
3808
|
-
i0.ɵɵconditional(ctx_r1.leftSection !== "none" && !ctx_r1.modeLr() ? 11 : -1);
|
|
3809
3783
|
} }
|
|
3810
3784
|
function NeighborsComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
3811
|
-
i0.ɵɵelementStart(0, "p",
|
|
3812
|
-
i0.ɵɵtext(2, "
|
|
3785
|
+
i0.ɵɵelementStart(0, "p", 5)(1, "span");
|
|
3786
|
+
i0.ɵɵtext(2, "Loading");
|
|
3813
3787
|
i0.ɵɵelementEnd()();
|
|
3814
3788
|
} }
|
|
3815
3789
|
function NeighborsComponent_Conditional_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
3816
|
-
i0.ɵɵelementStart(0, "h3",
|
|
3817
|
-
i0.ɵɵtext(2, "
|
|
3818
|
-
i0.ɵɵelementEnd();
|
|
3819
|
-
i0.ɵɵelementStart(3, "span", 16);
|
|
3820
|
-
i0.ɵɵtext(4, " Sec\u00A0 ");
|
|
3821
|
-
i0.ɵɵelementEnd();
|
|
3822
|
-
i0.ɵɵelement(5, "p", 20, 2);
|
|
3790
|
+
i0.ɵɵelementStart(0, "h3", 11)(1, "span", 12);
|
|
3791
|
+
i0.ɵɵtext(2, "Section ");
|
|
3823
3792
|
i0.ɵɵelementEnd();
|
|
3793
|
+
i0.ɵɵelementStart(3, "span", 13, 1);
|
|
3794
|
+
i0.ɵɵtext(5);
|
|
3795
|
+
i0.ɵɵelementEnd()();
|
|
3824
3796
|
} if (rf & 2) {
|
|
3825
3797
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
3826
|
-
i0.ɵɵadvance();
|
|
3827
|
-
i0.ɵɵ
|
|
3828
|
-
i0.ɵɵadvance(2);
|
|
3829
|
-
i0.ɵɵclassProp("hidden", ctx_r1.is3d);
|
|
3830
|
-
i0.ɵɵadvance(2);
|
|
3831
|
-
i0.ɵɵproperty("innerHTML", ctx_r1.selectedSection, i0.ɵɵsanitizeHtml);
|
|
3798
|
+
i0.ɵɵadvance(5);
|
|
3799
|
+
i0.ɵɵtextInterpolate(ctx_r1.section);
|
|
3832
3800
|
} }
|
|
3833
3801
|
function NeighborsComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
3834
|
-
i0.ɵɵtemplate(0, NeighborsComponent_Conditional_5_Conditional_0_Template,
|
|
3802
|
+
i0.ɵɵtemplate(0, NeighborsComponent_Conditional_5_Conditional_0_Template, 6, 1, "h3", 11);
|
|
3835
3803
|
} if (rf & 2) {
|
|
3836
3804
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
3837
|
-
i0.ɵɵconditional(ctx_r1.
|
|
3838
|
-
} }
|
|
3839
|
-
function NeighborsComponent_Conditional_6_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
3840
|
-
i0.ɵɵelementStart(0, "span", 18, 3);
|
|
3841
|
-
i0.ɵɵtext(2);
|
|
3842
|
-
i0.ɵɵelementEnd();
|
|
3843
|
-
} if (rf & 2) {
|
|
3844
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
3845
|
-
i0.ɵɵadvance(2);
|
|
3846
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.rightSection, " ");
|
|
3805
|
+
i0.ɵɵconditional(ctx_r1.section ? 0 : -1);
|
|
3847
3806
|
} }
|
|
3848
3807
|
function NeighborsComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
3849
3808
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
3850
|
-
i0.ɵɵelementStart(0, "div",
|
|
3851
|
-
i0.ɵɵlistener("click", function NeighborsComponent_Conditional_6_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateToSection(ctx_r1.
|
|
3852
|
-
i0.ɵɵelementStart(1, "
|
|
3809
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
3810
|
+
i0.ɵɵlistener("click", function NeighborsComponent_Conditional_6_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateToSection(ctx_r1.rightSection)); })("keypress.enter", function NeighborsComponent_Conditional_6_Template_div_keypress_enter_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateToSection(ctx_r1.rightSection)); });
|
|
3811
|
+
i0.ɵɵelementStart(1, "i", 8);
|
|
3853
3812
|
i0.ɵɵnamespaceSVG();
|
|
3854
|
-
i0.ɵɵelementStart(
|
|
3855
|
-
i0.ɵɵelement(
|
|
3856
|
-
i0.ɵɵelementEnd()()();
|
|
3857
|
-
i0.ɵɵnamespaceHTML();
|
|
3858
|
-
i0.ɵɵelementStart(5, "div", 14)(6, "p", 15)(7, "span", 16);
|
|
3859
|
-
i0.ɵɵtext(8);
|
|
3860
|
-
i0.ɵɵelementEnd();
|
|
3861
|
-
i0.ɵɵelementStart(9, "span", 17);
|
|
3862
|
-
i0.ɵɵtext(10);
|
|
3863
|
-
i0.ɵɵelementEnd();
|
|
3864
|
-
i0.ɵɵtemplate(11, NeighborsComponent_Conditional_6_Conditional_11_Template, 3, 1, "span", 18);
|
|
3813
|
+
i0.ɵɵelementStart(2, "svg", 9);
|
|
3814
|
+
i0.ɵɵelement(3, "path", 15);
|
|
3865
3815
|
i0.ɵɵelementEnd()()();
|
|
3866
|
-
} if (rf & 2) {
|
|
3867
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
3868
|
-
i0.ɵɵclassMap(ctx_r1.rightSection === "none" ? "pointer-events-none opacity-0" : "");
|
|
3869
|
-
i0.ɵɵadvance(8);
|
|
3870
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.modeLr() ? "Right Section" : "Section", "\u00A0 ");
|
|
3871
|
-
i0.ɵɵadvance(2);
|
|
3872
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.modeLr() ? "R.Sec" : "Sec", "\u00A0 ");
|
|
3873
|
-
i0.ɵɵadvance();
|
|
3874
|
-
i0.ɵɵconditional(ctx_r1.rightSection !== "none" && !ctx_r1.modeLr() ? 11 : -1);
|
|
3875
3816
|
} }
|
|
3876
3817
|
class NeighborsComponent {
|
|
3877
3818
|
// VIEWCHILD
|
|
@@ -3881,16 +3822,21 @@ class NeighborsComponent {
|
|
|
3881
3822
|
leftSectionElement;
|
|
3882
3823
|
rightSectionElement;
|
|
3883
3824
|
// SERVICES
|
|
3884
|
-
// private readonly uiconfig: Signal<UiConfiguration> = inject(UiService).uiConfig;
|
|
3885
3825
|
cdr = inject(ChangeDetectorRef);
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3826
|
+
// REQUIRED INPUTS
|
|
3827
|
+
neighborsData = input.required();
|
|
3828
|
+
currentSectionId = input.required();
|
|
3829
|
+
translateTdcToMmc = input.required();
|
|
3830
|
+
translateMmcToTdc = input.required();
|
|
3831
|
+
hasAvailability = input.required();
|
|
3832
|
+
// OPTIONAL INPUTS
|
|
3833
|
+
isLoading = input(false);
|
|
3834
|
+
showElement = input(true);
|
|
3835
|
+
modeLr = input(false);
|
|
3889
3836
|
className = input('');
|
|
3890
|
-
/**
|
|
3891
|
-
* The current theme applied to the component.
|
|
3892
|
-
*/
|
|
3893
3837
|
theme = input('theme-sdc');
|
|
3838
|
+
// OUTPUTS
|
|
3839
|
+
sectionChange = new EventEmitter();
|
|
3894
3840
|
/**
|
|
3895
3841
|
* Computed class string that combines theme and user classes.
|
|
3896
3842
|
*/
|
|
@@ -3901,193 +3847,146 @@ class NeighborsComponent {
|
|
|
3901
3847
|
.filter(Boolean)
|
|
3902
3848
|
.join(' ');
|
|
3903
3849
|
});
|
|
3904
|
-
// CONFIGURATION
|
|
3905
|
-
// private readonly config: Signal<Neighbor> = computed((): Neighbor => this.uiconfig()['Neighbors']);
|
|
3906
|
-
// public readonly data: Signal<any['data']> = computed((): any['data'] => this.config().data);
|
|
3907
|
-
// public readonly enabled: Signal<boolean> = computed((): boolean => this.config().enabled);
|
|
3908
|
-
// public readonly modeLr: Signal<boolean> = computed((): boolean => this.config().modeLr);
|
|
3909
|
-
modeLr = computed(() => false);
|
|
3910
|
-
//TRANSLATION CONFIG
|
|
3911
|
-
// private readonly translationConfig: Signal<Translation> = computed((): Translation => this.uiconfig()['Translation']);
|
|
3912
|
-
// public readonly translationData: Signal<any['data']> = computed(
|
|
3913
|
-
// (): Translation['data'] => this.translationConfig().data
|
|
3914
|
-
// );
|
|
3915
|
-
translationEnabled = computed(() => false);
|
|
3916
|
-
// GLOBAL STATE
|
|
3917
3850
|
// COMPONENT STATE
|
|
3918
|
-
isLoading3d = false;
|
|
3919
|
-
showElement = true;
|
|
3920
3851
|
subscriptions = [];
|
|
3921
|
-
//
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3852
|
+
// COMPUTED STATE
|
|
3853
|
+
leftSectionId = computed(() => {
|
|
3854
|
+
try {
|
|
3855
|
+
const currentId = this.currentSectionId();
|
|
3856
|
+
if (!currentId)
|
|
3857
|
+
return null;
|
|
3858
|
+
return this.findAvailableNeighbor('prev', currentId);
|
|
3859
|
+
}
|
|
3860
|
+
catch (error) {
|
|
3861
|
+
return null;
|
|
3862
|
+
}
|
|
3863
|
+
});
|
|
3864
|
+
rightSectionId = computed(() => {
|
|
3865
|
+
try {
|
|
3866
|
+
const currentId = this.currentSectionId();
|
|
3867
|
+
if (!currentId)
|
|
3868
|
+
return null;
|
|
3869
|
+
return this.findAvailableNeighbor('next', currentId);
|
|
3870
|
+
}
|
|
3871
|
+
catch (error) {
|
|
3872
|
+
return null;
|
|
3873
|
+
}
|
|
3874
|
+
});
|
|
3875
|
+
currentSectionLabel = computed(() => {
|
|
3876
|
+
try {
|
|
3877
|
+
const currentId = this.currentSectionId();
|
|
3878
|
+
if (!currentId)
|
|
3879
|
+
return 'Loading';
|
|
3880
|
+
// Translate TDC ID to MMC ID for display
|
|
3881
|
+
const mmcId = this.translateTdcToMmc()(currentId);
|
|
3882
|
+
if (!mmcId)
|
|
3883
|
+
return currentId; // Fallback to TDC ID if translation fails
|
|
3884
|
+
// Extract section number from MMC ID (assuming format like "S_31" or similar)
|
|
3885
|
+
return mmcId.replace(/^S_/, '');
|
|
3886
|
+
}
|
|
3887
|
+
catch (error) {
|
|
3888
|
+
return 'Loading';
|
|
3889
|
+
}
|
|
3890
|
+
});
|
|
3891
|
+
leftSectionLabel = computed(() => {
|
|
3892
|
+
try {
|
|
3893
|
+
const leftId = this.leftSectionId();
|
|
3894
|
+
if (!leftId)
|
|
3895
|
+
return null;
|
|
3896
|
+
// Translate TDC ID to MMC ID for display
|
|
3897
|
+
const mmcId = this.translateTdcToMmc()(leftId);
|
|
3898
|
+
if (!mmcId)
|
|
3899
|
+
return leftId; // Fallback to TDC ID if translation fails
|
|
3900
|
+
// Extract section number from MMC ID
|
|
3901
|
+
return mmcId.replace(/^S_/, '');
|
|
3902
|
+
}
|
|
3903
|
+
catch (error) {
|
|
3904
|
+
return null;
|
|
3905
|
+
}
|
|
3906
|
+
});
|
|
3907
|
+
rightSectionLabel = computed(() => {
|
|
3908
|
+
try {
|
|
3909
|
+
const rightId = this.rightSectionId();
|
|
3910
|
+
if (!rightId)
|
|
3911
|
+
return null;
|
|
3912
|
+
// Translate TDC ID to MMC ID for display
|
|
3913
|
+
const mmcId = this.translateTdcToMmc()(rightId);
|
|
3914
|
+
if (!mmcId)
|
|
3915
|
+
return rightId; // Fallback to TDC ID if translation fails
|
|
3916
|
+
// Extract section number from MMC ID
|
|
3917
|
+
return mmcId.replace(/^S_/, '');
|
|
3918
|
+
}
|
|
3919
|
+
catch (error) {
|
|
3920
|
+
return null;
|
|
3921
|
+
}
|
|
3922
|
+
});
|
|
3923
|
+
// NEIGHBOR RESOLUTION ALGORITHM
|
|
3924
|
+
findAvailableNeighbor(type, currentSectionTdcId) {
|
|
3925
|
+
try {
|
|
3926
|
+
const neighborKey = type === 'prev' ? 'l' : 'r';
|
|
3927
|
+
const noNeighborValue = 'none';
|
|
3928
|
+
// 1. Translate TDC → MMC
|
|
3929
|
+
const currentSectionMmcId = this.translateTdcToMmc()(currentSectionTdcId);
|
|
3930
|
+
if (!currentSectionMmcId)
|
|
3931
|
+
return null;
|
|
3932
|
+
// 2. Look up neighbor in data
|
|
3933
|
+
const neighbors = this.neighborsData();
|
|
3934
|
+
const neighbor = neighbors[currentSectionMmcId];
|
|
3935
|
+
const neighborSectionMmcId = neighbor ? neighbor[neighborKey] : noNeighborValue;
|
|
3936
|
+
// 3. Handle 'none' boundary
|
|
3937
|
+
if (neighborSectionMmcId === noNeighborValue) {
|
|
3938
|
+
return null;
|
|
3947
3939
|
}
|
|
3948
|
-
//
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3940
|
+
// 4. Translate MMC → TDC
|
|
3941
|
+
const neighborSectionTdcId = this.translateMmcToTdc()(neighborSectionMmcId);
|
|
3942
|
+
if (!neighborSectionTdcId)
|
|
3943
|
+
return null;
|
|
3944
|
+
// 5. Check availability
|
|
3945
|
+
if (this.hasAvailability()(neighborSectionTdcId)) {
|
|
3946
|
+
return neighborSectionTdcId;
|
|
3955
3947
|
}
|
|
3948
|
+
// 6. Recursively find next available (skip unavailable sections)
|
|
3949
|
+
return this.findAvailableNeighbor(type, neighborSectionTdcId);
|
|
3956
3950
|
}
|
|
3957
|
-
|
|
3951
|
+
catch (error) {
|
|
3952
|
+
return null;
|
|
3953
|
+
}
|
|
3954
|
+
}
|
|
3958
3955
|
// GETTERS
|
|
3959
3956
|
get leftSection() {
|
|
3960
|
-
return
|
|
3961
|
-
// if (!this.sectionData) return null;
|
|
3962
|
-
// return this.translationEnabled() && this.translationData()[this.sectionData.l]
|
|
3963
|
-
// ? this.translationData()[this.sectionData.l]
|
|
3964
|
-
// : this.sectionData.l;
|
|
3957
|
+
return this.leftSectionId();
|
|
3965
3958
|
}
|
|
3966
3959
|
get rightSection() {
|
|
3967
|
-
return
|
|
3968
|
-
// return this.translationEnabled() && this.translationData()[this.sectionData.r]
|
|
3969
|
-
// ? this.translationData()[this.sectionData.r]
|
|
3970
|
-
// : this.sectionData.r;
|
|
3960
|
+
return this.rightSectionId();
|
|
3971
3961
|
}
|
|
3972
3962
|
get section() {
|
|
3973
|
-
return
|
|
3974
|
-
// if (this.view() !== AppViews.Pano) {
|
|
3975
|
-
// return this.dvmFormatter.transform(this.selectedSection!);
|
|
3976
|
-
// }
|
|
3977
|
-
// return;
|
|
3978
|
-
}
|
|
3979
|
-
get is3d() {
|
|
3980
|
-
return false;
|
|
3981
|
-
// return this.view() === AppViews.Pano;
|
|
3982
|
-
}
|
|
3983
|
-
ngOnInit() {
|
|
3984
|
-
this.initComponent();
|
|
3963
|
+
return this.currentSectionLabel();
|
|
3985
3964
|
}
|
|
3986
3965
|
ngOnDestroy() {
|
|
3987
3966
|
this.subscriptions.forEach((sub) => sub.unsubscribe());
|
|
3988
|
-
this.onViewChange.destroy();
|
|
3989
3967
|
}
|
|
3990
3968
|
// METHODS
|
|
3991
3969
|
navigateToSection(section) {
|
|
3992
3970
|
if (section === 'none' || !section) {
|
|
3993
3971
|
return;
|
|
3994
|
-
}
|
|
3995
|
-
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
3999
|
-
|
|
4000
|
-
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
*/
|
|
4005
|
-
// if (sectionId !== null) {
|
|
4006
|
-
// // section = sectionId !== undefined ? sectionId : this.dvmService.currentMap;
|
|
4007
|
-
// }
|
|
4008
|
-
section = 'section';
|
|
4009
|
-
// const sectionData = section ? this.data()[section] : null;
|
|
4010
|
-
const sectionData = section ? { seats: ['hello'] } : null;
|
|
4011
|
-
// Si ya hay, animamos el cambio de sección
|
|
4012
|
-
if (this.selectedSection && section) {
|
|
4013
|
-
this.animateSectionNumbers(section, sectionData);
|
|
4014
|
-
}
|
|
4015
|
-
// Si no hay, seteamos la sección y los datos
|
|
3972
|
+
}
|
|
3973
|
+
const leftId = this.leftSectionId();
|
|
3974
|
+
const rightId = this.rightSectionId();
|
|
3975
|
+
let direction;
|
|
3976
|
+
if (section === leftId) {
|
|
3977
|
+
direction = 'prev';
|
|
3978
|
+
}
|
|
3979
|
+
else if (section === rightId) {
|
|
3980
|
+
direction = 'next';
|
|
3981
|
+
}
|
|
4016
3982
|
else {
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
this.selectedSection = translated ? translated : '<span> section </span>';
|
|
4021
|
-
// this.selectedSection = translated ? translated : this.dvmFormatter.transform(section);
|
|
4022
|
-
}
|
|
4023
|
-
else {
|
|
4024
|
-
this.selectedSection = section;
|
|
4025
|
-
}
|
|
4026
|
-
this.sectionData = sectionData;
|
|
4027
|
-
}
|
|
4028
|
-
this.cdr.markForCheck();
|
|
4029
|
-
}
|
|
4030
|
-
setSection(section, is3d = false) {
|
|
4031
|
-
// const translated = this.translationEnabled() ? this.translationData()[section] : null;
|
|
4032
|
-
// if (translated) {
|
|
4033
|
-
// this.selectedSection = this.translationData()[section];
|
|
4034
|
-
// } else if (!is3d) {
|
|
4035
|
-
// this.selectedSection = this.dvmFormatter.transform(section);
|
|
4036
|
-
// }
|
|
4037
|
-
this.selectedSection = 'Section';
|
|
4038
|
-
this.cdr.detectChanges();
|
|
4039
|
-
}
|
|
4040
|
-
toggleNeighbors(show) {
|
|
4041
|
-
animate(this.neighborsContainer.nativeElement, {
|
|
4042
|
-
translateY: show ? 0 : 50,
|
|
4043
|
-
opacity: show ? 1 : 0,
|
|
4044
|
-
duration: 300,
|
|
4045
|
-
easing: 'easeInOutQuad',
|
|
4046
|
-
begin: () => {
|
|
4047
|
-
if (show && !this.showElement) {
|
|
4048
|
-
this.showElement = true;
|
|
4049
|
-
}
|
|
4050
|
-
},
|
|
4051
|
-
complete: () => {
|
|
4052
|
-
if (!show) {
|
|
4053
|
-
this.showElement = false;
|
|
4054
|
-
}
|
|
4055
|
-
},
|
|
4056
|
-
});
|
|
4057
|
-
}
|
|
4058
|
-
animateSectionNumbers(section, sectionData) {
|
|
4059
|
-
const targets = [
|
|
4060
|
-
this.currentSection?.nativeElement ?? null,
|
|
4061
|
-
this.currentSection3d?.nativeElement ?? null,
|
|
4062
|
-
this.leftSectionElement?.nativeElement ?? null,
|
|
4063
|
-
this.rightSectionElement?.nativeElement ?? null,
|
|
4064
|
-
].filter(element => element !== null);
|
|
4065
|
-
animate(targets, {
|
|
4066
|
-
duration: 500,
|
|
4067
|
-
filter: ['blur(0px)', 'blur(2px)', 'blur(0px)'],
|
|
4068
|
-
easing: 'easeInOutQuad',
|
|
4069
|
-
update: (animation) => {
|
|
4070
|
-
if (animation.progress >= 50 && this.selectedSection !== section.split('_')[1]) {
|
|
4071
|
-
this.setSection(section, true);
|
|
4072
|
-
// this.setSection(section, this.view() === AppViews.Pano);
|
|
4073
|
-
this.sectionData = sectionData;
|
|
4074
|
-
}
|
|
4075
|
-
},
|
|
4076
|
-
});
|
|
4077
|
-
}
|
|
4078
|
-
initComponent() {
|
|
4079
|
-
// const viewer3d = this.dvmService.viewer3d;
|
|
4080
|
-
// viewer3d.waitInitialize().subscribe((): void => {
|
|
4081
|
-
// this.subscriptions.push(
|
|
4082
|
-
// viewer3d.getObservable('load_start').subscribe((): boolean => (this.isLoading3d = true)),
|
|
4083
|
-
// viewer3d.getObservable('load_success').subscribe((): boolean => (this.isLoading3d = false))
|
|
4084
|
-
// );
|
|
4085
|
-
// });
|
|
4086
|
-
// }
|
|
3983
|
+
return;
|
|
3984
|
+
}
|
|
3985
|
+
this.sectionChange.emit({ direction, sectionId: section });
|
|
4087
3986
|
}
|
|
4088
3987
|
static ɵfac = function NeighborsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NeighborsComponent)(); };
|
|
4089
3988
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NeighborsComponent, selectors: [["sdc-neighbors"]], viewQuery: function NeighborsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
4090
|
-
i0.ɵɵviewQuery(_c0$
|
|
3989
|
+
i0.ɵɵviewQuery(_c0$8, 5);
|
|
4091
3990
|
i0.ɵɵviewQuery(_c1$2, 5);
|
|
4092
3991
|
i0.ɵɵviewQuery(_c2, 5);
|
|
4093
3992
|
i0.ɵɵviewQuery(_c3, 5);
|
|
@@ -4099,28 +3998,28 @@ class NeighborsComponent {
|
|
|
4099
3998
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.currentSection3d = _t.first);
|
|
4100
3999
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.leftSectionElement = _t.first);
|
|
4101
4000
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rightSectionElement = _t.first);
|
|
4102
|
-
} }, inputs: {
|
|
4103
|
-
i0.ɵɵelementStart(0, "div",
|
|
4104
|
-
i0.ɵɵtemplate(2, NeighborsComponent_Conditional_2_Template,
|
|
4105
|
-
i0.ɵɵelementStart(3, "div",
|
|
4106
|
-
i0.ɵɵtemplate(4, NeighborsComponent_Conditional_4_Template, 3, 0, "p",
|
|
4001
|
+
} }, inputs: { neighborsData: [1, "neighborsData"], currentSectionId: [1, "currentSectionId"], translateTdcToMmc: [1, "translateTdcToMmc"], translateMmcToTdc: [1, "translateMmcToTdc"], hasAvailability: [1, "hasAvailability"], isLoading: [1, "isLoading"], showElement: [1, "showElement"], modeLr: [1, "modeLr"], className: [1, "className"], theme: [1, "theme"] }, outputs: { sectionChange: "sectionChange" }, decls: 7, vars: 7, consts: [["neighborsContainer", ""], ["currentSection", ""], [1, "neighbors-container"], ["tabindex", "0", 1, "neighbor-button-left", "neighbor-button"], [1, "current-section-wrapper"], [1, "current-section-loading"], ["tabindex", "1", 1, "neighbor-button-right", "neighbor-button"], ["tabindex", "0", 1, "neighbor-button-left", "neighbor-button", 3, "click", "keypress.enter"], [1, "neighbor-button-icon"], ["fill", "none", "stroke", "currentColor", "stroke-width", "2", "viewBox", "0 0 24 24", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M15.75 19.5 8.25 12l7.5-7.5", "stroke-linecap", "round", "stroke-linejoin", "round"], [1, "current-section-text"], [1, "prefix"], [1, "section-number"], ["tabindex", "1", 1, "neighbor-button-right", "neighbor-button", 3, "click", "keypress.enter"], ["d", "m8.25 4.5 7.5 7.5-7.5 7.5", "stroke-linecap", "round", "stroke-linejoin", "round"]], template: function NeighborsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
4002
|
+
i0.ɵɵelementStart(0, "div", 2, 0);
|
|
4003
|
+
i0.ɵɵtemplate(2, NeighborsComponent_Conditional_2_Template, 4, 0, "div", 3);
|
|
4004
|
+
i0.ɵɵelementStart(3, "div", 4);
|
|
4005
|
+
i0.ɵɵtemplate(4, NeighborsComponent_Conditional_4_Template, 3, 0, "p", 5)(5, NeighborsComponent_Conditional_5_Template, 1, 1);
|
|
4107
4006
|
i0.ɵɵelementEnd();
|
|
4108
|
-
i0.ɵɵtemplate(6, NeighborsComponent_Conditional_6_Template,
|
|
4007
|
+
i0.ɵɵtemplate(6, NeighborsComponent_Conditional_6_Template, 4, 0, "div", 6);
|
|
4109
4008
|
i0.ɵɵelementEnd();
|
|
4110
4009
|
} if (rf & 2) {
|
|
4111
4010
|
i0.ɵɵclassMap(ctx.computedClass());
|
|
4112
|
-
i0.ɵɵclassProp("hidden", !ctx.showElement);
|
|
4011
|
+
i0.ɵɵclassProp("hidden", !ctx.showElement());
|
|
4113
4012
|
i0.ɵɵadvance(2);
|
|
4114
4013
|
i0.ɵɵconditional(ctx.leftSection ? 2 : -1);
|
|
4115
4014
|
i0.ɵɵadvance(2);
|
|
4116
|
-
i0.ɵɵconditional(ctx.
|
|
4015
|
+
i0.ɵɵconditional(ctx.isLoading() ? 4 : 5);
|
|
4117
4016
|
i0.ɵɵadvance(2);
|
|
4118
4017
|
i0.ɵɵconditional(ctx.rightSection ? 6 : -1);
|
|
4119
|
-
} }, styles: [".sdc-neighbors[_ngcontent-%COMP%]{--sdc-neighbors-background-color:
|
|
4018
|
+
} }, styles: [".sdc-neighbors[_ngcontent-%COMP%]{--sdc-neighbors-background-color: transparent;--sdc-neighbors-text-color: var(--color-pure-black);--sdc-neighbors-border-radius: 1rem;--sdc-neighbors-padding-x: var(--space-3);--sdc-neighbors-padding-y: var(--space-2_5);--sdc-neighbors-height: var(--space-6);--sdc-neighbors-max-width: 25rem;--sdc-neighbors-button-width: 8rem;--sdc-neighbors-button-height: var(--space-6);--sdc-neighbors-button-icon-color: var(--color-pure-black);--sdc-neighbors-button-hover-background-color: #f5f5f5;--sdc-neighbors-button-text-font-weight: var(--font-medium);--sdc-neighbors-button-text-font-size: var(--text-sm);--sdc-neighbors-button-text-transform: none;--sdc-neighbors-prefix-opacity: 1;--sdc-neighbors-current-section-min-width: 6rem;--sdc-neighbors-current-section-loading-font-weight: var(--font-semibold);--sdc-neighbors-current-section-loading-font-size: var(--text-sm);--sdc-neighbors-current-section-text-font-weight: var(--font-semibold);--sdc-neighbors-current-section-text-font-size: var(--text-sm);--sdc-neighbors-current-section-text-transform: none}.neighbors-container[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;align-items:center;background-color:var(--sdc-neighbors-background-color);margin-left:auto;margin-right:auto;padding-left:var(--sdc-neighbors-padding-x);padding-right:var(--sdc-neighbors-padding-x);padding-top:var(--sdc-neighbors-padding-y);padding-bottom:var(--sdc-neighbors-padding-y);border-radius:var(--sdc-neighbors-border-radius);height:var(--sdc-neighbors-height);max-width:var(--sdc-neighbors-max-width);pointer-events:auto}@media (min-width: 640px){.neighbors-container[_ngcontent-%COMP%]{--sdc-neighbors-height: var(--space-8)}}.neighbor-button[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:#fff;border-radius:50%;transition-property:opacity,background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;cursor:pointer;box-shadow:0 1px 3px #0000001a}@media (min-width: 640px){.neighbor-button[_ngcontent-%COMP%]{width:3rem;height:3rem}}.neighbor-button-left[_ngcontent-%COMP%]{margin-right:.75rem}.neighbor-button-right[_ngcontent-%COMP%]{margin-left:.75rem}.neighbor-button[_ngcontent-%COMP%]:hover{background-color:var(--sdc-neighbors-button-hover-background-color)}.neighbor-button-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;color:var(--sdc-neighbors-button-icon-color)}.neighbor-button-icon[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1rem;height:1rem}.current-section-text[_ngcontent-%COMP%] .section-number[_ngcontent-%COMP%]{font-weight:var(--font-bold);white-space:nowrap}.current-section-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-left:auto;margin-right:auto;min-width:var(--sdc-neighbors-current-section-min-width);background-color:#fff;border-radius:var(--sdc-neighbors-border-radius);padding:.75rem 1rem;cursor:default;box-shadow:0 1px 3px #0000001a}@media (min-width: 640px){.current-section-wrapper[_ngcontent-%COMP%]{--sdc-neighbors-current-section-min-width: 14rem}}.current-section-loading[_ngcontent-%COMP%]{font-weight:var(--sdc-neighbors-current-section-loading-font-weight);color:var(--sdc-neighbors-text-color);font-size:var(--sdc-neighbors-current-section-loading-font-size)}.current-section-text[_ngcontent-%COMP%]{display:flex;font-weight:var(--sdc-neighbors-current-section-text-font-weight);color:var(--sdc-neighbors-text-color);font-size:var(--sdc-neighbors-current-section-text-font-size);text-transform:var(--sdc-neighbors-current-section-text-transform)}.current-section-text[_ngcontent-%COMP%] .prefix[_ngcontent-%COMP%]{opacity:var(--sdc-neighbors-prefix-opacity);margin-right:.35rem}.current-section-text[_ngcontent-%COMP%] .sm-prefix[_ngcontent-%COMP%]{display:none}@media (min-width: 640px){.current-section-text[_ngcontent-%COMP%] .sm-prefix[_ngcontent-%COMP%]{display:block}}.current-section-text[_ngcontent-%COMP%] .xs-prefix[_ngcontent-%COMP%]{display:block}@media (min-width: 640px){.current-section-text[_ngcontent-%COMP%] .xs-prefix[_ngcontent-%COMP%]{display:none}}"], changeDetection: 0 });
|
|
4120
4019
|
}
|
|
4121
4020
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NeighborsComponent, [{
|
|
4122
4021
|
type: Component,
|
|
4123
|
-
args: [{ selector: 'sdc-neighbors', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #neighborsContainer class=\"neighbors-container\" [class]=\"computedClass()\" [class.hidden]=\"!showElement\">\n <!-- LEFT SECTION BUTTON -->\n @if (leftSection) {\n <div\n class=\"neighbor-button-left neighbor-button\"\n tabindex=\"0\"\n
|
|
4022
|
+
args: [{ selector: 'sdc-neighbors', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #neighborsContainer class=\"neighbors-container\" [class]=\"computedClass()\" [class.hidden]=\"!showElement()\">\n <!-- LEFT SECTION BUTTON -->\n @if (leftSection) {\n <div\n class=\"neighbor-button-left neighbor-button\"\n tabindex=\"0\"\n (click)=\"navigateToSection(leftSection!)\"\n (keypress.enter)=\"navigateToSection(leftSection!)\">\n <i class=\"neighbor-button-icon\">\n <svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15.75 19.5 8.25 12l7.5-7.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </i>\n </div>\n }\n <div class=\"current-section-wrapper\">\n @if (isLoading()) {\n <p class=\"current-section-loading\">\n <span>Loading</span>\n </p>\n } @else {\n @if (section) {\n <h3 class=\"current-section-text\">\n <span class=\"prefix\">Section </span>\n <span #currentSection class=\"section-number\">{{ section }}</span>\n </h3>\n }\n }\n </div>\n\n <!-- RIGHT SECTION BUTTON -->\n @if (rightSection) {\n <div\n class=\"neighbor-button-right neighbor-button\"\n tabindex=\"1\"\n (click)=\"navigateToSection(rightSection!)\"\n (keypress.enter)=\"navigateToSection(rightSection!)\">\n <i class=\"neighbor-button-icon\">\n <svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m8.25 4.5 7.5 7.5-7.5 7.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </i>\n </div>\n }\n</div>\n", styles: [".sdc-neighbors{--sdc-neighbors-background-color: transparent;--sdc-neighbors-text-color: var(--color-pure-black);--sdc-neighbors-border-radius: 1rem;--sdc-neighbors-padding-x: var(--space-3);--sdc-neighbors-padding-y: var(--space-2_5);--sdc-neighbors-height: var(--space-6);--sdc-neighbors-max-width: 25rem;--sdc-neighbors-button-width: 8rem;--sdc-neighbors-button-height: var(--space-6);--sdc-neighbors-button-icon-color: var(--color-pure-black);--sdc-neighbors-button-hover-background-color: #f5f5f5;--sdc-neighbors-button-text-font-weight: var(--font-medium);--sdc-neighbors-button-text-font-size: var(--text-sm);--sdc-neighbors-button-text-transform: none;--sdc-neighbors-prefix-opacity: 1;--sdc-neighbors-current-section-min-width: 6rem;--sdc-neighbors-current-section-loading-font-weight: var(--font-semibold);--sdc-neighbors-current-section-loading-font-size: var(--text-sm);--sdc-neighbors-current-section-text-font-weight: var(--font-semibold);--sdc-neighbors-current-section-text-font-size: var(--text-sm);--sdc-neighbors-current-section-text-transform: none}.neighbors-container{position:relative;display:flex;justify-content:center;align-items:center;background-color:var(--sdc-neighbors-background-color);margin-left:auto;margin-right:auto;padding-left:var(--sdc-neighbors-padding-x);padding-right:var(--sdc-neighbors-padding-x);padding-top:var(--sdc-neighbors-padding-y);padding-bottom:var(--sdc-neighbors-padding-y);border-radius:var(--sdc-neighbors-border-radius);height:var(--sdc-neighbors-height);max-width:var(--sdc-neighbors-max-width);pointer-events:auto}@media (min-width: 640px){.neighbors-container{--sdc-neighbors-height: var(--space-8)}}.neighbor-button{position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:#fff;border-radius:50%;transition-property:opacity,background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;cursor:pointer;box-shadow:0 1px 3px #0000001a}@media (min-width: 640px){.neighbor-button{width:3rem;height:3rem}}.neighbor-button-left{margin-right:.75rem}.neighbor-button-right{margin-left:.75rem}.neighbor-button:hover{background-color:var(--sdc-neighbors-button-hover-background-color)}.neighbor-button-icon{display:flex;align-items:center;justify-content:center;color:var(--sdc-neighbors-button-icon-color)}.neighbor-button-icon svg{width:1rem;height:1rem}.current-section-text .section-number{font-weight:var(--font-bold);white-space:nowrap}.current-section-wrapper{display:flex;justify-content:center;align-items:center;margin-left:auto;margin-right:auto;min-width:var(--sdc-neighbors-current-section-min-width);background-color:#fff;border-radius:var(--sdc-neighbors-border-radius);padding:.75rem 1rem;cursor:default;box-shadow:0 1px 3px #0000001a}@media (min-width: 640px){.current-section-wrapper{--sdc-neighbors-current-section-min-width: 14rem}}.current-section-loading{font-weight:var(--sdc-neighbors-current-section-loading-font-weight);color:var(--sdc-neighbors-text-color);font-size:var(--sdc-neighbors-current-section-loading-font-size)}.current-section-text{display:flex;font-weight:var(--sdc-neighbors-current-section-text-font-weight);color:var(--sdc-neighbors-text-color);font-size:var(--sdc-neighbors-current-section-text-font-size);text-transform:var(--sdc-neighbors-current-section-text-transform)}.current-section-text .prefix{opacity:var(--sdc-neighbors-prefix-opacity);margin-right:.35rem}.current-section-text .sm-prefix{display:none}@media (min-width: 640px){.current-section-text .sm-prefix{display:block}}.current-section-text .xs-prefix{display:block}@media (min-width: 640px){.current-section-text .xs-prefix{display:none}}\n"] }]
|
|
4124
4023
|
}], null, { neighborsContainer: [{
|
|
4125
4024
|
type: ViewChild,
|
|
4126
4025
|
args: ['neighborsContainer']
|
|
@@ -4136,12 +4035,17 @@ class NeighborsComponent {
|
|
|
4136
4035
|
}], rightSectionElement: [{
|
|
4137
4036
|
type: ViewChild,
|
|
4138
4037
|
args: ['rightSectionNumber', { static: false }]
|
|
4038
|
+
}], sectionChange: [{
|
|
4039
|
+
type: Output
|
|
4139
4040
|
}] }); })();
|
|
4140
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NeighborsComponent, { className: "NeighborsComponent", filePath: "dvm/neighbors/neighbors.component.ts", lineNumber:
|
|
4041
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NeighborsComponent, { className: "NeighborsComponent", filePath: "dvm/neighbors/neighbors.component.ts", lineNumber: 34 }); })();
|
|
4141
4042
|
|
|
4142
4043
|
const DVM_FORMATTER = new InjectionToken('DvmFormatter');
|
|
4143
4044
|
const CONFIGURATION_SERVICE = new InjectionToken('ConfigurationService');
|
|
4144
4045
|
const DVM_SERVICE = new InjectionToken('DvmService');
|
|
4046
|
+
const THUMBNAIL_PROVIDER = new InjectionToken('ThumbnailProvider');
|
|
4047
|
+
const POPOVER_POSITIONER = new InjectionToken('PopoverPositioner');
|
|
4048
|
+
const POPOVER_MANAGER = new InjectionToken('PopoverManager');
|
|
4145
4049
|
|
|
4146
4050
|
class PopoverService {
|
|
4147
4051
|
// SERVICES
|
|
@@ -4158,6 +4062,35 @@ class PopoverService {
|
|
|
4158
4062
|
popoverTimerTimeInMs = 300;
|
|
4159
4063
|
currentPopoverId = '';
|
|
4160
4064
|
popoverTimer = null;
|
|
4065
|
+
popoverInstancesWithTimers = new Map();
|
|
4066
|
+
// Default mock providers for when no custom providers are provided
|
|
4067
|
+
defaultMockProviders = [
|
|
4068
|
+
{
|
|
4069
|
+
provide: CONFIGURATION_SERVICE,
|
|
4070
|
+
useValue: {
|
|
4071
|
+
configuration: {
|
|
4072
|
+
dvmData: {
|
|
4073
|
+
venueId: 'default-venue',
|
|
4074
|
+
},
|
|
4075
|
+
},
|
|
4076
|
+
},
|
|
4077
|
+
},
|
|
4078
|
+
{
|
|
4079
|
+
provide: DVM_FORMATTER,
|
|
4080
|
+
useValue: {
|
|
4081
|
+
transform: (value) => value.replace(/-/g, ' ').toUpperCase(),
|
|
4082
|
+
},
|
|
4083
|
+
},
|
|
4084
|
+
{
|
|
4085
|
+
provide: DVM_SERVICE,
|
|
4086
|
+
useValue: {
|
|
4087
|
+
viewer3dService: {
|
|
4088
|
+
isInitialized: () => true,
|
|
4089
|
+
getThumbnail: () => of('https://via.placeholder.com/275x124/1a1a1a/ffffff?text=Default+Thumbnail'),
|
|
4090
|
+
},
|
|
4091
|
+
},
|
|
4092
|
+
},
|
|
4093
|
+
];
|
|
4161
4094
|
// METHODS
|
|
4162
4095
|
setTimer() {
|
|
4163
4096
|
const myId = this.currentPopoverId;
|
|
@@ -4176,6 +4109,35 @@ class PopoverService {
|
|
|
4176
4109
|
this.popoverTimer = null;
|
|
4177
4110
|
}
|
|
4178
4111
|
}
|
|
4112
|
+
/**
|
|
4113
|
+
* Sets a timer for a specific popover instance to auto-hide it after the specified delay.
|
|
4114
|
+
* @param popoverId - The ID of the popover to set timer for
|
|
4115
|
+
* @param delayMs - Delay in milliseconds (optional, defaults to configured delay)
|
|
4116
|
+
*/
|
|
4117
|
+
setPopoverTimer(popoverId, delayMs) {
|
|
4118
|
+
this.clearPopoverTimer(popoverId);
|
|
4119
|
+
const delay = delayMs ?? this.popoverTimerTimeInMs;
|
|
4120
|
+
this.popoverTimer = setTimeout(() => {
|
|
4121
|
+
this.destroyPopover(popoverId);
|
|
4122
|
+
}, delay);
|
|
4123
|
+
}
|
|
4124
|
+
/**
|
|
4125
|
+
* Clears the timer for a specific popover instance.
|
|
4126
|
+
* @param popoverId - The ID of the popover to clear timer for
|
|
4127
|
+
*/
|
|
4128
|
+
clearPopoverTimer(popoverId) {
|
|
4129
|
+
if (this.popoverTimer !== null) {
|
|
4130
|
+
clearTimeout(this.popoverTimer);
|
|
4131
|
+
this.popoverTimer = null;
|
|
4132
|
+
}
|
|
4133
|
+
}
|
|
4134
|
+
/**
|
|
4135
|
+
* Configures the default timer delay for popovers.
|
|
4136
|
+
* @param delayMs - Delay in milliseconds
|
|
4137
|
+
*/
|
|
4138
|
+
setTimerDelay(delayMs) {
|
|
4139
|
+
this.popoverTimerTimeInMs = delayMs;
|
|
4140
|
+
}
|
|
4179
4141
|
/**
|
|
4180
4142
|
* Crea un popover y lo añade al DOM, usando un elemento de referencia y contenido HTML o string.
|
|
4181
4143
|
* Si ya existe un popover con el mismo ID, lo destruye antes de crear uno nuevo.
|
|
@@ -4217,6 +4179,71 @@ class PopoverService {
|
|
|
4217
4179
|
this.popoverInstances.set(id, instance);
|
|
4218
4180
|
return instance;
|
|
4219
4181
|
}
|
|
4182
|
+
/**
|
|
4183
|
+
* Crea un popover que contiene un componente Angular con soporte para proyección de contenido.
|
|
4184
|
+
* Si ya existe un popover con el mismo ID, lo destruye antes de crear uno nuevo.
|
|
4185
|
+
*
|
|
4186
|
+
* @param popoverId Identificador único del popover.
|
|
4187
|
+
* @param reference Elemento de referencia para posicionar el popover (HTMLElement, Element, VirtualElement o ElementRef).
|
|
4188
|
+
* @param component Clase del componente Angular a renderizar dentro del popover.
|
|
4189
|
+
* @param inputs Propiedades de entrada para el componente.
|
|
4190
|
+
* @param contentProjection Contenido proyectado para los slots del popover.
|
|
4191
|
+
* @param options Opciones de configuración para el posicionamiento (placement, strategy, middleware, etc).
|
|
4192
|
+
* @returns Instancia del popover creado, incluyendo la referencia al componente.
|
|
4193
|
+
*/
|
|
4194
|
+
createPopoverComponentWithContent(popoverId, reference, component, inputs, contentProjection, options = {}, serviceOptions = {}) {
|
|
4195
|
+
this.clearTimer();
|
|
4196
|
+
// Comprobamos si ya existe una instancia de Popover con el mismo ID
|
|
4197
|
+
this.checkPopoverInstance(popoverId ?? '');
|
|
4198
|
+
this.currentPopoverId = popoverId;
|
|
4199
|
+
const referenceElement = reference instanceof ElementRef ? reference.nativeElement : reference;
|
|
4200
|
+
const popoverElement = this.createPopoverElement();
|
|
4201
|
+
// Create a custom environment injector with the required providers
|
|
4202
|
+
const providers = serviceOptions.providers || this.defaultMockProviders;
|
|
4203
|
+
const customInjector = createEnvironmentInjector(providers, this.envInjector);
|
|
4204
|
+
const componentReference = createComponent(component, {
|
|
4205
|
+
environmentInjector: customInjector,
|
|
4206
|
+
hostElement: popoverElement,
|
|
4207
|
+
});
|
|
4208
|
+
const finalOptions = {
|
|
4209
|
+
placement: options.placement || this.popoverOptions.placement,
|
|
4210
|
+
strategy: options.strategy || this.popoverOptions.strategy,
|
|
4211
|
+
middleware: options.middleware ? this.setMiddlewares(options.middleware) : this.popoverOptions.middleware,
|
|
4212
|
+
};
|
|
4213
|
+
// Añadimos el Popover al DOM
|
|
4214
|
+
this.document.body.append(popoverElement);
|
|
4215
|
+
// Si tiene inputs, los asignamos al componente
|
|
4216
|
+
if (inputs) {
|
|
4217
|
+
for (const [key, value] of Object.entries(inputs)) {
|
|
4218
|
+
componentReference.setInput(key, value);
|
|
4219
|
+
}
|
|
4220
|
+
}
|
|
4221
|
+
// Procesamos la proyección de contenido
|
|
4222
|
+
if (contentProjection) {
|
|
4223
|
+
this.processContentProjection(componentReference, contentProjection);
|
|
4224
|
+
}
|
|
4225
|
+
// Encendemos el detectChanges del componente para que se renderice
|
|
4226
|
+
componentReference.changeDetectorRef.detectChanges();
|
|
4227
|
+
// Añadimos el componente al DOM
|
|
4228
|
+
this.appReference.attachView(componentReference.hostView);
|
|
4229
|
+
// Creamos la instancia del Popover
|
|
4230
|
+
const instance = {
|
|
4231
|
+
id: popoverId,
|
|
4232
|
+
element: popoverElement,
|
|
4233
|
+
reference: referenceElement,
|
|
4234
|
+
componentRef: componentReference,
|
|
4235
|
+
update: async () => this.calculatePosition(instance, finalOptions),
|
|
4236
|
+
};
|
|
4237
|
+
const arrowElement = document.querySelector('#arrow');
|
|
4238
|
+
finalOptions.middleware?.push(arrow({ element: arrowElement }));
|
|
4239
|
+
// Calculamos la posicion del Popover
|
|
4240
|
+
void this.calculatePosition(instance, finalOptions);
|
|
4241
|
+
// Proporcionamos la función de autoUpdate en la propiedad cleanup del Popover
|
|
4242
|
+
instance.cleanup = autoUpdate(referenceElement, popoverElement, () => instance.update());
|
|
4243
|
+
// Añadimos la instancia del Popover al mapa de instancias
|
|
4244
|
+
this.popoverInstances.set(popoverId, instance);
|
|
4245
|
+
return instance;
|
|
4246
|
+
}
|
|
4220
4247
|
/**
|
|
4221
4248
|
* Crea un popover que contiene un componente Angular, lo añade al DOM y lo posiciona.
|
|
4222
4249
|
* Si ya existe un popover con el mismo ID, lo destruye antes de crear uno nuevo.
|
|
@@ -4224,18 +4251,22 @@ class PopoverService {
|
|
|
4224
4251
|
* @param popoverId Identificador único del popover.
|
|
4225
4252
|
* @param reference Elemento de referencia para posicionar el popover (HTMLElement, Element, VirtualElement o ElementRef).
|
|
4226
4253
|
* @param component Clase del componente Angular a renderizar dentro del popover.
|
|
4254
|
+
* @param inputs Propiedades de entrada para el componente.
|
|
4227
4255
|
* @param options Opciones de configuración para el posicionamiento (placement, strategy, middleware, etc).
|
|
4228
4256
|
* @returns Instancia del popover creado, incluyendo la referencia al componente.
|
|
4229
4257
|
*/
|
|
4230
|
-
createPopoverComponent(popoverId, reference, component, inputs, options = {}) {
|
|
4258
|
+
createPopoverComponent(popoverId, reference, component, inputs, options = {}, serviceOptions = {}) {
|
|
4231
4259
|
this.clearTimer();
|
|
4232
4260
|
// Comprobamos si ya existe una instancia de Popover con el mismo ID
|
|
4233
4261
|
this.checkPopoverInstance(popoverId ?? '');
|
|
4234
4262
|
this.currentPopoverId = popoverId;
|
|
4235
4263
|
const referenceElement = reference instanceof ElementRef ? reference.nativeElement : reference; // Elemento de referencia
|
|
4236
4264
|
const popoverElement = this.createPopoverElement(); // Elemento Popover
|
|
4265
|
+
// Create a custom environment injector with the required providers
|
|
4266
|
+
const providers = serviceOptions.providers || this.defaultMockProviders;
|
|
4267
|
+
const customInjector = createEnvironmentInjector(providers, this.envInjector);
|
|
4237
4268
|
const componentReference = createComponent(component, {
|
|
4238
|
-
environmentInjector:
|
|
4269
|
+
environmentInjector: customInjector,
|
|
4239
4270
|
hostElement: popoverElement,
|
|
4240
4271
|
}); // Instancia del componente Popover
|
|
4241
4272
|
const finalOptions = {
|
|
@@ -4369,6 +4400,44 @@ class PopoverService {
|
|
|
4369
4400
|
console.error('Error positioning popover', error);
|
|
4370
4401
|
}
|
|
4371
4402
|
}
|
|
4403
|
+
/**
|
|
4404
|
+
* Procesa la proyección de contenido para el componente popover.
|
|
4405
|
+
*
|
|
4406
|
+
* @param componentRef Referencia al componente creado
|
|
4407
|
+
* @param contentProjection Contenido a proyectar en los slots
|
|
4408
|
+
*/
|
|
4409
|
+
processContentProjection(componentRef, contentProjection) {
|
|
4410
|
+
const componentInstance = componentRef.instance;
|
|
4411
|
+
// Procesamos cada slot de contenido
|
|
4412
|
+
if (contentProjection.thumbnail) {
|
|
4413
|
+
this.setContentProjection(componentInstance, 'hasThumbnailProjection', contentProjection.thumbnail);
|
|
4414
|
+
}
|
|
4415
|
+
if (contentProjection.content) {
|
|
4416
|
+
this.setContentProjection(componentInstance, 'hasContentProjection', contentProjection.content);
|
|
4417
|
+
}
|
|
4418
|
+
if (contentProjection.price) {
|
|
4419
|
+
this.setContentProjection(componentInstance, 'hasPriceProjection', contentProjection.price);
|
|
4420
|
+
}
|
|
4421
|
+
}
|
|
4422
|
+
/**
|
|
4423
|
+
* Establece la proyección de contenido para un slot específico.
|
|
4424
|
+
*
|
|
4425
|
+
* @param componentInstance Instancia del componente
|
|
4426
|
+
* @param projectionFlag Flag que indica si hay proyección
|
|
4427
|
+
* @param content Contenido a proyectar
|
|
4428
|
+
*/
|
|
4429
|
+
setContentProjection(componentInstance, projectionFlag, content) {
|
|
4430
|
+
// Marcamos que hay proyección de contenido
|
|
4431
|
+
componentInstance[projectionFlag] = true;
|
|
4432
|
+
// Si es un TemplateRef, lo almacenamos para uso posterior
|
|
4433
|
+
if (content instanceof TemplateRef) {
|
|
4434
|
+
componentInstance[`${projectionFlag}Template`] = content;
|
|
4435
|
+
}
|
|
4436
|
+
else if (typeof content === 'string') {
|
|
4437
|
+
// Si es string, lo almacenamos como HTML
|
|
4438
|
+
componentInstance[`${projectionFlag}Html`] = content;
|
|
4439
|
+
}
|
|
4440
|
+
}
|
|
4372
4441
|
/**
|
|
4373
4442
|
* Set Middlewares
|
|
4374
4443
|
* Método que recibe un objeto de opciones de middleware y devuelve un array de middlewares cargados con sus opciones.
|
|
@@ -4468,54 +4537,399 @@ var AppNodes;
|
|
|
4468
4537
|
AppNodes["Vip"] = "vip";
|
|
4469
4538
|
})(AppNodes || (AppNodes = {}));
|
|
4470
4539
|
|
|
4471
|
-
|
|
4472
|
-
|
|
4540
|
+
/**
|
|
4541
|
+
* Base component for popovers that provides timer functionality.
|
|
4542
|
+
* Extend this component to create timer-aware popovers.
|
|
4543
|
+
*/
|
|
4544
|
+
class BasePopoverComponent {
|
|
4545
|
+
popoverId = '';
|
|
4546
|
+
autoHideDelay = 300; // milliseconds
|
|
4547
|
+
enableAutoHide = true;
|
|
4548
|
+
mouseEnter = new EventEmitter();
|
|
4549
|
+
mouseLeave = new EventEmitter();
|
|
4550
|
+
popoverHidden = new EventEmitter();
|
|
4551
|
+
popoverService = inject(PopoverService);
|
|
4552
|
+
cdr = inject(ChangeDetectorRef);
|
|
4553
|
+
isMouseOver = false;
|
|
4554
|
+
ngOnInit() {
|
|
4555
|
+
if (this.enableAutoHide && this.popoverId) {
|
|
4556
|
+
this.startAutoHideTimer();
|
|
4557
|
+
}
|
|
4558
|
+
}
|
|
4559
|
+
ngOnDestroy() {
|
|
4560
|
+
if (this.popoverId) {
|
|
4561
|
+
this.popoverService.clearPopoverTimer(this.popoverId);
|
|
4562
|
+
}
|
|
4563
|
+
}
|
|
4564
|
+
onMouseEnter(event) {
|
|
4565
|
+
this.isMouseOver = true;
|
|
4566
|
+
this.clearAutoHideTimer();
|
|
4567
|
+
this.mouseEnter.emit(event);
|
|
4568
|
+
}
|
|
4569
|
+
onMouseLeave(event) {
|
|
4570
|
+
this.isMouseOver = false;
|
|
4571
|
+
if (this.enableAutoHide) {
|
|
4572
|
+
this.startAutoHideTimer();
|
|
4573
|
+
}
|
|
4574
|
+
this.mouseLeave.emit(event);
|
|
4575
|
+
}
|
|
4576
|
+
hidePopover() {
|
|
4577
|
+
if (this.popoverId) {
|
|
4578
|
+
this.popoverService.destroyPopover(this.popoverId);
|
|
4579
|
+
this.popoverHidden.emit();
|
|
4580
|
+
}
|
|
4581
|
+
}
|
|
4582
|
+
startAutoHideTimer() {
|
|
4583
|
+
if (this.popoverId && !this.isMouseOver) {
|
|
4584
|
+
this.popoverService.setPopoverTimer(this.popoverId, this.autoHideDelay);
|
|
4585
|
+
}
|
|
4586
|
+
}
|
|
4587
|
+
clearAutoHideTimer() {
|
|
4588
|
+
if (this.popoverId) {
|
|
4589
|
+
this.popoverService.clearPopoverTimer(this.popoverId);
|
|
4590
|
+
}
|
|
4591
|
+
}
|
|
4592
|
+
static ɵfac = function BasePopoverComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BasePopoverComponent)(); };
|
|
4593
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BasePopoverComponent, selectors: [["ng-component"]], inputs: { popoverId: "popoverId", autoHideDelay: "autoHideDelay", enableAutoHide: "enableAutoHide" }, outputs: { mouseEnter: "mouseEnter", mouseLeave: "mouseLeave", popoverHidden: "popoverHidden" }, decls: 0, vars: 0, template: function BasePopoverComponent_Template(rf, ctx) { }, encapsulation: 2, changeDetection: 0 });
|
|
4594
|
+
}
|
|
4595
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BasePopoverComponent, [{
|
|
4596
|
+
type: Component,
|
|
4597
|
+
args: [{
|
|
4598
|
+
template: '', // Abstract component
|
|
4599
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4600
|
+
}]
|
|
4601
|
+
}], null, { popoverId: [{
|
|
4602
|
+
type: Input
|
|
4603
|
+
}], autoHideDelay: [{
|
|
4604
|
+
type: Input
|
|
4605
|
+
}], enableAutoHide: [{
|
|
4606
|
+
type: Input
|
|
4607
|
+
}], mouseEnter: [{
|
|
4608
|
+
type: Output
|
|
4609
|
+
}], mouseLeave: [{
|
|
4610
|
+
type: Output
|
|
4611
|
+
}], popoverHidden: [{
|
|
4612
|
+
type: Output
|
|
4613
|
+
}] }); })();
|
|
4614
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BasePopoverComponent, { className: "BasePopoverComponent", filePath: "dvm/popover/base-popover.component.ts", lineNumber: 12 }); })();
|
|
4615
|
+
|
|
4616
|
+
function SeatPopoverComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
4617
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
4618
|
+
i0.ɵɵelement(1, "div", 10);
|
|
4619
|
+
i0.ɵɵelementEnd();
|
|
4620
|
+
} }
|
|
4621
|
+
function SeatPopoverComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
4622
|
+
i0.ɵɵelement(0, "div", 11);
|
|
4473
4623
|
} if (rf & 2) {
|
|
4474
4624
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
4475
|
-
i0.ɵɵ
|
|
4476
|
-
|
|
4477
|
-
|
|
4625
|
+
i0.ɵɵstyleProp("background-image", "url(" + ctx_r0.thumbnail + ")");
|
|
4626
|
+
} }
|
|
4627
|
+
class SeatPopoverComponent extends BasePopoverComponent {
|
|
4628
|
+
data;
|
|
4629
|
+
showLoader = true;
|
|
4630
|
+
thumbnailProvider = inject(THUMBNAIL_PROVIDER, { optional: true });
|
|
4631
|
+
cdr = inject(ChangeDetectorRef);
|
|
4632
|
+
thumbnail;
|
|
4633
|
+
isLoadingThumbnail = true;
|
|
4634
|
+
ngOnInit() {
|
|
4635
|
+
super.ngOnInit(); // Initialize base component timer logic
|
|
4636
|
+
if (this.data.thumbnail) {
|
|
4637
|
+
this.thumbnail = this.data.thumbnail;
|
|
4638
|
+
this.isLoadingThumbnail = false;
|
|
4639
|
+
}
|
|
4640
|
+
else if (this.thumbnailProvider && this.showLoader) {
|
|
4641
|
+
this.loadThumbnail();
|
|
4642
|
+
}
|
|
4643
|
+
}
|
|
4644
|
+
loadThumbnail() {
|
|
4645
|
+
this.thumbnailProvider.getThumbnail(this.data.id).subscribe({
|
|
4646
|
+
next: url => {
|
|
4647
|
+
this.thumbnail = url;
|
|
4648
|
+
this.isLoadingThumbnail = false;
|
|
4649
|
+
this.cdr.markForCheck();
|
|
4650
|
+
},
|
|
4651
|
+
error: () => {
|
|
4652
|
+
this.isLoadingThumbnail = false;
|
|
4653
|
+
this.cdr.markForCheck();
|
|
4654
|
+
},
|
|
4655
|
+
});
|
|
4656
|
+
}
|
|
4657
|
+
get formattedSection() {
|
|
4658
|
+
return this.data.section.includes('_') ? this.data.section.split('_')[1].split('-')[0] : this.data.section;
|
|
4659
|
+
}
|
|
4660
|
+
get formattedSeat() {
|
|
4661
|
+
return this.data.seat.split('-')[2] || this.data.seat;
|
|
4662
|
+
}
|
|
4663
|
+
onEnter(event) {
|
|
4664
|
+
this.onMouseEnter(event);
|
|
4665
|
+
}
|
|
4666
|
+
onLeave(event) {
|
|
4667
|
+
this.onMouseLeave(event);
|
|
4668
|
+
}
|
|
4669
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵSeatPopoverComponent_BaseFactory; return function SeatPopoverComponent_Factory(__ngFactoryType__) { return (ɵSeatPopoverComponent_BaseFactory || (ɵSeatPopoverComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SeatPopoverComponent)))(__ngFactoryType__ || SeatPopoverComponent); }; })();
|
|
4670
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SeatPopoverComponent, selectors: [["sdc-seat-popover"]], inputs: { data: "data", showLoader: "showLoader" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 25, vars: 9, consts: [[1, "sdc-seat-popover", 3, "mouseenter", "mouseleave"], [1, "sdc-popover-thumbnail"], [1, "sdc-popover-loader"], [1, "sdc-thumbnail-image", 3, "background-image"], [1, "sdc-popover-content"], [1, "sdc-popover-grid"], [1, "sdc-popover-col-left"], [1, "sdc-popover-label"], [1, "sdc-popover-label-text"], [1, "sdc-popover-col-right"], [1, "sdc-spinner"], [1, "sdc-thumbnail-image"]], template: function SeatPopoverComponent_Template(rf, ctx) { if (rf & 1) {
|
|
4671
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
4672
|
+
i0.ɵɵlistener("mouseenter", function SeatPopoverComponent_Template_div_mouseenter_0_listener($event) { return ctx.onEnter($event); })("mouseleave", function SeatPopoverComponent_Template_div_mouseleave_0_listener($event) { return ctx.onLeave($event); });
|
|
4673
|
+
i0.ɵɵelementStart(1, "div", 1);
|
|
4674
|
+
i0.ɵɵtemplate(2, SeatPopoverComponent_Conditional_2_Template, 2, 0, "div", 2)(3, SeatPopoverComponent_Conditional_3_Template, 1, 2, "div", 3);
|
|
4675
|
+
i0.ɵɵelementEnd();
|
|
4676
|
+
i0.ɵɵelementStart(4, "div", 4)(5, "div", 5)(6, "div", 6)(7, "h5", 7)(8, "span", 8);
|
|
4677
|
+
i0.ɵɵtext(9, "Section:");
|
|
4678
|
+
i0.ɵɵelementEnd();
|
|
4679
|
+
i0.ɵɵtext(10);
|
|
4680
|
+
i0.ɵɵelementEnd();
|
|
4681
|
+
i0.ɵɵelementStart(11, "h5", 7)(12, "span", 8);
|
|
4682
|
+
i0.ɵɵtext(13, "Row:");
|
|
4683
|
+
i0.ɵɵelementEnd();
|
|
4684
|
+
i0.ɵɵtext(14);
|
|
4685
|
+
i0.ɵɵelementEnd()();
|
|
4686
|
+
i0.ɵɵelementStart(15, "div", 9)(16, "h5", 7)(17, "span", 8);
|
|
4687
|
+
i0.ɵɵtext(18, "Seat:");
|
|
4688
|
+
i0.ɵɵelementEnd();
|
|
4689
|
+
i0.ɵɵtext(19);
|
|
4690
|
+
i0.ɵɵelementEnd();
|
|
4691
|
+
i0.ɵɵelementStart(20, "h5", 7)(21, "span", 8);
|
|
4692
|
+
i0.ɵɵtext(22, "Price:");
|
|
4693
|
+
i0.ɵɵelementEnd();
|
|
4694
|
+
i0.ɵɵtext(23);
|
|
4695
|
+
i0.ɵɵpipe(24, "currency");
|
|
4696
|
+
i0.ɵɵelementEnd()()()()();
|
|
4697
|
+
} if (rf & 2) {
|
|
4698
|
+
i0.ɵɵadvance(2);
|
|
4699
|
+
i0.ɵɵconditional(ctx.isLoadingThumbnail && ctx.showLoader ? 2 : -1);
|
|
4700
|
+
i0.ɵɵadvance();
|
|
4701
|
+
i0.ɵɵconditional(ctx.thumbnail && !ctx.isLoadingThumbnail ? 3 : -1);
|
|
4702
|
+
i0.ɵɵadvance(7);
|
|
4703
|
+
i0.ɵɵtextInterpolate1(" ", ctx.formattedSection, " ");
|
|
4704
|
+
i0.ɵɵadvance(4);
|
|
4705
|
+
i0.ɵɵtextInterpolate1(" ", ctx.data.row, " ");
|
|
4706
|
+
i0.ɵɵadvance(5);
|
|
4707
|
+
i0.ɵɵtextInterpolate1(" ", ctx.formattedSeat, " ");
|
|
4708
|
+
i0.ɵɵadvance(4);
|
|
4709
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(24, 6, ctx.data.price, "USD"), " ");
|
|
4710
|
+
} }, dependencies: [CommonModule, i1$1.CurrencyPipe], styles: ["[_nghost-%COMP%]{display:block}.sdc-seat-popover[_ngcontent-%COMP%]{width:var(--sdc-popover-width, 20rem);height:auto;color:var(--sdc-popover-text-color, #ffffff);background-color:var(--sdc-popover-bg-color, #000000);border-radius:var(--sdc-popover-border-radius, .75rem);overflow:hidden}.sdc-popover-thumbnail[_ngcontent-%COMP%]{width:100%;height:var(--sdc-popover-thumbnail-height, 12rem);position:relative}.sdc-thumbnail-image[_ngcontent-%COMP%]{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}.sdc-popover-loader[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.sdc-spinner[_ngcontent-%COMP%]{display:inline-block;width:80px;height:80px}.sdc-spinner[_ngcontent-%COMP%]:after{content:\" \";display:block;width:32px;height:32px;margin:16px 8px 8px 16px;border-radius:50%;border:3px solid var(--sdc-spinner-color, #fff);border-color:var(--sdc-spinner-color, #fff) transparent var(--sdc-spinner-color, #fff) transparent;animation:_ngcontent-%COMP%_sdc-spinner-rotate 1.2s linear infinite}@keyframes _ngcontent-%COMP%_sdc-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdc-popover-content[_ngcontent-%COMP%]{padding:.75rem}.sdc-popover-grid[_ngcontent-%COMP%]{display:flex;gap:1.25rem}.sdc-popover-col-left[_ngcontent-%COMP%]{flex:1}.sdc-popover-col-right[_ngcontent-%COMP%]{flex:1;text-align:right;min-width:max-content}.sdc-popover-label[_ngcontent-%COMP%]{margin:.25rem 0;font-size:var(--sdc-popover-label-font-size, .875rem);line-height:1.25rem;font-weight:var(--sdc-popover-label-font-weight, 700)}.sdc-popover-label-text[_ngcontent-%COMP%]{font-weight:var(--sdc-popover-label-text-font-weight, 400)}"], changeDetection: 0 });
|
|
4711
|
+
}
|
|
4712
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SeatPopoverComponent, [{
|
|
4713
|
+
type: Component,
|
|
4714
|
+
args: [{ selector: 'sdc-seat-popover', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, CurrencyPipe], template: "<div\n (mouseenter)=\"onEnter($event)\"\n (mouseleave)=\"onLeave($event)\"\n class=\"sdc-seat-popover\">\n <div class=\"sdc-popover-thumbnail\">\n @if (isLoadingThumbnail && showLoader) {\n <div class=\"sdc-popover-loader\">\n <div class=\"sdc-spinner\"></div>\n </div>\n }\n @if (thumbnail && !isLoadingThumbnail) {\n <div class=\"sdc-thumbnail-image\" [style.background-image]=\"'url(' + thumbnail + ')'\"></div>\n }\n </div>\n\n <div class=\"sdc-popover-content\">\n <div class=\"sdc-popover-grid\">\n <div class=\"sdc-popover-col-left\">\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Section:</span>\n {{ formattedSection }}\n </h5>\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Row:</span>\n {{ data.row }}\n </h5>\n </div>\n <div class=\"sdc-popover-col-right\">\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Seat:</span>\n {{ formattedSeat }}\n </h5>\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Price:</span>\n {{ data.price | currency: 'USD' }}\n </h5>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-seat-popover{width:var(--sdc-popover-width, 20rem);height:auto;color:var(--sdc-popover-text-color, #ffffff);background-color:var(--sdc-popover-bg-color, #000000);border-radius:var(--sdc-popover-border-radius, .75rem);overflow:hidden}.sdc-popover-thumbnail{width:100%;height:var(--sdc-popover-thumbnail-height, 12rem);position:relative}.sdc-thumbnail-image{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}.sdc-popover-loader{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.sdc-spinner{display:inline-block;width:80px;height:80px}.sdc-spinner:after{content:\" \";display:block;width:32px;height:32px;margin:16px 8px 8px 16px;border-radius:50%;border:3px solid var(--sdc-spinner-color, #fff);border-color:var(--sdc-spinner-color, #fff) transparent var(--sdc-spinner-color, #fff) transparent;animation:sdc-spinner-rotate 1.2s linear infinite}@keyframes sdc-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdc-popover-content{padding:.75rem}.sdc-popover-grid{display:flex;gap:1.25rem}.sdc-popover-col-left{flex:1}.sdc-popover-col-right{flex:1;text-align:right;min-width:max-content}.sdc-popover-label{margin:.25rem 0;font-size:var(--sdc-popover-label-font-size, .875rem);line-height:1.25rem;font-weight:var(--sdc-popover-label-font-weight, 700)}.sdc-popover-label-text{font-weight:var(--sdc-popover-label-text-font-weight, 400)}\n"] }]
|
|
4715
|
+
}], null, { data: [{
|
|
4716
|
+
type: Input
|
|
4717
|
+
}], showLoader: [{
|
|
4718
|
+
type: Input
|
|
4719
|
+
}] }); })();
|
|
4720
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SeatPopoverComponent, { className: "SeatPopoverComponent", filePath: "dvm/popover/seat-popover/seat-popover.component.ts", lineNumber: 24 }); })();
|
|
4721
|
+
|
|
4722
|
+
function SectionPopoverComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
4723
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
4724
|
+
i0.ɵɵelement(1, "div", 13);
|
|
4725
|
+
i0.ɵɵelementEnd();
|
|
4478
4726
|
} }
|
|
4479
|
-
function
|
|
4480
|
-
i0.ɵɵ
|
|
4481
|
-
i0.ɵɵ
|
|
4727
|
+
function SectionPopoverComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
4728
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
4729
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
4730
|
+
i0.ɵɵlistener("click", function SectionPopoverComponent_Conditional_3_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLoad3dView()); });
|
|
4731
|
+
i0.ɵɵelementStart(1, "span", 15);
|
|
4732
|
+
i0.ɵɵtext(2, "Click to open view");
|
|
4482
4733
|
i0.ɵɵelementEnd()();
|
|
4734
|
+
} if (rf & 2) {
|
|
4735
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
4736
|
+
i0.ɵɵstyleProp("background-image", "url(" + ctx_r1.thumbnail + ")");
|
|
4483
4737
|
} }
|
|
4484
|
-
function
|
|
4485
|
-
i0.ɵɵ
|
|
4486
|
-
i0.ɵɵ
|
|
4487
|
-
i0.ɵɵtext(3, " Row");
|
|
4738
|
+
function SectionPopoverComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
4739
|
+
i0.ɵɵelementStart(0, "h5", 7)(1, "span", 8);
|
|
4740
|
+
i0.ɵɵtext(2, "Price:");
|
|
4488
4741
|
i0.ɵɵelementEnd();
|
|
4489
|
-
i0.ɵɵtext(
|
|
4490
|
-
i0.ɵɵelementStart(5, "span", 9);
|
|
4491
|
-
i0.ɵɵtext(6, "Seat");
|
|
4742
|
+
i0.ɵɵtext(3);
|
|
4492
4743
|
i0.ɵɵelementEnd();
|
|
4493
|
-
|
|
4744
|
+
} if (rf & 2) {
|
|
4745
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
4746
|
+
i0.ɵɵadvance(3);
|
|
4747
|
+
i0.ɵɵtextInterpolate1(" $ ", ctx_r1.priceRangeWithFees, " ");
|
|
4748
|
+
} }
|
|
4749
|
+
function SectionPopoverComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
4750
|
+
i0.ɵɵelementStart(0, "h5", 7)(1, "span", 8);
|
|
4751
|
+
i0.ɵɵtext(2, "Price:");
|
|
4752
|
+
i0.ɵɵelementEnd();
|
|
4753
|
+
i0.ɵɵtext(3);
|
|
4494
4754
|
i0.ɵɵelementEnd();
|
|
4495
|
-
i0.ɵɵelementContainerEnd();
|
|
4496
4755
|
} if (rf & 2) {
|
|
4497
|
-
const
|
|
4498
|
-
i0.ɵɵadvance(4);
|
|
4499
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r0.row, " \u00A0 ");
|
|
4756
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
4500
4757
|
i0.ɵɵadvance(3);
|
|
4501
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
4758
|
+
i0.ɵɵtextInterpolate1(" $ ", ctx_r1.priceRangeDisplay, " ");
|
|
4502
4759
|
} }
|
|
4503
|
-
function
|
|
4504
|
-
i0.ɵɵ
|
|
4505
|
-
i0.ɵɵ
|
|
4506
|
-
i0.ɵɵ
|
|
4507
|
-
i0.ɵɵtext(
|
|
4760
|
+
function SectionPopoverComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
4761
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
4762
|
+
i0.ɵɵelementStart(0, "button", 16);
|
|
4763
|
+
i0.ɵɵlistener("click", function SectionPopoverComponent_Conditional_23_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectForBA()); });
|
|
4764
|
+
i0.ɵɵtext(1);
|
|
4508
4765
|
i0.ɵɵelementEnd();
|
|
4509
|
-
i0.ɵɵtext(6);
|
|
4510
|
-
i0.ɵɵpipe(7, "currency");
|
|
4511
|
-
i0.ɵɵelementEnd()();
|
|
4512
|
-
i0.ɵɵelementContainerEnd();
|
|
4513
4766
|
} if (rf & 2) {
|
|
4514
|
-
const
|
|
4515
|
-
i0.ɵɵadvance(5);
|
|
4516
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r0.prices.length > 1 ? "FROM" : "PRICE", " \u00A0 ");
|
|
4767
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
4517
4768
|
i0.ɵɵadvance();
|
|
4518
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
4769
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.data.isSelectedForBA ? "Deselect" : "Select", " ");
|
|
4770
|
+
} }
|
|
4771
|
+
function SectionPopoverComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
4772
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
4773
|
+
i0.ɵɵelementStart(0, "button", 17);
|
|
4774
|
+
i0.ɵɵlistener("click", function SectionPopoverComponent_Conditional_24_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOpenSeatMap()); });
|
|
4775
|
+
i0.ɵɵtext(1, "Open Seat Map");
|
|
4776
|
+
i0.ɵɵelementEnd();
|
|
4777
|
+
} }
|
|
4778
|
+
class SectionPopoverComponent extends BasePopoverComponent {
|
|
4779
|
+
data;
|
|
4780
|
+
showLoader = true;
|
|
4781
|
+
showBestAvailable = false;
|
|
4782
|
+
showOpenSeatMap = true;
|
|
4783
|
+
excludeSeatMapSections = ['S_BLCHADA', 'S_Bleacher'];
|
|
4784
|
+
isTicketFeeEnabled = false;
|
|
4785
|
+
load3dView = new EventEmitter();
|
|
4786
|
+
selectForBA = new EventEmitter();
|
|
4787
|
+
openSeatMap = new EventEmitter();
|
|
4788
|
+
thumbnailProvider = inject(THUMBNAIL_PROVIDER, { optional: true });
|
|
4789
|
+
cdr = inject(ChangeDetectorRef);
|
|
4790
|
+
thumbnail;
|
|
4791
|
+
isLoadingThumbnail = true;
|
|
4792
|
+
ngOnInit() {
|
|
4793
|
+
super.ngOnInit(); // Initialize base component timer logic
|
|
4794
|
+
if (this.data.thumbnail) {
|
|
4795
|
+
this.thumbnail = this.data.thumbnail;
|
|
4796
|
+
this.isLoadingThumbnail = false;
|
|
4797
|
+
}
|
|
4798
|
+
else if (this.thumbnailProvider && this.showLoader) {
|
|
4799
|
+
this.loadThumbnail();
|
|
4800
|
+
}
|
|
4801
|
+
}
|
|
4802
|
+
loadThumbnail() {
|
|
4803
|
+
this.thumbnailProvider.getThumbnail(this.data.id).subscribe({
|
|
4804
|
+
next: url => {
|
|
4805
|
+
this.thumbnail = url;
|
|
4806
|
+
this.isLoadingThumbnail = false;
|
|
4807
|
+
this.cdr.markForCheck();
|
|
4808
|
+
},
|
|
4809
|
+
error: () => {
|
|
4810
|
+
this.isLoadingThumbnail = false;
|
|
4811
|
+
this.cdr.markForCheck();
|
|
4812
|
+
},
|
|
4813
|
+
});
|
|
4814
|
+
}
|
|
4815
|
+
get priceRangeDisplay() {
|
|
4816
|
+
const { min, max } = this.data.priceRange;
|
|
4817
|
+
return min === max ? min.toString() : `${min} - ${max}`;
|
|
4818
|
+
}
|
|
4819
|
+
get priceRangeWithFees() {
|
|
4820
|
+
if (this.isTicketFeeEnabled && this.data.priceRangeWithFees) {
|
|
4821
|
+
return this.data.priceRangeWithFees;
|
|
4822
|
+
}
|
|
4823
|
+
return undefined;
|
|
4824
|
+
}
|
|
4825
|
+
get shouldShowSeatMapButton() {
|
|
4826
|
+
return (this.showOpenSeatMap &&
|
|
4827
|
+
!this.excludeSeatMapSections.includes(this.data.section) &&
|
|
4828
|
+
this.data.type !== 'general_admission');
|
|
4829
|
+
}
|
|
4830
|
+
onEnter(event) {
|
|
4831
|
+
this.onMouseEnter(event);
|
|
4832
|
+
}
|
|
4833
|
+
onLeave(event) {
|
|
4834
|
+
this.onMouseLeave(event);
|
|
4835
|
+
}
|
|
4836
|
+
onLoad3dView() {
|
|
4837
|
+
this.load3dView.emit();
|
|
4838
|
+
}
|
|
4839
|
+
onSelectForBA() {
|
|
4840
|
+
this.selectForBA.emit(!this.data.isSelectedForBA);
|
|
4841
|
+
}
|
|
4842
|
+
onOpenSeatMap() {
|
|
4843
|
+
this.openSeatMap.emit();
|
|
4844
|
+
}
|
|
4845
|
+
static ɵfac = /*@__PURE__*/ (() => { let ɵSectionPopoverComponent_BaseFactory; return function SectionPopoverComponent_Factory(__ngFactoryType__) { return (ɵSectionPopoverComponent_BaseFactory || (ɵSectionPopoverComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SectionPopoverComponent)))(__ngFactoryType__ || SectionPopoverComponent); }; })();
|
|
4846
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SectionPopoverComponent, selectors: [["sdc-section-popover"]], inputs: { data: "data", showLoader: "showLoader", showBestAvailable: "showBestAvailable", showOpenSeatMap: "showOpenSeatMap", excludeSeatMapSections: "excludeSeatMapSections", isTicketFeeEnabled: "isTicketFeeEnabled" }, outputs: { load3dView: "load3dView", selectForBA: "selectForBA", openSeatMap: "openSeatMap" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 25, vars: 8, consts: [[1, "sdc-section-popover", 3, "mouseenter", "mouseleave"], [1, "sdc-popover-thumbnail"], [1, "sdc-popover-loader"], [1, "sdc-thumbnail-image", "sdc-thumbnail-clickable", 3, "background-image"], [1, "sdc-popover-content"], [1, "sdc-popover-grid"], [1, "sdc-popover-col-left"], [1, "sdc-popover-label"], [1, "sdc-popover-label-text"], [1, "sdc-popover-col-right"], [1, "sdc-popover-actions"], [1, "sdc-popover-btn", "sdc-popover-btn-primary", "sdc-popover-btn-mobile-only"], [1, "sdc-popover-btn", "sdc-popover-btn-secondary"], [1, "sdc-spinner"], [1, "sdc-thumbnail-image", "sdc-thumbnail-clickable", 3, "click"], [1, "sdc-thumbnail-overlay-text"], [1, "sdc-popover-btn", "sdc-popover-btn-primary", "sdc-popover-btn-mobile-only", 3, "click"], [1, "sdc-popover-btn", "sdc-popover-btn-secondary", 3, "click"]], template: function SectionPopoverComponent_Template(rf, ctx) { if (rf & 1) {
|
|
4847
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
4848
|
+
i0.ɵɵlistener("mouseenter", function SectionPopoverComponent_Template_div_mouseenter_0_listener($event) { return ctx.onEnter($event); })("mouseleave", function SectionPopoverComponent_Template_div_mouseleave_0_listener($event) { return ctx.onLeave($event); });
|
|
4849
|
+
i0.ɵɵelementStart(1, "div", 1);
|
|
4850
|
+
i0.ɵɵtemplate(2, SectionPopoverComponent_Conditional_2_Template, 2, 0, "div", 2)(3, SectionPopoverComponent_Conditional_3_Template, 3, 2, "div", 3);
|
|
4851
|
+
i0.ɵɵelementEnd();
|
|
4852
|
+
i0.ɵɵelementStart(4, "div", 4)(5, "div", 5)(6, "div", 6)(7, "h5", 7)(8, "span", 8);
|
|
4853
|
+
i0.ɵɵtext(9, "Section:");
|
|
4854
|
+
i0.ɵɵelementEnd();
|
|
4855
|
+
i0.ɵɵtext(10);
|
|
4856
|
+
i0.ɵɵelementEnd();
|
|
4857
|
+
i0.ɵɵtemplate(11, SectionPopoverComponent_Conditional_11_Template, 4, 1, "h5", 7)(12, SectionPopoverComponent_Conditional_12_Template, 4, 1, "h5", 7);
|
|
4858
|
+
i0.ɵɵelementEnd();
|
|
4859
|
+
i0.ɵɵelementStart(13, "div", 9)(14, "h5", 7)(15, "span", 8);
|
|
4860
|
+
i0.ɵɵtext(16, "Available Seats:");
|
|
4861
|
+
i0.ɵɵelementEnd();
|
|
4862
|
+
i0.ɵɵtext(17);
|
|
4863
|
+
i0.ɵɵelementEnd();
|
|
4864
|
+
i0.ɵɵelementStart(18, "h5", 7)(19, "span", 8);
|
|
4865
|
+
i0.ɵɵtext(20, "Available ADA Seats:");
|
|
4866
|
+
i0.ɵɵelementEnd();
|
|
4867
|
+
i0.ɵɵtext(21);
|
|
4868
|
+
i0.ɵɵelementEnd()()();
|
|
4869
|
+
i0.ɵɵelementStart(22, "div", 10);
|
|
4870
|
+
i0.ɵɵtemplate(23, SectionPopoverComponent_Conditional_23_Template, 2, 1, "button", 11)(24, SectionPopoverComponent_Conditional_24_Template, 2, 0, "button", 12);
|
|
4871
|
+
i0.ɵɵelementEnd()()();
|
|
4872
|
+
} if (rf & 2) {
|
|
4873
|
+
i0.ɵɵadvance(2);
|
|
4874
|
+
i0.ɵɵconditional(ctx.isLoadingThumbnail && ctx.showLoader ? 2 : -1);
|
|
4875
|
+
i0.ɵɵadvance();
|
|
4876
|
+
i0.ɵɵconditional(ctx.thumbnail && !ctx.isLoadingThumbnail ? 3 : -1);
|
|
4877
|
+
i0.ɵɵadvance(7);
|
|
4878
|
+
i0.ɵɵtextInterpolate1(" ", ctx.data.section, " ");
|
|
4879
|
+
i0.ɵɵadvance();
|
|
4880
|
+
i0.ɵɵconditional(ctx.isTicketFeeEnabled && ctx.priceRangeWithFees ? 11 : 12);
|
|
4881
|
+
i0.ɵɵadvance(6);
|
|
4882
|
+
i0.ɵɵtextInterpolate1(" ", ctx.data.availableQuantity, " ");
|
|
4883
|
+
i0.ɵɵadvance(4);
|
|
4884
|
+
i0.ɵɵtextInterpolate1(" ", ctx.data.adaQuantity, " ");
|
|
4885
|
+
i0.ɵɵadvance(2);
|
|
4886
|
+
i0.ɵɵconditional(ctx.showBestAvailable ? 23 : -1);
|
|
4887
|
+
i0.ɵɵadvance();
|
|
4888
|
+
i0.ɵɵconditional(ctx.shouldShowSeatMapButton ? 24 : -1);
|
|
4889
|
+
} }, dependencies: [CommonModule], styles: ["[_nghost-%COMP%]{display:block}.sdc-section-popover[_ngcontent-%COMP%]{width:var(--sdc-popover-width, 20rem);height:auto;color:var(--sdc-popover-text-color, #ffffff);background-color:var(--sdc-popover-bg-color, #000000);border-radius:var(--sdc-popover-border-radius, .75rem);overflow:hidden}.sdc-popover-thumbnail[_ngcontent-%COMP%]{width:100%;height:var(--sdc-popover-thumbnail-height, 12rem);position:relative}.sdc-thumbnail-image[_ngcontent-%COMP%]{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}.sdc-thumbnail-clickable[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:8px}.sdc-thumbnail-overlay-text[_ngcontent-%COMP%]{font-size:var(--sdc-thumbnail-overlay-font-size, 12px);color:var(--sdc-thumbnail-overlay-color, #ffffff);background-color:var(--sdc-thumbnail-overlay-bg, rgba(0, 0, 0, .5));padding:4px 8px;border-radius:4px}.sdc-popover-loader[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.sdc-spinner[_ngcontent-%COMP%]{display:inline-block;width:80px;height:80px}.sdc-spinner[_ngcontent-%COMP%]:after{content:\" \";display:block;width:32px;height:32px;margin:16px 8px 8px 24px;border-radius:50%;border:3px solid var(--sdc-spinner-color, #fff);border-color:var(--sdc-spinner-color, #fff) transparent var(--sdc-spinner-color, #fff) transparent;animation:_ngcontent-%COMP%_sdc-spinner-rotate 1.2s linear infinite}@keyframes _ngcontent-%COMP%_sdc-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdc-popover-content[_ngcontent-%COMP%]{padding:.75rem}.sdc-popover-grid[_ngcontent-%COMP%]{display:flex;gap:1.25rem}.sdc-popover-col-left[_ngcontent-%COMP%]{flex:1}.sdc-popover-col-right[_ngcontent-%COMP%]{flex:1;text-align:right;min-width:max-content}.sdc-popover-label[_ngcontent-%COMP%]{margin:.25rem 0;font-size:var(--sdc-popover-label-font-size, .875rem);line-height:1.25rem;font-weight:var(--sdc-popover-label-font-weight, 700)}.sdc-popover-label-text[_ngcontent-%COMP%]{font-weight:var(--sdc-popover-label-text-font-weight, 400)}.sdc-popover-actions[_ngcontent-%COMP%]{padding:.5rem 0;display:flex;justify-content:center;gap:.5rem}.sdc-popover-btn[_ngcontent-%COMP%]{border:none;border-radius:var(--sdc-btn-border-radius, 4px);padding:.5rem 1rem;height:var(--sdc-btn-height, 2.25rem);font-size:var(--sdc-btn-font-size, .75rem);cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1)}.sdc-popover-btn[_ngcontent-%COMP%]:hover:not(:disabled){transform:scale(.95)}.sdc-popover-btn[_ngcontent-%COMP%]:disabled{opacity:.3;cursor:not-allowed}.sdc-popover-btn-primary[_ngcontent-%COMP%]{background-color:var(--sdc-btn-primary-bg, #007bff);color:var(--sdc-btn-primary-color, white);margin-right:.5rem}.sdc-popover-btn-secondary[_ngcontent-%COMP%]{background-color:var(--sdc-btn-secondary-bg, white);color:var(--sdc-btn-secondary-color, #007bff);border:1px solid var(--sdc-btn-secondary-border, #007bff)}.sdc-popover-btn-secondary[_ngcontent-%COMP%]:hover:not(:disabled){color:var(--sdc-btn-secondary-hover-color, #0056b3)}.sdc-popover-btn-mobile-only[_ngcontent-%COMP%]{display:block}@media (min-width: 768px){.sdc-popover-btn-mobile-only[_ngcontent-%COMP%]{display:none}}"], changeDetection: 0 });
|
|
4890
|
+
}
|
|
4891
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SectionPopoverComponent, [{
|
|
4892
|
+
type: Component,
|
|
4893
|
+
args: [{ selector: 'sdc-section-popover', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div (mouseenter)=\"onEnter($event)\" (mouseleave)=\"onLeave($event)\" class=\"sdc-section-popover\">\n <div class=\"sdc-popover-thumbnail\">\n @if (isLoadingThumbnail && showLoader) {\n <div class=\"sdc-popover-loader\">\n <div class=\"sdc-spinner\"></div>\n </div>\n }\n @if (thumbnail && !isLoadingThumbnail) {\n <div\n class=\"sdc-thumbnail-image sdc-thumbnail-clickable\"\n [style.background-image]=\"'url(' + thumbnail + ')'\"\n (click)=\"onLoad3dView()\">\n <span class=\"sdc-thumbnail-overlay-text\">Click to open view</span>\n </div>\n }\n </div>\n\n <div class=\"sdc-popover-content\">\n <div class=\"sdc-popover-grid\">\n <div class=\"sdc-popover-col-left\">\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Section:</span>\n {{ data.section }}\n </h5>\n @if (isTicketFeeEnabled && priceRangeWithFees) {\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Price:</span> $ {{ priceRangeWithFees }}\n </h5>\n } @else {\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Price:</span> $ {{ priceRangeDisplay }}\n </h5>\n }\n </div>\n <div class=\"sdc-popover-col-right\">\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Available Seats:</span>\n {{ data.availableQuantity }}\n </h5>\n <h5 class=\"sdc-popover-label\">\n <span class=\"sdc-popover-label-text\">Available ADA Seats:</span>\n {{ data.adaQuantity }}\n </h5>\n </div>\n </div>\n\n <div class=\"sdc-popover-actions\">\n @if (showBestAvailable) {\n <button class=\"sdc-popover-btn sdc-popover-btn-primary sdc-popover-btn-mobile-only\" (click)=\"onSelectForBA()\">\n {{ data.isSelectedForBA ? 'Deselect' : 'Select' }}\n </button>\n }\n @if (shouldShowSeatMapButton) {\n <button class=\"sdc-popover-btn sdc-popover-btn-secondary\" (click)=\"onOpenSeatMap()\">Open Seat Map</button>\n }\n </div>\n </div>\n</div>\n", styles: [":host{display:block}.sdc-section-popover{width:var(--sdc-popover-width, 20rem);height:auto;color:var(--sdc-popover-text-color, #ffffff);background-color:var(--sdc-popover-bg-color, #000000);border-radius:var(--sdc-popover-border-radius, .75rem);overflow:hidden}.sdc-popover-thumbnail{width:100%;height:var(--sdc-popover-thumbnail-height, 12rem);position:relative}.sdc-thumbnail-image{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}.sdc-thumbnail-clickable{cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:8px}.sdc-thumbnail-overlay-text{font-size:var(--sdc-thumbnail-overlay-font-size, 12px);color:var(--sdc-thumbnail-overlay-color, #ffffff);background-color:var(--sdc-thumbnail-overlay-bg, rgba(0, 0, 0, .5));padding:4px 8px;border-radius:4px}.sdc-popover-loader{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.sdc-spinner{display:inline-block;width:80px;height:80px}.sdc-spinner:after{content:\" \";display:block;width:32px;height:32px;margin:16px 8px 8px 24px;border-radius:50%;border:3px solid var(--sdc-spinner-color, #fff);border-color:var(--sdc-spinner-color, #fff) transparent var(--sdc-spinner-color, #fff) transparent;animation:sdc-spinner-rotate 1.2s linear infinite}@keyframes sdc-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdc-popover-content{padding:.75rem}.sdc-popover-grid{display:flex;gap:1.25rem}.sdc-popover-col-left{flex:1}.sdc-popover-col-right{flex:1;text-align:right;min-width:max-content}.sdc-popover-label{margin:.25rem 0;font-size:var(--sdc-popover-label-font-size, .875rem);line-height:1.25rem;font-weight:var(--sdc-popover-label-font-weight, 700)}.sdc-popover-label-text{font-weight:var(--sdc-popover-label-text-font-weight, 400)}.sdc-popover-actions{padding:.5rem 0;display:flex;justify-content:center;gap:.5rem}.sdc-popover-btn{border:none;border-radius:var(--sdc-btn-border-radius, 4px);padding:.5rem 1rem;height:var(--sdc-btn-height, 2.25rem);font-size:var(--sdc-btn-font-size, .75rem);cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1)}.sdc-popover-btn:hover:not(:disabled){transform:scale(.95)}.sdc-popover-btn:disabled{opacity:.3;cursor:not-allowed}.sdc-popover-btn-primary{background-color:var(--sdc-btn-primary-bg, #007bff);color:var(--sdc-btn-primary-color, white);margin-right:.5rem}.sdc-popover-btn-secondary{background-color:var(--sdc-btn-secondary-bg, white);color:var(--sdc-btn-secondary-color, #007bff);border:1px solid var(--sdc-btn-secondary-border, #007bff)}.sdc-popover-btn-secondary:hover:not(:disabled){color:var(--sdc-btn-secondary-hover-color, #0056b3)}.sdc-popover-btn-mobile-only{display:block}@media (min-width: 768px){.sdc-popover-btn-mobile-only{display:none}}\n"] }]
|
|
4894
|
+
}], null, { data: [{
|
|
4895
|
+
type: Input
|
|
4896
|
+
}], showLoader: [{
|
|
4897
|
+
type: Input
|
|
4898
|
+
}], showBestAvailable: [{
|
|
4899
|
+
type: Input
|
|
4900
|
+
}], showOpenSeatMap: [{
|
|
4901
|
+
type: Input
|
|
4902
|
+
}], excludeSeatMapSections: [{
|
|
4903
|
+
type: Input
|
|
4904
|
+
}], isTicketFeeEnabled: [{
|
|
4905
|
+
type: Input
|
|
4906
|
+
}], load3dView: [{
|
|
4907
|
+
type: Output
|
|
4908
|
+
}], selectForBA: [{
|
|
4909
|
+
type: Output
|
|
4910
|
+
}], openSeatMap: [{
|
|
4911
|
+
type: Output
|
|
4912
|
+
}] }); })();
|
|
4913
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SectionPopoverComponent, { className: "SectionPopoverComponent", filePath: "dvm/popover/section-popover/section-popover.component.ts", lineNumber: 24 }); })();
|
|
4914
|
+
|
|
4915
|
+
const _c0$7 = () => ["S_BLCHADA", "S_Bleacher"];
|
|
4916
|
+
function PopoverComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
4917
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
4918
|
+
i0.ɵɵelementStart(0, "sdc-section-popover", 2);
|
|
4919
|
+
i0.ɵɵlistener("mouseEnter", function PopoverComponent_Conditional_0_Template_sdc_section_popover_mouseEnter_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onEnter($event)); })("mouseLeave", function PopoverComponent_Conditional_0_Template_sdc_section_popover_mouseLeave_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLeave($event)); })("load3dView", function PopoverComponent_Conditional_0_Template_sdc_section_popover_load3dView_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLoad3dView()); })("selectForBA", function PopoverComponent_Conditional_0_Template_sdc_section_popover_selectForBA_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectSectionForBA($event)); })("openSeatMap", function PopoverComponent_Conditional_0_Template_sdc_section_popover_openSeatMap_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOpenSeatMap()); });
|
|
4920
|
+
i0.ɵɵelementEnd();
|
|
4921
|
+
} if (rf & 2) {
|
|
4922
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
4923
|
+
i0.ɵɵproperty("data", ctx_r1.sectionData)("popoverId", "popover-" + ctx_r1.node.id)("showBestAvailable", true)("showOpenSeatMap", true)("excludeSeatMapSections", i0.ɵɵpureFunction0(5, _c0$7));
|
|
4924
|
+
} }
|
|
4925
|
+
function PopoverComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
4926
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
4927
|
+
i0.ɵɵelementStart(0, "sdc-seat-popover", 3);
|
|
4928
|
+
i0.ɵɵlistener("mouseEnter", function PopoverComponent_Conditional_1_Template_sdc_seat_popover_mouseEnter_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onEnter($event)); })("mouseLeave", function PopoverComponent_Conditional_1_Template_sdc_seat_popover_mouseLeave_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onLeave($event)); });
|
|
4929
|
+
i0.ɵɵelementEnd();
|
|
4930
|
+
} if (rf & 2) {
|
|
4931
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
4932
|
+
i0.ɵɵproperty("data", ctx_r1.seatData)("popoverId", "popover-" + ctx_r1.node.id);
|
|
4519
4933
|
} }
|
|
4520
4934
|
class PopoverComponent {
|
|
4521
4935
|
// INPUTS
|
|
@@ -4527,19 +4941,25 @@ class PopoverComponent {
|
|
|
4527
4941
|
* The current theme applied to the component.
|
|
4528
4942
|
*/
|
|
4529
4943
|
theme = input('theme-sdc');
|
|
4944
|
+
// OUTPUTS
|
|
4530
4945
|
/**
|
|
4531
|
-
*
|
|
4946
|
+
* Emitted when the 3D view should be loaded.
|
|
4532
4947
|
*/
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4948
|
+
load3dView = output();
|
|
4949
|
+
/**
|
|
4950
|
+
* Emitted when a section should be selected/deselected for best available.
|
|
4951
|
+
*/
|
|
4952
|
+
selectSectionForBA = output();
|
|
4953
|
+
/**
|
|
4954
|
+
* Emitted when the seat map should be opened.
|
|
4955
|
+
*/
|
|
4956
|
+
openSeatMap = output();
|
|
4537
4957
|
// SERVICES
|
|
4538
4958
|
dvm = inject(DVM_SERVICE);
|
|
4539
4959
|
cdr = inject(ChangeDetectorRef);
|
|
4540
4960
|
format = inject(DVM_FORMATTER);
|
|
4541
|
-
popoverService = inject(PopoverService);
|
|
4542
4961
|
configurationService = inject(CONFIGURATION_SERVICE);
|
|
4962
|
+
popoverService = inject(PopoverService);
|
|
4543
4963
|
// COMPONENT STATE
|
|
4544
4964
|
Nodes = AppNodes;
|
|
4545
4965
|
thumbnail;
|
|
@@ -4547,6 +4967,23 @@ class PopoverComponent {
|
|
|
4547
4967
|
row;
|
|
4548
4968
|
seat;
|
|
4549
4969
|
prices;
|
|
4970
|
+
// Section popover specific properties
|
|
4971
|
+
availableQuantity = 0;
|
|
4972
|
+
adaQuantity = 0;
|
|
4973
|
+
includedSectionForBA = false;
|
|
4974
|
+
// Transformed data for new components
|
|
4975
|
+
get seatData() {
|
|
4976
|
+
if (this.node?.type === AppNodes.Seat) {
|
|
4977
|
+
return this.transformToSeatData();
|
|
4978
|
+
}
|
|
4979
|
+
return null;
|
|
4980
|
+
}
|
|
4981
|
+
get sectionData() {
|
|
4982
|
+
if (this.node?.type === AppNodes.Section || this.node?.type === AppNodes.Ga) {
|
|
4983
|
+
return this.transformToSectionData();
|
|
4984
|
+
}
|
|
4985
|
+
return null;
|
|
4986
|
+
}
|
|
4550
4987
|
// LC METHODS
|
|
4551
4988
|
ngOnInit() {
|
|
4552
4989
|
this.initComponent();
|
|
@@ -4565,6 +5002,16 @@ class PopoverComponent {
|
|
|
4565
5002
|
: this.prices[0] // Si lo hay, sacamos el minimo, si no seteamos el primero ( y unico xd )
|
|
4566
5003
|
: undefined; // No existen precios
|
|
4567
5004
|
}
|
|
5005
|
+
get priceRange() {
|
|
5006
|
+
if (!this.prices || this.prices.length === 0) {
|
|
5007
|
+
return '';
|
|
5008
|
+
}
|
|
5009
|
+
let priceRange = this.prices[0];
|
|
5010
|
+
if (this.prices.length > 1 && this.prices[0] !== this.prices[1]) {
|
|
5011
|
+
priceRange = `${this.prices[0]} - ${this.prices[1]}`;
|
|
5012
|
+
}
|
|
5013
|
+
return priceRange;
|
|
5014
|
+
}
|
|
4568
5015
|
// METHODS
|
|
4569
5016
|
initComponent() {
|
|
4570
5017
|
this.setTexts();
|
|
@@ -4572,8 +5019,8 @@ class PopoverComponent {
|
|
|
4572
5019
|
// this.getPrice();
|
|
4573
5020
|
}
|
|
4574
5021
|
setTexts() {
|
|
4575
|
-
const nodeId = this.format.transform(this.node
|
|
4576
|
-
// const translated = this.translationData()[this.node.id.split('-')[0]];
|
|
5022
|
+
const nodeId = this.format.transform(this.node?.id).split(' ');
|
|
5023
|
+
// const translated = this.translationData()[this.node().id.split('-')[0]];
|
|
4577
5024
|
this.section = nodeId[0];
|
|
4578
5025
|
this.row = nodeId[1] ?? null;
|
|
4579
5026
|
this.seat = nodeId[2] ?? null;
|
|
@@ -4582,9 +5029,9 @@ class PopoverComponent {
|
|
|
4582
5029
|
const viewer3dService = this.dvm.viewer3dService;
|
|
4583
5030
|
const options = {
|
|
4584
5031
|
// eslint-disable-next-line camelcase
|
|
4585
|
-
venue_id: this.configurationService.configuration.
|
|
5032
|
+
venue_id: this.configurationService.configuration.dvmData.venueId,
|
|
4586
5033
|
// eslint-disable-next-line camelcase
|
|
4587
|
-
view_id: this.node
|
|
5034
|
+
view_id: this.node?.id,
|
|
4588
5035
|
};
|
|
4589
5036
|
if (!viewer3dService?.isInitialized()) {
|
|
4590
5037
|
return;
|
|
@@ -4594,39 +5041,245 @@ class PopoverComponent {
|
|
|
4594
5041
|
this.cdr.markForCheck();
|
|
4595
5042
|
});
|
|
4596
5043
|
}
|
|
5044
|
+
// Section popover methods
|
|
5045
|
+
onLoad3dView() {
|
|
5046
|
+
this.load3dView.emit({
|
|
5047
|
+
node: this.node,
|
|
5048
|
+
section: this.section,
|
|
5049
|
+
});
|
|
5050
|
+
}
|
|
5051
|
+
onSelectSectionForBA(selected) {
|
|
5052
|
+
this.includedSectionForBA = selected;
|
|
5053
|
+
this.selectSectionForBA.emit({
|
|
5054
|
+
node: this.node,
|
|
5055
|
+
section: this.section,
|
|
5056
|
+
selected: this.includedSectionForBA,
|
|
5057
|
+
});
|
|
5058
|
+
}
|
|
5059
|
+
onOpenSeatMap() {
|
|
5060
|
+
this.openSeatMap.emit({
|
|
5061
|
+
node: this.node,
|
|
5062
|
+
section: this.section,
|
|
5063
|
+
});
|
|
5064
|
+
}
|
|
5065
|
+
// Data transformation methods
|
|
5066
|
+
transformToSeatData() {
|
|
5067
|
+
const nodeId = this.format.transform(this.node?.id).split(' ');
|
|
5068
|
+
const section = nodeId[0];
|
|
5069
|
+
const row = nodeId[1] ?? '';
|
|
5070
|
+
const seat = nodeId[2] ?? '';
|
|
5071
|
+
return {
|
|
5072
|
+
id: this.node.id,
|
|
5073
|
+
section: section,
|
|
5074
|
+
row: row,
|
|
5075
|
+
seat: seat,
|
|
5076
|
+
price: this.price ? Number.parseFloat(this.price) : 0,
|
|
5077
|
+
thumbnail: this.thumbnail
|
|
5078
|
+
};
|
|
5079
|
+
}
|
|
5080
|
+
transformToSectionData() {
|
|
5081
|
+
const nodeId = this.format.transform(this.node?.id).split(' ');
|
|
5082
|
+
const section = nodeId[0];
|
|
5083
|
+
// Parse price range from existing prices array
|
|
5084
|
+
let priceRange = { min: 0, max: 0 };
|
|
5085
|
+
if (this.prices && this.prices.length > 0) {
|
|
5086
|
+
const minPrice = Number.parseFloat(this.prices[0]);
|
|
5087
|
+
const maxPrice = this.prices.length > 1 ? Number.parseFloat(this.prices[1]) : minPrice;
|
|
5088
|
+
priceRange = { min: minPrice, max: maxPrice };
|
|
5089
|
+
}
|
|
5090
|
+
return {
|
|
5091
|
+
id: this.node.id,
|
|
5092
|
+
section: section,
|
|
5093
|
+
priceRange: priceRange,
|
|
5094
|
+
availableQuantity: this.availableQuantity,
|
|
5095
|
+
adaQuantity: this.adaQuantity,
|
|
5096
|
+
thumbnail: this.thumbnail,
|
|
5097
|
+
type: this.node.type === AppNodes.Ga ? 'general_admission' : 'section',
|
|
5098
|
+
isSelectedForBA: this.includedSectionForBA
|
|
5099
|
+
};
|
|
5100
|
+
}
|
|
4597
5101
|
static ɵfac = function PopoverComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PopoverComponent)(); };
|
|
4598
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PopoverComponent, selectors: [["sdc-map-popover"]], inputs: { node: "node", theme: [1, "theme"] },
|
|
4599
|
-
i0.ɵɵ
|
|
4600
|
-
i0.ɵɵlistener("mouseenter", function PopoverComponent_Template_div_mouseenter_0_listener($event) { return ctx.onEnter($event); })("mouseleave", function PopoverComponent_Template_div_mouseleave_0_listener($event) { return ctx.onLeave($event); });
|
|
4601
|
-
i0.ɵɵelement(1, "div", 1);
|
|
4602
|
-
i0.ɵɵtemplate(2, PopoverComponent_Conditional_2_Template, 2, 4)(3, PopoverComponent_Conditional_3_Template, 3, 0, "div", 2);
|
|
4603
|
-
i0.ɵɵelementStart(4, "div", 3)(5, "p", 4);
|
|
4604
|
-
i0.ɵɵtext(6);
|
|
4605
|
-
i0.ɵɵelementEnd();
|
|
4606
|
-
i0.ɵɵtemplate(7, PopoverComponent_Conditional_7_Template, 8, 2, "ng-container");
|
|
4607
|
-
i0.ɵɵelementEnd();
|
|
4608
|
-
i0.ɵɵtemplate(8, PopoverComponent_Conditional_8_Template, 8, 5, "ng-container");
|
|
4609
|
-
i0.ɵɵelementEnd();
|
|
5102
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PopoverComponent, selectors: [["sdc-map-popover"]], inputs: { node: "node", theme: [1, "theme"] }, outputs: { load3dView: "load3dView", selectSectionForBA: "selectSectionForBA", openSeatMap: "openSeatMap" }, decls: 2, vars: 2, consts: [[3, "data", "popoverId", "showBestAvailable", "showOpenSeatMap", "excludeSeatMapSections"], [3, "data", "popoverId"], [3, "mouseEnter", "mouseLeave", "load3dView", "selectForBA", "openSeatMap", "data", "popoverId", "showBestAvailable", "showOpenSeatMap", "excludeSeatMapSections"], [3, "mouseEnter", "mouseLeave", "data", "popoverId"]], template: function PopoverComponent_Template(rf, ctx) { if (rf & 1) {
|
|
5103
|
+
i0.ɵɵtemplate(0, PopoverComponent_Conditional_0_Template, 1, 6, "sdc-section-popover", 0)(1, PopoverComponent_Conditional_1_Template, 1, 2, "sdc-seat-popover", 1);
|
|
4610
5104
|
} if (rf & 2) {
|
|
4611
|
-
i0.ɵɵ
|
|
4612
|
-
i0.ɵɵadvance(2);
|
|
4613
|
-
i0.ɵɵconditional(ctx.thumbnail ? 2 : 3);
|
|
4614
|
-
i0.ɵɵadvance(4);
|
|
4615
|
-
i0.ɵɵtextInterpolate1(" ", ctx.section, " ");
|
|
5105
|
+
i0.ɵɵconditional(ctx.sectionData ? 0 : -1);
|
|
4616
5106
|
i0.ɵɵadvance();
|
|
4617
|
-
i0.ɵɵconditional(ctx.
|
|
4618
|
-
|
|
4619
|
-
i0.ɵɵconditional(ctx.price ? 8 : -1);
|
|
4620
|
-
} }, dependencies: [CurrencyPipe, NgOptimizedImage], styles: [".sdc-map-popover[_ngcontent-%COMP%]{--sdc-map-popover-background-color: var(--color-pure-black);--sdc-map-popover-border-radius: var(--radius-xl);--sdc-map-popover-width: 150px;--sdc-map-popover-height: 94px;--sdc-map-popover-lg-width: 270px;--sdc-map-popover-lg-height: auto;--sdc-map-popover-thumbnail-desktop-height: 124px;--sdc-map-popover-thumbnail-mobile-height: 66px;--sdc-map-popover-loader-background-color: var(--color-pure-black);--sdc-map-popover-loader-height: 124px;--sdc-map-popover-loader-spinner-border-color: var(--color-neutral-300);--sdc-map-popover-loader-spinner-border-top-color: var(--color-pure-white);--sdc-map-popover-loader-spinner-size: 2rem;--sdc-map-popover-loader-spinner-text-color: var(--color-neutral-200);--sdc-map-popover-content-background-color: var(--color-neutral-800);--sdc-map-popover-content-padding: var(--space-1_5) var(--space-0);--sdc-map-popover-text-color: var(--color-pure-white);--sdc-map-popover-text-size: var(--text-xs);--sdc-map-popover-text-weight: var(--font-semibold);--sdc-map-popover-text-light-weight: var(--font-light);--sdc-map-popover-text-light-opacity: .5;--sdc-map-popover-gradient-from: var(--color-primary-transparent-30);--sdc-map-popover-gradient-via: var(--color-primary);--sdc-map-popover-gradient-to: var(--color-primary-transparent-30);--sdc-map-popover-gradient-height: 2px;--sdc-map-popover-price-container-padding: var(--space-1_5) var(--space-0);--sdc-map-popover-price-text-color: var(--color-pure-white);--sdc-map-popover-price-text-size: var(--text-sm);--sdc-map-popover-price-text-weight: var(--font-semibold);--sdc-map-popover-price-text-light-color: var(--color-primary);--sdc-map-popover-price-text-light-weight: var(--font-light);display:flex;flex-direction:column;overflow:hidden;background-color:var(--sdc-map-popover-background-color);border-radius:var(--sdc-map-popover-border-radius);width:var(--sdc-map-popover-width);height:var(--sdc-map-popover-height)}.popover-thumbnail-desktop[_ngcontent-%COMP%]{display:none}.popover-thumbnail-mobile[_ngcontent-%COMP%]{display:flex;object-fit:cover;pointer-events:auto;height:var(--sdc-map-popover-thumbnail-mobile-height)}.popover-loader-container[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:var(--sdc-map-popover-loader-background-color);height:var(--sdc-map-popover-loader-height)}@media (min-width: 1024px){.sdc-map-popover[_ngcontent-%COMP%]{width:var(--sdc-map-popover-lg-width);height:var(--sdc-map-popover-lg-height)}.popover-thumbnail-desktop[_ngcontent-%COMP%]{display:flex;object-fit:cover;pointer-events:auto;height:var(--sdc-map-popover-thumbnail-desktop-height)}.popover-thumbnail-mobile[_ngcontent-%COMP%]{display:none}}.popover-loader-spinner-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%}.popover-loader-spinner[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center;align-items:center;border:2px solid var(--sdc-map-popover-loader-spinner-border-color);border-top-color:var(--sdc-map-popover-loader-spinner-border-top-color);border-radius:9999px;width:var(--sdc-map-popover-loader-spinner-size);height:var(--sdc-map-popover-loader-spinner-size);color:var(--sdc-map-popover-loader-spinner-text-color);font-size:2.25rem;animation:_ngcontent-%COMP%_spin 1s linear infinite}.popover-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.25rem;background-color:var(--sdc-map-popover-content-background-color);padding:var(--sdc-map-popover-content-padding)}.popover-text[_ngcontent-%COMP%]{display:block;text-transform:uppercase;color:var(--sdc-map-popover-text-color);font-size:var(--sdc-map-popover-text-size);font-weight:var(--sdc-map-popover-text-weight)}.popover-text-light[_ngcontent-%COMP%]{font-weight:var(--sdc-map-popover-text-light-weight);opacity:var(--sdc-map-popover-text-light-opacity)}.popover-gradient[_ngcontent-%COMP%]{width:100%;background-image:linear-gradient(to right,var(--sdc-map-popover-gradient-from),var(--sdc-map-popover-gradient-via),var(--sdc-map-popover-gradient-to));height:var(--sdc-map-popover-gradient-height)}.popover-price-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--sdc-map-popover-price-container-padding)}.popover-price-text[_ngcontent-%COMP%]{display:block;text-transform:uppercase;color:var(--sdc-map-popover-price-text-color);font-size:var(--sdc-map-popover-price-text-size);font-weight:var(--sdc-map-popover-price-text-weight)}.popover-price-text-light[_ngcontent-%COMP%]{color:var(--sdc-map-popover-price-text-light-color);font-weight:var(--sdc-map-popover-price-text-light-weight)}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"], changeDetection: 0 });
|
|
5107
|
+
i0.ɵɵconditional(ctx.seatData ? 1 : -1);
|
|
5108
|
+
} }, dependencies: [CommonModule, SeatPopoverComponent, SectionPopoverComponent], styles: [".lds-dual-ring[_ngcontent-%COMP%]{display:inline-block;width:80px;height:80px}.lds-dual-ring[_ngcontent-%COMP%]:after{content:\" \";display:block;width:32px;height:32px;margin:16px 8px 8px 16px;border-radius:50%;border:3px solid #fff;border-color:#fff transparent #fff transparent;animation:_ngcontent-%COMP%_lds-dual-ring 1.2s linear infinite}@keyframes _ngcontent-%COMP%_lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}h5[_ngcontent-%COMP%]{margin:.25rem 0;font-size:.875rem;line-height:1.25rem}.font-normal[_ngcontent-%COMP%]{font-weight:400}.w-80[_ngcontent-%COMP%]{width:20rem}.h-48[_ngcontent-%COMP%]{height:12rem}.h-auto[_ngcontent-%COMP%]{height:auto}.text-white[_ngcontent-%COMP%]{color:#fff}.bg-black[_ngcontent-%COMP%]{background-color:#000}.rounded-xl[_ngcontent-%COMP%]{border-radius:.75rem}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden}.w-full[_ngcontent-%COMP%]{width:100%}.h-full[_ngcontent-%COMP%]{height:100%}.bg-center[_ngcontent-%COMP%]{background-position:center}.bg-cover[_ngcontent-%COMP%]{background-size:cover}.bg-no-repeat[_ngcontent-%COMP%]{background-repeat:no-repeat}.flex[_ngcontent-%COMP%]{display:flex}.justify-center[_ngcontent-%COMP%]{justify-content:center}.items-center[_ngcontent-%COMP%]{align-items:center}.px-3[_ngcontent-%COMP%]{padding-left:.75rem;padding-right:.75rem}.py-2[_ngcontent-%COMP%]{padding-top:.5rem;padding-bottom:.5rem}.w-1\\/2[_ngcontent-%COMP%]{width:50%}.mr-5[_ngcontent-%COMP%]{margin-right:1.25rem}.min-w-max[_ngcontent-%COMP%]{min-width:max-content}.text-right[_ngcontent-%COMP%]{text-align:right}.viewer3d-image[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:8px;font-size:12px}.btn-main[_ngcontent-%COMP%]{background-color:#007bff;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer}.btn-white[_ngcontent-%COMP%]{background-color:#fff;color:#007bff;border:1px solid #007bff;border-radius:4px;padding:.5rem 1rem;cursor:pointer}.btn-white[_ngcontent-%COMP%]:hover{color:#0056b3}.tooltip-img[_ngcontent-%COMP%]{background-position:center;background-size:cover;background-repeat:no-repeat}.block[_ngcontent-%COMP%]{display:block}.md\\\\[_ngcontent-%COMP%]:hidden{display:none}@media (min-width: 768px){.md\\\\[_ngcontent-%COMP%]:hidden{display:none}}.text-main[_ngcontent-%COMP%]{color:#007bff}.text-main-accent[_ngcontent-%COMP%]{color:#0056b3}.mr-2[_ngcontent-%COMP%]{margin-right:.5rem}.h-9[_ngcontent-%COMP%]{height:2.25rem}.text-xs[_ngcontent-%COMP%]{font-size:.75rem;line-height:1rem}.disabled\\\\[_ngcontent-%COMP%]:opacity-30:disabled{opacity:.3}.transition-transform[_ngcontent-%COMP%]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\\\[_ngcontent-%COMP%]:scale-95:hover{transform:scale(.95)}.disabled\\\\[_ngcontent-%COMP%]:hover\\\\:transform-none:disabled:hover{transform:none}.hover\\\\[_ngcontent-%COMP%]:text-main-accent:hover{color:#0056b3}"], changeDetection: 0 });
|
|
4621
5109
|
}
|
|
4622
5110
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PopoverComponent, [{
|
|
4623
5111
|
type: Component,
|
|
4624
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'sdc-map-popover', imports: [
|
|
5112
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'sdc-map-popover', standalone: true, imports: [CommonModule, SeatPopoverComponent, SectionPopoverComponent], template: "<!-- SECTION POPOVER -->\n@if (sectionData) {\n <sdc-section-popover\n [data]=\"sectionData\"\n [popoverId]=\"'popover-' + node.id\"\n [showBestAvailable]=\"true\"\n [showOpenSeatMap]=\"true\"\n [excludeSeatMapSections]=\"['S_BLCHADA', 'S_Bleacher']\"\n (mouseEnter)=\"onEnter($event)\"\n (mouseLeave)=\"onLeave($event)\"\n (load3dView)=\"onLoad3dView()\"\n (selectForBA)=\"onSelectSectionForBA($event)\"\n (openSeatMap)=\"onOpenSeatMap()\">\n </sdc-section-popover>\n}\n\n<!-- SEAT POPOVER -->\n@if (seatData) {\n <sdc-seat-popover\n [data]=\"seatData\"\n [popoverId]=\"'popover-' + node.id\"\n (mouseEnter)=\"onEnter($event)\"\n (mouseLeave)=\"onLeave($event)\">\n </sdc-seat-popover>\n}\n", styles: [".lds-dual-ring{display:inline-block;width:80px;height:80px}.lds-dual-ring:after{content:\" \";display:block;width:32px;height:32px;margin:16px 8px 8px 16px;border-radius:50%;border:3px solid #fff;border-color:#fff transparent #fff transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}h5{margin:.25rem 0;font-size:.875rem;line-height:1.25rem}.font-normal{font-weight:400}.w-80{width:20rem}.h-48{height:12rem}.h-auto{height:auto}.text-white{color:#fff}.bg-black{background-color:#000}.rounded-xl{border-radius:.75rem}.overflow-hidden{overflow:hidden}.w-full{width:100%}.h-full{height:100%}.bg-center{background-position:center}.bg-cover{background-size:cover}.bg-no-repeat{background-repeat:no-repeat}.flex{display:flex}.justify-center{justify-content:center}.items-center{align-items:center}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.w-1\\/2{width:50%}.mr-5{margin-right:1.25rem}.min-w-max{min-width:max-content}.text-right{text-align:right}.viewer3d-image{cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:8px;font-size:12px}.btn-main{background-color:#007bff;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer}.btn-white{background-color:#fff;color:#007bff;border:1px solid #007bff;border-radius:4px;padding:.5rem 1rem;cursor:pointer}.btn-white:hover{color:#0056b3}.tooltip-img{background-position:center;background-size:cover;background-repeat:no-repeat}.block{display:block}.md\\\\:hidden{display:none}@media (min-width: 768px){.md\\\\:hidden{display:none}}.text-main{color:#007bff}.text-main-accent{color:#0056b3}.mr-2{margin-right:.5rem}.h-9{height:2.25rem}.text-xs{font-size:.75rem;line-height:1rem}.disabled\\\\:opacity-30:disabled{opacity:.3}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\\\:scale-95:hover{transform:scale(.95)}.disabled\\\\:hover\\\\:transform-none:disabled:hover{transform:none}.hover\\\\:text-main-accent:hover{color:#0056b3}\n"] }]
|
|
4625
5113
|
}], null, { node: [{
|
|
4626
|
-
type: Input
|
|
4627
|
-
args: [{ required: true }]
|
|
5114
|
+
type: Input
|
|
4628
5115
|
}] }); })();
|
|
4629
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PopoverComponent, { className: "PopoverComponent", filePath: "dvm/popover/popover.component.ts", lineNumber:
|
|
5116
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PopoverComponent, { className: "PopoverComponent", filePath: "dvm/popover/popover.component.ts", lineNumber: 36 }); })();
|
|
5117
|
+
|
|
5118
|
+
/**
|
|
5119
|
+
* Generic popover manager service that handles popover lifecycle and positioning.
|
|
5120
|
+
* This service is DVM-agnostic and delegates positioning logic to IPopoverPositioner.
|
|
5121
|
+
*/
|
|
5122
|
+
class PopoverManagerService {
|
|
5123
|
+
currentPopoverId = '';
|
|
5124
|
+
tooltip;
|
|
5125
|
+
positioner;
|
|
5126
|
+
constructor(positioner) {
|
|
5127
|
+
this.positioner = positioner;
|
|
5128
|
+
}
|
|
5129
|
+
/**
|
|
5130
|
+
* Shows a popover with the specified configuration.
|
|
5131
|
+
* @param config - Configuration for the popover including component, data, and positioning
|
|
5132
|
+
*/
|
|
5133
|
+
showPopover(config) {
|
|
5134
|
+
config.container.clear();
|
|
5135
|
+
this.currentPopoverId = config.nodeId;
|
|
5136
|
+
this.tooltip = config.tooltip;
|
|
5137
|
+
const componentRef = config.container.createComponent(config.component);
|
|
5138
|
+
if (config.componentInputs) {
|
|
5139
|
+
Object.entries(config.componentInputs).forEach(([key, value]) => {
|
|
5140
|
+
componentRef.instance[key] = value;
|
|
5141
|
+
});
|
|
5142
|
+
}
|
|
5143
|
+
if (config.eventHandlers) {
|
|
5144
|
+
Object.entries(config.eventHandlers).forEach(([key, handler]) => {
|
|
5145
|
+
const instance = componentRef.instance;
|
|
5146
|
+
if (instance[key] && typeof instance[key].subscribe === 'function') {
|
|
5147
|
+
instance[key].subscribe(handler);
|
|
5148
|
+
}
|
|
5149
|
+
});
|
|
5150
|
+
}
|
|
5151
|
+
const placement = this.positioner.calculatePlacement(config.node, config.containerElement);
|
|
5152
|
+
const offset = this.positioner.calculateOffset(config.node);
|
|
5153
|
+
createPopper(config.node, this.tooltip, {
|
|
5154
|
+
placement,
|
|
5155
|
+
modifiers: [
|
|
5156
|
+
{
|
|
5157
|
+
name: 'offset',
|
|
5158
|
+
options: {
|
|
5159
|
+
offset,
|
|
5160
|
+
},
|
|
5161
|
+
},
|
|
5162
|
+
{
|
|
5163
|
+
name: 'flip',
|
|
5164
|
+
options: {
|
|
5165
|
+
fallbackPlacements: [],
|
|
5166
|
+
},
|
|
5167
|
+
},
|
|
5168
|
+
],
|
|
5169
|
+
});
|
|
5170
|
+
this.tooltip.setAttribute('data-show', '');
|
|
5171
|
+
}
|
|
5172
|
+
/**
|
|
5173
|
+
* Hides the popover for the specified node ID.
|
|
5174
|
+
* @param nodeId - The node ID of the popover to hide
|
|
5175
|
+
*/
|
|
5176
|
+
hidePopover(nodeId) {
|
|
5177
|
+
if (this.currentPopoverId === nodeId) {
|
|
5178
|
+
this.tooltip?.removeAttribute('data-show');
|
|
5179
|
+
}
|
|
5180
|
+
}
|
|
5181
|
+
/**
|
|
5182
|
+
* Clears all popovers.
|
|
5183
|
+
*/
|
|
5184
|
+
clearAll() {
|
|
5185
|
+
this.tooltip?.removeAttribute('data-show');
|
|
5186
|
+
this.currentPopoverId = '';
|
|
5187
|
+
}
|
|
5188
|
+
static ɵfac = function PopoverManagerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PopoverManagerService)(i0.ɵɵinject(POPOVER_POSITIONER)); };
|
|
5189
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PopoverManagerService, factory: PopoverManagerService.ɵfac });
|
|
5190
|
+
}
|
|
5191
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PopoverManagerService, [{
|
|
5192
|
+
type: Injectable
|
|
5193
|
+
}], () => [{ type: undefined, decorators: [{
|
|
5194
|
+
type: Inject,
|
|
5195
|
+
args: [POPOVER_POSITIONER]
|
|
5196
|
+
}] }], null); })();
|
|
5197
|
+
|
|
5198
|
+
/**
|
|
5199
|
+
* DVM-specific positioning service for popovers.
|
|
5200
|
+
* Handles calculation of popover placement and offset based on DVM node properties.
|
|
5201
|
+
*/
|
|
5202
|
+
class DvmPopoverPositionerService {
|
|
5203
|
+
dvmService;
|
|
5204
|
+
configService;
|
|
5205
|
+
constructor(dvmService, configService) {
|
|
5206
|
+
this.dvmService = dvmService;
|
|
5207
|
+
this.configService = configService;
|
|
5208
|
+
}
|
|
5209
|
+
/**
|
|
5210
|
+
* Calculates the optimal placement for a popover based on node position.
|
|
5211
|
+
* @param node - The MapViewerNode to position relative to
|
|
5212
|
+
* @param container - The container element for positioning reference
|
|
5213
|
+
* @returns The calculated placement ('top' or 'bottom')
|
|
5214
|
+
*/
|
|
5215
|
+
calculatePlacement(node, container) {
|
|
5216
|
+
if (!node.aabb) {
|
|
5217
|
+
throw new Error('Node AABB is not defined');
|
|
5218
|
+
}
|
|
5219
|
+
const nodeSceneCenter = [
|
|
5220
|
+
node.aabb[0] + node.aabb[2] / 2,
|
|
5221
|
+
node.aabb[1] + node.aabb[3] / 2,
|
|
5222
|
+
];
|
|
5223
|
+
const nodeDomCenter = this.dvmService.viewerService.fromSceneToDom(nodeSceneCenter);
|
|
5224
|
+
if (nodeDomCenter[1] > container.offsetHeight / 2) {
|
|
5225
|
+
return 'top';
|
|
5226
|
+
}
|
|
5227
|
+
else {
|
|
5228
|
+
return 'bottom';
|
|
5229
|
+
}
|
|
5230
|
+
}
|
|
5231
|
+
/**
|
|
5232
|
+
* Calculates the offset for popover positioning based on node type and configuration.
|
|
5233
|
+
* @param node - The MapViewerNode to calculate offset for
|
|
5234
|
+
* @returns An array of [x, y] offset values
|
|
5235
|
+
*/
|
|
5236
|
+
calculateOffset(node) {
|
|
5237
|
+
if (node.type === 'seat') {
|
|
5238
|
+
return [0, 6];
|
|
5239
|
+
}
|
|
5240
|
+
if (node.type === 'section' || node.type === 'general_admission') {
|
|
5241
|
+
const dvmData = this.configService.configuration.dvmData;
|
|
5242
|
+
const sectionOffsets = dvmData?.sectionOffsets || {};
|
|
5243
|
+
const nodeId = node.id;
|
|
5244
|
+
const nodeOriginalId = node.original_id;
|
|
5245
|
+
const dvmOffset = sectionOffsets[nodeId] ?? sectionOffsets[nodeOriginalId];
|
|
5246
|
+
return dvmOffset ?? [0, 0];
|
|
5247
|
+
}
|
|
5248
|
+
return [0, 0];
|
|
5249
|
+
}
|
|
5250
|
+
static ɵfac = function DvmPopoverPositionerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DvmPopoverPositionerService)(i0.ɵɵinject(DVM_SERVICE), i0.ɵɵinject(CONFIGURATION_SERVICE)); };
|
|
5251
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DvmPopoverPositionerService, factory: DvmPopoverPositionerService.ɵfac });
|
|
5252
|
+
}
|
|
5253
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DvmPopoverPositionerService, [{
|
|
5254
|
+
type: Injectable
|
|
5255
|
+
}], () => [{ type: undefined, decorators: [{
|
|
5256
|
+
type: Inject,
|
|
5257
|
+
args: [DVM_SERVICE]
|
|
5258
|
+
}] }, { type: undefined, decorators: [{
|
|
5259
|
+
type: Inject,
|
|
5260
|
+
args: [CONFIGURATION_SERVICE]
|
|
5261
|
+
}] }], null); })();
|
|
5262
|
+
|
|
5263
|
+
/**
|
|
5264
|
+
* Abstract base class for transforming data from source format to target popover format.
|
|
5265
|
+
* Apps can extend this class to implement their own data transformation logic.
|
|
5266
|
+
*/
|
|
5267
|
+
class BasePopoverDataTransformer {
|
|
5268
|
+
}
|
|
5269
|
+
/**
|
|
5270
|
+
* Abstract base class for transforming seat data to SeatPopoverData format.
|
|
5271
|
+
* Apps should extend this class and implement the transform method with their
|
|
5272
|
+
* specific seat data models.
|
|
5273
|
+
*/
|
|
5274
|
+
class BaseSeatDataTransformer extends BasePopoverDataTransformer {
|
|
5275
|
+
}
|
|
5276
|
+
/**
|
|
5277
|
+
* Abstract base class for transforming section data to SectionPopoverData format.
|
|
5278
|
+
* Apps should extend this class and implement the transform method with their
|
|
5279
|
+
* specific section data models.
|
|
5280
|
+
*/
|
|
5281
|
+
class BaseSectionDataTransformer extends BasePopoverDataTransformer {
|
|
5282
|
+
}
|
|
4630
5283
|
|
|
4631
5284
|
/*
|
|
4632
5285
|
* Public API Surface of software-division-components
|
|
@@ -5197,7 +5850,7 @@ class HlmDialogDescription {
|
|
|
5197
5850
|
static ɵfac = function HlmDialogDescription_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HlmDialogDescription)(); };
|
|
5198
5851
|
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: HlmDialogDescription, selectors: [["", "hlmDialogDescription", ""]], hostVars: 2, hostBindings: function HlmDialogDescription_HostBindings(rf, ctx) { if (rf & 2) {
|
|
5199
5852
|
i0.ɵɵclassMap(ctx._computedClass());
|
|
5200
|
-
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$
|
|
5853
|
+
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$2.BrnDialogDescription])] });
|
|
5201
5854
|
}
|
|
5202
5855
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HlmDialogDescription, [{
|
|
5203
5856
|
type: Directive,
|
|
@@ -5266,7 +5919,7 @@ class HlmDialogTitle {
|
|
|
5266
5919
|
static ɵfac = function HlmDialogTitle_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HlmDialogTitle)(); };
|
|
5267
5920
|
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: HlmDialogTitle, selectors: [["", "hlmDialogTitle", ""]], hostVars: 2, hostBindings: function HlmDialogTitle_HostBindings(rf, ctx) { if (rf & 2) {
|
|
5268
5921
|
i0.ɵɵclassMap(ctx._computedClass());
|
|
5269
|
-
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$
|
|
5922
|
+
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$2.BrnDialogTitle])] });
|
|
5270
5923
|
}
|
|
5271
5924
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HlmDialogTitle, [{
|
|
5272
5925
|
type: Directive,
|
|
@@ -5529,7 +6182,7 @@ class HlmSelectGroup {
|
|
|
5529
6182
|
static ɵfac = function HlmSelectGroup_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HlmSelectGroup)(); };
|
|
5530
6183
|
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: HlmSelectGroup, selectors: [["", "hlmSelectGroup", ""], ["hlm-select-group"]], hostVars: 2, hostBindings: function HlmSelectGroup_HostBindings(rf, ctx) { if (rf & 2) {
|
|
5531
6184
|
i0.ɵɵclassMap(ctx._computedClass());
|
|
5532
|
-
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$
|
|
6185
|
+
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$3.BrnSelectGroup])] });
|
|
5533
6186
|
}
|
|
5534
6187
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HlmSelectGroup, [{
|
|
5535
6188
|
type: Directive,
|
|
@@ -5550,7 +6203,7 @@ class HlmSelectLabel {
|
|
|
5550
6203
|
static ɵfac = function HlmSelectLabel_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HlmSelectLabel)(); };
|
|
5551
6204
|
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: HlmSelectLabel, selectors: [["", "hlmSelectLabel", ""], ["hlm-select-label"]], hostVars: 2, hostBindings: function HlmSelectLabel_HostBindings(rf, ctx) { if (rf & 2) {
|
|
5552
6205
|
i0.ɵɵclassMap(ctx._computedClass());
|
|
5553
|
-
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$
|
|
6206
|
+
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵHostDirectivesFeature([i1$3.BrnSelectLabel])] });
|
|
5554
6207
|
}
|
|
5555
6208
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HlmSelectLabel, [{
|
|
5556
6209
|
type: Directive,
|
|
@@ -5574,7 +6227,7 @@ class HlmSelectOption {
|
|
|
5574
6227
|
static ɵfac = function HlmSelectOption_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HlmSelectOption)(); };
|
|
5575
6228
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HlmSelectOption, selectors: [["hlm-option"]], hostVars: 2, hostBindings: function HlmSelectOption_HostBindings(rf, ctx) { if (rf & 2) {
|
|
5576
6229
|
i0.ɵɵclassMap(ctx._computedClass());
|
|
5577
|
-
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵProvidersFeature([provideIcons({ lucideCheck })]), i0.ɵɵHostDirectivesFeature([{ directive: i1$
|
|
6230
|
+
} }, inputs: { userClass: [1, "class", "userClass"] }, features: [i0.ɵɵProvidersFeature([provideIcons({ lucideCheck })]), i0.ɵɵHostDirectivesFeature([{ directive: i1$3.BrnSelectOption, inputs: ["disabled", "disabled", "value", "value"] }])], ngContentSelectors: _c0$1, decls: 3, vars: 1, consts: [[1, "absolute", "right-2", "flex", "size-3.5", "items-center", "justify-center"], ["aria-hidden", "true", "hlm", "", "name", "lucideCheck", "size", "sm"]], template: function HlmSelectOption_Template(rf, ctx) { if (rf & 1) {
|
|
5578
6231
|
i0.ɵɵprojectionDef();
|
|
5579
6232
|
i0.ɵɵelementStart(0, "span", 0);
|
|
5580
6233
|
i0.ɵɵtemplate(1, HlmSelectOption_Conditional_1_Template, 1, 0, "ng-icon", 1);
|
|
@@ -5834,7 +6487,7 @@ class SelectComponent {
|
|
|
5834
6487
|
i0.ɵɵproperty("ngClass", ctx.variantClasses);
|
|
5835
6488
|
i0.ɵɵadvance();
|
|
5836
6489
|
i0.ɵɵrepeater(ctx.options());
|
|
5837
|
-
} }, dependencies: [CommonModule, i1$
|
|
6490
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, i1$3.BrnSelect, i1$3.BrnSelectContent, i1$3.BrnSelectValue, HlmSelectContent, HlmSelectTrigger, HlmSelectOption, HlmSelectValue, HlmSelect], styles: [".select-root[_ngcontent-%COMP%]{display:inline-block;width:100%}.select-trigger[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;border-radius:25px!important;outline:none;width:100%;overflow:hidden;color:#fff;font-size:.75rem;text-align:center;white-space:nowrap;text-overflow:ellipsis}.select-trigger[_ngcontent-%COMP%]:focus, .select-trigger[_ngcontent-%COMP%]:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent, var(--ring-accent, #0ea5e9))}.select-trigger--sm[_ngcontent-%COMP%]{display:flex}.select-trigger--lg[_ngcontent-%COMP%]{display:none}@media (min-width: 1024px){.select-trigger--sm[_ngcontent-%COMP%]{display:none;font-weight:500;font-size:.875rem}.select-trigger--lg[_ngcontent-%COMP%]{display:flex;font-weight:500;font-size:.875rem}}.full-width[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
|
|
5838
6491
|
}
|
|
5839
6492
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectComponent, [{
|
|
5840
6493
|
type: Component,
|
|
@@ -5941,5 +6594,5 @@ function provideScreenObserver(screens) {
|
|
|
5941
6594
|
* Generated bundle index. Do not edit.
|
|
5942
6595
|
*/
|
|
5943
6596
|
|
|
5944
|
-
export { AddDigitalWalletComponent, BraintreeComponent, ButtonComponent, CONFIGURATION_SERVICE, CartComponent, CartItemComponent, CartItemService, CartService, CheckboxComponent, DVM_FORMATTER, DVM_SERVICE, DatePickerComponent, DialogComponent, HlmDialogService as DialogService, DrawerComponent, DrawerService, InputComponent, LegendComponent, LegendElementsComponent, LoaderComponent, LoaderService, MapLoaderComponent, NeighborsComponent, PopoverComponent, PopoverService, RadioComponent, ScreenObserver, SelectComponent, StepperComponent, SvgIconComponent, TableComponent, TicketInfoItemComponent, TicketInfoItemService, declareGlobalCssVariables, provideScreenObserver, provideSdc };
|
|
6597
|
+
export { AddDigitalWalletComponent, BasePopoverComponent, BasePopoverDataTransformer, BaseSeatDataTransformer, BaseSectionDataTransformer, BraintreeComponent, ButtonComponent, CONFIGURATION_SERVICE, CartComponent, CartItemComponent, CartItemService, CartService, CheckboxComponent, DVM_FORMATTER, DVM_SERVICE, DatePickerComponent, DialogComponent, HlmDialogService as DialogService, DrawerComponent, DrawerService, DvmPopoverPositionerService, InputComponent, LegendComponent, LegendElementsComponent, LoaderComponent, LoaderService, MapLoaderComponent, NeighborsComponent, POPOVER_MANAGER, POPOVER_POSITIONER, PopoverComponent, PopoverManagerService, PopoverService, RadioComponent, ScreenObserver, SeatPopoverComponent, SectionPopoverComponent, SelectComponent, StepperComponent, SvgIconComponent, THUMBNAIL_PROVIDER, TableComponent, TicketInfoItemComponent, TicketInfoItemService, declareGlobalCssVariables, provideScreenObserver, provideSdc };
|
|
5945
6598
|
//# sourceMappingURL=3ddv-software-division-components.mjs.map
|