@3ddv/software-division-components 1.5.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.postcssrc.json +5 -0
- package/.storybook/main.ts +78 -0
- package/.storybook/manager-head.html +1 -0
- package/.storybook/preview.ts +30 -0
- package/.storybook/tsconfig.json +25 -0
- package/.storybook/typings.d.ts +4 -0
- package/CHANGELOG.md +8 -0
- package/LICENSE.md +21 -0
- package/backoffice/checkbox/checkbox.component.css +193 -0
- package/backoffice/checkbox/checkbox.component.html +23 -0
- package/backoffice/checkbox/checkbox.component.ts +252 -0
- package/backoffice/checkbox/index.ts +1 -0
- package/backoffice/checkbox/ng-package.json +1 -0
- package/backoffice/checkbox/public-api.ts +1 -0
- package/backoffice/checkbox/story/checkbox.stories.ts +304 -0
- package/backoffice/datepicker/datepicker.component.css +262 -0
- package/backoffice/datepicker/datepicker.component.html +40 -0
- package/backoffice/datepicker/datepicker.component.ts +366 -0
- package/backoffice/datepicker/index.ts +1 -0
- package/backoffice/datepicker/ng-package.json +1 -0
- package/backoffice/datepicker/{public-api.d.ts → public-api.ts} +1 -1
- package/backoffice/datepicker/story/datepicker.stories.ts +32 -0
- package/backoffice/datepicker/ui/ui-calendar-helm/src/index.ts +14 -0
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.ts +183 -0
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.ts +171 -0
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.ts +16 -0
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.ts +43 -0
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.ts +177 -0
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.ts +43 -0
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.ts +167 -0
- package/backoffice/datepicker/ui/ui-icon-helm/src/index.ts +11 -0
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +20 -0
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.ts +35 -0
- package/backoffice/datepicker/ui/ui-popover-helm/src/index.ts +15 -0
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.ts +19 -0
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.ts +30 -0
- package/backoffice/index.ts +1 -0
- package/backoffice/input/index.ts +1 -0
- package/backoffice/input/input.component.css +319 -0
- package/backoffice/input/input.component.html +51 -0
- package/backoffice/input/input.component.ts +497 -0
- package/backoffice/input/ng-package.json +1 -0
- package/backoffice/input/public-api.ts +2 -0
- package/backoffice/input/story/input.stories.ts +243 -0
- package/backoffice/radio/index.ts +1 -0
- package/backoffice/radio/ng-package.json +1 -0
- package/backoffice/radio/public-api.ts +1 -0
- package/backoffice/radio/radio.component.css +143 -0
- package/backoffice/radio/radio.component.html +15 -0
- package/backoffice/radio/radio.component.ts +154 -0
- package/backoffice/radio/story/radio.stories.ts +287 -0
- package/backoffice/table/_components/pagination/pagination.component.css +117 -0
- package/backoffice/table/_components/pagination/pagination.component.html +55 -0
- package/backoffice/table/_components/pagination/pagination.component.ts +79 -0
- package/backoffice/table/_components/selection-table-head/selection-table-head.component.css +0 -0
- package/backoffice/table/_components/selection-table-head/selection-table-head.component.html +6 -0
- package/backoffice/table/_components/selection-table-head/selection-table-head.component.ts +36 -0
- package/backoffice/table/_components/selection-table-row/selection-table-row.component.css +0 -0
- package/backoffice/table/_components/selection-table-row/selection-table-row.component.html +5 -0
- package/backoffice/table/_components/selection-table-row/selection-table-row.component.ts +12 -0
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.css +14 -0
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.html +11 -0
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.ts +55 -0
- package/backoffice/table/index.ts +1 -0
- package/backoffice/table/ng-package.json +1 -0
- package/backoffice/table/public-api.ts +6 -0
- package/backoffice/table/story/table.stories.ts +364 -0
- package/backoffice/table/table.component.css +172 -0
- package/backoffice/table/table.component.html +53 -0
- package/backoffice/table/table.component.ts +347 -0
- package/backoffice/table/ui/ui-icon-helm/src/index.ts +11 -0
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +20 -0
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.ts +35 -0
- package/backoffice/table/ui/ui-table-helm/src/index.ts +13 -0
- package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.ts +220 -0
- package/components.json +3 -0
- package/{README.md → dist/README.md} +11 -7
- package/dist/fesm2022/3ddv-software-division-components-backoffice-checkbox.mjs +208 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-checkbox.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-datepicker.mjs +1061 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-datepicker.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-input.mjs +411 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-input.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-radio.mjs +128 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-radio.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-table.mjs +658 -0
- package/dist/fesm2022/3ddv-software-division-components-backoffice-table.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-cart-item.mjs +34 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-cart-item.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-cart.mjs +101 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-cart.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-legend.mjs +77 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-legend.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-loader.mjs +34 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-loader.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-map-loader.mjs +161 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-map-loader.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-neighbors.mjs +204 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-neighbors.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-popover.mjs +1080 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-popover.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-stepper.mjs +94 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-stepper.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-ticket-info-item.mjs +34 -0
- package/dist/fesm2022/3ddv-software-division-components-dvm-ticket-info-item.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-add-digital-wallet.mjs +46 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-add-digital-wallet.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-braintree.mjs +127 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-braintree.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-button.mjs +373 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-button.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-dialog.mjs +309 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-dialog.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-drawer.mjs +34 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-drawer.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-icon.mjs +130 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-icon.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-select.mjs +295 -0
- package/dist/fesm2022/3ddv-software-division-components-generic-select.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-shared.mjs +171 -0
- package/dist/fesm2022/3ddv-software-division-components-shared.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components-utils.mjs +39 -0
- package/dist/fesm2022/3ddv-software-division-components-utils.mjs.map +1 -0
- package/dist/fesm2022/3ddv-software-division-components.mjs +18 -0
- package/dist/fesm2022/3ddv-software-division-components.mjs.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/types/3ddv-software-division-components-backoffice-checkbox.d.ts +106 -0
- package/dist/types/3ddv-software-division-components-backoffice-datepicker.d.ts +153 -0
- package/dist/types/3ddv-software-division-components-backoffice-input.d.ts +203 -0
- package/dist/types/3ddv-software-division-components-backoffice-radio.d.ts +76 -0
- package/dist/types/3ddv-software-division-components-backoffice-table.d.ts +130 -0
- package/dist/types/3ddv-software-division-components-dvm-cart-item.d.ts +14 -0
- package/dist/types/3ddv-software-division-components-dvm-cart.d.ts +76 -0
- package/dist/types/3ddv-software-division-components-dvm-legend.d.ts +38 -0
- package/dist/types/3ddv-software-division-components-dvm-loader.d.ts +14 -0
- package/{dvm/map-loader/map-loader.component.d.ts → dist/types/3ddv-software-division-components-dvm-map-loader.d.ts} +16 -14
- package/dist/types/3ddv-software-division-components-dvm-neighbors.d.ts +57 -0
- package/dist/types/3ddv-software-division-components-dvm-popover.d.ts +456 -0
- package/dist/types/3ddv-software-division-components-dvm-stepper.d.ts +34 -0
- package/dist/types/3ddv-software-division-components-dvm-ticket-info-item.d.ts +14 -0
- package/dist/types/3ddv-software-division-components-generic-add-digital-wallet.d.ts +23 -0
- package/dist/types/3ddv-software-division-components-generic-braintree.d.ts +62 -0
- package/dist/types/3ddv-software-division-components-generic-button.d.ts +186 -0
- package/dist/types/3ddv-software-division-components-generic-dialog.d.ts +104 -0
- package/dist/types/3ddv-software-division-components-generic-drawer.d.ts +14 -0
- package/dist/types/3ddv-software-division-components-generic-icon.d.ts +38 -0
- package/dist/types/3ddv-software-division-components-generic-select.d.ts +110 -0
- package/dist/types/3ddv-software-division-components-shared.d.ts +69 -0
- package/dist/types/3ddv-software-division-components-utils.d.ts +3 -0
- package/dist/types/3ddv-software-division-components.d.ts +2 -0
- package/documentation.json +30473 -0
- package/dvm/cart/cart.component.css +103 -0
- package/dvm/cart/cart.component.html +31 -0
- package/dvm/cart/cart.component.ts +49 -0
- package/dvm/cart/cart.stories.ts +370 -0
- package/dvm/cart/cart.types.ts +8 -0
- package/dvm/cart/index.ts +2 -0
- package/dvm/cart/ng-package.json +1 -0
- package/dvm/cart/{public-api.d.ts → public-api.ts} +5 -1
- package/dvm/cart/seat-list.component.css +281 -0
- package/dvm/cart/seat-list.component.html +85 -0
- package/dvm/cart/seat-list.component.ts +76 -0
- package/dvm/cart/seat-list.stories.ts +337 -0
- package/dvm/cart-item/cart-item.component.html +1 -0
- package/dvm/cart-item/cart-item.component.ts +8 -0
- package/dvm/cart-item/cart-item.service.ts +8 -0
- package/dvm/cart-item/cart.stories.ts +31 -0
- package/dvm/cart-item/index.ts +1 -0
- package/dvm/cart-item/ng-package.json +1 -0
- package/dvm/cart-item/{public-api.d.ts → public-api.ts} +4 -1
- package/dvm/index.ts +1 -0
- package/dvm/legend/index.ts +1 -0
- package/dvm/legend/legend.component.css +49 -0
- package/dvm/legend/legend.component.html +8 -0
- package/dvm/legend/legend.component.ts +41 -0
- package/dvm/legend/legend.stories.ts +16 -0
- package/dvm/legend/ng-package.json +1 -0
- package/dvm/legend/{public-api.d.ts → public-api.ts} +4 -1
- package/dvm/legend/{types.d.ts → types.ts} +3 -3
- package/dvm/legend/ui/legend-elements/{index.d.ts → index.ts} +0 -1
- package/dvm/legend/ui/legend-elements/legend-elements.component.css +49 -0
- package/dvm/legend/ui/legend-elements/legend-elements.component.html +8 -0
- package/dvm/legend/ui/legend-elements/legend-elements.component.ts +41 -0
- package/dvm/loader/index.ts +1 -0
- package/dvm/loader/loader.component.html +1 -0
- package/dvm/loader/loader.component.ts +8 -0
- package/dvm/loader/loader.service.ts +8 -0
- package/dvm/loader/loader.stories.ts +31 -0
- package/dvm/loader/ng-package.json +1 -0
- package/dvm/loader/{public-api.d.ts → public-api.ts} +4 -1
- package/dvm/map-loader/index.ts +1 -0
- package/dvm/map-loader/map-loader.component.css +91 -0
- package/dvm/map-loader/map-loader.component.html +23 -0
- package/dvm/map-loader/map-loader.component.ts +187 -0
- package/dvm/map-loader/map-loader.stories.ts +16 -0
- package/dvm/map-loader/ng-package.json +1 -0
- package/dvm/map-loader/public-api.ts +5 -0
- package/dvm/neighbors/index.ts +1 -0
- package/dvm/neighbors/neighbors.component.css +158 -0
- package/dvm/neighbors/neighbors.component.html +45 -0
- package/dvm/neighbors/neighbors.component.ts +218 -0
- package/dvm/neighbors/ng-package.json +1 -0
- package/dvm/neighbors/public-api.ts +2 -0
- package/dvm/neighbors/story/arrow-left-black-icon.svg +3 -0
- package/dvm/neighbors/story/mock-data.ts +15 -0
- package/dvm/neighbors/story/neighbours.stories.css +12 -0
- package/dvm/neighbors/story/neighbours.stories.ts +117 -0
- package/dvm/neighbors/{types.d.ts → types.ts} +7 -7
- package/dvm/popover/base-popover.component.ts +70 -0
- package/dvm/popover/index.ts +1 -0
- package/dvm/popover/ng-package.json +1 -0
- package/dvm/popover/popover.component.css +227 -0
- package/dvm/popover/popover.component.html +27 -0
- package/dvm/popover/popover.component.ts +236 -0
- package/dvm/popover/popover.config.ts +30 -0
- package/dvm/popover/popover.service.ts +627 -0
- package/dvm/popover/popover.stories.ts +873 -0
- package/dvm/popover/{public-api.d.ts → public-api.ts} +4 -1
- package/dvm/popover/seat-popover/seat-popover.component.css +89 -0
- package/dvm/popover/seat-popover/seat-popover.component.html +40 -0
- package/dvm/popover/seat-popover/seat-popover.component.ts +74 -0
- package/dvm/popover/section-popover/section-popover.component.css +157 -0
- package/dvm/popover/section-popover/section-popover.component.html +58 -0
- package/dvm/popover/section-popover/section-popover.component.ts +106 -0
- package/dvm/popover/services/dvm-popover-positioner.service.ts +73 -0
- package/dvm/popover/services/popover-manager.service.ts +88 -0
- package/dvm/popover/transformers/base-popover-data-transformer.ts +36 -0
- package/dvm/popover/types.ts +104 -0
- package/dvm/stepper/index.ts +1 -0
- package/dvm/stepper/ng-package.json +1 -0
- package/dvm/stepper/public-api.ts +5 -0
- package/dvm/stepper/stepper.component.css +142 -0
- package/dvm/stepper/stepper.component.html +9 -0
- package/dvm/stepper/stepper.component.ts +101 -0
- package/dvm/stepper/{types.d.ts → types.ts} +3 -6
- package/dvm/ticket-info-item/index.ts +1 -0
- package/dvm/ticket-info-item/ng-package.json +1 -0
- package/dvm/ticket-info-item/{public-api.d.ts → public-api.ts} +4 -1
- package/dvm/ticket-info-item/ticket-info-item.component.html +1 -0
- package/dvm/ticket-info-item/ticket-info-item.component.ts +8 -0
- package/dvm/ticket-info-item/ticket-info-item.service.ts +8 -0
- package/dvm/ticket-info-item/ticket-info-item.stories.ts +31 -0
- package/generic/add-digital-wallet/add-digital-wallet.component.css +76 -0
- package/generic/add-digital-wallet/add-digital-wallet.component.html +46 -0
- package/generic/add-digital-wallet/add-digital-wallet.component.ts +44 -0
- package/generic/add-digital-wallet/index.ts +1 -0
- package/generic/add-digital-wallet/ng-package.json +1 -0
- package/generic/add-digital-wallet/{public-api.d.ts → public-api.ts} +0 -1
- package/generic/braintree/braintree.component.css +7 -0
- package/generic/braintree/braintree.component.ts +134 -0
- package/generic/braintree/index.ts +1 -0
- package/generic/braintree/ng-package.json +1 -0
- package/generic/braintree/{public-api.d.ts → public-api.ts} +4 -1
- package/generic/braintree/story/braintree.stories.css +3 -0
- package/generic/braintree/story/braintree.stories.ts +27 -0
- package/generic/braintree/types.ts +28 -0
- package/generic/button/button.component.css +305 -0
- package/generic/button/button.component.html +10 -0
- package/generic/button/button.component.ts +353 -0
- package/generic/button/index.ts +1 -0
- package/generic/button/ng-package.json +1 -0
- package/generic/button/public-api.ts +6 -0
- package/generic/button/story/button.stories.ts +384 -0
- package/generic/button/ui/ui-button-helm/src/index.ts +10 -0
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.ts +22 -0
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.ts +62 -0
- package/generic/carousel/carousel-item.component.ts +15 -0
- package/generic/carousel/carousel-item.directive.ts +14 -0
- package/generic/carousel/carousel.component.css +90 -0
- package/generic/carousel/carousel.component.html +13 -0
- package/generic/carousel/carousel.component.ts +44 -0
- package/generic/carousel/index.ts +1 -0
- package/generic/carousel/{public-api.d.ts → public-api.ts} +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/index.ts +29 -0
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-content.ts +23 -0
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-item.ts +25 -0
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-next.ts +58 -0
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-previous.ts +61 -0
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-slide-display.ts +36 -0
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel.ts +105 -0
- package/generic/dialog/dialog.component.css +5 -0
- package/generic/dialog/dialog.component.html +3 -0
- package/generic/dialog/dialog.component.ts +20 -0
- package/generic/dialog/dialog.stories.ts +14 -0
- package/generic/dialog/index.ts +1 -0
- package/generic/dialog/libs/ui-dialog-helm/src/{index.d.ts → index.ts} +20 -8
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.ts +20 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.ts +56 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.ts +17 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.ts +19 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.ts +19 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.ts +23 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.ts +19 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.ts +59 -0
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.ts +31 -0
- package/generic/dialog/ng-package.json +1 -0
- package/generic/dialog/{public-api.d.ts → public-api.ts} +5 -1
- package/generic/dialog/tsconfig.json +7 -0
- package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.css +0 -0
- package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.html +1 -0
- package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.ts +17 -0
- package/generic/dialog/ui/dialog-footer/dialog-footer.component.css +0 -0
- package/generic/dialog/ui/dialog-footer/dialog-footer.component.html +3 -0
- package/generic/dialog/ui/dialog-footer/dialog-footer.component.ts +11 -0
- package/generic/dialog/ui/dialog-header/dialog-header.component.css +0 -0
- package/generic/dialog/ui/dialog-header/dialog-header.component.html +8 -0
- package/generic/dialog/ui/dialog-header/dialog-header.component.ts +18 -0
- package/generic/drawer/drawer.component.html +1 -0
- package/generic/drawer/drawer.component.ts +8 -0
- package/generic/drawer/drawer.service.ts +8 -0
- package/generic/drawer/drawer.stories.ts +31 -0
- package/generic/drawer/index.ts +1 -0
- package/generic/drawer/ng-package.json +1 -0
- package/generic/drawer/{public-api.d.ts → public-api.ts} +4 -1
- package/generic/icon/icon.component.css +7 -0
- package/generic/icon/icon.component.html +3 -0
- package/generic/icon/icon.component.ts +86 -0
- package/generic/icon/icon.stories.ts +16 -0
- package/generic/icon/index.ts +1 -0
- package/generic/icon/lib/ui-icon-helm/src/index.ts +11 -0
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.ts +20 -0
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.ts +36 -0
- package/generic/icon/ng-package.json +1 -0
- package/generic/icon/public-api.ts +6 -0
- package/generic/icon/tsconfig.json +7 -0
- package/generic/index.ts +1 -0
- package/generic/select/index.ts +1 -0
- package/generic/select/lib/hlm-select-content.ts +29 -0
- package/generic/select/lib/hlm-select-group.ts +17 -0
- package/generic/select/lib/hlm-select-label.ts +26 -0
- package/generic/select/lib/hlm-select-option.ts +37 -0
- package/generic/select/lib/hlm-select-scroll-down.ts +24 -0
- package/generic/select/lib/hlm-select-scroll-up.ts +23 -0
- package/generic/select/lib/hlm-select-trigger.ts +53 -0
- package/generic/select/lib/hlm-select-value.ts +17 -0
- package/generic/select/lib/hlm-select.ts +15 -0
- package/generic/select/lib/index.ts +38 -0
- package/generic/select/ng-package.json +1 -0
- package/generic/select/{public-api.d.ts → public-api.ts} +1 -1
- package/generic/select/select.component.css +65 -0
- package/generic/select/select.component.html +19 -0
- package/generic/select/select.component.ts +25 -0
- package/generic/select/types.ts +4 -0
- package/ng-package.json +10 -0
- package/package.json +114 -100
- package/public/3ddv-logo.jpg +0 -0
- package/public/neighbours-after.png +0 -0
- package/public/neighbours-before.png +0 -0
- package/shared/apply-theme-variables/apply-theme-variables.ts +35 -0
- package/shared/apply-theme-variables/{index.d.ts → index.ts} +0 -1
- package/shared/format-value.pipe.ts +23 -0
- package/shared/index.ts +1 -0
- package/shared/lib-provider/config-token.ts +4 -0
- package/shared/lib-provider/index.ts +1 -0
- package/shared/lib-provider/provide-sdc.ts +24 -0
- package/shared/lib-provider/{public-api.d.ts → public-api.ts} +0 -1
- package/shared/ng-package.json +1 -0
- package/shared/public-api.ts +6 -0
- package/shared/screen-observer/{index.d.ts → index.ts} +0 -1
- package/shared/screen-observer/provide-screen-observer.ts +17 -0
- package/shared/screen-observer/screen-observer.ts +56 -0
- package/shared/screen-observer/sizable-base.ts +70 -0
- package/shared/theme-provider/generic-theme.ts +1 -0
- package/shared/theme-provider/index.ts +1 -0
- package/shared/theme-provider/public-api.ts +1 -0
- package/shared/theme-provider/theme-provider.directive.ts +17 -0
- package/shared/themes/sdc.css +153 -0
- package/shared/types.ts +18 -0
- package/src/private-exports.ts +1 -0
- package/src/public-api.ts +20 -0
- package/styles.css +46 -2
- package/tsconfig.json +50 -0
- package/tsconfig.lib.prod.json +6 -0
- package/tsconfig.spec.json +15 -0
- package/tsconfig.temp.json +1 -0
- package/utils/index.ts +1 -0
- package/utils/ng-package.json +1 -0
- package/utils/public-api.ts +1 -0
- package/utils/validate-styles-for-component.ts +39 -0
- package/3ddv-software-division-components.d.ts.map +0 -1
- package/backoffice/checkbox/checkbox.component.d.ts +0 -103
- package/backoffice/checkbox/checkbox.component.d.ts.map +0 -1
- package/backoffice/checkbox/index.d.ts +0 -2
- package/backoffice/checkbox/index.d.ts.map +0 -1
- package/backoffice/checkbox/public-api.d.ts +0 -2
- package/backoffice/checkbox/public-api.d.ts.map +0 -1
- package/backoffice/datepicker/datepicker.component.d.ts +0 -150
- package/backoffice/datepicker/datepicker.component.d.ts.map +0 -1
- package/backoffice/datepicker/index.d.ts +0 -2
- package/backoffice/datepicker/index.d.ts.map +0 -1
- package/backoffice/datepicker/public-api.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-calendar-helm/src/index.d.ts +0 -14
- package/backoffice/datepicker/ui/ui-calendar-helm/src/index.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.d.ts +0 -38
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.d.ts +0 -34
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.d.ts +0 -15
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.d.ts +0 -53
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.d.ts +0 -24
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.d.ts +0 -53
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.d.ts +0 -24
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-icon-helm/src/index.d.ts +0 -10
- package/backoffice/datepicker/ui/ui-icon-helm/src/index.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -10
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -8
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-popover-helm/src/index.d.ts +0 -14
- package/backoffice/datepicker/ui/ui-popover-helm/src/index.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.d.ts +0 -9
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.d.ts.map +0 -1
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.d.ts +0 -14
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.d.ts.map +0 -1
- package/backoffice/index.d.ts +0 -2
- package/backoffice/index.d.ts.map +0 -1
- package/backoffice/input/index.d.ts +0 -2
- package/backoffice/input/index.d.ts.map +0 -1
- package/backoffice/input/input.component.d.ts +0 -200
- package/backoffice/input/input.component.d.ts.map +0 -1
- package/backoffice/input/public-api.d.ts +0 -2
- package/backoffice/input/public-api.d.ts.map +0 -1
- package/backoffice/public-api.d.ts +0 -6
- package/backoffice/public-api.d.ts.map +0 -1
- package/backoffice/radio/index.d.ts +0 -2
- package/backoffice/radio/index.d.ts.map +0 -1
- package/backoffice/radio/public-api.d.ts +0 -2
- package/backoffice/radio/public-api.d.ts.map +0 -1
- package/backoffice/radio/radio.component.d.ts +0 -73
- package/backoffice/radio/radio.component.d.ts.map +0 -1
- package/backoffice/table/_components/pagination/pagination.component.d.ts +0 -18
- package/backoffice/table/_components/pagination/pagination.component.d.ts.map +0 -1
- package/backoffice/table/_components/selection-table-head/selection-table-head.component.d.ts +0 -11
- package/backoffice/table/_components/selection-table-head/selection-table-head.component.d.ts.map +0 -1
- package/backoffice/table/_components/selection-table-row/selection-table-row.component.d.ts +0 -8
- package/backoffice/table/_components/selection-table-row/selection-table-row.component.d.ts.map +0 -1
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.d.ts +0 -16
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.d.ts.map +0 -1
- package/backoffice/table/index.d.ts +0 -2
- package/backoffice/table/index.d.ts.map +0 -1
- package/backoffice/table/public-api.d.ts +0 -3
- package/backoffice/table/public-api.d.ts.map +0 -1
- package/backoffice/table/table.component.d.ts +0 -111
- package/backoffice/table/table.component.d.ts.map +0 -1
- package/backoffice/table/ui/ui-icon-helm/src/index.d.ts +0 -10
- package/backoffice/table/ui/ui-icon-helm/src/index.d.ts.map +0 -1
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -10
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -1
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -8
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -1
- package/backoffice/table/ui/ui-table-helm/src/index.d.ts +0 -11
- package/backoffice/table/ui/ui-table-helm/src/index.d.ts.map +0 -1
- package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.d.ts +0 -112
- package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.d.ts.map +0 -1
- package/dvm/cart/cart.component.d.ts +0 -31
- package/dvm/cart/cart.component.d.ts.map +0 -1
- package/dvm/cart/cart.types.d.ts +0 -8
- package/dvm/cart/cart.types.d.ts.map +0 -1
- package/dvm/cart/index.d.ts +0 -2
- package/dvm/cart/index.d.ts.map +0 -1
- package/dvm/cart/public-api.d.ts.map +0 -1
- package/dvm/cart/seat-list.component.d.ts +0 -38
- package/dvm/cart/seat-list.component.d.ts.map +0 -1
- package/dvm/cart-item/cart-item.component.d.ts +0 -6
- package/dvm/cart-item/cart-item.component.d.ts.map +0 -1
- package/dvm/cart-item/cart-item.service.d.ts +0 -7
- package/dvm/cart-item/cart-item.service.d.ts.map +0 -1
- package/dvm/cart-item/index.d.ts +0 -2
- package/dvm/cart-item/index.d.ts.map +0 -1
- package/dvm/cart-item/public-api.d.ts.map +0 -1
- package/dvm/index.d.ts +0 -2
- package/dvm/index.d.ts.map +0 -1
- package/dvm/legend/index.d.ts +0 -2
- package/dvm/legend/index.d.ts.map +0 -1
- package/dvm/legend/legend.component.d.ts +0 -17
- package/dvm/legend/legend.component.d.ts.map +0 -1
- package/dvm/legend/public-api.d.ts.map +0 -1
- package/dvm/legend/types.d.ts.map +0 -1
- package/dvm/legend/ui/legend-elements/index.d.ts.map +0 -1
- package/dvm/legend/ui/legend-elements/legend-elements.component.d.ts +0 -16
- package/dvm/legend/ui/legend-elements/legend-elements.component.d.ts.map +0 -1
- package/dvm/loader/index.d.ts +0 -2
- package/dvm/loader/index.d.ts.map +0 -1
- package/dvm/loader/loader.component.d.ts +0 -6
- package/dvm/loader/loader.component.d.ts.map +0 -1
- package/dvm/loader/loader.service.d.ts +0 -7
- package/dvm/loader/loader.service.d.ts.map +0 -1
- package/dvm/loader/public-api.d.ts.map +0 -1
- package/dvm/map-loader/index.d.ts +0 -2
- package/dvm/map-loader/index.d.ts.map +0 -1
- package/dvm/map-loader/map-loader.component.d.ts.map +0 -1
- package/dvm/map-loader/public-api.d.ts +0 -2
- package/dvm/map-loader/public-api.d.ts.map +0 -1
- package/dvm/neighbors/index.d.ts +0 -2
- package/dvm/neighbors/index.d.ts.map +0 -1
- package/dvm/neighbors/neighbors.component.d.ts +0 -41
- package/dvm/neighbors/neighbors.component.d.ts.map +0 -1
- package/dvm/neighbors/public-api.d.ts +0 -3
- package/dvm/neighbors/public-api.d.ts.map +0 -1
- package/dvm/neighbors/types.d.ts.map +0 -1
- package/dvm/popover/base-popover.component.d.ts +0 -28
- package/dvm/popover/base-popover.component.d.ts.map +0 -1
- package/dvm/popover/index.d.ts +0 -2
- package/dvm/popover/index.d.ts.map +0 -1
- package/dvm/popover/popover.component.d.ts +0 -69
- package/dvm/popover/popover.component.d.ts.map +0 -1
- package/dvm/popover/popover.config.d.ts +0 -25
- package/dvm/popover/popover.config.d.ts.map +0 -1
- package/dvm/popover/popover.service.d.ts +0 -140
- package/dvm/popover/popover.service.d.ts.map +0 -1
- package/dvm/popover/public-api.d.ts.map +0 -1
- package/dvm/popover/seat-popover/seat-popover.component.d.ts +0 -21
- package/dvm/popover/seat-popover/seat-popover.component.d.ts.map +0 -1
- package/dvm/popover/section-popover/section-popover.component.d.ts +0 -32
- package/dvm/popover/section-popover/section-popover.component.d.ts.map +0 -1
- package/dvm/popover/services/dvm-popover-positioner.service.d.ts +0 -30
- package/dvm/popover/services/dvm-popover-positioner.service.d.ts.map +0 -1
- package/dvm/popover/services/popover-manager.service.d.ts +0 -29
- package/dvm/popover/services/popover-manager.service.d.ts.map +0 -1
- package/dvm/popover/transformers/base-popover-data-transformer.d.ts +0 -29
- package/dvm/popover/transformers/base-popover-data-transformer.d.ts.map +0 -1
- package/dvm/popover/types.d.ts +0 -79
- package/dvm/popover/types.d.ts.map +0 -1
- package/dvm/public-api.d.ts +0 -10
- package/dvm/public-api.d.ts.map +0 -1
- package/dvm/stepper/index.d.ts +0 -2
- package/dvm/stepper/index.d.ts.map +0 -1
- package/dvm/stepper/public-api.d.ts +0 -2
- package/dvm/stepper/public-api.d.ts.map +0 -1
- package/dvm/stepper/stepper.component.d.ts +0 -27
- package/dvm/stepper/stepper.component.d.ts.map +0 -1
- package/dvm/stepper/types.d.ts.map +0 -1
- package/dvm/ticket-info-item/index.d.ts +0 -2
- package/dvm/ticket-info-item/index.d.ts.map +0 -1
- package/dvm/ticket-info-item/public-api.d.ts.map +0 -1
- package/dvm/ticket-info-item/ticket-info-item.component.d.ts +0 -6
- package/dvm/ticket-info-item/ticket-info-item.component.d.ts.map +0 -1
- package/dvm/ticket-info-item/ticket-info-item.service.d.ts +0 -7
- package/dvm/ticket-info-item/ticket-info-item.service.d.ts.map +0 -1
- package/fesm2022/3ddv-software-division-components.mjs +0 -6568
- package/fesm2022/3ddv-software-division-components.mjs.map +0 -1
- package/generic/add-digital-wallet/add-digital-wallet.component.d.ts +0 -21
- package/generic/add-digital-wallet/add-digital-wallet.component.d.ts.map +0 -1
- package/generic/add-digital-wallet/index.d.ts +0 -2
- package/generic/add-digital-wallet/index.d.ts.map +0 -1
- package/generic/add-digital-wallet/public-api.d.ts.map +0 -1
- package/generic/braintree/braintree.component.d.ts +0 -33
- package/generic/braintree/braintree.component.d.ts.map +0 -1
- package/generic/braintree/index.d.ts +0 -2
- package/generic/braintree/index.d.ts.map +0 -1
- package/generic/braintree/public-api.d.ts.map +0 -1
- package/generic/braintree/types.d.ts +0 -27
- package/generic/braintree/types.d.ts.map +0 -1
- package/generic/button/button.component.d.ts +0 -152
- package/generic/button/button.component.d.ts.map +0 -1
- package/generic/button/index.d.ts +0 -2
- package/generic/button/index.d.ts.map +0 -1
- package/generic/button/public-api.d.ts +0 -2
- package/generic/button/public-api.d.ts.map +0 -1
- package/generic/button/ui/ui-button-helm/src/index.d.ts +0 -10
- package/generic/button/ui/ui-button-helm/src/index.d.ts.map +0 -1
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.d.ts +0 -20
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.d.ts.map +0 -1
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.d.ts +0 -9
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.d.ts.map +0 -1
- package/generic/carousel/carousel-item.component.d.ts +0 -8
- package/generic/carousel/carousel-item.component.d.ts.map +0 -1
- package/generic/carousel/carousel.component.d.ts +0 -20
- package/generic/carousel/carousel.component.d.ts.map +0 -1
- package/generic/carousel/index.d.ts +0 -2
- package/generic/carousel/index.d.ts.map +0 -1
- package/generic/carousel/public-api.d.ts.map +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/index.d.ts +0 -26
- package/generic/carousel/ui/ui-carousel-helm/src/index.d.ts.map +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-content.d.ts +0 -10
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-content.d.ts.map +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-item.d.ts +0 -10
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-item.d.ts.map +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-next.d.ts +0 -15
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-next.d.ts.map +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-previous.d.ts +0 -15
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-previous.d.ts.map +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-slide-display.d.ts +0 -16
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-slide-display.d.ts.map +0 -1
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel.d.ts +0 -28
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel.d.ts.map +0 -1
- package/generic/dialog/dialog.component.d.ts +0 -11
- package/generic/dialog/dialog.component.d.ts.map +0 -1
- package/generic/dialog/index.d.ts +0 -2
- package/generic/dialog/index.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/index.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.d.ts +0 -9
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.d.ts +0 -15
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.d.ts +0 -10
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.d.ts +0 -9
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.d.ts +0 -9
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.d.ts +0 -12
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.d.ts +0 -10
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.d.ts +0 -7
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.d.ts.map +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.d.ts +0 -21
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.d.ts.map +0 -1
- package/generic/dialog/public-api.d.ts.map +0 -1
- package/generic/drawer/drawer.component.d.ts +0 -6
- package/generic/drawer/drawer.component.d.ts.map +0 -1
- package/generic/drawer/drawer.service.d.ts +0 -7
- package/generic/drawer/drawer.service.d.ts.map +0 -1
- package/generic/drawer/index.d.ts +0 -2
- package/generic/drawer/index.d.ts.map +0 -1
- package/generic/drawer/public-api.d.ts.map +0 -1
- package/generic/icon/icon.component.d.ts +0 -21
- package/generic/icon/icon.component.d.ts.map +0 -1
- package/generic/icon/index.d.ts +0 -2
- package/generic/icon/index.d.ts.map +0 -1
- package/generic/icon/lib/ui-icon-helm/src/index.d.ts +0 -10
- package/generic/icon/lib/ui-icon-helm/src/index.d.ts.map +0 -1
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.d.ts +0 -10
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.d.ts.map +0 -1
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.d.ts +0 -8
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.d.ts.map +0 -1
- package/generic/icon/public-api.d.ts +0 -2
- package/generic/icon/public-api.d.ts.map +0 -1
- package/generic/index.d.ts +0 -2
- package/generic/index.d.ts.map +0 -1
- package/generic/public-api.d.ts +0 -10
- package/generic/public-api.d.ts.map +0 -1
- package/generic/rich-text-editor/components/editor-toolbar/editor-toolbar.component.d.ts +0 -88
- package/generic/rich-text-editor/components/editor-toolbar/editor-toolbar.component.d.ts.map +0 -1
- package/generic/rich-text-editor/components/link-modal/link-modal.component.d.ts +0 -43
- package/generic/rich-text-editor/components/link-modal/link-modal.component.d.ts.map +0 -1
- package/generic/rich-text-editor/index.d.ts +0 -2
- package/generic/rich-text-editor/index.d.ts.map +0 -1
- package/generic/rich-text-editor/models/editor-config.model.d.ts +0 -46
- package/generic/rich-text-editor/models/editor-config.model.d.ts.map +0 -1
- package/generic/rich-text-editor/models/index.d.ts +0 -3
- package/generic/rich-text-editor/models/index.d.ts.map +0 -1
- package/generic/rich-text-editor/models/toolbar-config.model.d.ts +0 -63
- package/generic/rich-text-editor/models/toolbar-config.model.d.ts.map +0 -1
- package/generic/rich-text-editor/public-api.d.ts +0 -5
- package/generic/rich-text-editor/public-api.d.ts.map +0 -1
- package/generic/rich-text-editor/rich-text-editor.component.d.ts +0 -113
- package/generic/rich-text-editor/rich-text-editor.component.d.ts.map +0 -1
- package/generic/select/index.d.ts +0 -2
- package/generic/select/index.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-content.d.ts +0 -13
- package/generic/select/lib/hlm-select-content.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-group.d.ts +0 -10
- package/generic/select/lib/hlm-select-group.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-label.d.ts +0 -12
- package/generic/select/lib/hlm-select-label.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-option.d.ts +0 -12
- package/generic/select/lib/hlm-select-option.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-scroll-down.d.ts +0 -9
- package/generic/select/lib/hlm-select-scroll-down.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-scroll-up.d.ts +0 -9
- package/generic/select/lib/hlm-select-scroll-up.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-trigger.d.ts +0 -17
- package/generic/select/lib/hlm-select-trigger.d.ts.map +0 -1
- package/generic/select/lib/hlm-select-value.d.ts +0 -9
- package/generic/select/lib/hlm-select-value.d.ts.map +0 -1
- package/generic/select/lib/hlm-select.d.ts +0 -9
- package/generic/select/lib/hlm-select.d.ts.map +0 -1
- package/generic/select/lib/index.d.ts +0 -35
- package/generic/select/lib/index.d.ts.map +0 -1
- package/generic/select/public-api.d.ts.map +0 -1
- package/generic/select/select.component.d.ts +0 -14
- package/generic/select/select.component.d.ts.map +0 -1
- package/generic/select/types.d.ts +0 -5
- package/generic/select/types.d.ts.map +0 -1
- package/index.d.ts +0 -6
- package/public-api.d.ts +0 -8
- package/public-api.d.ts.map +0 -1
- package/shared/apply-theme-variables/apply-theme-variables.d.ts +0 -4
- package/shared/apply-theme-variables/apply-theme-variables.d.ts.map +0 -1
- package/shared/apply-theme-variables/index.d.ts.map +0 -1
- package/shared/lib-provider/config-token.d.ts +0 -4
- package/shared/lib-provider/config-token.d.ts.map +0 -1
- package/shared/lib-provider/index.d.ts +0 -2
- package/shared/lib-provider/index.d.ts.map +0 -1
- package/shared/lib-provider/provide-sdc.d.ts +0 -10
- package/shared/lib-provider/provide-sdc.d.ts.map +0 -1
- package/shared/lib-provider/public-api.d.ts.map +0 -1
- package/shared/screen-observer/index.d.ts.map +0 -1
- package/shared/screen-observer/provide-screen-observer.d.ts +0 -5
- package/shared/screen-observer/provide-screen-observer.d.ts.map +0 -1
- package/shared/screen-observer/screen-observer.d.ts +0 -15
- package/shared/screen-observer/screen-observer.d.ts.map +0 -1
- package/shared/types.d.ts +0 -19
- package/shared/types.d.ts.map +0 -1
- package/tailwind.config.js +0 -19
- package/types/sizes.type.d.ts +0 -3
- package/types/sizes.type.d.ts.map +0 -1
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## **Overview**
|
|
4
4
|
|
|
5
|
-

