flowbite-angular 0.0.2 → 1.0.0-alpha.1
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/{esm2020 → esm2022}/flowbite-angular.mjs +2 -2
- package/esm2022/lib/common/flowbite.theme.init.mjs +318 -0
- package/esm2022/lib/common/index.mjs +3 -0
- package/esm2022/lib/common/type-definitions/colors/flowbite.colors.mjs +2 -0
- package/esm2022/lib/common/type-definitions/colors/flowbite.gradient-colors.mjs +2 -0
- package/esm2022/lib/common/type-definitions/colors/flowbite.gradient-duo-tone-colors.mjs +2 -0
- package/esm2022/lib/common/type-definitions/colors/index.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.boolean.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.class.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.combination.mjs +5 -0
- package/esm2022/lib/common/type-definitions/flowbite.content-positions.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.deep-partial.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.heading-levels.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.positions.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.router-link-parameter.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.sizes.mjs +2 -0
- package/esm2022/lib/common/type-definitions/flowbite.themes.mjs +2 -0
- package/esm2022/lib/common/type-definitions/index.mjs +2 -0
- package/esm2022/lib/components/accordion/accordion-content.component.mjs +46 -0
- package/esm2022/lib/components/accordion/accordion-content.theme.mjs +19 -0
- package/esm2022/lib/components/accordion/accordion-content.theme.service.mjs +17 -0
- package/esm2022/lib/components/accordion/accordion-panel.component.mjs +57 -0
- package/esm2022/lib/components/accordion/accordion-panel.theme.mjs +7 -0
- package/esm2022/lib/components/accordion/accordion-panel.theme.service.mjs +17 -0
- package/esm2022/lib/components/accordion/accordion-title.component.mjs +70 -0
- package/esm2022/lib/components/accordion/accordion-title.theme.mjs +26 -0
- package/esm2022/lib/components/accordion/accordion-title.theme.service.mjs +18 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +49 -0
- package/esm2022/lib/components/accordion/accordion.theme.mjs +19 -0
- package/esm2022/lib/components/accordion/accordion.theme.service.mjs +17 -0
- package/esm2022/lib/components/accordion/index.mjs +13 -0
- package/esm2022/lib/components/alert/alert.component.mjs +99 -0
- package/esm2022/lib/components/alert/alert.theme.mjs +34 -0
- package/esm2022/lib/components/alert/alert.theme.service.mjs +18 -0
- package/esm2022/lib/components/alert/index.mjs +4 -0
- package/esm2022/lib/components/badge/badge.component.mjs +47 -0
- package/esm2022/lib/components/badge/badge.theme.mjs +34 -0
- package/esm2022/lib/components/badge/badge.theme.service.mjs +17 -0
- package/esm2022/lib/components/badge/index.mjs +4 -0
- package/esm2022/lib/components/base-component.directive.mjs +34 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-item.component.mjs +57 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-item.theme.mjs +18 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-item.theme.service.mjs +18 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +46 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.theme.mjs +7 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.theme.service.mjs +17 -0
- package/esm2022/lib/components/breadcrumb/index.mjs +7 -0
- package/esm2022/lib/components/button/button.component.mjs +81 -0
- package/esm2022/lib/components/button/button.theme.mjs +113 -0
- package/esm2022/lib/components/button/button.theme.service.mjs +24 -0
- package/esm2022/lib/components/button/index.mjs +4 -0
- package/esm2022/lib/components/dark-theme-toggle/dark-theme-toggle.component.mjs +86 -0
- package/esm2022/lib/components/dark-theme-toggle/dark-theme-toggle.theme.mjs +7 -0
- package/esm2022/lib/components/dark-theme-toggle/dark-theme-toggle.theme.service.mjs +17 -0
- package/esm2022/lib/components/dark-theme-toggle/index.mjs +4 -0
- package/esm2022/lib/components/dropdown/dropdown-divider.component.mjs +34 -0
- package/esm2022/lib/components/dropdown/dropdown-divider.theme.mjs +7 -0
- package/esm2022/lib/components/dropdown/dropdown-divider.theme.service.mjs +17 -0
- package/esm2022/lib/components/dropdown/dropdown-header.component.mjs +44 -0
- package/esm2022/lib/components/dropdown/dropdown-header.theme.mjs +10 -0
- package/esm2022/lib/components/dropdown/dropdown-header.theme.service.mjs +18 -0
- package/esm2022/lib/components/dropdown/dropdown-item.component.mjs +34 -0
- package/esm2022/lib/components/dropdown/dropdown-item.theme.mjs +6 -0
- package/esm2022/lib/components/dropdown/dropdown-item.theme.service.mjs +17 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +161 -0
- package/esm2022/lib/components/dropdown/dropdown.theme.mjs +32 -0
- package/esm2022/lib/components/dropdown/dropdown.theme.service.mjs +22 -0
- package/esm2022/lib/components/dropdown/index.mjs +13 -0
- package/esm2022/lib/components/form-field/directives/addon.directive.mjs +32 -0
- package/esm2022/lib/components/form-field/directives/addon.directive.theme.mjs +8 -0
- package/esm2022/lib/components/form-field/directives/addon.directive.theme.service.mjs +17 -0
- package/esm2022/lib/components/form-field/directives/base-input.directive.mjs +26 -0
- package/esm2022/lib/components/form-field/directives/helper.directive.mjs +34 -0
- package/esm2022/lib/components/form-field/directives/helper.directive.theme.mjs +12 -0
- package/esm2022/lib/components/form-field/directives/helper.directive.theme.service.mjs +17 -0
- package/esm2022/lib/components/form-field/directives/icon.directive.mjs +32 -0
- package/esm2022/lib/components/form-field/directives/icon.directive.theme.mjs +8 -0
- package/esm2022/lib/components/form-field/directives/icon.directive.theme.service.mjs +17 -0
- package/esm2022/lib/components/form-field/directives/index.mjs +17 -0
- package/esm2022/lib/components/form-field/directives/input.directive.mjs +41 -0
- package/esm2022/lib/components/form-field/directives/input.directive.theme.mjs +79 -0
- package/esm2022/lib/components/form-field/directives/input.directive.theme.service.mjs +24 -0
- package/esm2022/lib/components/form-field/directives/label.directive.mjs +41 -0
- package/esm2022/lib/components/form-field/directives/label.directive.theme.mjs +51 -0
- package/esm2022/lib/components/form-field/directives/label.directive.theme.service.mjs +21 -0
- package/esm2022/lib/components/form-field/form-field.component.mjs +40 -0
- package/esm2022/lib/components/form-field/form-field.theme.mjs +8 -0
- package/esm2022/lib/components/form-field/form-field.theme.service.mjs +17 -0
- package/esm2022/lib/components/form-field/index.mjs +5 -0
- package/esm2022/lib/components/icon/icon-registry.mjs +159 -0
- package/esm2022/lib/components/icon/icon.component.mjs +67 -0
- package/esm2022/lib/components/icon/index.mjs +4 -0
- package/esm2022/lib/components/icon/trusted-types.mjs +21 -0
- package/esm2022/lib/components/index.mjs +16 -0
- package/esm2022/lib/components/indicators/index.mjs +4 -0
- package/esm2022/lib/components/indicators/indicators.component.mjs +54 -0
- package/esm2022/lib/components/indicators/indicators.theme.mjs +68 -0
- package/esm2022/lib/components/indicators/indicators.theme.service.mjs +17 -0
- package/esm2022/lib/components/modal/index.mjs +13 -0
- package/esm2022/lib/components/modal/modal-body.component.mjs +34 -0
- package/esm2022/lib/components/modal/modal-body.theme.mjs +7 -0
- package/esm2022/lib/components/modal/modal-body.theme.service.mjs +17 -0
- package/esm2022/lib/components/modal/modal-footer.component.mjs +34 -0
- package/esm2022/lib/components/modal/modal-footer.theme.mjs +7 -0
- package/esm2022/lib/components/modal/modal-footer.theme.service.mjs +17 -0
- package/esm2022/lib/components/modal/modal-header.component.mjs +70 -0
- package/esm2022/lib/components/modal/modal-header.theme.mjs +13 -0
- package/esm2022/lib/components/modal/modal-header.theme.service.mjs +19 -0
- package/esm2022/lib/components/modal/modal.component.mjs +146 -0
- package/esm2022/lib/components/modal/modal.theme.mjs +33 -0
- package/esm2022/lib/components/modal/modal.theme.service.mjs +20 -0
- package/esm2022/lib/components/navbar/index.mjs +19 -0
- package/esm2022/lib/components/navbar/navbar-brand.component.mjs +34 -0
- package/esm2022/lib/components/navbar/navbar-brand.theme.mjs +7 -0
- package/esm2022/lib/components/navbar/navbar-brand.theme.service.mjs +17 -0
- package/esm2022/lib/components/navbar/navbar-content.component.mjs +45 -0
- package/esm2022/lib/components/navbar/navbar-content.theme.mjs +14 -0
- package/esm2022/lib/components/navbar/navbar-content.theme.service.mjs +18 -0
- package/esm2022/lib/components/navbar/navbar-icon-button.component.mjs +42 -0
- package/esm2022/lib/components/navbar/navbar-icon-button.theme.mjs +15 -0
- package/esm2022/lib/components/navbar/navbar-icon-button.theme.service.mjs +17 -0
- package/esm2022/lib/components/navbar/navbar-item.component.mjs +47 -0
- package/esm2022/lib/components/navbar/navbar-item.theme.mjs +11 -0
- package/esm2022/lib/components/navbar/navbar-item.theme.service.mjs +17 -0
- package/esm2022/lib/components/navbar/navbar-toggle.component.mjs +58 -0
- package/esm2022/lib/components/navbar/navbar-toggle.theme.mjs +7 -0
- package/esm2022/lib/components/navbar/navbar-toggle.theme.service.mjs +17 -0
- package/esm2022/lib/components/navbar/navbar.component.mjs +62 -0
- package/esm2022/lib/components/navbar/navbar.theme.mjs +23 -0
- package/esm2022/lib/components/navbar/navbar.theme.service.mjs +17 -0
- package/esm2022/lib/components/scroll-top/index.mjs +4 -0
- package/esm2022/lib/components/scroll-top/scroll-top.component.mjs +54 -0
- package/esm2022/lib/components/scroll-top/scroll-top.theme.mjs +27 -0
- package/esm2022/lib/components/scroll-top/scroll-top.theme.service.mjs +17 -0
- package/esm2022/lib/components/sidebar/index.mjs +19 -0
- package/esm2022/lib/components/sidebar/sidebar-item-group.component.mjs +85 -0
- package/esm2022/lib/components/sidebar/sidebar-item-group.theme.mjs +18 -0
- package/esm2022/lib/components/sidebar/sidebar-item-group.theme.service.mjs +18 -0
- package/esm2022/lib/components/sidebar/sidebar-item.component.mjs +85 -0
- package/esm2022/lib/components/sidebar/sidebar-item.theme.mjs +18 -0
- package/esm2022/lib/components/sidebar/sidebar-item.theme.service.mjs +18 -0
- package/esm2022/lib/components/sidebar/sidebar-menu.component.mjs +49 -0
- package/esm2022/lib/components/sidebar/sidebar-menu.theme.mjs +24 -0
- package/esm2022/lib/components/sidebar/sidebar-menu.theme.service.mjs +17 -0
- package/esm2022/lib/components/sidebar/sidebar-page-content.component.mjs +36 -0
- package/esm2022/lib/components/sidebar/sidebar-page-content.theme.mjs +12 -0
- package/esm2022/lib/components/sidebar/sidebar-page-content.theme.service.mjs +17 -0
- package/esm2022/lib/components/sidebar/sidebar-toggle.component.mjs +53 -0
- package/esm2022/lib/components/sidebar/sidebar-toggle.theme.mjs +18 -0
- package/esm2022/lib/components/sidebar/sidebar-toggle.theme.service.mjs +17 -0
- package/esm2022/lib/components/sidebar/sidebar.component.mjs +61 -0
- package/esm2022/lib/components/sidebar/sidebar.theme.mjs +11 -0
- package/esm2022/lib/components/sidebar/sidebar.theme.service.mjs +17 -0
- package/esm2022/lib/directives/flowbite-router-link-active.directive.mjs +51 -0
- package/esm2022/lib/directives/flowbite-router-link.directive.mjs +44 -0
- package/esm2022/lib/directives/index.mjs +3 -0
- package/esm2022/lib/pipes/index.mjs +2 -0
- package/esm2022/lib/pipes/sanitize-html/sanitize-html.pipe.mjs +32 -0
- package/esm2022/lib/services/flowbite.theme.service.mjs +16 -0
- package/esm2022/lib/services/index.mjs +4 -0
- package/esm2022/lib/services/signal-store.service.mjs +61 -0
- package/esm2022/lib/services/state/index.mjs +2 -0
- package/esm2022/lib/services/state/theme.state.mjs +2 -0
- package/esm2022/lib/utils/boolean.util.mjs +10 -0
- package/esm2022/lib/utils/directives/index.mjs +3 -0
- package/esm2022/lib/utils/directives/inputs/index.mjs +3 -0
- package/esm2022/lib/utils/directives/inputs/router-link-active.input.mjs +8 -0
- package/esm2022/lib/utils/directives/inputs/router-link.inputs.mjs +20 -0
- package/esm2022/lib/utils/directives/outputs/index.mjs +3 -0
- package/esm2022/lib/utils/directives/outputs/router-link-active.output.mjs +8 -0
- package/esm2022/lib/utils/directives/outputs/router-link.output.mjs +8 -0
- package/esm2022/lib/utils/icon.list.mjs +39 -0
- package/esm2022/lib/utils/id.generator.mjs +81 -0
- package/esm2022/lib/utils/index.mjs +9 -0
- package/esm2022/lib/utils/theme/clone-deep.mjs +18 -0
- package/esm2022/lib/utils/theme/create-class.mjs +10 -0
- package/esm2022/lib/utils/theme/create-theme.mjs +10 -0
- package/esm2022/lib/utils/theme/is-object.mjs +10 -0
- package/esm2022/lib/utils/theme/merge-theme.mjs +27 -0
- package/esm2022/lib/utils/theme/to-string.mjs +10 -0
- package/esm2022/public-api.mjs +7 -0
- package/fesm2022/flowbite-angular.mjs +4326 -0
- package/fesm2022/flowbite-angular.mjs.map +1 -0
- package/index.d.ts +5 -4
- package/lib/common/flowbite.theme.init.d.ts +9 -0
- package/lib/common/index.d.ts +2 -0
- package/lib/common/type-definitions/colors/flowbite.colors.d.ts +19 -0
- package/lib/common/type-definitions/colors/flowbite.gradient-colors.d.ts +11 -0
- package/lib/common/type-definitions/colors/flowbite.gradient-duo-tone-colors.d.ts +12 -0
- package/lib/common/type-definitions/colors/index.d.ts +3 -0
- package/lib/common/type-definitions/flowbite.boolean.d.ts +7 -0
- package/lib/common/type-definitions/flowbite.class.d.ts +6 -0
- package/lib/common/type-definitions/flowbite.combination.d.ts +8 -0
- package/lib/common/type-definitions/flowbite.content-positions.d.ts +6 -0
- package/lib/common/type-definitions/flowbite.deep-partial.d.ts +6 -0
- package/lib/common/type-definitions/flowbite.heading-levels.d.ts +4 -0
- package/lib/common/type-definitions/flowbite.positions.d.ts +14 -0
- package/lib/common/type-definitions/flowbite.router-link-parameter.d.ts +5 -0
- package/lib/common/type-definitions/flowbite.sizes.d.ts +10 -0
- package/lib/common/type-definitions/flowbite.themes.d.ts +4 -0
- package/lib/common/type-definitions/index.d.ts +11 -0
- package/lib/components/accordion/accordion-content.component.d.ts +32 -0
- package/lib/components/accordion/accordion-content.theme.d.ts +16 -0
- package/lib/components/accordion/accordion-content.theme.service.d.ts +8 -0
- package/lib/components/accordion/accordion-panel.component.d.ts +27 -0
- package/lib/components/accordion/accordion-panel.theme.d.ts +11 -0
- package/lib/components/accordion/accordion-panel.theme.service.d.ts +9 -0
- package/lib/components/accordion/accordion-title.component.d.ts +46 -0
- package/lib/components/accordion/accordion-title.theme.d.ts +24 -0
- package/lib/components/accordion/accordion-title.theme.service.d.ts +8 -0
- package/lib/components/accordion/accordion.component.d.ts +35 -0
- package/lib/components/accordion/accordion.theme.d.ts +21 -0
- package/lib/components/accordion/accordion.theme.service.d.ts +8 -0
- package/lib/components/accordion/index.d.ts +16 -0
- package/lib/components/alert/alert.component.d.ts +53 -12
- package/lib/components/alert/alert.theme.d.ts +27 -0
- package/lib/components/alert/alert.theme.service.d.ts +8 -0
- package/lib/components/alert/index.d.ts +4 -1
- package/lib/components/badge/badge.component.d.ts +50 -10
- package/lib/components/badge/badge.theme.d.ts +32 -0
- package/lib/components/badge/badge.theme.service.d.ts +8 -0
- package/lib/components/badge/index.d.ts +4 -1
- package/lib/components/base-component.directive.d.ts +19 -0
- package/lib/components/breadcrumb/breadcrumb-item.component.d.ts +39 -0
- package/lib/components/breadcrumb/breadcrumb-item.theme.d.ts +22 -0
- package/lib/components/breadcrumb/breadcrumb-item.theme.service.d.ts +8 -0
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +22 -0
- package/lib/components/breadcrumb/breadcrumb.theme.d.ts +14 -0
- package/lib/components/breadcrumb/breadcrumb.theme.service.d.ts +8 -0
- package/lib/components/breadcrumb/index.d.ts +8 -0
- package/lib/components/button/button.component.d.ts +110 -0
- package/lib/components/button/button.theme.d.ts +56 -0
- package/lib/components/button/button.theme.service.d.ts +8 -0
- package/lib/components/button/index.d.ts +4 -0
- package/lib/components/dark-theme-toggle/dark-theme-toggle.component.d.ts +21 -9
- package/lib/components/dark-theme-toggle/dark-theme-toggle.theme.d.ts +11 -0
- package/lib/components/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +8 -0
- package/lib/components/dark-theme-toggle/index.d.ts +4 -1
- package/lib/components/dropdown/dropdown-divider.component.d.ts +13 -0
- package/lib/components/dropdown/dropdown-divider.theme.d.ts +11 -0
- package/lib/components/dropdown/dropdown-divider.theme.service.d.ts +8 -0
- package/lib/components/dropdown/dropdown-header.component.d.ts +13 -0
- package/lib/components/dropdown/dropdown-header.theme.d.ts +16 -0
- package/lib/components/dropdown/dropdown-header.theme.service.d.ts +8 -0
- package/lib/components/dropdown/dropdown-item.component.d.ts +17 -0
- package/lib/components/dropdown/dropdown-item.theme.d.ts +11 -0
- package/lib/components/dropdown/dropdown-item.theme.service.d.ts +8 -0
- package/lib/components/dropdown/dropdown.component.d.ts +71 -0
- package/lib/components/dropdown/dropdown.theme.d.ts +44 -0
- package/lib/components/dropdown/dropdown.theme.service.d.ts +8 -0
- package/lib/components/dropdown/index.d.ts +16 -0
- package/lib/components/form-field/directives/addon.directive.d.ts +13 -0
- package/lib/components/form-field/directives/addon.directive.theme.d.ts +10 -0
- package/lib/components/form-field/directives/addon.directive.theme.service.d.ts +8 -0
- package/lib/components/form-field/directives/base-input.directive.d.ts +14 -0
- package/lib/components/form-field/directives/helper.directive.d.ts +18 -0
- package/lib/components/form-field/directives/helper.directive.theme.d.ts +13 -0
- package/lib/components/form-field/directives/helper.directive.theme.service.d.ts +8 -0
- package/lib/components/form-field/directives/icon.directive.d.ts +13 -0
- package/lib/components/form-field/directives/icon.directive.theme.d.ts +10 -0
- package/lib/components/form-field/directives/icon.directive.theme.service.d.ts +8 -0
- package/lib/components/form-field/directives/index.d.ts +21 -0
- package/lib/components/form-field/directives/input.directive.d.ts +100 -0
- package/lib/components/form-field/directives/input.directive.theme.d.ts +24 -0
- package/lib/components/form-field/directives/input.directive.theme.service.d.ts +8 -0
- package/lib/components/form-field/directives/label.directive.d.ts +62 -0
- package/lib/components/form-field/directives/label.directive.theme.d.ts +20 -0
- package/lib/components/form-field/directives/label.directive.theme.service.d.ts +8 -0
- package/lib/components/form-field/form-field.component.d.ts +20 -0
- package/lib/components/form-field/form-field.theme.d.ts +45 -0
- package/lib/components/form-field/form-field.theme.service.d.ts +8 -0
- package/lib/components/form-field/index.d.ts +5 -0
- package/lib/components/icon/icon-registry.d.ts +45 -0
- package/lib/components/icon/icon.component.d.ts +22 -0
- package/lib/components/icon/index.d.ts +5 -0
- package/lib/components/icon/trusted-types.d.ts +15 -0
- package/lib/components/index.d.ts +10 -0
- package/lib/components/indicators/index.d.ts +4 -0
- package/lib/components/indicators/indicators.component.d.ts +92 -0
- package/lib/components/indicators/indicators.theme.d.ts +43 -0
- package/lib/components/indicators/indicators.theme.service.d.ts +8 -0
- package/lib/components/modal/index.d.ts +16 -0
- package/lib/components/modal/modal-body.component.d.ts +17 -0
- package/lib/components/modal/modal-body.theme.d.ts +11 -0
- package/lib/components/modal/modal-body.theme.service.d.ts +8 -0
- package/lib/components/modal/modal-footer.component.d.ts +17 -0
- package/lib/components/modal/modal-footer.theme.d.ts +11 -0
- package/lib/components/modal/modal-footer.theme.service.d.ts +8 -0
- package/lib/components/modal/modal-header.component.d.ts +29 -0
- package/lib/components/modal/modal-header.theme.d.ts +20 -0
- package/lib/components/modal/modal-header.theme.service.d.ts +8 -0
- package/lib/components/modal/modal.component.d.ts +73 -0
- package/lib/components/modal/modal.theme.d.ts +39 -0
- package/lib/components/modal/modal.theme.service.d.ts +8 -0
- package/lib/components/navbar/index.d.ts +24 -1
- package/lib/components/navbar/navbar-brand.component.d.ts +17 -0
- package/lib/components/navbar/navbar-brand.theme.d.ts +11 -0
- package/lib/components/navbar/navbar-brand.theme.service.d.ts +8 -0
- package/lib/components/navbar/navbar-content.component.d.ts +27 -0
- package/lib/components/navbar/navbar-content.theme.d.ts +18 -0
- package/lib/components/navbar/navbar-content.theme.service.d.ts +8 -0
- package/lib/components/navbar/navbar-icon-button.component.d.ts +27 -0
- package/lib/components/navbar/navbar-icon-button.theme.d.ts +14 -0
- package/lib/components/navbar/navbar-icon-button.theme.service.d.ts +8 -0
- package/lib/components/navbar/navbar-item.component.d.ts +29 -0
- package/lib/components/navbar/navbar-item.theme.d.ts +15 -0
- package/lib/components/navbar/navbar-item.theme.service.d.ts +8 -0
- package/lib/components/navbar/navbar-toggle.component.d.ts +23 -0
- package/lib/components/navbar/navbar-toggle.theme.d.ts +11 -0
- package/lib/components/navbar/navbar-toggle.theme.service.d.ts +8 -0
- package/lib/components/navbar/navbar.component.d.ts +45 -6
- package/lib/components/navbar/navbar.theme.d.ts +24 -0
- package/lib/components/navbar/navbar.theme.service.d.ts +8 -0
- package/lib/components/scroll-top/index.d.ts +4 -0
- package/lib/components/scroll-top/scroll-top.component.d.ts +46 -0
- package/lib/components/scroll-top/scroll-top.theme.d.ts +21 -0
- package/lib/components/scroll-top/scroll-top.theme.service.d.ts +8 -0
- package/lib/components/sidebar/index.d.ts +24 -3
- package/lib/components/sidebar/sidebar-item-group.component.d.ts +41 -2
- package/lib/components/sidebar/sidebar-item-group.theme.d.ts +19 -0
- package/lib/components/sidebar/sidebar-item-group.theme.service.d.ts +8 -0
- package/lib/components/sidebar/sidebar-item.component.d.ts +38 -8
- package/lib/components/sidebar/sidebar-item.theme.d.ts +22 -0
- package/lib/components/sidebar/sidebar-item.theme.service.d.ts +8 -0
- package/lib/components/sidebar/sidebar-menu.component.d.ts +43 -0
- package/lib/components/sidebar/sidebar-menu.theme.d.ts +18 -0
- package/lib/components/sidebar/sidebar-menu.theme.service.d.ts +8 -0
- package/lib/components/sidebar/sidebar-page-content.component.d.ts +22 -0
- package/lib/components/sidebar/sidebar-page-content.theme.d.ts +15 -0
- package/lib/components/sidebar/sidebar-page-content.theme.service.d.ts +8 -0
- package/lib/components/sidebar/sidebar-toggle.component.d.ts +40 -0
- package/lib/components/sidebar/sidebar-toggle.theme.d.ts +19 -0
- package/lib/components/sidebar/sidebar-toggle.theme.service.d.ts +8 -0
- package/lib/components/sidebar/sidebar.component.d.ts +30 -7
- package/lib/components/sidebar/sidebar.theme.d.ts +25 -0
- package/lib/components/sidebar/sidebar.theme.service.d.ts +8 -0
- package/lib/directives/flowbite-router-link-active.directive.d.ts +25 -0
- package/lib/directives/flowbite-router-link.directive.d.ts +16 -0
- package/lib/directives/index.d.ts +2 -0
- package/lib/pipes/index.d.ts +1 -1
- package/lib/pipes/sanitize-html/sanitize-html.pipe.d.ts +14 -4
- package/lib/services/flowbite.theme.service.d.ts +10 -0
- package/lib/services/index.d.ts +3 -2
- package/lib/services/signal-store.service.d.ts +46 -0
- package/lib/services/state/index.d.ts +1 -0
- package/lib/services/state/theme.state.d.ts +4 -0
- package/lib/utils/boolean.util.d.ts +8 -0
- package/lib/utils/directives/index.d.ts +2 -0
- package/lib/utils/directives/inputs/index.d.ts +2 -0
- package/lib/utils/directives/inputs/router-link-active.input.d.ts +8 -0
- package/lib/utils/directives/inputs/router-link.inputs.d.ts +8 -0
- package/lib/utils/directives/outputs/index.d.ts +2 -0
- package/lib/utils/directives/outputs/router-link-active.output.d.ts +8 -0
- package/lib/utils/directives/outputs/router-link.output.d.ts +8 -0
- package/lib/utils/icon.list.d.ts +7 -0
- package/lib/utils/id.generator.d.ts +59 -0
- package/lib/utils/index.d.ts +8 -0
- package/lib/utils/theme/clone-deep.d.ts +7 -0
- package/lib/utils/theme/create-class.d.ts +7 -0
- package/lib/utils/theme/create-theme.d.ts +7 -0
- package/lib/utils/theme/is-object.d.ts +7 -0
- package/lib/utils/theme/merge-theme.d.ts +8 -0
- package/lib/utils/theme/to-string.d.ts +7 -0
- package/package.json +11 -25
- package/public-api.d.ts +6 -0
- package/LICENSE +0 -21
- package/README.md +0 -376
- package/esm2020/index.mjs +0 -5
- package/esm2020/lib/components/alert/alert.component.mjs +0 -128
- package/esm2020/lib/components/alert/index.mjs +0 -2
- package/esm2020/lib/components/badge/badge.component.mjs +0 -77
- package/esm2020/lib/components/badge/index.mjs +0 -2
- package/esm2020/lib/components/dark-theme-toggle/dark-theme-toggle.component.mjs +0 -122
- package/esm2020/lib/components/dark-theme-toggle/index.mjs +0 -2
- package/esm2020/lib/components/index.mjs +0 -6
- package/esm2020/lib/components/navbar/index.mjs +0 -2
- package/esm2020/lib/components/navbar/navbar.component.mjs +0 -49
- package/esm2020/lib/components/sidebar/index.mjs +0 -4
- package/esm2020/lib/components/sidebar/sidebar-item-group.component.mjs +0 -18
- package/esm2020/lib/components/sidebar/sidebar-item.component.mjs +0 -73
- package/esm2020/lib/components/sidebar/sidebar.component.mjs +0 -50
- package/esm2020/lib/flowbite.module.mjs +0 -45
- package/esm2020/lib/pipes/index.mjs +0 -2
- package/esm2020/lib/pipes/sanitize-html/sanitize-html.pipe.mjs +0 -21
- package/esm2020/lib/services/index.mjs +0 -3
- package/esm2020/lib/services/sidebar/index.mjs +0 -2
- package/esm2020/lib/services/sidebar/sidebar.service.mjs +0 -24
- package/esm2020/lib/services/theme/index.mjs +0 -2
- package/esm2020/lib/services/theme/theme.service.mjs +0 -24
- package/fesm2015/flowbite-angular.mjs +0 -600
- package/fesm2015/flowbite-angular.mjs.map +0 -1
- package/fesm2020/flowbite-angular.mjs +0 -599
- package/fesm2020/flowbite-angular.mjs.map +0 -1
- package/flowbite-angular.d.ts +0 -5
- package/lib/flowbite.module.d.ts +0 -16
- package/lib/services/sidebar/index.d.ts +0 -1
- package/lib/services/sidebar/sidebar.service.d.ts +0 -9
- package/lib/services/theme/index.d.ts +0 -1
- package/lib/services/theme/theme.service.d.ts +0 -10
- /package/{esm2020 → esm2022}/lib/pipes/sanitize-html/index.mjs +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createTheme } from '../../../utils/theme/create-theme';
|
|
2
|
+
export const labelDirectiveTheme = createTheme({
|
|
3
|
+
base: 'block mb-2 text-sm font-medium',
|
|
4
|
+
default: 'text-gray-900 dark:text-white',
|
|
5
|
+
validation: {
|
|
6
|
+
success: 'text-green-700 dark:text-green-500',
|
|
7
|
+
error: 'text-red-700 dark:text-red-500',
|
|
8
|
+
},
|
|
9
|
+
floatingLabel: {
|
|
10
|
+
standard: {
|
|
11
|
+
base: 'absolute text-sm duration-300 transform -translate-y-6 scale-75 top-3 -z-10 origin-[0] peer-focus:left-0 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6',
|
|
12
|
+
default: 'text-gray-500 dark:text-gray-400 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
|
|
13
|
+
disabled: {
|
|
14
|
+
enabled: 'text-gray-400 dark:text-gray-500 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
|
|
15
|
+
disabled: '',
|
|
16
|
+
},
|
|
17
|
+
validation: {
|
|
18
|
+
success: 'text-green-600 dark:text-green-500',
|
|
19
|
+
error: 'text-red-600 dark:text-red-500',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
outline: {
|
|
23
|
+
base: 'absolute text-sm duration-300 transform -translate-y-4 scale-75 top-2 z-10 origin-[0] px-2 peer-focus:px-2 peer-placeholder-shown:scale-100 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-2 peer-focus:scale-75 peer-focus:-translate-y-4 left-1',
|
|
24
|
+
default: 'text-gray-500 dark:text-gray-400 bg-white dark:bg-gray-900 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
|
|
25
|
+
disabled: {
|
|
26
|
+
enabled: 'text-gray-400 dark:text-gray-500 bg-white dark:bg-gray-900 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
|
|
27
|
+
disabled: '',
|
|
28
|
+
},
|
|
29
|
+
validation: {
|
|
30
|
+
success: 'text-green-600 dark:text-green-500 bg-white dark:bg-gray-900',
|
|
31
|
+
error: 'text-red-600 dark:text-red-500 bg-white dark:bg-gray-900',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
fill: {
|
|
35
|
+
base: 'absolute text-sm duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] left-2.5 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-4',
|
|
36
|
+
default: 'text-gray-500 dark:text-gray-400 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
|
|
37
|
+
disabled: {
|
|
38
|
+
enabled: 'text-gray-400 dark:text-gray-500 peer-focus:text-blue-600 peer-focus:dark:text-blue-500',
|
|
39
|
+
disabled: '',
|
|
40
|
+
},
|
|
41
|
+
validation: {
|
|
42
|
+
success: 'text-green-600 dark:text-green-500',
|
|
43
|
+
error: 'text-red-600 dark:text-red-500',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
export const labelDirectiveClassInstance = {
|
|
49
|
+
rootClass: '',
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLnRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2RpcmVjdGl2ZXMvbGFiZWwuZGlyZWN0aXZlLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQWtCaEUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTRCLFdBQVcsQ0FBQztJQUN0RSxJQUFJLEVBQUUsZ0NBQWdDO0lBQ3RDLE9BQU8sRUFBRSwrQkFBK0I7SUFDeEMsVUFBVSxFQUFFO1FBQ1YsT0FBTyxFQUFFLG9DQUFvQztRQUM3QyxLQUFLLEVBQUUsZ0NBQWdDO0tBQ3hDO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLDhOQUE4TjtZQUNwTyxPQUFPLEVBQUUseUZBQXlGO1lBQ2xHLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUseUZBQXlGO2dCQUNsRyxRQUFRLEVBQUUsRUFBRTthQUNiO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxvQ0FBb0M7Z0JBQzdDLEtBQUssRUFBRSxnQ0FBZ0M7YUFDeEM7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSwwUkFBMFI7WUFDaFMsT0FBTyxFQUNMLG1IQUFtSDtZQUNySCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUNMLG1IQUFtSDtnQkFDckgsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNELFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsOERBQThEO2dCQUN2RSxLQUFLLEVBQUUsMERBQTBEO2FBQ2xFO1NBQ0Y7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsb05BQW9OO1lBQzFOLE9BQU8sRUFBRSx5RkFBeUY7WUFDbEcsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSx5RkFBeUY7Z0JBQ2xHLFFBQVEsRUFBRSxFQUFFO2FBQ2I7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLG9DQUFvQztnQkFDN0MsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFJSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBd0I7SUFDOUQsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IEZsb3diaXRlQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi90eXBlLWRlZmluaXRpb25zL2Zsb3diaXRlLmJvb2xlYW4nO1xuaW1wb3J0IHR5cGUgeyBGbG93Yml0ZUNsYXNzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3R5cGUtZGVmaW5pdGlvbnMvZmxvd2JpdGUuY2xhc3MnO1xuaW1wb3J0IHsgY3JlYXRlVGhlbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy90aGVtZS9jcmVhdGUtdGhlbWUnO1xuaW1wb3J0IHR5cGUgeyBGb3JtRmllbGRGbG9hdGluZ0xhYmVsVHlwZXMsIEZvcm1GaWVsZFZhbGlkYXRpb25zIH0gZnJvbSAnLi4vZm9ybS1maWVsZC50aGVtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxEaXJlY3RpdmVQcm9wZXJ0aWVzIHtcbiAgZGlzYWJsZWQ6IGtleW9mIEZsb3diaXRlQm9vbGVhbjtcbiAgdmFsaWRhdGU/OiBrZXlvZiBGb3JtRmllbGRWYWxpZGF0aW9ucztcbiAgZmxvYXRpbmdMYWJlbFR5cGU/OiBrZXlvZiBGb3JtRmllbGRGbG9hdGluZ0xhYmVsVHlwZXM7XG4gIGN1c3RvbVN0eWxlOiBEZWVwUGFydGlhbDxMYWJlbERpcmVjdGl2ZUJhc2VUaGVtZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFiZWxEaXJlY3RpdmVCYXNlVGhlbWUge1xuICBiYXNlOiBzdHJpbmc7XG4gIGRlZmF1bHQ6IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBGbG93Yml0ZUJvb2xlYW47XG4gIHZhbGlkYXRpb246IEZvcm1GaWVsZFZhbGlkYXRpb25zO1xuICBmbG9hdGluZ0xhYmVsOiBSZWNvcmQ8a2V5b2YgRm9ybUZpZWxkRmxvYXRpbmdMYWJlbFR5cGVzLCBPbWl0PExhYmVsRGlyZWN0aXZlQmFzZVRoZW1lLCAnZmxvYXRpbmdMYWJlbCc+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IGxhYmVsRGlyZWN0aXZlVGhlbWU6IExhYmVsRGlyZWN0aXZlQmFzZVRoZW1lID0gY3JlYXRlVGhlbWUoe1xuICBiYXNlOiAnYmxvY2sgbWItMiB0ZXh0LXNtIGZvbnQtbWVkaXVtJyxcbiAgZGVmYXVsdDogJ3RleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlJyxcbiAgdmFsaWRhdGlvbjoge1xuICAgIHN1Y2Nlc3M6ICd0ZXh0LWdyZWVuLTcwMCBkYXJrOnRleHQtZ3JlZW4tNTAwJyxcbiAgICBlcnJvcjogJ3RleHQtcmVkLTcwMCBkYXJrOnRleHQtcmVkLTUwMCcsXG4gIH0sXG4gIGZsb2F0aW5nTGFiZWw6IHtcbiAgICBzdGFuZGFyZDoge1xuICAgICAgYmFzZTogJ2Fic29sdXRlIHRleHQtc20gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXktNiBzY2FsZS03NSB0b3AtMyAtei0xMCBvcmlnaW4tWzBdIHBlZXItZm9jdXM6bGVmdC0wIHBlZXItcGxhY2Vob2xkZXItc2hvd246c2NhbGUtMTAwIHBlZXItcGxhY2Vob2xkZXItc2hvd246dHJhbnNsYXRlLXktMCBwZWVyLWZvY3VzOnNjYWxlLTc1IHBlZXItZm9jdXM6LXRyYW5zbGF0ZS15LTYnLFxuICAgICAgZGVmYXVsdDogJ3RleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNDAwIHBlZXItZm9jdXM6dGV4dC1ibHVlLTYwMCBwZWVyLWZvY3VzOmRhcms6dGV4dC1ibHVlLTUwMCcsXG4gICAgICBkaXNhYmxlZDoge1xuICAgICAgICBlbmFibGVkOiAndGV4dC1ncmF5LTQwMCBkYXJrOnRleHQtZ3JheS01MDAgcGVlci1mb2N1czp0ZXh0LWJsdWUtNjAwIHBlZXItZm9jdXM6ZGFyazp0ZXh0LWJsdWUtNTAwJyxcbiAgICAgICAgZGlzYWJsZWQ6ICcnLFxuICAgICAgfSxcbiAgICAgIHZhbGlkYXRpb246IHtcbiAgICAgICAgc3VjY2VzczogJ3RleHQtZ3JlZW4tNjAwIGRhcms6dGV4dC1ncmVlbi01MDAnLFxuICAgICAgICBlcnJvcjogJ3RleHQtcmVkLTYwMCBkYXJrOnRleHQtcmVkLTUwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3V0bGluZToge1xuICAgICAgYmFzZTogJ2Fic29sdXRlIHRleHQtc20gZHVyYXRpb24tMzAwIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXktNCBzY2FsZS03NSB0b3AtMiB6LTEwIG9yaWdpbi1bMF0gcHgtMiBwZWVyLWZvY3VzOnB4LTIgcGVlci1wbGFjZWhvbGRlci1zaG93bjpzY2FsZS0xMDAgcGVlci1wbGFjZWhvbGRlci1zaG93bjotdHJhbnNsYXRlLXktMS8yIHBlZXItcGxhY2Vob2xkZXItc2hvd246dG9wLTEvMiBwZWVyLWZvY3VzOnRvcC0yIHBlZXItZm9jdXM6c2NhbGUtNzUgcGVlci1mb2N1czotdHJhbnNsYXRlLXktNCBsZWZ0LTEnLFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgJ3RleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNDAwIGJnLXdoaXRlIGRhcms6YmctZ3JheS05MDAgcGVlci1mb2N1czp0ZXh0LWJsdWUtNjAwIHBlZXItZm9jdXM6ZGFyazp0ZXh0LWJsdWUtNTAwJyxcbiAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgIGVuYWJsZWQ6XG4gICAgICAgICAgJ3RleHQtZ3JheS00MDAgZGFyazp0ZXh0LWdyYXktNTAwIGJnLXdoaXRlIGRhcms6YmctZ3JheS05MDAgcGVlci1mb2N1czp0ZXh0LWJsdWUtNjAwIHBlZXItZm9jdXM6ZGFyazp0ZXh0LWJsdWUtNTAwJyxcbiAgICAgICAgZGlzYWJsZWQ6ICcnLFxuICAgICAgfSxcbiAgICAgIHZhbGlkYXRpb246IHtcbiAgICAgICAgc3VjY2VzczogJ3RleHQtZ3JlZW4tNjAwIGRhcms6dGV4dC1ncmVlbi01MDAgYmctd2hpdGUgZGFyazpiZy1ncmF5LTkwMCcsXG4gICAgICAgIGVycm9yOiAndGV4dC1yZWQtNjAwIGRhcms6dGV4dC1yZWQtNTAwIGJnLXdoaXRlIGRhcms6YmctZ3JheS05MDAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGZpbGw6IHtcbiAgICAgIGJhc2U6ICdhYnNvbHV0ZSB0ZXh0LXNtIGR1cmF0aW9uLTMwMCB0cmFuc2Zvcm0gLXRyYW5zbGF0ZS15LTQgc2NhbGUtNzUgdG9wLTQgei0xMCBvcmlnaW4tWzBdIGxlZnQtMi41IHBlZXItcGxhY2Vob2xkZXItc2hvd246c2NhbGUtMTAwIHBlZXItcGxhY2Vob2xkZXItc2hvd246dHJhbnNsYXRlLXktMCBwZWVyLWZvY3VzOnNjYWxlLTc1IHBlZXItZm9jdXM6LXRyYW5zbGF0ZS15LTQnLFxuICAgICAgZGVmYXVsdDogJ3RleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNDAwIHBlZXItZm9jdXM6dGV4dC1ibHVlLTYwMCBwZWVyLWZvY3VzOmRhcms6dGV4dC1ibHVlLTUwMCcsXG4gICAgICBkaXNhYmxlZDoge1xuICAgICAgICBlbmFibGVkOiAndGV4dC1ncmF5LTQwMCBkYXJrOnRleHQtZ3JheS01MDAgcGVlci1mb2N1czp0ZXh0LWJsdWUtNjAwIHBlZXItZm9jdXM6ZGFyazp0ZXh0LWJsdWUtNTAwJyxcbiAgICAgICAgZGlzYWJsZWQ6ICcnLFxuICAgICAgfSxcbiAgICAgIHZhbGlkYXRpb246IHtcbiAgICAgICAgc3VjY2VzczogJ3RleHQtZ3JlZW4tNjAwIGRhcms6dGV4dC1ncmVlbi01MDAnLFxuICAgICAgICBlcnJvcjogJ3RleHQtcmVkLTYwMCBkYXJrOnRleHQtcmVkLTUwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KTtcblxuZXhwb3J0IHR5cGUgTGFiZWxEaXJlY3RpdmVDbGFzcyA9IEZsb3diaXRlQ2xhc3M7XG5cbmV4cG9ydCBjb25zdCBsYWJlbERpcmVjdGl2ZUNsYXNzSW5zdGFuY2U6IExhYmVsRGlyZWN0aXZlQ2xhc3MgPSB7XG4gIHJvb3RDbGFzczogJycsXG59O1xuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { mergeTheme } from '../../../utils/theme/merge-theme';
|
|
2
|
+
import { inject, InjectionToken } from '@angular/core';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
export const FLOWBITE_DIRECTIVE_LABEL_THEME_TOKEN = new InjectionToken('FLOWBITE_DIRECTIVE_LABEL_THEME_TOKEN');
|
|
5
|
+
export class LabelDirectiveThemeService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.baseTheme = inject(FLOWBITE_DIRECTIVE_LABEL_THEME_TOKEN);
|
|
8
|
+
}
|
|
9
|
+
getClasses(properties) {
|
|
10
|
+
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
11
|
+
const output = {
|
|
12
|
+
rootClass: twMerge(properties.floatingLabelType && theme.floatingLabel[properties.floatingLabelType].base, properties.floatingLabelType &&
|
|
13
|
+
properties.validate &&
|
|
14
|
+
theme.floatingLabel[properties.floatingLabelType].validation[properties.validate], properties.floatingLabelType &&
|
|
15
|
+
!properties.validate &&
|
|
16
|
+
theme.floatingLabel[properties.floatingLabelType].default, !properties.floatingLabelType && theme.base, !properties.floatingLabelType && properties.validate && theme.validation[properties.validate], !properties.floatingLabelType && !properties.validate && theme.default),
|
|
17
|
+
};
|
|
18
|
+
return output;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLnRoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZGlyZWN0aXZlcy9sYWJlbC5kaXJlY3RpdmUudGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLElBQUksY0FBYyxDQUNwRSxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sT0FBTywwQkFBMEI7SUFBdkM7UUFDbUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBdUI1RSxDQUFDO0lBckJRLFVBQVUsQ0FBQyxVQUFvQztRQUNwRCxNQUFNLEtBQUssR0FBNEIsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFGLE1BQU0sTUFBTSxHQUF3QjtZQUNsQyxTQUFTLEVBQUUsT0FBTyxDQUNoQixVQUFVLENBQUMsaUJBQWlCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLEVBQ3RGLFVBQVUsQ0FBQyxpQkFBaUI7Z0JBQzFCLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQ25GLFVBQVUsQ0FBQyxpQkFBaUI7Z0JBQzFCLENBQUMsVUFBVSxDQUFDLFFBQVE7Z0JBQ3BCLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxFQUUzRCxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUMzQyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUM3RixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FDdkU7U0FDRixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGbG93Yml0ZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IG1lcmdlVGhlbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy90aGVtZS9tZXJnZS10aGVtZSc7XG5pbXBvcnQgdHlwZSB7IExhYmVsRGlyZWN0aXZlQmFzZVRoZW1lLCBMYWJlbERpcmVjdGl2ZUNsYXNzLCBMYWJlbERpcmVjdGl2ZVByb3BlcnRpZXMgfSBmcm9tICcuL2xhYmVsLmRpcmVjdGl2ZS50aGVtZSc7XG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XG5cbmV4cG9ydCBjb25zdCBGTE9XQklURV9ESVJFQ1RJVkVfTEFCRUxfVEhFTUVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TGFiZWxEaXJlY3RpdmVCYXNlVGhlbWU+KFxuICAnRkxPV0JJVEVfRElSRUNUSVZFX0xBQkVMX1RIRU1FX1RPS0VOJyxcbik7XG5cbmV4cG9ydCBjbGFzcyBMYWJlbERpcmVjdGl2ZVRoZW1lU2VydmljZSBpbXBsZW1lbnRzIEZsb3diaXRlVGhlbWVTZXJ2aWNlPExhYmVsRGlyZWN0aXZlUHJvcGVydGllcz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VUaGVtZSA9IGluamVjdChGTE9XQklURV9ESVJFQ1RJVkVfTEFCRUxfVEhFTUVfVE9LRU4pO1xuXG4gIHB1YmxpYyBnZXRDbGFzc2VzKHByb3BlcnRpZXM6IExhYmVsRGlyZWN0aXZlUHJvcGVydGllcyk6IExhYmVsRGlyZWN0aXZlQ2xhc3Mge1xuICAgIGNvbnN0IHRoZW1lOiBMYWJlbERpcmVjdGl2ZUJhc2VUaGVtZSA9IG1lcmdlVGhlbWUodGhpcy5iYXNlVGhlbWUsIHByb3BlcnRpZXMuY3VzdG9tU3R5bGUpO1xuXG4gICAgY29uc3Qgb3V0cHV0OiBMYWJlbERpcmVjdGl2ZUNsYXNzID0ge1xuICAgICAgcm9vdENsYXNzOiB0d01lcmdlKFxuICAgICAgICBwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlICYmIHRoZW1lLmZsb2F0aW5nTGFiZWxbcHJvcGVydGllcy5mbG9hdGluZ0xhYmVsVHlwZV0uYmFzZSxcbiAgICAgICAgcHJvcGVydGllcy5mbG9hdGluZ0xhYmVsVHlwZSAmJlxuICAgICAgICAgIHByb3BlcnRpZXMudmFsaWRhdGUgJiZcbiAgICAgICAgICB0aGVtZS5mbG9hdGluZ0xhYmVsW3Byb3BlcnRpZXMuZmxvYXRpbmdMYWJlbFR5cGVdLnZhbGlkYXRpb25bcHJvcGVydGllcy52YWxpZGF0ZV0sXG4gICAgICAgIHByb3BlcnRpZXMuZmxvYXRpbmdMYWJlbFR5cGUgJiZcbiAgICAgICAgICAhcHJvcGVydGllcy52YWxpZGF0ZSAmJlxuICAgICAgICAgIHRoZW1lLmZsb2F0aW5nTGFiZWxbcHJvcGVydGllcy5mbG9hdGluZ0xhYmVsVHlwZV0uZGVmYXVsdCxcblxuICAgICAgICAhcHJvcGVydGllcy5mbG9hdGluZ0xhYmVsVHlwZSAmJiB0aGVtZS5iYXNlLFxuICAgICAgICAhcHJvcGVydGllcy5mbG9hdGluZ0xhYmVsVHlwZSAmJiBwcm9wZXJ0aWVzLnZhbGlkYXRlICYmIHRoZW1lLnZhbGlkYXRpb25bcHJvcGVydGllcy52YWxpZGF0ZV0sXG4gICAgICAgICFwcm9wZXJ0aWVzLmZsb2F0aW5nTGFiZWxUeXBlICYmICFwcm9wZXJ0aWVzLnZhbGlkYXRlICYmIHRoZW1lLmRlZmF1bHQsXG4gICAgICApLFxuICAgIH07XG5cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { booleanToFlowbiteBoolean } from '../../utils/boolean.util';
|
|
2
|
+
import { BaseComponent } from '../base-component.directive';
|
|
3
|
+
import { FormFieldThemeService } from './form-field.theme.service';
|
|
4
|
+
import { AsyncPipe, NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
5
|
+
import { Component, inject, model } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class FormFieldComponent extends BaseComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.themeService = inject(FormFieldThemeService);
|
|
11
|
+
//#region properties
|
|
12
|
+
this.type = model('text');
|
|
13
|
+
this.size = model('md');
|
|
14
|
+
this.isDisabled = model(false);
|
|
15
|
+
this.validate = model(undefined);
|
|
16
|
+
this.floatingLabelType = model(undefined);
|
|
17
|
+
this.prefix = model(undefined);
|
|
18
|
+
this.customStyle = model({});
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region BaseComponent implementation
|
|
22
|
+
fetchClass() {
|
|
23
|
+
return this.themeService.getClasses({
|
|
24
|
+
type: this.type(),
|
|
25
|
+
floatingLabelType: this.floatingLabelType(),
|
|
26
|
+
size: this.size(),
|
|
27
|
+
disabled: booleanToFlowbiteBoolean(this.isDisabled()),
|
|
28
|
+
validate: this.validate(),
|
|
29
|
+
prefix: this.prefix(),
|
|
30
|
+
customStyle: this.customStyle(),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: FormFieldComponent, isStandalone: true, selector: "flowbite-form-field", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, validate: { classPropertyName: "validate", publicName: "validate", isSignal: true, isRequired: false, transformFunction: null }, floatingLabelType: { classPropertyName: "floatingLabelType", publicName: "floatingLabelType", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", size: "sizeChange", isDisabled: "isDisabledChange", validate: "validateChange", floatingLabelType: "floatingLabelTypeChange", prefix: "prefixChange", customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"floatingLabelType(); else nonFloatingTemplate\">\n <div\n [ngClass]=\"{\n relative: floatingLabelType(),\n 'z-0': floatingLabelType() === 'standard',\n }\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-container>\n<ng-template #nonFloatingTemplate>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n <ng-container *ngIf=\"prefix(); else inputTemplate\">\n <ng-container *ngIf=\"prefix() === 'icon'; else inputWithAddon\">\n <div class=\"relative\">\n <div class=\"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3\">\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #inputWithAddon>\n <div class=\"flex\">\n <ng-container *ngTemplateOutlet=\"addonTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content select=\"input[flowbiteInput]\"></ng-content>\n</ng-template>\n<ng-template #labelTemplate>\n <ng-content select=\"label[flowbiteLabel]\"></ng-content>\n</ng-template>\n<ng-template #hintTemplate>\n <ng-content select=\"[flowbiteHelper]\"></ng-content>\n</ng-template>\n<ng-template #iconTemplate>\n <ng-content select=\"[flowbiteIcon]\"></ng-content>\n</ng-template>\n<ng-template #addonTemplate>\n <ng-content select=\"[flowbiteAddon]\"></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ standalone: true, imports: [NgIf, NgClass, AsyncPipe, NgTemplateOutlet], selector: 'flowbite-form-field', template: "<ng-container *ngIf=\"floatingLabelType(); else nonFloatingTemplate\">\n <div\n [ngClass]=\"{\n relative: floatingLabelType(),\n 'z-0': floatingLabelType() === 'standard',\n }\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-container>\n<ng-template #nonFloatingTemplate>\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n <ng-container *ngIf=\"prefix(); else inputTemplate\">\n <ng-container *ngIf=\"prefix() === 'icon'; else inputWithAddon\">\n <div class=\"relative\">\n <div class=\"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3\">\n <ng-container *ngTemplateOutlet=\"iconTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"hintTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #inputWithAddon>\n <div class=\"flex\">\n <ng-container *ngTemplateOutlet=\"addonTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #inputTemplate>\n <ng-content select=\"input[flowbiteInput]\"></ng-content>\n</ng-template>\n<ng-template #labelTemplate>\n <ng-content select=\"label[flowbiteLabel]\"></ng-content>\n</ng-template>\n<ng-template #hintTemplate>\n <ng-content select=\"[flowbiteHelper]\"></ng-content>\n</ng-template>\n<ng-template #iconTemplate>\n <ng-content select=\"[flowbiteIcon]\"></ng-content>\n</ng-template>\n<ng-template #addonTemplate>\n <ng-content select=\"[flowbiteAddon]\"></ng-content>\n</ng-template>\n" }]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVF6RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBd0M7SUFOaEY7O1FBT2tCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFN0Qsb0JBQW9CO1FBQ2IsU0FBSSxHQUFHLEtBQUssQ0FBa0MsTUFBTSxDQUFDLENBQUM7UUFDdEQsU0FBSSxHQUFHLEtBQUssQ0FBa0MsSUFBSSxDQUFDLENBQUM7UUFDcEQsZUFBVSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxhQUFRLEdBQUcsS0FBSyxDQUFvRCxTQUFTLENBQUMsQ0FBQztRQUMvRSxzQkFBaUIsR0FBRyxLQUFLLENBQTJELFNBQVMsQ0FBQyxDQUFDO1FBQy9GLFdBQU0sR0FBRyxLQUFLLENBQWlELFNBQVMsQ0FBQyxDQUFDO1FBQzFFLGdCQUFXLEdBQUcsS0FBSyxDQUE2QyxFQUFFLENBQUMsQ0FBQztLQWdCNUU7SUFmQyxZQUFZO0lBRVosc0NBQXNDO0lBQ3RCLFVBQVU7UUFDeEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDM0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsUUFBUSxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXhCVSxrQkFBa0I7a0dBQWxCLGtCQUFrQiw4dENDaEIvQixxekRBZ0RBLDRDRHBDWSxJQUFJLDZGQUFFLE9BQU8sb0ZBQWEsZ0JBQWdCOzsyRkFJekMsa0JBQWtCO2tCQU45QixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFlBQzNDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVlcFBhcnRpYWwgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhblRvRmxvd2JpdGVCb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMvYm9vbGVhbi51dGlsJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUgKiBhcyBwcm9wZXJ0aWVzIGZyb20gJy4vZm9ybS1maWVsZC50aGVtZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRUaGVtZVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZmllbGQudGhlbWUuc2VydmljZSc7XG5cbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdDbGFzcywgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgc2VsZWN0b3I6ICdmbG93Yml0ZS1mb3JtLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PHByb3BlcnRpZXMuRm9ybUZpZWxkQ2xhc3M+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lU2VydmljZSA9IGluamVjdChGb3JtRmllbGRUaGVtZVNlcnZpY2UpO1xuXG4gIC8vI3JlZ2lvbiBwcm9wZXJ0aWVzXG4gIHB1YmxpYyB0eXBlID0gbW9kZWw8a2V5b2YgcHJvcGVydGllcy5Gb3JtRmllbGRUeXBlcz4oJ3RleHQnKTtcbiAgcHVibGljIHNpemUgPSBtb2RlbDxrZXlvZiBwcm9wZXJ0aWVzLkZvcm1GaWVsZFNpemVzPignbWQnKTtcbiAgcHVibGljIGlzRGlzYWJsZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyB2YWxpZGF0ZSA9IG1vZGVsPGtleW9mIHByb3BlcnRpZXMuRm9ybUZpZWxkVmFsaWRhdGlvbnMgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyBmbG9hdGluZ0xhYmVsVHlwZSA9IG1vZGVsPGtleW9mIHByb3BlcnRpZXMuRm9ybUZpZWxkRmxvYXRpbmdMYWJlbFR5cGVzIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwdWJsaWMgcHJlZml4ID0gbW9kZWw8a2V5b2YgcHJvcGVydGllcy5Gb3JtRmllbGRQcmVmaXhlcyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHVibGljIGN1c3RvbVN0eWxlID0gbW9kZWw8RGVlcFBhcnRpYWw8cHJvcGVydGllcy5Gb3JtRmllbGRCYXNlVGhlbWU+Pih7fSk7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBCYXNlQ29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IHByb3BlcnRpZXMuRm9ybUZpZWxkQ2xhc3Mge1xuICAgIHJldHVybiB0aGlzLnRoZW1lU2VydmljZS5nZXRDbGFzc2VzKHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSgpLFxuICAgICAgZmxvYXRpbmdMYWJlbFR5cGU6IHRoaXMuZmxvYXRpbmdMYWJlbFR5cGUoKSxcbiAgICAgIHNpemU6IHRoaXMuc2l6ZSgpLFxuICAgICAgZGlzYWJsZWQ6IGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbih0aGlzLmlzRGlzYWJsZWQoKSksXG4gICAgICB2YWxpZGF0ZTogdGhpcy52YWxpZGF0ZSgpLFxuICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCgpLFxuICAgICAgY3VzdG9tU3R5bGU6IHRoaXMuY3VzdG9tU3R5bGUoKSxcbiAgICB9KTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJmbG9hdGluZ0xhYmVsVHlwZSgpOyBlbHNlIG5vbkZsb2F0aW5nVGVtcGxhdGVcIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIHJlbGF0aXZlOiBmbG9hdGluZ0xhYmVsVHlwZSgpLFxuICAgICAgJ3otMCc6IGZsb2F0aW5nTGFiZWxUeXBlKCkgPT09ICdzdGFuZGFyZCcsXG4gICAgfVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoaW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNub25GbG9hdGluZ1RlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJlZml4KCk7IGVsc2UgaW5wdXRUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmVmaXgoKSA9PT0gJ2ljb24nOyBlbHNlIGlucHV0V2l0aEFkZG9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgaW5zZXQteS0wIGxlZnQtMCBmbGV4IGl0ZW1zLWNlbnRlciBwbC0zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhpbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbnB1dFdpdGhBZGRvbj5cbiAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbnB1dFRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFtmbG93Yml0ZUlucHV0XVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGU+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsW2Zsb3diaXRlTGFiZWxdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaGludFRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmxvd2JpdGVIZWxwZXJdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmxvd2JpdGVJY29uXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2FkZG9uVGVtcGxhdGU+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmbG93Yml0ZUFkZG9uXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createTheme } from '../../utils/theme/create-theme';
|
|
2
|
+
export const formFieldTheme = createTheme({
|
|
3
|
+
base: '',
|
|
4
|
+
});
|
|
5
|
+
export const FormFieldClassInstance = {
|
|
6
|
+
rootClass: '',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC50aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQStDN0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF1QixXQUFXLENBQUM7SUFDNUQsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDLENBQUM7QUFJSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBbUI7SUFDcEQsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IEZsb3diaXRlQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvbW1vbi90eXBlLWRlZmluaXRpb25zL2Zsb3diaXRlLmJvb2xlYW4nO1xuaW1wb3J0IHR5cGUgeyBGbG93Yml0ZUNsYXNzIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGUtZGVmaW5pdGlvbnMvZmxvd2JpdGUuY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBGbG93Yml0ZVNpemVzIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGUtZGVmaW5pdGlvbnMvZmxvd2JpdGUuc2l6ZXMnO1xuaW1wb3J0IHsgY3JlYXRlVGhlbWUgfSBmcm9tICcuLi8uLi91dGlscy90aGVtZS9jcmVhdGUtdGhlbWUnO1xuXG4vLyNyZWdpb24gQ29tcG9uZW50IHRoZW1lIG9wdGlvblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGRUeXBlcyB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIGZpbGU6IHN0cmluZztcbiAgbnVtYmVyOiBzdHJpbmc7XG4gIHNlYXJjaDogc3RyaW5nO1xuICB0ZWw6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGRGbG9hdGluZ0xhYmVsVHlwZXMge1xuICBzdGFuZGFyZDogc3RyaW5nO1xuICBmaWxsOiBzdHJpbmc7XG4gIG91dGxpbmU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkVmFsaWRhdGlvbnMge1xuICBzdWNjZXNzOiBzdHJpbmc7XG4gIGVycm9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkUHJlZml4ZXMge1xuICBhZGRvbjogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1GaWVsZFNpemVzIGV4dGVuZHMgUGljazxGbG93Yml0ZVNpemVzLCAnc20nIHwgJ21kJyB8ICdsZyc+IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkUHJvcGVydGllcyB7XG4gIHR5cGU6IGtleW9mIEZvcm1GaWVsZFR5cGVzO1xuICBmbG9hdGluZ0xhYmVsVHlwZT86IGtleW9mIEZvcm1GaWVsZEZsb2F0aW5nTGFiZWxUeXBlcztcbiAgc2l6ZToga2V5b2YgRm9ybUZpZWxkU2l6ZXM7XG4gIGRpc2FibGVkOiBrZXlvZiBGbG93Yml0ZUJvb2xlYW47XG4gIHZhbGlkYXRlPzoga2V5b2YgRm9ybUZpZWxkVmFsaWRhdGlvbnM7XG4gIHByZWZpeD86IGtleW9mIEZvcm1GaWVsZFByZWZpeGVzO1xuICBjdXN0b21TdHlsZTogRGVlcFBhcnRpYWw8Rm9ybUZpZWxkQmFzZVRoZW1lPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGRCYXNlVGhlbWUge1xuICBiYXNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBmb3JtRmllbGRUaGVtZTogRm9ybUZpZWxkQmFzZVRoZW1lID0gY3JlYXRlVGhlbWUoe1xuICBiYXNlOiAnJyxcbn0pO1xuXG5leHBvcnQgdHlwZSBGb3JtRmllbGRDbGFzcyA9IEZsb3diaXRlQ2xhc3M7XG5cbmV4cG9ydCBjb25zdCBGb3JtRmllbGRDbGFzc0luc3RhbmNlOiBGb3JtRmllbGRDbGFzcyA9IHtcbiAgcm9vdENsYXNzOiAnJyxcbn07XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { mergeTheme } from '../../utils/theme/merge-theme';
|
|
2
|
+
import { inject, InjectionToken } from '@angular/core';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
export const FLOWBITE_FORM_FIELD_THEME_TOKEN = new InjectionToken('FLOWBITE_FORM_FIELD_THEME_TOKEN');
|
|
5
|
+
export class FormFieldThemeService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.baseTheme = inject(FLOWBITE_FORM_FIELD_THEME_TOKEN);
|
|
8
|
+
}
|
|
9
|
+
getClasses(properties) {
|
|
10
|
+
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
11
|
+
const output = {
|
|
12
|
+
rootClass: twMerge(theme.base),
|
|
13
|
+
};
|
|
14
|
+
return output;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC50aGVtZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mbG93Yml0ZS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQudGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUksY0FBYyxDQUMvRCxpQ0FBaUMsQ0FDbEMsQ0FBQztBQUVGLE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDbUIsY0FBUyxHQUFHLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBV3ZFLENBQUM7SUFUUSxVQUFVLENBQUMsVUFBK0I7UUFDL0MsTUFBTSxLQUFLLEdBQXVCLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyRixNQUFNLE1BQU0sR0FBbUI7WUFDN0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1NBQy9CLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZsb3diaXRlVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgbWVyZ2VUaGVtZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RoZW1lL21lcmdlLXRoZW1lJztcbmltcG9ydCB0eXBlIHsgRm9ybUZpZWxkQmFzZVRoZW1lLCBGb3JtRmllbGRDbGFzcywgRm9ybUZpZWxkUHJvcGVydGllcyB9IGZyb20gJy4vZm9ybS1maWVsZC50aGVtZSc7XG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XG5cbmV4cG9ydCBjb25zdCBGTE9XQklURV9GT1JNX0ZJRUxEX1RIRU1FX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEZvcm1GaWVsZEJhc2VUaGVtZT4oXG4gICdGTE9XQklURV9GT1JNX0ZJRUxEX1RIRU1FX1RPS0VOJyxcbik7XG5cbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRUaGVtZVNlcnZpY2UgaW1wbGVtZW50cyBGbG93Yml0ZVRoZW1lU2VydmljZTxGb3JtRmllbGRQcm9wZXJ0aWVzPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZVRoZW1lID0gaW5qZWN0KEZMT1dCSVRFX0ZPUk1fRklFTERfVEhFTUVfVE9LRU4pO1xuXG4gIHB1YmxpYyBnZXRDbGFzc2VzKHByb3BlcnRpZXM6IEZvcm1GaWVsZFByb3BlcnRpZXMpOiBGb3JtRmllbGRDbGFzcyB7XG4gICAgY29uc3QgdGhlbWU6IEZvcm1GaWVsZEJhc2VUaGVtZSA9IG1lcmdlVGhlbWUodGhpcy5iYXNlVGhlbWUsIHByb3BlcnRpZXMuY3VzdG9tU3R5bGUpO1xuXG4gICAgY29uc3Qgb3V0cHV0OiBGb3JtRmllbGRDbGFzcyA9IHtcbiAgICAgIHJvb3RDbGFzczogdHdNZXJnZSh0aGVtZS5iYXNlKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './directives';
|
|
2
|
+
export { FormFieldComponent } from './form-field.component';
|
|
3
|
+
export { FormFieldClassInstance, formFieldTheme } from './form-field.theme';
|
|
4
|
+
export { FormFieldThemeService, FLOWBITE_FORM_FIELD_THEME_TOKEN } from './form-field.theme.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuZXhwb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIEZvcm1GaWVsZFByb3BlcnRpZXMsXG4gIEZvcm1GaWVsZEZsb2F0aW5nTGFiZWxUeXBlcyxcbiAgRm9ybUZpZWxkUHJlZml4ZXMsXG4gIEZvcm1GaWVsZFNpemVzLFxuICBGb3JtRmllbGRUeXBlcyxcbiAgRm9ybUZpZWxkVmFsaWRhdGlvbnMsXG4gIEZvcm1GaWVsZENsYXNzLFxuICBGb3JtRmllbGRCYXNlVGhlbWUsXG59IGZyb20gJy4vZm9ybS1maWVsZC50aGVtZSc7XG5leHBvcnQgeyBGb3JtRmllbGRDbGFzc0luc3RhbmNlLCBmb3JtRmllbGRUaGVtZSB9IGZyb20gJy4vZm9ybS1maWVsZC50aGVtZSc7XG5leHBvcnQgeyBGb3JtRmllbGRUaGVtZVNlcnZpY2UsIEZMT1dCSVRFX0ZPUk1fRklFTERfVEhFTUVfVE9LRU4gfSBmcm9tICcuL2Zvcm0tZmllbGQudGhlbWUuc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thanks to Angular Material for Icon part of this library : https://github.com/angular/components
|
|
3
|
+
*/
|
|
4
|
+
import { trustedHTMLFromString } from './trusted-types';
|
|
5
|
+
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
6
|
+
import { HttpClient } from '@angular/common/http';
|
|
7
|
+
import { inject, Injectable, PLATFORM_ID, SecurityContext } from '@angular/core';
|
|
8
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
9
|
+
import { finalize, map, of, share, tap, throwError } from 'rxjs';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export function getSvgIconFromNamedError(iconName) {
|
|
12
|
+
return Error(`Unable to find icon with name ${iconName}`);
|
|
13
|
+
}
|
|
14
|
+
export function getSvgIconFailedToSanitizeRawError(raw) {
|
|
15
|
+
return Error(`The raw provided to IconRegistry was not trusted as safe HTML by ANGULAR's DOMSanitizer. Attempted raw was : ${raw}`);
|
|
16
|
+
}
|
|
17
|
+
export function getSvgIconFailedToSanitizeUrlError(url) {
|
|
18
|
+
return Error(`The URL provided to IconRegistry was not trusted as a resource URL via Angular's DOMSanitizer. Attempted URL was : ${url}`);
|
|
19
|
+
}
|
|
20
|
+
export function getSvgIconNoHttpClientProvidedError() {
|
|
21
|
+
return Error(`Could not fid HttpClient provider for use with flowbite-angular icons. Please include the HttpClientModule from @angular/common/http in your app imports`);
|
|
22
|
+
}
|
|
23
|
+
export class SvgIconConfig {
|
|
24
|
+
constructor(url, svgText, options) {
|
|
25
|
+
this.url = url;
|
|
26
|
+
this.svgText = svgText;
|
|
27
|
+
this.options = options;
|
|
28
|
+
this.svgElement = null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class IconRegistry {
|
|
32
|
+
constructor() {
|
|
33
|
+
this.platformId = inject(PLATFORM_ID);
|
|
34
|
+
this._httpClient = inject(HttpClient, { optional: true });
|
|
35
|
+
this._sanitizer = inject(DomSanitizer);
|
|
36
|
+
this._document = inject(DOCUMENT);
|
|
37
|
+
this._svgIconConfig = new Map();
|
|
38
|
+
this._cachedSvgIconByUrl = new Map();
|
|
39
|
+
this._inProgressSvgIconFetch = new Map();
|
|
40
|
+
}
|
|
41
|
+
addSvgIcon(iconName, url, options) {
|
|
42
|
+
return this.addSvgIconInNamespace('', iconName, url, options);
|
|
43
|
+
}
|
|
44
|
+
addRawSvgIcon(iconName, raw, options) {
|
|
45
|
+
return this.addRawSvgIconInNamepsace('', iconName, raw, options);
|
|
46
|
+
}
|
|
47
|
+
addSvgIconInNamespace(namespace, iconName, url, options) {
|
|
48
|
+
return this._addSvgIconConfig(namespace, iconName, new SvgIconConfig(url, undefined, options));
|
|
49
|
+
}
|
|
50
|
+
addRawSvgIconInNamepsace(namespace, iconName, raw, options) {
|
|
51
|
+
const cleanRaw = this._sanitizer.sanitize(SecurityContext.HTML, raw);
|
|
52
|
+
if (!cleanRaw) {
|
|
53
|
+
throw getSvgIconFailedToSanitizeRawError(raw);
|
|
54
|
+
}
|
|
55
|
+
const trustedRaw = trustedHTMLFromString(cleanRaw);
|
|
56
|
+
return this._addSvgIconConfig(namespace, iconName, new SvgIconConfig('', trustedRaw, options));
|
|
57
|
+
}
|
|
58
|
+
getSvgIconFromUrl(safeUrl) {
|
|
59
|
+
const url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, safeUrl);
|
|
60
|
+
if (!url) {
|
|
61
|
+
throw getSvgIconFailedToSanitizeUrlError(safeUrl);
|
|
62
|
+
}
|
|
63
|
+
const cachedIcon = this._cachedSvgIconByUrl.get(url);
|
|
64
|
+
if (cachedIcon) {
|
|
65
|
+
return of(cloneSvg(cachedIcon));
|
|
66
|
+
}
|
|
67
|
+
return this._loadSvgIconFromConfig(new SvgIconConfig(safeUrl, undefined));
|
|
68
|
+
}
|
|
69
|
+
getSvgIconFromName(iconName, namespace) {
|
|
70
|
+
const key = iconKey(namespace, iconName);
|
|
71
|
+
const config = this._svgIconConfig.get(key);
|
|
72
|
+
if (config) {
|
|
73
|
+
return this._getSvgIconFromConfig(config);
|
|
74
|
+
}
|
|
75
|
+
return throwError(() => getSvgIconFromNamedError(key));
|
|
76
|
+
}
|
|
77
|
+
ngOnDestroy() {
|
|
78
|
+
this._svgIconConfig.clear();
|
|
79
|
+
this._cachedSvgIconByUrl.clear();
|
|
80
|
+
}
|
|
81
|
+
_addSvgIconConfig(namespace, iconName, config) {
|
|
82
|
+
this._svgIconConfig.set(iconKey(namespace, iconName), config);
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
_getSvgIconFromConfig(config) {
|
|
86
|
+
if (config.svgText) {
|
|
87
|
+
return of(cloneSvg(this._svgElementFromConfig(config)));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return this._loadSvgIconFromConfig(config).pipe(map((svg) => cloneSvg(svg)));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
_loadSvgIconFromConfig(config) {
|
|
94
|
+
return this._fetchIcon(config).pipe(tap((svgText) => (config.svgText = svgText)), map(() => this._svgElementFromConfig(config)));
|
|
95
|
+
}
|
|
96
|
+
_setSvgAttributes(svg, options) {
|
|
97
|
+
svg.setAttribute('fit', '');
|
|
98
|
+
svg.setAttribute('height', '100%');
|
|
99
|
+
svg.setAttribute('width', '100%');
|
|
100
|
+
svg.setAttribute('preserveAspectRatio', 'xMidYMid meet');
|
|
101
|
+
svg.setAttribute('focusable', 'false');
|
|
102
|
+
if (options?.viewBox) {
|
|
103
|
+
svg.setAttribute('viewBox', options.viewBox);
|
|
104
|
+
}
|
|
105
|
+
return svg;
|
|
106
|
+
}
|
|
107
|
+
_svgElementFromConfig(config) {
|
|
108
|
+
if (!config.svgElement) {
|
|
109
|
+
const svg = this._svgElementFromString(config.svgText);
|
|
110
|
+
this._setSvgAttributes(svg, config.options);
|
|
111
|
+
config.svgElement = svg;
|
|
112
|
+
}
|
|
113
|
+
return config.svgElement;
|
|
114
|
+
}
|
|
115
|
+
_svgElementFromString(str) {
|
|
116
|
+
const div = this._document.createElement('div');
|
|
117
|
+
div.innerHTML = str;
|
|
118
|
+
const svg = div.querySelector('svg');
|
|
119
|
+
return svg;
|
|
120
|
+
}
|
|
121
|
+
_fetchIcon(iconConfig) {
|
|
122
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
123
|
+
if (!this._httpClient) {
|
|
124
|
+
throw getSvgIconNoHttpClientProvidedError();
|
|
125
|
+
}
|
|
126
|
+
const url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, iconConfig.url);
|
|
127
|
+
if (!url) {
|
|
128
|
+
throw getSvgIconFailedToSanitizeUrlError(iconConfig.url);
|
|
129
|
+
}
|
|
130
|
+
const inProgressFetch = this._inProgressSvgIconFetch.get(url);
|
|
131
|
+
if (inProgressFetch) {
|
|
132
|
+
return inProgressFetch;
|
|
133
|
+
}
|
|
134
|
+
const req = this._httpClient.get(url, { responseType: 'text' }).pipe(map((svg) => {
|
|
135
|
+
return trustedHTMLFromString(svg);
|
|
136
|
+
}), finalize(() => this._inProgressSvgIconFetch.delete(url)), share());
|
|
137
|
+
this._inProgressSvgIconFetch.set(url, req);
|
|
138
|
+
return req;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return of(trustedHTMLFromString('<svg></svg>'));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
145
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconRegistry, providedIn: 'root' }); }
|
|
146
|
+
}
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconRegistry, decorators: [{
|
|
148
|
+
type: Injectable,
|
|
149
|
+
args: [{
|
|
150
|
+
providedIn: 'root',
|
|
151
|
+
}]
|
|
152
|
+
}] });
|
|
153
|
+
function cloneSvg(svg) {
|
|
154
|
+
return svg.cloneNode(true);
|
|
155
|
+
}
|
|
156
|
+
function iconKey(namespace, iconName) {
|
|
157
|
+
return `${namespace}:${iconName}`;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxZQUFZLEVBQXdCLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFtQixNQUFNLE1BQU0sQ0FBQzs7QUFFbEYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFFBQWdCO0lBQ3ZELE9BQU8sS0FBSyxDQUFDLGlDQUFpQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsa0NBQWtDLENBQUMsR0FBYTtJQUM5RCxPQUFPLEtBQUssQ0FDVixnSEFBZ0gsR0FBYSxFQUFFLENBQ2hJLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLEdBQW9CO0lBQ3JFLE9BQU8sS0FBSyxDQUNWLHNIQUFzSCxHQUFhLEVBQUUsQ0FDdEksQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUNBQW1DO0lBQ2pELE9BQU8sS0FBSyxDQUNWLDBKQUEwSixDQUMzSixDQUFDO0FBQ0osQ0FBQztBQU1ELE1BQU0sT0FBTyxh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QUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUN4RCxLQUFLLEVBQUUsQ0FDUixDQUFDO1lBRUYsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDM0MsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7OEdBN0pVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQWlLRCxTQUFTLFFBQVEsQ0FBQyxHQUFlO0lBQy9CLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWUsQ0FBQztBQUMzQyxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsU0FBaUIsRUFBRSxRQUFnQjtJQUNsRCxPQUFPLEdBQUcsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoYW5rcyB0byBBbmd1bGFyIE1hdGVyaWFsIGZvciBJY29uIHBhcnQgb2YgdGhpcyBsaWJyYXJ5IDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50c1xuICovXG5cbmltcG9ydCB7IHRydXN0ZWRIVE1MRnJvbVN0cmluZyB9IGZyb20gJy4vdHJ1c3RlZC10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFRydXN0ZWRIVE1MIH0gZnJvbSAnLi90cnVzdGVkLXR5cGVzJztcblxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgdHlwZSB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCwgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIHR5cGUgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwLCBvZiwgc2hhcmUsIHRhcCwgdGhyb3dFcnJvciwgdHlwZSBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdmdJY29uRnJvbU5hbWVkRXJyb3IoaWNvbk5hbWU6IHN0cmluZyk6IEVycm9yIHtcbiAgcmV0dXJuIEVycm9yKGBVbmFibGUgdG8gZmluZCBpY29uIHdpdGggbmFtZSAke2ljb25OYW1lfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3ZnSWNvbkZhaWxlZFRvU2FuaXRpemVSYXdFcnJvcihyYXc6IFNhZmVIdG1sKTogRXJyb3Ige1xuICByZXR1cm4gRXJyb3IoXG4gICAgYFRoZSByYXcgcHJvdmlkZWQgdG8gSWNvblJlZ2lzdHJ5IHdhcyBub3QgdHJ1c3RlZCBhcyBzYWZlIEhUTUwgYnkgQU5HVUxBUidzIERPTVNhbml0aXplci4gQXR0ZW1wdGVkIHJhdyB3YXMgOiAke3JhdyBhcyBzdHJpbmd9YCxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplVXJsRXJyb3IodXJsOiBTYWZlUmVzb3VyY2VVcmwpOiBFcnJvciB7XG4gIHJldHVybiBFcnJvcihcbiAgICBgVGhlIFVSTCBwcm92aWRlZCB0byBJY29uUmVnaXN0cnkgd2FzIG5vdCB0cnVzdGVkIGFzIGEgcmVzb3VyY2UgVVJMIHZpYSBBbmd1bGFyJ3MgRE9NU2FuaXRpemVyLiBBdHRlbXB0ZWQgVVJMIHdhcyA6ICR7dXJsIGFzIHN0cmluZ31gLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3ZnSWNvbk5vSHR0cENsaWVudFByb3ZpZGVkRXJyb3IoKTogRXJyb3Ige1xuICByZXR1cm4gRXJyb3IoXG4gICAgYENvdWxkIG5vdCBmaWQgSHR0cENsaWVudCBwcm92aWRlciBmb3IgdXNlIHdpdGggZmxvd2JpdGUtYW5ndWxhciBpY29ucy4gUGxlYXNlIGluY2x1ZGUgdGhlIEh0dHBDbGllbnRNb2R1bGUgZnJvbSBAYW5ndWxhci9jb21tb24vaHR0cCBpbiB5b3VyIGFwcCBpbXBvcnRzYCxcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdmdJY29uT3B0aW9ucyB7XG4gIHZpZXdCb3g6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFN2Z0ljb25Db25maWcge1xuICBzdmdFbGVtZW50OiBTVkdFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHVybDogU2FmZVJlc291cmNlVXJsLFxuICAgIHB1YmxpYyBzdmdUZXh0OiBUcnVzdGVkSFRNTCB8IHVuZGVmaW5lZCxcbiAgICBwdWJsaWMgb3B0aW9ucz86IFN2Z0ljb25PcHRpb25zLFxuICApIHt9XG59XG5cbnR5cGUgTG9hZGVkU3ZnSWNvbkNvbmZpZyA9IFN2Z0ljb25Db25maWcgJiB7IHN2Z1RleHQ6IFRydXN0ZWRIVE1MIH07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uUmVnaXN0cnkgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIHByaXZhdGUgX2h0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBfc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHByaXZhdGUgX2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICBwcml2YXRlIF9zdmdJY29uQ29uZmlnID0gbmV3IE1hcDxzdHJpbmcsIFN2Z0ljb25Db25maWc+KCk7XG4gIHByaXZhdGUgX2NhY2hlZFN2Z0ljb25CeVVybCA9IG5ldyBNYXA8c3RyaW5nLCBTVkdFbGVtZW50PigpO1xuICBwcml2YXRlIF9pblByb2dyZXNzU3ZnSWNvbkZldGNoID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8VHJ1c3RlZEhUTUw+PigpO1xuXG4gIHB1YmxpYyBhZGRTdmdJY29uKGljb25OYW1lOiBzdHJpbmcsIHVybDogU2FmZVJlc291cmNlVXJsLCBvcHRpb25zPzogU3ZnSWNvbk9wdGlvbnMpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRTdmdJY29uSW5OYW1lc3BhY2UoJycsIGljb25OYW1lLCB1cmwsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGFkZFJhd1N2Z0ljb24oaWNvbk5hbWU6IHN0cmluZywgcmF3OiBTYWZlSHRtbCwgb3B0aW9ucz86IFN2Z0ljb25PcHRpb25zKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkUmF3U3ZnSWNvbkluTmFtZXBzYWNlKCcnLCBpY29uTmFtZSwgcmF3LCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTdmdJY29uSW5OYW1lc3BhY2UoXG4gICAgbmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgaWNvbk5hbWU6IHN0cmluZyxcbiAgICB1cmw6IFNhZmVSZXNvdXJjZVVybCxcbiAgICBvcHRpb25zPzogU3ZnSWNvbk9wdGlvbnMsXG4gICk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9hZGRTdmdJY29uQ29uZmlnKG5hbWVzcGFjZSwgaWNvbk5hbWUsIG5ldyBTdmdJY29uQ29uZmlnKHVybCwgdW5kZWZpbmVkLCBvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYWRkUmF3U3ZnSWNvbkluTmFtZXBzYWNlKG5hbWVzcGFjZTogc3RyaW5nLCBpY29uTmFtZTogc3RyaW5nLCByYXc6IFNhZmVIdG1sLCBvcHRpb25zPzogU3ZnSWNvbk9wdGlvbnMpOiB0aGlzIHtcbiAgICBjb25zdCBjbGVhblJhdyA9IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgcmF3KTtcblxuICAgIGlmICghY2xlYW5SYXcpIHtcbiAgICAgIHRocm93IGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplUmF3RXJyb3IocmF3KTtcbiAgICB9XG5cbiAgICBjb25zdCB0cnVzdGVkUmF3ID0gdHJ1c3RlZEhUTUxGcm9tU3RyaW5nKGNsZWFuUmF3KTtcbiAgICByZXR1cm4gdGhpcy5fYWRkU3ZnSWNvbkNvbmZpZyhuYW1lc3BhY2UsIGljb25OYW1lLCBuZXcgU3ZnSWNvbkNvbmZpZygnJywgdHJ1c3RlZFJhdywgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGdldFN2Z0ljb25Gcm9tVXJsKHNhZmVVcmw6IFNhZmVSZXNvdXJjZVVybCk6IE9ic2VydmFibGU8U1ZHRWxlbWVudD4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuUkVTT1VSQ0VfVVJMLCBzYWZlVXJsKTtcblxuICAgIGlmICghdXJsKSB7XG4gICAgICB0aHJvdyBnZXRTdmdJY29uRmFpbGVkVG9TYW5pdGl6ZVVybEVycm9yKHNhZmVVcmwpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhY2hlZEljb24gPSB0aGlzLl9jYWNoZWRTdmdJY29uQnlVcmwuZ2V0KHVybCk7XG5cbiAgICBpZiAoY2FjaGVkSWNvbikge1xuICAgICAgcmV0dXJuIG9mKGNsb25lU3ZnKGNhY2hlZEljb24pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbG9hZFN2Z0ljb25Gcm9tQ29uZmlnKG5ldyBTdmdJY29uQ29uZmlnKHNhZmVVcmwsIHVuZGVmaW5lZCkpO1xuICB9XG5cbiAgcHVibGljIGdldFN2Z0ljb25Gcm9tTmFtZShpY29uTmFtZTogc3RyaW5nLCBuYW1lc3BhY2U6IHN0cmluZyk6IE9ic2VydmFibGU8U1ZHRWxlbWVudD4ge1xuICAgIGNvbnN0IGtleSA9IGljb25LZXkobmFtZXNwYWNlLCBpY29uTmFtZSk7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5fc3ZnSWNvbkNvbmZpZy5nZXQoa2V5KTtcblxuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXRTdmdJY29uRnJvbUNvbmZpZyhjb25maWcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGdldFN2Z0ljb25Gcm9tTmFtZWRFcnJvcihrZXkpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdmdJY29uQ29uZmlnLmNsZWFyKCk7XG4gICAgdGhpcy5fY2FjaGVkU3ZnSWNvbkJ5VXJsLmNsZWFyKCk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRTdmdJY29uQ29uZmlnKG5hbWVzcGFjZTogc3RyaW5nLCBpY29uTmFtZTogc3RyaW5nLCBjb25maWc6IFN2Z0ljb25Db25maWcpOiB0aGlzIHtcbiAgICB0aGlzLl9zdmdJY29uQ29uZmlnLnNldChpY29uS2V5KG5hbWVzcGFjZSwgaWNvbk5hbWUpLCBjb25maWcpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdmdJY29uRnJvbUNvbmZpZyhjb25maWc6IFN2Z0ljb25Db25maWcpOiBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+IHtcbiAgICBpZiAoY29uZmlnLnN2Z1RleHQpIHtcbiAgICAgIHJldHVybiBvZihjbG9uZVN2Zyh0aGlzLl9zdmdFbGVtZW50RnJvbUNvbmZpZyhjb25maWcgYXMgTG9hZGVkU3ZnSWNvbkNvbmZpZykpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvYWRTdmdJY29uRnJvbUNvbmZpZyhjb25maWcpLnBpcGUobWFwKChzdmcpID0+IGNsb25lU3ZnKHN2ZykpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9sb2FkU3ZnSWNvbkZyb21Db25maWcoY29uZmlnOiBTdmdJY29uQ29uZmlnKTogT2JzZXJ2YWJsZTxTVkdFbGVtZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZldGNoSWNvbihjb25maWcpLnBpcGUoXG4gICAgICB0YXAoKHN2Z1RleHQpID0+IChjb25maWcuc3ZnVGV4dCA9IHN2Z1RleHQpKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLl9zdmdFbGVtZW50RnJvbUNvbmZpZyhjb25maWcgYXMgTG9hZGVkU3ZnSWNvbkNvbmZpZykpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRTdmdBdHRyaWJ1dGVzKHN2ZzogU1ZHRWxlbWVudCwgb3B0aW9ucz86IFN2Z0ljb25PcHRpb25zKTogU1ZHRWxlbWVudCB7XG4gICAgc3ZnLnNldEF0dHJpYnV0ZSgnZml0JywgJycpO1xuICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsICcxMDAlJyk7XG4gICAgc3ZnLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAnMTAwJScpO1xuICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAneE1pZFlNaWQgbWVldCcpO1xuICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ2ZvY3VzYWJsZScsICdmYWxzZScpO1xuXG4gICAgaWYgKG9wdGlvbnM/LnZpZXdCb3gpIHtcbiAgICAgIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCBvcHRpb25zLnZpZXdCb3gpO1xuICAgIH1cblxuICAgIHJldHVybiBzdmc7XG4gIH1cblxuICBwcml2YXRlIF9zdmdFbGVtZW50RnJvbUNvbmZpZyhjb25maWc6IExvYWRlZFN2Z0ljb25Db25maWcpOiBTVkdFbGVtZW50IHtcbiAgICBpZiAoIWNvbmZpZy5zdmdFbGVtZW50KSB7XG4gICAgICBjb25zdCBzdmcgPSB0aGlzLl9zdmdFbGVtZW50RnJvbVN0cmluZyhjb25maWcuc3ZnVGV4dCk7XG5cbiAgICAgIHRoaXMuX3NldFN2Z0F0dHJpYnV0ZXMoc3ZnLCBjb25maWcub3B0aW9ucyk7XG4gICAgICBjb25maWcuc3ZnRWxlbWVudCA9IHN2ZztcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLnN2Z0VsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9zdmdFbGVtZW50RnJvbVN0cmluZyhzdHI6IFRydXN0ZWRIVE1MKTogU1ZHRWxlbWVudCB7XG4gICAgY29uc3QgZGl2ID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LmlubmVySFRNTCA9IHN0ciBhcyB1bmtub3duIGFzIHN0cmluZztcblxuICAgIGNvbnN0IHN2ZyA9IGRpdi5xdWVyeVNlbGVjdG9yKCdzdmcnKSBhcyBTVkdFbGVtZW50O1xuXG4gICAgcmV0dXJuIHN2ZztcbiAgfVxuXG4gIHByaXZhdGUgX2ZldGNoSWNvbihpY29uQ29uZmlnOiBTdmdJY29uQ29uZmlnKTogT2JzZXJ2YWJsZTxUcnVzdGVkSFRNTD4ge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBpZiAoIXRoaXMuX2h0dHBDbGllbnQpIHtcbiAgICAgICAgdGhyb3cgZ2V0U3ZnSWNvbk5vSHR0cENsaWVudFByb3ZpZGVkRXJyb3IoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXJsID0gdGhpcy5fc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5SRVNPVVJDRV9VUkwsIGljb25Db25maWcudXJsKTtcblxuICAgICAgaWYgKCF1cmwpIHtcbiAgICAgICAgdGhyb3cgZ2V0U3ZnSWNvbkZhaWxlZFRvU2FuaXRpemVVcmxFcnJvcihpY29uQ29uZmlnLnVybCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGluUHJvZ3Jlc3NGZXRjaCA9IHRoaXMuX2luUHJvZ3Jlc3NTdmdJY29uRmV0Y2guZ2V0KHVybCk7XG5cbiAgICAgIGlmIChpblByb2dyZXNzRmV0Y2gpIHtcbiAgICAgICAgcmV0dXJuIGluUHJvZ3Jlc3NGZXRjaDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVxID0gdGhpcy5faHR0cENsaWVudC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pLnBpcGUoXG4gICAgICAgIG1hcCgoc3ZnKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRydXN0ZWRIVE1MRnJvbVN0cmluZyhzdmcpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5faW5Qcm9ncmVzc1N2Z0ljb25GZXRjaC5kZWxldGUodXJsKSksXG4gICAgICAgIHNoYXJlKCksXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pblByb2dyZXNzU3ZnSWNvbkZldGNoLnNldCh1cmwsIHJlcSk7XG4gICAgICByZXR1cm4gcmVxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YodHJ1c3RlZEhUTUxGcm9tU3RyaW5nKCc8c3ZnPjwvc3ZnPicpKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVTdmcoc3ZnOiBTVkdFbGVtZW50KTogU1ZHRWxlbWVudCB7XG4gIHJldHVybiBzdmcuY2xvbmVOb2RlKHRydWUpIGFzIFNWR0VsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGljb25LZXkobmFtZXNwYWNlOiBzdHJpbmcsIGljb25OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7bmFtZXNwYWNlfToke2ljb25OYW1lfWA7XG59XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BaseComponent } from '../base-component.directive';
|
|
2
|
+
import { IconRegistry } from './icon-registry';
|
|
3
|
+
import { Component, effect, ElementRef, inject, model } from '@angular/core';
|
|
4
|
+
import { take } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class IconComponent extends BaseComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._elementRef = inject((ElementRef));
|
|
10
|
+
this._iconRegistry = inject(IconRegistry);
|
|
11
|
+
this.svgIcon = model.required();
|
|
12
|
+
}
|
|
13
|
+
init() {
|
|
14
|
+
effect(() => {
|
|
15
|
+
this._updateSvgIcon();
|
|
16
|
+
}, { injector: this.injector });
|
|
17
|
+
}
|
|
18
|
+
fetchClass() {
|
|
19
|
+
return { rootClass: '' };
|
|
20
|
+
}
|
|
21
|
+
_splitIconName(iconName) {
|
|
22
|
+
if (!iconName) {
|
|
23
|
+
return ['', ''];
|
|
24
|
+
}
|
|
25
|
+
const parts = iconName.split(':');
|
|
26
|
+
switch (parts.length) {
|
|
27
|
+
case 1:
|
|
28
|
+
return ['', parts[0]];
|
|
29
|
+
case 2:
|
|
30
|
+
return parts;
|
|
31
|
+
default:
|
|
32
|
+
throw Error(`Invalid icon name: "${iconName}"`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
_updateSvgIcon() {
|
|
36
|
+
const [namespace, iconName] = this._splitIconName(this.svgIcon());
|
|
37
|
+
this._iconRegistry
|
|
38
|
+
.getSvgIconFromName(iconName, namespace)
|
|
39
|
+
.pipe(take(1))
|
|
40
|
+
.subscribe((svg) => this._setSvgElement(svg));
|
|
41
|
+
}
|
|
42
|
+
_setSvgElement(svg) {
|
|
43
|
+
this._clearSvgElements();
|
|
44
|
+
this._elementRef.nativeElement.appendChild(svg);
|
|
45
|
+
}
|
|
46
|
+
_clearSvgElements() {
|
|
47
|
+
const layoutElement = this._elementRef.nativeElement;
|
|
48
|
+
let childCount = layoutElement.childNodes.length;
|
|
49
|
+
while (childCount--) {
|
|
50
|
+
const child = layoutElement.childNodes[childCount];
|
|
51
|
+
if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {
|
|
52
|
+
child.remove();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: IconComponent, isStandalone: true, selector: "flowbite-icon", inputs: { svgIcon: { classPropertyName: "svgIcon", publicName: "svgIcon", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { svgIcon: "svgIconChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true }); }
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IconComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{
|
|
62
|
+
selector: 'flowbite-icon',
|
|
63
|
+
standalone: true,
|
|
64
|
+
template: `<ng-content />`,
|
|
65
|
+
}]
|
|
66
|
+
}] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU81QixNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQTRCO0lBTC9EOztRQU1TLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBQ3ZFLGtCQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7S0EwRDNDO0lBeERpQixJQUFJO1FBQ2xCLE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxFQUNELEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFZSxVQUFVO1FBQ3hCLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFnQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLEtBQUssQ0FBQztnQkFDSixPQUF5QixLQUFLLENBQUM7WUFDakM7Z0JBQ0UsTUFBTSxLQUFLLENBQUMsdUJBQXVCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsYUFBYTthQUNmLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7YUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxjQUFjLENBQUMsR0FBZTtRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLGFBQWEsR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDbEUsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFFakQsT0FBTyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFbkQsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNuRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQTdEVSxhQUFhO2tHQUFiLGFBQWEsZ1JBRmQsZ0JBQWdCOzsyRkFFZixhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoYW5rcyB0byBBbmd1bGFyIE1hdGVyaWFsIGZvciBJY29uIHBhcnQgb2YgdGhpcyBsaWJyYXJ5IDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50c1xuICovXG5cbmltcG9ydCB0eXBlIHsgRmxvd2JpdGVDbGFzcyB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1jb21wb25lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4vaWNvbi1yZWdpc3RyeSc7XG5cbmltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbG93Yml0ZS1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PEZsb3diaXRlQ2xhc3M+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gIHB1YmxpYyBfaWNvblJlZ2lzdHJ5ID0gaW5qZWN0KEljb25SZWdpc3RyeSk7XG5cbiAgcHVibGljIHN2Z0ljb24gPSBtb2RlbC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVTdmdJY29uKCk7XG4gICAgICB9LFxuICAgICAgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZmV0Y2hDbGFzcygpOiBGbG93Yml0ZUNsYXNzIHtcbiAgICByZXR1cm4geyByb290Q2xhc3M6ICcnIH07XG4gIH1cblxuICBwcml2YXRlIF9zcGxpdEljb25OYW1lKGljb25OYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddIHtcbiAgICBpZiAoIWljb25OYW1lKSB7XG4gICAgICByZXR1cm4gWycnLCAnJ107XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHMgPSBpY29uTmFtZS5zcGxpdCgnOicpO1xuICAgIHN3aXRjaCAocGFydHMubGVuZ3RoKSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHJldHVybiBbJycsIHBhcnRzWzBdXTtcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgcmV0dXJuIDxbc3RyaW5nLCBzdHJpbmddPnBhcnRzO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgaWNvbiBuYW1lOiBcIiR7aWNvbk5hbWV9XCJgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTdmdJY29uKCkge1xuICAgIGNvbnN0IFtuYW1lc3BhY2UsIGljb25OYW1lXSA9IHRoaXMuX3NwbGl0SWNvbk5hbWUodGhpcy5zdmdJY29uKCkpO1xuXG4gICAgdGhpcy5faWNvblJlZ2lzdHJ5XG4gICAgICAuZ2V0U3ZnSWNvbkZyb21OYW1lKGljb25OYW1lLCBuYW1lc3BhY2UpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoc3ZnKSA9PiB0aGlzLl9zZXRTdmdFbGVtZW50KHN2ZykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U3ZnRWxlbWVudChzdmc6IFNWR0VsZW1lbnQpIHtcbiAgICB0aGlzLl9jbGVhclN2Z0VsZW1lbnRzKCk7XG5cbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoc3ZnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsZWFyU3ZnRWxlbWVudHMoKSB7XG4gICAgY29uc3QgbGF5b3V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IGNoaWxkQ291bnQgPSBsYXlvdXRFbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGNoaWxkQ291bnQtLSkge1xuICAgICAgY29uc3QgY2hpbGQgPSBsYXlvdXRFbGVtZW50LmNoaWxkTm9kZXNbY2hpbGRDb3VudF07XG5cbiAgICAgIGlmIChjaGlsZC5ub2RlVHlwZSAhPT0gMSB8fCBjaGlsZC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc3ZnJykge1xuICAgICAgICBjaGlsZC5yZW1vdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { IconComponent } from './icon.component';
|
|
2
|
+
export { IconRegistry, SvgIconConfig, getSvgIconFailedToSanitizeRawError, getSvgIconFailedToSanitizeUrlError, getSvgIconFromNamedError, getSvgIconNoHttpClientProvidedError, } from './icon-registry';
|
|
3
|
+
export { trustedHTMLFromString } from './trusted-types';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ljb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sRUFDTCxZQUFZLEVBQ1osYUFBYSxFQUNiLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLG1DQUFtQyxHQUNwQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0IHR5cGUgeyBTdmdJY29uT3B0aW9ucyB9IGZyb20gJy4vaWNvbi1yZWdpc3RyeSc7XG5leHBvcnQge1xuICBJY29uUmVnaXN0cnksXG4gIFN2Z0ljb25Db25maWcsXG4gIGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplUmF3RXJyb3IsXG4gIGdldFN2Z0ljb25GYWlsZWRUb1Nhbml0aXplVXJsRXJyb3IsXG4gIGdldFN2Z0ljb25Gcm9tTmFtZWRFcnJvcixcbiAgZ2V0U3ZnSWNvbk5vSHR0cENsaWVudFByb3ZpZGVkRXJyb3IsXG59IGZyb20gJy4vaWNvbi1yZWdpc3RyeSc7XG5leHBvcnQgdHlwZSB7IFRydXN0ZWRIVE1MLCBUcnVzdGVkVHlwZVBvbGljeSwgVHJ1c3RlZFR5cGVQb2xpY3lGYWN0b3J5IH0gZnJvbSAnLi90cnVzdGVkLXR5cGVzJztcbmV4cG9ydCB7IHRydXN0ZWRIVE1MRnJvbVN0cmluZyB9IGZyb20gJy4vdHJ1c3RlZC10eXBlcyc7XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thanks to Angular Material for Icon part of this library : https://github.com/angular/components
|
|
3
|
+
*/
|
|
4
|
+
let policy;
|
|
5
|
+
function getPolicy() {
|
|
6
|
+
if (!policy) {
|
|
7
|
+
if (typeof window !== 'undefined') {
|
|
8
|
+
const tWindow = window;
|
|
9
|
+
if (tWindow.trustedTypes !== undefined) {
|
|
10
|
+
policy = tWindow.trustedTypes.createPolicy('angular#components', {
|
|
11
|
+
createHTML: (s) => s,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return policy;
|
|
17
|
+
}
|
|
18
|
+
export function trustedHTMLFromString(raw) {
|
|
19
|
+
return getPolicy()?.createHTML(raw) || raw;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmxvd2JpdGUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi90cnVzdGVkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBbUJILElBQUksTUFBcUMsQ0FBQztBQUUxQyxTQUFTLFNBQVM7SUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFnRSxDQUFDO1lBRWpGLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFO29CQUMvRCxVQUFVLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQzdCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsR0FBVztJQUMvQyxPQUFPLFNBQVMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSyxHQUE4QixDQUFDO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoYW5rcyB0byBBbmd1bGFyIE1hdGVyaWFsIGZvciBJY29uIHBhcnQgb2YgdGhpcyBsaWJyYXJ5IDogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50c1xuICovXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUcnVzdGVkSFRNTCB7XG4gIF9fYnJhbmRfXzogJ1RydXN0ZWRIVE1MJztcbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5RmFjdG9yeSB7XG4gIGNyZWF0ZVBvbGljeShcbiAgICBwb2xpY3lOYW1lOiBzdHJpbmcsXG4gICAgcG9saWN5T3B0aW9uczoge1xuICAgICAgY3JlYXRlSFRNTD86IChpbnB1dDogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgfSxcbiAgKTogVHJ1c3RlZFR5cGVQb2xpY3k7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUcnVzdGVkVHlwZVBvbGljeSB7XG4gIGNyZWF0ZUhUTUwoaW5wdXQ6IHN0cmluZyk6IFRydXN0ZWRIVE1MO1xufVxuXG5sZXQgcG9saWN5OiBUcnVzdGVkVHlwZVBvbGljeSB8IHVuZGVmaW5lZDtcblxuZnVuY3Rpb24gZ2V0UG9saWN5KCk6IFRydXN0ZWRUeXBlUG9saWN5IHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFwb2xpY3kpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IHRXaW5kb3cgPSB3aW5kb3cgYXMgdW5rbm93biBhcyB7IHRydXN0ZWRUeXBlcz86IFRydXN0ZWRUeXBlUG9saWN5RmFjdG9yeSB9O1xuXG4gICAgICBpZiAodFdpbmRvdy50cnVzdGVkVHlwZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2xpY3kgPSB0V2luZG93LnRydXN0ZWRUeXBlcy5jcmVhdGVQb2xpY3koJ2FuZ3VsYXIjY29tcG9uZW50cycsIHtcbiAgICAgICAgICBjcmVhdGVIVE1MOiAoczogc3RyaW5nKSA9PiBzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcG9saWN5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJ1c3RlZEhUTUxGcm9tU3RyaW5nKHJhdzogc3RyaW5nKTogVHJ1c3RlZEhUTUwge1xuICByZXR1cm4gZ2V0UG9saWN5KCk/LmNyZWF0ZUhUTUwocmF3KSB8fCAocmF3IGFzIHVua25vd24gYXMgVHJ1c3RlZEhUTUwpO1xufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './accordion';
|
|
2
|
+
export * from './alert';
|
|
3
|
+
export * from './badge';
|
|
4
|
+
export * from './breadcrumb';
|
|
5
|
+
export * from './button';
|
|
6
|
+
export * from './dark-theme-toggle';
|
|
7
|
+
export * from './dropdown';
|
|
8
|
+
export * from './form-field';
|
|
9
|
+
export * from './icon';
|
|
10
|
+
export * from './indicators';
|
|
11
|
+
export * from './modal';
|
|
12
|
+
export * from './navbar';
|
|
13
|
+
export * from './scroll-top';
|
|
14
|
+
export * from './sidebar';
|
|
15
|
+
export { BaseComponent } from './base-component.directive';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFFMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydCc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlJztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYic7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL2RhcmstdGhlbWUtdG9nZ2xlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24nO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbic7XG5leHBvcnQgKiBmcm9tICcuL2luZGljYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL25hdmJhcic7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbC10b3AnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWRlYmFyJztcblxuZXhwb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQuZGlyZWN0aXZlJzsiXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { IndicatorComponent } from './indicators.component';
|
|
2
|
+
export { indicatorTheme } from './indicators.theme';
|
|
3
|
+
export { FLOWBITE_INDICATOR_THEME_TOKEN, IndicatorThemeService } from './indicators.theme.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGljYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9pbmRpY2F0b3JzLmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7XG4gIEluZGljYXRvclByb3BlcnRpZXMsXG4gIGluZGljYXRvckNsYXNzLFxuICBJbmRpY2F0b3JDb2xvcnMsXG4gIEluZGljYXRvclRoZW1lLFxuICBJbmRpY2F0b3JQb3NpdGlvbnMsXG4gIEluZGljYXRvclNpemVzLFxufSBmcm9tICcuL2luZGljYXRvcnMudGhlbWUnO1xuZXhwb3J0IHsgaW5kaWNhdG9yVGhlbWUgfSBmcm9tICcuL2luZGljYXRvcnMudGhlbWUnO1xuZXhwb3J0IHsgRkxPV0JJVEVfSU5ESUNBVE9SX1RIRU1FX1RPS0VOLCBJbmRpY2F0b3JUaGVtZVNlcnZpY2UgfSBmcm9tICcuL2luZGljYXRvcnMudGhlbWUuc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { booleanToFlowbiteBoolean } from '../../utils/boolean.util';
|
|
2
|
+
import { BaseComponent } from '../base-component.directive';
|
|
3
|
+
import { IndicatorThemeService } from './indicators.theme.service';
|
|
4
|
+
import { NgClass } from '@angular/common';
|
|
5
|
+
import { Component, inject, model } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* @see https://flowbite.com/docs/components/indicators/
|
|
9
|
+
*/
|
|
10
|
+
export class IndicatorComponent extends BaseComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.themeService = inject(IndicatorThemeService);
|
|
14
|
+
//#region properties
|
|
15
|
+
this.isPill = model(false);
|
|
16
|
+
this.isOutline = model(false);
|
|
17
|
+
this.isDisabled = model(false);
|
|
18
|
+
this.hasOffset = model(false);
|
|
19
|
+
this.isRounded = model(false);
|
|
20
|
+
this.hasBorder = model(false);
|
|
21
|
+
this.color = model('primary');
|
|
22
|
+
this.size = model('md');
|
|
23
|
+
this.placement = model(undefined);
|
|
24
|
+
this.customStyle = model({});
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region BaseComponent implementation
|
|
28
|
+
fetchClass() {
|
|
29
|
+
return this.themeService.getClasses({
|
|
30
|
+
hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),
|
|
31
|
+
color: this.color(),
|
|
32
|
+
isDisabled: booleanToFlowbiteBoolean(this.isDisabled()),
|
|
33
|
+
hasOffset: booleanToFlowbiteBoolean(this.hasOffset()),
|
|
34
|
+
isOutline: booleanToFlowbiteBoolean(this.isOutline()),
|
|
35
|
+
isPill: booleanToFlowbiteBoolean(this.isPill()),
|
|
36
|
+
isRounded: booleanToFlowbiteBoolean(this.isRounded()),
|
|
37
|
+
size: this.size(),
|
|
38
|
+
placement: this.placement(),
|
|
39
|
+
customStyle: this.customStyle(),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IndicatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: IndicatorComponent, isStandalone: true, selector: "flowbite-indicator", inputs: { isPill: { classPropertyName: "isPill", publicName: "isPill", isSignal: true, isRequired: false, transformFunction: null }, isOutline: { classPropertyName: "isOutline", publicName: "isOutline", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hasOffset: { classPropertyName: "hasOffset", publicName: "hasOffset", isSignal: true, isRequired: false, transformFunction: null }, isRounded: { classPropertyName: "isRounded", publicName: "isRounded", isSignal: true, isRequired: false, transformFunction: null }, hasBorder: { classPropertyName: "hasBorder", publicName: "hasBorder", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isPill: "isPillChange", isOutline: "isOutlineChange", isDisabled: "isDisabledChange", hasOffset: "hasOffsetChange", isRounded: "isRoundedChange", hasBorder: "hasBorderChange", color: "colorChange", size: "sizeChange", placement: "placementChange", customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IndicatorComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{
|
|
48
|
+
standalone: true,
|
|
49
|
+
imports: [NgClass],
|
|
50
|
+
selector: 'flowbite-indicator',
|
|
51
|
+
template: `<ng-content />`,
|
|
52
|
+
}]
|
|
53
|
+
}] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWNhdG9ycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Zsb3diaXRlLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2luZGljYXRvcnMvaW5kaWNhdG9ycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBUTVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpEOztHQUVHO0FBT0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQTZCO0lBTnJFOztRQU9rQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTdELG9CQUFvQjtRQUNiLFdBQU0sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0IsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLFVBQUssR0FBRyxLQUFLLENBQXdCLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELFNBQUksR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQXVDLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsS0FBSyxDQUE4QixFQUFFLENBQUMsQ0FBQztLQW1CN0Q7SUFsQkMsWUFBWTtJQUVaLHNDQUFzQztJQUN0QixVQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7WUFDbEMsU0FBUyxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuQixVQUFVLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZELFNBQVMsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckQsU0FBUyxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyRCxNQUFNLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLFNBQVMsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5QlUsa0JBQWtCO2tHQUFsQixrQkFBa0IscXFEQUZuQixnQkFBZ0I7OzJGQUVmLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVlcFBhcnRpYWwgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhblRvRmxvd2JpdGVCb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMvYm9vbGVhbi51dGlsJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHR5cGUge1xuICBpbmRpY2F0b3JDbGFzcyxcbiAgSW5kaWNhdG9yQ29sb3JzLFxuICBJbmRpY2F0b3JQb3NpdGlvbnMsXG4gIEluZGljYXRvclNpemVzLFxuICBJbmRpY2F0b3JUaGVtZSxcbn0gZnJvbSAnLi9pbmRpY2F0b3JzLnRoZW1lJztcbmltcG9ydCB7IEluZGljYXRvclRoZW1lU2VydmljZSB9IGZyb20gJy4vaW5kaWNhdG9ycy50aGVtZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vZmxvd2JpdGUuY29tL2RvY3MvY29tcG9uZW50cy9pbmRpY2F0b3JzL1xuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxuICBzZWxlY3RvcjogJ2Zsb3diaXRlLWluZGljYXRvcicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgLz5gLFxufSlcbmV4cG9ydCBjbGFzcyBJbmRpY2F0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50PGluZGljYXRvckNsYXNzPiB7XG4gIHB1YmxpYyByZWFkb25seSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoSW5kaWNhdG9yVGhlbWVTZXJ2aWNlKTtcblxuICAvLyNyZWdpb24gcHJvcGVydGllc1xuICBwdWJsaWMgaXNQaWxsID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgaXNPdXRsaW5lID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgaXNEaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGhhc09mZnNldCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGlzUm91bmRlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGhhc0JvcmRlciA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIGNvbG9yID0gbW9kZWw8a2V5b2YgSW5kaWNhdG9yQ29sb3JzPigncHJpbWFyeScpO1xuICBwdWJsaWMgc2l6ZSA9IG1vZGVsPGtleW9mIEluZGljYXRvclNpemVzPignbWQnKTtcbiAgcHVibGljIHBsYWNlbWVudCA9IG1vZGVsPGtleW9mIEluZGljYXRvclBvc2l0aW9ucyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHVibGljIGN1c3RvbVN0eWxlID0gbW9kZWw8RGVlcFBhcnRpYWw8SW5kaWNhdG9yVGhlbWU+Pih7fSk7XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBCYXNlQ29tcG9uZW50IGltcGxlbWVudGF0aW9uXG4gIHB1YmxpYyBvdmVycmlkZSBmZXRjaENsYXNzKCk6IGluZGljYXRvckNsYXNzIHtcbiAgICByZXR1cm4gdGhpcy50aGVtZVNlcnZpY2UuZ2V0Q2xhc3Nlcyh7XG4gICAgICBoYXNCb3JkZXI6IGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbih0aGlzLmhhc0JvcmRlcigpKSxcbiAgICAgIGNvbG9yOiB0aGlzLmNvbG9yKCksXG4gICAgICBpc0Rpc2FibGVkOiBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4odGhpcy5pc0Rpc2FibGVkKCkpLFxuICAgICAgaGFzT2Zmc2V0OiBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4odGhpcy5oYXNPZmZzZXQoKSksXG4gICAgICBpc091dGxpbmU6IGJvb2xlYW5Ub0Zsb3diaXRlQm9vbGVhbih0aGlzLmlzT3V0bGluZSgpKSxcbiAgICAgIGlzUGlsbDogYm9vbGVhblRvRmxvd2JpdGVCb29sZWFuKHRoaXMuaXNQaWxsKCkpLFxuICAgICAgaXNSb3VuZGVkOiBib29sZWFuVG9GbG93Yml0ZUJvb2xlYW4odGhpcy5pc1JvdW5kZWQoKSksXG4gICAgICBzaXplOiB0aGlzLnNpemUoKSxcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQoKSxcbiAgICAgIGN1c3RvbVN0eWxlOiB0aGlzLmN1c3RvbVN0eWxlKCksXG4gICAgfSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|