pdm-ui-kit 0.4.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.module.d.ts +8 -0
- package/alert/alert.module.d.ts +9 -0
- package/aspect-ratio/aspect-ratio.module.d.ts +8 -0
- package/avatar/avatar.module.d.ts +8 -0
- package/badge/badge.module.d.ts +8 -0
- package/breadcrumb/breadcrumb.module.d.ts +8 -0
- package/button/button.module.d.ts +9 -0
- package/calendar/calendar.module.d.ts +11 -0
- package/{lib/components/date-picker → calendar}/date-picker.component.d.ts +2 -2
- package/card/card.module.d.ts +8 -0
- package/carousel/carousel.module.d.ts +8 -0
- package/chart/chart.module.d.ts +8 -0
- package/checkbox/checkbox.module.d.ts +8 -0
- package/collapsible/collapsible.module.d.ts +8 -0
- package/combobox/combobox.module.d.ts +9 -0
- package/{lib/components/command → command}/command.component.d.ts +1 -1
- package/command/command.module.d.ts +9 -0
- package/{lib/components/context-menu → context-menu}/context-menu.component.d.ts +1 -1
- package/context-menu/context-menu.module.d.ts +9 -0
- package/{lib/components/data-table → data-table}/data-table.component.d.ts +1 -1
- package/data-table/data-table.module.d.ts +10 -0
- package/{lib/components/draggable-table → data-table}/draggable-table.component.d.ts +2 -2
- package/{lib/components/table → data-table}/table.component.d.ts +1 -1
- package/dialog/dialog.module.d.ts +8 -0
- package/drawer/drawer.module.d.ts +10 -0
- package/{lib/components/dropdown-menu → dropdown-menu}/dropdown-menu.component.d.ts +1 -1
- package/dropdown-menu/dropdown-menu.module.d.ts +9 -0
- package/empty/empty.module.d.ts +10 -0
- package/esm2020/{lib/components/accordion → accordion}/accordion.component.mjs +1 -1
- package/esm2020/accordion/accordion.module.mjs +21 -0
- package/esm2020/{lib/components/alert-dialog → alert}/alert-dialog.component.mjs +1 -1
- package/esm2020/{lib/components/alert → alert}/alert.component.mjs +1 -1
- package/esm2020/alert/alert.module.mjs +25 -0
- package/esm2020/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.mjs +1 -1
- package/esm2020/aspect-ratio/aspect-ratio.module.mjs +21 -0
- package/esm2020/{lib/components/avatar → avatar}/avatar.component.mjs +1 -1
- package/esm2020/avatar/avatar.module.mjs +21 -0
- package/esm2020/{lib/components/badge → badge}/badge.component.mjs +1 -1
- package/esm2020/badge/badge.module.mjs +21 -0
- package/esm2020/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.mjs +1 -1
- package/esm2020/breadcrumb/breadcrumb.module.mjs +21 -0
- package/esm2020/button/button-group.component.mjs +236 -0
- package/esm2020/button/button.component.mjs +114 -0
- package/esm2020/button/button.module.mjs +25 -0
- package/esm2020/calendar/calendar.component.mjs +529 -0
- package/esm2020/calendar/calendar.module.mjs +22 -0
- package/esm2020/{lib/components/date-picker → calendar}/date-picker.component.mjs +6 -6
- package/esm2020/{lib/components/card → card}/card.component.mjs +1 -1
- package/esm2020/card/card.module.mjs +21 -0
- package/esm2020/carousel/carousel.component.mjs +102 -0
- package/esm2020/carousel/carousel.module.mjs +21 -0
- package/esm2020/{lib/components/chart → chart}/chart.component.mjs +1 -1
- package/esm2020/chart/chart.module.mjs +21 -0
- package/esm2020/{lib/components/checkbox → checkbox}/checkbox.component.mjs +1 -1
- package/esm2020/checkbox/checkbox.module.mjs +21 -0
- package/esm2020/{lib/components/collapsible → collapsible}/collapsible.component.mjs +1 -1
- package/esm2020/collapsible/collapsible.module.mjs +21 -0
- package/esm2020/{lib/components/combobox → combobox}/combobox.component.mjs +2 -2
- package/esm2020/combobox/combobox.module.mjs +22 -0
- package/esm2020/command/command.component.mjs +75 -0
- package/esm2020/command/command.module.mjs +20 -0
- package/esm2020/context-menu/context-menu.component.mjs +165 -0
- package/esm2020/context-menu/context-menu.module.mjs +22 -0
- package/esm2020/data-table/data-table.component.mjs +299 -0
- package/esm2020/data-table/data-table.module.mjs +29 -0
- package/esm2020/data-table/draggable-table.component.mjs +300 -0
- package/esm2020/data-table/table.component.mjs +182 -0
- package/esm2020/dialog/dialog.component.mjs +265 -0
- package/esm2020/dialog/dialog.module.mjs +21 -0
- package/esm2020/drawer/drawer.component.mjs +217 -0
- package/esm2020/drawer/drawer.module.mjs +21 -0
- package/esm2020/drawer/sheet.component.mjs +116 -0
- package/esm2020/dropdown-menu/dropdown-menu.component.mjs +192 -0
- package/esm2020/dropdown-menu/dropdown-menu.module.mjs +22 -0
- package/esm2020/{lib/components/empty → empty}/empty.component.mjs +3 -3
- package/esm2020/empty/empty.module.mjs +21 -0
- package/esm2020/{lib/components/field → field}/field.component.mjs +1 -1
- package/esm2020/field/field.module.mjs +21 -0
- package/esm2020/{lib/components/hover-card → hover-card}/hover-card.component.mjs +2 -2
- package/esm2020/hover-card/hover-card.module.mjs +22 -0
- package/esm2020/icon/icon.component.mjs +144 -0
- package/esm2020/icon/icon.module.mjs +21 -0
- package/esm2020/input/input-group.component.mjs +63 -0
- package/esm2020/input/input-otp.component.mjs +144 -0
- package/esm2020/{lib/components/input-password → input}/input-password.component.mjs +1 -1
- package/esm2020/{lib/components/input → input}/input.component.mjs +1 -1
- package/esm2020/input/input.module.mjs +38 -0
- package/esm2020/{lib/components/textarea → input}/textarea.component.mjs +1 -1
- package/esm2020/{lib/components/item → item}/item.component.mjs +1 -1
- package/esm2020/item/item.module.mjs +21 -0
- package/esm2020/{lib/components/kbd → kbd}/kbd.component.mjs +1 -1
- package/esm2020/kbd/kbd.module.mjs +21 -0
- package/esm2020/{lib/components/label → label}/label.component.mjs +1 -1
- package/esm2020/label/label.module.mjs +21 -0
- package/esm2020/menubar/menubar.component.mjs +144 -0
- package/esm2020/menubar/menubar.module.mjs +22 -0
- package/esm2020/{lib/components/native-select → native-select}/native-select.component.mjs +2 -2
- package/esm2020/native-select/native-select.module.mjs +20 -0
- package/esm2020/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.mjs +1 -1
- package/esm2020/navigation-menu/navigation-menu.module.mjs +21 -0
- package/esm2020/overlay/create-flexible-position-strategy.mjs +54 -0
- package/esm2020/overlay/pdm-outside-click.directive.mjs +86 -0
- package/esm2020/overlay/pdm-outside-click.module.mjs +18 -0
- package/esm2020/overlay/pdm-overlay-options.mjs +2 -0
- package/esm2020/overlay/z-index-helper.mjs +69 -0
- package/esm2020/pagination/pagination.component.mjs +72 -0
- package/esm2020/pagination/pagination.module.mjs +21 -0
- package/esm2020/pdm-ui-kit.module.mjs +260 -0
- package/esm2020/{lib/components/popover → popover}/popover.component.mjs +2 -2
- package/esm2020/popover/popover.module.mjs +22 -0
- package/esm2020/{lib/components/progress → progress}/progress.component.mjs +1 -1
- package/esm2020/progress/progress.module.mjs +21 -0
- package/esm2020/public-api.mjs +117 -67
- package/esm2020/{lib/components/radio-group → radio-group}/radio-group.component.mjs +1 -1
- package/esm2020/radio-group/radio-group.module.mjs +21 -0
- package/esm2020/{lib/components/scroll-area → scroll-area}/scroll-area.component.mjs +1 -1
- package/esm2020/scroll-area/scroll-area.module.mjs +21 -0
- package/esm2020/select/select-option.directive.mjs +55 -0
- package/esm2020/select/select.component.mjs +164 -0
- package/esm2020/select/select.module.mjs +22 -0
- package/esm2020/{lib/components/separator → separator}/separator.component.mjs +1 -1
- package/esm2020/separator/separator.module.mjs +21 -0
- package/esm2020/{lib/components/sidebar → sidebar}/sidebar.component.mjs +1 -1
- package/esm2020/sidebar/sidebar.module.mjs +21 -0
- package/esm2020/{lib/components/skeleton → skeleton}/skeleton.component.mjs +1 -1
- package/esm2020/skeleton/skeleton.module.mjs +21 -0
- package/esm2020/{lib/components/slider → slider}/slider.component.mjs +1 -1
- package/esm2020/slider/slider.module.mjs +21 -0
- package/esm2020/{lib/components/sonner → sonner}/sonner.component.mjs +2 -2
- package/esm2020/sonner/sonner.module.mjs +20 -0
- package/esm2020/{lib/components/spinner → spinner}/spinner.component.mjs +1 -1
- package/esm2020/spinner/spinner.module.mjs +21 -0
- package/esm2020/src/accordion/accordion.component.mjs +42 -0
- package/esm2020/src/accordion/accordion.module.mjs +21 -0
- package/esm2020/src/accordion/pdm-ui-kit-src-accordion.mjs +5 -0
- package/esm2020/src/accordion/public-api.mjs +3 -0
- package/esm2020/src/alert/alert-dialog.component.mjs +87 -0
- package/esm2020/src/alert/alert.component.mjs +35 -0
- package/esm2020/src/alert/alert.module.mjs +25 -0
- package/esm2020/src/alert/pdm-ui-kit-src-alert.mjs +5 -0
- package/esm2020/src/alert/public-api.mjs +4 -0
- package/esm2020/src/aspect-ratio/aspect-ratio.component.mjs +31 -0
- package/esm2020/src/aspect-ratio/aspect-ratio.module.mjs +21 -0
- package/esm2020/src/aspect-ratio/pdm-ui-kit-src-aspect-ratio.mjs +5 -0
- package/esm2020/src/aspect-ratio/public-api.mjs +3 -0
- package/esm2020/src/avatar/avatar.component.mjs +46 -0
- package/esm2020/src/avatar/avatar.module.mjs +21 -0
- package/esm2020/src/avatar/pdm-ui-kit-src-avatar.mjs +5 -0
- package/esm2020/src/avatar/public-api.mjs +3 -0
- package/esm2020/src/badge/badge.component.mjs +23 -0
- package/esm2020/src/badge/badge.module.mjs +21 -0
- package/esm2020/src/badge/pdm-ui-kit-src-badge.mjs +5 -0
- package/esm2020/src/badge/public-api.mjs +3 -0
- package/esm2020/src/breadcrumb/breadcrumb.component.mjs +62 -0
- package/esm2020/src/breadcrumb/breadcrumb.module.mjs +21 -0
- package/esm2020/src/breadcrumb/pdm-ui-kit-src-breadcrumb.mjs +5 -0
- package/esm2020/src/breadcrumb/public-api.mjs +3 -0
- package/esm2020/{lib/components/button-group → src/button}/button-group.component.mjs +1 -1
- package/esm2020/src/button/button.component.mjs +114 -0
- package/esm2020/src/button/button.module.mjs +25 -0
- package/esm2020/src/button/pdm-ui-kit-src-button.mjs +5 -0
- package/esm2020/src/button/public-api.mjs +4 -0
- package/esm2020/src/calendar/calendar.component.mjs +529 -0
- package/esm2020/src/calendar/calendar.module.mjs +22 -0
- package/esm2020/src/calendar/date-picker.component.mjs +362 -0
- package/esm2020/src/calendar/pdm-ui-kit-src-calendar.mjs +5 -0
- package/esm2020/src/calendar/public-api.mjs +4 -0
- package/esm2020/src/card/card.component.mjs +48 -0
- package/esm2020/src/card/card.module.mjs +21 -0
- package/esm2020/src/card/pdm-ui-kit-src-card.mjs +5 -0
- package/esm2020/src/card/public-api.mjs +3 -0
- package/esm2020/src/carousel/carousel.component.mjs +102 -0
- package/esm2020/src/carousel/carousel.module.mjs +21 -0
- package/esm2020/src/carousel/pdm-ui-kit-src-carousel.mjs +5 -0
- package/esm2020/src/carousel/public-api.mjs +3 -0
- package/esm2020/src/chart/chart.component.mjs +177 -0
- package/esm2020/src/chart/chart.module.mjs +21 -0
- package/esm2020/src/chart/pdm-ui-kit-src-chart.mjs +5 -0
- package/esm2020/src/chart/public-api.mjs +3 -0
- package/esm2020/src/checkbox/checkbox.component.mjs +47 -0
- package/esm2020/src/checkbox/checkbox.module.mjs +21 -0
- package/esm2020/src/checkbox/pdm-ui-kit-src-checkbox.mjs +5 -0
- package/esm2020/src/checkbox/public-api.mjs +3 -0
- package/esm2020/src/collapsible/collapsible.component.mjs +43 -0
- package/esm2020/src/collapsible/collapsible.module.mjs +21 -0
- package/esm2020/src/collapsible/pdm-ui-kit-src-collapsible.mjs +5 -0
- package/esm2020/src/collapsible/public-api.mjs +3 -0
- package/esm2020/src/combobox/combobox.component.mjs +173 -0
- package/esm2020/src/combobox/combobox.module.mjs +22 -0
- package/esm2020/src/combobox/pdm-ui-kit-src-combobox.mjs +5 -0
- package/esm2020/src/combobox/public-api.mjs +3 -0
- package/esm2020/src/command/command.component.mjs +75 -0
- package/esm2020/src/command/command.module.mjs +20 -0
- package/esm2020/src/command/pdm-ui-kit-src-command.mjs +5 -0
- package/esm2020/src/command/public-api.mjs +3 -0
- package/esm2020/src/context-menu/context-menu.component.mjs +165 -0
- package/esm2020/src/context-menu/context-menu.module.mjs +22 -0
- package/esm2020/src/context-menu/pdm-ui-kit-src-context-menu.mjs +5 -0
- package/esm2020/src/context-menu/public-api.mjs +3 -0
- package/esm2020/src/data-table/data-table.component.mjs +299 -0
- package/esm2020/src/data-table/data-table.module.mjs +29 -0
- package/esm2020/src/data-table/draggable-table.component.mjs +300 -0
- package/esm2020/src/data-table/pdm-ui-kit-src-data-table.mjs +5 -0
- package/esm2020/src/data-table/public-api.mjs +5 -0
- package/esm2020/src/data-table/table.component.mjs +182 -0
- package/esm2020/src/dialog/dialog.component.mjs +265 -0
- package/esm2020/src/dialog/dialog.module.mjs +21 -0
- package/esm2020/src/dialog/pdm-ui-kit-src-dialog.mjs +5 -0
- package/esm2020/src/dialog/public-api.mjs +3 -0
- package/esm2020/src/drawer/drawer.component.mjs +217 -0
- package/esm2020/src/drawer/drawer.module.mjs +21 -0
- package/esm2020/src/drawer/pdm-ui-kit-src-drawer.mjs +5 -0
- package/esm2020/src/drawer/public-api.mjs +4 -0
- package/esm2020/src/drawer/sheet.component.mjs +116 -0
- package/esm2020/src/dropdown-menu/dropdown-menu.component.mjs +192 -0
- package/esm2020/src/dropdown-menu/dropdown-menu.module.mjs +22 -0
- package/esm2020/src/dropdown-menu/pdm-ui-kit-src-dropdown-menu.mjs +5 -0
- package/esm2020/src/dropdown-menu/public-api.mjs +3 -0
- package/esm2020/src/empty/empty.component.mjs +58 -0
- package/esm2020/src/empty/empty.module.mjs +21 -0
- package/esm2020/src/empty/pdm-ui-kit-src-empty.mjs +5 -0
- package/esm2020/src/empty/public-api.mjs +3 -0
- package/esm2020/src/field/field.component.mjs +64 -0
- package/esm2020/src/field/field.module.mjs +21 -0
- package/esm2020/src/field/pdm-ui-kit-src-field.mjs +5 -0
- package/esm2020/src/field/public-api.mjs +3 -0
- package/esm2020/src/hover-card/hover-card.component.mjs +205 -0
- package/esm2020/src/hover-card/hover-card.module.mjs +22 -0
- package/esm2020/src/hover-card/pdm-ui-kit-src-hover-card.mjs +5 -0
- package/esm2020/src/hover-card/public-api.mjs +3 -0
- package/esm2020/src/icon/icon.component.mjs +144 -0
- package/esm2020/src/icon/icon.module.mjs +21 -0
- package/esm2020/src/icon/pdm-ui-kit-src-icon.mjs +5 -0
- package/esm2020/src/icon/public-api.mjs +3 -0
- package/esm2020/{lib/components/input-group → src/input}/input-group.component.mjs +2 -2
- package/esm2020/src/input/input-otp.component.mjs +144 -0
- package/esm2020/src/input/input-password.component.mjs +78 -0
- package/esm2020/src/input/input.component.mjs +71 -0
- package/esm2020/src/input/input.module.mjs +38 -0
- package/esm2020/src/input/pdm-ui-kit-src-input.mjs +5 -0
- package/esm2020/src/input/public-api.mjs +7 -0
- package/esm2020/src/input/textarea.component.mjs +59 -0
- package/esm2020/src/item/item.component.mjs +23 -0
- package/esm2020/src/item/item.module.mjs +21 -0
- package/esm2020/src/item/pdm-ui-kit-src-item.mjs +5 -0
- package/esm2020/src/item/public-api.mjs +3 -0
- package/esm2020/src/kbd/kbd.component.mjs +17 -0
- package/esm2020/src/kbd/kbd.module.mjs +21 -0
- package/esm2020/src/kbd/pdm-ui-kit-src-kbd.mjs +5 -0
- package/esm2020/src/kbd/public-api.mjs +3 -0
- package/esm2020/src/label/label.component.mjs +23 -0
- package/esm2020/src/label/label.module.mjs +21 -0
- package/esm2020/src/label/pdm-ui-kit-src-label.mjs +5 -0
- package/esm2020/src/label/public-api.mjs +3 -0
- package/esm2020/src/menubar/menubar.component.mjs +144 -0
- package/esm2020/src/menubar/menubar.module.mjs +22 -0
- package/esm2020/src/menubar/pdm-ui-kit-src-menubar.mjs +5 -0
- package/esm2020/src/menubar/public-api.mjs +3 -0
- package/esm2020/src/native-select/native-select.component.mjs +42 -0
- package/esm2020/src/native-select/native-select.module.mjs +20 -0
- package/esm2020/src/native-select/pdm-ui-kit-src-native-select.mjs +5 -0
- package/esm2020/src/native-select/public-api.mjs +3 -0
- package/esm2020/src/navigation-menu/navigation-menu.component.mjs +42 -0
- package/esm2020/src/navigation-menu/navigation-menu.module.mjs +21 -0
- package/esm2020/src/navigation-menu/pdm-ui-kit-src-navigation-menu.mjs +5 -0
- package/esm2020/src/navigation-menu/public-api.mjs +3 -0
- package/esm2020/src/overlay/create-flexible-position-strategy.mjs +54 -0
- package/esm2020/src/overlay/pdm-outside-click.directive.mjs +86 -0
- package/esm2020/src/overlay/pdm-outside-click.module.mjs +18 -0
- package/esm2020/src/overlay/pdm-overlay-options.mjs +2 -0
- package/esm2020/src/overlay/pdm-ui-kit-src-overlay.mjs +5 -0
- package/esm2020/src/overlay/public-api.mjs +6 -0
- package/esm2020/src/overlay/z-index-helper.mjs +69 -0
- package/esm2020/{lib/components → src}/pagination/pagination.component.mjs +3 -3
- package/esm2020/src/pagination/pagination.module.mjs +21 -0
- package/esm2020/src/pagination/pdm-ui-kit-src-pagination.mjs +5 -0
- package/esm2020/src/pagination/public-api.mjs +3 -0
- package/esm2020/src/popover/pdm-ui-kit-src-popover.mjs +5 -0
- package/esm2020/src/popover/popover.component.mjs +162 -0
- package/esm2020/src/popover/popover.module.mjs +22 -0
- package/esm2020/src/popover/public-api.mjs +3 -0
- package/esm2020/src/progress/pdm-ui-kit-src-progress.mjs +5 -0
- package/esm2020/src/progress/progress.component.mjs +33 -0
- package/esm2020/src/progress/progress.module.mjs +21 -0
- package/esm2020/src/progress/public-api.mjs +3 -0
- package/esm2020/src/radio-group/pdm-ui-kit-src-radio-group.mjs +5 -0
- package/esm2020/src/radio-group/public-api.mjs +3 -0
- package/esm2020/src/radio-group/radio-group.component.mjs +38 -0
- package/esm2020/src/radio-group/radio-group.module.mjs +21 -0
- package/esm2020/src/scroll-area/pdm-ui-kit-src-scroll-area.mjs +5 -0
- package/esm2020/src/scroll-area/public-api.mjs +3 -0
- package/esm2020/src/scroll-area/scroll-area.component.mjs +20 -0
- package/esm2020/src/scroll-area/scroll-area.module.mjs +21 -0
- package/esm2020/src/select/pdm-ui-kit-src-select.mjs +5 -0
- package/esm2020/src/select/public-api.mjs +4 -0
- package/esm2020/src/select/select-option.directive.mjs +55 -0
- package/esm2020/src/select/select.component.mjs +164 -0
- package/esm2020/src/select/select.module.mjs +22 -0
- package/esm2020/src/separator/pdm-ui-kit-src-separator.mjs +5 -0
- package/esm2020/src/separator/public-api.mjs +3 -0
- package/esm2020/src/separator/separator.component.mjs +26 -0
- package/esm2020/src/separator/separator.module.mjs +21 -0
- package/esm2020/src/sidebar/pdm-ui-kit-src-sidebar.mjs +5 -0
- package/esm2020/src/sidebar/public-api.mjs +3 -0
- package/esm2020/src/sidebar/sidebar.component.mjs +67 -0
- package/esm2020/src/sidebar/sidebar.module.mjs +21 -0
- package/esm2020/src/skeleton/pdm-ui-kit-src-skeleton.mjs +5 -0
- package/esm2020/src/skeleton/public-api.mjs +3 -0
- package/esm2020/src/skeleton/skeleton.component.mjs +17 -0
- package/esm2020/src/skeleton/skeleton.module.mjs +21 -0
- package/esm2020/src/slider/pdm-ui-kit-src-slider.mjs +5 -0
- package/esm2020/src/slider/public-api.mjs +3 -0
- package/esm2020/src/slider/slider.component.mjs +46 -0
- package/esm2020/src/slider/slider.module.mjs +21 -0
- package/esm2020/src/sonner/pdm-ui-kit-src-sonner.mjs +5 -0
- package/esm2020/src/sonner/public-api.mjs +3 -0
- package/esm2020/src/sonner/sonner.component.mjs +39 -0
- package/esm2020/src/sonner/sonner.module.mjs +20 -0
- package/esm2020/src/spinner/pdm-ui-kit-src-spinner.mjs +5 -0
- package/esm2020/src/spinner/public-api.mjs +3 -0
- package/esm2020/src/spinner/spinner.component.mjs +20 -0
- package/esm2020/src/spinner/spinner.module.mjs +21 -0
- package/esm2020/src/switch/pdm-ui-kit-src-switch.mjs +5 -0
- package/esm2020/src/switch/public-api.mjs +3 -0
- package/esm2020/src/switch/switch.component.mjs +58 -0
- package/esm2020/src/switch/switch.module.mjs +21 -0
- package/esm2020/src/tabs/pdm-ui-kit-src-tabs.mjs +5 -0
- package/esm2020/src/tabs/public-api.mjs +3 -0
- package/esm2020/{lib/components → src}/tabs/tabs.component.mjs +1 -1
- package/esm2020/src/tabs/tabs.module.mjs +21 -0
- package/esm2020/src/toggle/pdm-ui-kit-src-toggle.mjs +5 -0
- package/esm2020/src/toggle/public-api.mjs +4 -0
- package/esm2020/{lib/components/toggle-group → src/toggle}/toggle-group.component.mjs +1 -1
- package/esm2020/{lib/components → src}/toggle/toggle.component.mjs +1 -1
- package/esm2020/src/toggle/toggle.module.mjs +25 -0
- package/esm2020/src/tooltip/pdm-ui-kit-src-tooltip.mjs +5 -0
- package/esm2020/src/tooltip/public-api.mjs +3 -0
- package/esm2020/src/tooltip/tooltip.component.mjs +176 -0
- package/esm2020/src/tooltip/tooltip.module.mjs +22 -0
- package/esm2020/src/utils/pdm-ui-kit-src-utils.mjs +5 -0
- package/esm2020/src/utils/public-api.mjs +3 -0
- package/esm2020/src/utils/responsive.mjs +143 -0
- package/esm2020/src/utils/z-index.mjs +90 -0
- package/esm2020/switch/switch.component.mjs +58 -0
- package/esm2020/switch/switch.module.mjs +21 -0
- package/esm2020/tabs/tabs.component.mjs +34 -0
- package/esm2020/tabs/tabs.module.mjs +21 -0
- package/esm2020/toggle/toggle-group.component.mjs +31 -0
- package/esm2020/toggle/toggle.component.mjs +41 -0
- package/esm2020/toggle/toggle.module.mjs +25 -0
- package/esm2020/{lib/components/tooltip → tooltip}/tooltip.component.mjs +2 -2
- package/esm2020/tooltip/tooltip.module.mjs +22 -0
- package/esm2020/utils/responsive.mjs +143 -0
- package/esm2020/utils/z-index.mjs +90 -0
- package/fesm2015/pdm-ui-kit-src-accordion.mjs +68 -0
- package/fesm2015/pdm-ui-kit-src-accordion.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-alert.mjs +147 -0
- package/fesm2015/pdm-ui-kit-src-alert.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
- package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-avatar.mjs +71 -0
- package/fesm2015/pdm-ui-kit-src-avatar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-badge.mjs +48 -0
- package/fesm2015/pdm-ui-kit-src-badge.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs +87 -0
- package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-button.mjs +376 -0
- package/fesm2015/pdm-ui-kit-src-button.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-calendar.mjs +912 -0
- package/fesm2015/pdm-ui-kit-src-calendar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-card.mjs +73 -0
- package/fesm2015/pdm-ui-kit-src-card.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-carousel.mjs +127 -0
- package/fesm2015/pdm-ui-kit-src-carousel.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-chart.mjs +203 -0
- package/fesm2015/pdm-ui-kit-src-chart.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-checkbox.mjs +72 -0
- package/fesm2015/pdm-ui-kit-src-checkbox.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-collapsible.mjs +68 -0
- package/fesm2015/pdm-ui-kit-src-collapsible.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-combobox.mjs +200 -0
- package/fesm2015/pdm-ui-kit-src-combobox.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-command.mjs +100 -0
- package/fesm2015/pdm-ui-kit-src-command.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-context-menu.mjs +191 -0
- package/fesm2015/pdm-ui-kit-src-context-menu.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-data-table.mjs +806 -0
- package/fesm2015/pdm-ui-kit-src-data-table.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-dialog.mjs +289 -0
- package/fesm2015/pdm-ui-kit-src-dialog.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-drawer.mjs +354 -0
- package/fesm2015/pdm-ui-kit-src-drawer.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs +212 -0
- package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-empty.mjs +83 -0
- package/fesm2015/pdm-ui-kit-src-empty.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-field.mjs +89 -0
- package/fesm2015/pdm-ui-kit-src-field.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-hover-card.mjs +231 -0
- package/fesm2015/pdm-ui-kit-src-hover-card.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-icon.mjs +172 -0
- package/fesm2015/pdm-ui-kit-src-icon.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-input.mjs +443 -0
- package/fesm2015/pdm-ui-kit-src-input.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-item.mjs +48 -0
- package/fesm2015/pdm-ui-kit-src-item.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-kbd.mjs +42 -0
- package/fesm2015/pdm-ui-kit-src-kbd.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-label.mjs +48 -0
- package/fesm2015/pdm-ui-kit-src-label.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-menubar.mjs +170 -0
- package/fesm2015/pdm-ui-kit-src-menubar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-native-select.mjs +66 -0
- package/fesm2015/pdm-ui-kit-src-native-select.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs +67 -0
- package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-overlay.mjs +225 -0
- package/fesm2015/pdm-ui-kit-src-overlay.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-pagination.mjs +97 -0
- package/fesm2015/pdm-ui-kit-src-pagination.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-popover.mjs +189 -0
- package/fesm2015/pdm-ui-kit-src-popover.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-progress.mjs +58 -0
- package/fesm2015/pdm-ui-kit-src-progress.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-radio-group.mjs +63 -0
- package/fesm2015/pdm-ui-kit-src-radio-group.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-scroll-area.mjs +45 -0
- package/fesm2015/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-select.mjs +238 -0
- package/fesm2015/pdm-ui-kit-src-select.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-separator.mjs +51 -0
- package/fesm2015/pdm-ui-kit-src-separator.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-sidebar.mjs +92 -0
- package/fesm2015/pdm-ui-kit-src-sidebar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-skeleton.mjs +42 -0
- package/fesm2015/pdm-ui-kit-src-skeleton.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-slider.mjs +71 -0
- package/fesm2015/pdm-ui-kit-src-slider.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-sonner.mjs +63 -0
- package/fesm2015/pdm-ui-kit-src-sonner.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-spinner.mjs +45 -0
- package/fesm2015/pdm-ui-kit-src-spinner.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-switch.mjs +83 -0
- package/fesm2015/pdm-ui-kit-src-switch.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-tabs.mjs +59 -0
- package/fesm2015/pdm-ui-kit-src-tabs.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-toggle.mjs +97 -0
- package/fesm2015/pdm-ui-kit-src-toggle.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-tooltip.mjs +202 -0
- package/fesm2015/pdm-ui-kit-src-tooltip.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-utils.mjs +239 -0
- package/fesm2015/pdm-ui-kit-src-utils.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit.mjs +3832 -2982
- package/fesm2015/pdm-ui-kit.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit-src-accordion.mjs +67 -0
- package/fesm2020/pdm-ui-kit-src-accordion.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-alert.mjs +147 -0
- package/fesm2020/pdm-ui-kit-src-alert.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
- package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-avatar.mjs +71 -0
- package/fesm2020/pdm-ui-kit-src-avatar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-badge.mjs +48 -0
- package/fesm2020/pdm-ui-kit-src-badge.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs +87 -0
- package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-button.mjs +375 -0
- package/fesm2020/pdm-ui-kit-src-button.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-calendar.mjs +911 -0
- package/fesm2020/pdm-ui-kit-src-calendar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-card.mjs +73 -0
- package/fesm2020/pdm-ui-kit-src-card.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-carousel.mjs +127 -0
- package/fesm2020/pdm-ui-kit-src-carousel.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-chart.mjs +202 -0
- package/fesm2020/pdm-ui-kit-src-chart.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-checkbox.mjs +72 -0
- package/fesm2020/pdm-ui-kit-src-checkbox.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-collapsible.mjs +68 -0
- package/fesm2020/pdm-ui-kit-src-collapsible.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-combobox.mjs +199 -0
- package/fesm2020/pdm-ui-kit-src-combobox.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-command.mjs +99 -0
- package/fesm2020/pdm-ui-kit-src-command.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-context-menu.mjs +191 -0
- package/fesm2020/pdm-ui-kit-src-context-menu.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-data-table.mjs +805 -0
- package/fesm2020/pdm-ui-kit-src-data-table.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-dialog.mjs +289 -0
- package/fesm2020/pdm-ui-kit-src-dialog.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-drawer.mjs +354 -0
- package/fesm2020/pdm-ui-kit-src-drawer.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs +218 -0
- package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-empty.mjs +83 -0
- package/fesm2020/pdm-ui-kit-src-empty.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-field.mjs +89 -0
- package/fesm2020/pdm-ui-kit-src-field.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-hover-card.mjs +231 -0
- package/fesm2020/pdm-ui-kit-src-hover-card.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-icon.mjs +169 -0
- package/fesm2020/pdm-ui-kit-src-icon.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-input.mjs +441 -0
- package/fesm2020/pdm-ui-kit-src-input.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-item.mjs +48 -0
- package/fesm2020/pdm-ui-kit-src-item.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-kbd.mjs +42 -0
- package/fesm2020/pdm-ui-kit-src-kbd.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-label.mjs +48 -0
- package/fesm2020/pdm-ui-kit-src-label.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-menubar.mjs +170 -0
- package/fesm2020/pdm-ui-kit-src-menubar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-native-select.mjs +66 -0
- package/fesm2020/pdm-ui-kit-src-native-select.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs +67 -0
- package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-overlay.mjs +229 -0
- package/fesm2020/pdm-ui-kit-src-overlay.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-pagination.mjs +97 -0
- package/fesm2020/pdm-ui-kit-src-pagination.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-popover.mjs +188 -0
- package/fesm2020/pdm-ui-kit-src-popover.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-progress.mjs +58 -0
- package/fesm2020/pdm-ui-kit-src-progress.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-radio-group.mjs +63 -0
- package/fesm2020/pdm-ui-kit-src-radio-group.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-scroll-area.mjs +45 -0
- package/fesm2020/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-select.mjs +241 -0
- package/fesm2020/pdm-ui-kit-src-select.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-separator.mjs +51 -0
- package/fesm2020/pdm-ui-kit-src-separator.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-sidebar.mjs +92 -0
- package/fesm2020/pdm-ui-kit-src-sidebar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-skeleton.mjs +42 -0
- package/fesm2020/pdm-ui-kit-src-skeleton.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-slider.mjs +71 -0
- package/fesm2020/pdm-ui-kit-src-slider.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-sonner.mjs +63 -0
- package/fesm2020/pdm-ui-kit-src-sonner.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-spinner.mjs +45 -0
- package/fesm2020/pdm-ui-kit-src-spinner.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-switch.mjs +83 -0
- package/fesm2020/pdm-ui-kit-src-switch.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-tabs.mjs +59 -0
- package/fesm2020/pdm-ui-kit-src-tabs.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-toggle.mjs +97 -0
- package/fesm2020/pdm-ui-kit-src-toggle.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-tooltip.mjs +202 -0
- package/fesm2020/pdm-ui-kit-src-tooltip.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-utils.mjs +239 -0
- package/fesm2020/pdm-ui-kit-src-utils.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit.mjs +3865 -3015
- package/fesm2020/pdm-ui-kit.mjs.map +1 -1
- package/field/field.module.d.ts +8 -0
- package/hover-card/hover-card.module.d.ts +9 -0
- package/icon/icon.module.d.ts +8 -0
- package/{lib/components/input-password → input}/input-password.component.d.ts +1 -1
- package/input/input.module.d.ts +13 -0
- package/item/item.module.d.ts +8 -0
- package/kbd/kbd.module.d.ts +8 -0
- package/label/label.module.d.ts +8 -0
- package/{lib/components/menubar → menubar}/menubar.component.d.ts +1 -1
- package/menubar/menubar.module.d.ts +9 -0
- package/native-select/native-select.module.d.ts +9 -0
- package/navigation-menu/navigation-menu.module.d.ts +8 -0
- package/overlay/pdm-outside-click.module.d.ts +8 -0
- package/package.json +786 -2
- package/{lib/components/pagination → pagination}/pagination.component.d.ts +1 -1
- package/pagination/pagination.module.d.ts +10 -0
- package/pdm-ui-kit.module.d.ts +60 -0
- package/popover/popover.module.d.ts +9 -0
- package/progress/progress.module.d.ts +8 -0
- package/public-api.d.ts +114 -66
- package/radio-group/radio-group.module.d.ts +8 -0
- package/scroll-area/scroll-area.module.d.ts +8 -0
- package/{lib/components/select → select}/select.component.d.ts +1 -1
- package/select/select.module.d.ts +11 -0
- package/separator/separator.module.d.ts +8 -0
- package/sidebar/sidebar.module.d.ts +8 -0
- package/skeleton/skeleton.module.d.ts +8 -0
- package/slider/slider.module.d.ts +8 -0
- package/sonner/sonner.module.d.ts +9 -0
- package/spinner/spinner.module.d.ts +8 -0
- package/src/accordion/accordion.component.d.ts +19 -0
- package/src/accordion/accordion.module.d.ts +8 -0
- package/src/accordion/index.d.ts +5 -0
- package/src/accordion/public-api.d.ts +2 -0
- package/src/alert/alert-dialog.component.d.ts +29 -0
- package/src/alert/alert.component.d.ts +13 -0
- package/src/alert/alert.module.d.ts +9 -0
- package/src/alert/index.d.ts +5 -0
- package/src/alert/public-api.d.ts +3 -0
- package/src/aspect-ratio/aspect-ratio.component.d.ts +10 -0
- package/src/aspect-ratio/aspect-ratio.module.d.ts +8 -0
- package/src/aspect-ratio/index.d.ts +5 -0
- package/src/aspect-ratio/public-api.d.ts +2 -0
- package/src/avatar/avatar.component.d.ts +20 -0
- package/src/avatar/avatar.module.d.ts +8 -0
- package/src/avatar/index.d.ts +5 -0
- package/src/avatar/public-api.d.ts +2 -0
- package/src/badge/badge.component.d.ts +9 -0
- package/src/badge/badge.module.d.ts +8 -0
- package/src/badge/index.d.ts +5 -0
- package/src/badge/public-api.d.ts +2 -0
- package/src/breadcrumb/breadcrumb.component.d.ts +32 -0
- package/src/breadcrumb/breadcrumb.module.d.ts +8 -0
- package/src/breadcrumb/index.d.ts +5 -0
- package/src/breadcrumb/public-api.d.ts +2 -0
- package/src/button/button-group.component.d.ts +19 -0
- package/src/button/button.component.d.ts +29 -0
- package/src/button/button.module.d.ts +9 -0
- package/src/button/index.d.ts +5 -0
- package/src/button/public-api.d.ts +3 -0
- package/src/calendar/calendar.component.d.ts +149 -0
- package/src/calendar/calendar.module.d.ts +11 -0
- package/src/calendar/date-picker.component.d.ts +89 -0
- package/src/calendar/index.d.ts +5 -0
- package/src/calendar/public-api.d.ts +3 -0
- package/src/card/card.component.d.ts +37 -0
- package/src/card/card.module.d.ts +8 -0
- package/src/card/index.d.ts +5 -0
- package/src/card/public-api.d.ts +2 -0
- package/src/carousel/carousel.component.d.ts +28 -0
- package/src/carousel/carousel.module.d.ts +8 -0
- package/src/carousel/index.d.ts +5 -0
- package/src/carousel/public-api.d.ts +2 -0
- package/src/chart/chart.component.d.ts +44 -0
- package/src/chart/chart.module.d.ts +8 -0
- package/src/chart/index.d.ts +5 -0
- package/src/chart/public-api.d.ts +2 -0
- package/src/checkbox/checkbox.component.d.ts +17 -0
- package/src/checkbox/checkbox.module.d.ts +8 -0
- package/src/checkbox/index.d.ts +5 -0
- package/src/checkbox/public-api.d.ts +2 -0
- package/src/collapsible/collapsible.component.d.ts +14 -0
- package/src/collapsible/collapsible.module.d.ts +8 -0
- package/src/collapsible/index.d.ts +5 -0
- package/src/collapsible/public-api.d.ts +2 -0
- package/src/combobox/combobox.component.d.ts +35 -0
- package/src/combobox/combobox.module.d.ts +9 -0
- package/src/combobox/index.d.ts +5 -0
- package/src/combobox/public-api.d.ts +2 -0
- package/src/command/command.component.d.ts +33 -0
- package/src/command/command.module.d.ts +9 -0
- package/src/command/index.d.ts +5 -0
- package/src/command/public-api.d.ts +2 -0
- package/src/context-menu/context-menu.component.d.ts +38 -0
- package/src/context-menu/context-menu.module.d.ts +9 -0
- package/src/context-menu/index.d.ts +5 -0
- package/src/context-menu/public-api.d.ts +2 -0
- package/src/data-table/data-table.component.d.ts +200 -0
- package/src/data-table/data-table.module.d.ts +10 -0
- package/src/data-table/draggable-table.component.d.ts +74 -0
- package/src/data-table/index.d.ts +5 -0
- package/src/data-table/public-api.d.ts +4 -0
- package/src/data-table/table.component.d.ts +55 -0
- package/src/dialog/dialog.component.d.ts +72 -0
- package/src/dialog/dialog.module.d.ts +8 -0
- package/src/dialog/index.d.ts +5 -0
- package/src/dialog/public-api.d.ts +2 -0
- package/src/drawer/drawer.component.d.ts +96 -0
- package/src/drawer/drawer.module.d.ts +10 -0
- package/src/drawer/index.d.ts +5 -0
- package/src/drawer/public-api.d.ts +3 -0
- package/src/drawer/sheet.component.d.ts +46 -0
- package/src/dropdown-menu/dropdown-menu.component.d.ts +61 -0
- package/src/dropdown-menu/dropdown-menu.module.d.ts +9 -0
- package/src/dropdown-menu/index.d.ts +5 -0
- package/src/dropdown-menu/public-api.d.ts +2 -0
- package/src/empty/empty.component.d.ts +19 -0
- package/src/empty/empty.module.d.ts +10 -0
- package/src/empty/index.d.ts +5 -0
- package/src/empty/public-api.d.ts +2 -0
- package/src/field/field.component.d.ts +23 -0
- package/src/field/field.module.d.ts +8 -0
- package/src/field/index.d.ts +5 -0
- package/src/field/public-api.d.ts +2 -0
- package/src/hover-card/hover-card.component.d.ts +37 -0
- package/src/hover-card/hover-card.module.d.ts +9 -0
- package/src/hover-card/index.d.ts +5 -0
- package/src/hover-card/public-api.d.ts +2 -0
- package/src/icon/icon.component.d.ts +28 -0
- package/src/icon/icon.module.d.ts +8 -0
- package/src/icon/index.d.ts +5 -0
- package/src/icon/public-api.d.ts +2 -0
- package/src/input/index.d.ts +5 -0
- package/src/input/input-group.component.d.ts +22 -0
- package/src/input/input-otp.component.d.ts +26 -0
- package/src/input/input-password.component.d.ts +28 -0
- package/src/input/input.component.d.ts +27 -0
- package/src/input/input.module.d.ts +13 -0
- package/src/input/public-api.d.ts +6 -0
- package/src/input/textarea.component.d.ts +21 -0
- package/src/item/index.d.ts +5 -0
- package/src/item/item.component.d.ts +8 -0
- package/src/item/item.module.d.ts +8 -0
- package/src/item/public-api.d.ts +2 -0
- package/src/kbd/index.d.ts +5 -0
- package/src/kbd/kbd.component.d.ts +6 -0
- package/src/kbd/kbd.module.d.ts +8 -0
- package/src/kbd/public-api.d.ts +2 -0
- package/src/label/index.d.ts +5 -0
- package/src/label/label.component.d.ts +8 -0
- package/src/label/label.module.d.ts +8 -0
- package/src/label/public-api.d.ts +2 -0
- package/src/menubar/index.d.ts +5 -0
- package/src/menubar/menubar.component.d.ts +34 -0
- package/src/menubar/menubar.module.d.ts +9 -0
- package/src/menubar/public-api.d.ts +2 -0
- package/src/native-select/index.d.ts +5 -0
- package/src/native-select/native-select.component.d.ts +20 -0
- package/src/native-select/native-select.module.d.ts +9 -0
- package/src/native-select/public-api.d.ts +2 -0
- package/src/navigation-menu/index.d.ts +5 -0
- package/src/navigation-menu/navigation-menu.component.d.ts +33 -0
- package/src/navigation-menu/navigation-menu.module.d.ts +8 -0
- package/src/navigation-menu/public-api.d.ts +2 -0
- package/src/overlay/create-flexible-position-strategy.d.ts +15 -0
- package/src/overlay/index.d.ts +5 -0
- package/src/overlay/pdm-outside-click.directive.d.ts +40 -0
- package/src/overlay/pdm-outside-click.module.d.ts +8 -0
- package/src/overlay/pdm-overlay-options.d.ts +21 -0
- package/src/overlay/public-api.d.ts +5 -0
- package/src/overlay/z-index-helper.d.ts +36 -0
- package/src/pagination/index.d.ts +5 -0
- package/src/pagination/pagination.component.d.ts +21 -0
- package/src/pagination/pagination.module.d.ts +10 -0
- package/src/pagination/public-api.d.ts +2 -0
- package/src/popover/index.d.ts +5 -0
- package/src/popover/popover.component.d.ts +32 -0
- package/src/popover/popover.module.d.ts +9 -0
- package/src/popover/public-api.d.ts +2 -0
- package/src/progress/index.d.ts +5 -0
- package/src/progress/progress.component.d.ts +10 -0
- package/src/progress/progress.module.d.ts +8 -0
- package/src/progress/public-api.d.ts +2 -0
- package/src/radio-group/index.d.ts +5 -0
- package/src/radio-group/public-api.d.ts +2 -0
- package/src/radio-group/radio-group.component.d.ts +19 -0
- package/src/radio-group/radio-group.module.d.ts +8 -0
- package/src/scroll-area/index.d.ts +5 -0
- package/src/scroll-area/public-api.d.ts +2 -0
- package/src/scroll-area/scroll-area.component.d.ts +7 -0
- package/src/scroll-area/scroll-area.module.d.ts +8 -0
- package/src/select/index.d.ts +5 -0
- package/src/select/public-api.d.ts +3 -0
- package/src/select/select-option.directive.d.ts +34 -0
- package/src/select/select.component.d.ts +55 -0
- package/src/select/select.module.d.ts +11 -0
- package/src/separator/index.d.ts +5 -0
- package/src/separator/public-api.d.ts +2 -0
- package/src/separator/separator.component.d.ts +9 -0
- package/src/separator/separator.module.d.ts +8 -0
- package/src/sidebar/index.d.ts +5 -0
- package/src/sidebar/public-api.d.ts +2 -0
- package/src/sidebar/sidebar.component.d.ts +45 -0
- package/src/sidebar/sidebar.module.d.ts +8 -0
- package/src/skeleton/index.d.ts +5 -0
- package/src/skeleton/public-api.d.ts +2 -0
- package/src/skeleton/skeleton.component.d.ts +6 -0
- package/src/skeleton/skeleton.module.d.ts +8 -0
- package/src/slider/index.d.ts +5 -0
- package/src/slider/public-api.d.ts +2 -0
- package/src/slider/slider.component.d.ts +15 -0
- package/src/slider/slider.module.d.ts +8 -0
- package/src/sonner/index.d.ts +5 -0
- package/src/sonner/public-api.d.ts +2 -0
- package/src/sonner/sonner.component.d.ts +13 -0
- package/src/sonner/sonner.module.d.ts +9 -0
- package/src/spinner/index.d.ts +5 -0
- package/src/spinner/public-api.d.ts +2 -0
- package/src/spinner/spinner.component.d.ts +7 -0
- package/src/spinner/spinner.module.d.ts +8 -0
- package/src/switch/index.d.ts +5 -0
- package/src/switch/public-api.d.ts +2 -0
- package/src/switch/switch.module.d.ts +8 -0
- package/src/tabs/index.d.ts +5 -0
- package/src/tabs/public-api.d.ts +2 -0
- package/src/tabs/tabs.module.d.ts +8 -0
- package/src/toggle/index.d.ts +5 -0
- package/src/toggle/public-api.d.ts +3 -0
- package/src/toggle/toggle.module.d.ts +9 -0
- package/src/tooltip/index.d.ts +5 -0
- package/src/tooltip/public-api.d.ts +2 -0
- package/src/tooltip/tooltip.module.d.ts +9 -0
- package/src/utils/index.d.ts +5 -0
- package/src/utils/public-api.d.ts +2 -0
- package/switch/switch.component.d.ts +18 -0
- package/switch/switch.module.d.ts +8 -0
- package/tabs/tabs.component.d.ts +18 -0
- package/tabs/tabs.module.d.ts +8 -0
- package/toggle/toggle-group.component.d.ts +16 -0
- package/toggle/toggle.component.d.ts +14 -0
- package/toggle/toggle.module.d.ts +9 -0
- package/tooltip/tooltip.component.d.ts +28 -0
- package/tooltip/tooltip.module.d.ts +9 -0
- package/utils/responsive.d.ts +107 -0
- package/utils/z-index.d.ts +69 -0
- package/esm2020/lib/components/button/button.component.mjs +0 -114
- package/esm2020/lib/components/calendar/calendar.component.mjs +0 -529
- package/esm2020/lib/components/carousel/carousel.component.mjs +0 -102
- package/esm2020/lib/components/command/command.component.mjs +0 -75
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -165
- package/esm2020/lib/components/data-table/data-table.component.mjs +0 -299
- package/esm2020/lib/components/dialog/dialog.component.mjs +0 -265
- package/esm2020/lib/components/draggable-table/draggable-table.component.mjs +0 -300
- package/esm2020/lib/components/drawer/drawer.component.mjs +0 -217
- package/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -192
- package/esm2020/lib/components/icon/icon.component.mjs +0 -144
- package/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -144
- package/esm2020/lib/components/menubar/menubar.component.mjs +0 -144
- package/esm2020/lib/components/select/select-option.directive.mjs +0 -55
- package/esm2020/lib/components/select/select.component.mjs +0 -164
- package/esm2020/lib/components/sheet/sheet.component.mjs +0 -116
- package/esm2020/lib/components/switch/switch.component.mjs +0 -58
- package/esm2020/lib/components/table/table.component.mjs +0 -182
- package/esm2020/lib/overlay/create-flexible-position-strategy.mjs +0 -54
- package/esm2020/lib/overlay/pdm-outside-click.directive.mjs +0 -86
- package/esm2020/lib/overlay/pdm-overlay-options.mjs +0 -2
- package/esm2020/lib/overlay/z-index-helper.mjs +0 -69
- package/esm2020/lib/pdm-ui-kit.module.mjs +0 -258
- package/esm2020/lib/utils/responsive.mjs +0 -143
- package/esm2020/lib/utils/z-index.mjs +0 -90
- package/lib/pdm-ui-kit.module.d.ts +0 -68
- /package/{lib/components/accordion → accordion}/accordion.component.d.ts +0 -0
- /package/{lib/components/alert-dialog → alert}/alert-dialog.component.d.ts +0 -0
- /package/{lib/components/alert → alert}/alert.component.d.ts +0 -0
- /package/{lib/components/aspect-ratio → aspect-ratio}/aspect-ratio.component.d.ts +0 -0
- /package/{lib/components/avatar → avatar}/avatar.component.d.ts +0 -0
- /package/{lib/components/badge → badge}/badge.component.d.ts +0 -0
- /package/{lib/components/breadcrumb → breadcrumb}/breadcrumb.component.d.ts +0 -0
- /package/{lib/components/button-group → button}/button-group.component.d.ts +0 -0
- /package/{lib/components/button → button}/button.component.d.ts +0 -0
- /package/{lib/components/calendar → calendar}/calendar.component.d.ts +0 -0
- /package/{lib/components/card → card}/card.component.d.ts +0 -0
- /package/{lib/components/carousel → carousel}/carousel.component.d.ts +0 -0
- /package/{lib/components/chart → chart}/chart.component.d.ts +0 -0
- /package/{lib/components/checkbox → checkbox}/checkbox.component.d.ts +0 -0
- /package/{lib/components/collapsible → collapsible}/collapsible.component.d.ts +0 -0
- /package/{lib/components/combobox → combobox}/combobox.component.d.ts +0 -0
- /package/{lib/components/dialog → dialog}/dialog.component.d.ts +0 -0
- /package/{lib/components/drawer → drawer}/drawer.component.d.ts +0 -0
- /package/{lib/components/sheet → drawer}/sheet.component.d.ts +0 -0
- /package/{lib/components/empty → empty}/empty.component.d.ts +0 -0
- /package/{lib/components/field → field}/field.component.d.ts +0 -0
- /package/{lib/components/hover-card → hover-card}/hover-card.component.d.ts +0 -0
- /package/{lib/components/icon → icon}/icon.component.d.ts +0 -0
- /package/{lib/components/input-group → input}/input-group.component.d.ts +0 -0
- /package/{lib/components/input-otp → input}/input-otp.component.d.ts +0 -0
- /package/{lib/components/input → input}/input.component.d.ts +0 -0
- /package/{lib/components/textarea → input}/textarea.component.d.ts +0 -0
- /package/{lib/components/item → item}/item.component.d.ts +0 -0
- /package/{lib/components/kbd → kbd}/kbd.component.d.ts +0 -0
- /package/{lib/components/label → label}/label.component.d.ts +0 -0
- /package/{lib/components/native-select → native-select}/native-select.component.d.ts +0 -0
- /package/{lib/components/navigation-menu → navigation-menu}/navigation-menu.component.d.ts +0 -0
- /package/{lib/overlay → overlay}/create-flexible-position-strategy.d.ts +0 -0
- /package/{lib/overlay → overlay}/pdm-outside-click.directive.d.ts +0 -0
- /package/{lib/overlay → overlay}/pdm-overlay-options.d.ts +0 -0
- /package/{lib/overlay → overlay}/z-index-helper.d.ts +0 -0
- /package/{lib/components/popover → popover}/popover.component.d.ts +0 -0
- /package/{lib/components/progress → progress}/progress.component.d.ts +0 -0
- /package/{lib/components/radio-group → radio-group}/radio-group.component.d.ts +0 -0
- /package/{lib/components/scroll-area → scroll-area}/scroll-area.component.d.ts +0 -0
- /package/{lib/components/select → select}/select-option.directive.d.ts +0 -0
- /package/{lib/components/separator → separator}/separator.component.d.ts +0 -0
- /package/{lib/components/sidebar → sidebar}/sidebar.component.d.ts +0 -0
- /package/{lib/components/skeleton → skeleton}/skeleton.component.d.ts +0 -0
- /package/{lib/components/slider → slider}/slider.component.d.ts +0 -0
- /package/{lib/components/sonner → sonner}/sonner.component.d.ts +0 -0
- /package/{lib/components/spinner → spinner}/spinner.component.d.ts +0 -0
- /package/src/{lib/styles → styles}/tokens.css +0 -0
- /package/{lib/components → src}/switch/switch.component.d.ts +0 -0
- /package/{lib/components → src}/tabs/tabs.component.d.ts +0 -0
- /package/{lib/components/toggle-group → src/toggle}/toggle-group.component.d.ts +0 -0
- /package/{lib/components → src}/toggle/toggle.component.d.ts +0 -0
- /package/{lib/components → src}/tooltip/tooltip.component.d.ts +0 -0
- /package/{lib → src}/utils/responsive.d.ts +0 -0
- /package/{lib → src}/utils/z-index.d.ts +0 -0
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
-
import { createFlexiblePositionStrategy } from '../../overlay/create-flexible-position-strategy';
|
|
4
|
-
import { Z_INDEX } from '../../utils/z-index';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
export class PdmDropdownMenuComponent {
|
|
9
|
-
constructor(elementRef, cdr, overlay, viewContainerRef) {
|
|
10
|
-
this.elementRef = elementRef;
|
|
11
|
-
this.cdr = cdr;
|
|
12
|
-
this.overlay = overlay;
|
|
13
|
-
this.viewContainerRef = viewContainerRef;
|
|
14
|
-
this.triggerText = 'Open';
|
|
15
|
-
this.variant = 'default';
|
|
16
|
-
this.items = [];
|
|
17
|
-
this.closeOnSelect = true;
|
|
18
|
-
/**
|
|
19
|
-
* Additional CSS classes applied to the trigger wrapper element.
|
|
20
|
-
* Preserved for backward compatibility.
|
|
21
|
-
*/
|
|
22
|
-
this.className = '';
|
|
23
|
-
/**
|
|
24
|
-
* Additional CSS classes applied to the overlay panel.
|
|
25
|
-
* Backward-compatible: mapped to `overlayOptions.panelClass` when `overlayOptions` is not set.
|
|
26
|
-
* When both are supplied, `overlayOptions.panelClass` takes precedence.
|
|
27
|
-
*/
|
|
28
|
-
this.panelClassName = '';
|
|
29
|
-
this.itemSelect = new EventEmitter();
|
|
30
|
-
this.itemsChange = new EventEmitter();
|
|
31
|
-
this.open = false;
|
|
32
|
-
this.overlayRef = null;
|
|
33
|
-
this.backdropSub = null;
|
|
34
|
-
}
|
|
35
|
-
ngOnDestroy() {
|
|
36
|
-
this.destroyOverlay();
|
|
37
|
-
}
|
|
38
|
-
toggle() {
|
|
39
|
-
if (this.open) {
|
|
40
|
-
this.closePanel();
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this.openPanel();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
get resolvedItems() {
|
|
47
|
-
if (this.items.length) {
|
|
48
|
-
return this.items;
|
|
49
|
-
}
|
|
50
|
-
if (this.variant === 'checkboxes') {
|
|
51
|
-
return [
|
|
52
|
-
{ type: 'label', label: 'Appearance' },
|
|
53
|
-
{ type: 'separator' },
|
|
54
|
-
{ type: 'item', label: 'Status Bar', value: 'status-bar', checked: true },
|
|
55
|
-
{ type: 'item', label: 'Activity Bar', value: 'activity-bar', checked: false },
|
|
56
|
-
{ type: 'item', label: 'Panel', value: 'panel', checked: false }
|
|
57
|
-
];
|
|
58
|
-
}
|
|
59
|
-
if (this.variant === 'radio-group') {
|
|
60
|
-
return [
|
|
61
|
-
{ type: 'label', label: 'Panel Position' },
|
|
62
|
-
{ type: 'separator' },
|
|
63
|
-
{ type: 'item', label: 'Top', value: 'top', radioSelected: true },
|
|
64
|
-
{ type: 'item', label: 'Bottom', value: 'bottom', radioSelected: false },
|
|
65
|
-
{ type: 'item', label: 'Right', value: 'right', radioSelected: false }
|
|
66
|
-
];
|
|
67
|
-
}
|
|
68
|
-
return [
|
|
69
|
-
{ type: 'label', label: 'My Account', inset: true },
|
|
70
|
-
{ type: 'separator' },
|
|
71
|
-
{ type: 'item', label: 'Profile', value: 'profile', shortcut: '⇧⌘P' },
|
|
72
|
-
{ type: 'item', label: 'Billing', value: 'billing', shortcut: '⌘B' },
|
|
73
|
-
{ type: 'item', label: 'Settings', value: 'settings', shortcut: '⌘S' },
|
|
74
|
-
{ type: 'item', label: 'Keyboard shortcuts', value: 'shortcuts', shortcut: '⌘K' },
|
|
75
|
-
{ type: 'separator' },
|
|
76
|
-
{ type: 'item', label: 'Team', value: 'team' },
|
|
77
|
-
{ type: 'item', label: 'Invite users', value: 'invite', showChevron: true },
|
|
78
|
-
{ type: 'item', label: 'New Team', value: 'new-team', shortcut: '⌘+T' },
|
|
79
|
-
{ type: 'separator' },
|
|
80
|
-
{ type: 'item', label: 'GitHub', value: 'github' },
|
|
81
|
-
{ type: 'item', label: 'Support', value: 'support' },
|
|
82
|
-
{ type: 'item', label: 'API', value: 'api', disabled: true },
|
|
83
|
-
{ type: 'separator' },
|
|
84
|
-
{ type: 'item', label: 'Log out', value: 'logout', shortcut: '⇧⌘Q' }
|
|
85
|
-
];
|
|
86
|
-
}
|
|
87
|
-
select(item) {
|
|
88
|
-
if (item.disabled || item.type === 'separator' || item.type === 'label' || !item.value)
|
|
89
|
-
return;
|
|
90
|
-
if (this.variant === 'checkboxes') {
|
|
91
|
-
const updated = this.resolvedItems.map((entry) => entry.value === item.value ? { ...entry, checked: !entry.checked } : entry);
|
|
92
|
-
this.itemsChange.emit(updated);
|
|
93
|
-
}
|
|
94
|
-
if (this.variant === 'radio-group') {
|
|
95
|
-
const updated = this.resolvedItems.map((entry) => entry.type === 'item'
|
|
96
|
-
? { ...entry, radioSelected: entry.value === item.value }
|
|
97
|
-
: entry);
|
|
98
|
-
this.itemsChange.emit(updated);
|
|
99
|
-
}
|
|
100
|
-
this.itemSelect.emit(item.value);
|
|
101
|
-
const shouldClose = this.variant === 'default' ? this.closeOnSelect : false;
|
|
102
|
-
if (shouldClose) {
|
|
103
|
-
this.closePanel();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
onEsc() {
|
|
107
|
-
if (this.open) {
|
|
108
|
-
this.closePanel();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
openPanel() {
|
|
112
|
-
if (this.overlayRef)
|
|
113
|
-
return;
|
|
114
|
-
const triggerEl = this.triggerRef?.nativeElement;
|
|
115
|
-
if (!triggerEl)
|
|
116
|
-
return;
|
|
117
|
-
this.open = true;
|
|
118
|
-
this.cdr.markForCheck();
|
|
119
|
-
const positionStrategy = createFlexiblePositionStrategy(this.overlay, triggerEl, 8);
|
|
120
|
-
// Resolve panelClass: overlayOptions.panelClass wins; otherwise map panelClassName.
|
|
121
|
-
const resolvedPanelClass = this.overlayOptions?.panelClass
|
|
122
|
-
?? (this.panelClassName ? [Z_INDEX.popover, this.panelClassName] : [Z_INDEX.popover]);
|
|
123
|
-
this.overlayRef = this.overlay.create({
|
|
124
|
-
positionStrategy,
|
|
125
|
-
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
126
|
-
// Consumer overrides are spread last — they win over every default above.
|
|
127
|
-
...this.overlayOptions,
|
|
128
|
-
// panelClass always overrides last: it already merges panelClassName + overlayOptions.
|
|
129
|
-
panelClass: resolvedPanelClass
|
|
130
|
-
});
|
|
131
|
-
const portal = new TemplatePortal(this.panelTemplateRef, this.viewContainerRef);
|
|
132
|
-
this.overlayRef.attach(portal);
|
|
133
|
-
this.backdropSub = this.overlayRef.outsidePointerEvents().subscribe((event) => {
|
|
134
|
-
const target = event.target;
|
|
135
|
-
if (!triggerEl.contains(target)) {
|
|
136
|
-
this.closePanel();
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
this.cdr.markForCheck();
|
|
140
|
-
}
|
|
141
|
-
closePanel() {
|
|
142
|
-
if (!this.overlayRef)
|
|
143
|
-
return;
|
|
144
|
-
this.open = false;
|
|
145
|
-
this.destroyOverlay();
|
|
146
|
-
this.cdr.markForCheck();
|
|
147
|
-
}
|
|
148
|
-
destroyOverlay() {
|
|
149
|
-
if (this.backdropSub) {
|
|
150
|
-
this.backdropSub.unsubscribe();
|
|
151
|
-
this.backdropSub = null;
|
|
152
|
-
}
|
|
153
|
-
if (this.overlayRef) {
|
|
154
|
-
this.overlayRef.dispose();
|
|
155
|
-
this.overlayRef = null;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
PdmDropdownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
160
|
-
PdmDropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDropdownMenuComponent, selector: "pdm-dropdown-menu", inputs: { triggerText: "triggerText", variant: "variant", items: "items", closeOnSelect: "closeOnSelect", className: "className", panelClassName: "panelClassName", overlayOptions: "overlayOptions" }, outputs: { itemSelect: "itemSelect", itemsChange: "itemsChange" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerEl"], descendants: true }, { propertyName: "panelTemplateRef", first: true, predicate: ["panelTemplate"], descendants: true }], ngImport: i0, template: "<button\n #triggerEl\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n className\n ]\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggle()\"\n>\n {{ triggerText }}\n</button>\n\n<ng-template #panelTemplate>\n <div\n class=\"min-w-32 overflow-hidden rounded-md border border-solid border-border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <ng-container *ngFor=\"let item of resolvedItems\">\n <div *ngIf=\"item.type === 'separator'\" class=\"-mx-1 my-1 h-px bg-muted\"></div>\n\n <div\n *ngIf=\"item.type === 'label'\"\n [ngClass]=\"['px-2 py-1.5 text-sm font-semibold text-foreground', item.inset ? 'pl-8' : '']\"\n >\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n [ngClass]=\"[\n 'relative flex w-full appearance-none box-border cursor-default select-none items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm text-foreground outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground disabled:pointer-events-none disabled:opacity-50',\n item.inset ? 'pl-8' : ''\n ]\"\n (click)=\"select(item)\"\n >\n <span class=\"inline-flex h-4 w-4 shrink-0 items-center justify-center\">\n <svg\n *ngIf=\"item.checked\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.radioSelected\" class=\"h-2 w-2 rounded-full bg-foreground\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{ item.shortcut }}</span>\n <span *ngIf=\"item.showChevron\" class=\"text-sm text-muted-foreground\">\u203A</span>\n </button>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDropdownMenuComponent, decorators: [{
|
|
162
|
-
type: Component,
|
|
163
|
-
args: [{ selector: 'pdm-dropdown-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #triggerEl\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-9 appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n className\n ]\"\n [attr.aria-expanded]=\"open\"\n (click)=\"toggle()\"\n>\n {{ triggerText }}\n</button>\n\n<ng-template #panelTemplate>\n <div\n class=\"min-w-32 overflow-hidden rounded-md border border-solid border-border bg-popover p-1 text-popover-foreground shadow-md\"\n >\n <ng-container *ngFor=\"let item of resolvedItems\">\n <div *ngIf=\"item.type === 'separator'\" class=\"-mx-1 my-1 h-px bg-muted\"></div>\n\n <div\n *ngIf=\"item.type === 'label'\"\n [ngClass]=\"['px-2 py-1.5 text-sm font-semibold text-foreground', item.inset ? 'pl-8' : '']\"\n >\n {{ item.label }}\n </div>\n\n <button\n *ngIf=\"!item.type || item.type === 'item'\"\n type=\"button\"\n [disabled]=\"item.disabled\"\n [ngClass]=\"[\n 'relative flex w-full appearance-none box-border cursor-default select-none items-center gap-2 rounded-sm border-0 bg-transparent px-2 py-1.5 text-left text-sm text-foreground outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground disabled:pointer-events-none disabled:opacity-50',\n item.inset ? 'pl-8' : ''\n ]\"\n (click)=\"select(item)\"\n >\n <span class=\"inline-flex h-4 w-4 shrink-0 items-center justify-center\">\n <svg\n *ngIf=\"item.checked\"\n viewBox=\"0 0 24 24\"\n class=\"h-3.5 w-3.5 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M5 12.5L9.2 16.7L19 7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n <span *ngIf=\"item.radioSelected\" class=\"h-2 w-2 rounded-full bg-foreground\"></span>\n </span>\n <span class=\"min-w-0 flex-1 truncate\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"text-xs text-muted-foreground\">{{ item.shortcut }}</span>\n <span *ngIf=\"item.showChevron\" class=\"text-sm text-muted-foreground\">\u203A</span>\n </button>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
164
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { triggerText: [{
|
|
165
|
-
type: Input
|
|
166
|
-
}], variant: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], items: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], closeOnSelect: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], className: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], panelClassName: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], overlayOptions: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], itemSelect: [{
|
|
179
|
-
type: Output
|
|
180
|
-
}], itemsChange: [{
|
|
181
|
-
type: Output
|
|
182
|
-
}], triggerRef: [{
|
|
183
|
-
type: ViewChild,
|
|
184
|
-
args: ['triggerEl']
|
|
185
|
-
}], panelTemplateRef: [{
|
|
186
|
-
type: ViewChild,
|
|
187
|
-
args: ['panelTemplate']
|
|
188
|
-
}], onEsc: [{
|
|
189
|
-
type: HostListener,
|
|
190
|
-
args: ['document:keydown.escape']
|
|
191
|
-
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHckQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBcUI5QyxNQUFNLE9BQU8sd0JBQXdCO0lBa0NuQyxZQUNtQixVQUFtQyxFQUNuQyxHQUFzQixFQUN0QixPQUFnQixFQUNoQixnQkFBa0M7UUFIbEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckM1QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQUNyQixZQUFPLEdBQTJCLFNBQVMsQ0FBQztRQUM1QyxVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUM5Qjs7O1dBR0c7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3hCOzs7O1dBSUc7UUFDTSxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQVFuQixlQUFVLEdBQUcsSUFBSSxZ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O3VCQUFDLFdBQVc7Z0JBQ2MsZ0JBQWdCO3NCQUFuRCxTQUFTO3VCQUFDLGVBQWU7Z0JBaUcxQixLQUFLO3NCQURKLFlBQVk7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQZG1PdmVybGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL292ZXJsYXkvcGRtLW92ZXJsYXktb3B0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9vdmVybGF5L2NyZWF0ZS1mbGV4aWJsZS1wb3NpdGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBaX0lOREVYIH0gZnJvbSAnLi4vLi4vdXRpbHMvei1pbmRleCc7XG5cbmV4cG9ydCB0eXBlIFBkbURyb3Bkb3duTWVudVZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnY2hlY2tib3hlcycgfCAncmFkaW8tZ3JvdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBkbU1lbnVJdGVtIHtcbiAgdHlwZT86ICdpdGVtJyB8ICdsYWJlbCcgfCAnc2VwYXJhdG9yJztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBzaG9ydGN1dD86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbnNldD86IGJvb2xlYW47XG4gIHNob3dDaGV2cm9uPzogYm9vbGVhbjtcbiAgY2hlY2tlZD86IGJvb2xlYW47XG4gIHJhZGlvU2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tZHJvcGRvd24tbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtRHJvcGRvd25NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdHJpZ2dlclRleHQgPSAnT3Blbic7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbURyb3Bkb3duTWVudVZhcmlhbnQgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBQZG1NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBDU1MgY2xhc3NlcyBhcHBsaWVkIHRvIHRoZSB0cmlnZ2VyIHdyYXBwZXIgZWxlbWVudC5cbiAgICogUHJlc2VydmVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzIGFwcGxpZWQgdG8gdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAqIEJhY2t3YXJkLWNvbXBhdGlibGU6IG1hcHBlZCB0byBgb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzc2Agd2hlbiBgb3ZlcmxheU9wdGlvbnNgIGlzIG5vdCBzZXQuXG4gICAqIFdoZW4gYm90aCBhcmUgc3VwcGxpZWQsIGBvdmVybGF5T3B0aW9ucy5wYW5lbENsYXNzYCB0YWtlcyBwcmVjZWRlbmNlLlxuICAgKi9cbiAgQElucHV0KCkgcGFuZWxDbGFzc05hbWUgPSAnJztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIENESyBPdmVybGF5Q29uZmlnIG92ZXJyaWRlcy5cbiAgICogU2hhbGxvdy1tZXJnZWQgb24gdG9wIG9mIGNvbXBvbmVudCBkZWZhdWx0cyDigJQgY29uc3VtZXIgYWx3YXlzIHdpbnMuXG4gICAqIFByb3ZpZGluZyBgcG9zaXRpb25TdHJhdGVneWAgb3IgYHNjcm9sbFN0cmF0ZWd5YCByZXBsYWNlcyB0aGUgY29tcG9uZW50IGRlZmF1bHQgZW50aXJlbHkuXG4gICAqL1xuICBASW5wdXQoKSBvdmVybGF5T3B0aW9ucz86IFBkbU92ZXJsYXlPcHRpb25zO1xuXG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBpdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGRtTWVudUl0ZW1bXT4oKTtcblxuICBvcGVuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckVsJykgcHJpdmF0ZSB0cmlnZ2VyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3BhbmVsVGVtcGxhdGUnKSBwcml2YXRlIHBhbmVsVGVtcGxhdGVSZWYhOiBhbnk7XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYmFja2Ryb3BTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuUGFuZWwoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRJdGVtcygpOiBQZG1NZW51SXRlbVtdIHtcbiAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdjaGVja2JveGVzJykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyB0eXBlOiAnbGFiZWwnLCBsYWJlbDogJ0FwcGVhcmFuY2UnIH0sXG4gICAgICAgIHsgdHlwZTogJ3NlcGFyYXRvcicgfSxcbiAgICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnU3RhdHVzIEJhcicsIHZhbHVlOiAnc3RhdHVzLWJhcicsIGNoZWNrZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnQWN0aXZpdHkgQmFyJywgdmFsdWU6ICdhY3Rpdml0eS1iYXInLCBjaGVja2VkOiBmYWxzZSB9LFxuICAgICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdQYW5lbCcsIHZhbHVlOiAncGFuZWwnLCBjaGVja2VkOiBmYWxzZSB9XG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdyYWRpby1ncm91cCcpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgdHlwZTogJ2xhYmVsJywgbGFiZWw6ICdQYW5lbCBQb3NpdGlvbicgfSxcbiAgICAgICAgeyB0eXBlOiAnc2VwYXJhdG9yJyB9LFxuICAgICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdUb3AnLCB2YWx1ZTogJ3RvcCcsIHJhZGlvU2VsZWN0ZWQ6IHRydWUgfSxcbiAgICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnQm90dG9tJywgdmFsdWU6ICdib3R0b20nLCByYWRpb1NlbGVjdGVkOiBmYWxzZSB9LFxuICAgICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdSaWdodCcsIHZhbHVlOiAncmlnaHQnLCByYWRpb1NlbGVjdGVkOiBmYWxzZSB9XG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB7IHR5cGU6ICdsYWJlbCcsIGxhYmVsOiAnTXkgQWNjb3VudCcsIGluc2V0OiB0cnVlIH0sXG4gICAgICB7IHR5cGU6ICdzZXBhcmF0b3InIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdQcm9maWxlJywgdmFsdWU6ICdwcm9maWxlJywgc2hvcnRjdXQ6ICfih6fijJhQJyB9LFxuICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnQmlsbGluZycsIHZhbHVlOiAnYmlsbGluZycsIHNob3J0Y3V0OiAn4oyYQicgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ1NldHRpbmdzJywgdmFsdWU6ICdzZXR0aW5ncycsIHNob3J0Y3V0OiAn4oyYUycgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0tleWJvYXJkIHNob3J0Y3V0cycsIHZhbHVlOiAnc2hvcnRjdXRzJywgc2hvcnRjdXQ6ICfijJhLJyB9LFxuICAgICAgeyB0eXBlOiAnc2VwYXJhdG9yJyB9LFxuICAgICAgeyB0eXBlOiAnaXRlbScsIGxhYmVsOiAnVGVhbScsIHZhbHVlOiAndGVhbScgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ0ludml0ZSB1c2VycycsIHZhbHVlOiAnaW52aXRlJywgc2hvd0NoZXZyb246IHRydWUgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ05ldyBUZWFtJywgdmFsdWU6ICduZXctdGVhbScsIHNob3J0Y3V0OiAn4oyYK1QnIH0sXG4gICAgICB7IHR5cGU6ICdzZXBhcmF0b3InIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdHaXRIdWInLCB2YWx1ZTogJ2dpdGh1YicgfSxcbiAgICAgIHsgdHlwZTogJ2l0ZW0nLCBsYWJlbDogJ1N1cHBvcnQnLCB2YWx1ZTogJ3N1cHBvcnQnIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdBUEknLCB2YWx1ZTogJ2FwaScsIGRpc2FibGVkOiB0cnVlIH0sXG4gICAgICB7IHR5cGU6ICdzZXBhcmF0b3InIH0sXG4gICAgICB7IHR5cGU6ICdpdGVtJywgbGFiZWw6ICdMb2cgb3V0JywgdmFsdWU6ICdsb2dvdXQnLCBzaG9ydGN1dDogJ+KHp+KMmFEnIH1cbiAgICBdO1xuICB9XG5cbiAgc2VsZWN0KGl0ZW06IFBkbU1lbnVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uZGlzYWJsZWQgfHwgaXRlbS50eXBlID09PSAnc2VwYXJhdG9yJyB8fCBpdGVtLnR5cGUgPT09ICdsYWJlbCcgfHwgIWl0ZW0udmFsdWUpIHJldHVybjtcblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdjaGVja2JveGVzJykge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IHRoaXMucmVzb2x2ZWRJdGVtcy5tYXAoKGVudHJ5KSA9PlxuICAgICAgICBlbnRyeS52YWx1ZSA9PT0gaXRlbS52YWx1ZSA/IHsgLi4uZW50cnksIGNoZWNrZWQ6ICFlbnRyeS5jaGVja2VkIH0gOiBlbnRyeVxuICAgICAgKTtcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh1cGRhdGVkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAncmFkaW8tZ3JvdXAnKSB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gdGhpcy5yZXNvbHZlZEl0ZW1zLm1hcCgoZW50cnkpID0+XG4gICAgICAgIGVudHJ5LnR5cGUgPT09ICdpdGVtJ1xuICAgICAgICAgID8geyAuLi5lbnRyeSwgcmFkaW9TZWxlY3RlZDogZW50cnkudmFsdWUgPT09IGl0ZW0udmFsdWUgfVxuICAgICAgICAgIDogZW50cnlcbiAgICAgICk7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodXBkYXRlZCk7XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtU2VsZWN0LmVtaXQoaXRlbS52YWx1ZSk7XG5cbiAgICBjb25zdCBzaG91bGRDbG9zZSA9IHRoaXMudmFyaWFudCA9PT0gJ2RlZmF1bHQnID8gdGhpcy5jbG9zZU9uU2VsZWN0IDogZmFsc2U7XG4gICAgaWYgKHNob3VsZENsb3NlKSB7XG4gICAgICB0aGlzLmNsb3NlUGFuZWwoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScpXG4gIG9uRXNjKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlblBhbmVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHJldHVybjtcblxuICAgIGNvbnN0IHRyaWdnZXJFbCA9IHRoaXMudHJpZ2dlclJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXRyaWdnZXJFbCkgcmV0dXJuO1xuXG4gICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjcmVhdGVGbGV4aWJsZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICB0aGlzLm92ZXJsYXksXG4gICAgICB0cmlnZ2VyRWwsXG4gICAgICA4XG4gICAgKTtcblxuICAgIC8vIFJlc29sdmUgcGFuZWxDbGFzczogb3ZlcmxheU9wdGlvbnMucGFuZWxDbGFzcyB3aW5zOyBvdGhlcndpc2UgbWFwIHBhbmVsQ2xhc3NOYW1lLlxuICAgIGNvbnN0IHJlc29sdmVkUGFuZWxDbGFzcyA9IHRoaXMub3ZlcmxheU9wdGlvbnM/LnBhbmVsQ2xhc3NcbiAgICAgID8/ICh0aGlzLnBhbmVsQ2xhc3NOYW1lID8gW1pfSU5ERVgucG9wb3ZlciwgdGhpcy5wYW5lbENsYXNzTmFtZV0gOiBbWl9JTkRFWC5wb3BvdmVyXSk7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgLy8gQ29uc3VtZXIgb3ZlcnJpZGVzIGFyZSBzcHJlYWQgbGFzdCDigJQgdGhleSB3aW4gb3ZlciBldmVyeSBkZWZhdWx0IGFib3ZlLlxuICAgICAgLi4udGhpcy5vdmVybGF5T3B0aW9ucyxcbiAgICAgIC8vIHBhbmVsQ2xhc3MgYWx3YXlzIG92ZXJyaWRlcyBsYXN0OiBpdCBhbHJlYWR5IG1lcmdlcyBwYW5lbENsYXNzTmFtZSArIG92ZXJsYXlPcHRpb25zLlxuICAgICAgcGFuZWxDbGFzczogcmVzb2x2ZWRQYW5lbENsYXNzXG4gICAgfSk7XG5cbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5wYW5lbFRlbXBsYXRlUmVmLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblxuICAgIHRoaXMuYmFja2Ryb3BTdWIgPSB0aGlzLm92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgTm9kZTtcbiAgICAgIGlmICghdHJpZ2dlckVsLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VQYW5lbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikgcmV0dXJuO1xuXG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95T3ZlcmxheSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcFN1Yikge1xuICAgICAgdGhpcy5iYWNrZHJvcFN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5iYWNrZHJvcFN1YiA9IG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICAjdHJpZ2dlckVsXG4gIHR5cGU9XCJidXR0b25cIlxuICBbbmdDbGFzc109XCJbXG4gICAgJ2lubGluZS1mbGV4IGgtOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTQgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZm9yZWdyb3VuZCBzaGFkb3ctc20gcmluZy1vZmZzZXQtYmFja2dyb3VuZCB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTInLFxuICAgIGNsYXNzTmFtZVxuICBdXCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuXCJcbiAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbj5cbiAge3sgdHJpZ2dlclRleHQgfX1cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI3BhbmVsVGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1pbi13LTMyIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWJvcmRlciBiZy1wb3BvdmVyIHAtMSB0ZXh0LXBvcG92ZXItZm9yZWdyb3VuZCBzaGFkb3ctbWRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByZXNvbHZlZEl0ZW1zXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS50eXBlID09PSAnc2VwYXJhdG9yJ1wiIGNsYXNzPVwiLW14LTEgbXktMSBoLXB4IGJnLW11dGVkXCI+PC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdsYWJlbCdcIlxuICAgICAgICBbbmdDbGFzc109XCJbJ3B4LTIgcHktMS41IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LWZvcmVncm91bmQnLCBpdGVtLmluc2V0ID8gJ3BsLTgnIDogJyddXCJcbiAgICAgID5cbiAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCIhaXRlbS50eXBlIHx8IGl0ZW0udHlwZSA9PT0gJ2l0ZW0nXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICdyZWxhdGl2ZSBmbGV4IHctZnVsbCBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBjdXJzb3ItZGVmYXVsdCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1zbSBib3JkZXItMCBiZy10cmFuc3BhcmVudCBweC0yIHB5LTEuNSB0ZXh0LWxlZnQgdGV4dC1zbSB0ZXh0LWZvcmVncm91bmQgb3V0bGluZS1ub25lIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWFjY2VudCBob3Zlcjp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kIGZvY3VzLXZpc2libGU6YmctYWNjZW50IGZvY3VzLXZpc2libGU6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZCBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGRpc2FibGVkOm9wYWNpdHktNTAnLFxuICAgICAgICAgIGl0ZW0uaW5zZXQgPyAncGwtOCcgOiAnJ1xuICAgICAgICBdXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpdGVtKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5saW5lLWZsZXggaC00IHctNCBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2hlY2tlZFwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC0zLjUgdy0zLjUgdGV4dC1mb3JlZ3JvdW5kXCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAxMi41TDkuMiAxNi43TDE5IDdcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnJhZGlvU2VsZWN0ZWRcIiBjbGFzcz1cImgtMiB3LTIgcm91bmRlZC1mdWxsIGJnLWZvcmVncm91bmRcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy0wIGZsZXgtMSB0cnVuY2F0ZVwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwidGV4dC14cyB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj57eyBpdGVtLnNob3J0Y3V0IH19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2hvd0NoZXZyb25cIiBjbGFzcz1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+4oC6PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { icons } from 'lucide';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
const FALLBACK_NODE = [['circle', { cx: '12', cy: '12', r: '9' }]];
|
|
7
|
-
export class PdmIconComponent {
|
|
8
|
-
constructor(sanitizer) {
|
|
9
|
-
this.sanitizer = sanitizer;
|
|
10
|
-
this.name = 'check';
|
|
11
|
-
this.library = 'lucide';
|
|
12
|
-
this.assetUrl = null;
|
|
13
|
-
this.size = 16;
|
|
14
|
-
this.strokeWidth = 1.5;
|
|
15
|
-
this.className = '';
|
|
16
|
-
this.ariaLabel = null;
|
|
17
|
-
this.decorative = false;
|
|
18
|
-
this.lucideIndex = this.buildLucideIndex();
|
|
19
|
-
this.aliasMapByLibrary = {
|
|
20
|
-
lucide: {
|
|
21
|
-
'check-circle': 'circle-check',
|
|
22
|
-
'alert-circle': 'circle-alert',
|
|
23
|
-
info: 'circle-info',
|
|
24
|
-
'sort-asc': 'arrow-up-a-z',
|
|
25
|
-
'sort-desc': 'arrow-down-z-a'
|
|
26
|
-
},
|
|
27
|
-
tabler: {
|
|
28
|
-
'alert-triangle': 'triangle-alert',
|
|
29
|
-
'user-circle': 'circle-user',
|
|
30
|
-
'settings-2': 'settings-2',
|
|
31
|
-
'external-link': 'external-link'
|
|
32
|
-
},
|
|
33
|
-
hugeicons: {
|
|
34
|
-
'alert-02': 'circle-alert',
|
|
35
|
-
'user-circle': 'circle-user',
|
|
36
|
-
'search-01': 'search',
|
|
37
|
-
'settings-01': 'settings',
|
|
38
|
-
'arrow-right-01': 'chevron-right',
|
|
39
|
-
'arrow-down-01': 'chevron-down'
|
|
40
|
-
},
|
|
41
|
-
phosphor: {
|
|
42
|
-
'warning-circle': 'circle-alert',
|
|
43
|
-
'caret-down': 'chevron-down',
|
|
44
|
-
'caret-right': 'chevron-right',
|
|
45
|
-
'user-circle': 'circle-user',
|
|
46
|
-
gear: 'settings',
|
|
47
|
-
'arrow-square-out': 'external-link'
|
|
48
|
-
},
|
|
49
|
-
remix: {
|
|
50
|
-
'alert-line': 'circle-alert',
|
|
51
|
-
'arrow-right-line': 'chevron-right',
|
|
52
|
-
'arrow-down-s-line': 'chevron-down',
|
|
53
|
-
'external-link-line': 'external-link',
|
|
54
|
-
'user-line': 'user',
|
|
55
|
-
'settings-3-line': 'settings'
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
get resolvedStrokeWidth() {
|
|
60
|
-
const value = Number(this.strokeWidth);
|
|
61
|
-
if (Number.isFinite(value) && value > 0) {
|
|
62
|
-
return value;
|
|
63
|
-
}
|
|
64
|
-
if (this.library === 'phosphor') {
|
|
65
|
-
return 1.6;
|
|
66
|
-
}
|
|
67
|
-
if (this.library === 'tabler') {
|
|
68
|
-
return 1.8;
|
|
69
|
-
}
|
|
70
|
-
return 1.5;
|
|
71
|
-
}
|
|
72
|
-
get resolvedSize() {
|
|
73
|
-
const value = Number(this.size);
|
|
74
|
-
return Number.isFinite(value) && value > 0 ? value : 16;
|
|
75
|
-
}
|
|
76
|
-
get iconKey() {
|
|
77
|
-
const raw = `${this.name || ''}`.trim();
|
|
78
|
-
if (!raw) {
|
|
79
|
-
return 'circle';
|
|
80
|
-
}
|
|
81
|
-
const trimmed = raw.replace(/^(lucide|tabler|hugeicons|phosphor|remix)\//, '');
|
|
82
|
-
const aliases = this.aliasMapByLibrary[this.library] ?? {};
|
|
83
|
-
return aliases[trimmed] ?? trimmed;
|
|
84
|
-
}
|
|
85
|
-
get svgMarkup() {
|
|
86
|
-
const node = this.resolveIconNode(this.iconKey) ?? FALLBACK_NODE;
|
|
87
|
-
const strokeWidth = this.escapeAttr(this.resolvedStrokeWidth);
|
|
88
|
-
const size = this.escapeAttr(this.resolvedSize);
|
|
89
|
-
const body = node
|
|
90
|
-
.map(([tag, attrs]) => {
|
|
91
|
-
const serializedAttrs = Object.entries(attrs)
|
|
92
|
-
.map(([key, value]) => `${key}="${this.escapeAttr(value)}"`)
|
|
93
|
-
.join(' ');
|
|
94
|
-
return serializedAttrs ? `<${tag} ${serializedAttrs}></${tag}>` : `<${tag}></${tag}>`;
|
|
95
|
-
})
|
|
96
|
-
.join('');
|
|
97
|
-
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="${strokeWidth}" stroke-linecap="round" stroke-linejoin="round">${body}</svg>`;
|
|
98
|
-
return this.sanitizer.bypassSecurityTrustHtml(svg);
|
|
99
|
-
}
|
|
100
|
-
resolveIconNode(iconName) {
|
|
101
|
-
const normalized = this.normalizeIconName(iconName);
|
|
102
|
-
return this.lucideIndex.get(normalized) ?? null;
|
|
103
|
-
}
|
|
104
|
-
normalizeIconName(name) {
|
|
105
|
-
return `${name || ''}`.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
106
|
-
}
|
|
107
|
-
buildLucideIndex() {
|
|
108
|
-
const map = new Map();
|
|
109
|
-
Object.entries(icons).forEach(([iconName, iconNode]) => {
|
|
110
|
-
map.set(this.normalizeIconName(iconName), iconNode);
|
|
111
|
-
});
|
|
112
|
-
return map;
|
|
113
|
-
}
|
|
114
|
-
escapeAttr(value) {
|
|
115
|
-
return `${value ?? ''}`
|
|
116
|
-
.replace(/&/g, '&')
|
|
117
|
-
.replace(/"/g, '"')
|
|
118
|
-
.replace(/</g, '<')
|
|
119
|
-
.replace(/>/g, '>');
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
PdmIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmIconComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
-
PdmIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmIconComponent, selector: "pdm-icon", inputs: { name: "name", library: "library", assetUrl: "assetUrl", size: "size", strokeWidth: "strokeWidth", className: "className", ariaLabel: "ariaLabel", decorative: "decorative" }, ngImport: i0, template: "<ng-container *ngIf=\"assetUrl; else inlineIcon\">\n <img\n [src]=\"assetUrl\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [ngClass]=\"className\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n alt=\"\"\n />\n</ng-container>\n\n<ng-template #inlineIcon>\n <span\n [ngClass]=\"className\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.justify-content]=\"'center'\"\n [style.line-height]=\"0\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n [innerHTML]=\"svgMarkup\"\n ></span>\n</ng-template>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}:host svg{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmIconComponent, decorators: [{
|
|
125
|
-
type: Component,
|
|
126
|
-
args: [{ selector: 'pdm-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"assetUrl; else inlineIcon\">\n <img\n [src]=\"assetUrl\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [ngClass]=\"className\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n alt=\"\"\n />\n</ng-container>\n\n<ng-template #inlineIcon>\n <span\n [ngClass]=\"className\"\n [style.display]=\"'inline-flex'\"\n [style.align-items]=\"'center'\"\n [style.justify-content]=\"'center'\"\n [style.line-height]=\"0\"\n [style.width.px]=\"resolvedSize\"\n [style.height.px]=\"resolvedSize\"\n [attr.role]=\"decorative ? null : 'img'\"\n [attr.aria-hidden]=\"decorative ? 'true' : null\"\n [attr.aria-label]=\"!decorative ? ariaLabel || name : null\"\n [innerHTML]=\"svgMarkup\"\n ></span>\n</ng-template>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}:host svg{display:block}\n"] }]
|
|
127
|
-
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { name: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], library: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], assetUrl: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], size: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], strokeWidth: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], className: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], ariaLabel: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], decorative: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLEtBQUssRUFBaUIsTUFBTSxRQUFRLENBQUM7Ozs7QUF1RDlDLE1BQU0sYUFBYSxHQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQXNCN0UsTUFBTSxPQUFPLGdCQUFnQjtJQW9EM0IsWUFBNkIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQW5EM0MsU0FBSSxHQUF5QixPQUFPLENBQUM7UUFDckMsWUFBTyxHQUFtQixRQUFRLENBQUM7UUFDbkMsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGdCQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRVgsZ0JBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV0QyxzQkFBaUIsR0FBbUQ7WUFDbkYsTUFBTSxFQUFFO2dCQUNOLGNBQWMsRUFBRSxjQUFjO2dCQUM5QixjQUFjLEVBQUUsY0FBYztnQkFDOUIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFVBQVUsRUFBRSxjQUFjO2dCQUMxQixX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Q0FBQyxFQUFFLEVBQUU7WUFDckQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBb0IsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWM7UUFDL0IsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUU7YUFDcEIsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7YUFDdkIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDOzs2R0FwSVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isd09DL0U3QiwwNUJBNEJBOzJGRG1EYSxnQkFBZ0I7a0JBcEI1QixTQUFTOytCQUNFLFVBQVUsbUJBaUJILHVCQUF1QixDQUFDLE1BQU07bUdBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBpY29ucywgdHlwZSBJY29uTm9kZSB9IGZyb20gJ2x1Y2lkZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUljb25MaWJyYXJ5ID0gJ2x1Y2lkZScgfCAndGFibGVyJyB8ICdodWdlaWNvbnMnIHwgJ3Bob3NwaG9yJyB8ICdyZW1peCc7XG5cbmV4cG9ydCB0eXBlIFBkbUljb25OYW1lID1cbiAgfCAnY29tbWFuZCdcbiAgfCAnY2hlY2snXG4gIHwgJ2NoZWNrLWNpcmNsZSdcbiAgfCAnY2lyY2xlJ1xuICB8ICdkb3QnXG4gIHwgJ3gnXG4gIHwgJ2FsZXJ0LWNpcmNsZSdcbiAgfCAnaW5mbydcbiAgfCAnbG9hZGVyLTInXG4gIHwgJ21lbnUnXG4gIHwgJ3NlYXJjaCdcbiAgfCAnY2FsZW5kYXInXG4gIHwgJ3BhbmVsLWxlZnQnXG4gIHwgJ21vbml0b3InXG4gIHwgJ2xhcHRvcCdcbiAgfCAnc3VuJ1xuICB8ICdtb29uJ1xuICB8ICdjaGV2cm9uLWRvd24nXG4gIHwgJ2NoZXZyb24tdXAnXG4gIHwgJ2NoZXZyb24tbGVmdCdcbiAgfCAnY2hldnJvbi1yaWdodCdcbiAgfCAnY2hldnJvbnMtbGVmdCdcbiAgfCAnY2hldnJvbnMtcmlnaHQnXG4gIHwgJ2NoZXZyb25zLXVwLWRvd24nXG4gIHwgJ2Fycm93LXVwLWRvd24nXG4gIHwgJ2VsbGlwc2lzJ1xuICB8ICdmaWx0ZXInXG4gIHwgJ3NvcnQtYXNjJ1xuICB8ICdzb3J0LWRlc2MnXG4gIHwgJ3BsdXMnXG4gIHwgJ21pbnVzJ1xuICB8ICdjb3B5J1xuICB8ICdwZW5jaWwnXG4gIHwgJ3RyYXNoLTInXG4gIHwgJ2Rvd25sb2FkJ1xuICB8ICd1cGxvYWQnXG4gIHwgJ2hvbWUnXG4gIHwgJ21haWwnXG4gIHwgJ3Bob25lJ1xuICB8ICdsb2ctaW4nXG4gIHwgJ2xvZy1vdXQnXG4gIHwgJ3VzZXInXG4gIHwgJ3NldHRpbmdzJ1xuICB8ICdjcmVkaXQtY2FyZCdcbiAgfCAnc21pbGUnXG4gIHwgJ2NhbGN1bGF0b3InXG4gIHwgJ2V4dGVybmFsLWxpbmsnXG4gIHwgJ2ZvbGRlcidcbiAgfCAnYXJyb3ctdXAtcmlnaHQnO1xuXG5jb25zdCBGQUxMQkFDS19OT0RFOiBJY29uTm9kZSA9IFtbJ2NpcmNsZScsIHsgY3g6ICcxMicsIGN5OiAnMTInLCByOiAnOScgfV1dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0taWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgOmhvc3Qgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1JY29uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbmFtZTogUGRtSWNvbk5hbWUgfCBzdHJpbmcgPSAnY2hlY2snO1xuICBASW5wdXQoKSBsaWJyYXJ5OiBQZG1JY29uTGlicmFyeSA9ICdsdWNpZGUnO1xuICBASW5wdXQoKSBhc3NldFVybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHNpemUgPSAxNjtcbiAgQElucHV0KCkgc3Ryb2tlV2lkdGggPSAxLjU7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBkZWNvcmF0aXZlID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsdWNpZGVJbmRleCA9IHRoaXMuYnVpbGRMdWNpZGVJbmRleCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWxpYXNNYXBCeUxpYnJhcnk6IFJlY29yZDxQZG1JY29uTGlicmFyeSwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7XG4gICAgbHVjaWRlOiB7XG4gICAgICAnY2hlY2stY2lyY2xlJzogJ2NpcmNsZS1jaGVjaycsXG4gICAgICAnYWxlcnQtY2lyY2xlJzogJ2NpcmNsZS1hbGVydCcsXG4gICAgICBpbmZvOiAnY2lyY2xlLWluZm8nLFxuICAgICAgJ3NvcnQtYXNjJzogJ2Fycm93LXVwLWEteicsXG4gICAgICAnc29ydC1kZXNjJzogJ2Fycm93LWRvd24tei1hJ1xuICAgIH0sXG4gICAgdGFibGVyOiB7XG4gICAgICAnYWxlcnQtdHJpYW5nbGUnOiAndHJpYW5nbGUtYWxlcnQnLFxuICAgICAgJ3VzZXItY2lyY2xlJzogJ2NpcmNsZS11c2VyJyxcbiAgICAgICdzZXR0aW5ncy0yJzogJ3NldHRpbmdzLTInLFxuICAgICAgJ2V4dGVybmFsLWxpbmsnOiAnZXh0ZXJuYWwtbGluaydcbiAgICB9LFxuICAgIGh1Z2VpY29uczoge1xuICAgICAgJ2FsZXJ0LTAyJzogJ2NpcmNsZS1hbGVydCcsXG4gICAgICAndXNlci1jaXJjbGUnOiAnY2lyY2xlLXVzZXInLFxuICAgICAgJ3NlYXJjaC0wMSc6ICdzZWFyY2gnLFxuICAgICAgJ3NldHRpbmdzLTAxJzogJ3NldHRpbmdzJyxcbiAgICAgICdhcnJvdy1yaWdodC0wMSc6ICdjaGV2cm9uLXJpZ2h0JyxcbiAgICAgICdhcnJvdy1kb3duLTAxJzogJ2NoZXZyb24tZG93bidcbiAgICB9LFxuICAgIHBob3NwaG9yOiB7XG4gICAgICAnd2FybmluZy1jaXJjbGUnOiAnY2lyY2xlLWFsZXJ0JyxcbiAgICAgICdjYXJldC1kb3duJzogJ2NoZXZyb24tZG93bicsXG4gICAgICAnY2FyZXQtcmlnaHQnOiAnY2hldnJvbi1yaWdodCcsXG4gICAgICAndXNlci1jaXJjbGUnOiAnY2lyY2xlLXVzZXInLFxuICAgICAgZ2VhcjogJ3NldHRpbmdzJyxcbiAgICAgICdhcnJvdy1zcXVhcmUtb3V0JzogJ2V4dGVybmFsLWxpbmsnXG4gICAgfSxcbiAgICByZW1peDoge1xuICAgICAgJ2FsZXJ0LWxpbmUnOiAnY2lyY2xlLWFsZXJ0JyxcbiAgICAgICdhcnJvdy1yaWdodC1saW5lJzogJ2NoZXZyb24tcmlnaHQnLFxuICAgICAgJ2Fycm93LWRvd24tcy1saW5lJzogJ2NoZXZyb24tZG93bicsXG4gICAgICAnZXh0ZXJuYWwtbGluay1saW5lJzogJ2V4dGVybmFsLWxpbmsnLFxuICAgICAgJ3VzZXItbGluZSc6ICd1c2VyJyxcbiAgICAgICdzZXR0aW5ncy0zLWxpbmUnOiAnc2V0dGluZ3MnXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgZ2V0IHJlc29sdmVkU3Ryb2tlV2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IE51bWJlcih0aGlzLnN0cm9rZVdpZHRoKTtcbiAgICBpZiAoTnVtYmVyLmlzRmluaXRlKHZhbHVlKSAmJiB2YWx1ZSA+IDApIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saWJyYXJ5ID09PSAncGhvc3Bob3InKSB7XG4gICAgICByZXR1cm4gMS42O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpYnJhcnkgPT09ICd0YWJsZXInKSB7XG4gICAgICByZXR1cm4gMS44O1xuICAgIH1cblxuICAgIHJldHVybiAxLjU7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRTaXplKCk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUgPSBOdW1iZXIodGhpcy5zaXplKTtcbiAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHZhbHVlKSAmJiB2YWx1ZSA+IDAgPyB2YWx1ZSA6IDE2O1xuICB9XG5cbiAgZ2V0IGljb25LZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCByYXcgPSBgJHt0aGlzLm5hbWUgfHwgJyd9YC50cmltKCk7XG4gICAgaWYgKCFyYXcpIHtcbiAgICAgIHJldHVybiAnY2lyY2xlJztcbiAgICB9XG5cbiAgICBjb25zdCB0cmltbWVkID0gcmF3LnJlcGxhY2UoL14obHVjaWRlfHRhYmxlcnxodWdlaWNvbnN8cGhvc3Bob3J8cmVtaXgpXFwvLywgJycpO1xuICAgIGNvbnN0IGFsaWFzZXMgPSB0aGlzLmFsaWFzTWFwQnlMaWJyYXJ5W3RoaXMubGlicmFyeV0gPz8ge307XG4gICAgcmV0dXJuIGFsaWFzZXNbdHJpbW1lZF0gPz8gdHJpbW1lZDtcbiAgfVxuXG4gIGdldCBzdmdNYXJrdXAoKTogU2FmZUh0bWwge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnJlc29sdmVJY29uTm9kZSh0aGlzLmljb25LZXkpID8/IEZBTExCQUNLX05PREU7XG4gICAgY29uc3Qgc3Ryb2tlV2lkdGggPSB0aGlzLmVzY2FwZUF0dHIodGhpcy5yZXNvbHZlZFN0cm9rZVdpZHRoKTtcbiAgICBjb25zdCBzaXplID0gdGhpcy5lc2NhcGVBdHRyKHRoaXMucmVzb2x2ZWRTaXplKTtcblxuICAgIGNvbnN0IGJvZHkgPSBub2RlXG4gICAgICAubWFwKChbdGFnLCBhdHRyc10pID0+IHtcbiAgICAgICAgY29uc3Qgc2VyaWFsaXplZEF0dHJzID0gT2JqZWN0LmVudHJpZXMoYXR0cnMpXG4gICAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PVwiJHt0aGlzLmVzY2FwZUF0dHIodmFsdWUpfVwiYClcbiAgICAgICAgICAuam9pbignICcpO1xuXG4gICAgICAgIHJldHVybiBzZXJpYWxpemVkQXR0cnMgPyBgPCR7dGFnfSAke3NlcmlhbGl6ZWRBdHRyc30+PC8ke3RhZ30+YCA6IGA8JHt0YWd9PjwvJHt0YWd9PmA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJycpO1xuXG4gICAgY29uc3Qgc3ZnID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiJHtzaXplfVwiIGhlaWdodD1cIiR7c2l6ZX1cIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIke3N0cm9rZVdpZHRofVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPiR7Ym9keX08L3N2Zz5gO1xuXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Zyk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVJY29uTm9kZShpY29uTmFtZTogc3RyaW5nKTogSWNvbk5vZGUgfCBudWxsIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gdGhpcy5ub3JtYWxpemVJY29uTmFtZShpY29uTmFtZSk7XG4gICAgcmV0dXJuIHRoaXMubHVjaWRlSW5kZXguZ2V0KG5vcm1hbGl6ZWQpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUljb25OYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke25hbWUgfHwgJyd9YC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teYS16MC05XS9nLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkTHVjaWRlSW5kZXgoKTogTWFwPHN0cmluZywgSWNvbk5vZGU+IHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgSWNvbk5vZGU+KCk7XG5cbiAgICBPYmplY3QuZW50cmllcyhpY29ucykuZm9yRWFjaCgoW2ljb25OYW1lLCBpY29uTm9kZV0pID0+IHtcbiAgICAgIG1hcC5zZXQodGhpcy5ub3JtYWxpemVJY29uTmFtZShpY29uTmFtZSksIGljb25Ob2RlIGFzIEljb25Ob2RlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtYXA7XG4gIH1cblxuICBwcml2YXRlIGVzY2FwZUF0dHIodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt2YWx1ZSA/PyAnJ31gXG4gICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxuICAgICAgLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKVxuICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2V0VXJsOyBlbHNlIGlubGluZUljb25cIj5cbiAgPGltZ1xuICAgIFtzcmNdPVwiYXNzZXRVcmxcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJyZXNvbHZlZFNpemVcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwicmVzb2x2ZWRTaXplXCJcbiAgICBbbmdDbGFzc109XCJjbGFzc05hbWVcIlxuICAgIFthdHRyLnJvbGVdPVwiZGVjb3JhdGl2ZSA/IG51bGwgOiAnaW1nJ1wiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiZGVjb3JhdGl2ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiIWRlY29yYXRpdmUgPyBhcmlhTGFiZWwgfHwgbmFtZSA6IG51bGxcIlxuICAgIGFsdD1cIlwiXG4gIC8+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNpbmxpbmVJY29uPlxuICA8c3BhblxuICAgIFtuZ0NsYXNzXT1cImNsYXNzTmFtZVwiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiJ2lubGluZS1mbGV4J1wiXG4gICAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cIidjZW50ZXInXCJcbiAgICBbc3R5bGUuanVzdGlmeS1jb250ZW50XT1cIidjZW50ZXInXCJcbiAgICBbc3R5bGUubGluZS1oZWlnaHRdPVwiMFwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cInJlc29sdmVkU2l6ZVwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJyZXNvbHZlZFNpemVcIlxuICAgIFthdHRyLnJvbGVdPVwiZGVjb3JhdGl2ZSA/IG51bGwgOiAnaW1nJ1wiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiZGVjb3JhdGl2ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiIWRlY29yYXRpdmUgPyBhcmlhTGFiZWwgfHwgbmFtZSA6IG51bGxcIlxuICAgIFtpbm5lckhUTUxdPVwic3ZnTWFya3VwXCJcbiAgPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChildren, } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
export class PdmInputOtpComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.length = 6;
|
|
7
|
-
this.groupSize = 3;
|
|
8
|
-
this.disabled = false;
|
|
9
|
-
this.invalid = false;
|
|
10
|
-
this.className = "";
|
|
11
|
-
this.valueChange = new EventEmitter();
|
|
12
|
-
this.completed = new EventEmitter();
|
|
13
|
-
this.values = Array.from({ length: this.length }, () => "");
|
|
14
|
-
}
|
|
15
|
-
ngOnChanges() {
|
|
16
|
-
if (this.values.length !== this.length) {
|
|
17
|
-
this.values = Array.from({ length: this.length }, (_, index) => this.values[index] ?? "");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
trackByIndex(index) {
|
|
21
|
-
return index;
|
|
22
|
-
}
|
|
23
|
-
onInput(index, event) {
|
|
24
|
-
const input = event.target;
|
|
25
|
-
const char = (input.value || "").replace(/\D+/g, "").slice(-1);
|
|
26
|
-
this.values[index] = char;
|
|
27
|
-
input.value = char;
|
|
28
|
-
this.emit();
|
|
29
|
-
if (char) {
|
|
30
|
-
this.focusInput(index + 1, true);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
onKeyDown(index, event) {
|
|
34
|
-
if (event.key === "Backspace" && !this.values[index]) {
|
|
35
|
-
this.focusInput(index - 1);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
if (event.key === "ArrowLeft") {
|
|
39
|
-
event.preventDefault();
|
|
40
|
-
this.focusInput(index - 1);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (event.key === "ArrowRight") {
|
|
44
|
-
event.preventDefault();
|
|
45
|
-
this.focusInput(index + 1);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
onPaste(event) {
|
|
49
|
-
event.preventDefault();
|
|
50
|
-
const pastedText = (event.clipboardData?.getData("text") ?? "")
|
|
51
|
-
.replace(/\D+/g, "")
|
|
52
|
-
.slice(0, this.length);
|
|
53
|
-
if (!pastedText) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
this.values = Array.from({ length: this.length }, (_, index) => pastedText[index] ?? "");
|
|
57
|
-
this.emit();
|
|
58
|
-
const nextIndex = Math.min(pastedText.length, this.length - 1);
|
|
59
|
-
this.focusInput(nextIndex);
|
|
60
|
-
}
|
|
61
|
-
getInputClasses(index) {
|
|
62
|
-
const classes = [
|
|
63
|
-
"h-9 w-9 appearance-none box-border border border-solid bg-background text-center text-sm font-normal text-foreground outline-none transition focus:outline-none focus-visible:outline-none",
|
|
64
|
-
"shadow-sm",
|
|
65
|
-
"focus:border-input focus:ring-1 focus:ring-primary/30",
|
|
66
|
-
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
67
|
-
];
|
|
68
|
-
if (this.invalid) {
|
|
69
|
-
classes.push("border-destructive focus:border-destructive focus:ring-destructive");
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
classes.push("border-input");
|
|
73
|
-
}
|
|
74
|
-
if (this.isGroupStart(index)) {
|
|
75
|
-
classes.push("rounded-l-md border-l");
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
classes.push("border-l-0");
|
|
79
|
-
}
|
|
80
|
-
if (this.isGroupEnd(index)) {
|
|
81
|
-
classes.push("rounded-r-md");
|
|
82
|
-
}
|
|
83
|
-
return classes.join(" ");
|
|
84
|
-
}
|
|
85
|
-
shouldShowSeparator(index) {
|
|
86
|
-
return (this.groupSize > 0 &&
|
|
87
|
-
(index + 1) % this.groupSize === 0 &&
|
|
88
|
-
index < this.length - 1);
|
|
89
|
-
}
|
|
90
|
-
isGroupStart(index) {
|
|
91
|
-
return this.groupSize <= 0 || index % this.groupSize === 0;
|
|
92
|
-
}
|
|
93
|
-
isGroupEnd(index) {
|
|
94
|
-
if (this.groupSize <= 0) {
|
|
95
|
-
return index === this.length - 1;
|
|
96
|
-
}
|
|
97
|
-
return (index + 1) % this.groupSize === 0 || index === this.length - 1;
|
|
98
|
-
}
|
|
99
|
-
emit() {
|
|
100
|
-
const value = this.values.join("");
|
|
101
|
-
this.valueChange.emit(value);
|
|
102
|
-
if (value.length === this.length && !this.values.includes("")) {
|
|
103
|
-
this.completed.emit(value);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
focusInput(index, deferred = false) {
|
|
107
|
-
if (deferred) {
|
|
108
|
-
requestAnimationFrame(() => this.focusInput(index, false));
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
if (!this.inputs || index < 0 || index >= this.length) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const input = this.inputs.get(index)?.nativeElement;
|
|
115
|
-
if (input) {
|
|
116
|
-
input.focus();
|
|
117
|
-
input.select();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
PdmInputOtpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmInputOtpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
-
PdmInputOtpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmInputOtpComponent, selector: "pdm-input-otp", inputs: { length: "length", groupSize: "groupSize", disabled: "disabled", invalid: "invalid", className: "className" }, outputs: { valueChange: "valueChange", completed: "completed" }, viewQueries: [{ propertyName: "inputs", predicate: ["otpInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"['inline-flex items-center justify-center', className]\" (paste)=\"onPaste($event)\">\n <ng-container *ngFor=\"let value of values; let index = index; trackBy: trackByIndex\">\n <input\n #otpInput\n [class]=\"getInputClasses(index)\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n [attr.name]=\"'otp-digit-' + index\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-label]=\"'OTP digit ' + (index + 1)\"\n (input)=\"onInput(index, $event)\"\n (keydown)=\"onKeyDown(index, $event)\"\n />\n <span\n *ngIf=\"shouldShowSeparator(index)\"\n class=\"mx-2 mt-[-1px] h-px w-6 bg-foreground opacity-80\"\n aria-hidden=\"true\"\n ></span>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmInputOtpComponent, decorators: [{
|
|
124
|
-
type: Component,
|
|
125
|
-
args: [{ selector: "pdm-input-otp", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['inline-flex items-center justify-center', className]\" (paste)=\"onPaste($event)\">\n <ng-container *ngFor=\"let value of values; let index = index; trackBy: trackByIndex\">\n <input\n #otpInput\n [class]=\"getInputClasses(index)\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n [attr.name]=\"'otp-digit-' + index\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-label]=\"'OTP digit ' + (index + 1)\"\n (input)=\"onInput(index, $event)\"\n (keydown)=\"onKeyDown(index, $event)\"\n />\n <span\n *ngIf=\"shouldShowSeparator(index)\"\n class=\"mx-2 mt-[-1px] h-px w-6 bg-foreground opacity-80\"\n aria-hidden=\"true\"\n ></span>\n </ng-container>\n</div>\n" }]
|
|
126
|
-
}], propDecorators: { length: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], groupSize: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], disabled: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], invalid: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], className: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], valueChange: [{
|
|
137
|
-
type: Output
|
|
138
|
-
}], completed: [{
|
|
139
|
-
type: Output
|
|
140
|
-
}], inputs: [{
|
|
141
|
-
type: ViewChildren,
|
|
142
|
-
args: ["otpInput"]
|
|
143
|
-
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtb3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1vdHAvaW5wdXQtb3RwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFlBQVksR0FDWixNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVSxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBTWpELFdBQU0sR0FBYSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQTRJakU7SUExSUEsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3ZCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFDdkIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FDdEMsQ0FBQztTQUNGO0lBQ0YsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhLEVBQUUsS0FBWTtRQUNsQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztRQUMxQixLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWixJQUFJLElBQUksRUFBRTtZQUNULElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNqQztJQUNGLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLEtBQW9CO1FBQzVDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87U0FDUDtRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUU7WUFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87U0FDUDtRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxZQUFZLEVBQUU7WUFDL0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzNCO0lBQ0YsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFxQjtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDN0QsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7YUFDbkIsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNoQixPQUFPO1NBQ1A7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3ZCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFDdkIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDNUIsTUFBTSxPQUFPLEdBQUc7WUFDZiw0TEFBNEw7WUFDNUwsV0FBVztZQUNYLHVEQUF1RDtZQUN2RCxpREFBaUQ7U0FDakQsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLENBQUMsSUFBSSxDQUNYLG9FQUFvRSxDQUNwRSxDQUFDO1NBQ0Y7YUFBTTtZQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDN0I7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDN0I7UUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWE7UUFDaEMsT0FBTyxDQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQztZQUNsQixDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUM7WUFDbEMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxVQUFVLENBQUMsS0FBYTtRQUMvQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLElBQUk7UUFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzlELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0YsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFhLEVBQUUsUUFBUSxHQUFHLEtBQUs7UUFDakQsSUFBSSxRQUFRLEVBQUU7WUFDYixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNELE9BQU87U0FDUDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDdEQsT0FBTztTQUNQO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsYUFBYSxDQUFDO1FBQ3BELElBQUksS0FBSyxFQUFFO1lBQ1YsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2QsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Y7SUFDRixDQUFDOztpSEF6Slcsb0JBQW9CO3FHQUFwQixvQkFBb0IsMFZDaEJqQyx1M0JBeUJBOzJGRFRhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDQyxlQUFlLG1CQUVSLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVvQyxNQUFNO3NCQUFoRCxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHR0eXBlIEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0dHlwZSBRdWVyeUxpc3QsXG5cdFZpZXdDaGlsZHJlbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1pbnB1dC1vdHBcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9pbnB1dC1vdHAuY29tcG9uZW50Lmh0bWxcIixcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBkbUlucHV0T3RwQ29tcG9uZW50IHtcblx0QElucHV0KCkgbGVuZ3RoID0gNjtcblx0QElucHV0KCkgZ3JvdXBTaXplID0gMztcblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXG5cdEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cblx0QFZpZXdDaGlsZHJlbihcIm90cElucHV0XCIpIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRzPzogUXVlcnlMaXN0PFxuXHRcdEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cblx0PjtcblxuXHR2YWx1ZXM6IHN0cmluZ1tdID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5sZW5ndGggfSwgKCkgPT4gXCJcIik7XG5cblx0bmdPbkNoYW5nZXMoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMudmFsdWVzLmxlbmd0aCAhPT0gdGhpcy5sZW5ndGgpIHtcblx0XHRcdHRoaXMudmFsdWVzID0gQXJyYXkuZnJvbShcblx0XHRcdFx0eyBsZW5ndGg6IHRoaXMubGVuZ3RoIH0sXG5cdFx0XHRcdChfLCBpbmRleCkgPT4gdGhpcy52YWx1ZXNbaW5kZXhdID8/IFwiXCIsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcblx0XHRyZXR1cm4gaW5kZXg7XG5cdH1cblxuXHRvbklucHV0KGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cdFx0Y29uc3QgY2hhciA9IChpbnB1dC52YWx1ZSB8fCBcIlwiKS5yZXBsYWNlKC9cXEQrL2csIFwiXCIpLnNsaWNlKC0xKTtcblxuXHRcdHRoaXMudmFsdWVzW2luZGV4XSA9IGNoYXI7XG5cdFx0aW5wdXQudmFsdWUgPSBjaGFyO1xuXHRcdHRoaXMuZW1pdCgpO1xuXG5cdFx0aWYgKGNoYXIpIHtcblx0XHRcdHRoaXMuZm9jdXNJbnB1dChpbmRleCArIDEsIHRydWUpO1xuXHRcdH1cblx0fVxuXG5cdG9uS2V5RG93bihpbmRleDogbnVtYmVyLCBldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdGlmIChldmVudC5rZXkgPT09IFwiQmFja3NwYWNlXCIgJiYgIXRoaXMudmFsdWVzW2luZGV4XSkge1xuXHRcdFx0dGhpcy5mb2N1c0lucHV0KGluZGV4IC0gMSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0xlZnRcIikge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMuZm9jdXNJbnB1dChpbmRleCAtIDEpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dSaWdodFwiKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0dGhpcy5mb2N1c0lucHV0KGluZGV4ICsgMSk7XG5cdFx0fVxuXHR9XG5cblx0b25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG5cdFx0Y29uc3QgcGFzdGVkVGV4dCA9IChldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKFwidGV4dFwiKSA/PyBcIlwiKVxuXHRcdFx0LnJlcGxhY2UoL1xcRCsvZywgXCJcIilcblx0XHRcdC5zbGljZSgwLCB0aGlzLmxlbmd0aCk7XG5cblx0XHRpZiAoIXBhc3RlZFRleHQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnZhbHVlcyA9IEFycmF5LmZyb20oXG5cdFx0XHR7IGxlbmd0aDogdGhpcy5sZW5ndGggfSxcblx0XHRcdChfLCBpbmRleCkgPT4gcGFzdGVkVGV4dFtpbmRleF0gPz8gXCJcIixcblx0XHQpO1xuXHRcdHRoaXMuZW1pdCgpO1xuXG5cdFx0Y29uc3QgbmV4dEluZGV4ID0gTWF0aC5taW4ocGFzdGVkVGV4dC5sZW5ndGgsIHRoaXMubGVuZ3RoIC0gMSk7XG5cdFx0dGhpcy5mb2N1c0lucHV0KG5leHRJbmRleCk7XG5cdH1cblxuXHRnZXRJbnB1dENsYXNzZXMoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG5cdFx0Y29uc3QgY2xhc3NlcyA9IFtcblx0XHRcdFwiaC05IHctOSBhcHBlYXJhbmNlLW5vbmUgYm94LWJvcmRlciBib3JkZXIgYm9yZGVyLXNvbGlkIGJnLWJhY2tncm91bmQgdGV4dC1jZW50ZXIgdGV4dC1zbSBmb250LW5vcm1hbCB0ZXh0LWZvcmVncm91bmQgb3V0bGluZS1ub25lIHRyYW5zaXRpb24gZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lXCIsXG5cdFx0XHRcInNoYWRvdy1zbVwiLFxuXHRcdFx0XCJmb2N1czpib3JkZXItaW5wdXQgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctcHJpbWFyeS8zMFwiLFxuXHRcdFx0XCJkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgZGlzYWJsZWQ6b3BhY2l0eS01MFwiLFxuXHRcdF07XG5cblx0XHRpZiAodGhpcy5pbnZhbGlkKSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXG5cdFx0XHRcdFwiYm9yZGVyLWRlc3RydWN0aXZlIGZvY3VzOmJvcmRlci1kZXN0cnVjdGl2ZSBmb2N1czpyaW5nLWRlc3RydWN0aXZlXCIsXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXCJib3JkZXItaW5wdXRcIik7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuaXNHcm91cFN0YXJ0KGluZGV4KSkge1xuXHRcdFx0Y2xhc3Nlcy5wdXNoKFwicm91bmRlZC1sLW1kIGJvcmRlci1sXCIpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXCJib3JkZXItbC0wXCIpO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLmlzR3JvdXBFbmQoaW5kZXgpKSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goXCJyb3VuZGVkLXItbWRcIik7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNsYXNzZXMuam9pbihcIiBcIik7XG5cdH1cblxuXHRzaG91bGRTaG93U2VwYXJhdG9yKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0dGhpcy5ncm91cFNpemUgPiAwICYmXG5cdFx0XHQoaW5kZXggKyAxKSAlIHRoaXMuZ3JvdXBTaXplID09PSAwICYmXG5cdFx0XHRpbmRleCA8IHRoaXMubGVuZ3RoIC0gMVxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIGlzR3JvdXBTdGFydChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZ3JvdXBTaXplIDw9IDAgfHwgaW5kZXggJSB0aGlzLmdyb3VwU2l6ZSA9PT0gMDtcblx0fVxuXG5cdHByaXZhdGUgaXNHcm91cEVuZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMuZ3JvdXBTaXplIDw9IDApIHtcblx0XHRcdHJldHVybiBpbmRleCA9PT0gdGhpcy5sZW5ndGggLSAxO1xuXHRcdH1cblx0XHRyZXR1cm4gKGluZGV4ICsgMSkgJSB0aGlzLmdyb3VwU2l6ZSA9PT0gMCB8fCBpbmRleCA9PT0gdGhpcy5sZW5ndGggLSAxO1xuXHR9XG5cblx0cHJpdmF0ZSBlbWl0KCk6IHZvaWQge1xuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZXMuam9pbihcIlwiKTtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuXG5cdFx0aWYgKHZhbHVlLmxlbmd0aCA9PT0gdGhpcy5sZW5ndGggJiYgIXRoaXMudmFsdWVzLmluY2x1ZGVzKFwiXCIpKSB7XG5cdFx0XHR0aGlzLmNvbXBsZXRlZC5lbWl0KHZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGZvY3VzSW5wdXQoaW5kZXg6IG51bWJlciwgZGVmZXJyZWQgPSBmYWxzZSk6IHZvaWQge1xuXHRcdGlmIChkZWZlcnJlZCkge1xuXHRcdFx0cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMuZm9jdXNJbnB1dChpbmRleCwgZmFsc2UpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMuaW5wdXRzIHx8IGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dHMuZ2V0KGluZGV4KT8ubmF0aXZlRWxlbWVudDtcblx0XHRpZiAoaW5wdXQpIHtcblx0XHRcdGlucHV0LmZvY3VzKCk7XG5cdFx0XHRpbnB1dC5zZWxlY3QoKTtcblx0XHR9XG5cdH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXInLCBjbGFzc05hbWVdXCIgKHBhc3RlKT1cIm9uUGFzdGUoJGV2ZW50KVwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiB2YWx1ZXM7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICA8aW5wdXRcbiAgICAgICNvdHBJbnB1dFxuICAgICAgW2NsYXNzXT1cImdldElucHV0Q2xhc3NlcyhpbmRleClcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgIG1heGxlbmd0aD1cIjFcIlxuICAgICAgW2F0dHIubmFtZV09XCInb3RwLWRpZ2l0LScgKyBpbmRleFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09UUCBkaWdpdCAnICsgKGluZGV4ICsgMSlcIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoaW5kZXgsICRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKGluZGV4LCAkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cInNob3VsZFNob3dTZXBhcmF0b3IoaW5kZXgpXCJcbiAgICAgIGNsYXNzPVwibXgtMiBtdC1bLTFweF0gaC1weCB3LTYgYmctZm9yZWdyb3VuZCBvcGFjaXR5LTgwXCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPjwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|