|
|
6
6
|

|
|
7
7
|
|
|
8
8
|
The Software Division Components library is a wrapper around the [SpartanNG](https://spartan.ng/documentation/introduction) component library. It enhances SpartanNG components by providing additional functionality tailored to the common requirements of applications developed within the Software Division department. It also uses [Angular](https://v18.angular.dev/) for application development and [Storybook](https://storybook.js.org/) for interactive component documentation and testing.
|
|
9
9
|
|
|
10
|
+
## Migrate from v1 to v2
|
|
11
|
+
|
|
12
|
+
The v2 introduces multiple entrypoints to ensure tree-shaking and other optimizations to reduce bundle size. [Here is a detailed guide for migrating from v1 to v2](./docs/v2_migration_guide.md)
|
|
13
|
+
|
|
10
14
|
## **Installation**
|
|
11
15
|
|
|
12
16
|
[Refer to the dedicated docs page](./docs/installation.md)
|
|
@@ -130,7 +134,7 @@ import { ButtonComponent } from '@3ddv/software-division-components/generic/butt
|
|
|
130
134
|
|
|
131
135
|
This library is a wrapper to an already existing component library (SpartanNG), which means that there are some styles that are already present in all the exported components. These styles are kept intact whenever the `backoffice` theme parameter is passed to the `provideSdc` method. You also have the option of passing the `generic` parameter, which in turn makes the component align to the design that several ticketing applications share. If no parameter is passed, the `generic` is assigned as a fallback option. You can check that design [here](https://xd.adobe.com/view/0ea7033e-8fdf-4fcd-8215-546d1df20d37-5bf4/), [here](https://xd.adobe.com/view/c640d5a1-b5d3-4379-8684-fb860f95f052-9313/grid) and [here](https://xd.adobe.com/view/50a2d5c5-e2e1-413f-b7a5-8f3d61c88026-05f1/screen/65dee679-9942-4a63-b790-40e3b1fec39b/).
|
|
132
136
|
|
|
133
|
-
Styling components consist of passing down CSS classes that consist of SpartanNG variables. Go by as if you were styling a common HTML element. Every component has a `styleClasses` input which accepts a single or several whitespace-separated CSS class/classes declared within the using application. To see the variables that each component has, please check the official PrimeNG documentation per each component. Here you can see an example for the
|
|
137
|
+
Styling components consist of passing down CSS classes that consist of SpartanNG variables. Go by as if you were styling a common HTML element. Every component has a `styleClasses` input which accepts a single or several whitespace-separated CSS class/classes declared within the using application. To see the variables that each component has, please check the official PrimeNG documentation per each component. Here you can see an example for the [button component](https://spartan.ng/components/button). The column _Variable_ includes every single class that you can use within the your CSS classes which you will later pass into the library button to style it. The result looks as follows:
|
|
134
138
|
|
|
135
139
|
```css
|
|
136
140
|
.my-class {
|
|
@@ -154,7 +158,7 @@ If you are facing any specifity problems, each component also has an ID referenc
|
|
|
154
158
|
|
|
155
159
|
#### Encapsulation issues
|
|
156
160
|
|
|
157
|
-
Most of the time you will be declaring your styles with a CSS file declared within the component scope (my-component.component.css) and later import it with _styleUrl_ or _stylesUrl_ in your component. In that scenario, you will be dealing with the default
|
|
161
|
+
Most of the time you will be declaring your styles with a CSS file declared within the component scope (my-component.component.css) and later import it with _styleUrl_ or _stylesUrl_ in your component. In that scenario, you will be dealing with the default [component View Encapsulation](https://angular.dev/guide/components/styling) setting, which does not allow a parent component to apply styles to the child component. This brings a problem when it comes to passing down CSS classes to the library components. Following similar practices from other component librariess, we bring the option to bypass View Encapsulation for a certain CSS class by declaring your classes with a pseudo-class selector:
|
|
158
162
|
|
|
159
163
|
Depending on the Encapsulation option that you are using in your component, some styles will not apply. In that scenario, declare the style as follows:
|
|
160
164
|
|
|
@@ -442,10 +446,10 @@ By following this approach, we ensure that:
|
|
|
442
446
|
|
|
443
447
|
Any further information regarding the BEM methodology can be found through the following links:
|
|
444
448
|
|
|
445
|
-
- https://css-tricks.com/bem-101
|
|
446
|
-
- https://getbem.com/introduction
|
|
447
|
-
- https://stackoverflow.com/questions/36703546/what-is-bem-methodology
|
|
448
|
-
- https://gauravmahlawat.github.io/online-bem-generator.html#google_vignette
|
|
449
|
+
- <https://css-tricks.com/bem-101/>
|
|
450
|
+
- <https://getbem.com/introduction/>
|
|
451
|
+
- <https://stackoverflow.com/questions/36703546/what-is-bem-methodology>
|
|
452
|
+
- <https://gauravmahlawat.github.io/online-bem-generator.html#google_vignette>
|
|
449
453
|
|
|
450
454
|
#### Why are we not internally using Tailwind or SCSS?
|
|
451
455
|
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, computed, signal, Component } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/forms';
|
|
4
|
+
import { FormSubmittedEvent, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A customizable checkbox component.
|
|
8
|
+
*
|
|
9
|
+
* This component supports various configurations and exposes all Spartan UI checkbox functionality.
|
|
10
|
+
* All HTML checkbox attributes and events are automatically forwarded to the inner checkbox element.
|
|
11
|
+
*
|
|
12
|
+
* @since 1.0.0-alpha.1
|
|
13
|
+
*/
|
|
14
|
+
class CheckboxComponent {
|
|
15
|
+
allowedVariants = [
|
|
16
|
+
'variant-primary',
|
|
17
|
+
'variant-secondary',
|
|
18
|
+
'variant-alternative',
|
|
19
|
+
'variant-success',
|
|
20
|
+
'variant-warning',
|
|
21
|
+
'variant-danger',
|
|
22
|
+
];
|
|
23
|
+
allowedSizes = ['size-sm', 'size-md', 'size-lg', 'size-xl'];
|
|
24
|
+
/**
|
|
25
|
+
* The current theme applied to the component.
|
|
26
|
+
*/
|
|
27
|
+
theme = input('theme-sdc', ...(ngDevMode ? [{ debugName: "theme" }] : []));
|
|
28
|
+
/**
|
|
29
|
+
* Predefined styles to apply to the component.
|
|
30
|
+
* Can be a single class or multiple classes from different categories.
|
|
31
|
+
*/
|
|
32
|
+
styleClass = input([], ...(ngDevMode ? [{ debugName: "styleClass" }] : []));
|
|
33
|
+
// Computed signal that validates and filters the styleClass checkbox
|
|
34
|
+
_validatedStyleClass = computed(() => {
|
|
35
|
+
const value = this.styleClass();
|
|
36
|
+
if (!Array.isArray(value)) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
const validValues = value.filter(style => {
|
|
40
|
+
return (this.allowedVariants.includes(style) ||
|
|
41
|
+
this.allowedSizes.includes(style));
|
|
42
|
+
});
|
|
43
|
+
const invalidValues = value.filter(style => {
|
|
44
|
+
return (!this.allowedVariants.includes(style) &&
|
|
45
|
+
!this.allowedSizes.includes(style));
|
|
46
|
+
});
|
|
47
|
+
if (invalidValues.length > 0) {
|
|
48
|
+
throw new Error(`CheckboxComponent: Invalid styleClass values ignored: ${invalidValues.join(', ')}. Allowed values: ${[
|
|
49
|
+
...this.allowedVariants,
|
|
50
|
+
...this.allowedSizes,
|
|
51
|
+
].join(', ')}`);
|
|
52
|
+
}
|
|
53
|
+
return validValues;
|
|
54
|
+
}, ...(ngDevMode ? [{ debugName: "_validatedStyleClass" }] : []));
|
|
55
|
+
/**
|
|
56
|
+
* Additional CSS classes to apply to the component.
|
|
57
|
+
*/
|
|
58
|
+
className = input('', ...(ngDevMode ? [{ debugName: "className" }] : []));
|
|
59
|
+
/**
|
|
60
|
+
* Whether the component is disabled.
|
|
61
|
+
*/
|
|
62
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
63
|
+
/**
|
|
64
|
+
* The label text to display above or to the left of the checkbox.
|
|
65
|
+
* Only visible when a value is provided.
|
|
66
|
+
*/
|
|
67
|
+
label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
|
|
68
|
+
/**
|
|
69
|
+
* The position of the label relative to the checkbox.
|
|
70
|
+
*/
|
|
71
|
+
labelPosition = input('left', ...(ngDevMode ? [{ debugName: "labelPosition" }] : []));
|
|
72
|
+
/**
|
|
73
|
+
* The name of the form control.
|
|
74
|
+
*/
|
|
75
|
+
name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
76
|
+
/**
|
|
77
|
+
* The FormControl instance to bind to this checkbox.
|
|
78
|
+
* This allows the component to access form state without circular dependencies.
|
|
79
|
+
*/
|
|
80
|
+
control = input.required(...(ngDevMode ? [{ debugName: "control" }] : []));
|
|
81
|
+
/**
|
|
82
|
+
* The value of the checkbox.
|
|
83
|
+
*/
|
|
84
|
+
value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
85
|
+
/**
|
|
86
|
+
* Whether the checkbox is checked.
|
|
87
|
+
*/
|
|
88
|
+
isChecked = signal(false, ...(ngDevMode ? [{ debugName: "isChecked" }] : []));
|
|
89
|
+
/**
|
|
90
|
+
* Computed class string that combines theme and user classes.
|
|
91
|
+
*/
|
|
92
|
+
computedClass = computed(() => {
|
|
93
|
+
const themeClass = this.theme();
|
|
94
|
+
const styleClass = this._validatedStyleClass();
|
|
95
|
+
const className = this.className();
|
|
96
|
+
const labelClass = this.labelPosition() === 'left' ? 'sdc-checkbox-label-left' : 'sdc-checkbox-label-right';
|
|
97
|
+
const checkedClass = this.isChecked() ? 'sdc-checkbox-checked' : '';
|
|
98
|
+
return ['sdc-checkbox', themeClass, ...styleClass, className, labelClass, checkedClass].filter(Boolean).join(' ');
|
|
99
|
+
}, ...(ngDevMode ? [{ debugName: "computedClass" }] : []));
|
|
100
|
+
/**
|
|
101
|
+
* Custom error message to override the validator's error message.
|
|
102
|
+
*/
|
|
103
|
+
errorMessage = input('', ...(ngDevMode ? [{ debugName: "errorMessage" }] : []));
|
|
104
|
+
/**
|
|
105
|
+
* Controls when errors are displayed.
|
|
106
|
+
* - 'after-submit': Show errors only after form submission (default)
|
|
107
|
+
* - 'always': Show errors immediately when validation fails
|
|
108
|
+
*/
|
|
109
|
+
errorDisplayMode = input('after-submit', ...(ngDevMode ? [{ debugName: "errorDisplayMode" }] : []));
|
|
110
|
+
/**
|
|
111
|
+
* The state of the form control.
|
|
112
|
+
*/
|
|
113
|
+
controlState = signal({ errors: null, invalid: false, isFormSubmitted: false }, ...(ngDevMode ? [{ debugName: "controlState" }] : []));
|
|
114
|
+
/**
|
|
115
|
+
* Computed signal to get the current error message.
|
|
116
|
+
*/
|
|
117
|
+
currentErrorMessage = computed(() => {
|
|
118
|
+
const customMessage = this.errorMessage();
|
|
119
|
+
const hasErrors = Object.keys(this.controlState()?.errors ?? {}).length > 0;
|
|
120
|
+
if (hasErrors && customMessage && customMessage.trim().length > 0) {
|
|
121
|
+
return customMessage;
|
|
122
|
+
}
|
|
123
|
+
// If no custom message, try to get validation error from the form control state
|
|
124
|
+
if (hasErrors) {
|
|
125
|
+
const firstErrorKey = Object.keys(this.controlState()?.errors ?? {})[0];
|
|
126
|
+
return this.getValidatorErrorMessage(firstErrorKey);
|
|
127
|
+
}
|
|
128
|
+
return '';
|
|
129
|
+
}, ...(ngDevMode ? [{ debugName: "currentErrorMessage" }] : []));
|
|
130
|
+
/**
|
|
131
|
+
* Computed signal to determine if there's an error to display.
|
|
132
|
+
*/
|
|
133
|
+
showError = computed(() => {
|
|
134
|
+
const errorMode = this.errorDisplayMode();
|
|
135
|
+
// For validation errors, respect the error display mode
|
|
136
|
+
if (this.controlState()?.invalid) {
|
|
137
|
+
if (errorMode === 'always') {
|
|
138
|
+
// Show errors when component is touched and invalid
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
else if (errorMode === 'after-submit') {
|
|
142
|
+
// Show errors when form is submitted, regardless of touch/focus state
|
|
143
|
+
return this.controlState()?.isFormSubmitted;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return false;
|
|
147
|
+
}, ...(ngDevMode ? [{ debugName: "showError" }] : []));
|
|
148
|
+
/**
|
|
149
|
+
* Subscriptions to the control's value changes.
|
|
150
|
+
*/
|
|
151
|
+
subscriptions = [];
|
|
152
|
+
ngOnInit() {
|
|
153
|
+
this.isChecked.set(this.control()?.value === this.value());
|
|
154
|
+
const formEventsSubscription = this.control()?.parent?.events.subscribe(event => {
|
|
155
|
+
// We do not reset this signal because it is used to show the errors
|
|
156
|
+
// When a form is submitted at least once, we want to show the errors
|
|
157
|
+
if (event instanceof FormSubmittedEvent) {
|
|
158
|
+
this.controlState.set({
|
|
159
|
+
...this.controlState(),
|
|
160
|
+
isFormSubmitted: true,
|
|
161
|
+
errors: this.control()?.errors || null,
|
|
162
|
+
});
|
|
163
|
+
// We add this because the statusChanges event is not triggered when the form is submitted
|
|
164
|
+
if (event.source.status === 'INVALID') {
|
|
165
|
+
this.controlState.set({ ...this.controlState(), invalid: true });
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
// Listen to changes on this specific checkbox's control
|
|
170
|
+
const valueChangesSubscription = this.control()?.valueChanges.subscribe(value => {
|
|
171
|
+
this.isChecked.set(value === this.value());
|
|
172
|
+
});
|
|
173
|
+
const statusChangesSubscription = this.control()?.statusChanges.subscribe(status => {
|
|
174
|
+
if (status === 'INVALID') {
|
|
175
|
+
this.controlState.set({ ...this.controlState(), invalid: true });
|
|
176
|
+
}
|
|
177
|
+
this.controlState.set({ ...this.controlState(), errors: this.control()?.errors || null });
|
|
178
|
+
});
|
|
179
|
+
this.subscriptions.push(formEventsSubscription, valueChangesSubscription, statusChangesSubscription);
|
|
180
|
+
}
|
|
181
|
+
ngOnDestroy() {
|
|
182
|
+
this.subscriptions.forEach(subscription => subscription?.unsubscribe());
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Gets the error message for a specific validator error.
|
|
186
|
+
*/
|
|
187
|
+
getValidatorErrorMessage(errorKey) {
|
|
188
|
+
switch (errorKey) {
|
|
189
|
+
case 'required':
|
|
190
|
+
return 'This field is required.';
|
|
191
|
+
default:
|
|
192
|
+
return 'This field is required.';
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
196
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: CheckboxComponent, isStandalone: true, selector: "sdc-checkbox", inputs: { theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, errorDisplayMode: { classPropertyName: "errorDisplayMode", publicName: "errorDisplayMode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [class]=\"computedClass()\">\n <label class=\"component-container\" [for]=\"name()\">\n <span class=\"checkbox-label\">{{ label() }}</span>\n\n <input\n class=\"checkbox-input\"\n [id]=\"name()\"\n [formControl]=\"control()\"\n type=\"checkbox\"\n [name]=\"name()\"\n [value]=\"value()\"\n [checked]=\"isChecked()\" />\n\n <span class=\"checkmark\"></span>\n </label>\n\n <!-- Error message -->\n @if (showError()) {\n <div class=\"sdc-checkbox-error\">\n {{ currentErrorMessage() }}\n </div>\n }\n</div>\n", styles: [".sdc-checkbox{--sdc-checkbox-label-color: var(--color-primary);--sdc-checkbox-label-size: var(--text-base);--sdc-checkbox-label-weight: var(--font-semibold);--sdc-checkbox-label-gap: var(--space-6);--sdc-checkbox-label-width: auto;--sdc-checkmark-container-background: var(--color-pure-white);--sdc-checkmark-container-border-color: var(--color-neutral-300);--sdc-checkmark-container-border-width: var(--border-default);--sdc-checkmark-container-border-radius: var(--radius-sm);--sdc-checkmark-container-size: var(--space-5);--sdc-checkmark-element-color: var(--color-primary);--sdc-checkmark-element-border-radius: var(--radius-full);--sdc-checkmark-element-line-width: var(--border-4);--sdc-checkbox-error-color: var(--color-danger);--sdc-checkbox-error-text-size: var(--text-xs);--sdc-checkbox-error-gap: var(--space-1);width:max-content;font-size:var(--sdc-checkbox-label-size);color:hsl(var(--sdc-checkbox-label-color));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.component-container{display:block;position:relative;cursor:pointer}.checkbox-label{display:block;width:var(--sdc-checkbox-label-width)}.checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:50%;transform:translateY(-50%);height:var(--sdc-checkmark-container-size);width:var(--sdc-checkmark-container-size);background-color:hsl(var(--sdc-checkmark-container-background));border:var(--sdc-checkmark-container-border-width) solid hsl(var(--sdc-checkmark-container-border-color));border-radius:var(--sdc-checkmark-container-border-radius)}.sdc-checkbox-label-right .checkbox-label{--sdc-checkbox-label-width: var(--space-24);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-checkbox-label-left.sdc-checkbox .component-container{padding-left:calc(var(--sdc-checkmark-container-size) + var(--sdc-checkbox-label-gap))}.sdc-checkbox-label-right.sdc-checkbox .component-container{padding-right:calc(var(--sdc-checkmark-container-size) + var(--sdc-checkbox-label-gap))}.sdc-checkbox-label-left .checkmark{left:0;right:auto}.sdc-checkbox-label-right .checkmark{left:auto;right:0}.sdc-checkbox:hover .checkbox-input~.checkmark{--sdc-checkmark-container-border-color: var(--sdc-checkmark-element-color)}.checkbox-input:checked~.checkmark{background-color:hsl(var(--sdc-checkmark-container-background))}.checkmark:after{content:\"\";position:absolute;display:none}.checkbox-input:checked~.checkmark:after{display:block}.checkmark:after{top:calc(var(--sdc-checkmark-container-size) * .07);left:calc(var(--sdc-checkmark-container-size) * .3);height:calc(var(--sdc-checkmark-container-size) * .6);width:calc(var(--sdc-checkmark-container-size) * .4);border:solid hsl(var(--sdc-checkmark-element-color));border-width:0 var(--sdc-checkmark-element-line-width) var(--sdc-checkmark-element-line-width) 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.sdc-checkbox-error{color:hsl(var(--sdc-checkbox-error-color));font-size:var(--sdc-checkbox-error-text-size);line-height:1rem;padding-top:var(--sdc-checkbox-error-gap)}.variant-primary.sdc-checkbox{--sdc-checkbox-label-color: var(--color-primary);--sdc-checkmark-element-color: var(--color-primary)}.variant-secondary.sdc-checkbox{--sdc-checkbox-label-color: var(--color-secondary);--sdc-checkmark-element-color: var(--color-secondary)}.variant-alternative.sdc-checkbox{--sdc-checkbox-label-color: var(--color-alternative);--sdc-checkmark-element-color: var(--color-alternative)}.variant-success.sdc-checkbox{--sdc-checkbox-label-color: var(--color-success);--sdc-checkmark-element-color: var(--color-success)}.variant-warning.sdc-checkbox{--sdc-checkbox-label-color: var(--color-warning);--sdc-checkmark-element-color: var(--color-warning)}.variant-danger.sdc-checkbox{--sdc-checkbox-label-color: var(--color-danger);--sdc-checkmark-element-color: var(--color-danger)}.size-sm.sdc-checkbox{--sdc-checkbox-label-size: var(--text-sm);--sdc-checkbox-label-gap: var(--space-1);--sdc-checkmark-container-size: var(--space-4);--sdc-checkmark-element-line-width: var(--border-3)}.size-sm.sdc-checkbox .checkmark:after{top:calc(var(--sdc-checkmark-container-size) * .07);left:calc(var(--sdc-checkmark-container-size) * .3);height:calc(var(--sdc-checkmark-container-size) * .5);width:calc(var(--sdc-checkmark-container-size) * .35)}.size-md.sdc-checkbox{--sdc-checkbox-label-size: var(--text-base);--sdc-checkbox-label-gap: var(--space-2);--sdc-checkmark-container-size: var(--space-5);--sdc-checkmark-element-line-width: var(--border-4)}.size-lg.sdc-checkbox{--sdc-checkbox-label-size: var(--text-lg);--sdc-checkbox-label-gap: var(--space-3);--sdc-checkmark-container-size: var(--space-6);--sdc-checkmark-element-line-width: var(--border-4)}.size-xl.sdc-checkbox{--sdc-checkbox-label-size: var(--text-xl);--sdc-checkbox-label-gap: var(--space-4);--sdc-checkmark-container-size: var(--space-7);--sdc-checkmark-element-line-width: var(--border-4)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
197
|
+
}
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
199
|
+
type: Component,
|
|
200
|
+
args: [{ standalone: true, selector: 'sdc-checkbox', imports: [ReactiveFormsModule], template: "<div [class]=\"computedClass()\">\n <label class=\"component-container\" [for]=\"name()\">\n <span class=\"checkbox-label\">{{ label() }}</span>\n\n <input\n class=\"checkbox-input\"\n [id]=\"name()\"\n [formControl]=\"control()\"\n type=\"checkbox\"\n [name]=\"name()\"\n [value]=\"value()\"\n [checked]=\"isChecked()\" />\n\n <span class=\"checkmark\"></span>\n </label>\n\n <!-- Error message -->\n @if (showError()) {\n <div class=\"sdc-checkbox-error\">\n {{ currentErrorMessage() }}\n </div>\n }\n</div>\n", styles: [".sdc-checkbox{--sdc-checkbox-label-color: var(--color-primary);--sdc-checkbox-label-size: var(--text-base);--sdc-checkbox-label-weight: var(--font-semibold);--sdc-checkbox-label-gap: var(--space-6);--sdc-checkbox-label-width: auto;--sdc-checkmark-container-background: var(--color-pure-white);--sdc-checkmark-container-border-color: var(--color-neutral-300);--sdc-checkmark-container-border-width: var(--border-default);--sdc-checkmark-container-border-radius: var(--radius-sm);--sdc-checkmark-container-size: var(--space-5);--sdc-checkmark-element-color: var(--color-primary);--sdc-checkmark-element-border-radius: var(--radius-full);--sdc-checkmark-element-line-width: var(--border-4);--sdc-checkbox-error-color: var(--color-danger);--sdc-checkbox-error-text-size: var(--text-xs);--sdc-checkbox-error-gap: var(--space-1);width:max-content;font-size:var(--sdc-checkbox-label-size);color:hsl(var(--sdc-checkbox-label-color));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.component-container{display:block;position:relative;cursor:pointer}.checkbox-label{display:block;width:var(--sdc-checkbox-label-width)}.checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:50%;transform:translateY(-50%);height:var(--sdc-checkmark-container-size);width:var(--sdc-checkmark-container-size);background-color:hsl(var(--sdc-checkmark-container-background));border:var(--sdc-checkmark-container-border-width) solid hsl(var(--sdc-checkmark-container-border-color));border-radius:var(--sdc-checkmark-container-border-radius)}.sdc-checkbox-label-right .checkbox-label{--sdc-checkbox-label-width: var(--space-24);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdc-checkbox-label-left.sdc-checkbox .component-container{padding-left:calc(var(--sdc-checkmark-container-size) + var(--sdc-checkbox-label-gap))}.sdc-checkbox-label-right.sdc-checkbox .component-container{padding-right:calc(var(--sdc-checkmark-container-size) + var(--sdc-checkbox-label-gap))}.sdc-checkbox-label-left .checkmark{left:0;right:auto}.sdc-checkbox-label-right .checkmark{left:auto;right:0}.sdc-checkbox:hover .checkbox-input~.checkmark{--sdc-checkmark-container-border-color: var(--sdc-checkmark-element-color)}.checkbox-input:checked~.checkmark{background-color:hsl(var(--sdc-checkmark-container-background))}.checkmark:after{content:\"\";position:absolute;display:none}.checkbox-input:checked~.checkmark:after{display:block}.checkmark:after{top:calc(var(--sdc-checkmark-container-size) * .07);left:calc(var(--sdc-checkmark-container-size) * .3);height:calc(var(--sdc-checkmark-container-size) * .6);width:calc(var(--sdc-checkmark-container-size) * .4);border:solid hsl(var(--sdc-checkmark-element-color));border-width:0 var(--sdc-checkmark-element-line-width) var(--sdc-checkmark-element-line-width) 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.sdc-checkbox-error{color:hsl(var(--sdc-checkbox-error-color));font-size:var(--sdc-checkbox-error-text-size);line-height:1rem;padding-top:var(--sdc-checkbox-error-gap)}.variant-primary.sdc-checkbox{--sdc-checkbox-label-color: var(--color-primary);--sdc-checkmark-element-color: var(--color-primary)}.variant-secondary.sdc-checkbox{--sdc-checkbox-label-color: var(--color-secondary);--sdc-checkmark-element-color: var(--color-secondary)}.variant-alternative.sdc-checkbox{--sdc-checkbox-label-color: var(--color-alternative);--sdc-checkmark-element-color: var(--color-alternative)}.variant-success.sdc-checkbox{--sdc-checkbox-label-color: var(--color-success);--sdc-checkmark-element-color: var(--color-success)}.variant-warning.sdc-checkbox{--sdc-checkbox-label-color: var(--color-warning);--sdc-checkmark-element-color: var(--color-warning)}.variant-danger.sdc-checkbox{--sdc-checkbox-label-color: var(--color-danger);--sdc-checkmark-element-color: var(--color-danger)}.size-sm.sdc-checkbox{--sdc-checkbox-label-size: var(--text-sm);--sdc-checkbox-label-gap: var(--space-1);--sdc-checkmark-container-size: var(--space-4);--sdc-checkmark-element-line-width: var(--border-3)}.size-sm.sdc-checkbox .checkmark:after{top:calc(var(--sdc-checkmark-container-size) * .07);left:calc(var(--sdc-checkmark-container-size) * .3);height:calc(var(--sdc-checkmark-container-size) * .5);width:calc(var(--sdc-checkmark-container-size) * .35)}.size-md.sdc-checkbox{--sdc-checkbox-label-size: var(--text-base);--sdc-checkbox-label-gap: var(--space-2);--sdc-checkmark-container-size: var(--space-5);--sdc-checkmark-element-line-width: var(--border-4)}.size-lg.sdc-checkbox{--sdc-checkbox-label-size: var(--text-lg);--sdc-checkbox-label-gap: var(--space-3);--sdc-checkmark-container-size: var(--space-6);--sdc-checkmark-element-line-width: var(--border-4)}.size-xl.sdc-checkbox{--sdc-checkbox-label-size: var(--text-xl);--sdc-checkbox-label-gap: var(--space-4);--sdc-checkmark-container-size: var(--space-7);--sdc-checkmark-element-line-width: var(--border-4)}\n"] }]
|
|
201
|
+
}], propDecorators: { theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], styleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleClass", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], labelPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPosition", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], control: [{ type: i0.Input, args: [{ isSignal: true, alias: "control", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], errorMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorMessage", required: false }] }], errorDisplayMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorDisplayMode", required: false }] }] } });
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Generated bundle index. Do not edit.
|
|
205
|
+
*/
|
|
206
|
+
|
|
207
|
+
export { CheckboxComponent };
|
|
208
|
+
//# sourceMappingURL=3ddv-software-division-components-backoffice-checkbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3ddv-software-division-components-backoffice-checkbox.mjs","sources":["../../backoffice/checkbox/checkbox.component.ts","../../backoffice/checkbox/checkbox.component.html","../../backoffice/checkbox/3ddv-software-division-components-backoffice-checkbox.ts"],"sourcesContent":["import { ThemeClass } from '@3ddv/software-division-components/shared';\nimport { Component, computed, input, OnDestroy, OnInit, signal } from '@angular/core';\nimport { FormControl, FormSubmittedEvent, ReactiveFormsModule, ValidationErrors } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nexport type CheckboxStyleClasses = ReturnType<(typeof CheckboxComponent.prototype)['styleClass']>;\n\n/**\n * A customizable checkbox component.\n *\n * This component supports various configurations and exposes all Spartan UI checkbox functionality.\n * All HTML checkbox attributes and events are automatically forwarded to the inner checkbox element.\n *\n * @since 1.0.0-alpha.1\n */\n@Component({\n standalone: true,\n selector: 'sdc-checkbox',\n styleUrls: ['./checkbox.component.css'],\n templateUrl: './checkbox.component.html',\n imports: [ReactiveFormsModule],\n})\nexport class CheckboxComponent implements OnInit, OnDestroy {\n private readonly allowedVariants = [\n 'variant-primary',\n 'variant-secondary',\n 'variant-alternative',\n 'variant-success',\n 'variant-warning',\n 'variant-danger',\n ] as const;\n private readonly allowedSizes = ['size-sm', 'size-md', 'size-lg', 'size-xl'] as const;\n\n /**\n * The current theme applied to the component.\n */\n public readonly theme = input<ThemeClass>('theme-sdc');\n\n /**\n * Predefined styles to apply to the component.\n * Can be a single class or multiple classes from different categories.\n */\n public readonly styleClass = input<((typeof this.allowedVariants)[number] | (typeof this.allowedSizes)[number])[]>(\n []\n );\n\n // Computed signal that validates and filters the styleClass checkbox\n private readonly _validatedStyleClass = computed(() => {\n const value = this.styleClass();\n\n if (!Array.isArray(value)) {\n return [];\n }\n\n const validValues = value.filter(style => {\n return (\n (this.allowedVariants as readonly string[]).includes(style) ||\n (this.allowedSizes as readonly string[]).includes(style)\n );\n });\n\n const invalidValues = value.filter(style => {\n return (\n !(this.allowedVariants as readonly string[]).includes(style) &&\n !(this.allowedSizes as readonly string[]).includes(style)\n );\n });\n\n if (invalidValues.length > 0) {\n throw new Error(\n `CheckboxComponent: Invalid styleClass values ignored: ${invalidValues.join(', ')}. Allowed values: ${[\n ...this.allowedVariants,\n ...this.allowedSizes,\n ].join(', ')}`\n );\n }\n\n return validValues;\n });\n\n /**\n * Additional CSS classes to apply to the component.\n */\n public readonly className = input<string>('');\n\n /**\n * Whether the component is disabled.\n */\n public readonly disabled = input<boolean>(false);\n\n /**\n * The label text to display above or to the left of the checkbox.\n * Only visible when a value is provided.\n */\n public readonly label = input.required<string>();\n\n /**\n * The position of the label relative to the checkbox.\n */\n public readonly labelPosition = input<'left' | 'right'>('left');\n\n /**\n * The name of the form control.\n */\n public readonly name = input.required<string>();\n\n /**\n * The FormControl instance to bind to this checkbox.\n * This allows the component to access form state without circular dependencies.\n */\n public readonly control = input.required<FormControl>();\n\n /**\n * The value of the checkbox.\n */\n public readonly value = input.required<string>();\n\n /**\n * Whether the checkbox is checked.\n */\n public readonly isChecked = signal<boolean>(false);\n\n /**\n * Computed class string that combines theme and user classes.\n */\n protected readonly computedClass = computed(() => {\n const themeClass = this.theme();\n const styleClass = this._validatedStyleClass();\n const className = this.className();\n const labelClass = this.labelPosition() === 'left' ? 'sdc-checkbox-label-left' : 'sdc-checkbox-label-right';\n const checkedClass = this.isChecked() ? 'sdc-checkbox-checked' : '';\n return ['sdc-checkbox', themeClass, ...styleClass, className, labelClass, checkedClass].filter(Boolean).join(' ');\n });\n\n /**\n * Custom error message to override the validator's error message.\n */\n public readonly errorMessage = input<string>('');\n\n /**\n * Controls when errors are displayed.\n * - 'after-submit': Show errors only after form submission (default)\n * - 'always': Show errors immediately when validation fails\n */\n public readonly errorDisplayMode = input<'always' | 'after-submit'>('after-submit');\n\n /**\n * The state of the form control.\n */\n public readonly controlState = signal<{\n invalid: boolean;\n errors: ValidationErrors | null;\n isFormSubmitted: boolean;\n }>({ errors: null, invalid: false, isFormSubmitted: false });\n\n /**\n * Computed signal to get the current error message.\n */\n protected readonly currentErrorMessage = computed(() => {\n const customMessage = this.errorMessage();\n const hasErrors = Object.keys(this.controlState()?.errors ?? {}).length > 0;\n\n if (hasErrors && customMessage && customMessage.trim().length > 0) {\n return customMessage;\n }\n\n // If no custom message, try to get validation error from the form control state\n if (hasErrors) {\n const firstErrorKey = Object.keys(this.controlState()?.errors ?? {})[0];\n return this.getValidatorErrorMessage(firstErrorKey);\n }\n\n return '';\n });\n\n /**\n * Computed signal to determine if there's an error to display.\n */\n protected readonly showError = computed(() => {\n const errorMode = this.errorDisplayMode();\n\n // For validation errors, respect the error display mode\n if (this.controlState()?.invalid) {\n if (errorMode === 'always') {\n // Show errors when component is touched and invalid\n return true;\n } else if (errorMode === 'after-submit') {\n // Show errors when form is submitted, regardless of touch/focus state\n return this.controlState()?.isFormSubmitted;\n }\n }\n\n return false;\n });\n\n /**\n * Subscriptions to the control's value changes.\n */\n private readonly subscriptions: (Subscription | undefined)[] = [];\n\n ngOnInit(): void {\n this.isChecked.set(this.control()?.value === this.value());\n\n const formEventsSubscription = this.control()?.parent?.events.subscribe(event => {\n // We do not reset this signal because it is used to show the errors\n // When a form is submitted at least once, we want to show the errors\n if (event instanceof FormSubmittedEvent) {\n this.controlState.set({\n ...this.controlState(),\n isFormSubmitted: true,\n errors: this.control()?.errors || null,\n });\n\n // We add this because the statusChanges event is not triggered when the form is submitted\n if (event.source.status === 'INVALID') {\n this.controlState.set({ ...this.controlState(), invalid: true });\n }\n }\n });\n\n // Listen to changes on this specific checkbox's control\n const valueChangesSubscription = this.control()?.valueChanges.subscribe(value => {\n this.isChecked.set(value === this.value());\n });\n\n const statusChangesSubscription = this.control()?.statusChanges.subscribe(status => {\n if (status === 'INVALID') {\n this.controlState.set({ ...this.controlState(), invalid: true });\n }\n\n this.controlState.set({ ...this.controlState(), errors: this.control()?.errors || null });\n });\n\n this.subscriptions.push(formEventsSubscription, valueChangesSubscription, statusChangesSubscription);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription?.unsubscribe());\n }\n\n /**\n * Gets the error message for a specific validator error.\n */\n private getValidatorErrorMessage(errorKey: string): string {\n switch (errorKey) {\n case 'required':\n return 'This field is required.';\n default:\n return 'This field is required.';\n }\n }\n}\n","<div [class]=\"computedClass()\">\n <label class=\"component-container\" [for]=\"name()\">\n <span class=\"checkbox-label\">{{ label() }}</span>\n\n <input\n class=\"checkbox-input\"\n [id]=\"name()\"\n [formControl]=\"control()\"\n type=\"checkbox\"\n [name]=\"name()\"\n [value]=\"value()\"\n [checked]=\"isChecked()\" />\n\n <span class=\"checkmark\"></span>\n </label>\n\n <!-- Error message -->\n @if (showError()) {\n <div class=\"sdc-checkbox-error\">\n {{ currentErrorMessage() }}\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|