pdm-ui-kit 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/accordion/accordion.component.mjs +42 -0
- package/esm2020/lib/components/alert/alert.component.mjs +35 -0
- package/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +69 -0
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/aspect-ratio/aspect-ratio.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/avatar/avatar.component.mjs +5 -5
- package/esm2020/lib/components/badge/badge.component.mjs +23 -0
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +29 -0
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/button/button.component.mjs +4 -4
- package/esm2020/lib/components/button-group/button-group.component.mjs +23 -0
- package/esm2020/lib/components/calendar/calendar.component.mjs +71 -0
- package/esm2020/lib/components/card/card.component.mjs +65 -0
- package/esm2020/lib/components/carousel/carousel.component.mjs +97 -0
- package/esm2020/lib/components/chart/chart.component.mjs +174 -0
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/checkbox/checkbox.component.mjs +5 -5
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/collapsible/collapsible.component.mjs +5 -5
- package/esm2020/lib/components/combobox/combobox.component.mjs +51 -0
- package/esm2020/lib/components/command/command.component.mjs +75 -0
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/context-menu/context-menu.component.mjs +5 -5
- package/esm2020/lib/components/data-table/data-table.component.mjs +89 -0
- package/esm2020/lib/components/date-picker/date-picker.component.mjs +63 -0
- package/esm2020/lib/components/dialog/dialog.component.mjs +90 -0
- package/esm2020/lib/components/drawer/drawer.component.mjs +72 -0
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/dropdown-menu/dropdown-menu.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/empty/empty.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/field/field.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/hover-card/hover-card.component.mjs +5 -5
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/icon/icon.component.mjs +4 -4
- package/esm2020/lib/components/input/input.component.mjs +71 -0
- package/esm2020/lib/components/input-group/input-group.component.mjs +63 -0
- package/esm2020/lib/components/input-otp/input-otp.component.mjs +140 -0
- package/esm2020/lib/components/input-password/input-password.component.mjs +78 -0
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/item/item.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/kbd/kbd.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/label/label.component.mjs +4 -4
- package/esm2020/lib/components/menubar/menubar.component.mjs +37 -0
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/native-select/native-select.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/navigation-menu/navigation-menu.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/pagination/pagination.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/popover/popover.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/progress/progress.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/radio-group/radio-group.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/scroll-area/scroll-area.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/select/select.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/separator/separator.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/sheet/sheet.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/sidebar/sidebar.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/skeleton/skeleton.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/slider/slider.component.mjs +5 -5
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/sonner/sonner.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/spinner/spinner.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/switch/switch.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/table/table.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/tabs/tabs.component.mjs +5 -5
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/textarea/textarea.component.mjs +5 -5
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/toggle/toggle.component.mjs +4 -4
- package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/lib/components/toggle-group/toggle-group.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/components/tooltip/tooltip.component.mjs +4 -4
- package/{dist/pdm-ui-kit/esm2020 → esm2020}/lib/pdm-ui-kit.module.mjs +5 -5
- package/fesm2015/pdm-ui-kit.mjs +2998 -0
- package/fesm2015/pdm-ui-kit.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit.mjs +2993 -0
- package/fesm2020/pdm-ui-kit.mjs.map +1 -0
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/accordion/accordion.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/alert/alert.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/alert-dialog/alert-dialog.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/aspect-ratio/aspect-ratio.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/avatar/avatar.component.d.ts +2 -2
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/badge/badge.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/breadcrumb/breadcrumb.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/button/button.component.d.ts +4 -4
- package/{dist/pdm-ui-kit/lib → lib}/components/button-group/button-group.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/calendar/calendar.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/card/card.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/carousel/carousel.component.d.ts +2 -2
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/chart/chart.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/checkbox/checkbox.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/collapsible/collapsible.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/combobox/combobox.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/command/command.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/context-menu/context-menu.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/data-table/data-table.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/date-picker/date-picker.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/dialog/dialog.component.d.ts +2 -2
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/drawer/drawer.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/dropdown-menu/dropdown-menu.component.d.ts +2 -2
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/empty/empty.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/field/field.component.d.ts +3 -3
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/hover-card/hover-card.component.d.ts +3 -3
- package/lib/components/icon/icon.component.d.ts +18 -0
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/input/input.component.d.ts +5 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/input-group/input-group.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/input-otp/input-otp.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/input-password/input-password.component.d.ts +4 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/item/item.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/kbd/kbd.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/label/label.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/menubar/menubar.component.d.ts +2 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/native-select/native-select.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/navigation-menu/navigation-menu.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/pagination/pagination.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/popover/popover.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/progress/progress.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/radio-group/radio-group.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/scroll-area/scroll-area.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/select/select.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/separator/separator.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/sheet/sheet.component.d.ts +2 -2
- package/{dist/pdm-ui-kit/lib → lib}/components/sidebar/sidebar.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/skeleton/skeleton.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/slider/slider.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/sonner/sonner.component.d.ts +2 -2
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/spinner/spinner.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/switch/switch.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/table/table.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/tabs/tabs.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/textarea/textarea.component.d.ts +1 -1
- package/{dist/pdm-ui-kit/lib → lib}/components/toggle/toggle.component.d.ts +2 -2
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/toggle-group/toggle-group.component.d.ts +1 -1
- package/{dist/corelusa-pdm-ui-kit/lib → lib}/components/tooltip/tooltip.component.d.ts +1 -1
- package/package.json +22 -15
- package/dist/corelusa-pdm-ui-kit/README.md +0 -79
- package/dist/corelusa-pdm-ui-kit/esm2020/corelusa-pdm-ui-kit.mjs +0 -5
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/accordion/accordion.component.mjs +0 -42
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/alert/alert.component.mjs +0 -35
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +0 -69
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/avatar/avatar.component.mjs +0 -46
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/badge/badge.component.mjs +0 -23
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -29
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/button/button.component.mjs +0 -82
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/button-group/button-group.component.mjs +0 -23
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/calendar/calendar.component.mjs +0 -71
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/card/card.component.mjs +0 -65
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/carousel/carousel.component.mjs +0 -97
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/chart/chart.component.mjs +0 -174
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/checkbox/checkbox.component.mjs +0 -47
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/combobox/combobox.component.mjs +0 -51
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/command/command.component.mjs +0 -75
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/data-table/data-table.component.mjs +0 -89
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/date-picker/date-picker.component.mjs +0 -63
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/dialog/dialog.component.mjs +0 -90
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/drawer/drawer.component.mjs +0 -72
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/empty/empty.component.mjs +0 -58
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/field/field.component.mjs +0 -52
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input/input.component.mjs +0 -65
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input-group/input-group.component.mjs +0 -54
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -140
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/input-password/input-password.component.mjs +0 -72
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/item/item.component.mjs +0 -23
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/label/label.component.mjs +0 -23
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/menubar/menubar.component.mjs +0 -31
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/native-select/native-select.component.mjs +0 -42
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/navigation-menu/navigation-menu.component.mjs +0 -20
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/pagination/pagination.component.mjs +0 -47
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/popover/popover.component.mjs +0 -58
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/progress/progress.component.mjs +0 -33
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/radio-group/radio-group.component.mjs +0 -38
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/select/select.component.mjs +0 -38
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/separator/separator.component.mjs +0 -26
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/sidebar/sidebar.component.mjs +0 -20
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/slider/slider.component.mjs +0 -46
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/table/table.component.mjs +0 -17
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/tabs/tabs.component.mjs +0 -31
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/toggle/toggle.component.mjs +0 -41
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -33
- package/dist/corelusa-pdm-ui-kit/esm2020/lib/pdm-ui-kit.module.mjs +0 -245
- package/dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs +0 -2959
- package/dist/corelusa-pdm-ui-kit/fesm2015/corelusa-pdm-ui-kit.mjs.map +0 -1
- package/dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs +0 -2954
- package/dist/corelusa-pdm-ui-kit/fesm2020/corelusa-pdm-ui-kit.mjs.map +0 -1
- package/dist/corelusa-pdm-ui-kit/index.d.ts +0 -5
- package/dist/corelusa-pdm-ui-kit/lib/components/alert-dialog/alert-dialog.component.d.ts +0 -21
- package/dist/corelusa-pdm-ui-kit/lib/components/aspect-ratio/aspect-ratio.component.d.ts +0 -10
- package/dist/corelusa-pdm-ui-kit/lib/components/avatar/avatar.component.d.ts +0 -20
- package/dist/corelusa-pdm-ui-kit/lib/components/breadcrumb/breadcrumb.component.d.ts +0 -10
- package/dist/corelusa-pdm-ui-kit/lib/components/button/button.component.d.ts +0 -24
- package/dist/corelusa-pdm-ui-kit/lib/components/button-group/button-group.component.d.ts +0 -9
- package/dist/corelusa-pdm-ui-kit/lib/components/calendar/calendar.component.d.ts +0 -28
- package/dist/corelusa-pdm-ui-kit/lib/components/card/card.component.d.ts +0 -24
- package/dist/corelusa-pdm-ui-kit/lib/components/carousel/carousel.component.d.ts +0 -25
- package/dist/corelusa-pdm-ui-kit/lib/components/checkbox/checkbox.component.d.ts +0 -17
- package/dist/corelusa-pdm-ui-kit/lib/components/collapsible/collapsible.component.d.ts +0 -14
- package/dist/corelusa-pdm-ui-kit/lib/components/context-menu/context-menu.component.d.ts +0 -26
- package/dist/corelusa-pdm-ui-kit/lib/components/dialog/dialog.component.d.ts +0 -30
- package/dist/corelusa-pdm-ui-kit/lib/components/dropdown-menu/dropdown-menu.component.d.ts +0 -34
- package/dist/corelusa-pdm-ui-kit/lib/components/field/field.component.d.ts +0 -18
- package/dist/corelusa-pdm-ui-kit/lib/components/icon/icon.component.d.ts +0 -18
- package/dist/corelusa-pdm-ui-kit/lib/components/input-group/input-group.component.d.ts +0 -19
- package/dist/corelusa-pdm-ui-kit/lib/components/item/item.component.d.ts +0 -8
- package/dist/corelusa-pdm-ui-kit/lib/components/kbd/kbd.component.d.ts +0 -6
- package/dist/corelusa-pdm-ui-kit/lib/components/menubar/menubar.component.d.ts +0 -17
- package/dist/corelusa-pdm-ui-kit/lib/components/pagination/pagination.component.d.ts +0 -13
- package/dist/corelusa-pdm-ui-kit/lib/components/scroll-area/scroll-area.component.d.ts +0 -7
- package/dist/corelusa-pdm-ui-kit/lib/components/select/select.component.d.ts +0 -19
- package/dist/corelusa-pdm-ui-kit/lib/components/sheet/sheet.component.d.ts +0 -13
- package/dist/corelusa-pdm-ui-kit/lib/components/sidebar/sidebar.component.d.ts +0 -7
- package/dist/corelusa-pdm-ui-kit/lib/components/skeleton/skeleton.component.d.ts +0 -6
- package/dist/corelusa-pdm-ui-kit/lib/components/slider/slider.component.d.ts +0 -15
- package/dist/corelusa-pdm-ui-kit/lib/components/toggle/toggle.component.d.ts +0 -14
- package/dist/corelusa-pdm-ui-kit/package.json +0 -47
- package/dist/pdm-ui-kit/README.md +0 -128
- package/dist/pdm-ui-kit/esm2020/lib/components/accordion/accordion.component.mjs +0 -42
- package/dist/pdm-ui-kit/esm2020/lib/components/alert/alert.component.mjs +0 -35
- package/dist/pdm-ui-kit/esm2020/lib/components/alert-dialog/alert-dialog.component.mjs +0 -69
- package/dist/pdm-ui-kit/esm2020/lib/components/aspect-ratio/aspect-ratio.component.mjs +0 -31
- package/dist/pdm-ui-kit/esm2020/lib/components/badge/badge.component.mjs +0 -23
- package/dist/pdm-ui-kit/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -29
- package/dist/pdm-ui-kit/esm2020/lib/components/button-group/button-group.component.mjs +0 -23
- package/dist/pdm-ui-kit/esm2020/lib/components/calendar/calendar.component.mjs +0 -71
- package/dist/pdm-ui-kit/esm2020/lib/components/card/card.component.mjs +0 -65
- package/dist/pdm-ui-kit/esm2020/lib/components/carousel/carousel.component.mjs +0 -97
- package/dist/pdm-ui-kit/esm2020/lib/components/chart/chart.component.mjs +0 -174
- package/dist/pdm-ui-kit/esm2020/lib/components/collapsible/collapsible.component.mjs +0 -43
- package/dist/pdm-ui-kit/esm2020/lib/components/combobox/combobox.component.mjs +0 -51
- package/dist/pdm-ui-kit/esm2020/lib/components/command/command.component.mjs +0 -75
- package/dist/pdm-ui-kit/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -78
- package/dist/pdm-ui-kit/esm2020/lib/components/data-table/data-table.component.mjs +0 -89
- package/dist/pdm-ui-kit/esm2020/lib/components/date-picker/date-picker.component.mjs +0 -63
- package/dist/pdm-ui-kit/esm2020/lib/components/dialog/dialog.component.mjs +0 -90
- package/dist/pdm-ui-kit/esm2020/lib/components/drawer/drawer.component.mjs +0 -72
- package/dist/pdm-ui-kit/esm2020/lib/components/dropdown-menu/dropdown-menu.component.mjs +0 -120
- package/dist/pdm-ui-kit/esm2020/lib/components/hover-card/hover-card.component.mjs +0 -44
- package/dist/pdm-ui-kit/esm2020/lib/components/icon/icon.component.mjs +0 -94
- package/dist/pdm-ui-kit/esm2020/lib/components/input/input.component.mjs +0 -65
- package/dist/pdm-ui-kit/esm2020/lib/components/input-group/input-group.component.mjs +0 -63
- package/dist/pdm-ui-kit/esm2020/lib/components/input-otp/input-otp.component.mjs +0 -140
- package/dist/pdm-ui-kit/esm2020/lib/components/input-password/input-password.component.mjs +0 -72
- package/dist/pdm-ui-kit/esm2020/lib/components/kbd/kbd.component.mjs +0 -17
- package/dist/pdm-ui-kit/esm2020/lib/components/menubar/menubar.component.mjs +0 -31
- package/dist/pdm-ui-kit/esm2020/lib/components/scroll-area/scroll-area.component.mjs +0 -20
- package/dist/pdm-ui-kit/esm2020/lib/components/sheet/sheet.component.mjs +0 -39
- package/dist/pdm-ui-kit/esm2020/lib/components/skeleton/skeleton.component.mjs +0 -17
- package/dist/pdm-ui-kit/esm2020/lib/components/sonner/sonner.component.mjs +0 -39
- package/dist/pdm-ui-kit/esm2020/lib/components/spinner/spinner.component.mjs +0 -20
- package/dist/pdm-ui-kit/esm2020/lib/components/switch/switch.component.mjs +0 -35
- package/dist/pdm-ui-kit/esm2020/lib/components/textarea/textarea.component.mjs +0 -59
- package/dist/pdm-ui-kit/esm2020/lib/components/toggle-group/toggle-group.component.mjs +0 -31
- package/dist/pdm-ui-kit/esm2020/public-api.mjs +0 -59
- package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs +0 -2980
- package/dist/pdm-ui-kit/fesm2015/pdm-ui-kit.mjs.map +0 -1
- package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs +0 -2975
- package/dist/pdm-ui-kit/fesm2020/pdm-ui-kit.mjs.map +0 -1
- package/dist/pdm-ui-kit/lib/components/accordion/accordion.component.d.ts +0 -19
- package/dist/pdm-ui-kit/lib/components/alert/alert.component.d.ts +0 -13
- package/dist/pdm-ui-kit/lib/components/badge/badge.component.d.ts +0 -9
- package/dist/pdm-ui-kit/lib/components/chart/chart.component.d.ts +0 -41
- package/dist/pdm-ui-kit/lib/components/combobox/combobox.component.d.ts +0 -18
- package/dist/pdm-ui-kit/lib/components/command/command.component.d.ts +0 -33
- package/dist/pdm-ui-kit/lib/components/data-table/data-table.component.d.ts +0 -36
- package/dist/pdm-ui-kit/lib/components/date-picker/date-picker.component.d.ts +0 -23
- package/dist/pdm-ui-kit/lib/components/drawer/drawer.component.d.ts +0 -27
- package/dist/pdm-ui-kit/lib/components/empty/empty.component.d.ts +0 -19
- package/dist/pdm-ui-kit/lib/components/hover-card/hover-card.component.d.ts +0 -14
- package/dist/pdm-ui-kit/lib/components/icon/icon.component.d.ts +0 -18
- package/dist/pdm-ui-kit/lib/components/input/input.component.d.ts +0 -23
- package/dist/pdm-ui-kit/lib/components/input-otp/input-otp.component.d.ts +0 -26
- package/dist/pdm-ui-kit/lib/components/input-password/input-password.component.d.ts +0 -25
- package/dist/pdm-ui-kit/lib/components/label/label.component.d.ts +0 -8
- package/dist/pdm-ui-kit/lib/components/native-select/native-select.component.d.ts +0 -20
- package/dist/pdm-ui-kit/lib/components/navigation-menu/navigation-menu.component.d.ts +0 -12
- package/dist/pdm-ui-kit/lib/components/popover/popover.component.d.ts +0 -17
- package/dist/pdm-ui-kit/lib/components/progress/progress.component.d.ts +0 -10
- package/dist/pdm-ui-kit/lib/components/radio-group/radio-group.component.d.ts +0 -19
- package/dist/pdm-ui-kit/lib/components/separator/separator.component.d.ts +0 -9
- package/dist/pdm-ui-kit/lib/components/sonner/sonner.component.d.ts +0 -13
- package/dist/pdm-ui-kit/lib/components/spinner/spinner.component.d.ts +0 -7
- package/dist/pdm-ui-kit/lib/components/switch/switch.component.d.ts +0 -13
- package/dist/pdm-ui-kit/lib/components/table/table.component.d.ts +0 -6
- package/dist/pdm-ui-kit/lib/components/tabs/tabs.component.d.ts +0 -16
- package/dist/pdm-ui-kit/lib/components/textarea/textarea.component.d.ts +0 -21
- package/dist/pdm-ui-kit/lib/components/toggle-group/toggle-group.component.d.ts +0 -16
- package/dist/pdm-ui-kit/lib/components/tooltip/tooltip.component.d.ts +0 -10
- package/dist/pdm-ui-kit/lib/pdm-ui-kit.module.d.ts +0 -64
- package/dist/pdm-ui-kit/package.json +0 -44
- package/dist/pdm-ui-kit/public-api.d.ts +0 -58
- package/ng-package.json +0 -8
- 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/pdm-ui-kit-0.1.4.tgz +0 -0
- package/src/lib/components/accordion/accordion.component.html +0 -34
- package/src/lib/components/accordion/accordion.component.ts +0 -38
- package/src/lib/components/alert/alert.component.html +0 -52
- package/src/lib/components/alert/alert.component.ts +0 -25
- package/src/lib/components/alert-dialog/alert-dialog.component.html +0 -41
- package/src/lib/components/alert-dialog/alert-dialog.component.ts +0 -45
- package/src/lib/components/aspect-ratio/aspect-ratio.component.html +0 -11
- package/src/lib/components/aspect-ratio/aspect-ratio.component.ts +0 -18
- package/src/lib/components/avatar/avatar.component.html +0 -21
- package/src/lib/components/avatar/avatar.component.ts +0 -32
- package/src/lib/components/badge/badge.component.html +0 -28
- package/src/lib/components/badge/badge.component.ts +0 -23
- package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -39
- package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -26
- package/src/lib/components/button/button.component.html +0 -15
- package/src/lib/components/button/button.component.ts +0 -84
- package/src/lib/components/button-group/button-group.component.html +0 -39
- package/src/lib/components/button-group/button-group.component.ts +0 -15
- package/src/lib/components/calendar/calendar.component.html +0 -73
- package/src/lib/components/calendar/calendar.component.ts +0 -78
- package/src/lib/components/card/card.component.html +0 -77
- package/src/lib/components/card/card.component.ts +0 -39
- package/src/lib/components/carousel/carousel.component.html +0 -86
- package/src/lib/components/carousel/carousel.component.ts +0 -100
- package/src/lib/components/chart/chart.component.html +0 -143
- package/src/lib/components/chart/chart.component.ts +0 -147
- package/src/lib/components/checkbox/checkbox.component.html +0 -38
- package/src/lib/components/checkbox/checkbox.component.ts +0 -32
- package/src/lib/components/collapsible/collapsible.component.html +0 -26
- package/src/lib/components/collapsible/collapsible.component.ts +0 -29
- package/src/lib/components/combobox/combobox.component.html +0 -42
- package/src/lib/components/combobox/combobox.component.ts +0 -32
- package/src/lib/components/command/command.component.html +0 -55
- package/src/lib/components/command/command.component.ts +0 -67
- package/src/lib/components/context-menu/context-menu.component.html +0 -47
- package/src/lib/components/context-menu/context-menu.component.ts +0 -67
- package/src/lib/components/data-table/data-table.component.html +0 -63
- package/src/lib/components/data-table/data-table.component.ts +0 -78
- package/src/lib/components/date-picker/date-picker.component.html +0 -38
- package/src/lib/components/date-picker/date-picker.component.ts +0 -38
- package/src/lib/components/dialog/dialog.component.html +0 -78
- package/src/lib/components/dialog/dialog.component.ts +0 -55
- package/src/lib/components/drawer/drawer.component.html +0 -56
- package/src/lib/components/drawer/drawer.component.ts +0 -43
- package/src/lib/components/dropdown-menu/dropdown-menu.component.html +0 -56
- package/src/lib/components/dropdown-menu/dropdown-menu.component.ts +0 -126
- package/src/lib/components/empty/empty.component.html +0 -29
- package/src/lib/components/empty/empty.component.ts +0 -35
- package/src/lib/components/field/field.component.html +0 -26
- package/src/lib/components/field/field.component.ts +0 -42
- package/src/lib/components/hover-card/hover-card.component.html +0 -24
- package/src/lib/components/hover-card/hover-card.component.ts +0 -36
- package/src/lib/components/icon/icon.component.html +0 -286
- package/src/lib/components/icon/icon.component.ts +0 -133
- package/src/lib/components/input/input.component.html +0 -25
- package/src/lib/components/input/input.component.ts +0 -33
- package/src/lib/components/input-group/input-group.component.html +0 -59
- package/src/lib/components/input-group/input-group.component.ts +0 -32
- package/src/lib/components/input-otp/input-otp.component.html +0 -25
- package/src/lib/components/input-otp/input-otp.component.ts +0 -146
- package/src/lib/components/input-password/input-password.component.html +0 -66
- package/src/lib/components/input-password/input-password.component.ts +0 -46
- package/src/lib/components/item/item.component.html +0 -10
- package/src/lib/components/item/item.component.ts +0 -12
- package/src/lib/components/kbd/kbd.component.html +0 -3
- package/src/lib/components/kbd/kbd.component.ts +0 -10
- package/src/lib/components/label/label.component.html +0 -7
- package/src/lib/components/label/label.component.ts +0 -12
- package/src/lib/components/menubar/menubar.component.html +0 -16
- package/src/lib/components/menubar/menubar.component.ts +0 -29
- package/src/lib/components/native-select/native-select.component.html +0 -17
- package/src/lib/components/native-select/native-select.component.ts +0 -28
- package/src/lib/components/navigation-menu/navigation-menu.component.html +0 -15
- package/src/lib/components/navigation-menu/navigation-menu.component.ts +0 -17
- package/src/lib/components/pagination/pagination.component.html +0 -30
- package/src/lib/components/pagination/pagination.component.ts +0 -37
- package/src/lib/components/popover/popover.component.html +0 -6
- package/src/lib/components/popover/popover.component.ts +0 -40
- package/src/lib/components/progress/progress.component.html +0 -9
- package/src/lib/components/progress/progress.component.ts +0 -20
- package/src/lib/components/radio-group/radio-group.component.html +0 -25
- package/src/lib/components/radio-group/radio-group.component.ts +0 -30
- package/src/lib/components/scroll-area/scroll-area.component.html +0 -5
- package/src/lib/components/scroll-area/scroll-area.component.ts +0 -11
- package/src/lib/components/select/select.component.html +0 -14
- package/src/lib/components/select/select.component.ts +0 -27
- package/src/lib/components/separator/separator.component.html +0 -5
- package/src/lib/components/separator/separator.component.ts +0 -16
- package/src/lib/components/sheet/sheet.component.html +0 -10
- package/src/lib/components/sheet/sheet.component.ts +0 -28
- package/src/lib/components/sidebar/sidebar.component.html +0 -3
- package/src/lib/components/sidebar/sidebar.component.ts +0 -11
- package/src/lib/components/skeleton/skeleton.component.html +0 -1
- package/src/lib/components/skeleton/skeleton.component.ts +0 -10
- package/src/lib/components/slider/slider.component.html +0 -15
- package/src/lib/components/slider/slider.component.ts +0 -31
- package/src/lib/components/sonner/sonner.component.html +0 -10
- package/src/lib/components/sonner/sonner.component.ts +0 -25
- package/src/lib/components/spinner/spinner.component.html +0 -6
- package/src/lib/components/spinner/spinner.component.ts +0 -11
- package/src/lib/components/switch/switch.component.html +0 -14
- package/src/lib/components/switch/switch.component.ts +0 -20
- package/src/lib/components/table/table.component.html +0 -5
- package/src/lib/components/table/table.component.ts +0 -10
- package/src/lib/components/tabs/tabs.component.html +0 -21
- package/src/lib/components/tabs/tabs.component.ts +0 -26
- package/src/lib/components/textarea/textarea.component.html +0 -21
- package/src/lib/components/textarea/textarea.component.ts +0 -28
- package/src/lib/components/toggle/toggle.component.html +0 -16
- package/src/lib/components/toggle/toggle.component.ts +0 -29
- package/src/lib/components/toggle-group/toggle-group.component.html +0 -17
- package/src/lib/components/toggle-group/toggle-group.component.ts +0 -26
- package/src/lib/components/tooltip/tooltip.component.html +0 -6
- package/src/lib/components/tooltip/tooltip.component.ts +0 -20
- package/src/lib/pdm-ui-kit.module.ts +0 -126
- package/src/public-api.ts +0 -58
- package/tsconfig.json +0 -30
- package/tsconfig.lib.json +0 -17
- /package/{dist/pdm-ui-kit/esm2020 → esm2020}/pdm-ui-kit.mjs +0 -0
- /package/{dist/corelusa-pdm-ui-kit/esm2020 → esm2020}/public-api.mjs +0 -0
- /package/{dist/pdm-ui-kit/index.d.ts → index.d.ts} +0 -0
- /package/{dist/corelusa-pdm-ui-kit/lib → lib}/pdm-ui-kit.module.d.ts +0 -0
- /package/{dist/corelusa-pdm-ui-kit/public-api.d.ts → public-api.d.ts} +0 -0
|
@@ -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: "14.3.0", ngImport: i0, type: PdmCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
PdmCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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-[hsl(var(--border))] bg-[hsl(var(--background))] p-3 shadow-sm',\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-[hsl(var(--foreground))]\">\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-[hsl(var(--border))] px-2 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\">Jun</span>\n <span class=\"inline-flex h-8 items-center rounded-[8px] border border-[hsl(var(--border))] px-2 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\">2025</span>\n </ng-container>\n <ng-template #monthText>\n <span class=\"text-[28px] text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--muted-foreground))]\">{{ 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-[hsl(var(--foreground))] opacity-50' : 'text-[hsl(var(--foreground))]',\n cell.inRange ? 'bg-[hsl(var(--muted))]' : '',\n cell.selected ? 'bg-[hsl(var(--foreground))] text-[hsl(var(--background))]' : ''\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-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--foreground))]\">\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-[hsl(var(--muted-foreground))]\">{{ 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-[hsl(var(--foreground))] opacity-50' : 'text-[hsl(var(--foreground))]',\n cell.inRange ? 'bg-[hsl(var(--muted))]' : '',\n cell.selected ? 'bg-[hsl(var(--foreground))] text-[hsl(var(--background))]' : ''\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: "14.3.0", 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-[hsl(var(--border))] bg-[hsl(var(--background))] p-3 shadow-sm',\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-[hsl(var(--foreground))]\">\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-[hsl(var(--border))] px-2 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\">Jun</span>\n <span class=\"inline-flex h-8 items-center rounded-[8px] border border-[hsl(var(--border))] px-2 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\">2025</span>\n </ng-container>\n <ng-template #monthText>\n <span class=\"text-[28px] text-[14px] font-medium leading-5 text-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--muted-foreground))]\">{{ 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-[hsl(var(--foreground))] opacity-50' : 'text-[hsl(var(--foreground))]',\n cell.inRange ? 'bg-[hsl(var(--muted))]' : '',\n cell.selected ? 'bg-[hsl(var(--foreground))] text-[hsl(var(--background))]' : ''\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-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--foreground))]\">\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-[hsl(var(--muted-foreground))]\">{{ 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-[hsl(var(--foreground))] opacity-50' : 'text-[hsl(var(--foreground))]',\n cell.inRange ? 'bg-[hsl(var(--muted))]' : '',\n cell.selected ? 'bg-[hsl(var(--foreground))] text-[hsl(var(--background))]' : ''\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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O0lBQ2YsQ0FBQzs7aUhBMURVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDROQ2pCakMsNDBIQXlFQTsyRkR4RGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUNhbGVuZGFyTW9kZSA9ICdzaW5nbGUnIHwgJ3JhbmdlJztcblxuaW50ZXJmYWNlIENhbGVuZGFyQ2VsbCB7XG4gIGRhdGU6IERhdGU7XG4gIGRheTogbnVtYmVyO1xuICBvdXRzaWRlOiBib29sZWFuO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgaW5SYW5nZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRtLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQ2FsZW5kYXJDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlOiBQZG1DYWxlbmRhck1vZGUgPSAnc2luZ2xlJztcbiAgQElucHV0KCkgbW9udGggPSA2O1xuICBASW5wdXQoKSB5ZWFyID0gMjAyNTtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXkgPSAyNTtcbiAgQElucHV0KCkgcmFuZ2VTdGFydERheSA9IDI1O1xuICBASW5wdXQoKSByYW5nZUVuZERheSA9IDk7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gIHJlYWRvbmx5IHdlZWtkYXlzID0gWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddO1xuXG4gIGdldCBsZWZ0TW9udGhOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9udGhOYW1lKHRoaXMubW9udGggLSAxKTtcbiAgfVxuXG4gIGdldCByaWdodE1vbnRoTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJpZ2h0TW9udGggPSB0aGlzLm1vbnRoICUgMTI7XG4gICAgcmV0dXJuIHRoaXMubW9udGhOYW1lKHJpZ2h0TW9udGgpO1xuICB9XG5cbiAgZ2V0IGxlZnRDZWxscygpOiBDYWxlbmRhckNlbGxbXSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRNb250aENlbGxzKHRoaXMueWVhciwgdGhpcy5tb250aCAtIDEsIHRoaXMuc2VsZWN0ZWREYXksIHRoaXMubW9kZSA9PT0gJ3JhbmdlJyA/IHRoaXMucmFuZ2VTdGFydERheSA6IHVuZGVmaW5lZCwgdGhpcy5tb2RlID09PSAncmFuZ2UnID8gMzEgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgZ2V0IHJpZ2h0Q2VsbHMoKTogQ2FsZW5kYXJDZWxsW10ge1xuICAgIGNvbnN0IHJpZ2h0TW9udGggPSB0aGlzLm1vbnRoICUgMTI7XG4gICAgY29uc3QgcmlnaHRZZWFyID0gdGhpcy5tb250aCA9PT0gMTIgPyB0aGlzLnllYXIgKyAxIDogdGhpcy55ZWFyO1xuICAgIHJldHVybiB0aGlzLmJ1aWxkTW9udGhDZWxscyhyaWdodFllYXIsIHJpZ2h0TW9udGgsIHRoaXMubW9kZSA9PT0gJ3JhbmdlJyA/IHRoaXMucmFuZ2VFbmREYXkgOiB1bmRlZmluZWQsIDEsIHRoaXMubW9kZSA9PT0gJ3JhbmdlJyA/IHRoaXMucmFuZ2VFbmREYXkgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb250aE5hbWUobW9udGhJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBzYWZlID0gKChtb250aEluZGV4ICUgMTIpICsgMTIpICUgMTI7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMueWVhciwgc2FmZSwgMSkudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywgeyBtb250aDogJ2xvbmcnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE1vbnRoQ2VsbHMoXG4gICAgeWVhcjogbnVtYmVyLFxuICAgIG1vbnRoSW5kZXg6IG51bWJlcixcbiAgICBzZWxlY3RlZERheT86IG51bWJlcixcbiAgICByYW5nZVN0YXJ0RGF5PzogbnVtYmVyLFxuICAgIHJhbmdlRW5kRGF5PzogbnVtYmVyXG4gICk6IENhbGVuZGFyQ2VsbFtdIHtcbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoSW5kZXgsIDEpO1xuICAgIGNvbnN0IHN0YXJ0V2Vla2RheSA9IGZpcnN0RGF5LmdldERheSgpO1xuICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGhJbmRleCArIDEsIDApLmdldERhdGUoKTtcbiAgICBjb25zdCBjZWxsczogQ2FsZW5kYXJDZWxsW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkgKz0gMSkge1xuICAgICAgY29uc3QgZGF5TnVtYmVyID0gaSAtIHN0YXJ0V2Vla2RheSArIDE7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGhJbmRleCwgZGF5TnVtYmVyKTtcbiAgICAgIGNvbnN0IG91dHNpZGUgPSBkYXlOdW1iZXIgPCAxIHx8IGRheU51bWJlciA+IGRheXNJbk1vbnRoO1xuICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XG4gICAgICBjb25zdCBzZWxlY3RlZCA9ICFvdXRzaWRlICYmICEhc2VsZWN0ZWREYXkgJiYgZGF5ID09PSBzZWxlY3RlZERheTtcbiAgICAgIGNvbnN0IGluUmFuZ2UgPSAhb3V0c2lkZSAmJiAhIXJhbmdlU3RhcnREYXkgJiYgISFyYW5nZUVuZERheSAmJiBkYXkgPj0gcmFuZ2VTdGFydERheSAmJiBkYXkgPD0gcmFuZ2VFbmREYXk7XG4gICAgICBjZWxscy5wdXNoKHsgZGF0ZSwgZGF5LCBvdXRzaWRlLCBzZWxlY3RlZCwgaW5SYW5nZSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2VsbHM7XG4gIH1cbn1cblxuIiwiPHNlY3Rpb25cbiAgW25nQ2xhc3NdPVwiW1xuICAgICdyb3VuZGVkLVsxMHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBwLTMgc2hhZG93LXNtJyxcbiAgICBtb2RlID09PSAncmFuZ2UnID8gJ3ctWzQ4OHB4XScgOiAndy1bMjUwcHhdJyxcbiAgICBjbGFzc05hbWVcbiAgXVwiXG4+XG4gIDxkaXYgW25nQ2xhc3NdPVwiWydncmlkIGdhcC00JywgbW9kZSA9PT0gJ3JhbmdlJyA/ICdncmlkLWNvbHMtMicgOiAnZ3JpZC1jb2xzLTEnXVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzcGFjZS15LTRcIj5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVs2cHhdIHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+4oC5PC9idXR0b24+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiWydmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMScsIG1vZGUgPT09ICdyYW5nZScgPyAndy1mdWxsJyA6ICd3LVsxNjBweF0nXVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnc2luZ2xlJzsgZWxzZSBtb250aFRleHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IGl0ZW1zLWNlbnRlciByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gcHgtMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gc2hhZG93LXNtXCI+SnVuPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggaXRlbXMtY2VudGVyIHJvdW5kZWQtWzhweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBweC0yIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXSBzaGFkb3ctc21cIj4yMDI1PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbW9udGhUZXh0PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsyOHB4XSB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyBsZWZ0TW9udGhOYW1lIH19IHt7IHllYXIgfX08L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1bNnB4XSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IG1vZGUgPT09ICdyYW5nZScgPyAnJyA6ICfigLonIH19PC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTdcIj5cbiAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtkYXlzXCIgY2xhc3M9XCJpbmxpbmUtZmxleCBoLVsyMXB4XSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1bMTJweF0gZm9udC1ub3JtYWwgbGVhZGluZy00IHRleHQtW2hzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSldXCI+e3sgZGF5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgZ3JpZCBncmlkLWNvbHMtNyBnYXAteS0yXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNlbGwgb2YgbGVmdENlbGxzXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1bOHB4XSB0ZXh0LVsxNHB4XSBmb250LW5vcm1hbCBsZWFkaW5nLTUnLFxuICAgICAgICAgICAgICBjZWxsLm91dHNpZGUgPyAndGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gb3BhY2l0eS01MCcgOiAndGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0nLFxuICAgICAgICAgICAgICBjZWxsLmluUmFuZ2UgPyAnYmctW2hzbCh2YXIoLS1tdXRlZCkpXScgOiAnJyxcbiAgICAgICAgICAgICAgY2VsbC5zZWxlY3RlZCA/ICdiZy1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gdGV4dC1baHNsKHZhcigtLWJhY2tncm91bmQpKV0nIDogJydcbiAgICAgICAgICAgIF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGNlbGwuZGF5IH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZSA9PT0gJ3JhbmdlJ1wiIGNsYXNzPVwic3BhY2UteS00XCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1bMTRweF0gZm9udC1tZWRpdW0gbGVhZGluZy01IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCI+e3sgcmlnaHRNb250aE5hbWUgfX0ge3sgbW9udGggPT09IDEyID8geWVhciArIDEgOiB5ZWFyIH19PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzZweF0gdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj7igLo8L2J1dHRvbj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtN1wiPlxuICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla2RheXNcIiBjbGFzcz1cImlubGluZS1mbGV4IGgtWzIxcHhdIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LVsxMnB4XSBmb250LW5vcm1hbCBsZWFkaW5nLTQgdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV1cIj57eyBkYXkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBncmlkIGdyaWQtY29scy03IGdhcC15LTJcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2VsbCBvZiByaWdodENlbGxzXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgICAnaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1bOHB4XSB0ZXh0LVsxNHB4XSBmb250LW5vcm1hbCBsZWFkaW5nLTUnLFxuICAgICAgICAgICAgICBjZWxsLm91dHNpZGUgPyAndGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gb3BhY2l0eS01MCcgOiAndGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0nLFxuICAgICAgICAgICAgICBjZWxsLmluUmFuZ2UgPyAnYmctW2hzbCh2YXIoLS1tdXRlZCkpXScgOiAnJyxcbiAgICAgICAgICAgICAgY2VsbC5zZWxlY3RlZCA/ICdiZy1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gdGV4dC1baHNsKHZhcigtLWJhY2tncm91bmQpKV0nIDogJydcbiAgICAgICAgICAgIF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGNlbGwuZGF5IH19XG4gICAgICAgICAgPC9idXR0b24+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: "14.3.0", ngImport: i0, type: PdmCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
PdmCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm',\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-[hsl(var(--foreground))]\">{{ title }}</h3>\n <p class=\"m-0 mt-1.5 text-[14px] leading-5 text-[hsl(var(--muted-foreground))]\">{{ 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-[hsl(var(--foreground))]\"\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-[hsl(var(--foreground))]\">{{ emailLabel }}</label>\n <input\n type=\"email\"\n [placeholder]=\"emailPlaceholder\"\n class=\"h-9 w-full rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--foreground))] shadow-sm placeholder:text-[hsl(var(--muted-foreground))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--ring))]\"\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-[hsl(var(--foreground))]\">{{ passwordLabel }}</label>\n <button type=\"button\" class=\"text-[14px] leading-5 text-[hsl(var(--foreground))]\">\n {{ passwordHint }}\n </button>\n </div>\n <input\n type=\"password\"\n class=\"h-9 w-full rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--foreground))] shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--ring))]\"\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-[hsl(var(--foreground))] px-4 py-2 text-[14px] font-medium leading-5 text-[hsl(var(--background))] shadow-sm\"\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-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 py-2 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\"\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: "14.3.0", 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm',\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-[hsl(var(--foreground))]\">{{ title }}</h3>\n <p class=\"m-0 mt-1.5 text-[14px] leading-5 text-[hsl(var(--muted-foreground))]\">{{ 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-[hsl(var(--foreground))]\"\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-[hsl(var(--foreground))]\">{{ emailLabel }}</label>\n <input\n type=\"email\"\n [placeholder]=\"emailPlaceholder\"\n class=\"h-9 w-full rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--foreground))] shadow-sm placeholder:text-[hsl(var(--muted-foreground))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--ring))]\"\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-[hsl(var(--foreground))]\">{{ passwordLabel }}</label>\n <button type=\"button\" class=\"text-[14px] leading-5 text-[hsl(var(--foreground))]\">\n {{ passwordHint }}\n </button>\n </div>\n <input\n type=\"password\"\n class=\"h-9 w-full rounded-[8px] border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 py-1 text-[16px] leading-6 text-[hsl(var(--foreground))] shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--ring))]\"\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-[hsl(var(--foreground))] px-4 py-2 text-[14px] font-medium leading-5 text-[hsl(var(--background))] shadow-sm\"\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-[hsl(var(--border))] bg-[hsl(var(--background))] px-4 py-2 text-[14px] font-medium leading-5 text-[hsl(var(--foreground))] shadow-sm\"\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU2hHLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNVyxZQUFPLEdBQW1CLFNBQVMsQ0FBQztRQUNwQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsVUFBSyxHQUFHLHVCQUF1QixDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsaURBQWlELENBQUM7UUFDaEUsZUFBVSxHQUFHLFNBQVMsQ0FBQztRQUN2QixlQUFVLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLFVBQVUsQ0FBQztRQUMzQixpQkFBWSxHQUFHLGtCQUFrQixDQUFDO1FBQ2xDLHNCQUFpQixHQUFHLE9BQU8sQ0FBQztRQUM1Qix3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUV6QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzNDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWFwRDtJQVhDLGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs2R0E1QlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsaWZDVDdCLHE0R0E2RUE7MkZEcEVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxVQUFVLG1CQUVILHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGRtQ2FyZFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnbG9naW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZG0tY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFBkbUNhcmRWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcblxuICBASW5wdXQoKSB0aXRsZSA9ICdMb2dpbiB0byB5b3VyIGFjY291bnQnO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbiA9ICdFbnRlciB5b3VyIGVtYWlsIGJlbG93IHRvIGxvZ2luIHRvIHlvdXIgYWNjb3VudCc7XG4gIEBJbnB1dCgpIGFjdGlvblRleHQgPSAnU2lnbiB1cCc7XG4gIEBJbnB1dCgpIGVtYWlsTGFiZWwgPSAnRW1haWwnO1xuICBASW5wdXQoKSBlbWFpbFBsYWNlaG9sZGVyID0gJ21AZXhhbXBsZS5jb20nO1xuICBASW5wdXQoKSBwYXNzd29yZExhYmVsID0gJ1Bhc3N3b3JkJztcbiAgQElucHV0KCkgcGFzc3dvcmRIaW50ID0gJ0ZvcmdvdCBwYXNzd29yZD8nO1xuICBASW5wdXQoKSBwcmltYXJ5QWN0aW9uVGV4dCA9ICdMb2dpbic7XG4gIEBJbnB1dCgpIHNlY29uZGFyeUFjdGlvblRleHQgPSAnTG9naW4gd2l0aCBHb29nbGUnO1xuXG4gIEBPdXRwdXQoKSBwcmltYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2Vjb25kYXJ5QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uUHJlc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBvblByaW1hcnlBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2Vjb25kYXJ5QWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2Vjb25kYXJ5QWN0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uQWN0aW9uUHJlc3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvblByZXNzZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBbbmdDbGFzc109XCJbXG4gICAgJ3ctZnVsbCByb3VuZGVkLVsxNHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweS02IHNoYWRvdy1zbScsXG4gICAgY2xhc3NOYW1lXG4gIF1cIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFyaWFudCA9PT0gJ2xvZ2luJzsgZWxzZSBkZWZhdWx0Q2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBpdGVtcy1zdGFydCBnYXAtMS41IHB4LTZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0wIGZsZXgtMVwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJtLTAgdGV4dC1bMTRweF0gZm9udC1zZW1pYm9sZCBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgICAgIDxwIGNsYXNzPVwibS0wIG10LTEuNSB0ZXh0LVsxNHB4XSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV1cIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTkgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzEwcHhdIHB4LTQgcHktMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIlxuICAgICAgICAoY2xpY2spPVwib25BY3Rpb25QcmVzc2VkKClcIlxuICAgICAgPlxuICAgICAgICB7eyBhY3Rpb25UZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtdC02IGZsZXggZmxleC1jb2wgZ2FwLTQgcHgtNlwiPlxuICAgICAgPGRpdiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJtYi0zIGJsb2NrIHRleHQtWzE0cHhdIGZvbnQtbWVkaXVtIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IGVtYWlsTGFiZWwgfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJlbWFpbFBsYWNlaG9sZGVyXCJcbiAgICAgICAgICBjbGFzcz1cImgtOSB3LWZ1bGwgcm91bmRlZC1bOHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweC0zIHB5LTEgdGV4dC1bMTZweF0gbGVhZGluZy02IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHNoYWRvdy1zbSBwbGFjZWhvbGRlcjp0ZXh0LVtoc2wodmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkpXSBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMSBmb2N1cy12aXNpYmxlOnJpbmctW2hzbCh2YXIoLS1yaW5nKSldXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZsZXggdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gZ2FwLTRcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyBwYXNzd29yZExhYmVsIH19PC9sYWJlbD5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRleHQtWzE0cHhdIGxlYWRpbmctNSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPlxuICAgICAgICAgICAge3sgcGFzc3dvcmRIaW50IH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgIGNsYXNzPVwiaC05IHctZnVsbCByb3VuZGVkLVs4cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTMgcHktMSB0ZXh0LVsxNnB4XSBsZWFkaW5nLTYgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gc2hhZG93LXNtIGZvY3VzLXZpc2libGU6b3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6cmluZy0xIGZvY3VzLXZpc2libGU6cmluZy1baHNsKHZhcigtLXJpbmcpKV1cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibXQtNiBmbGV4IHctZnVsbCBmbGV4LWNvbCBnYXAtMiBweC02XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImZsZXggaC05IHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1bMTBweF0gYmctW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldIHB4LTQgcHktMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gc2hhZG93LXNtXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUHJpbWFyeUFjdGlvbigpXCJcbiAgICAgID5cbiAgICAgICAge3sgcHJpbWFyeUFjdGlvblRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGgtOSB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzEwcHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB4LTQgcHktMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV0gc2hhZG93LXNtXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2Vjb25kYXJ5QWN0aW9uKClcIlxuICAgICAgPlxuICAgICAgICB7eyBzZWNvbmRhcnlBY3Rpb25UZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2FyZD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgZmxleC1jb2wgZ2FwLTZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJweC02XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwZG1DYXJkSGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInB4LTZcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUNhcmRDb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInB4LTZcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BkbUNhcmRGb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -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: "14.3.0", ngImport: i0, type: PdmCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
PdmCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm\">\n <div class=\"text-center text-[36px] font-semibold leading-10 text-[hsl(var(--foreground))]\">{{ visibleSlides[0] }}</div>\n </div>\n </div>\n <p *ngIf=\"variant === 'api'\" class=\"m-0 pt-2 text-[14px] font-medium leading-5 text-[hsl(var(--muted-foreground))]\">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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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: "14.3.0", 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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm\">\n <div class=\"text-center text-[36px] font-semibold leading-10 text-[hsl(var(--foreground))]\">{{ visibleSlides[0] }}</div>\n </div>\n </div>\n <p *ngIf=\"variant === 'api'\" class=\"m-0 pt-2 text-[14px] font-medium leading-5 text-[hsl(var(--muted-foreground))]\">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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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-[hsl(var(--border))] bg-[hsl(var(--background))] py-6 shadow-sm\">\n <div class=\"text-center text-[30px] font-semibold leading-9 text-[hsl(var(--foreground))]\">{{ 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-[hsl(var(--border))] bg-[hsl(var(--background))] 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-[hsl(var(--foreground))]\" 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTaEcsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLFlBQU8sR0FBdUIsU0FBUyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixXQUFNLEdBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFWixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFM0MsV0FBTSxHQUFHLENBQUMsQ0FBQztLQWlGcEI7SUEvRUMsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUI7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQWE7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFhO1FBQ2xDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxXQUFXLENBQUMsSUFBWTtRQUM5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDOztpSEF6RlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsK01DVGpDLHNtSkFzRkE7MkZEN0VhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjLG1CQUVQLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFBkbUNhcm91c2VsVmFyaWFudCA9ICdkZWZhdWx0JyB8ICdzaXplcycgfCAnb3JpZW50YXRpb24nIHwgJ2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBkbUNhcm91c2VsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFyaWFudDogUGRtQ2Fyb3VzZWxWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnJztcbiAgQElucHV0KCkgc2xpZGVzOiBudW1iZXJbXSA9IFsxLCAyLCAzLCA0LCA1XTtcbiAgQElucHV0KCkgc3RhcnRJbmRleCA9IDA7XG4gIEBJbnB1dCgpIGxvb3AgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9pbmRleCA9IDA7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5kZXggPSB0aGlzLm5vcm1hbGl6ZUluZGV4KHRoaXMuc3RhcnRJbmRleCk7XG4gIH1cblxuICBnZXQgaW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faW5kZXg7XG4gIH1cblxuICBnZXQgY2FuUHJldigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sb29wIHx8IHRoaXMuX2luZGV4ID4gMDtcbiAgfVxuXG4gIGdldCBjYW5OZXh0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvb3AgfHwgdGhpcy5faW5kZXggPCB0aGlzLm1heEluZGV4O1xuICB9XG5cbiAgZ2V0IG1heEluZGV4KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuc2xpZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdzaXplcycpIHtcbiAgICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLnNsaWRlcy5sZW5ndGggLSAzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ29yaWVudGF0aW9uJykge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIHRoaXMuc2xpZGVzLmxlbmd0aCAtIDIpO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgdGhpcy5zbGlkZXMubGVuZ3RoIC0gMSk7XG4gIH1cblxuICBnZXQgdmlzaWJsZVNsaWRlcygpOiBudW1iZXJbXSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdzaXplcycpIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaWNlV2luZG93KDMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdvcmllbnRhdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLnNsaWNlV2luZG93KDIpO1xuICAgIH1cblxuICAgIHJldHVybiBbdGhpcy5zbGlkZXNbdGhpcy5faW5kZXhdXTtcbiAgfVxuXG4gIG9uUHJldigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2FuUHJldikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSB0aGlzLl9pbmRleCAtIDE7XG4gICAgdGhpcy5zZXRJbmRleCh0aGlzLmxvb3AgJiYgbmV4dCA8IDAgPyB0aGlzLm1heEluZGV4IDogbmV4dCk7XG4gIH1cblxuICBvbk5leHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhbk5leHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5faW5kZXggKyAxO1xuICAgIHRoaXMuc2V0SW5kZXgodGhpcy5sb29wICYmIG5leHQgPiB0aGlzLm1heEluZGV4ID8gMCA6IG5leHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbmRleCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IHRoaXMubm9ybWFsaXplSW5kZXgodmFsdWUpO1xuICAgIHRoaXMuX2luZGV4ID0gbm9ybWFsaXplZDtcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQodGhpcy5faW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVJbmRleCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5zbGlkZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMubWF4SW5kZXgsIE1hdGgubWF4KDAsIHZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHNsaWNlV2luZG93KHNpemU6IG51bWJlcik6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5zbGlkZXMuc2xpY2UodGhpcy5faW5kZXgsIHRoaXMuX2luZGV4ICsgc2l6ZSk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cIltjbGFzc05hbWVdXCI+XG4gIDxkaXYgKm5nSWY9XCJ2YXJpYW50ICE9PSAnb3JpZW50YXRpb24nXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcC1bMTBweF1cIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhblByZXYgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhblByZXZcIlxuICAgICAgKGNsaWNrKT1cIm9uUHJldigpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTUgMThMOSAxMkwxNSA2XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ2YXJpYW50XCI+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInc2l6ZXMnXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzbGlkZSBvZiB2aXNpYmxlU2xpZGVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiIFtuZ0NsYXNzXT1cImkgPiAwID8gJ3BsLTQnIDogJydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLVsxNjVweF0gdy1bMTI1cHhdIGl0ZW1zLWNlbnRlciBwLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGgtZnVsbCB3LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzE0cHhdIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHB5LTYgc2hhZG93LXNtXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LVszMHB4XSBmb250LXNlbWlib2xkIGxlYWRpbmctOSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IHNsaWRlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaC1bMzYwcHhdIHctWzMxOHB4XSBpdGVtcy1jZW50ZXIgcC0xXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaC1mdWxsIHctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1bMTRweF0gYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcHktNiBzaGFkb3ctc21cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LVszNnB4XSBmb250LXNlbWlib2xkIGxlYWRpbmctMTAgdGV4dC1baHNsKHZhcigtLWZvcmVncm91bmQpKV1cIj57eyB2aXNpYmxlU2xpZGVzWzBdIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCAqbmdJZj1cInZhcmlhbnQgPT09ICdhcGknXCIgY2xhc3M9XCJtLTAgcHQtMiB0ZXh0LVsxNHB4XSBmb250LW1lZGl1bSBsZWFkaW5nLTUgdGV4dC1baHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKV1cIj5TbGlkZSB7eyBpbmRleCArIDEgfX0gb2Yge3sgc2xpZGVzLmxlbmd0aCB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBwLVsxMHB4XVwiXG4gICAgICBbbmdDbGFzc109XCIhY2FuTmV4dCA/ICdvcGFjaXR5LTUwJyA6ICcnXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhY2FuTmV4dFwiXG4gICAgICAoY2xpY2spPVwib25OZXh0KClcIlxuICAgICAgYXJpYS1sYWJlbD1cIk5leHQgc2xpZGVcIlxuICAgID5cbiAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiaC00IHctNCB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aCBkPVwiTTkgMThMMTUgMTJMOSA2XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJ2YXJpYW50ID09PSAnb3JpZW50YXRpb24nXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYm9yZGVyIGJvcmRlci1baHNsKHZhcigtLWJvcmRlcikpXSBiZy1baHNsKHZhcigtLWJhY2tncm91bmQpKV0gcC1bMTBweF1cIlxuICAgICAgW25nQ2xhc3NdPVwiIWNhblByZXYgPyAnb3BhY2l0eS01MCcgOiAnJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNhblByZXZcIlxuICAgICAgKGNsaWNrKT1cIm9uUHJldigpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTggMTVMMTIgOUw2IDE1XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LVszMjBweF0gZmxleC1jb2xcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHZpc2libGVTbGlkZXM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImZsZXggaC1bMTQycHhdIHctZnVsbCBpdGVtcy1jZW50ZXIgcC0xXCIgW25nQ2xhc3NdPVwiaSA+IDAgPyAncHQtMScgOiAnJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBoLWZ1bGwgdy1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLVsxNHB4XSBib3JkZXIgYm9yZGVyLVtoc2wodmFyKC0tYm9yZGVyKSldIGJnLVtoc2wodmFyKC0tYmFja2dyb3VuZCkpXSBweS02IHNoYWRvdy1zbVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LVszMHB4XSBmb250LXNlbWlib2xkIGxlYWRpbmctOSB0ZXh0LVtoc2wodmFyKC0tZm9yZWdyb3VuZCkpXVwiPnt7IHNsaWRlIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItW2hzbCh2YXIoLS1ib3JkZXIpKV0gYmctW2hzbCh2YXIoLS1iYWNrZ3JvdW5kKSldIHAtWzEwcHhdXCJcbiAgICAgIFtuZ0NsYXNzXT1cIiFjYW5OZXh0ID8gJ29wYWNpdHktNTAnIDogJydcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjYW5OZXh0XCJcbiAgICAgIChjbGljayk9XCJvbk5leHQoKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiTmV4dCBzbGlkZVwiXG4gICAgPlxuICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJoLTQgdy00IHRleHQtW2hzbCh2YXIoLS1mb3JlZ3JvdW5kKSldXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNiA5TDEyIDE1TDE4IDlcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|