@3ddv/software-division-components 2.0.0 → 2.0.2
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/fesm2022/3ddv-software-division-components-generic-carousel.mjs +354 -0
- package/fesm2022/3ddv-software-division-components-generic-carousel.mjs.map +1 -0
- package/package.json +47 -67
- package/styles.css +2 -46
- package/types/3ddv-software-division-components-generic-carousel.d.ts +53 -0
- package/.postcssrc.json +0 -5
- package/.storybook/main.ts +0 -78
- package/.storybook/manager-head.html +0 -1
- package/.storybook/preview.ts +0 -30
- package/.storybook/tsconfig.json +0 -25
- package/.storybook/typings.d.ts +0 -4
- package/CHANGELOG.md +0 -8
- package/LICENSE.md +0 -21
- package/backoffice/checkbox/checkbox.component.css +0 -193
- package/backoffice/checkbox/checkbox.component.html +0 -23
- package/backoffice/checkbox/checkbox.component.ts +0 -252
- package/backoffice/checkbox/index.ts +0 -1
- package/backoffice/checkbox/ng-package.json +0 -1
- package/backoffice/checkbox/public-api.ts +0 -1
- package/backoffice/checkbox/story/checkbox.stories.ts +0 -304
- package/backoffice/datepicker/datepicker.component.css +0 -262
- package/backoffice/datepicker/datepicker.component.html +0 -40
- package/backoffice/datepicker/datepicker.component.ts +0 -366
- package/backoffice/datepicker/index.ts +0 -1
- package/backoffice/datepicker/ng-package.json +0 -1
- package/backoffice/datepicker/public-api.ts +0 -2
- package/backoffice/datepicker/story/datepicker.stories.ts +0 -32
- package/backoffice/datepicker/ui/ui-calendar-helm/src/index.ts +0 -14
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar-multi.ts +0 -183
- package/backoffice/datepicker/ui/ui-calendar-helm/src/lib/hlm-calendar.ts +0 -171
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/index.ts +0 -16
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.token.ts +0 -43
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker-multi.ts +0 -177
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.token.ts +0 -43
- package/backoffice/datepicker/ui/ui-date-picker-helm/src/lib/hlm-date-picker.ts +0 -167
- package/backoffice/datepicker/ui/ui-icon-helm/src/index.ts +0 -11
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
- package/backoffice/datepicker/ui/ui-icon-helm/src/lib/hlm-icon.ts +0 -35
- package/backoffice/datepicker/ui/ui-popover-helm/src/index.ts +0 -15
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-close.ts +0 -19
- package/backoffice/datepicker/ui/ui-popover-helm/src/lib/hlm-popover-content.ts +0 -30
- package/backoffice/index.ts +0 -1
- package/backoffice/input/index.ts +0 -1
- package/backoffice/input/input.component.css +0 -319
- package/backoffice/input/input.component.html +0 -51
- package/backoffice/input/input.component.ts +0 -497
- package/backoffice/input/ng-package.json +0 -1
- package/backoffice/input/public-api.ts +0 -2
- package/backoffice/input/story/input.stories.ts +0 -243
- package/backoffice/radio/index.ts +0 -1
- package/backoffice/radio/ng-package.json +0 -1
- package/backoffice/radio/public-api.ts +0 -1
- package/backoffice/radio/radio.component.css +0 -143
- package/backoffice/radio/radio.component.html +0 -15
- package/backoffice/radio/radio.component.ts +0 -154
- package/backoffice/radio/story/radio.stories.ts +0 -287
- package/backoffice/table/_components/pagination/pagination.component.css +0 -117
- package/backoffice/table/_components/pagination/pagination.component.html +0 -55
- package/backoffice/table/_components/pagination/pagination.component.ts +0 -79
- 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 +0 -6
- package/backoffice/table/_components/selection-table-head/selection-table-head.component.ts +0 -36
- 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 +0 -5
- package/backoffice/table/_components/selection-table-row/selection-table-row.component.ts +0 -12
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.css +0 -14
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.html +0 -11
- package/backoffice/table/_components/sort-header-button/sort-header-button.component.ts +0 -55
- package/backoffice/table/index.ts +0 -1
- package/backoffice/table/ng-package.json +0 -1
- package/backoffice/table/public-api.ts +0 -6
- package/backoffice/table/story/table.stories.ts +0 -364
- package/backoffice/table/table.component.css +0 -172
- package/backoffice/table/table.component.html +0 -53
- package/backoffice/table/table.component.ts +0 -347
- package/backoffice/table/ui/ui-icon-helm/src/index.ts +0 -11
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
- package/backoffice/table/ui/ui-icon-helm/src/lib/hlm-icon.ts +0 -35
- package/backoffice/table/ui/ui-table-helm/src/index.ts +0 -13
- package/backoffice/table/ui/ui-table-helm/src/lib/hlm-table.ts +0 -220
- package/components.json +0 -3
- package/dist/styles.css +0 -2
- package/documentation.json +0 -30473
- package/dvm/cart/cart.component.css +0 -103
- package/dvm/cart/cart.component.html +0 -31
- package/dvm/cart/cart.component.ts +0 -49
- package/dvm/cart/cart.stories.ts +0 -370
- package/dvm/cart/cart.types.ts +0 -8
- package/dvm/cart/index.ts +0 -2
- package/dvm/cart/ng-package.json +0 -1
- package/dvm/cart/public-api.ts +0 -8
- package/dvm/cart/seat-list.component.css +0 -281
- package/dvm/cart/seat-list.component.html +0 -85
- package/dvm/cart/seat-list.component.ts +0 -76
- package/dvm/cart/seat-list.stories.ts +0 -337
- package/dvm/cart-item/cart-item.component.html +0 -1
- package/dvm/cart-item/cart-item.component.ts +0 -8
- package/dvm/cart-item/cart-item.service.ts +0 -8
- package/dvm/cart-item/cart.stories.ts +0 -31
- package/dvm/cart-item/index.ts +0 -1
- package/dvm/cart-item/ng-package.json +0 -1
- package/dvm/cart-item/public-api.ts +0 -6
- package/dvm/index.ts +0 -1
- package/dvm/legend/index.ts +0 -1
- package/dvm/legend/legend.component.css +0 -49
- package/dvm/legend/legend.component.html +0 -8
- package/dvm/legend/legend.component.ts +0 -41
- package/dvm/legend/legend.stories.ts +0 -16
- package/dvm/legend/ng-package.json +0 -1
- package/dvm/legend/public-api.ts +0 -7
- package/dvm/legend/types.ts +0 -6
- package/dvm/legend/ui/legend-elements/index.ts +0 -1
- package/dvm/legend/ui/legend-elements/legend-elements.component.css +0 -49
- package/dvm/legend/ui/legend-elements/legend-elements.component.html +0 -8
- package/dvm/legend/ui/legend-elements/legend-elements.component.ts +0 -41
- package/dvm/loader/index.ts +0 -1
- package/dvm/loader/loader.component.html +0 -1
- package/dvm/loader/loader.component.ts +0 -8
- package/dvm/loader/loader.service.ts +0 -8
- package/dvm/loader/loader.stories.ts +0 -31
- package/dvm/loader/ng-package.json +0 -1
- package/dvm/loader/public-api.ts +0 -6
- package/dvm/map-loader/index.ts +0 -1
- package/dvm/map-loader/map-loader.component.css +0 -91
- package/dvm/map-loader/map-loader.component.html +0 -23
- package/dvm/map-loader/map-loader.component.ts +0 -187
- package/dvm/map-loader/map-loader.stories.ts +0 -16
- package/dvm/map-loader/ng-package.json +0 -1
- package/dvm/map-loader/public-api.ts +0 -5
- package/dvm/neighbors/index.ts +0 -1
- package/dvm/neighbors/neighbors.component.css +0 -158
- package/dvm/neighbors/neighbors.component.html +0 -45
- package/dvm/neighbors/neighbors.component.ts +0 -218
- package/dvm/neighbors/ng-package.json +0 -1
- package/dvm/neighbors/public-api.ts +0 -2
- package/dvm/neighbors/story/arrow-left-black-icon.svg +0 -3
- package/dvm/neighbors/story/mock-data.ts +0 -15
- package/dvm/neighbors/story/neighbours.stories.css +0 -12
- package/dvm/neighbors/story/neighbours.stories.ts +0 -117
- package/dvm/neighbors/types.ts +0 -14
- package/dvm/popover/base-popover.component.ts +0 -70
- package/dvm/popover/index.ts +0 -1
- package/dvm/popover/ng-package.json +0 -1
- package/dvm/popover/popover.component.css +0 -227
- package/dvm/popover/popover.component.html +0 -27
- package/dvm/popover/popover.component.ts +0 -236
- package/dvm/popover/popover.config.ts +0 -30
- package/dvm/popover/popover.service.ts +0 -627
- package/dvm/popover/popover.stories.ts +0 -873
- package/dvm/popover/public-api.ts +0 -14
- package/dvm/popover/seat-popover/seat-popover.component.css +0 -89
- package/dvm/popover/seat-popover/seat-popover.component.html +0 -40
- package/dvm/popover/seat-popover/seat-popover.component.ts +0 -74
- package/dvm/popover/section-popover/section-popover.component.css +0 -157
- package/dvm/popover/section-popover/section-popover.component.html +0 -58
- package/dvm/popover/section-popover/section-popover.component.ts +0 -106
- package/dvm/popover/services/dvm-popover-positioner.service.ts +0 -73
- package/dvm/popover/services/popover-manager.service.ts +0 -88
- package/dvm/popover/transformers/base-popover-data-transformer.ts +0 -36
- package/dvm/popover/types.ts +0 -104
- package/dvm/stepper/index.ts +0 -1
- package/dvm/stepper/ng-package.json +0 -1
- package/dvm/stepper/public-api.ts +0 -5
- package/dvm/stepper/stepper.component.css +0 -142
- package/dvm/stepper/stepper.component.html +0 -9
- package/dvm/stepper/stepper.component.ts +0 -101
- package/dvm/stepper/types.ts +0 -6
- package/dvm/ticket-info-item/index.ts +0 -1
- package/dvm/ticket-info-item/ng-package.json +0 -1
- package/dvm/ticket-info-item/public-api.ts +0 -6
- package/dvm/ticket-info-item/ticket-info-item.component.html +0 -1
- package/dvm/ticket-info-item/ticket-info-item.component.ts +0 -8
- package/dvm/ticket-info-item/ticket-info-item.service.ts +0 -8
- package/dvm/ticket-info-item/ticket-info-item.stories.ts +0 -31
- package/generic/add-digital-wallet/add-digital-wallet.component.css +0 -76
- package/generic/add-digital-wallet/add-digital-wallet.component.html +0 -46
- package/generic/add-digital-wallet/add-digital-wallet.component.ts +0 -44
- package/generic/add-digital-wallet/index.ts +0 -1
- package/generic/add-digital-wallet/ng-package.json +0 -1
- package/generic/add-digital-wallet/public-api.ts +0 -1
- package/generic/braintree/braintree.component.css +0 -7
- package/generic/braintree/braintree.component.ts +0 -134
- package/generic/braintree/index.ts +0 -1
- package/generic/braintree/ng-package.json +0 -1
- package/generic/braintree/public-api.ts +0 -6
- package/generic/braintree/story/braintree.stories.css +0 -3
- package/generic/braintree/story/braintree.stories.ts +0 -27
- package/generic/braintree/types.ts +0 -28
- package/generic/button/button.component.css +0 -305
- package/generic/button/button.component.html +0 -10
- package/generic/button/button.component.ts +0 -353
- package/generic/button/index.ts +0 -1
- package/generic/button/ng-package.json +0 -1
- package/generic/button/public-api.ts +0 -6
- package/generic/button/story/button.stories.ts +0 -384
- package/generic/button/ui/ui-button-helm/src/index.ts +0 -10
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.token.ts +0 -22
- package/generic/button/ui/ui-button-helm/src/lib/hlm-button.ts +0 -62
- package/generic/carousel/carousel-item.component.ts +0 -15
- package/generic/carousel/carousel-item.directive.ts +0 -14
- package/generic/carousel/carousel.component.css +0 -90
- package/generic/carousel/carousel.component.html +0 -13
- package/generic/carousel/carousel.component.ts +0 -44
- package/generic/carousel/index.ts +0 -1
- package/generic/carousel/public-api.ts +0 -2
- package/generic/carousel/ui/ui-carousel-helm/src/index.ts +0 -29
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-content.ts +0 -23
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-item.ts +0 -25
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-next.ts +0 -58
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-previous.ts +0 -61
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel-slide-display.ts +0 -36
- package/generic/carousel/ui/ui-carousel-helm/src/lib/hlm-carousel.ts +0 -105
- package/generic/dialog/dialog.component.css +0 -5
- package/generic/dialog/dialog.component.html +0 -3
- package/generic/dialog/dialog.component.ts +0 -20
- package/generic/dialog/dialog.stories.ts +0 -14
- package/generic/dialog/index.ts +0 -1
- package/generic/dialog/libs/ui-dialog-helm/src/index.ts +0 -37
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.ts +0 -20
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.ts +0 -56
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.ts +0 -17
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.ts +0 -19
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.ts +0 -19
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.ts +0 -23
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.ts +0 -19
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.ts +0 -59
- package/generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.ts +0 -31
- package/generic/dialog/ng-package.json +0 -1
- package/generic/dialog/public-api.ts +0 -7
- package/generic/dialog/tsconfig.json +0 -7
- 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 +0 -1
- package/generic/dialog/ui/dialog-close-button/dialog-close-button.component.ts +0 -17
- package/generic/dialog/ui/dialog-footer/dialog-footer.component.css +0 -0
- package/generic/dialog/ui/dialog-footer/dialog-footer.component.html +0 -3
- package/generic/dialog/ui/dialog-footer/dialog-footer.component.ts +0 -11
- package/generic/dialog/ui/dialog-header/dialog-header.component.css +0 -0
- package/generic/dialog/ui/dialog-header/dialog-header.component.html +0 -8
- package/generic/dialog/ui/dialog-header/dialog-header.component.ts +0 -18
- package/generic/drawer/drawer.component.html +0 -1
- package/generic/drawer/drawer.component.ts +0 -8
- package/generic/drawer/drawer.service.ts +0 -8
- package/generic/drawer/drawer.stories.ts +0 -31
- package/generic/drawer/index.ts +0 -1
- package/generic/drawer/ng-package.json +0 -1
- package/generic/drawer/public-api.ts +0 -6
- package/generic/icon/icon.component.css +0 -7
- package/generic/icon/icon.component.html +0 -3
- package/generic/icon/icon.component.ts +0 -86
- package/generic/icon/icon.stories.ts +0 -16
- package/generic/icon/index.ts +0 -1
- package/generic/icon/lib/ui-icon-helm/src/index.ts +0 -11
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.token.ts +0 -20
- package/generic/icon/lib/ui-icon-helm/src/lib/hlm-icon.ts +0 -36
- package/generic/icon/ng-package.json +0 -1
- package/generic/icon/public-api.ts +0 -6
- package/generic/icon/tsconfig.json +0 -7
- package/generic/index.ts +0 -1
- package/generic/select/index.ts +0 -1
- package/generic/select/lib/hlm-select-content.ts +0 -29
- package/generic/select/lib/hlm-select-group.ts +0 -17
- package/generic/select/lib/hlm-select-label.ts +0 -26
- package/generic/select/lib/hlm-select-option.ts +0 -37
- package/generic/select/lib/hlm-select-scroll-down.ts +0 -24
- package/generic/select/lib/hlm-select-scroll-up.ts +0 -23
- package/generic/select/lib/hlm-select-trigger.ts +0 -53
- package/generic/select/lib/hlm-select-value.ts +0 -17
- package/generic/select/lib/hlm-select.ts +0 -15
- package/generic/select/lib/index.ts +0 -38
- package/generic/select/ng-package.json +0 -1
- package/generic/select/public-api.ts +0 -3
- package/generic/select/select.component.css +0 -65
- package/generic/select/select.component.html +0 -19
- package/generic/select/select.component.ts +0 -25
- package/generic/select/types.ts +0 -4
- package/ng-package.json +0 -10
- 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 +0 -35
- package/shared/apply-theme-variables/index.ts +0 -1
- package/shared/format-value.pipe.ts +0 -23
- package/shared/index.ts +0 -1
- package/shared/lib-provider/config-token.ts +0 -4
- package/shared/lib-provider/index.ts +0 -1
- package/shared/lib-provider/provide-sdc.ts +0 -24
- package/shared/lib-provider/public-api.ts +0 -1
- package/shared/ng-package.json +0 -1
- package/shared/public-api.ts +0 -6
- package/shared/screen-observer/index.ts +0 -2
- package/shared/screen-observer/provide-screen-observer.ts +0 -17
- package/shared/screen-observer/screen-observer.ts +0 -56
- package/shared/screen-observer/sizable-base.ts +0 -70
- package/shared/theme-provider/generic-theme.ts +0 -1
- package/shared/theme-provider/index.ts +0 -1
- package/shared/theme-provider/public-api.ts +0 -1
- package/shared/theme-provider/theme-provider.directive.ts +0 -17
- package/shared/themes/sdc.css +0 -153
- package/shared/types.ts +0 -18
- package/src/private-exports.ts +0 -1
- package/src/public-api.ts +0 -20
- package/tsconfig.json +0 -50
- package/tsconfig.lib.prod.json +0 -6
- package/tsconfig.spec.json +0 -15
- package/tsconfig.temp.json +0 -1
- package/utils/index.ts +0 -1
- package/utils/ng-package.json +0 -1
- package/utils/public-api.ts +0 -1
- package/utils/validate-styles-for-component.ts +0 -39
- /package/{dist/README.md → README.md} +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-checkbox.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-checkbox.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-datepicker.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-datepicker.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-input.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-input.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-radio.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-radio.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-table.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-backoffice-table.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart-item.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart-item.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-cart.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-legend.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-legend.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-loader.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-loader.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-map-loader.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-map-loader.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-neighbors.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-neighbors.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-popover.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-popover.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-stepper.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-stepper.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-ticket-info-item.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-dvm-ticket-info-item.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-add-digital-wallet.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-add-digital-wallet.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-braintree.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-braintree.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-button.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-button.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-dialog.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-dialog.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-drawer.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-drawer.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-icon.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-icon.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-select.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-generic-select.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-shared.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-shared.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-utils.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components-utils.mjs.map +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components.mjs +0 -0
- /package/{dist/fesm2022 → fesm2022}/3ddv-software-division-components.mjs.map +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-backoffice-checkbox.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-backoffice-datepicker.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-backoffice-input.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-backoffice-radio.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-backoffice-table.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-cart-item.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-cart.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-legend.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-loader.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-map-loader.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-neighbors.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-popover.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-stepper.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-dvm-ticket-info-item.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-generic-add-digital-wallet.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-generic-braintree.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-generic-button.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-generic-dialog.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-generic-drawer.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-generic-icon.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-generic-select.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-shared.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components-utils.d.ts +0 -0
- /package/{dist/types → types}/3ddv-software-division-components.d.ts +0 -0
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
import { ThemeClass } from '@3ddv/software-division-components/shared';
|
|
2
|
-
import { Component, computed, input, OnDestroy, OnInit, signal } from '@angular/core';
|
|
3
|
-
import { FormControl, FormSubmittedEvent, ReactiveFormsModule, ValidationErrors } from '@angular/forms';
|
|
4
|
-
import { Subscription } from 'rxjs';
|
|
5
|
-
|
|
6
|
-
export type CheckboxStyleClasses = ReturnType<(typeof CheckboxComponent.prototype)['styleClass']>;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* A customizable checkbox component.
|
|
10
|
-
*
|
|
11
|
-
* This component supports various configurations and exposes all Spartan UI checkbox functionality.
|
|
12
|
-
* All HTML checkbox attributes and events are automatically forwarded to the inner checkbox element.
|
|
13
|
-
*
|
|
14
|
-
* @since 1.0.0-alpha.1
|
|
15
|
-
*/
|
|
16
|
-
@Component({
|
|
17
|
-
standalone: true,
|
|
18
|
-
selector: 'sdc-checkbox',
|
|
19
|
-
styleUrls: ['./checkbox.component.css'],
|
|
20
|
-
templateUrl: './checkbox.component.html',
|
|
21
|
-
imports: [ReactiveFormsModule],
|
|
22
|
-
})
|
|
23
|
-
export class CheckboxComponent implements OnInit, OnDestroy {
|
|
24
|
-
private readonly allowedVariants = [
|
|
25
|
-
'variant-primary',
|
|
26
|
-
'variant-secondary',
|
|
27
|
-
'variant-alternative',
|
|
28
|
-
'variant-success',
|
|
29
|
-
'variant-warning',
|
|
30
|
-
'variant-danger',
|
|
31
|
-
] as const;
|
|
32
|
-
private readonly allowedSizes = ['size-sm', 'size-md', 'size-lg', 'size-xl'] as const;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The current theme applied to the component.
|
|
36
|
-
*/
|
|
37
|
-
public readonly theme = input<ThemeClass>('theme-sdc');
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Predefined styles to apply to the component.
|
|
41
|
-
* Can be a single class or multiple classes from different categories.
|
|
42
|
-
*/
|
|
43
|
-
public readonly styleClass = input<((typeof this.allowedVariants)[number] | (typeof this.allowedSizes)[number])[]>(
|
|
44
|
-
[]
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
// Computed signal that validates and filters the styleClass checkbox
|
|
48
|
-
private readonly _validatedStyleClass = computed(() => {
|
|
49
|
-
const value = this.styleClass();
|
|
50
|
-
|
|
51
|
-
if (!Array.isArray(value)) {
|
|
52
|
-
return [];
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const validValues = value.filter(style => {
|
|
56
|
-
return (
|
|
57
|
-
(this.allowedVariants as readonly string[]).includes(style) ||
|
|
58
|
-
(this.allowedSizes as readonly string[]).includes(style)
|
|
59
|
-
);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
const invalidValues = value.filter(style => {
|
|
63
|
-
return (
|
|
64
|
-
!(this.allowedVariants as readonly string[]).includes(style) &&
|
|
65
|
-
!(this.allowedSizes as readonly string[]).includes(style)
|
|
66
|
-
);
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
if (invalidValues.length > 0) {
|
|
70
|
-
throw new Error(
|
|
71
|
-
`CheckboxComponent: Invalid styleClass values ignored: ${invalidValues.join(', ')}. Allowed values: ${[
|
|
72
|
-
...this.allowedVariants,
|
|
73
|
-
...this.allowedSizes,
|
|
74
|
-
].join(', ')}`
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return validValues;
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Additional CSS classes to apply to the component.
|
|
83
|
-
*/
|
|
84
|
-
public readonly className = input<string>('');
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Whether the component is disabled.
|
|
88
|
-
*/
|
|
89
|
-
public readonly disabled = input<boolean>(false);
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* The label text to display above or to the left of the checkbox.
|
|
93
|
-
* Only visible when a value is provided.
|
|
94
|
-
*/
|
|
95
|
-
public readonly label = input.required<string>();
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* The position of the label relative to the checkbox.
|
|
99
|
-
*/
|
|
100
|
-
public readonly labelPosition = input<'left' | 'right'>('left');
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* The name of the form control.
|
|
104
|
-
*/
|
|
105
|
-
public readonly name = input.required<string>();
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* The FormControl instance to bind to this checkbox.
|
|
109
|
-
* This allows the component to access form state without circular dependencies.
|
|
110
|
-
*/
|
|
111
|
-
public readonly control = input.required<FormControl>();
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* The value of the checkbox.
|
|
115
|
-
*/
|
|
116
|
-
public readonly value = input.required<string>();
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Whether the checkbox is checked.
|
|
120
|
-
*/
|
|
121
|
-
public readonly isChecked = signal<boolean>(false);
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Computed class string that combines theme and user classes.
|
|
125
|
-
*/
|
|
126
|
-
protected readonly computedClass = computed(() => {
|
|
127
|
-
const themeClass = this.theme();
|
|
128
|
-
const styleClass = this._validatedStyleClass();
|
|
129
|
-
const className = this.className();
|
|
130
|
-
const labelClass = this.labelPosition() === 'left' ? 'sdc-checkbox-label-left' : 'sdc-checkbox-label-right';
|
|
131
|
-
const checkedClass = this.isChecked() ? 'sdc-checkbox-checked' : '';
|
|
132
|
-
return ['sdc-checkbox', themeClass, ...styleClass, className, labelClass, checkedClass].filter(Boolean).join(' ');
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Custom error message to override the validator's error message.
|
|
137
|
-
*/
|
|
138
|
-
public readonly errorMessage = input<string>('');
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Controls when errors are displayed.
|
|
142
|
-
* - 'after-submit': Show errors only after form submission (default)
|
|
143
|
-
* - 'always': Show errors immediately when validation fails
|
|
144
|
-
*/
|
|
145
|
-
public readonly errorDisplayMode = input<'always' | 'after-submit'>('after-submit');
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* The state of the form control.
|
|
149
|
-
*/
|
|
150
|
-
public readonly controlState = signal<{
|
|
151
|
-
invalid: boolean;
|
|
152
|
-
errors: ValidationErrors | null;
|
|
153
|
-
isFormSubmitted: boolean;
|
|
154
|
-
}>({ errors: null, invalid: false, isFormSubmitted: false });
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Computed signal to get the current error message.
|
|
158
|
-
*/
|
|
159
|
-
protected readonly currentErrorMessage = computed(() => {
|
|
160
|
-
const customMessage = this.errorMessage();
|
|
161
|
-
const hasErrors = Object.keys(this.controlState()?.errors ?? {}).length > 0;
|
|
162
|
-
|
|
163
|
-
if (hasErrors && customMessage && customMessage.trim().length > 0) {
|
|
164
|
-
return customMessage;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
// If no custom message, try to get validation error from the form control state
|
|
168
|
-
if (hasErrors) {
|
|
169
|
-
const firstErrorKey = Object.keys(this.controlState()?.errors ?? {})[0];
|
|
170
|
-
return this.getValidatorErrorMessage(firstErrorKey);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return '';
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Computed signal to determine if there's an error to display.
|
|
178
|
-
*/
|
|
179
|
-
protected readonly showError = computed(() => {
|
|
180
|
-
const errorMode = this.errorDisplayMode();
|
|
181
|
-
|
|
182
|
-
// For validation errors, respect the error display mode
|
|
183
|
-
if (this.controlState()?.invalid) {
|
|
184
|
-
if (errorMode === 'always') {
|
|
185
|
-
// Show errors when component is touched and invalid
|
|
186
|
-
return true;
|
|
187
|
-
} else if (errorMode === 'after-submit') {
|
|
188
|
-
// Show errors when form is submitted, regardless of touch/focus state
|
|
189
|
-
return this.controlState()?.isFormSubmitted;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
return false;
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Subscriptions to the control's value changes.
|
|
198
|
-
*/
|
|
199
|
-
private readonly subscriptions: (Subscription | undefined)[] = [];
|
|
200
|
-
|
|
201
|
-
ngOnInit(): void {
|
|
202
|
-
this.isChecked.set(this.control()?.value === this.value());
|
|
203
|
-
|
|
204
|
-
const formEventsSubscription = this.control()?.parent?.events.subscribe(event => {
|
|
205
|
-
// We do not reset this signal because it is used to show the errors
|
|
206
|
-
// When a form is submitted at least once, we want to show the errors
|
|
207
|
-
if (event instanceof FormSubmittedEvent) {
|
|
208
|
-
this.controlState.set({
|
|
209
|
-
...this.controlState(),
|
|
210
|
-
isFormSubmitted: true,
|
|
211
|
-
errors: this.control()?.errors || null,
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
// We add this because the statusChanges event is not triggered when the form is submitted
|
|
215
|
-
if (event.source.status === 'INVALID') {
|
|
216
|
-
this.controlState.set({ ...this.controlState(), invalid: true });
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
// Listen to changes on this specific checkbox's control
|
|
222
|
-
const valueChangesSubscription = this.control()?.valueChanges.subscribe(value => {
|
|
223
|
-
this.isChecked.set(value === this.value());
|
|
224
|
-
});
|
|
225
|
-
|
|
226
|
-
const statusChangesSubscription = this.control()?.statusChanges.subscribe(status => {
|
|
227
|
-
if (status === 'INVALID') {
|
|
228
|
-
this.controlState.set({ ...this.controlState(), invalid: true });
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
this.controlState.set({ ...this.controlState(), errors: this.control()?.errors || null });
|
|
232
|
-
});
|
|
233
|
-
|
|
234
|
-
this.subscriptions.push(formEventsSubscription, valueChangesSubscription, statusChangesSubscription);
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
ngOnDestroy(): void {
|
|
238
|
-
this.subscriptions.forEach(subscription => subscription?.unsubscribe());
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Gets the error message for a specific validator error.
|
|
243
|
-
*/
|
|
244
|
-
private getValidatorErrorMessage(errorKey: string): string {
|
|
245
|
-
switch (errorKey) {
|
|
246
|
-
case 'required':
|
|
247
|
-
return 'This field is required.';
|
|
248
|
-
default:
|
|
249
|
-
return 'This field is required.';
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './public-api';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{ "lib": { "entryFile": "public-api.ts" } }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './checkbox.component';
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
import { FormControl } from '@angular/forms';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/angular';
|
|
3
|
-
import { CheckboxComponent } from '../checkbox.component';
|
|
4
|
-
|
|
5
|
-
const meta: Meta<CheckboxComponent> = {
|
|
6
|
-
title: 'Backoffice/Checkbox',
|
|
7
|
-
component: CheckboxComponent,
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: 'centered',
|
|
10
|
-
},
|
|
11
|
-
tags: ['autodocs'],
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export default meta;
|
|
15
|
-
type Story = StoryObj<CheckboxComponent>;
|
|
16
|
-
|
|
17
|
-
// Basic checkbox with default settings
|
|
18
|
-
export const Default: Story = {
|
|
19
|
-
render: () => ({
|
|
20
|
-
props: {
|
|
21
|
-
formControl: new FormControl(false),
|
|
22
|
-
},
|
|
23
|
-
template: `
|
|
24
|
-
<sdc-checkbox
|
|
25
|
-
label="Accept terms and conditions"
|
|
26
|
-
name="terms"
|
|
27
|
-
value="accepted"
|
|
28
|
-
[control]="formControl"
|
|
29
|
-
/>
|
|
30
|
-
`,
|
|
31
|
-
}),
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// Checkbox group with multiple options
|
|
35
|
-
export const CheckboxGroup: Story = {
|
|
36
|
-
render: () => ({
|
|
37
|
-
props: {
|
|
38
|
-
formControl: new FormControl(['option1']),
|
|
39
|
-
},
|
|
40
|
-
template: `
|
|
41
|
-
<div style="display: flex; flex-direction: column; gap: 1rem;">
|
|
42
|
-
<sdc-checkbox
|
|
43
|
-
label="Option 1"
|
|
44
|
-
name="group1"
|
|
45
|
-
value="option1"
|
|
46
|
-
[control]="formControl"
|
|
47
|
-
/>
|
|
48
|
-
<sdc-checkbox
|
|
49
|
-
label="Option 2"
|
|
50
|
-
name="group1"
|
|
51
|
-
value="option2"
|
|
52
|
-
[control]="formControl"
|
|
53
|
-
/>
|
|
54
|
-
<sdc-checkbox
|
|
55
|
-
label="Option 3"
|
|
56
|
-
name="group1"
|
|
57
|
-
value="option3"
|
|
58
|
-
[control]="formControl"
|
|
59
|
-
/>
|
|
60
|
-
</div>
|
|
61
|
-
`,
|
|
62
|
-
}),
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// Checkbox with label on the right
|
|
66
|
-
export const LabelRight: Story = {
|
|
67
|
-
render: () => ({
|
|
68
|
-
props: {
|
|
69
|
-
formControl: new FormControl(false),
|
|
70
|
-
},
|
|
71
|
-
template: `
|
|
72
|
-
<sdc-checkbox
|
|
73
|
-
label="Checkbox with right label"
|
|
74
|
-
labelPosition="right"
|
|
75
|
-
name="right-label"
|
|
76
|
-
value="option1"
|
|
77
|
-
[control]="formControl"
|
|
78
|
-
/>
|
|
79
|
-
`,
|
|
80
|
-
}),
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
// Checkbox with different themes
|
|
84
|
-
export const ThemeVariations: Story = {
|
|
85
|
-
render: () => ({
|
|
86
|
-
template: `
|
|
87
|
-
<div style="display: flex; flex-direction: column; gap: 1rem;">
|
|
88
|
-
<sdc-checkbox
|
|
89
|
-
label="SDC Theme"
|
|
90
|
-
theme="theme-sdc"
|
|
91
|
-
name="theme-sdc"
|
|
92
|
-
value="sdc"
|
|
93
|
-
[control]="sdcControl"
|
|
94
|
-
/>
|
|
95
|
-
<sdc-checkbox
|
|
96
|
-
label="Backoffice Theme"
|
|
97
|
-
theme="theme-backoffice"
|
|
98
|
-
name="theme-backoffice"
|
|
99
|
-
value="backoffice"
|
|
100
|
-
[control]="backofficeControl"
|
|
101
|
-
/>
|
|
102
|
-
</div>
|
|
103
|
-
`,
|
|
104
|
-
props: {
|
|
105
|
-
sdcControl: new FormControl(false),
|
|
106
|
-
backofficeControl: new FormControl(false),
|
|
107
|
-
},
|
|
108
|
-
}),
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
// Checkbox with different style classes (variants and sizes)
|
|
112
|
-
export const StyleVariations: Story = {
|
|
113
|
-
render: () => ({
|
|
114
|
-
template: `
|
|
115
|
-
<div style="display: flex; flex-direction: column; gap: 1rem; width: 400px;">
|
|
116
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
117
|
-
<h4 style="margin: 0; color: #666;">Primary Variant</h4>
|
|
118
|
-
<sdc-checkbox
|
|
119
|
-
label="Primary Option"
|
|
120
|
-
[styleClass]="['variant-primary', 'size-md']"
|
|
121
|
-
name="primary-group"
|
|
122
|
-
value="primary"
|
|
123
|
-
[control]="primaryControl"
|
|
124
|
-
/>
|
|
125
|
-
</div>
|
|
126
|
-
|
|
127
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
128
|
-
<h4 style="margin: 0; color: #666;">Secondary Variant</h4>
|
|
129
|
-
<sdc-checkbox
|
|
130
|
-
label="Secondary Option"
|
|
131
|
-
[styleClass]="['variant-secondary', 'size-md']"
|
|
132
|
-
name="secondary-group"
|
|
133
|
-
value="secondary"
|
|
134
|
-
[control]="secondaryControl"
|
|
135
|
-
/>
|
|
136
|
-
</div>
|
|
137
|
-
|
|
138
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
139
|
-
<h4 style="margin: 0; color: #666;">Alternative Variant</h4>
|
|
140
|
-
<sdc-checkbox
|
|
141
|
-
label="Alternative Option"
|
|
142
|
-
[styleClass]="['variant-alternative', 'size-md']"
|
|
143
|
-
name="alternative-group"
|
|
144
|
-
value="alternative"
|
|
145
|
-
[control]="alternativeControl"
|
|
146
|
-
/>
|
|
147
|
-
</div>
|
|
148
|
-
|
|
149
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
150
|
-
<h4 style="margin: 0; color: #666;">Success Variant</h4>
|
|
151
|
-
<sdc-checkbox
|
|
152
|
-
label="Success Option"
|
|
153
|
-
[styleClass]="['variant-success', 'size-md']"
|
|
154
|
-
name="success-group"
|
|
155
|
-
value="success"
|
|
156
|
-
[control]="successControl"
|
|
157
|
-
/>
|
|
158
|
-
</div>
|
|
159
|
-
|
|
160
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
161
|
-
<h4 style="margin: 0; color: #666;">Warning Variant</h4>
|
|
162
|
-
<sdc-checkbox
|
|
163
|
-
label="Warning Option"
|
|
164
|
-
[styleClass]="['variant-warning', 'size-md']"
|
|
165
|
-
name="warning-group"
|
|
166
|
-
value="warning"
|
|
167
|
-
[control]="warningControl"
|
|
168
|
-
/>
|
|
169
|
-
</div>
|
|
170
|
-
|
|
171
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
172
|
-
<h4 style="margin: 0; color: #666;">Danger Variant</h4>
|
|
173
|
-
<sdc-checkbox
|
|
174
|
-
label="Danger Option"
|
|
175
|
-
[styleClass]="['variant-danger', 'size-md']"
|
|
176
|
-
name="danger-group"
|
|
177
|
-
value="danger"
|
|
178
|
-
[control]="dangerControl"
|
|
179
|
-
/>
|
|
180
|
-
</div>
|
|
181
|
-
</div>
|
|
182
|
-
`,
|
|
183
|
-
props: {
|
|
184
|
-
primaryControl: new FormControl(false),
|
|
185
|
-
secondaryControl: new FormControl(false),
|
|
186
|
-
alternativeControl: new FormControl(false),
|
|
187
|
-
successControl: new FormControl(false),
|
|
188
|
-
warningControl: new FormControl(false),
|
|
189
|
-
dangerControl: new FormControl(false),
|
|
190
|
-
},
|
|
191
|
-
}),
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
// Checkbox with different sizes
|
|
195
|
-
export const SizeVariations: Story = {
|
|
196
|
-
render: () => ({
|
|
197
|
-
template: `
|
|
198
|
-
<div style="display: flex; flex-direction: column; gap: 1rem; width: 400px;">
|
|
199
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
200
|
-
<h4 style="margin: 0; color: #666;">Small Size</h4>
|
|
201
|
-
<sdc-checkbox
|
|
202
|
-
label="Small Checkbox"
|
|
203
|
-
[styleClass]="['size-sm']"
|
|
204
|
-
name="size-sm"
|
|
205
|
-
value="small"
|
|
206
|
-
[control]="smallControl"
|
|
207
|
-
/>
|
|
208
|
-
</div>
|
|
209
|
-
|
|
210
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
211
|
-
<h4 style="margin: 0; color: #666;">Medium Size</h4>
|
|
212
|
-
<sdc-checkbox
|
|
213
|
-
label="Medium Checkbox"
|
|
214
|
-
[styleClass]="['size-md']"
|
|
215
|
-
name="size-md"
|
|
216
|
-
value="medium"
|
|
217
|
-
[control]="mediumControl"
|
|
218
|
-
/>
|
|
219
|
-
</div>
|
|
220
|
-
|
|
221
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
222
|
-
<h4 style="margin: 0; color: #666;">Large Size</h4>
|
|
223
|
-
<sdc-checkbox
|
|
224
|
-
label="Large Checkbox"
|
|
225
|
-
[styleClass]="['size-lg']"
|
|
226
|
-
name="size-lg"
|
|
227
|
-
value="large"
|
|
228
|
-
[control]="largeControl"
|
|
229
|
-
/>
|
|
230
|
-
</div>
|
|
231
|
-
|
|
232
|
-
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
|
|
233
|
-
<h4 style="margin: 0; color: #666;">Extra Large Size</h4>
|
|
234
|
-
<sdc-checkbox
|
|
235
|
-
label="Extra Large Checkbox"
|
|
236
|
-
[styleClass]="['size-xl']"
|
|
237
|
-
name="size-xl"
|
|
238
|
-
value="xl"
|
|
239
|
-
[control]="xlControl"
|
|
240
|
-
/>
|
|
241
|
-
</div>
|
|
242
|
-
</div>
|
|
243
|
-
`,
|
|
244
|
-
props: {
|
|
245
|
-
smallControl: new FormControl(false),
|
|
246
|
-
mediumControl: new FormControl(false),
|
|
247
|
-
largeControl: new FormControl(false),
|
|
248
|
-
xlControl: new FormControl(false),
|
|
249
|
-
},
|
|
250
|
-
}),
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
// Disabled checkbox
|
|
254
|
-
export const Disabled: Story = {
|
|
255
|
-
render: () => ({
|
|
256
|
-
props: {
|
|
257
|
-
formControl: new FormControl({ value: false, disabled: true }),
|
|
258
|
-
},
|
|
259
|
-
template: `
|
|
260
|
-
<sdc-checkbox
|
|
261
|
-
label="Disabled Checkbox"
|
|
262
|
-
name="disabled-group"
|
|
263
|
-
value="disabled"
|
|
264
|
-
[disabled]="true"
|
|
265
|
-
[control]="formControl"
|
|
266
|
-
/>
|
|
267
|
-
`,
|
|
268
|
-
}),
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
// Checked checkbox
|
|
272
|
-
export const Checked: Story = {
|
|
273
|
-
render: () => ({
|
|
274
|
-
props: {
|
|
275
|
-
formControl: new FormControl(true),
|
|
276
|
-
},
|
|
277
|
-
template: `
|
|
278
|
-
<sdc-checkbox
|
|
279
|
-
label="Checked Checkbox"
|
|
280
|
-
name="checked-group"
|
|
281
|
-
value="checked"
|
|
282
|
-
[control]="formControl"
|
|
283
|
-
/>
|
|
284
|
-
`,
|
|
285
|
-
}),
|
|
286
|
-
};
|
|
287
|
-
|
|
288
|
-
// Checkbox with custom className
|
|
289
|
-
export const CustomClassName: Story = {
|
|
290
|
-
render: () => ({
|
|
291
|
-
props: {
|
|
292
|
-
formControl: new FormControl(false),
|
|
293
|
-
},
|
|
294
|
-
template: `
|
|
295
|
-
<sdc-checkbox
|
|
296
|
-
label="Custom Styled Checkbox"
|
|
297
|
-
name="custom-group"
|
|
298
|
-
value="custom"
|
|
299
|
-
className="border-2 border-blue-500 p-2 rounded"
|
|
300
|
-
[control]="formControl"
|
|
301
|
-
/>
|
|
302
|
-
`,
|
|
303
|
-
}),
|
|
304
|
-
};
|