pdm-ui-kit 0.1.1 → 0.1.3
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/README.md +99 -50
- package/dist/corelusa-pdm-ui-kit/README.md +79 -0
- package/dist/corelusa-pdm-ui-kit/esm2020/corelusa-pdm-ui-kit.mjs +5 -0
- package/{fesm2015/pdm-ui-kit.mjs → dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs} +1 -1
- package/dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs.map +1 -0
- package/{fesm2020/pdm-ui-kit.mjs → dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs} +1 -1
- package/dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs.map +1 -0
- package/dist/corelusa-pdm-ui-kit/index.d.ts +5 -0
- package/dist/corelusa-pdm-ui-kit/package.json +47 -0
- package/dist/pdm-ui-kit/README.md +128 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/accordion/accordion.component.mjs +42 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/alert/alert.component.mjs +35 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +69 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/aspect-ratio/aspect-ratio.component.mjs +31 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/avatar/avatar.component.mjs +46 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/badge/badge.component.mjs +23 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +29 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/button/button.component.mjs +82 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/button-group/button-group.component.mjs +23 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/calendar/calendar.component.mjs +71 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/card/card.component.mjs +65 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/carousel/carousel.component.mjs +97 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/chart/chart.component.mjs +174 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/checkbox/checkbox.component.mjs +47 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/collapsible/collapsible.component.mjs +43 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/combobox/combobox.component.mjs +51 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/command/command.component.mjs +75 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/context-menu/context-menu.component.mjs +78 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/data-table/data-table.component.mjs +89 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/date-picker/date-picker.component.mjs +63 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/dialog/dialog.component.mjs +90 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/drawer/drawer.component.mjs +72 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +120 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/empty/empty.component.mjs +58 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/field/field.component.mjs +64 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/hover-card/hover-card.component.mjs +44 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/icon/icon.component.mjs +94 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/input/input.component.mjs +65 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/input-group/input-group.component.mjs +63 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/input-otp/input-otp.component.mjs +140 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/input-password/input-password.component.mjs +72 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/item/item.component.mjs +23 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/kbd/kbd.component.mjs +17 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/label/label.component.mjs +23 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/menubar/menubar.component.mjs +31 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/native-select/native-select.component.mjs +42 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/navigation-menu/navigation-menu.component.mjs +20 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/pagination/pagination.component.mjs +47 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/popover/popover.component.mjs +58 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/progress/progress.component.mjs +33 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/radio-group/radio-group.component.mjs +38 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/scroll-area/scroll-area.component.mjs +20 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/select/select.component.mjs +38 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/separator/separator.component.mjs +26 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/sheet/sheet.component.mjs +39 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/sidebar/sidebar.component.mjs +20 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/skeleton/skeleton.component.mjs +17 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/slider/slider.component.mjs +46 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/sonner/sonner.component.mjs +39 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/spinner/spinner.component.mjs +20 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/switch/switch.component.mjs +35 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/table/table.component.mjs +17 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/tabs/tabs.component.mjs +31 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/textarea/textarea.component.mjs +59 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/toggle/toggle.component.mjs +41 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/toggle-group/toggle-group.component.mjs +31 -0
- package/dist/pdm-ui-kit/esm2020/lib/components/tooltip/tooltip.component.mjs +33 -0
- package/dist/pdm-ui-kit/esm2020/lib/pdm-ui-kit.module.mjs +245 -0
- package/dist/pdm-ui-kit/esm2020/public-api.mjs +59 -0
- package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs +2980 -0
- package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs.map +1 -0
- package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs +2975 -0
- package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs.map +1 -0
- package/dist/pdm-ui-kit/lib/components/accordion/accordion.component.d.ts +19 -0
- package/dist/pdm-ui-kit/lib/components/alert/alert.component.d.ts +13 -0
- package/dist/pdm-ui-kit/lib/components/alert-dialog/alert-dialog.component.d.ts +21 -0
- package/dist/pdm-ui-kit/lib/components/aspect-ratio/aspect-ratio.component.d.ts +10 -0
- package/dist/pdm-ui-kit/lib/components/avatar/avatar.component.d.ts +20 -0
- package/dist/pdm-ui-kit/lib/components/badge/badge.component.d.ts +9 -0
- package/dist/pdm-ui-kit/lib/components/breadcrumb/breadcrumb.component.d.ts +10 -0
- package/dist/pdm-ui-kit/lib/components/button/button.component.d.ts +24 -0
- package/dist/pdm-ui-kit/lib/components/button-group/button-group.component.d.ts +9 -0
- package/dist/pdm-ui-kit/lib/components/calendar/calendar.component.d.ts +28 -0
- package/dist/pdm-ui-kit/lib/components/card/card.component.d.ts +24 -0
- package/dist/pdm-ui-kit/lib/components/carousel/carousel.component.d.ts +25 -0
- package/dist/pdm-ui-kit/lib/components/chart/chart.component.d.ts +41 -0
- package/dist/pdm-ui-kit/lib/components/checkbox/checkbox.component.d.ts +17 -0
- package/dist/pdm-ui-kit/lib/components/collapsible/collapsible.component.d.ts +14 -0
- package/dist/pdm-ui-kit/lib/components/combobox/combobox.component.d.ts +18 -0
- package/dist/pdm-ui-kit/lib/components/command/command.component.d.ts +33 -0
- package/dist/pdm-ui-kit/lib/components/context-menu/context-menu.component.d.ts +26 -0
- package/dist/pdm-ui-kit/lib/components/data-table/data-table.component.d.ts +36 -0
- package/dist/pdm-ui-kit/lib/components/date-picker/date-picker.component.d.ts +23 -0
- package/dist/pdm-ui-kit/lib/components/dialog/dialog.component.d.ts +30 -0
- package/dist/pdm-ui-kit/lib/components/drawer/drawer.component.d.ts +27 -0
- package/dist/pdm-ui-kit/lib/components/dropdown-menu/dropdown-menu.component.d.ts +34 -0
- package/dist/pdm-ui-kit/lib/components/empty/empty.component.d.ts +19 -0
- package/dist/pdm-ui-kit/lib/components/field/field.component.d.ts +23 -0
- package/dist/pdm-ui-kit/lib/components/hover-card/hover-card.component.d.ts +14 -0
- package/dist/pdm-ui-kit/lib/components/icon/icon.component.d.ts +18 -0
- package/dist/pdm-ui-kit/lib/components/input/input.component.d.ts +23 -0
- package/dist/pdm-ui-kit/lib/components/input-group/input-group.component.d.ts +22 -0
- package/dist/pdm-ui-kit/lib/components/input-otp/input-otp.component.d.ts +26 -0
- package/dist/pdm-ui-kit/lib/components/input-password/input-password.component.d.ts +25 -0
- package/dist/pdm-ui-kit/lib/components/item/item.component.d.ts +8 -0
- package/dist/pdm-ui-kit/lib/components/kbd/kbd.component.d.ts +6 -0
- package/dist/pdm-ui-kit/lib/components/label/label.component.d.ts +8 -0
- package/dist/pdm-ui-kit/lib/components/menubar/menubar.component.d.ts +17 -0
- package/dist/pdm-ui-kit/lib/components/native-select/native-select.component.d.ts +20 -0
- package/dist/pdm-ui-kit/lib/components/navigation-menu/navigation-menu.component.d.ts +12 -0
- package/dist/pdm-ui-kit/lib/components/pagination/pagination.component.d.ts +13 -0
- package/dist/pdm-ui-kit/lib/components/popover/popover.component.d.ts +17 -0
- package/dist/pdm-ui-kit/lib/components/progress/progress.component.d.ts +10 -0
- package/dist/pdm-ui-kit/lib/components/radio-group/radio-group.component.d.ts +19 -0
- package/dist/pdm-ui-kit/lib/components/scroll-area/scroll-area.component.d.ts +7 -0
- package/dist/pdm-ui-kit/lib/components/select/select.component.d.ts +19 -0
- package/dist/pdm-ui-kit/lib/components/separator/separator.component.d.ts +9 -0
- package/dist/pdm-ui-kit/lib/components/sheet/sheet.component.d.ts +13 -0
- package/dist/pdm-ui-kit/lib/components/sidebar/sidebar.component.d.ts +7 -0
- package/dist/pdm-ui-kit/lib/components/skeleton/skeleton.component.d.ts +6 -0
- package/dist/pdm-ui-kit/lib/components/slider/slider.component.d.ts +15 -0
- package/dist/pdm-ui-kit/lib/components/sonner/sonner.component.d.ts +13 -0
- package/dist/pdm-ui-kit/lib/components/spinner/spinner.component.d.ts +7 -0
- package/dist/pdm-ui-kit/lib/components/switch/switch.component.d.ts +13 -0
- package/dist/pdm-ui-kit/lib/components/table/table.component.d.ts +6 -0
- package/dist/pdm-ui-kit/lib/components/tabs/tabs.component.d.ts +16 -0
- package/dist/pdm-ui-kit/lib/components/textarea/textarea.component.d.ts +21 -0
- package/dist/pdm-ui-kit/lib/components/toggle/toggle.component.d.ts +14 -0
- package/dist/pdm-ui-kit/lib/components/toggle-group/toggle-group.component.d.ts +16 -0
- package/dist/pdm-ui-kit/lib/components/tooltip/tooltip.component.d.ts +10 -0
- package/dist/pdm-ui-kit/lib/pdm-ui-kit.module.d.ts +64 -0
- package/dist/pdm-ui-kit/package.json +44 -0
- package/dist/pdm-ui-kit/public-api.d.ts +58 -0
- package/ng-package.json +8 -0
- package/package.json +13 -20
- package/pdm-ui-kit-0.1.1.tgz +0 -0
- package/pdm-ui-kit-0.1.2.tgz +0 -0
- package/pdm-ui-kit-0.1.3.tgz +0 -0
- package/src/lib/components/accordion/accordion.component.html +34 -0
- package/src/lib/components/accordion/accordion.component.ts +38 -0
- package/src/lib/components/alert/alert.component.html +52 -0
- package/src/lib/components/alert/alert.component.ts +25 -0
- package/src/lib/components/alert-dialog/alert-dialog.component.html +41 -0
- package/src/lib/components/alert-dialog/alert-dialog.component.ts +45 -0
- package/src/lib/components/aspect-ratio/aspect-ratio.component.html +11 -0
- package/src/lib/components/aspect-ratio/aspect-ratio.component.ts +18 -0
- package/src/lib/components/avatar/avatar.component.html +21 -0
- package/src/lib/components/avatar/avatar.component.ts +32 -0
- package/src/lib/components/badge/badge.component.html +28 -0
- package/src/lib/components/badge/badge.component.ts +23 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.html +39 -0
- package/src/lib/components/breadcrumb/breadcrumb.component.ts +26 -0
- package/src/lib/components/button/button.component.html +15 -0
- package/src/lib/components/button/button.component.ts +84 -0
- package/src/lib/components/button-group/button-group.component.html +39 -0
- package/src/lib/components/button-group/button-group.component.ts +15 -0
- package/src/lib/components/calendar/calendar.component.html +73 -0
- package/src/lib/components/calendar/calendar.component.ts +78 -0
- package/src/lib/components/card/card.component.html +77 -0
- package/src/lib/components/card/card.component.ts +39 -0
- package/src/lib/components/carousel/carousel.component.html +86 -0
- package/src/lib/components/carousel/carousel.component.ts +100 -0
- package/src/lib/components/chart/chart.component.html +143 -0
- package/src/lib/components/chart/chart.component.ts +147 -0
- package/src/lib/components/checkbox/checkbox.component.html +38 -0
- package/src/lib/components/checkbox/checkbox.component.ts +32 -0
- package/src/lib/components/collapsible/collapsible.component.html +26 -0
- package/src/lib/components/collapsible/collapsible.component.ts +29 -0
- package/src/lib/components/combobox/combobox.component.html +42 -0
- package/src/lib/components/combobox/combobox.component.ts +32 -0
- package/src/lib/components/command/command.component.html +55 -0
- package/src/lib/components/command/command.component.ts +67 -0
- package/src/lib/components/context-menu/context-menu.component.html +47 -0
- package/src/lib/components/context-menu/context-menu.component.ts +67 -0
- package/src/lib/components/data-table/data-table.component.html +63 -0
- package/src/lib/components/data-table/data-table.component.ts +78 -0
- package/src/lib/components/date-picker/date-picker.component.html +38 -0
- package/src/lib/components/date-picker/date-picker.component.ts +38 -0
- package/src/lib/components/dialog/dialog.component.html +78 -0
- package/src/lib/components/dialog/dialog.component.ts +55 -0
- package/src/lib/components/drawer/drawer.component.html +56 -0
- package/src/lib/components/drawer/drawer.component.ts +43 -0
- package/src/lib/components/dropdown-menu/dropdown-menu.component.html +56 -0
- package/src/lib/components/dropdown-menu/dropdown-menu.component.ts +126 -0
- package/src/lib/components/empty/empty.component.html +29 -0
- package/src/lib/components/empty/empty.component.ts +35 -0
- package/src/lib/components/field/field.component.html +26 -0
- package/src/lib/components/field/field.component.ts +42 -0
- package/src/lib/components/hover-card/hover-card.component.html +24 -0
- package/src/lib/components/hover-card/hover-card.component.ts +36 -0
- package/src/lib/components/icon/icon.component.html +286 -0
- package/src/lib/components/icon/icon.component.ts +133 -0
- package/src/lib/components/input/input.component.html +25 -0
- package/src/lib/components/input/input.component.ts +33 -0
- package/src/lib/components/input-group/input-group.component.html +59 -0
- package/src/lib/components/input-group/input-group.component.ts +32 -0
- package/src/lib/components/input-otp/input-otp.component.html +25 -0
- package/src/lib/components/input-otp/input-otp.component.ts +146 -0
- package/src/lib/components/input-password/input-password.component.html +66 -0
- package/src/lib/components/input-password/input-password.component.ts +46 -0
- package/src/lib/components/item/item.component.html +10 -0
- package/src/lib/components/item/item.component.ts +12 -0
- package/src/lib/components/kbd/kbd.component.html +3 -0
- package/src/lib/components/kbd/kbd.component.ts +10 -0
- package/src/lib/components/label/label.component.html +7 -0
- package/src/lib/components/label/label.component.ts +12 -0
- package/src/lib/components/menubar/menubar.component.html +16 -0
- package/src/lib/components/menubar/menubar.component.ts +29 -0
- package/src/lib/components/native-select/native-select.component.html +17 -0
- package/src/lib/components/native-select/native-select.component.ts +28 -0
- package/src/lib/components/navigation-menu/navigation-menu.component.html +15 -0
- package/src/lib/components/navigation-menu/navigation-menu.component.ts +17 -0
- package/src/lib/components/pagination/pagination.component.html +30 -0
- package/src/lib/components/pagination/pagination.component.ts +37 -0
- package/src/lib/components/popover/popover.component.html +6 -0
- package/src/lib/components/popover/popover.component.ts +40 -0
- package/src/lib/components/progress/progress.component.html +9 -0
- package/src/lib/components/progress/progress.component.ts +20 -0
- package/src/lib/components/radio-group/radio-group.component.html +25 -0
- package/src/lib/components/radio-group/radio-group.component.ts +30 -0
- package/src/lib/components/scroll-area/scroll-area.component.html +5 -0
- package/src/lib/components/scroll-area/scroll-area.component.ts +11 -0
- package/src/lib/components/select/select.component.html +14 -0
- package/src/lib/components/select/select.component.ts +27 -0
- package/src/lib/components/separator/separator.component.html +5 -0
- package/src/lib/components/separator/separator.component.ts +16 -0
- package/src/lib/components/sheet/sheet.component.html +10 -0
- package/src/lib/components/sheet/sheet.component.ts +28 -0
- package/src/lib/components/sidebar/sidebar.component.html +3 -0
- package/src/lib/components/sidebar/sidebar.component.ts +11 -0
- package/src/lib/components/skeleton/skeleton.component.html +1 -0
- package/src/lib/components/skeleton/skeleton.component.ts +10 -0
- package/src/lib/components/slider/slider.component.html +15 -0
- package/src/lib/components/slider/slider.component.ts +31 -0
- package/src/lib/components/sonner/sonner.component.html +10 -0
- package/src/lib/components/sonner/sonner.component.ts +25 -0
- package/src/lib/components/spinner/spinner.component.html +6 -0
- package/src/lib/components/spinner/spinner.component.ts +11 -0
- package/src/lib/components/switch/switch.component.html +14 -0
- package/src/lib/components/switch/switch.component.ts +20 -0
- package/src/lib/components/table/table.component.html +5 -0
- package/src/lib/components/table/table.component.ts +10 -0
- package/src/lib/components/tabs/tabs.component.html +21 -0
- package/src/lib/components/tabs/tabs.component.ts +26 -0
- package/src/lib/components/textarea/textarea.component.html +21 -0
- package/src/lib/components/textarea/textarea.component.ts +28 -0
- package/src/lib/components/toggle/toggle.component.html +16 -0
- package/src/lib/components/toggle/toggle.component.ts +29 -0
- package/src/lib/components/toggle-group/toggle-group.component.html +17 -0
- package/src/lib/components/toggle-group/toggle-group.component.ts +26 -0
- package/src/lib/components/tooltip/tooltip.component.html +6 -0
- package/src/lib/components/tooltip/tooltip.component.ts +20 -0
- package/src/lib/pdm-ui-kit.module.ts +126 -0
- package/src/public-api.ts +58 -0
- package/tsconfig.json +30 -0
- package/tsconfig.lib.json +17 -0
- package/fesm2015/pdm-ui-kit.mjs.map +0 -1
- package/fesm2020/pdm-ui-kit.mjs.map +0 -1
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/accordion/accordion.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/alert/alert.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/alert-dialog/alert-dialog.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/aspect-ratio/aspect-ratio.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/avatar/avatar.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/badge/badge.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/breadcrumb/breadcrumb.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/button/button.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/button-group/button-group.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/calendar/calendar.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/card/card.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/carousel/carousel.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/chart/chart.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/checkbox/checkbox.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/collapsible/collapsible.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/combobox/combobox.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/command/command.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/context-menu/context-menu.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/data-table/data-table.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/date-picker/date-picker.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/dialog/dialog.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/drawer/drawer.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/empty/empty.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/field/field.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/hover-card/hover-card.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/icon/icon.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input/input.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input-group/input-group.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input-otp/input-otp.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/input-password/input-password.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/item/item.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/kbd/kbd.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/label/label.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/menubar/menubar.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/native-select/native-select.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/navigation-menu/navigation-menu.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/pagination/pagination.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/popover/popover.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/progress/progress.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/radio-group/radio-group.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/scroll-area/scroll-area.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/select/select.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/separator/separator.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/sheet/sheet.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/sidebar/sidebar.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/skeleton/skeleton.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/slider/slider.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/sonner/sonner.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/spinner/spinner.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/switch/switch.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/table/table.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/tabs/tabs.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/textarea/textarea.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/toggle/toggle.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/toggle-group/toggle-group.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/components/tooltip/tooltip.component.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/lib/pdm-ui-kit.module.mjs +0 -0
- /package/{esm2020 → dist/corelusa-pdm-ui-kit/esm2020}/public-api.mjs +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/accordion/accordion.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/alert/alert.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/alert-dialog/alert-dialog.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/aspect-ratio/aspect-ratio.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/avatar/avatar.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/badge/badge.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/breadcrumb/breadcrumb.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/button/button.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/button-group/button-group.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/calendar/calendar.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/card/card.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/carousel/carousel.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/chart/chart.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/checkbox/checkbox.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/collapsible/collapsible.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/combobox/combobox.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/command/command.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/context-menu/context-menu.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/data-table/data-table.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/date-picker/date-picker.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/dialog/dialog.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/drawer/drawer.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/dropdown-menu/dropdown-menu.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/empty/empty.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/field/field.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/hover-card/hover-card.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/icon/icon.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input/input.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input-group/input-group.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input-otp/input-otp.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/input-password/input-password.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/item/item.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/kbd/kbd.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/label/label.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/menubar/menubar.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/native-select/native-select.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/navigation-menu/navigation-menu.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/pagination/pagination.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/popover/popover.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/progress/progress.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/radio-group/radio-group.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/scroll-area/scroll-area.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/select/select.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/separator/separator.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/sheet/sheet.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/sidebar/sidebar.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/skeleton/skeleton.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/slider/slider.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/sonner/sonner.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/spinner/spinner.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/switch/switch.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/table/table.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/tabs/tabs.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/textarea/textarea.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/toggle/toggle.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/toggle-group/toggle-group.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/components/tooltip/tooltip.component.d.ts +0 -0
- /package/{lib → dist/corelusa-pdm-ui-kit/lib}/pdm-ui-kit.module.d.ts +0 -0
- /package/{public-api.d.ts → dist/corelusa-pdm-ui-kit/public-api.d.ts} +0 -0
- /package/{esm2020 → dist/pdm-ui-kit/esm2020}/pdm-ui-kit.mjs +0 -0
- /package/{index.d.ts → dist/pdm-ui-kit/index.d.ts} +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class PdmButtonComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.type = 'button';
|
|
7
|
+
this.variant = 'default';
|
|
8
|
+
this.state = 'default';
|
|
9
|
+
this.size = 'default';
|
|
10
|
+
this.disabled = false;
|
|
11
|
+
this.loading = false;
|
|
12
|
+
this.className = '';
|
|
13
|
+
this.pressed = new EventEmitter();
|
|
14
|
+
this.toneClassMap = {
|
|
15
|
+
default: { default: 'bg-primary text-primary-foreground', hover: 'bg-primary text-primary-foreground opacity-90' },
|
|
16
|
+
primary: { default: 'bg-primary text-primary-foreground', hover: 'bg-primary text-primary-foreground opacity-90' },
|
|
17
|
+
destructive: { default: 'bg-destructive text-background', hover: 'bg-destructive text-background opacity-90' },
|
|
18
|
+
outline: { default: 'border border-border bg-background text-foreground', hover: 'border border-border bg-accent text-accent-foreground' },
|
|
19
|
+
subtle: { default: 'bg-secondary text-secondary-foreground', hover: 'bg-accent text-accent-foreground' },
|
|
20
|
+
secondary: { default: 'bg-secondary text-secondary-foreground', hover: 'bg-accent text-accent-foreground' },
|
|
21
|
+
ghost: { default: 'bg-transparent text-foreground', hover: 'bg-accent text-accent-foreground' },
|
|
22
|
+
link: { default: 'bg-transparent text-primary', hover: 'bg-transparent text-primary' },
|
|
23
|
+
'with-icon': { default: 'bg-primary text-primary-foreground', hover: 'bg-primary text-primary-foreground opacity-90' },
|
|
24
|
+
icon: { default: 'border border-border bg-background text-foreground', hover: 'border border-border bg-accent text-accent-foreground' },
|
|
25
|
+
'icon-circle': { default: 'border border-border bg-background text-foreground', hover: 'border border-border bg-accent text-accent-foreground' },
|
|
26
|
+
rounded: { default: 'border border-border bg-background text-foreground', hover: 'border border-border bg-accent text-accent-foreground' },
|
|
27
|
+
loading: { default: 'bg-primary text-primary-foreground opacity-70', hover: 'bg-primary text-primary-foreground opacity-70' }
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
get isDisabled() {
|
|
31
|
+
return this.disabled || this.loading || this.variant === 'loading';
|
|
32
|
+
}
|
|
33
|
+
get rootClasses() {
|
|
34
|
+
const currentState = this.state === 'hover' ? 'hover' : 'default';
|
|
35
|
+
const toneClass = this.toneClassMap[this.variant][currentState];
|
|
36
|
+
return [
|
|
37
|
+
'inline-flex items-center justify-center gap-2 rounded-[6px] border border-transparent text-[14px] font-medium leading-6 transition-colors outline-none focus:outline-none focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',
|
|
38
|
+
this.variant === 'link' ? 'px-4 py-2 h-9' : '',
|
|
39
|
+
this.variant === 'icon' ? 'h-8 w-8 p-2' : '',
|
|
40
|
+
this.variant === 'icon-circle' ? 'h-10 w-10 rounded-[96px] p-3' : '',
|
|
41
|
+
this.variant === 'rounded' ? 'h-9 w-9 rounded-full p-0' : '',
|
|
42
|
+
this.variant !== 'icon' && this.variant !== 'icon-circle' && this.variant !== 'rounded'
|
|
43
|
+
? this.size === 'small'
|
|
44
|
+
? 'h-8 px-3'
|
|
45
|
+
: this.size === 'large'
|
|
46
|
+
? 'h-10 px-5'
|
|
47
|
+
: 'h-9 px-4'
|
|
48
|
+
: '',
|
|
49
|
+
this.variant === 'link' && this.state === 'hover' ? 'underline [text-decoration-skip-ink:none]' : '',
|
|
50
|
+
toneClass,
|
|
51
|
+
this.className
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
onClick(event) {
|
|
55
|
+
if (!this.isDisabled) {
|
|
56
|
+
this.pressed.emit(event);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
PdmButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
PdmButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmButtonComponent, selector: "pdm-button", inputs: { type: "type", variant: "variant", state: "state", size: "size", disabled: "disabled", loading: "loading", className: "className" }, outputs: { pressed: "pressed" }, ngImport: i0, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"variant === 'with-icon' || variant === 'icon' || variant === 'icon-circle' || variant === 'rounded'\"></ng-content>\n <ng-content></ng-content>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmButtonComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'pdm-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n [attr.aria-busy]=\"loading\"\n [ngClass]=\"rootClasses\"\n (click)=\"onClick($event)\"\n>\n <span\n *ngIf=\"loading\"\n class=\"inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-r-transparent\"\n aria-hidden=\"true\"\n ></span>\n <ng-content select=\"[pdmButtonIcon]\" *ngIf=\"variant === 'with-icon' || variant === 'icon' || variant === 'icon-circle' || variant === 'rounded'\"></ng-content>\n <ng-content></ng-content>\n</button>\n" }]
|
|
65
|
+
}], propDecorators: { type: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], variant: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], state: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], size: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], disabled: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], loading: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], className: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], pressed: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}] } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQXdCaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU1XLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQy9DLFlBQU8sR0FBcUIsU0FBUyxDQUFDO1FBQ3RDLFVBQUssR0FBbUIsU0FBUyxDQUFDO1FBQ2xDLFNBQUksR0FBa0IsU0FBUyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUMsaUJBQVksR0FBaUU7WUFDcEYsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLEtBQUssRUFBRSwrQ0FBK0MsRUFBRTtZQUNsSCxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLCtDQUErQyxFQUFFO1lBQ2xILFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUUsMkNBQTJDLEVBQUU7WUFDOUcsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLEtBQUssRUFBRSx1REFBdUQsRUFBRTtZQUMxSSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO1lBQ3hHLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7WUFDM0csS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRTtZQUMvRixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFO1lBQ3RGLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUUsK0NBQStDLEVBQUU7WUFDdEgsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLEtBQUssRUFBRSx1REFBdUQsRUFBRTtZQUN2SSxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsS0FBSyxFQUFFLHVEQUF1RCxFQUFFO1lBQ2hKLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxvREFBb0QsRUFBRSxLQUFLLEVBQUUsdURBQXVELEVBQUU7WUFDMUksT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLCtDQUErQyxFQUFFLEtBQUssRUFBRSwrQ0FBK0MsRUFBRTtTQUM5SCxDQUFDO0tBa0NIO0lBaENDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDbEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEUsT0FBTztZQUNMLHVQQUF1UDtZQUN2UCxJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVM7Z0JBQ3JGLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU87b0JBQ3JCLENBQUMsQ0FBQyxVQUFVO29CQUNaLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU87d0JBQ3JCLENBQUMsQ0FBQyxXQUFXO3dCQUNiLENBQUMsQ0FBQyxVQUFVO2dCQUNoQixDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRyxTQUFTO1lBQ1QsSUFBSSxDQUFDLFNBQVM7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7O2dIQTFEVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixpT0N4Qi9CLHloQkFlQTs0RkRTYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblZhcmlhbnQgPVxuICB8ICdkZWZhdWx0J1xuICB8ICdwcmltYXJ5J1xuICB8ICdkZXN0cnVjdGl2ZSdcbiAgfCAnb3V0bGluZSdcbiAgfCAnc3VidGxlJ1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ2dob3N0J1xuICB8ICdsaW5rJ1xuICB8ICd3aXRoLWljb24nXG4gIHwgJ2ljb24nXG4gIHwgJ2ljb24tY2lyY2xlJ1xuICB8ICdyb3VuZGVkJ1xuICB8ICdsb2FkaW5nJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnIHwgJ2hvdmVyJztcbmV4cG9ydCB0eXBlIFBkbUJ1dHRvblNpemUgPSAnc21hbGwnIHwgJ2RlZmF1bHQnIHwgJ2xhcmdlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25WYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzdGF0ZTogUGRtQnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHNpemU6IFBkbUJ1dHRvblNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgQE91dHB1dCgpIHByZXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgdG9uZUNsYXNzTWFwOiBSZWNvcmQ8UGRtQnV0dG9uVmFyaWFudCwgeyBkZWZhdWx0OiBzdHJpbmc7IGhvdmVyOiBzdHJpbmcgfT4gPSB7XG4gICAgZGVmYXVsdDogeyBkZWZhdWx0OiAnYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYmctcHJpbWFyeSB0ZXh0LXByaW1hcnktZm9yZWdyb3VuZCBvcGFjaXR5LTkwJyB9LFxuICAgIHByaW1hcnk6IHsgZGVmYXVsdDogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBkZXN0cnVjdGl2ZTogeyBkZWZhdWx0OiAnYmctZGVzdHJ1Y3RpdmUgdGV4dC1iYWNrZ3JvdW5kJywgaG92ZXI6ICdiZy1kZXN0cnVjdGl2ZSB0ZXh0LWJhY2tncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBvdXRsaW5lOiB7IGRlZmF1bHQ6ICdib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgc3VidGxlOiB7IGRlZmF1bHQ6ICdiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgc2Vjb25kYXJ5OiB7IGRlZmF1bHQ6ICdiZy1zZWNvbmRhcnkgdGV4dC1zZWNvbmRhcnktZm9yZWdyb3VuZCcsIGhvdmVyOiAnYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgZ2hvc3Q6IHsgZGVmYXVsdDogJ2JnLXRyYW5zcGFyZW50IHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgbGluazogeyBkZWZhdWx0OiAnYmctdHJhbnNwYXJlbnQgdGV4dC1wcmltYXJ5JywgaG92ZXI6ICdiZy10cmFuc3BhcmVudCB0ZXh0LXByaW1hcnknIH0sXG4gICAgJ3dpdGgtaWNvbic6IHsgZGVmYXVsdDogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS05MCcgfSxcbiAgICBpY29uOiB7IGRlZmF1bHQ6ICdib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1iYWNrZ3JvdW5kIHRleHQtZm9yZWdyb3VuZCcsIGhvdmVyOiAnYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYWNjZW50IHRleHQtYWNjZW50LWZvcmVncm91bmQnIH0sXG4gICAgJ2ljb24tY2lyY2xlJzogeyBkZWZhdWx0OiAnYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQnLCBob3ZlcjogJ2JvcmRlciBib3JkZXItYm9yZGVyIGJnLWFjY2VudCB0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kJyB9LFxuICAgIHJvdW5kZWQ6IHsgZGVmYXVsdDogJ2JvcmRlciBib3JkZXItYm9yZGVyIGJnLWJhY2tncm91bmQgdGV4dC1mb3JlZ3JvdW5kJywgaG92ZXI6ICdib3JkZXIgYm9yZGVyLWJvcmRlciBiZy1hY2NlbnQgdGV4dC1hY2NlbnQtZm9yZWdyb3VuZCcgfSxcbiAgICBsb2FkaW5nOiB7IGRlZmF1bHQ6ICdiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIG9wYWNpdHktNzAnLCBob3ZlcjogJ2JnLXByaW1hcnkgdGV4dC1wcmltYXJ5LWZvcmVncm91bmQgb3BhY2l0eS03MCcgfVxuICB9O1xuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZyB8fCB0aGlzLnZhcmlhbnQgPT09ICdsb2FkaW5nJztcbiAgfVxuXG4gIGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZSA9PT0gJ2hvdmVyJyA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgY29uc3QgdG9uZUNsYXNzID0gdGhpcy50b25lQ2xhc3NNYXBbdGhpcy52YXJpYW50XVtjdXJyZW50U3RhdGVdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICdpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgcm91bmRlZC1bNnB4XSBib3JkZXIgYm9yZGVyLXRyYW5zcGFyZW50IHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNiB0cmFuc2l0aW9uLWNvbG9ycyBvdXRsaW5lLW5vbmUgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGRpc2FibGVkOnBvaW50ZXItZXZlbnRzLW5vbmUgZGlzYWJsZWQ6b3BhY2l0eS01MCcsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdsaW5rJyA/ICdweC00IHB5LTIgaC05JyA6ICcnLFxuICAgICAgdGhpcy52YXJpYW50ID09PSAnaWNvbicgPyAnaC04IHctOCBwLTInIDogJycsXG4gICAgICB0aGlzLnZhcmlhbnQgPT09ICdpY29uLWNpcmNsZScgPyAnaC0xMCB3LTEwIHJvdW5kZWQtWzk2cHhdIHAtMycgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ3JvdW5kZWQnID8gJ2gtOSB3LTkgcm91bmRlZC1mdWxsIHAtMCcgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCAhPT0gJ2ljb24nICYmIHRoaXMudmFyaWFudCAhPT0gJ2ljb24tY2lyY2xlJyAmJiB0aGlzLnZhcmlhbnQgIT09ICdyb3VuZGVkJ1xuICAgICAgICA/IHRoaXMuc2l6ZSA9PT0gJ3NtYWxsJ1xuICAgICAgICAgID8gJ2gtOCBweC0zJ1xuICAgICAgICAgIDogdGhpcy5zaXplID09PSAnbGFyZ2UnXG4gICAgICAgICAgICA/ICdoLTEwIHB4LTUnXG4gICAgICAgICAgICA6ICdoLTkgcHgtNCdcbiAgICAgICAgOiAnJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ2xpbmsnICYmIHRoaXMuc3RhdGUgPT09ICdob3ZlcicgPyAndW5kZXJsaW5lIFt0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6bm9uZV0nIDogJycsXG4gICAgICB0b25lQ2xhc3MsXG4gICAgICB0aGlzLmNsYXNzTmFtZVxuICAgIF07XG4gIH1cblxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMucHJlc3NlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgW3R5cGVdPVwidHlwZVwiXG4gIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgW2F0dHIuYXJpYS1idXN5XT1cImxvYWRpbmdcIlxuICBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiXG4gIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuPlxuICA8c3BhblxuICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgY2xhc3M9XCJpbmxpbmUtYmxvY2sgaC00IHctNCBhbmltYXRlLXNwaW4gcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci1jdXJyZW50IGJvcmRlci1yLXRyYW5zcGFyZW50XCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICA+PC9zcGFuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGRtQnV0dG9uSWNvbl1cIiAqbmdJZj1cInZhcmlhbnQgPT09ICd3aXRoLWljb24nIHx8IHZhcmlhbnQgPT09ICdpY29uJyB8fCB2YXJpYW50ID09PSAnaWNvbi1jaXJjbGUnIHx8IHZhcmlhbnQgPT09ICdyb3VuZGVkJ1wiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class PdmButtonGroupComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.variant = 'default';
|
|
7
|
+
this.items = ['Archive', 'Report'];
|
|
8
|
+
this.className = '';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
PdmButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
PdmButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmButtonGroupComponent, selector: "pdm-button-group", inputs: { variant: "variant", items: "items", className: "className" }, ngImport: i0, template: "<div [ngClass]=\"['inline-flex items-center gap-2', className]\">\n <ng-container [ngSwitch]=\"variant\">\n <ng-container *ngSwitchCase=\"'orientation'\">\n <div class=\"inline-flex flex-col overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center border-b border-[#e5e5e5] text-[#0a0a0a]\">+</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-[#0a0a0a]\">-</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-[#f5f5f5] shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center border-r border-[#e5e5e5] px-3 text-[14px] font-medium leading-5 text-[#0a0a0a]\">Copy</button>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center px-3 text-[14px] font-medium leading-5 text-[#0a0a0a]\">Paste</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'nested'\">\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button *ngFor=\"let item of ['1', '2', '3', '4', '5']; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-8 items-center justify-center px-3 text-[14px] font-medium leading-5 text-[#0a0a0a]', !last ? 'border-r border-[#e5e5e5]' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center border-r border-[#e5e5e5] text-[#0a0a0a]\">\u2190</button>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center text-[#0a0a0a]\">\u2192</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"inline-flex h-9 w-9 items-center justify-center overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)] text-[#0a0a0a]\">\u2190</div>\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button *ngFor=\"let item of items; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-9 items-center justify-center px-4 text-[14px] font-medium leading-5 text-[#0a0a0a]', !last ? 'border-r border-[#e5e5e5]' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-9 items-center justify-center border-r border-[#e5e5e5] px-4 text-[14px] font-medium leading-5 text-[#0a0a0a]\">Snooze</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-[#0a0a0a]\">\u2026</button>\n </div>\n </ng-container>\n </ng-container>\n</div>\n\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.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmButtonGroupComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'pdm-button-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"['inline-flex items-center gap-2', className]\">\n <ng-container [ngSwitch]=\"variant\">\n <ng-container *ngSwitchCase=\"'orientation'\">\n <div class=\"inline-flex flex-col overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center border-b border-[#e5e5e5] text-[#0a0a0a]\">+</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-[#0a0a0a]\">-</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-[#f5f5f5] shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center border-r border-[#e5e5e5] px-3 text-[14px] font-medium leading-5 text-[#0a0a0a]\">Copy</button>\n <button type=\"button\" class=\"inline-flex h-8 items-center justify-center px-3 text-[14px] font-medium leading-5 text-[#0a0a0a]\">Paste</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'nested'\">\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button *ngFor=\"let item of ['1', '2', '3', '4', '5']; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-8 items-center justify-center px-3 text-[14px] font-medium leading-5 text-[#0a0a0a]', !last ? 'border-r border-[#e5e5e5]' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center border-r border-[#e5e5e5] text-[#0a0a0a]\">\u2190</button>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center text-[#0a0a0a]\">\u2192</button>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <div class=\"inline-flex h-9 w-9 items-center justify-center overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)] text-[#0a0a0a]\">\u2190</div>\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button *ngFor=\"let item of items; let last = last\" type=\"button\" [ngClass]=\"['inline-flex h-9 items-center justify-center px-4 text-[14px] font-medium leading-5 text-[#0a0a0a]', !last ? 'border-r border-[#e5e5e5]' : '']\">{{ item }}</button>\n </div>\n <div class=\"inline-flex overflow-hidden rounded-[8px] border border-[#e5e5e5] bg-white shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">\n <button type=\"button\" class=\"inline-flex h-9 items-center justify-center border-r border-[#e5e5e5] px-4 text-[14px] font-medium leading-5 text-[#0a0a0a]\">Snooze</button>\n <button type=\"button\" class=\"inline-flex h-9 w-9 items-center justify-center text-[#0a0a0a]\">\u2026</button>\n </div>\n </ng-container>\n </ng-container>\n</div>\n\n" }]
|
|
16
|
+
}], propDecorators: { variant: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], items: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], className: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLFlBQU8sR0FBMEIsU0FBUyxDQUFDO1FBQzNDLFVBQUssR0FBYSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsRUFBRSxDQUFDO0tBQ3pCOztxSEFKWSx1QkFBdUI7eUdBQXZCLHVCQUF1QixnSUNUcEMsc3JHQXVDQTs0RkQ5QmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnb3JpZW50YXRpb24nIHwgJ3NlcGFyYXRvcicgfCAnbmVzdGVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWJ1dHRvbi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQZG1CdXR0b25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUJ1dHRvbkdyb3VwVmFyaWFudCA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgaXRlbXM6IHN0cmluZ1tdID0gWydBcmNoaXZlJywgJ1JlcG9ydCddO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbn1cblxuIiwiPGRpdiBbbmdDbGFzc109XCJbJ2lubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMicsIGNsYXNzTmFtZV1cIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidmFyaWFudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidvcmllbnRhdGlvbidcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtZmxleCBmbGV4LWNvbCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy13aGl0ZSBzaGFkb3ctWzBweF8xcHhfMnB4XzBweF9yZ2JhKDAsMCwwLDAuMSldXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC05IHctOSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLWIgYm9yZGVyLVsjZTVlNWU1XSB0ZXh0LVsjMGEwYTBhXVwiPis8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgdy05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LVsjMGEwYTBhXVwiPi08L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlcGFyYXRvcidcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtZmxleCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy1bI2Y1ZjVmNV0gc2hhZG93LVswcHhfMXB4XzJweF8wcHhfcmdiYSgwLDAsMCwwLjEpXVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLXIgYm9yZGVyLVsjZTVlNWU1XSBweC0zIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXVwiPkNvcHk8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTMgdGV4dC1bMTRweF0gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtWyMwYTBhMGFdXCI+UGFzdGU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ25lc3RlZCdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtZmxleCBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy13aGl0ZSBzaGFkb3ctWzBweF8xcHhfMnB4XzBweF9yZ2JhKDAsMCwwLDAuMSldXCI+XG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgWycxJywgJzInLCAnMycsICc0JywgJzUnXTsgbGV0IGxhc3QgPSBsYXN0XCIgdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnaW5saW5lLWZsZXggaC04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC0zIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXScsICFsYXN0ID8gJ2JvcmRlci1yIGJvcmRlci1bI2U1ZTVlNV0nIDogJyddXCI+e3sgaXRlbSB9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1bI2U1ZTVlNV0gYmctd2hpdGUgc2hhZG93LVswcHhfMXB4XzJweF8wcHhfcmdiYSgwLDAsMCwwLjEpXVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci1yIGJvcmRlci1bI2U1ZTVlNV0gdGV4dC1bIzBhMGEwYV1cIj7ihpA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LVsjMGEwYTBhXVwiPuKGkjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggaC05IHctOSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1bI2U1ZTVlNV0gYmctd2hpdGUgc2hhZG93LVswcHhfMXB4XzJweF8wcHhfcmdiYSgwLDAsMCwwLjEpXSB0ZXh0LVsjMGEwYTBhXVwiPuKGkDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImlubGluZS1mbGV4IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItWyNlNWU1ZTVdIGJnLXdoaXRlIHNoYWRvdy1bMHB4XzFweF8ycHhfMHB4X3JnYmEoMCwwLDAsMC4xKV1cIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGxhc3QgPSBsYXN0XCIgdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnaW5saW5lLWZsZXggaC05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC00IHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXScsICFsYXN0ID8gJ2JvcmRlci1yIGJvcmRlci1bI2U1ZTVlNV0nIDogJyddXCI+e3sgaXRlbSB9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5saW5lLWZsZXggb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1bI2U1ZTVlNV0gYmctd2hpdGUgc2hhZG93LVswcHhfMXB4XzJweF8wcHhfcmdiYSgwLDAsMCwwLjEpXVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYm9yZGVyLXIgYm9yZGVyLVsjZTVlNWU1XSBweC00IHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXVwiPlNub296ZTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOSB3LTkgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtWyMwYTBhMGFdXCI+4oCmPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuIl19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class PdmCalendarComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.mode = 'single';
|
|
7
|
+
this.month = 6;
|
|
8
|
+
this.year = 2025;
|
|
9
|
+
this.selectedDay = 25;
|
|
10
|
+
this.rangeStartDay = 25;
|
|
11
|
+
this.rangeEndDay = 9;
|
|
12
|
+
this.className = '';
|
|
13
|
+
this.weekdays = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
|
|
14
|
+
}
|
|
15
|
+
get leftMonthName() {
|
|
16
|
+
return this.monthName(this.month - 1);
|
|
17
|
+
}
|
|
18
|
+
get rightMonthName() {
|
|
19
|
+
const rightMonth = this.month % 12;
|
|
20
|
+
return this.monthName(rightMonth);
|
|
21
|
+
}
|
|
22
|
+
get leftCells() {
|
|
23
|
+
return this.buildMonthCells(this.year, this.month - 1, this.selectedDay, this.mode === 'range' ? this.rangeStartDay : undefined, this.mode === 'range' ? 31 : undefined);
|
|
24
|
+
}
|
|
25
|
+
get rightCells() {
|
|
26
|
+
const rightMonth = this.month % 12;
|
|
27
|
+
const rightYear = this.month === 12 ? this.year + 1 : this.year;
|
|
28
|
+
return this.buildMonthCells(rightYear, rightMonth, this.mode === 'range' ? this.rangeEndDay : undefined, 1, this.mode === 'range' ? this.rangeEndDay : undefined);
|
|
29
|
+
}
|
|
30
|
+
monthName(monthIndex) {
|
|
31
|
+
const safe = ((monthIndex % 12) + 12) % 12;
|
|
32
|
+
return new Date(this.year, safe, 1).toLocaleString('en-US', { month: 'long' });
|
|
33
|
+
}
|
|
34
|
+
buildMonthCells(year, monthIndex, selectedDay, rangeStartDay, rangeEndDay) {
|
|
35
|
+
const firstDay = new Date(year, monthIndex, 1);
|
|
36
|
+
const startWeekday = firstDay.getDay();
|
|
37
|
+
const daysInMonth = new Date(year, monthIndex + 1, 0).getDate();
|
|
38
|
+
const cells = [];
|
|
39
|
+
for (let i = 0; i < 42; i += 1) {
|
|
40
|
+
const dayNumber = i - startWeekday + 1;
|
|
41
|
+
const date = new Date(year, monthIndex, dayNumber);
|
|
42
|
+
const outside = dayNumber < 1 || dayNumber > daysInMonth;
|
|
43
|
+
const day = date.getDate();
|
|
44
|
+
const selected = !outside && !!selectedDay && day === selectedDay;
|
|
45
|
+
const inRange = !outside && !!rangeStartDay && !!rangeEndDay && day >= rangeStartDay && day <= rangeEndDay;
|
|
46
|
+
cells.push({ date, day, outside, selected, inRange });
|
|
47
|
+
}
|
|
48
|
+
return cells;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
PdmCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
PdmCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmCalendarComponent, selector: "pdm-calendar", inputs: { mode: "mode", month: "month", year: "year", selectedDay: "selectedDay", rangeStartDay: "rangeStartDay", rangeEndDay: "rangeEndDay", className: "className" }, ngImport: i0, template: "<section\n [ngClass]=\"[\n 'rounded-[10px] border border-[#e5e5e5] bg-white p-3 shadow-[0px_1px_3px_0px_rgba(0,0,0,0.1)]',\n mode === 'range' ? 'w-[488px]' : 'w-[250px]',\n className\n ]\"\n>\n <div [ngClass]=\"['grid gap-4', mode === 'range' ? 'grid-cols-2' : 'grid-cols-1']\">\n <div class=\"space-y-4\">\n <header class=\"flex items-center justify-between\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[#0a0a0a]\">\u2039</button>\n <div [ngClass]=\"['flex items-center justify-center gap-1', mode === 'range' ? 'w-full' : 'w-[160px]']\">\n <ng-container *ngIf=\"mode === 'single'; else monthText\">\n <span class=\"inline-flex h-8 items-center rounded-[8px] border border-[#e5e5e5] px-2 text-[14px] font-medium leading-5 text-[#0a0a0a] shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">Jun</span>\n <span class=\"inline-flex h-8 items-center rounded-[8px] border border-[#e5e5e5] px-2 text-[14px] font-medium leading-5 text-[#0a0a0a] shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">2025</span>\n </ng-container>\n <ng-template #monthText>\n <span class=\"text-[28px] text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ leftMonthName }} {{ year }}</span>\n </ng-template>\n </div>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[#0a0a0a]\">{{ mode === 'range' ? '' : '\u203A' }}</button>\n </header>\n\n <div>\n <div class=\"grid grid-cols-7\">\n <span *ngFor=\"let day of weekdays\" class=\"inline-flex h-[21px] items-center justify-center text-[12px] font-normal leading-4 text-[#737373]\">{{ day }}</span>\n </div>\n <div class=\"mt-2 grid grid-cols-7 gap-y-2\">\n <button\n *ngFor=\"let cell of leftCells\"\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-8 w-8 items-center justify-center rounded-[8px] text-[14px] font-normal leading-5',\n cell.outside ? 'text-[#0a0a0a] opacity-50' : 'text-[#0a0a0a]',\n cell.inRange ? 'bg-[#f5f5f5]' : '',\n cell.selected ? 'bg-[#171717] text-[#fafafa]' : ''\n ]\"\n >\n {{ cell.day }}\n </button>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"mode === 'range'\" class=\"space-y-4\">\n <header class=\"flex items-center justify-between\">\n <span class=\"text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ rightMonthName }} {{ month === 12 ? year + 1 : year }}</span>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[#0a0a0a]\">\u203A</button>\n </header>\n\n <div>\n <div class=\"grid grid-cols-7\">\n <span *ngFor=\"let day of weekdays\" class=\"inline-flex h-[21px] items-center justify-center text-[12px] font-normal leading-4 text-[#737373]\">{{ day }}</span>\n </div>\n <div class=\"mt-2 grid grid-cols-7 gap-y-2\">\n <button\n *ngFor=\"let cell of rightCells\"\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-8 w-8 items-center justify-center rounded-[8px] text-[14px] font-normal leading-5',\n cell.outside ? 'text-[#0a0a0a] opacity-50' : 'text-[#0a0a0a]',\n cell.inRange ? 'bg-[#f5f5f5]' : '',\n cell.selected ? 'bg-[#171717] text-[#fafafa]' : ''\n ]\"\n >\n {{ cell.day }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</section>\n\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 });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmCalendarComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'pdm-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n [ngClass]=\"[\n 'rounded-[10px] border border-[#e5e5e5] bg-white p-3 shadow-[0px_1px_3px_0px_rgba(0,0,0,0.1)]',\n mode === 'range' ? 'w-[488px]' : 'w-[250px]',\n className\n ]\"\n>\n <div [ngClass]=\"['grid gap-4', mode === 'range' ? 'grid-cols-2' : 'grid-cols-1']\">\n <div class=\"space-y-4\">\n <header class=\"flex items-center justify-between\">\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[#0a0a0a]\">\u2039</button>\n <div [ngClass]=\"['flex items-center justify-center gap-1', mode === 'range' ? 'w-full' : 'w-[160px]']\">\n <ng-container *ngIf=\"mode === 'single'; else monthText\">\n <span class=\"inline-flex h-8 items-center rounded-[8px] border border-[#e5e5e5] px-2 text-[14px] font-medium leading-5 text-[#0a0a0a] shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">Jun</span>\n <span class=\"inline-flex h-8 items-center rounded-[8px] border border-[#e5e5e5] px-2 text-[14px] font-medium leading-5 text-[#0a0a0a] shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)]\">2025</span>\n </ng-container>\n <ng-template #monthText>\n <span class=\"text-[28px] text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ leftMonthName }} {{ year }}</span>\n </ng-template>\n </div>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[#0a0a0a]\">{{ mode === 'range' ? '' : '\u203A' }}</button>\n </header>\n\n <div>\n <div class=\"grid grid-cols-7\">\n <span *ngFor=\"let day of weekdays\" class=\"inline-flex h-[21px] items-center justify-center text-[12px] font-normal leading-4 text-[#737373]\">{{ day }}</span>\n </div>\n <div class=\"mt-2 grid grid-cols-7 gap-y-2\">\n <button\n *ngFor=\"let cell of leftCells\"\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-8 w-8 items-center justify-center rounded-[8px] text-[14px] font-normal leading-5',\n cell.outside ? 'text-[#0a0a0a] opacity-50' : 'text-[#0a0a0a]',\n cell.inRange ? 'bg-[#f5f5f5]' : '',\n cell.selected ? 'bg-[#171717] text-[#fafafa]' : ''\n ]\"\n >\n {{ cell.day }}\n </button>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"mode === 'range'\" class=\"space-y-4\">\n <header class=\"flex items-center justify-between\">\n <span class=\"text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ rightMonthName }} {{ month === 12 ? year + 1 : year }}</span>\n <button type=\"button\" class=\"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[#0a0a0a]\">\u203A</button>\n </header>\n\n <div>\n <div class=\"grid grid-cols-7\">\n <span *ngFor=\"let day of weekdays\" class=\"inline-flex h-[21px] items-center justify-center text-[12px] font-normal leading-4 text-[#737373]\">{{ day }}</span>\n </div>\n <div class=\"mt-2 grid grid-cols-7 gap-y-2\">\n <button\n *ngFor=\"let cell of rightCells\"\n type=\"button\"\n [ngClass]=\"[\n 'inline-flex h-8 w-8 items-center justify-center rounded-[8px] text-[14px] font-normal leading-5',\n cell.outside ? 'text-[#0a0a0a] opacity-50' : 'text-[#0a0a0a]',\n cell.inRange ? 'bg-[#f5f5f5]' : '',\n cell.selected ? 'bg-[#171717] text-[#fafafa]' : ''\n ]\"\n >\n {{ cell.day }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</section>\n\n" }]
|
|
56
|
+
}], propDecorators: { mode: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], month: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], year: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], selectedDay: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], rangeStartDay: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], rangeEndDay: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], className: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBaUIxRSxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTVcsU0FBSSxHQUFvQixRQUFRLENBQUM7UUFDakMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsYUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FrRGhFO0lBaERDLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJ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O0lBQ2YsQ0FBQzs7a0hBMURVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLDROQ2pCakMsc2xIQXlFQTs0RkR4RGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUNhbGVuZGFyTW9kZSA9ICdzaW5nbGUnIHwgJ3JhbmdlJztcblxuaW50ZXJmYWNlIENhbGVuZGFyQ2VsbCB7XG4gIGRhdGU6IERhdGU7XG4gIGRheTogbnVtYmVyO1xuICBvdXRzaWRlOiBib29sZWFuO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgaW5SYW5nZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQ2FsZW5kYXJDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlOiBQZG1DYWxlbmRhck1vZGUgPSAnc2luZ2xlJztcbiAgQElucHV0KCkgbW9udGggPSA2O1xuICBASW5wdXQoKSB5ZWFyID0gMjAyNTtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXkgPSAyNTtcbiAgQElucHV0KCkgcmFuZ2VTdGFydERheSA9IDI1O1xuICBASW5wdXQoKSByYW5nZUVuZERheSA9IDk7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gIHJlYWRvbmx5IHdlZWtkYXlzID0gWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddO1xuXG4gIGdldCBsZWZ0TW9udGhOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9udGhOYW1lKHRoaXMubW9udGggLSAxKTtcbiAgfVxuXG4gIGdldCByaWdodE1vbnRoTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJpZ2h0TW9udGggPSB0aGlzLm1vbnRoICUgMTI7XG4gICAgcmV0dXJuIHRoaXMubW9udGhOYW1lKHJpZ2h0TW9udGgpO1xuICB9XG5cbiAgZ2V0IGxlZnRDZWxscygpOiBDYWxlbmRhckNlbGxbXSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRNb250aENlbGxzKHRoaXMueWVhciwgdGhpcy5tb250aCAtIDEsIHRoaXMuc2VsZWN0ZWREYXksIHRoaXMubW9kZSA9PT0gJ3JhbmdlJyA/IHRoaXMucmFuZ2VTdGFydERheSA6IHVuZGVmaW5lZCwgdGhpcy5tb2RlID09PSAncmFuZ2UnID8gMzEgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgZ2V0IHJpZ2h0Q2VsbHMoKTogQ2FsZW5kYXJDZWxsW10ge1xuICAgIGNvbnN0IHJpZ2h0TW9udGggPSB0aGlzLm1vbnRoICUgMTI7XG4gICAgY29uc3QgcmlnaHRZZWFyID0gdGhpcy5tb250aCA9PT0gMTIgPyB0aGlzLnllYXIgKyAxIDogdGhpcy55ZWFyO1xuICAgIHJldHVybiB0aGlzLmJ1aWxkTW9udGhDZWxscyhyaWdodFllYXIsIHJpZ2h0TW9udGgsIHRoaXMubW9kZSA9PT0gJ3JhbmdlJyA/IHRoaXMucmFuZ2VFbmREYXkgOiB1bmRlZmluZWQsIDEsIHRoaXMubW9kZSA9PT0gJ3JhbmdlJyA/IHRoaXMucmFuZ2VFbmREYXkgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb250aE5hbWUobW9udGhJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBzYWZlID0gKChtb250aEluZGV4ICUgMTIpICsgMTIpICUgMTI7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMueWVhciwgc2FmZSwgMSkudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywgeyBtb250aDogJ2xvbmcnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE1vbnRoQ2VsbHMoXG4gICAgeWVhcjogbnVtYmVyLFxuICAgIG1vbnRoSW5kZXg6IG51bWJlcixcbiAgICBzZWxlY3RlZERheT86IG51bWJlcixcbiAgICByYW5nZVN0YXJ0RGF5PzogbnVtYmVyLFxuICAgIHJhbmdlRW5kRGF5PzogbnVtYmVyXG4gICk6IENhbGVuZGFyQ2VsbFtdIHtcbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoSW5kZXgsIDEpO1xuICAgIGNvbnN0IHN0YXJ0V2Vla2RheSA9IGZpcnN0RGF5LmdldERheSgpO1xuICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGhJbmRleCArIDEsIDApLmdldERhdGUoKTtcbiAgICBjb25zdCBjZWxsczogQ2FsZW5kYXJDZWxsW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkgKz0gMSkge1xuICAgICAgY29uc3QgZGF5TnVtYmVyID0gaSAtIHN0YXJ0V2Vla2RheSArIDE7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGhJbmRleCwgZGF5TnVtYmVyKTtcbiAgICAgIGNvbnN0IG91dHNpZGUgPSBkYXlOdW1iZXIgPCAxIHx8IGRheU51bWJlciA+IGRheXNJbk1vbnRoO1xuICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XG4gICAgICBjb25zdCBzZWxlY3RlZCA9ICFvdXRzaWRlICYmICEhc2VsZWN0ZWREYXkgJiYgZGF5ID09PSBzZWxlY3RlZERheTtcbiAgICAgIGNvbnN0IGluUmFuZ2UgPSAhb3V0c2lkZSAmJiAhIXJhbmdlU3RhcnREYXkgJiYgISFyYW5nZUVuZERheSAmJiBkYXkgPj0gcmFuZ2VTdGFydERheSAmJiBkYXkgPD0gcmFuZ2VFbmREYXk7XG4gICAgICBjZWxscy5wdXNoKHsgZGF0ZSwgZGF5LCBvdXRzaWRlLCBzZWxlY3RlZCwgaW5SYW5nZSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2VsbHM7XG4gIH1cbn1cblxuIiwiPHNlY3Rpb25cbiAgW25nQ2xhc3NdPVwiW1xuICAgICdyb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy13aGl0ZSBwLTMgc2hhZG93LVswcHhfMXB4XzNweF8wcHhfcmdiYSgwLDAsMCwwLjEpXScsXG4gICAgbW9kZSA9PT0gJ3JhbmdlJyA/ICd3LVs0ODhweF0nIDogJ3ctWzI1MHB4XScsXG4gICAgY2xhc3NOYW1lXG4gIF1cIlxuPlxuICA8ZGl2IFtuZ0NsYXNzXT1cIlsnZ3JpZCBnYXAtNCcsIG1vZGUgPT09ICdyYW5nZScgPyAnZ3JpZC1jb2xzLTInIDogJ2dyaWQtY29scy0xJ11cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS00XCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1bNnB4XSB0ZXh0LVsjMGEwYTBhXVwiPuKAuTwvYnV0dG9uPlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIlsnZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTEnLCBtb2RlID09PSAncmFuZ2UnID8gJ3ctZnVsbCcgOiAndy1bMTYwcHhdJ11cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3NpbmdsZSc7IGVsc2UgbW9udGhUZXh0XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCBpdGVtcy1jZW50ZXIgcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBweC0yIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXSBzaGFkb3ctWzBweF8xcHhfMnB4XzBweF9yZ2JhKDAsMCwwLDAuMSldXCI+SnVuPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggaXRlbXMtY2VudGVyIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1bI2U1ZTVlNV0gcHgtMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1bIzBhMGEwYV0gc2hhZG93LVswcHhfMXB4XzJweF8wcHhfcmdiYSgwLDAsMCwwLjEpXVwiPjIwMjU8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNtb250aFRleHQ+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtWzI4cHhdIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXVwiPnt7IGxlZnRNb250aE5hbWUgfX0ge3sgeWVhciB9fTwvc3Bhbj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVs2cHhdIHRleHQtWyMwYTBhMGFdXCI+e3sgbW9kZSA9PT0gJ3JhbmdlJyA/ICcnIDogJ+KAuicgfX08L2J1dHRvbj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtN1wiPlxuICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla2RheXNcIiBjbGFzcz1cImlubGluZS1mbGV4IGgtWzIxcHhdIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LVsxMnB4XSBmb250LW5vcm1hbCBsZWFkaW5nLTQgdGV4dC1bIzczNzM3M11cIj57eyBkYXkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBncmlkIGdyaWQtY29scy03IGdhcC15LTJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2VsbCBvZiBsZWZ0Q2VsbHNcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAgICdpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVs4cHhdIHRleHQtWzE0cHhdIGZvbnQtbm9ybWFsIGxlYWRpbmctNScsXG4gICAgICAgICAgICAgIGNlbGwub3V0c2lkZSA/ICd0ZXh0LVsjMGEwYTBhXSBvcGFjaXR5LTUwJyA6ICd0ZXh0LVsjMGEwYTBhXScsXG4gICAgICAgICAgICAgIGNlbGwuaW5SYW5nZSA/ICdiZy1bI2Y1ZjVmNV0nIDogJycsXG4gICAgICAgICAgICAgIGNlbGwuc2VsZWN0ZWQgPyAnYmctWyMxNzE3MTddIHRleHQtWyNmYWZhZmFdJyA6ICcnXG4gICAgICAgICAgICBdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBjZWxsLmRheSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIm1vZGUgPT09ICdyYW5nZSdcIiBjbGFzcz1cInNwYWNlLXktNFwiPlxuICAgICAgPGhlYWRlciBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXVwiPnt7IHJpZ2h0TW9udGhOYW1lIH19IHt7IG1vbnRoID09PSAxMiA/IHllYXIgKyAxIDogeWVhciB9fTwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVs2cHhdIHRleHQtWyMwYTBhMGFdXCI+4oC6PC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTdcIj5cbiAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtkYXlzXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLVsyMXB4XSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1bMTJweF0gZm9udC1ub3JtYWwgbGVhZGluZy00IHRleHQtWyM3MzczNzNdXCI+e3sgZGF5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgZ3JpZCBncmlkLWNvbHMtNyBnYXAteS0yXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNlbGwgb2YgcmlnaHRDZWxsc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICAgJ2lubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzhweF0gdGV4dC1bMTRweF0gZm9udC1ub3JtYWwgbGVhZGluZy01JyxcbiAgICAgICAgICAgICAgY2VsbC5vdXRzaWRlID8gJ3RleHQtWyMwYTBhMGFdIG9wYWNpdHktNTAnIDogJ3RleHQtWyMwYTBhMGFdJyxcbiAgICAgICAgICAgICAgY2VsbC5pblJhbmdlID8gJ2JnLVsjZjVmNWY1XScgOiAnJyxcbiAgICAgICAgICAgICAgY2VsbC5zZWxlY3RlZCA/ICdiZy1bIzE3MTcxN10gdGV4dC1bI2ZhZmFmYV0nIDogJydcbiAgICAgICAgICAgIF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGNlbGwuZGF5IH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9zZWN0aW9uPlxuXG4iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class PdmCardComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.variant = 'default';
|
|
7
|
+
this.className = '';
|
|
8
|
+
this.title = 'Login to your account';
|
|
9
|
+
this.description = 'Enter your email below to login to your account';
|
|
10
|
+
this.actionText = 'Sign up';
|
|
11
|
+
this.emailLabel = 'Email';
|
|
12
|
+
this.emailPlaceholder = 'm@example.com';
|
|
13
|
+
this.passwordLabel = 'Password';
|
|
14
|
+
this.passwordHint = 'Forgot password?';
|
|
15
|
+
this.primaryActionText = 'Login';
|
|
16
|
+
this.secondaryActionText = 'Login with Google';
|
|
17
|
+
this.primaryAction = new EventEmitter();
|
|
18
|
+
this.secondaryAction = new EventEmitter();
|
|
19
|
+
this.actionPressed = new EventEmitter();
|
|
20
|
+
}
|
|
21
|
+
onPrimaryAction() {
|
|
22
|
+
this.primaryAction.emit();
|
|
23
|
+
}
|
|
24
|
+
onSecondaryAction() {
|
|
25
|
+
this.secondaryAction.emit();
|
|
26
|
+
}
|
|
27
|
+
onActionPressed() {
|
|
28
|
+
this.actionPressed.emit();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
PdmCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
PdmCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmCardComponent, selector: "pdm-card", inputs: { variant: "variant", className: "className", title: "title", description: "description", actionText: "actionText", emailLabel: "emailLabel", emailPlaceholder: "emailPlaceholder", passwordLabel: "passwordLabel", passwordHint: "passwordHint", primaryActionText: "primaryActionText", secondaryActionText: "secondaryActionText" }, outputs: { primaryAction: "primaryAction", secondaryAction: "secondaryAction", actionPressed: "actionPressed" }, ngImport: i0, template: "<section\n [ngClass]=\"[\n 'w-full rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]',\n className\n ]\"\n>\n <ng-container *ngIf=\"variant === 'login'; else defaultCard\">\n <div class=\"flex w-full items-start gap-1.5 px-6\">\n <div class=\"min-w-0 flex-1\">\n <h3 class=\"m-0 text-[14px] font-semibold leading-5 text-[#0a0a0a]\">{{ title }}</h3>\n <p class=\"m-0 mt-1.5 text-[14px] leading-5 text-[#737373]\">{{ description }}</p>\n </div>\n <button\n type=\"button\"\n class=\"inline-flex h-9 items-center justify-center rounded-[10px] px-4 py-2 text-[14px] font-medium leading-5 text-[#171717]\"\n (click)=\"onActionPressed()\"\n >\n {{ actionText }}\n </button>\n </div>\n\n <div class=\"mt-6 flex flex-col gap-4 px-6\">\n <div class=\"w-full\">\n <label class=\"mb-3 block text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ emailLabel }}</label>\n <input\n type=\"email\"\n [placeholder]=\"emailPlaceholder\"\n class=\"h-9 w-full rounded-[8px] border border-[#e5e5e5] bg-white px-3 py-1 text-[16px] leading-6 text-[#0a0a0a] shadow-[0_1px_2px_rgba(0,0,0,0.1)] placeholder:text-[#737373] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#171717]\"\n />\n </div>\n\n <div class=\"w-full\">\n <div class=\"mb-3 flex w-full items-center justify-between gap-4\">\n <label class=\"text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ passwordLabel }}</label>\n <button type=\"button\" class=\"text-[14px] leading-5 text-[#0a0a0a]\">\n {{ passwordHint }}\n </button>\n </div>\n <input\n type=\"password\"\n class=\"h-9 w-full rounded-[8px] border border-[#e5e5e5] bg-white px-3 py-1 text-[16px] leading-6 text-[#0a0a0a] shadow-[0_1px_2px_rgba(0,0,0,0.1)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#171717]\"\n />\n </div>\n </div>\n\n <div class=\"mt-6 flex w-full flex-col gap-2 px-6\">\n <button\n type=\"button\"\n class=\"flex h-9 w-full items-center justify-center rounded-[10px] bg-[#171717] px-4 py-2 text-[14px] font-medium leading-5 text-[#fafafa] shadow-[0_1px_2px_rgba(0,0,0,0.1)]\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"flex h-9 w-full items-center justify-center rounded-[10px] border border-[#e5e5e5] bg-white px-4 py-2 text-[14px] font-medium leading-5 text-[#0a0a0a] shadow-[0_1px_2px_rgba(0,0,0,0.1)]\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #defaultCard>\n <div class=\"flex w-full flex-col gap-6\">\n <div class=\"px-6\">\n <ng-content select=\"[pdmCardHeader]\"></ng-content>\n </div>\n <div class=\"px-6\">\n <ng-content select=\"[pdmCardContent]\"></ng-content>\n </div>\n <div class=\"px-6\">\n <ng-content select=\"[pdmCardFooter]\"></ng-content>\n </div>\n </div>\n </ng-template>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmCardComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'pdm-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n [ngClass]=\"[\n 'w-full rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]',\n className\n ]\"\n>\n <ng-container *ngIf=\"variant === 'login'; else defaultCard\">\n <div class=\"flex w-full items-start gap-1.5 px-6\">\n <div class=\"min-w-0 flex-1\">\n <h3 class=\"m-0 text-[14px] font-semibold leading-5 text-[#0a0a0a]\">{{ title }}</h3>\n <p class=\"m-0 mt-1.5 text-[14px] leading-5 text-[#737373]\">{{ description }}</p>\n </div>\n <button\n type=\"button\"\n class=\"inline-flex h-9 items-center justify-center rounded-[10px] px-4 py-2 text-[14px] font-medium leading-5 text-[#171717]\"\n (click)=\"onActionPressed()\"\n >\n {{ actionText }}\n </button>\n </div>\n\n <div class=\"mt-6 flex flex-col gap-4 px-6\">\n <div class=\"w-full\">\n <label class=\"mb-3 block text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ emailLabel }}</label>\n <input\n type=\"email\"\n [placeholder]=\"emailPlaceholder\"\n class=\"h-9 w-full rounded-[8px] border border-[#e5e5e5] bg-white px-3 py-1 text-[16px] leading-6 text-[#0a0a0a] shadow-[0_1px_2px_rgba(0,0,0,0.1)] placeholder:text-[#737373] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#171717]\"\n />\n </div>\n\n <div class=\"w-full\">\n <div class=\"mb-3 flex w-full items-center justify-between gap-4\">\n <label class=\"text-[14px] font-medium leading-5 text-[#0a0a0a]\">{{ passwordLabel }}</label>\n <button type=\"button\" class=\"text-[14px] leading-5 text-[#0a0a0a]\">\n {{ passwordHint }}\n </button>\n </div>\n <input\n type=\"password\"\n class=\"h-9 w-full rounded-[8px] border border-[#e5e5e5] bg-white px-3 py-1 text-[16px] leading-6 text-[#0a0a0a] shadow-[0_1px_2px_rgba(0,0,0,0.1)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#171717]\"\n />\n </div>\n </div>\n\n <div class=\"mt-6 flex w-full flex-col gap-2 px-6\">\n <button\n type=\"button\"\n class=\"flex h-9 w-full items-center justify-center rounded-[10px] bg-[#171717] px-4 py-2 text-[14px] font-medium leading-5 text-[#fafafa] shadow-[0_1px_2px_rgba(0,0,0,0.1)]\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"flex h-9 w-full items-center justify-center rounded-[10px] border border-[#e5e5e5] bg-white px-4 py-2 text-[14px] font-medium leading-5 text-[#0a0a0a] shadow-[0_1px_2px_rgba(0,0,0,0.1)]\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n </div>\n </ng-container>\n\n <ng-template #defaultCard>\n <div class=\"flex w-full flex-col gap-6\">\n <div class=\"px-6\">\n <ng-content select=\"[pdmCardHeader]\"></ng-content>\n </div>\n <div class=\"px-6\">\n <ng-content select=\"[pdmCardContent]\"></ng-content>\n </div>\n <div class=\"px-6\">\n <ng-content select=\"[pdmCardFooter]\"></ng-content>\n </div>\n </div>\n </ng-template>\n</section>\n" }]
|
|
36
|
+
}], propDecorators: { variant: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], className: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], title: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], description: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], actionText: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], emailLabel: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], emailPlaceholder: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], passwordLabel: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], passwordHint: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], primaryActionText: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], secondaryActionText: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], primaryAction: [{
|
|
59
|
+
type: Output
|
|
60
|
+
}], secondaryAction: [{
|
|
61
|
+
type: Output
|
|
62
|
+
}], actionPressed: [{
|
|
63
|
+
type: Output
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU2hHLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNVyxZQUFPLEdBQW1CLFNBQVMsQ0FBQztRQUNwQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsVUFBSyxHQUFHLHVCQUF1QixDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsaURBQWlELENBQUM7UUFDaEUsZUFBVSxHQUFHLFNBQVMsQ0FBQztRQUN2QixlQUFVLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLFVBQVUsQ0FBQztRQUMzQixpQkFBWSxHQUFHLGtCQUFrQixDQUFDO1FBQ2xDLHNCQUFpQixHQUFHLE9BQU8sQ0FBQztRQUM1Qix3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUV6QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzNDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWFwRDtJQVhDLGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs4R0E1QlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsaWZDVDdCLHdyR0E2RUE7NEZEcEVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVLG1CQUVILHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtQ2FyZFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnbG9naW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUNhcmRWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcblxuICBASW5wdXQoKSB0aXRsZSA9ICdMb2dpbiB0byB5b3VyIGFjY291bnQnO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbiA9ICdFbnRlciB5b3VyIGVtYWlsIGJlbG93IHRvIGxvZ2luIHRvIHlvdXIgYWNjb3VudCc7XG4gIEBJbnB1dCgpIGFjdGlvblRleHQgPSAnU2lnbiB1cCc7XG4gIEBJbnB1dCgpIGVtYWlsTGFiZWwgPSAnRW1haWwnO1xuICBASW5wdXQoKSBlbWFpbFBsYWNlaG9sZGVyID0gJ21AZXhhbXBsZS5jb20nO1xuICBASW5wdXQoKSBwYXNzd29yZExhYmVsID0gJ1Bhc3N3b3JkJztcbiAgQElucHV0KCkgcGFzc3dvcmRIaW50ID0gJ0ZvcmdvdCBwYXNzd29yZD8nO1xuICBASW5wdXQoKSBwcmltYXJ5QWN0aW9uVGV4dCA9ICdMb2dpbic7XG4gIEBJbnB1dCgpIHNlY29uZGFyeUFjdGlvblRleHQgPSAnTG9naW4gd2l0aCBHb29nbGUnO1xuXG4gIEBPdXRwdXQoKSBwcmltYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uUHJlc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBvblByaW1hcnlBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2Vjb25kYXJ5QWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2Vjb25kYXJ5QWN0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uQWN0aW9uUHJlc3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvblByZXNzZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBbbmdDbGFzc109XCJbXG4gICAgJ3ctZnVsbCByb3VuZGVkLVsxNHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy13aGl0ZSBweS02IHNoYWRvdy1bMF8xcHhfM3B4X3JnYmEoMCwwLDAsMC4xKV0nLFxuICAgIGNsYXNzTmFtZVxuICBdXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhcmlhbnQgPT09ICdsb2dpbic7IGVsc2UgZGVmYXVsdENhcmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgaXRlbXMtc3RhcnQgZ2FwLTEuNSBweC02XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXctMCBmbGV4LTFcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwibS0wIHRleHQtWzE0cHhdIGZvbnQtc2VtaWJvbGQgbGVhZGluZy01IHRleHQtWyMwYTBhMGFdXCI+e3sgdGl0bGUgfX08L2gzPlxuICAgICAgICA8cCBjbGFzcz1cIm0tMCBtdC0xLjUgdGV4dC1bMTRweF0gbGVhZGluZy01IHRleHQtWyM3MzczNzNdXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaC05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVsxMHB4XSBweC00IHB5LTIgdGV4dC1bMTRweF0gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtWyMxNzE3MTddXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uUHJlc3NlZCgpXCJcbiAgICAgID5cbiAgICAgICAge3sgYWN0aW9uVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibXQtNiBmbGV4IGZsZXgtY29sIGdhcC00IHB4LTZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwibWItMyBibG9jayB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1bIzBhMGEwYV1cIj57eyBlbWFpbExhYmVsIH19PC9sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZW1haWxQbGFjZWhvbGRlclwiXG4gICAgICAgICAgY2xhc3M9XCJoLTkgdy1mdWxsIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1bI2U1ZTVlNV0gYmctd2hpdGUgcHgtMyBweS0xIHRleHQtWzE2cHhdIGxlYWRpbmctNiB0ZXh0LVsjMGEwYTBhXSBzaGFkb3ctWzBfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMSldIHBsYWNlaG9sZGVyOnRleHQtWyM3MzczNzNdIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0xIGZvY3VzLXZpc2libGU6cmluZy1bIzE3MTcxN11cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNFwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjMGEwYTBhXVwiPnt7IHBhc3N3b3JkTGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGV4dC1bMTRweF0gbGVhZGluZy01IHRleHQtWyMwYTBhMGFdXCI+XG4gICAgICAgICAgICB7eyBwYXNzd29yZEhpbnQgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgY2xhc3M9XCJoLTkgdy1mdWxsIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1bI2U1ZTVlNV0gYmctd2hpdGUgcHgtMyBweS0xIHRleHQtWzE2cHhdIGxlYWRpbmctNiB0ZXh0LVsjMGEwYTBhXSBzaGFkb3ctWzBfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMSldIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0xIGZvY3VzLXZpc2libGU6cmluZy1bIzE3MTcxN11cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibXQtNiBmbGV4IHctZnVsbCBmbGV4LWNvbCBnYXAtMiBweC02XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImZsZXggaC05IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1bMTBweF0gYmctWyMxNzE3MTddIHB4LTQgcHktMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1bI2ZhZmFmYV0gc2hhZG93LVswXzFweF8ycHhfcmdiYSgwLDAsMCwwLjEpXVwiXG4gICAgICAgIChjbGljayk9XCJvblByaW1hcnlBY3Rpb24oKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHByaW1hcnlBY3Rpb25UZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZmxleCBoLTkgdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy13aGl0ZSBweC00IHB5LTIgdGV4dC1bMTRweF0gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtWyMwYTBhMGFdIHNoYWRvdy1bMF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4xKV1cIlxuICAgICAgICAoY2xpY2spPVwib25TZWNvbmRhcnlBY3Rpb24oKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHNlY29uZGFyeUFjdGlvblRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDYXJkPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBmbGV4LWNvbCBnYXAtNlwiPlxuICAgICAgPGRpdiBjbGFzcz1cInB4LTZcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUNhcmRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicHgtNlwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGRtQ2FyZENvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicHgtNlwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGRtQ2FyZEZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class PdmCarouselComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.variant = 'default';
|
|
7
|
+
this.className = '';
|
|
8
|
+
this.slides = [1, 2, 3, 4, 5];
|
|
9
|
+
this.startIndex = 0;
|
|
10
|
+
this.loop = false;
|
|
11
|
+
this.indexChange = new EventEmitter();
|
|
12
|
+
this._index = 0;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this._index = this.normalizeIndex(this.startIndex);
|
|
16
|
+
}
|
|
17
|
+
get index() {
|
|
18
|
+
return this._index;
|
|
19
|
+
}
|
|
20
|
+
get canPrev() {
|
|
21
|
+
return this.loop || this._index > 0;
|
|
22
|
+
}
|
|
23
|
+
get canNext() {
|
|
24
|
+
return this.loop || this._index < this.maxIndex;
|
|
25
|
+
}
|
|
26
|
+
get maxIndex() {
|
|
27
|
+
if (this.slides.length === 0) {
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
if (this.variant === 'sizes') {
|
|
31
|
+
return Math.max(0, this.slides.length - 3);
|
|
32
|
+
}
|
|
33
|
+
if (this.variant === 'orientation') {
|
|
34
|
+
return Math.max(0, this.slides.length - 2);
|
|
35
|
+
}
|
|
36
|
+
return Math.max(0, this.slides.length - 1);
|
|
37
|
+
}
|
|
38
|
+
get visibleSlides() {
|
|
39
|
+
if (this.slides.length === 0) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
if (this.variant === 'sizes') {
|
|
43
|
+
return this.sliceWindow(3);
|
|
44
|
+
}
|
|
45
|
+
if (this.variant === 'orientation') {
|
|
46
|
+
return this.sliceWindow(2);
|
|
47
|
+
}
|
|
48
|
+
return [this.slides[this._index]];
|
|
49
|
+
}
|
|
50
|
+
onPrev() {
|
|
51
|
+
if (!this.canPrev) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const next = this._index - 1;
|
|
55
|
+
this.setIndex(this.loop && next < 0 ? this.maxIndex : next);
|
|
56
|
+
}
|
|
57
|
+
onNext() {
|
|
58
|
+
if (!this.canNext) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const next = this._index + 1;
|
|
62
|
+
this.setIndex(this.loop && next > this.maxIndex ? 0 : next);
|
|
63
|
+
}
|
|
64
|
+
setIndex(value) {
|
|
65
|
+
const normalized = this.normalizeIndex(value);
|
|
66
|
+
this._index = normalized;
|
|
67
|
+
this.indexChange.emit(this._index);
|
|
68
|
+
}
|
|
69
|
+
normalizeIndex(value) {
|
|
70
|
+
if (this.slides.length === 0) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
return Math.min(this.maxIndex, Math.max(0, value));
|
|
74
|
+
}
|
|
75
|
+
sliceWindow(size) {
|
|
76
|
+
return this.slides.slice(this._index, this._index + size);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
PdmCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
PdmCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PdmCarouselComponent, selector: "pdm-carousel", inputs: { variant: "variant", className: "className", slides: "slides", startIndex: "startIndex", loop: "loop" }, outputs: { indexChange: "indexChange" }, ngImport: i0, template: "<section [ngClass]=\"[className]\">\n <div *ngIf=\"variant !== 'orientation'\" class=\"flex items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <ng-container [ngSwitch]=\"variant\">\n <div *ngSwitchCase=\"'sizes'\" class=\"flex items-center\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex items-center\" [ngClass]=\"i > 0 ? 'pl-4' : ''\">\n <div class=\"flex h-[165px] w-[125px] items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[#0a0a0a]\">{{ slide }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngSwitchDefault class=\"flex flex-col items-center justify-center\">\n <div class=\"flex h-[360px] w-[318px] items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]\">\n <div class=\"text-center text-[36px] font-semibold leading-10 text-[#0a0a0a]\">{{ visibleSlides[0] }}</div>\n </div>\n </div>\n <p *ngIf=\"variant === 'api'\" class=\"m-0 pt-2 text-[14px] font-medium leading-5 text-[#737373]\">Slide {{ index + 1 }} of {{ slides.length }}</p>\n </div>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18L15 12L9 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <div *ngIf=\"variant === 'orientation'\" class=\"flex flex-col items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex w-[320px] flex-col\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex h-[142px] w-full items-center p-1\" [ngClass]=\"i > 0 ? 'pt-1' : ''\">\n <div class=\"flex h-full w-full items-center justify-center rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[#0a0a0a]\">{{ slide }}</div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n</section>\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"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PdmCarouselComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'pdm-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section [ngClass]=\"[className]\">\n <div *ngIf=\"variant !== 'orientation'\" class=\"flex items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <ng-container [ngSwitch]=\"variant\">\n <div *ngSwitchCase=\"'sizes'\" class=\"flex items-center\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex items-center\" [ngClass]=\"i > 0 ? 'pl-4' : ''\">\n <div class=\"flex h-[165px] w-[125px] items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[#0a0a0a]\">{{ slide }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngSwitchDefault class=\"flex flex-col items-center justify-center\">\n <div class=\"flex h-[360px] w-[318px] items-center p-1\">\n <div class=\"flex h-full w-full items-center justify-center rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]\">\n <div class=\"text-center text-[36px] font-semibold leading-10 text-[#0a0a0a]\">{{ visibleSlides[0] }}</div>\n </div>\n </div>\n <p *ngIf=\"variant === 'api'\" class=\"m-0 pt-2 text-[14px] font-medium leading-5 text-[#737373]\">Slide {{ index + 1 }} of {{ slides.length }}</p>\n </div>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18L15 12L9 6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <div *ngIf=\"variant === 'orientation'\" class=\"flex flex-col items-center gap-4\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canPrev ? 'opacity-50' : ''\"\n [disabled]=\"!canPrev\"\n (click)=\"onPrev()\"\n aria-label=\"Previous slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n\n <div class=\"flex w-[320px] flex-col\">\n <div *ngFor=\"let slide of visibleSlides; let i = index\" class=\"flex h-[142px] w-full items-center p-1\" [ngClass]=\"i > 0 ? 'pt-1' : ''\">\n <div class=\"flex h-full w-full items-center justify-center rounded-[14px] border border-[#e5e5e5] bg-white py-6 shadow-[0_1px_3px_rgba(0,0,0,0.1)]\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[#0a0a0a]\">{{ slide }}</div>\n </div>\n </div>\n </div>\n\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 items-center justify-center rounded-full border border-[#e5e5e5] bg-white p-[10px]\"\n [ngClass]=\"!canNext ? 'opacity-50' : ''\"\n [disabled]=\"!canNext\"\n (click)=\"onNext()\"\n aria-label=\"Next slide\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4 text-[#0a0a0a]\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </svg>\n </button>\n </div>\n</section>\n" }]
|
|
84
|
+
}], propDecorators: { variant: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], className: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], slides: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], startIndex: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], loop: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], indexChange: [{
|
|
95
|
+
type: Output
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTaEcsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLFlBQU8sR0FBdUIsU0FBUyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixXQUFNLEdBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFWixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFM0MsV0FBTSxHQUFHLENBQUMsQ0FBQztLQWlGcEI7SUEvRUMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJ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QU0sR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDOztrSEF6RlUsb0JBQW9CO3NHQUFwQixvQkFBb0IsK01DVGpDLGkySUFzRkE7NEZEN0VhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjLG1CQUVQLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUNhcm91c2VsVmFyaWFudCA9ICdkZWZhdWx0JyB8ICdzaXplcycgfCAnb3JpZW50YXRpb24nIHwgJ2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUNhcm91c2VsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFyaWFudDogUGRtQ2Fyb3VzZWxWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgc2xpZGVzOiBudW1iZXJbXSA9IFsxLCAyLCAzLCA0LCA1XTtcbiAgQElucHV0KCkgc3RhcnRJbmRleCA9IDA7XG4gIEBJbnB1dCgpIGxvb3AgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9pbmRleCA9IDA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5kZXggPSB0aGlzLm5vcm1hbGl6ZUluZGV4KHRoaXMuc3RhcnRJbmRleCk7XG4gIH1cblxuICBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faW5kZXg7XG4gIH1cblxuICBnZXQgY2FuUHJldigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sb29wIHx8IHRoaXMuX2luZGV4ID4gMDtcbiAgfVxuXG4gIGdldCBjYW5OZXh0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvb3AgfHwgdGhpcy5faW5kZXggPCB0aGlzLm1heEluZGV4O1xuICB9XG5cbiAgZ2V0IG1heEluZGV4KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuc2xpZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdzaXplcycpIHtcbiAgICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLnNsaWRlcy5sZW5ndGggLSAzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ29yaWVudGF0aW9uJykge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIHRoaXMuc2xpZGVzLmxlbmd0aCAtIDIpO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgdGhpcy5zbGlkZXMubGVuZ3RoIC0gMSk7XG4gIH1cblxuICBnZXQgdmlzaWJsZVNsaWRlcygpOiBudW1iZXJbXSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdzaXplcycpIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaWNlV2luZG93KDMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdvcmllbnRhdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaWNlV2luZG93KDIpO1xuICAgIH1cblxuICAgIHJldHVybiBbdGhpcy5zbGlkZXNbdGhpcy5faW5kZXhdXTtcbiAgfVxuXG4gIG9uUHJldigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2FuUHJldikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSB0aGlzLl9pbmRleCAtIDE7XG4gICAgdGhpcy5zZXRJbmRleCh0aGlzLmxvb3AgJiYgbmV4dCA8IDAgPyB0aGlzLm1heEluZGV4IDogbmV4dCk7XG4gIH1cblxuICBvbk5leHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhbk5leHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5faW5kZXggKyAxO1xuICAgIHRoaXMuc2V0SW5kZXgodGhpcy5sb29wICYmIG5leHQgPiB0aGlzLm1heEluZGV4ID8gMCA6IG5leHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbmRleCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHRoaXMubm9ybWFsaXplSW5kZXgodmFsdWUpO1xuICAgIHRoaXMuX2luZGV4ID0gbm9ybWFsaXplZDtcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQodGhpcy5faW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbmRleCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5zbGlkZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMubWF4SW5kZXgsIE1hdGgubWF4KDAsIHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHNsaWNlV2luZG93KHNpemU6IG51bWJlcik6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5zbGlkZXMuc2xpY2UodGhpcy5faW5kZXgsIHRoaXMuX2luZGV4ICsgc2l6ZSk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cIltjbGFzc05hbWVdXCI+XG4gIDxkaXYgKm5nSWY9XCJ2YXJpYW50ICE9PSAnb3JpZW50YXRpb24nXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1bI2U1ZTVlNV0gYmctd2hpdGUgcC1bMTBweF1cIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhblByZXYgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhblByZXZcIlxuICAgICAgKGNsaWNrKT1cIm9uUHJldigpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtWyMwYTBhMGFdXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTUgMThMOSAxMkwxNSA2XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ2YXJpYW50XCI+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2l6ZXMnXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzbGlkZSBvZiB2aXNpYmxlU2xpZGVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiIFtuZ0NsYXNzXT1cImkgPiAwID8gJ3BsLTQnIDogJydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLVsxNjVweF0gdy1bMTI1cHhdIGl0ZW1zLWNlbnRlciBwLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzE0cHhdIGJvcmRlciBib3JkZXItWyNlNWU1ZTVdIGJnLXdoaXRlIHB5LTYgc2hhZG93LVswXzFweF8zcHhfcmdiYSgwLDAsMCwwLjEpXVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC1bMzBweF0gZm9udC1zZW1pYm9sZCBsZWFkaW5nLTkgdGV4dC1bIzBhMGEwYV1cIj57eyBzbGlkZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtWzM2MHB4XSB3LVszMThweF0gaXRlbXMtY2VudGVyIHAtMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzE0cHhdIGJvcmRlciBib3JkZXItWyNlNWU1ZTVdIGJnLXdoaXRlIHB5LTYgc2hhZG93LVswXzFweF8zcHhfcmdiYSgwLDAsMCwwLjEpXVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtWzM2cHhdIGZvbnQtc2VtaWJvbGQgbGVhZGluZy0xMCB0ZXh0LVsjMGEwYTBhXVwiPnt7IHZpc2libGVTbGlkZXNbMF0gfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwICpuZ0lmPVwidmFyaWFudCA9PT0gJ2FwaSdcIiBjbGFzcz1cIm0tMCBwdC0yIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVsjNzM3MzczXVwiPlNsaWRlIHt7IGluZGV4ICsgMSB9fSBvZiB7eyBzbGlkZXMubGVuZ3RoIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItWyNlNWU1ZTVdIGJnLXdoaXRlIHAtWzEwcHhdXCJcbiAgICAgIFtuZ0NsYXNzXT1cIiFjYW5OZXh0ID8gJ29wYWNpdHktNTAnIDogJydcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5OZXh0XCJcbiAgICAgIChjbGljayk9XCJvbk5leHQoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiTmV4dCBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtWyMwYTBhMGFdXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNOSAxOEwxNSAxMkw5IDZcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInZhcmlhbnQgPT09ICdvcmllbnRhdGlvbidcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGdhcC00XCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLVsjZTVlNWU1XSBiZy13aGl0ZSBwLVsxMHB4XVwiXG4gICAgICBbbmdDbGFzc109XCIhY2FuUHJldiA/ICdvcGFjaXR5LTUwJyA6ICcnXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhY2FuUHJldlwiXG4gICAgICAoY2xpY2spPVwib25QcmV2KClcIlxuICAgICAgYXJpYS1sYWJlbD1cIlByZXZpb3VzIHNsaWRlXCJcbiAgICA+XG4gICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImgtNCB3LTQgdGV4dC1bIzBhMGEwYV1cIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xOCAxNUwxMiA5TDYgMTVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctWzMyMHB4XSBmbGV4LWNvbFwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2xpZGUgb2YgdmlzaWJsZVNsaWRlczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiZmxleCBoLVsxNDJweF0gdy1mdWxsIGl0ZW1zLWNlbnRlciBwLTFcIiBbbmdDbGFzc109XCJpID4gMCA/ICdwdC0xJyA6ICcnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzE0cHhdIGJvcmRlciBib3JkZXItWyNlNWU1ZTVdIGJnLXdoaXRlIHB5LTYgc2hhZG93LVswXzFweF8zcHhfcmdiYSgwLDAsMCwwLjEpXVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LVszMHB4XSBmb250LXNlbWlib2xkIGxlYWRpbmctOSB0ZXh0LVsjMGEwYTBhXVwiPnt7IHNsaWRlIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItWyNlNWU1ZTVdIGJnLXdoaXRlIHAtWzEwcHhdXCJcbiAgICAgIFtuZ0NsYXNzXT1cIiFjYW5OZXh0ID8gJ29wYWNpdHktNTAnIDogJydcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5OZXh0XCJcbiAgICAgIChjbGljayk9XCJvbk5leHQoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiTmV4dCBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtWyMwYTBhMGFdXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNiA5TDEyIDE1TDE4IDlcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|