pdm-ui-kit 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/calendar.module.d.ts +1 -1
- package/calendar/date-picker.component.d.ts +2 -2
- package/command/command.component.d.ts +1 -1
- package/command/command.module.d.ts +1 -1
- package/context-menu/context-menu.component.d.ts +1 -1
- package/data-table/data-table.component.d.ts +1 -1
- package/data-table/draggable-table.component.d.ts +1 -1
- package/data-table/table.component.d.ts +1 -1
- package/drawer/drawer.module.d.ts +1 -1
- package/dropdown-menu/dropdown-menu.component.d.ts +1 -1
- package/empty/empty.module.d.ts +2 -2
- package/esm2020/calendar/calendar.module.mjs +2 -2
- package/esm2020/calendar/date-picker.component.mjs +4 -4
- package/esm2020/combobox/combobox.component.mjs +2 -2
- package/esm2020/command/command.component.mjs +2 -2
- package/esm2020/command/command.module.mjs +2 -2
- package/esm2020/context-menu/context-menu.component.mjs +2 -2
- package/esm2020/data-table/data-table.component.mjs +1 -1
- package/esm2020/data-table/draggable-table.component.mjs +1 -1
- package/esm2020/data-table/table.component.mjs +2 -2
- package/esm2020/dialog/dialog.component.mjs +3 -3
- package/esm2020/drawer/drawer.component.mjs +2 -2
- package/esm2020/drawer/drawer.module.mjs +2 -2
- package/esm2020/drawer/sheet.component.mjs +1 -1
- package/esm2020/dropdown-menu/dropdown-menu.component.mjs +3 -3
- package/esm2020/empty/empty.component.mjs +2 -2
- package/esm2020/empty/empty.module.mjs +3 -3
- package/esm2020/hover-card/hover-card.component.mjs +2 -2
- package/esm2020/input/input-group.component.mjs +1 -1
- package/esm2020/input/input-password.component.mjs +1 -1
- package/esm2020/input/input.module.mjs +2 -2
- package/esm2020/menubar/menubar.component.mjs +2 -2
- package/esm2020/native-select/native-select.component.mjs +1 -1
- package/esm2020/native-select/native-select.module.mjs +2 -2
- package/esm2020/pagination/pagination.component.mjs +3 -3
- package/esm2020/pagination/pagination.module.mjs +3 -3
- package/esm2020/popover/popover.component.mjs +2 -2
- package/esm2020/select/select.component.mjs +4 -4
- package/esm2020/select/select.module.mjs +2 -2
- package/esm2020/sonner/sonner.component.mjs +1 -1
- package/esm2020/sonner/sonner.module.mjs +2 -2
- package/esm2020/src/accordion/accordion.component.mjs +42 -0
- package/esm2020/src/accordion/accordion.module.mjs +21 -0
- package/esm2020/src/accordion/pdm-ui-kit-src-accordion.mjs +5 -0
- package/esm2020/src/accordion/public-api.mjs +3 -0
- package/esm2020/src/alert/alert-dialog.component.mjs +87 -0
- package/esm2020/src/alert/alert.component.mjs +35 -0
- package/esm2020/src/alert/alert.module.mjs +25 -0
- package/esm2020/src/alert/pdm-ui-kit-src-alert.mjs +5 -0
- package/esm2020/src/alert/public-api.mjs +4 -0
- package/esm2020/src/aspect-ratio/aspect-ratio.component.mjs +31 -0
- package/esm2020/src/aspect-ratio/aspect-ratio.module.mjs +21 -0
- package/esm2020/src/aspect-ratio/pdm-ui-kit-src-aspect-ratio.mjs +5 -0
- package/esm2020/src/aspect-ratio/public-api.mjs +3 -0
- package/esm2020/src/avatar/avatar.component.mjs +46 -0
- package/esm2020/src/avatar/avatar.module.mjs +21 -0
- package/esm2020/src/avatar/pdm-ui-kit-src-avatar.mjs +5 -0
- package/esm2020/src/avatar/public-api.mjs +3 -0
- package/esm2020/src/badge/badge.component.mjs +23 -0
- package/esm2020/src/badge/badge.module.mjs +21 -0
- package/esm2020/src/badge/pdm-ui-kit-src-badge.mjs +5 -0
- package/esm2020/src/badge/public-api.mjs +3 -0
- package/esm2020/src/breadcrumb/breadcrumb.component.mjs +62 -0
- package/esm2020/src/breadcrumb/breadcrumb.module.mjs +21 -0
- package/esm2020/src/breadcrumb/pdm-ui-kit-src-breadcrumb.mjs +5 -0
- package/esm2020/src/breadcrumb/public-api.mjs +3 -0
- package/esm2020/src/button/button-group.component.mjs +236 -0
- package/esm2020/src/button/button.component.mjs +114 -0
- package/esm2020/src/button/button.module.mjs +25 -0
- package/esm2020/src/button/pdm-ui-kit-src-button.mjs +5 -0
- package/esm2020/src/button/public-api.mjs +4 -0
- package/esm2020/src/calendar/calendar.component.mjs +529 -0
- package/esm2020/src/calendar/calendar.module.mjs +22 -0
- package/esm2020/src/calendar/date-picker.component.mjs +362 -0
- package/esm2020/src/calendar/pdm-ui-kit-src-calendar.mjs +5 -0
- package/esm2020/src/calendar/public-api.mjs +4 -0
- package/esm2020/src/card/card.component.mjs +48 -0
- package/esm2020/src/card/card.module.mjs +21 -0
- package/esm2020/src/card/pdm-ui-kit-src-card.mjs +5 -0
- package/esm2020/src/card/public-api.mjs +3 -0
- package/esm2020/src/carousel/carousel.component.mjs +102 -0
- package/esm2020/src/carousel/carousel.module.mjs +21 -0
- package/esm2020/src/carousel/pdm-ui-kit-src-carousel.mjs +5 -0
- package/esm2020/src/carousel/public-api.mjs +3 -0
- package/esm2020/src/chart/chart.component.mjs +177 -0
- package/esm2020/src/chart/chart.module.mjs +21 -0
- package/esm2020/src/chart/pdm-ui-kit-src-chart.mjs +5 -0
- package/esm2020/src/chart/public-api.mjs +3 -0
- package/esm2020/src/checkbox/checkbox.component.mjs +47 -0
- package/esm2020/src/checkbox/checkbox.module.mjs +21 -0
- package/esm2020/src/checkbox/pdm-ui-kit-src-checkbox.mjs +5 -0
- package/esm2020/src/checkbox/public-api.mjs +3 -0
- package/esm2020/src/collapsible/collapsible.component.mjs +43 -0
- package/esm2020/src/collapsible/collapsible.module.mjs +21 -0
- package/esm2020/src/collapsible/pdm-ui-kit-src-collapsible.mjs +5 -0
- package/esm2020/src/collapsible/public-api.mjs +3 -0
- package/esm2020/src/combobox/combobox.component.mjs +173 -0
- package/esm2020/src/combobox/combobox.module.mjs +22 -0
- package/esm2020/src/combobox/pdm-ui-kit-src-combobox.mjs +5 -0
- package/esm2020/src/combobox/public-api.mjs +3 -0
- package/esm2020/src/command/command.component.mjs +75 -0
- package/esm2020/src/command/command.module.mjs +20 -0
- package/esm2020/src/command/pdm-ui-kit-src-command.mjs +5 -0
- package/esm2020/src/command/public-api.mjs +3 -0
- package/esm2020/src/context-menu/context-menu.component.mjs +165 -0
- package/esm2020/src/context-menu/context-menu.module.mjs +22 -0
- package/esm2020/src/context-menu/pdm-ui-kit-src-context-menu.mjs +5 -0
- package/esm2020/src/context-menu/public-api.mjs +3 -0
- package/esm2020/src/data-table/data-table.component.mjs +299 -0
- package/esm2020/src/data-table/data-table.module.mjs +29 -0
- package/esm2020/src/data-table/draggable-table.component.mjs +300 -0
- package/esm2020/src/data-table/pdm-ui-kit-src-data-table.mjs +5 -0
- package/esm2020/src/data-table/public-api.mjs +5 -0
- package/esm2020/src/data-table/table.component.mjs +182 -0
- package/esm2020/src/dialog/dialog.component.mjs +265 -0
- package/esm2020/src/dialog/dialog.module.mjs +21 -0
- package/esm2020/src/dialog/pdm-ui-kit-src-dialog.mjs +5 -0
- package/esm2020/src/dialog/public-api.mjs +3 -0
- package/esm2020/src/drawer/drawer.component.mjs +217 -0
- package/esm2020/src/drawer/drawer.module.mjs +21 -0
- package/esm2020/src/drawer/pdm-ui-kit-src-drawer.mjs +5 -0
- package/esm2020/src/drawer/public-api.mjs +4 -0
- package/esm2020/src/drawer/sheet.component.mjs +116 -0
- package/esm2020/src/dropdown-menu/dropdown-menu.component.mjs +192 -0
- package/esm2020/src/dropdown-menu/dropdown-menu.module.mjs +22 -0
- package/esm2020/src/dropdown-menu/pdm-ui-kit-src-dropdown-menu.mjs +5 -0
- package/esm2020/src/dropdown-menu/public-api.mjs +3 -0
- package/esm2020/src/empty/empty.component.mjs +58 -0
- package/esm2020/src/empty/empty.module.mjs +21 -0
- package/esm2020/src/empty/pdm-ui-kit-src-empty.mjs +5 -0
- package/esm2020/src/empty/public-api.mjs +3 -0
- package/esm2020/src/field/field.component.mjs +64 -0
- package/esm2020/src/field/field.module.mjs +21 -0
- package/esm2020/src/field/pdm-ui-kit-src-field.mjs +5 -0
- package/esm2020/src/field/public-api.mjs +3 -0
- package/esm2020/src/hover-card/hover-card.component.mjs +205 -0
- package/esm2020/src/hover-card/hover-card.module.mjs +22 -0
- package/esm2020/src/hover-card/pdm-ui-kit-src-hover-card.mjs +5 -0
- package/esm2020/src/hover-card/public-api.mjs +3 -0
- package/esm2020/src/icon/icon.component.mjs +144 -0
- package/esm2020/src/icon/icon.module.mjs +21 -0
- package/esm2020/src/icon/pdm-ui-kit-src-icon.mjs +5 -0
- package/esm2020/src/icon/public-api.mjs +3 -0
- package/esm2020/src/input/input-group.component.mjs +63 -0
- package/esm2020/src/input/input-otp.component.mjs +144 -0
- package/esm2020/src/input/input-password.component.mjs +78 -0
- package/esm2020/src/input/input.component.mjs +71 -0
- package/esm2020/src/input/input.module.mjs +38 -0
- package/esm2020/src/input/pdm-ui-kit-src-input.mjs +5 -0
- package/esm2020/src/input/public-api.mjs +7 -0
- package/esm2020/src/input/textarea.component.mjs +59 -0
- package/esm2020/src/item/item.component.mjs +23 -0
- package/esm2020/src/item/item.module.mjs +21 -0
- package/esm2020/src/item/pdm-ui-kit-src-item.mjs +5 -0
- package/esm2020/src/item/public-api.mjs +3 -0
- package/esm2020/src/kbd/kbd.component.mjs +17 -0
- package/esm2020/src/kbd/kbd.module.mjs +21 -0
- package/esm2020/src/kbd/pdm-ui-kit-src-kbd.mjs +5 -0
- package/esm2020/src/kbd/public-api.mjs +3 -0
- package/esm2020/src/label/label.component.mjs +23 -0
- package/esm2020/src/label/label.module.mjs +21 -0
- package/esm2020/src/label/pdm-ui-kit-src-label.mjs +5 -0
- package/esm2020/src/label/public-api.mjs +3 -0
- package/esm2020/src/menubar/menubar.component.mjs +144 -0
- package/esm2020/src/menubar/menubar.module.mjs +22 -0
- package/esm2020/src/menubar/pdm-ui-kit-src-menubar.mjs +5 -0
- package/esm2020/src/menubar/public-api.mjs +3 -0
- package/esm2020/src/native-select/native-select.component.mjs +42 -0
- package/esm2020/src/native-select/native-select.module.mjs +20 -0
- package/esm2020/src/native-select/pdm-ui-kit-src-native-select.mjs +5 -0
- package/esm2020/src/native-select/public-api.mjs +3 -0
- package/esm2020/src/navigation-menu/navigation-menu.component.mjs +42 -0
- package/esm2020/src/navigation-menu/navigation-menu.module.mjs +21 -0
- package/esm2020/src/navigation-menu/pdm-ui-kit-src-navigation-menu.mjs +5 -0
- package/esm2020/src/navigation-menu/public-api.mjs +3 -0
- package/esm2020/src/overlay/create-flexible-position-strategy.mjs +54 -0
- package/esm2020/src/overlay/pdm-outside-click.directive.mjs +86 -0
- package/esm2020/src/overlay/pdm-outside-click.module.mjs +18 -0
- package/esm2020/src/overlay/pdm-overlay-options.mjs +2 -0
- package/esm2020/src/overlay/pdm-ui-kit-src-overlay.mjs +5 -0
- package/esm2020/src/overlay/public-api.mjs +6 -0
- package/esm2020/src/overlay/z-index-helper.mjs +69 -0
- package/esm2020/src/pagination/pagination.component.mjs +72 -0
- package/esm2020/src/pagination/pagination.module.mjs +21 -0
- package/esm2020/src/pagination/pdm-ui-kit-src-pagination.mjs +5 -0
- package/esm2020/src/pagination/public-api.mjs +3 -0
- package/esm2020/src/popover/pdm-ui-kit-src-popover.mjs +5 -0
- package/esm2020/src/popover/popover.component.mjs +162 -0
- package/esm2020/src/popover/popover.module.mjs +22 -0
- package/esm2020/src/popover/public-api.mjs +3 -0
- package/esm2020/src/progress/pdm-ui-kit-src-progress.mjs +5 -0
- package/esm2020/src/progress/progress.component.mjs +33 -0
- package/esm2020/src/progress/progress.module.mjs +21 -0
- package/esm2020/src/progress/public-api.mjs +3 -0
- package/esm2020/src/radio-group/pdm-ui-kit-src-radio-group.mjs +5 -0
- package/esm2020/src/radio-group/public-api.mjs +3 -0
- package/esm2020/src/radio-group/radio-group.component.mjs +38 -0
- package/esm2020/src/radio-group/radio-group.module.mjs +21 -0
- package/esm2020/src/scroll-area/pdm-ui-kit-src-scroll-area.mjs +5 -0
- package/esm2020/src/scroll-area/public-api.mjs +3 -0
- package/esm2020/src/scroll-area/scroll-area.component.mjs +20 -0
- package/esm2020/src/scroll-area/scroll-area.module.mjs +21 -0
- package/esm2020/src/select/pdm-ui-kit-src-select.mjs +5 -0
- package/esm2020/src/select/public-api.mjs +4 -0
- package/esm2020/src/select/select-option.directive.mjs +55 -0
- package/esm2020/src/select/select.component.mjs +164 -0
- package/esm2020/src/select/select.module.mjs +22 -0
- package/esm2020/src/separator/pdm-ui-kit-src-separator.mjs +5 -0
- package/esm2020/src/separator/public-api.mjs +3 -0
- package/esm2020/src/separator/separator.component.mjs +26 -0
- package/esm2020/src/separator/separator.module.mjs +21 -0
- package/esm2020/src/sidebar/pdm-ui-kit-src-sidebar.mjs +5 -0
- package/esm2020/src/sidebar/public-api.mjs +3 -0
- package/esm2020/src/sidebar/sidebar.component.mjs +67 -0
- package/esm2020/src/sidebar/sidebar.module.mjs +21 -0
- package/esm2020/src/skeleton/pdm-ui-kit-src-skeleton.mjs +5 -0
- package/esm2020/src/skeleton/public-api.mjs +3 -0
- package/esm2020/src/skeleton/skeleton.component.mjs +17 -0
- package/esm2020/src/skeleton/skeleton.module.mjs +21 -0
- package/esm2020/src/slider/pdm-ui-kit-src-slider.mjs +5 -0
- package/esm2020/src/slider/public-api.mjs +3 -0
- package/esm2020/src/slider/slider.component.mjs +46 -0
- package/esm2020/src/slider/slider.module.mjs +21 -0
- package/esm2020/src/sonner/pdm-ui-kit-src-sonner.mjs +5 -0
- package/esm2020/src/sonner/public-api.mjs +3 -0
- package/esm2020/src/sonner/sonner.component.mjs +39 -0
- package/esm2020/src/sonner/sonner.module.mjs +20 -0
- package/esm2020/src/spinner/pdm-ui-kit-src-spinner.mjs +5 -0
- package/esm2020/src/spinner/public-api.mjs +3 -0
- package/esm2020/src/spinner/spinner.component.mjs +20 -0
- package/esm2020/src/spinner/spinner.module.mjs +21 -0
- package/esm2020/src/switch/pdm-ui-kit-src-switch.mjs +5 -0
- package/esm2020/src/switch/public-api.mjs +3 -0
- package/esm2020/src/switch/switch.component.mjs +58 -0
- package/esm2020/src/switch/switch.module.mjs +21 -0
- package/esm2020/src/tabs/pdm-ui-kit-src-tabs.mjs +5 -0
- package/esm2020/src/tabs/public-api.mjs +3 -0
- package/esm2020/src/tabs/tabs.component.mjs +34 -0
- package/esm2020/src/tabs/tabs.module.mjs +21 -0
- package/esm2020/src/toggle/pdm-ui-kit-src-toggle.mjs +5 -0
- package/esm2020/src/toggle/public-api.mjs +4 -0
- package/esm2020/src/toggle/toggle-group.component.mjs +31 -0
- package/esm2020/src/toggle/toggle.component.mjs +41 -0
- package/esm2020/src/toggle/toggle.module.mjs +25 -0
- package/esm2020/src/tooltip/pdm-ui-kit-src-tooltip.mjs +5 -0
- package/esm2020/src/tooltip/public-api.mjs +3 -0
- package/esm2020/src/tooltip/tooltip.component.mjs +176 -0
- package/esm2020/src/tooltip/tooltip.module.mjs +22 -0
- package/esm2020/src/utils/pdm-ui-kit-src-utils.mjs +5 -0
- package/esm2020/src/utils/public-api.mjs +3 -0
- package/esm2020/src/utils/responsive.mjs +143 -0
- package/esm2020/src/utils/z-index.mjs +90 -0
- package/esm2020/tooltip/tooltip.component.mjs +2 -2
- package/fesm2015/pdm-ui-kit-src-accordion.mjs +68 -0
- package/fesm2015/pdm-ui-kit-src-accordion.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-alert.mjs +147 -0
- package/fesm2015/pdm-ui-kit-src-alert.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
- package/fesm2015/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-avatar.mjs +71 -0
- package/fesm2015/pdm-ui-kit-src-avatar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-badge.mjs +48 -0
- package/fesm2015/pdm-ui-kit-src-badge.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs +87 -0
- package/fesm2015/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-button.mjs +376 -0
- package/fesm2015/pdm-ui-kit-src-button.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-calendar.mjs +912 -0
- package/fesm2015/pdm-ui-kit-src-calendar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-card.mjs +73 -0
- package/fesm2015/pdm-ui-kit-src-card.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-carousel.mjs +127 -0
- package/fesm2015/pdm-ui-kit-src-carousel.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-chart.mjs +203 -0
- package/fesm2015/pdm-ui-kit-src-chart.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-checkbox.mjs +72 -0
- package/fesm2015/pdm-ui-kit-src-checkbox.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-collapsible.mjs +68 -0
- package/fesm2015/pdm-ui-kit-src-collapsible.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-combobox.mjs +200 -0
- package/fesm2015/pdm-ui-kit-src-combobox.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-command.mjs +100 -0
- package/fesm2015/pdm-ui-kit-src-command.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-context-menu.mjs +191 -0
- package/fesm2015/pdm-ui-kit-src-context-menu.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-data-table.mjs +806 -0
- package/fesm2015/pdm-ui-kit-src-data-table.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-dialog.mjs +289 -0
- package/fesm2015/pdm-ui-kit-src-dialog.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-drawer.mjs +354 -0
- package/fesm2015/pdm-ui-kit-src-drawer.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs +212 -0
- package/fesm2015/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-empty.mjs +83 -0
- package/fesm2015/pdm-ui-kit-src-empty.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-field.mjs +89 -0
- package/fesm2015/pdm-ui-kit-src-field.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-hover-card.mjs +231 -0
- package/fesm2015/pdm-ui-kit-src-hover-card.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-icon.mjs +172 -0
- package/fesm2015/pdm-ui-kit-src-icon.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-input.mjs +443 -0
- package/fesm2015/pdm-ui-kit-src-input.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-item.mjs +48 -0
- package/fesm2015/pdm-ui-kit-src-item.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-kbd.mjs +42 -0
- package/fesm2015/pdm-ui-kit-src-kbd.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-label.mjs +48 -0
- package/fesm2015/pdm-ui-kit-src-label.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-menubar.mjs +170 -0
- package/fesm2015/pdm-ui-kit-src-menubar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-native-select.mjs +66 -0
- package/fesm2015/pdm-ui-kit-src-native-select.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs +67 -0
- package/fesm2015/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-overlay.mjs +225 -0
- package/fesm2015/pdm-ui-kit-src-overlay.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-pagination.mjs +97 -0
- package/fesm2015/pdm-ui-kit-src-pagination.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-popover.mjs +189 -0
- package/fesm2015/pdm-ui-kit-src-popover.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-progress.mjs +58 -0
- package/fesm2015/pdm-ui-kit-src-progress.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-radio-group.mjs +63 -0
- package/fesm2015/pdm-ui-kit-src-radio-group.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-scroll-area.mjs +45 -0
- package/fesm2015/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-select.mjs +238 -0
- package/fesm2015/pdm-ui-kit-src-select.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-separator.mjs +51 -0
- package/fesm2015/pdm-ui-kit-src-separator.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-sidebar.mjs +92 -0
- package/fesm2015/pdm-ui-kit-src-sidebar.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-skeleton.mjs +42 -0
- package/fesm2015/pdm-ui-kit-src-skeleton.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-slider.mjs +71 -0
- package/fesm2015/pdm-ui-kit-src-slider.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-sonner.mjs +63 -0
- package/fesm2015/pdm-ui-kit-src-sonner.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-spinner.mjs +45 -0
- package/fesm2015/pdm-ui-kit-src-spinner.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-switch.mjs +83 -0
- package/fesm2015/pdm-ui-kit-src-switch.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-tabs.mjs +59 -0
- package/fesm2015/pdm-ui-kit-src-tabs.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-toggle.mjs +97 -0
- package/fesm2015/pdm-ui-kit-src-toggle.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-tooltip.mjs +202 -0
- package/fesm2015/pdm-ui-kit-src-tooltip.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit-src-utils.mjs +239 -0
- package/fesm2015/pdm-ui-kit-src-utils.mjs.map +1 -0
- package/fesm2015/pdm-ui-kit.mjs +1019 -1009
- package/fesm2015/pdm-ui-kit.mjs.map +1 -1
- package/fesm2020/pdm-ui-kit-src-accordion.mjs +67 -0
- package/fesm2020/pdm-ui-kit-src-accordion.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-alert.mjs +147 -0
- package/fesm2020/pdm-ui-kit-src-alert.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs +56 -0
- package/fesm2020/pdm-ui-kit-src-aspect-ratio.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-avatar.mjs +71 -0
- package/fesm2020/pdm-ui-kit-src-avatar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-badge.mjs +48 -0
- package/fesm2020/pdm-ui-kit-src-badge.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs +87 -0
- package/fesm2020/pdm-ui-kit-src-breadcrumb.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-button.mjs +375 -0
- package/fesm2020/pdm-ui-kit-src-button.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-calendar.mjs +911 -0
- package/fesm2020/pdm-ui-kit-src-calendar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-card.mjs +73 -0
- package/fesm2020/pdm-ui-kit-src-card.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-carousel.mjs +127 -0
- package/fesm2020/pdm-ui-kit-src-carousel.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-chart.mjs +202 -0
- package/fesm2020/pdm-ui-kit-src-chart.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-checkbox.mjs +72 -0
- package/fesm2020/pdm-ui-kit-src-checkbox.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-collapsible.mjs +68 -0
- package/fesm2020/pdm-ui-kit-src-collapsible.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-combobox.mjs +199 -0
- package/fesm2020/pdm-ui-kit-src-combobox.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-command.mjs +99 -0
- package/fesm2020/pdm-ui-kit-src-command.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-context-menu.mjs +191 -0
- package/fesm2020/pdm-ui-kit-src-context-menu.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-data-table.mjs +805 -0
- package/fesm2020/pdm-ui-kit-src-data-table.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-dialog.mjs +289 -0
- package/fesm2020/pdm-ui-kit-src-dialog.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-drawer.mjs +354 -0
- package/fesm2020/pdm-ui-kit-src-drawer.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs +218 -0
- package/fesm2020/pdm-ui-kit-src-dropdown-menu.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-empty.mjs +83 -0
- package/fesm2020/pdm-ui-kit-src-empty.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-field.mjs +89 -0
- package/fesm2020/pdm-ui-kit-src-field.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-hover-card.mjs +231 -0
- package/fesm2020/pdm-ui-kit-src-hover-card.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-icon.mjs +169 -0
- package/fesm2020/pdm-ui-kit-src-icon.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-input.mjs +441 -0
- package/fesm2020/pdm-ui-kit-src-input.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-item.mjs +48 -0
- package/fesm2020/pdm-ui-kit-src-item.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-kbd.mjs +42 -0
- package/fesm2020/pdm-ui-kit-src-kbd.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-label.mjs +48 -0
- package/fesm2020/pdm-ui-kit-src-label.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-menubar.mjs +170 -0
- package/fesm2020/pdm-ui-kit-src-menubar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-native-select.mjs +66 -0
- package/fesm2020/pdm-ui-kit-src-native-select.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs +67 -0
- package/fesm2020/pdm-ui-kit-src-navigation-menu.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-overlay.mjs +229 -0
- package/fesm2020/pdm-ui-kit-src-overlay.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-pagination.mjs +97 -0
- package/fesm2020/pdm-ui-kit-src-pagination.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-popover.mjs +188 -0
- package/fesm2020/pdm-ui-kit-src-popover.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-progress.mjs +58 -0
- package/fesm2020/pdm-ui-kit-src-progress.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-radio-group.mjs +63 -0
- package/fesm2020/pdm-ui-kit-src-radio-group.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-scroll-area.mjs +45 -0
- package/fesm2020/pdm-ui-kit-src-scroll-area.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-select.mjs +241 -0
- package/fesm2020/pdm-ui-kit-src-select.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-separator.mjs +51 -0
- package/fesm2020/pdm-ui-kit-src-separator.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-sidebar.mjs +92 -0
- package/fesm2020/pdm-ui-kit-src-sidebar.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-skeleton.mjs +42 -0
- package/fesm2020/pdm-ui-kit-src-skeleton.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-slider.mjs +71 -0
- package/fesm2020/pdm-ui-kit-src-slider.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-sonner.mjs +63 -0
- package/fesm2020/pdm-ui-kit-src-sonner.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-spinner.mjs +45 -0
- package/fesm2020/pdm-ui-kit-src-spinner.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-switch.mjs +83 -0
- package/fesm2020/pdm-ui-kit-src-switch.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-tabs.mjs +59 -0
- package/fesm2020/pdm-ui-kit-src-tabs.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-toggle.mjs +97 -0
- package/fesm2020/pdm-ui-kit-src-toggle.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-tooltip.mjs +202 -0
- package/fesm2020/pdm-ui-kit-src-tooltip.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit-src-utils.mjs +239 -0
- package/fesm2020/pdm-ui-kit-src-utils.mjs.map +1 -0
- package/fesm2020/pdm-ui-kit.mjs +1022 -1012
- package/fesm2020/pdm-ui-kit.mjs.map +1 -1
- package/input/input-password.component.d.ts +1 -1
- package/input/input.module.d.ts +1 -1
- package/menubar/menubar.component.d.ts +1 -1
- package/native-select/native-select.module.d.ts +1 -1
- package/package.json +703 -115
- package/pagination/pagination.component.d.ts +1 -1
- package/pagination/pagination.module.d.ts +2 -2
- package/select/select.component.d.ts +1 -1
- package/select/select.module.d.ts +1 -1
- package/sonner/sonner.module.d.ts +1 -1
- package/src/accordion/accordion.component.d.ts +19 -0
- package/src/accordion/accordion.module.d.ts +8 -0
- package/src/accordion/index.d.ts +5 -0
- package/src/accordion/public-api.d.ts +2 -0
- package/src/alert/alert-dialog.component.d.ts +29 -0
- package/src/alert/alert.component.d.ts +13 -0
- package/src/alert/alert.module.d.ts +9 -0
- package/src/alert/index.d.ts +5 -0
- package/src/alert/public-api.d.ts +3 -0
- package/src/aspect-ratio/aspect-ratio.component.d.ts +10 -0
- package/src/aspect-ratio/aspect-ratio.module.d.ts +8 -0
- package/src/aspect-ratio/index.d.ts +5 -0
- package/src/aspect-ratio/public-api.d.ts +2 -0
- package/src/avatar/avatar.component.d.ts +20 -0
- package/src/avatar/avatar.module.d.ts +8 -0
- package/src/avatar/index.d.ts +5 -0
- package/src/avatar/public-api.d.ts +2 -0
- package/src/badge/badge.component.d.ts +9 -0
- package/src/badge/badge.module.d.ts +8 -0
- package/src/badge/index.d.ts +5 -0
- package/src/badge/public-api.d.ts +2 -0
- package/src/breadcrumb/breadcrumb.component.d.ts +32 -0
- package/src/breadcrumb/breadcrumb.module.d.ts +8 -0
- package/src/breadcrumb/index.d.ts +5 -0
- package/src/breadcrumb/public-api.d.ts +2 -0
- package/src/button/button-group.component.d.ts +19 -0
- package/src/button/button.component.d.ts +29 -0
- package/src/button/button.module.d.ts +9 -0
- package/src/button/index.d.ts +5 -0
- package/src/button/public-api.d.ts +3 -0
- package/src/calendar/calendar.component.d.ts +149 -0
- package/src/calendar/calendar.module.d.ts +11 -0
- package/src/calendar/date-picker.component.d.ts +89 -0
- package/src/calendar/index.d.ts +5 -0
- package/src/calendar/public-api.d.ts +3 -0
- package/src/card/card.component.d.ts +37 -0
- package/src/card/card.module.d.ts +8 -0
- package/src/card/index.d.ts +5 -0
- package/src/card/public-api.d.ts +2 -0
- package/src/carousel/carousel.component.d.ts +28 -0
- package/src/carousel/carousel.module.d.ts +8 -0
- package/src/carousel/index.d.ts +5 -0
- package/src/carousel/public-api.d.ts +2 -0
- package/src/chart/chart.component.d.ts +44 -0
- package/src/chart/chart.module.d.ts +8 -0
- package/src/chart/index.d.ts +5 -0
- package/src/chart/public-api.d.ts +2 -0
- package/src/checkbox/checkbox.component.d.ts +17 -0
- package/src/checkbox/checkbox.module.d.ts +8 -0
- package/src/checkbox/index.d.ts +5 -0
- package/src/checkbox/public-api.d.ts +2 -0
- package/src/collapsible/collapsible.component.d.ts +14 -0
- package/src/collapsible/collapsible.module.d.ts +8 -0
- package/src/collapsible/index.d.ts +5 -0
- package/src/collapsible/public-api.d.ts +2 -0
- package/src/combobox/combobox.component.d.ts +35 -0
- package/src/combobox/combobox.module.d.ts +9 -0
- package/src/combobox/index.d.ts +5 -0
- package/src/combobox/public-api.d.ts +2 -0
- package/src/command/command.component.d.ts +33 -0
- package/src/command/command.module.d.ts +9 -0
- package/src/command/index.d.ts +5 -0
- package/src/command/public-api.d.ts +2 -0
- package/src/context-menu/context-menu.component.d.ts +38 -0
- package/src/context-menu/context-menu.module.d.ts +9 -0
- package/src/context-menu/index.d.ts +5 -0
- package/src/context-menu/public-api.d.ts +2 -0
- package/src/data-table/data-table.component.d.ts +200 -0
- package/src/data-table/data-table.module.d.ts +10 -0
- package/src/data-table/draggable-table.component.d.ts +74 -0
- package/src/data-table/index.d.ts +5 -0
- package/src/data-table/public-api.d.ts +4 -0
- package/src/data-table/table.component.d.ts +55 -0
- package/src/dialog/dialog.component.d.ts +72 -0
- package/src/dialog/dialog.module.d.ts +8 -0
- package/src/dialog/index.d.ts +5 -0
- package/src/dialog/public-api.d.ts +2 -0
- package/src/drawer/drawer.component.d.ts +96 -0
- package/src/drawer/drawer.module.d.ts +10 -0
- package/src/drawer/index.d.ts +5 -0
- package/src/drawer/public-api.d.ts +3 -0
- package/src/drawer/sheet.component.d.ts +46 -0
- package/src/dropdown-menu/dropdown-menu.component.d.ts +61 -0
- package/src/dropdown-menu/dropdown-menu.module.d.ts +9 -0
- package/src/dropdown-menu/index.d.ts +5 -0
- package/src/dropdown-menu/public-api.d.ts +2 -0
- package/src/empty/empty.component.d.ts +19 -0
- package/src/empty/empty.module.d.ts +10 -0
- package/src/empty/index.d.ts +5 -0
- package/src/empty/public-api.d.ts +2 -0
- package/src/field/field.component.d.ts +23 -0
- package/src/field/field.module.d.ts +8 -0
- package/src/field/index.d.ts +5 -0
- package/src/field/public-api.d.ts +2 -0
- package/src/hover-card/hover-card.component.d.ts +37 -0
- package/src/hover-card/hover-card.module.d.ts +9 -0
- package/src/hover-card/index.d.ts +5 -0
- package/src/hover-card/public-api.d.ts +2 -0
- package/src/icon/icon.component.d.ts +28 -0
- package/src/icon/icon.module.d.ts +8 -0
- package/src/icon/index.d.ts +5 -0
- package/src/icon/public-api.d.ts +2 -0
- package/src/input/index.d.ts +5 -0
- package/src/input/input-group.component.d.ts +22 -0
- package/src/input/input-otp.component.d.ts +26 -0
- package/src/input/input-password.component.d.ts +28 -0
- package/src/input/input.component.d.ts +27 -0
- package/src/input/input.module.d.ts +13 -0
- package/src/input/public-api.d.ts +6 -0
- package/src/input/textarea.component.d.ts +21 -0
- package/src/item/index.d.ts +5 -0
- package/src/item/item.component.d.ts +8 -0
- package/src/item/item.module.d.ts +8 -0
- package/src/item/public-api.d.ts +2 -0
- package/src/kbd/index.d.ts +5 -0
- package/src/kbd/kbd.component.d.ts +6 -0
- package/src/kbd/kbd.module.d.ts +8 -0
- package/src/kbd/public-api.d.ts +2 -0
- package/src/label/index.d.ts +5 -0
- package/src/label/label.component.d.ts +8 -0
- package/src/label/label.module.d.ts +8 -0
- package/src/label/public-api.d.ts +2 -0
- package/src/menubar/index.d.ts +5 -0
- package/src/menubar/menubar.component.d.ts +34 -0
- package/src/menubar/menubar.module.d.ts +9 -0
- package/src/menubar/public-api.d.ts +2 -0
- package/src/native-select/index.d.ts +5 -0
- package/src/native-select/native-select.component.d.ts +20 -0
- package/src/native-select/native-select.module.d.ts +9 -0
- package/src/native-select/public-api.d.ts +2 -0
- package/src/navigation-menu/index.d.ts +5 -0
- package/src/navigation-menu/navigation-menu.component.d.ts +33 -0
- package/src/navigation-menu/navigation-menu.module.d.ts +8 -0
- package/src/navigation-menu/public-api.d.ts +2 -0
- package/src/overlay/create-flexible-position-strategy.d.ts +15 -0
- package/src/overlay/index.d.ts +5 -0
- package/src/overlay/pdm-outside-click.directive.d.ts +40 -0
- package/src/overlay/pdm-outside-click.module.d.ts +8 -0
- package/src/overlay/pdm-overlay-options.d.ts +21 -0
- package/src/overlay/public-api.d.ts +5 -0
- package/src/overlay/z-index-helper.d.ts +36 -0
- package/src/pagination/index.d.ts +5 -0
- package/src/pagination/pagination.component.d.ts +21 -0
- package/src/pagination/pagination.module.d.ts +10 -0
- package/src/pagination/public-api.d.ts +2 -0
- package/src/popover/index.d.ts +5 -0
- package/src/popover/popover.component.d.ts +32 -0
- package/src/popover/popover.module.d.ts +9 -0
- package/src/popover/public-api.d.ts +2 -0
- package/src/progress/index.d.ts +5 -0
- package/src/progress/progress.component.d.ts +10 -0
- package/src/progress/progress.module.d.ts +8 -0
- package/src/progress/public-api.d.ts +2 -0
- package/src/radio-group/index.d.ts +5 -0
- package/src/radio-group/public-api.d.ts +2 -0
- package/src/radio-group/radio-group.component.d.ts +19 -0
- package/src/radio-group/radio-group.module.d.ts +8 -0
- package/src/scroll-area/index.d.ts +5 -0
- package/src/scroll-area/public-api.d.ts +2 -0
- package/src/scroll-area/scroll-area.component.d.ts +7 -0
- package/src/scroll-area/scroll-area.module.d.ts +8 -0
- package/src/select/index.d.ts +5 -0
- package/src/select/public-api.d.ts +3 -0
- package/src/select/select-option.directive.d.ts +34 -0
- package/src/select/select.component.d.ts +55 -0
- package/src/select/select.module.d.ts +11 -0
- package/src/separator/index.d.ts +5 -0
- package/src/separator/public-api.d.ts +2 -0
- package/src/separator/separator.component.d.ts +9 -0
- package/src/separator/separator.module.d.ts +8 -0
- package/src/sidebar/index.d.ts +5 -0
- package/src/sidebar/public-api.d.ts +2 -0
- package/src/sidebar/sidebar.component.d.ts +45 -0
- package/src/sidebar/sidebar.module.d.ts +8 -0
- package/src/skeleton/index.d.ts +5 -0
- package/src/skeleton/public-api.d.ts +2 -0
- package/src/skeleton/skeleton.component.d.ts +6 -0
- package/src/skeleton/skeleton.module.d.ts +8 -0
- package/src/slider/index.d.ts +5 -0
- package/src/slider/public-api.d.ts +2 -0
- package/src/slider/slider.component.d.ts +15 -0
- package/src/slider/slider.module.d.ts +8 -0
- package/src/sonner/index.d.ts +5 -0
- package/src/sonner/public-api.d.ts +2 -0
- package/src/sonner/sonner.component.d.ts +13 -0
- package/src/sonner/sonner.module.d.ts +9 -0
- package/src/spinner/index.d.ts +5 -0
- package/src/spinner/public-api.d.ts +2 -0
- package/src/spinner/spinner.component.d.ts +7 -0
- package/src/spinner/spinner.module.d.ts +8 -0
- package/src/switch/index.d.ts +5 -0
- package/src/switch/public-api.d.ts +2 -0
- package/src/switch/switch.component.d.ts +18 -0
- package/src/switch/switch.module.d.ts +8 -0
- package/src/tabs/index.d.ts +5 -0
- package/src/tabs/public-api.d.ts +2 -0
- package/src/tabs/tabs.component.d.ts +18 -0
- package/src/tabs/tabs.module.d.ts +8 -0
- package/src/toggle/index.d.ts +5 -0
- package/src/toggle/public-api.d.ts +3 -0
- package/src/toggle/toggle-group.component.d.ts +16 -0
- package/src/toggle/toggle.component.d.ts +14 -0
- package/src/toggle/toggle.module.d.ts +9 -0
- package/src/tooltip/index.d.ts +5 -0
- package/src/tooltip/public-api.d.ts +2 -0
- package/src/tooltip/tooltip.component.d.ts +28 -0
- package/src/tooltip/tooltip.module.d.ts +9 -0
- package/src/utils/index.d.ts +5 -0
- package/src/utils/public-api.d.ts +2 -0
- package/src/utils/responsive.d.ts +107 -0
- package/src/utils/z-index.d.ts +69 -0
- package/accordion/index.d.ts +0 -2
- package/accordion/index.mjs +0 -2
- package/alert/index.d.ts +0 -3
- package/alert/index.mjs +0 -3
- package/aspect-ratio/index.d.ts +0 -2
- package/aspect-ratio/index.mjs +0 -2
- package/avatar/index.d.ts +0 -2
- package/avatar/index.mjs +0 -2
- package/badge/index.d.ts +0 -2
- package/badge/index.mjs +0 -2
- package/breadcrumb/index.d.ts +0 -2
- package/breadcrumb/index.mjs +0 -2
- package/button/index.d.ts +0 -3
- package/button/index.mjs +0 -3
- package/calendar/index.d.ts +0 -3
- package/calendar/index.mjs +0 -3
- package/card/index.d.ts +0 -2
- package/card/index.mjs +0 -2
- package/carousel/index.d.ts +0 -2
- package/carousel/index.mjs +0 -2
- package/chart/index.d.ts +0 -2
- package/chart/index.mjs +0 -2
- package/checkbox/index.d.ts +0 -2
- package/checkbox/index.mjs +0 -2
- package/collapsible/index.d.ts +0 -2
- package/collapsible/index.mjs +0 -2
- package/combobox/index.d.ts +0 -2
- package/combobox/index.mjs +0 -2
- package/command/index.d.ts +0 -2
- package/command/index.mjs +0 -2
- package/context-menu/index.d.ts +0 -2
- package/context-menu/index.mjs +0 -2
- package/data-table/index.d.ts +0 -4
- package/data-table/index.mjs +0 -4
- package/dialog/index.d.ts +0 -2
- package/dialog/index.mjs +0 -2
- package/drawer/index.d.ts +0 -3
- package/drawer/index.mjs +0 -3
- package/dropdown-menu/index.d.ts +0 -2
- package/dropdown-menu/index.mjs +0 -2
- package/empty/index.d.ts +0 -2
- package/empty/index.mjs +0 -2
- package/field/index.d.ts +0 -2
- package/field/index.mjs +0 -2
- package/hover-card/index.d.ts +0 -2
- package/hover-card/index.mjs +0 -2
- package/icon/index.d.ts +0 -2
- package/icon/index.mjs +0 -2
- package/input/index.d.ts +0 -6
- package/input/index.mjs +0 -6
- package/item/index.d.ts +0 -2
- package/item/index.mjs +0 -2
- package/kbd/index.d.ts +0 -2
- package/kbd/index.mjs +0 -2
- package/label/index.d.ts +0 -2
- package/label/index.mjs +0 -2
- package/menubar/index.d.ts +0 -2
- package/menubar/index.mjs +0 -2
- package/native-select/index.d.ts +0 -2
- package/native-select/index.mjs +0 -2
- package/navigation-menu/index.d.ts +0 -2
- package/navigation-menu/index.mjs +0 -2
- package/overlay/index.d.ts +0 -8
- package/overlay/index.mjs +0 -8
- package/pagination/index.d.ts +0 -2
- package/pagination/index.mjs +0 -2
- package/popover/index.d.ts +0 -2
- package/popover/index.mjs +0 -2
- package/progress/index.d.ts +0 -2
- package/progress/index.mjs +0 -2
- package/radio-group/index.d.ts +0 -2
- package/radio-group/index.mjs +0 -2
- package/scroll-area/index.d.ts +0 -2
- package/scroll-area/index.mjs +0 -2
- package/select/index.d.ts +0 -3
- package/select/index.mjs +0 -3
- package/separator/index.d.ts +0 -2
- package/separator/index.mjs +0 -2
- package/sidebar/index.d.ts +0 -2
- package/sidebar/index.mjs +0 -2
- package/skeleton/index.d.ts +0 -2
- package/skeleton/index.mjs +0 -2
- package/slider/index.d.ts +0 -2
- package/slider/index.mjs +0 -2
- package/sonner/index.d.ts +0 -2
- package/sonner/index.mjs +0 -2
- package/spinner/index.d.ts +0 -2
- package/spinner/index.mjs +0 -2
- package/switch/index.d.ts +0 -2
- package/switch/index.mjs +0 -2
- package/tabs/index.d.ts +0 -2
- package/tabs/index.mjs +0 -2
- package/toggle/index.d.ts +0 -3
- package/toggle/index.mjs +0 -3
- package/tooltip/index.d.ts +0 -2
- package/tooltip/index.mjs +0 -2
- package/utils/index.d.ts +0 -3
- package/utils/index.mjs +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdm-ui-kit-src-data-table.mjs","sources":["../../../src/data-table/table.component.ts","../../../src/data-table/table.component.html","../../../src/data-table/data-table.component.ts","../../../src/data-table/data-table.component.html","../../../src/data-table/draggable-table.component.ts","../../../src/data-table/draggable-table.component.html","../../../src/data-table/data-table.module.ts","../../../src/data-table/pdm-ui-kit-src-data-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nimport {\n\ttype TableResponsiveStrategy,\n\tTABLE_RESPONSIVE,\n} from \"pdm-ui-kit/src/utils\";\n\nexport type PdmTableVariant = \"default\" | \"data\" | \"interactive\";\n\n/**\n * Componente base de tabla con soporte responsive\n *\n * SIMPLIFICADO: Ya no incluye drag & drop (usar pdm-draggable-table para eso)\n *\n * @example\n * // Tabla simple con scroll horizontal\n * <pdm-table variant=\"default\">\n * <thead><tr><th>Name</th><th>Email</th></tr></thead>\n * <tbody><tr><td>John</td><td>john@example.com</td></tr></tbody>\n * </pdm-table>\n *\n * @example\n * // Tabla interactiva con wrap en mobile\n * <pdm-table variant=\"interactive\" responsiveStrategy=\"wrap\">\n * ...\n * </pdm-table>\n */\n@Component({\n\tselector: \"pdm-table\",\n\ttemplateUrl: \"./table.component.html\",\n\tstyles: [\":host { display: block; }\"],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PdmTableComponent {\n\t/**\n\t * Variante visual de la tabla\n\t * - default: tabla básica sin estilos extra\n\t * - data: tabla con bordes y espaciado para data\n\t * - interactive: tabla con hover, sticky header y estilos interactivos\n\t */\n\t@Input() variant: PdmTableVariant = \"default\";\n\n\t/**\n\t * Estrategia responsive para la tabla\n\t * - scroll: scroll horizontal en mobile (default, más simple)\n\t * - wrap: permite que el contenido haga wrap\n\t * - stack: convierte filas en cards en mobile (requiere data-label en celdas)\n\t * - collapse: oculta columnas menos importantes en mobile\n\t */\n\t@Input() responsiveStrategy: TableResponsiveStrategy = \"scroll\";\n\n\t/**\n\t * Clases CSS adicionales para el wrapper\n\t */\n\t@Input() className = \"\";\n\n\t/**\n\t * Si es true, aplica padding negativo en mobile para scroll edge-to-edge\n\t * Útil cuando la tabla está dentro de un container con padding\n\t */\n\t@Input() fullBleed = false;\n\n\tget wrapperClasses(): string[] {\n\t\tconst baseClasses = [\"relative\", \"w-full\"];\n\t\tconst strategyClasses = this.getResponsiveStrategyClasses();\n\t\tconst variantClasses = this.getVariantWrapperClasses();\n\n\t\t// Full bleed: scroll edge-to-edge en mobile\n\t\tif (this.fullBleed && this.responsiveStrategy === \"scroll\") {\n\t\t\tbaseClasses.push(\"-mx-4\", \"px-4\", \"sm:mx-0\", \"sm:px-0\");\n\t\t}\n\n\t\treturn [\n\t\t\t...baseClasses,\n\t\t\t...strategyClasses,\n\t\t\t...variantClasses,\n\t\t\tthis.className,\n\t\t].filter(Boolean);\n\t}\n\n\tget tableClasses(): string[] {\n\t\tconst baseClasses = [\"w-full\", \"caption-bottom\", \"text-sm\"];\n\t\tconst variantClasses = this.getVariantTableClasses();\n\t\tconst cellClasses = this.getCellClasses();\n\n\t\treturn [...baseClasses, ...variantClasses, ...cellClasses].filter(Boolean);\n\t}\n\n\tprivate getResponsiveStrategyClasses(): string[] {\n\t\tconst strategy = TABLE_RESPONSIVE[this.responsiveStrategy];\n\n\t\tif (this.responsiveStrategy === \"scroll\") {\n\t\t\treturn [\"overflow-x-auto\"];\n\t\t}\n\n\t\tif (this.responsiveStrategy === \"wrap\") {\n\t\t\treturn [\"overflow-x-auto\"];\n\t\t}\n\n\t\tif (this.responsiveStrategy === \"stack\") {\n\t\t\t// Stack requiere lógica en el template, aquí solo el wrapper\n\t\t\treturn [];\n\t\t}\n\n\t\tif (this.responsiveStrategy === \"collapse\") {\n\t\t\treturn [\"overflow-x-auto\"];\n\t\t}\n\n\t\treturn [\"overflow-auto\"];\n\t}\n\n\tprivate getVariantWrapperClasses(): string[] {\n\t\tif (this.variant === \"interactive\") {\n\t\t\treturn [\"rounded-xl\", \"border border-solid\", \"border-border\", \"bg-background\"];\n\t\t}\n\n\t\tif (this.variant === \"data\") {\n\t\t\treturn [\"rounded-md\", \"border border-solid\", \"border-border\", \"bg-background\"];\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tprivate getVariantTableClasses(): string[] {\n\t\tif (this.variant === \"data\") {\n\t\t\treturn [\n\t\t\t\t\"border-collapse\",\n\t\t\t\t\"text-foreground\",\n\t\t\t\t\"[&_thead_tr]:border-b\",\n\t\t\t\t\"[&_thead_tr]:border-border\",\n\t\t\t\t\"[&_tbody_tr]:border-b\",\n\t\t\t\t\"[&_tbody_tr]:border-border\",\n\t\t\t\t\"[&_tbody_tr:last-child]:border-b-0\",\n\t\t\t\t\"[&_th]:h-10\",\n\t\t\t\t\"[&_th]:px-2\",\n\t\t\t\t\"[&_th]:text-left\",\n\t\t\t\t\"[&_th]:align-middle\",\n\t\t\t\t\"[&_th]:font-medium\",\n\t\t\t\t\"[&_td]:p-2\",\n\t\t\t\t\"[&_td]:align-middle\",\n\t\t\t];\n\t\t}\n\n\t\tif (this.variant === \"interactive\") {\n\t\t\treturn [\n\t\t\t\t\"text-foreground\",\n\t\t\t\t\"[&_thead]:sticky\",\n\t\t\t\t\"[&_thead]:top-0\",\n\t\t\t\t\"[&_thead]:z-10\",\n\t\t\t\t\"[&_thead]:bg-muted/70\",\n\t\t\t\t\"[&_thead_tr]:border-b\",\n\t\t\t\t\"[&_thead_tr]:border-border\",\n\t\t\t\t\"[&_th]:h-12\",\n\t\t\t\t\"[&_th]:px-4\",\n\t\t\t\t\"[&_th]:text-left\",\n\t\t\t\t\"[&_th]:align-middle\",\n\t\t\t\t\"[&_th]:text-sm\",\n\t\t\t\t\"[&_th]:font-medium\",\n\t\t\t\t\"[&_tbody_tr]:border-b\",\n\t\t\t\t\"[&_tbody_tr]:border-border\",\n\t\t\t\t\"[&_tbody_tr]:transition-colors\",\n\t\t\t\t\"[&_tbody_tr:hover]:bg-muted/50\",\n\t\t\t\t\"[&_tbody_tr:last-child]:border-b-0\",\n\t\t\t\t\"[&_td]:h-14\",\n\t\t\t\t\"[&_td]:px-4\",\n\t\t\t\t\"[&_td]:align-middle\",\n\t\t\t\t\"[&_td]:text-sm\",\n\t\t\t\t\"[&_svg]:text-muted-foreground\",\n\t\t\t];\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tprivate getCellClasses(): string[] {\n\t\t// Manejo responsive de whitespace\n\t\tif (this.responsiveStrategy === \"scroll\") {\n\t\t\t// En scroll, permitir wrap en mobile, nowrap en desktop\n\t\t\treturn [\n\t\t\t\t\"[&_td]:whitespace-normal\",\n\t\t\t\t\"[&_th]:whitespace-normal\",\n\t\t\t\t\"sm:[&_td]:whitespace-nowrap\",\n\t\t\t\t\"sm:[&_th]:whitespace-nowrap\",\n\t\t\t];\n\t\t}\n\n\t\tif (this.responsiveStrategy === \"wrap\") {\n\t\t\t// En wrap, siempre permitir wrap\n\t\t\treturn [\n\t\t\t\t\"[&_td]:whitespace-normal\",\n\t\t\t\t\"[&_td]:break-words\",\n\t\t\t\t\"[&_th]:whitespace-normal\",\n\t\t\t];\n\t\t}\n\n\t\t// Default: nowrap (comportamiento anterior para backward compatibility)\n\t\treturn [];\n\t}\n}\n","<div [ngClass]=\"wrapperClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table-container' : null\">\n <table #tableElement [ngClass]=\"tableClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table' : null\">\n <ng-content></ng-content>\n </table>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { TableResponsiveStrategy } from 'pdm-ui-kit/src/utils';\n\n/**\n * DEPRECATED: Esta interfaz es para backward compatibility\n * Usar PdmDataTableColumn<T> con tipo genérico en su lugar\n */\nexport interface PdmDataTableRow {\n id: string;\n status: string;\n email: string;\n amount: string;\n selected?: boolean;\n}\n\n/**\n * Definición de columna para data-table genérico\n */\nexport interface PdmDataTableColumn<T = any> {\n /**\n * Key del campo en el objeto de datos\n * Usado para acceder al valor: row[key]\n */\n key: keyof T;\n \n /**\n * Label a mostrar en el header\n */\n label: string;\n \n /**\n * Ancho de la columna (CSS width)\n * Ej: '100px', '20%', 'auto'\n */\n width?: string;\n \n /**\n * Si la columna es sortable\n */\n sortable?: boolean;\n \n /**\n * Alineación del contenido\n */\n align?: 'left' | 'center' | 'right';\n \n /**\n * Función custom para renderizar el valor\n * Si no se provee, se usa toString() del valor\n */\n render?: (value: any, row: T) => string;\n \n /**\n * Template personalizado para la celda\n * Tiene prioridad sobre render()\n */\n cellTemplate?: TemplateRef<{ $implicit: T; value: any }>;\n \n /**\n * Si es true, la columna se oculta en mobile\n * Solo se muestra en breakpoint md+ (768px)\n */\n hideOnMobile?: boolean;\n \n /**\n * CSS classes adicionales para las celdas de esta columna\n */\n cellClass?: string;\n \n /**\n * CSS classes adicionales para el header de esta columna\n */\n headerClass?: string;\n}\n\n/**\n * Data-table genérico con paginación, filtrado y selección\n * \n * NUEVO: Ahora es genérico y configurable via columnas\n * \n * @example\n * // Definir columnas\n * columns: PdmDataTableColumn<User>[] = [\n * { key: 'name', label: 'Name', sortable: true },\n * { key: 'email', label: 'Email', sortable: true },\n * { key: 'role', label: 'Role', hideOnMobile: true },\n * { key: 'createdAt', label: 'Created', render: (val) => formatDate(val) }\n * ];\n * \n * // En el template\n * <pdm-data-table\n * [columns]=\"columns\"\n * [rows]=\"users\"\n * [selectable]=\"true\"\n * (selectionChange)=\"onSelect($event)\">\n * </pdm-data-table>\n */\n@Component({\n selector: 'pdm-data-table',\n templateUrl: './data-table.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmDataTableComponent<T = any> {\n @Input() className = '';\n \n /**\n * Columnas a mostrar\n * Si no se provee, intenta inferir del primer row (legacy mode)\n */\n @Input() columns: PdmDataTableColumn<T>[] = [];\n \n /**\n * Estrategia responsive de la tabla\n */\n @Input() responsiveStrategy: TableResponsiveStrategy = 'scroll';\n \n /**\n * Si es true, muestra checkbox de selección en cada fila\n */\n @Input() selectable = false;\n \n /**\n * Si es true, muestra botón de acciones (tres puntos) en cada fila\n */\n @Input() showActions = false;\n \n /**\n * Si es true, muestra filtro de búsqueda\n */\n @Input() showFilter = true;\n \n /**\n * Si es true, muestra controles de paginación\n */\n @Input() showPagination = true;\n \n /**\n * Si es true, muestra selector de columnas\n */\n @Input() showColumnSelector = false;\n \n // Labels i18n\n @Input() filterPlaceholder = 'Filter...';\n @Input() columnsLabel = 'Columns';\n @Input() previousLabel = 'Previous';\n @Input() nextLabel = 'Next';\n @Input() emptyLabel = 'No results.';\n @Input() rowsSelectedLabel = 'row(s) selected';\n \n // DEPRECATED: Labels hardcodeados para backward compatibility\n /**\n * @deprecated Use columns configuration instead\n */\n @Input() statusLabel = 'Status';\n /**\n * @deprecated Use columns configuration instead\n */\n @Input() emailLabel = 'Email';\n /**\n * @deprecated Use columns configuration instead\n */\n @Input() amountLabel = 'Amount';\n \n /**\n * Datos a mostrar\n */\n @Input() rows: T[] = [];\n \n /**\n * Página actual (1-indexed)\n */\n @Input() page = 1;\n \n /**\n * Cantidad de filas por página\n */\n @Input() pageSize = 10;\n \n /**\n * Query de filtrado\n */\n @Input() query = '';\n \n /**\n * Función custom de filtrado\n * Si no se provee, busca en todos los campos string\n */\n @Input() filterFn?: (row: T, query: string) => boolean;\n\n @Output() queryChange = new EventEmitter<string>();\n @Output() rowAction = new EventEmitter<T>();\n @Output() pageChange = new EventEmitter<number>();\n @Output() selectionChange = new EventEmitter<{ row: T; selected: boolean }>();\n @Output() columnSort = new EventEmitter<{ column: PdmDataTableColumn<T>; direction: 'asc' | 'desc' }>();\n\n // Estado interno\n selectedRows = new Set<T>();\n sortColumn?: PdmDataTableColumn<T>;\n sortDirection: 'asc' | 'desc' = 'asc';\n\n /**\n * Backward compatibility: si no hay columnas definidas, inferir del primer row\n */\n get effectiveColumns(): PdmDataTableColumn<T>[] {\n if (this.columns.length > 0) {\n return this.columns;\n }\n \n // Legacy mode: inferir columnas del primer row (solo para PdmDataTableRow)\n if (this.rows.length > 0) {\n const firstRow = this.rows[0] as any;\n return Object.keys(firstRow)\n .filter(key => key !== 'selected')\n .map(key => ({\n key: key as keyof T,\n label: this.getLegacyLabel(key),\n align: key === 'amount' ? 'right' : 'left'\n }));\n }\n \n return [];\n }\n\n /**\n * LEGACY: mapeo de keys a labels hardcodeados\n */\n private getLegacyLabel(key: string): string {\n const map: Record<string, string> = {\n status: this.statusLabel,\n email: this.emailLabel,\n amount: this.amountLabel\n };\n return map[key] || key.charAt(0).toUpperCase() + key.slice(1);\n }\n\n get filteredRows(): T[] {\n const q = this.query.trim().toLowerCase();\n if (!q) return this.rows;\n \n if (this.filterFn) {\n return this.rows.filter(row => this.filterFn!(row, q));\n }\n \n // Filtrado default: buscar en todos los campos string\n return this.rows.filter(row => {\n return Object.values(row as any).some(val => \n typeof val === 'string' && val.toLowerCase().includes(q)\n );\n });\n }\n\n get pagedRows(): T[] {\n const start = (this.page - 1) * this.pageSize;\n return this.filteredRows.slice(start, start + this.pageSize);\n }\n\n get totalPages(): number {\n return Math.max(1, Math.ceil(this.filteredRows.length / this.pageSize));\n }\n\n get selectedCount(): number {\n return this.selectedRows.size;\n }\n\n onQueryInput(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n this.queryChange.emit(value);\n }\n\n onToggleRow(row: T, event: Event): void {\n const checked = (event.target as HTMLInputElement).checked;\n \n if (checked) {\n this.selectedRows.add(row);\n } else {\n this.selectedRows.delete(row);\n }\n \n this.selectionChange.emit({ row, selected: checked });\n }\n\n onToggleAll(event: Event): void {\n const checked = (event.target as HTMLInputElement).checked;\n \n if (checked) {\n this.pagedRows.forEach(row => this.selectedRows.add(row));\n } else {\n this.pagedRows.forEach(row => this.selectedRows.delete(row));\n }\n }\n\n isSelected(row: T): boolean {\n return this.selectedRows.has(row);\n }\n\n previous(): void {\n if (this.page <= 1) return;\n this.pageChange.emit(this.page - 1);\n }\n\n next(): void {\n if (this.page >= this.totalPages) return;\n this.pageChange.emit(this.page + 1);\n }\n\n onAction(row: T): void {\n this.rowAction.emit(row);\n }\n\n onSort(column: PdmDataTableColumn<T>): void {\n if (!column.sortable) return;\n \n if (this.sortColumn === column) {\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n } else {\n this.sortColumn = column;\n this.sortDirection = 'asc';\n }\n \n this.columnSort.emit({ column, direction: this.sortDirection });\n }\n\n getCellValue(row: T, column: PdmDataTableColumn<T>): any {\n const value = row[column.key];\n \n if (column.render) {\n return column.render(value, row);\n }\n \n return value != null ? String(value) : '';\n }\n\n getCellClass(column: PdmDataTableColumn<T>): string {\n const classes = ['px-2', 'py-2'];\n \n if (column.align === 'center') classes.push('text-center');\n if (column.align === 'right') classes.push('text-right');\n if (column.hideOnMobile) classes.push('hidden', 'md:table-cell');\n if (column.cellClass) classes.push(column.cellClass);\n \n return classes.join(' ');\n }\n\n getHeaderClass(column: PdmDataTableColumn<T>): string {\n const classes = ['px-2', 'py-2', 'text-left', 'font-medium'];\n \n if (column.hideOnMobile) classes.push('hidden', 'md:table-cell');\n if (column.headerClass) classes.push(column.headerClass);\n \n return classes.join(' ');\n }\n\n getColumnStyle(column: PdmDataTableColumn<T>): any {\n return column.width ? { width: column.width } : {};\n }\n}\n","<section [ngClass]=\"['flex w-full flex-col', className]\">\n <!-- Toolbar: Filtro + Selector de columnas -->\n <div\n *ngIf=\"showFilter || showColumnSelector\"\n class=\"flex w-full flex-col gap-2 py-4 sm:flex-row sm:items-center\"\n >\n <input\n *ngIf=\"showFilter\"\n type=\"text\"\n [placeholder]=\"filterPlaceholder\"\n [value]=\"query\"\n (input)=\"onQueryInput($event)\"\n class=\"h-9 flex-1 appearance-none box-border rounded-md border border-solid border-input bg-transparent px-3 py-1 text-sm text-foreground shadow-sm placeholder:text-muted-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\"\n />\n\n <button\n *ngIf=\"showColumnSelector\"\n type=\"button\"\n class=\"inline-flex h-9 appearance-none box-border items-center gap-2 rounded-md border border-solid border-input bg-background px-3 py-2 text-sm font-medium text-foreground shadow-sm whitespace-nowrap\"\n >\n <span>{{ columnsLabel }}</span>\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4 text-foreground\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7 10L12 15L17 10\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n </div>\n\n <!-- Tabla con responsive -->\n <pdm-table\n variant=\"data\"\n [responsiveStrategy]=\"responsiveStrategy\"\n [fullBleed]=\"false\"\n >\n <thead>\n <tr>\n <!-- Columna de selección -->\n <th *ngIf=\"selectable\" class=\"w-10 px-2 py-2 text-left font-medium\">\n <input\n type=\"checkbox\"\n (change)=\"onToggleAll($event)\"\n class=\"h-4 w-4 box-border rounded-sm border border-solid border-input accent-primary\"\n />\n </th>\n\n <!-- Columnas dinámicas -->\n <th\n *ngFor=\"let column of effectiveColumns\"\n [ngClass]=\"getHeaderClass(column)\"\n [ngStyle]=\"getColumnStyle(column)\"\n >\n <!-- Header sortable -->\n <button\n *ngIf=\"column.sortable\"\n type=\"button\"\n (click)=\"onSort(column)\"\n class=\"inline-flex appearance-none box-border items-center gap-1 rounded-sm border-0 bg-transparent px-3 py-2 text-sm hover:underline\"\n >\n <span>{{ column.label }}</span>\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8 6L4 10L8 14M16 18L20 14L16 10\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>\n </svg>\n </button>\n\n <!-- Header no sortable -->\n <span *ngIf=\"!column.sortable\">{{ column.label }}</span>\n </th>\n\n <!-- Columna de acciones -->\n <th *ngIf=\"showActions\" class=\"w-10 px-2 py-2\"></th>\n </tr>\n </thead>\n\n <tbody>\n <!-- Filas con datos -->\n <tr *ngFor=\"let row of pagedRows\">\n <!-- Celda de selección -->\n <td *ngIf=\"selectable\" class=\"px-2 py-2\">\n <input\n type=\"checkbox\"\n [checked]=\"isSelected(row)\"\n (change)=\"onToggleRow(row, $event)\"\n class=\"h-4 w-4 box-border rounded-sm border border-solid border-input accent-primary\"\n />\n </td>\n\n <!-- Celdas dinámicas -->\n <td\n *ngFor=\"let column of effectiveColumns\"\n [ngClass]=\"getCellClass(column)\"\n >\n <!-- Template personalizado si existe -->\n <ng-container *ngIf=\"column.cellTemplate; else defaultCell\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cellTemplate;\n context: { $implicit: row, value: row[column.key] }\n \"\n >\n </ng-container>\n </ng-container>\n\n <!-- Renderizado default -->\n <ng-template #defaultCell>\n {{ getCellValue(row, column) }}\n </ng-template>\n </td>\n\n <!-- Celda de acciones -->\n <td *ngIf=\"showActions\" class=\"px-2 py-2\">\n <button\n type=\"button\"\n class=\"inline-flex h-8 w-8 appearance-none box-border items-center justify-center border-0 bg-transparent p-0 hover:text-foreground\"\n (click)=\"onAction(row)\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n class=\"h-4 w-4\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"6\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n <circle cx=\"18\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"></circle>\n </svg>\n </button>\n </td>\n </tr>\n\n <!-- Fila vacía -->\n <tr *ngIf=\"pagedRows.length === 0\">\n <td\n [attr.colspan]=\"\n effectiveColumns.length +\n (selectable ? 1 : 0) +\n (showActions ? 1 : 0)\n \"\n class=\"px-3 py-6 text-center text-sm text-muted-foreground\"\n >\n {{ emptyLabel }}\n </td>\n </tr>\n </tbody>\n </pdm-table>\n\n <!-- Footer: Info + Paginación -->\n <div\n *ngIf=\"showPagination || selectable\"\n class=\"flex w-full flex-wrap items-center gap-2 py-4 sm:flex-nowrap\"\n >\n <p\n *ngIf=\"selectable\"\n class=\"m-0 flex-1 pr-2 text-sm text-muted-foreground whitespace-nowrap\"\n >\n {{ selectedCount }} of {{ rows.length }} {{ rowsSelectedLabel }}\n </p>\n\n <div *ngIf=\"showPagination\" class=\"flex items-center gap-2 ml-auto\">\n <span class=\"text-sm text-muted-foreground whitespace-nowrap\">\n Page {{ page }} of {{ totalPages }}\n </span>\n <button\n type=\"button\"\n class=\"h-9 appearance-none box-border rounded-md border border-solid border-input bg-background px-4 text-sm font-medium text-foreground shadow-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"page <= 1\"\n (click)=\"previous()\"\n >\n {{ previousLabel }}\n </button>\n <button\n type=\"button\"\n class=\"h-9 appearance-none box-border rounded-md border border-solid border-input bg-background px-4 text-sm font-medium text-foreground shadow-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\"\n [disabled]=\"page >= totalPages\"\n (click)=\"next()\"\n >\n {{ nextLabel }}\n </button>\n </div>\n </div>\n</section>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { PdmTableVariant } from './table.component';\nimport { TableResponsiveStrategy } from 'pdm-ui-kit/src/utils';\n\n/**\n * Tabla con funcionalidad de reordenamiento de filas mediante drag & drop\n * \n * Extiende pdm-table agregando la capacidad de reordenar filas.\n * Si no necesitás drag & drop, usá pdm-table directamente (más simple y liviano).\n * \n * @example\n * <pdm-draggable-table \n * variant=\"interactive\"\n * [reorderRows]=\"true\"\n * (rowOrderChange)=\"onOrderChange($event)\">\n * <tbody>\n * <tr data-row-id=\"1\"><td>Row 1</td></tr>\n * <tr data-row-id=\"2\"><td>Row 2</td></tr>\n * </tbody>\n * </pdm-draggable-table>\n * \n * IMPORTANTE: Cada <tr> debe tener un atributo data-row-id único\n */\n@Component({\n selector: 'pdm-draggable-table',\n templateUrl: './draggable-table.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PdmDraggableTableComponent implements AfterViewInit, OnChanges, OnDestroy {\n @Input() variant: PdmTableVariant = 'default';\n @Input() responsiveStrategy: TableResponsiveStrategy = 'scroll';\n @Input() className = '';\n @Input() fullBleed = false;\n \n /**\n * Habilita el reordenamiento de filas mediante drag & drop\n */\n @Input() reorderRows = false;\n \n /**\n * Selector CSS para identificar los handles de drag\n * Por defecto busca: [data-drag-handle], [data-slot=row-drag-handle], .row-drag-handle\n * Si no encuentra ninguno, inserta un handle automático\n */\n @Input() dragHandleSelector = '[data-drag-handle],[data-slot=row-drag-handle],.row-drag-handle,[data-auto-drag-handle]';\n \n /**\n * Emite el nuevo orden de las filas cuando el usuario termina de arrastrar\n * Array de data-row-id en el nuevo orden\n */\n @Output() rowOrderChange = new EventEmitter<string[]>();\n\n @ViewChild('tableElement') tableElement?: ElementRef<HTMLTableElement>;\n\n private cleanupListeners: Array<() => void> = [];\n private observer?: MutationObserver;\n private draggedRow: HTMLTableRowElement | null = null;\n\n constructor(private readonly renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.syncReorderBehavior();\n }\n\n // Getters para clases CSS (mismo comportamiento que pdm-table)\n get wrapperClasses(): string[] {\n const baseClasses = ['relative', 'w-full'];\n const strategyClasses = this.getResponsiveStrategyClasses();\n const variantClasses = this.getVariantWrapperClasses();\n \n if (this.fullBleed && this.responsiveStrategy === 'scroll') {\n baseClasses.push('-mx-4', 'px-4', 'sm:mx-0', 'sm:px-0');\n }\n \n return [\n ...baseClasses,\n ...strategyClasses,\n ...variantClasses,\n this.className\n ].filter(Boolean);\n }\n\n get tableClasses(): string[] {\n const baseClasses = ['w-full', 'caption-bottom', 'text-sm'];\n const variantClasses = this.getVariantTableClasses();\n const cellClasses = this.getCellClasses();\n \n return [...baseClasses, ...variantClasses, ...cellClasses].filter(Boolean);\n }\n\n private getResponsiveStrategyClasses(): string[] {\n if (this.responsiveStrategy === 'scroll' || this.responsiveStrategy === 'wrap' || this.responsiveStrategy === 'collapse') {\n return ['overflow-x-auto'];\n }\n return [];\n }\n\n private getVariantWrapperClasses(): string[] {\n if (this.variant === 'interactive') {\n return ['rounded-xl', 'border border-solid', 'border-border', 'bg-background'];\n }\n if (this.variant === 'data') {\n return ['rounded-md', 'border border-solid', 'border-border', 'bg-background'];\n }\n return [];\n }\n\n private getVariantTableClasses(): string[] {\n if (this.variant === 'data') {\n return [\n 'border-collapse', 'text-foreground',\n '[&_thead_tr]:border-b', '[&_thead_tr]:border-border',\n '[&_tbody_tr]:border-b', '[&_tbody_tr]:border-border',\n '[&_tbody_tr:last-child]:border-b-0',\n '[&_th]:h-10', '[&_th]:px-2', '[&_th]:text-left', '[&_th]:align-middle', '[&_th]:font-medium',\n '[&_td]:p-2', '[&_td]:align-middle'\n ];\n }\n \n if (this.variant === 'interactive') {\n return [\n 'text-foreground',\n '[&_thead]:sticky', '[&_thead]:top-0', '[&_thead]:z-10', '[&_thead]:bg-muted/70',\n '[&_thead_tr]:border-b', '[&_thead_tr]:border-border',\n '[&_th]:h-12', '[&_th]:px-4', '[&_th]:text-left', '[&_th]:align-middle', '[&_th]:text-sm', '[&_th]:font-medium',\n '[&_tbody_tr]:border-b', '[&_tbody_tr]:border-border',\n '[&_tbody_tr]:transition-colors', '[&_tbody_tr:hover]:bg-muted/50',\n '[&_tbody_tr:last-child]:border-b-0',\n '[&_td]:h-14', '[&_td]:px-4', '[&_td]:align-middle', '[&_td]:text-sm',\n '[&_svg]:text-muted-foreground'\n ];\n }\n \n return [];\n }\n\n private getCellClasses(): string[] {\n if (this.responsiveStrategy === 'scroll') {\n return ['[&_td]:whitespace-normal', '[&_th]:whitespace-normal', 'sm:[&_td]:whitespace-nowrap', 'sm:[&_th]:whitespace-nowrap'];\n }\n if (this.responsiveStrategy === 'wrap') {\n return ['[&_td]:whitespace-normal', '[&_td]:break-words', '[&_th]:whitespace-normal'];\n }\n return [];\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['reorderRows'] || changes['variant']) {\n this.syncReorderBehavior();\n }\n }\n\n ngOnDestroy(): void {\n this.cleanupReorderBehavior();\n }\n\n private syncReorderBehavior(): void {\n this.cleanupReorderBehavior();\n\n if (!this.reorderRows) {\n return;\n }\n\n const tbody = this.getTbody();\n if (!tbody) {\n return;\n }\n\n this.setRowsDraggable(tbody, true);\n\n this.cleanupListeners.push(\n this.renderer.listen(tbody, 'mousedown', (event: MouseEvent) => this.armDragFromHandle(event)),\n this.renderer.listen(tbody, 'dragstart', (event: DragEvent) => this.onDragStart(event)),\n this.renderer.listen(tbody, 'dragover', (event: DragEvent) => this.onDragOver(event, tbody)),\n this.renderer.listen(tbody, 'drop', (event: DragEvent) => this.onDrop(event)),\n this.renderer.listen(tbody, 'dragend', () => this.onDragEnd())\n );\n\n // Observer para detectar cambios en el DOM (filas agregadas/removidas)\n this.observer = new MutationObserver(() => this.setRowsDraggable(tbody, true));\n this.observer.observe(tbody, { childList: true });\n }\n\n private cleanupReorderBehavior(): void {\n this.cleanupListeners.forEach((dispose) => dispose());\n this.cleanupListeners = [];\n\n if (this.observer) {\n this.observer.disconnect();\n this.observer = undefined;\n }\n\n const tbody = this.getTbody();\n if (tbody) {\n this.setRowsDraggable(tbody, false);\n }\n\n this.draggedRow = null;\n }\n\n private getTbody(): HTMLTableSectionElement | null {\n return this.tableElement?.nativeElement.tBodies.item(0) ?? null;\n }\n\n private setRowsDraggable(tbody: HTMLTableSectionElement, enabled: boolean): void {\n const rows = Array.from(tbody.rows);\n rows.forEach((row) => {\n this.syncAutoDragHandle(row, enabled);\n row.draggable = false;\n if (!enabled) {\n delete row.dataset['dragging'];\n delete row.dataset['dragArmed'];\n }\n });\n }\n\n /**\n * Inserta un handle de drag automático si no existe uno custom\n */\n private syncAutoDragHandle(row: HTMLTableRowElement, enabled: boolean): void {\n const firstCell = row.cells.item(0);\n if (!firstCell) {\n return;\n }\n\n const existingAutoHandle = firstCell.querySelector('[data-auto-drag-handle]');\n if (!enabled) {\n existingAutoHandle?.remove();\n return;\n }\n\n const hasCustomHandle = !!firstCell.querySelector('[data-drag-handle],[data-slot=row-drag-handle],.row-drag-handle');\n if (hasCustomHandle || existingAutoHandle) {\n return;\n }\n\n // Crear handle automático\n const button = this.renderer.createElement('button') as HTMLButtonElement;\n this.renderer.setAttribute(button, 'type', 'button');\n this.renderer.setAttribute(button, 'aria-label', 'Drag row');\n this.renderer.setAttribute(button, 'data-auto-drag-handle', 'true');\n this.renderer.addClass(button, 'inline-flex');\n this.renderer.addClass(button, 'h-7');\n this.renderer.addClass(button, 'w-7');\n this.renderer.addClass(button, 'items-center');\n this.renderer.addClass(button, 'justify-center');\n this.renderer.addClass(button, 'cursor-grab');\n this.renderer.addClass(button, 'active:cursor-grabbing');\n this.renderer.addClass(button, 'text-muted-foreground');\n\n const dots = this.renderer.createElement('span');\n this.renderer.addClass(dots, 'text-sm');\n this.renderer.addClass(dots, 'leading-none');\n this.renderer.setProperty(dots, 'textContent', '⋮⋮');\n this.renderer.appendChild(button, dots);\n\n this.renderer.insertBefore(firstCell, button, firstCell.firstChild);\n }\n\n private onDragStart(event: DragEvent): void {\n const target = event.target as HTMLElement | null;\n const row = target?.closest('tr');\n if (!row) {\n return;\n }\n\n const handle = target?.closest(this.dragHandleSelector);\n const isArmed = row.dataset['dragArmed'] === 'true';\n if ((!handle || !row.contains(handle)) && !isArmed) {\n event.preventDefault();\n return;\n }\n\n this.draggedRow = row as HTMLTableRowElement;\n this.draggedRow.dataset['dragging'] = 'true';\n\n if (event.dataTransfer) {\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setData('text/plain', '');\n }\n }\n\n private onDragOver(event: DragEvent, tbody: HTMLTableSectionElement): void {\n if (!this.draggedRow) {\n return;\n }\n\n event.preventDefault();\n const target = event.target as HTMLElement | null;\n const targetRow = target?.closest('tr') as HTMLTableRowElement | null;\n\n if (!targetRow || targetRow === this.draggedRow) {\n return;\n }\n\n const rect = targetRow.getBoundingClientRect();\n const shouldInsertBefore = event.clientY < rect.top + rect.height / 2;\n tbody.insertBefore(this.draggedRow, shouldInsertBefore ? targetRow : targetRow.nextSibling);\n }\n\n private onDrop(event: DragEvent): void {\n event.preventDefault();\n }\n\n private onDragEnd(): void {\n const tbody = this.getTbody();\n if (tbody) {\n Array.from(tbody.rows).forEach((row) => {\n row.draggable = false;\n delete row.dataset['dragArmed'];\n });\n }\n\n if (this.draggedRow) {\n delete this.draggedRow.dataset['dragging'];\n this.draggedRow = null;\n }\n\n if (!tbody) {\n return;\n }\n\n const order = Array.from(tbody.rows).map((row, index) => row.getAttribute('data-row-id') || String(index));\n this.rowOrderChange.emit(order);\n }\n\n private armDragFromHandle(event: MouseEvent): void {\n const target = event.target as HTMLElement | null;\n const handle = target?.closest(this.dragHandleSelector);\n if (!handle) {\n return;\n }\n\n const row = handle.closest('tr') as HTMLTableRowElement | null;\n if (!row) {\n return;\n }\n\n row.draggable = true;\n row.dataset['dragArmed'] = 'true';\n }\n}\n","<div [ngClass]=\"wrapperClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table-container' : null\">\n <table #tableElement [ngClass]=\"tableClasses\" [attr.data-slot]=\"variant === 'interactive' ? 'table' : null\">\n <ng-content></ng-content>\n </table>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmDataTableComponent } from './data-table.component';\nimport { PdmDraggableTableComponent } from './draggable-table.component';\nimport { PdmTableComponent } from './table.component';\n\nconst COMPONENTS = [\n PdmDataTableComponent,\n PdmDraggableTableComponent,\n PdmTableComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmDataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PdmTableComponent"],"mappings":"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"}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, HostListener, NgModule } from '@angular/core';
|
|
3
|
+
import { Z_INDEX, responsive } from 'pdm-ui-kit/src/utils';
|
|
4
|
+
import * as i1 from '@angular/common';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Modal/Dialog component con soporte responsive
|
|
9
|
+
*
|
|
10
|
+
* MEJORADO en v0.2.0:
|
|
11
|
+
* - Modo 'responsive' (default): fullscreen en mobile, modal en desktop
|
|
12
|
+
* - Tamaños predefinidos: sm, md, lg, xl
|
|
13
|
+
* - Mejor manejo de scroll en mobile
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Responsive (recomendado)
|
|
17
|
+
* <pdm-dialog [open]="isOpen" size="responsive">
|
|
18
|
+
* <p>Content</p>
|
|
19
|
+
* </pdm-dialog>
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Tamaño fijo
|
|
23
|
+
* <pdm-dialog [open]="isOpen" size="lg">
|
|
24
|
+
* <p>Content</p>
|
|
25
|
+
* </pdm-dialog>
|
|
26
|
+
*/
|
|
27
|
+
class PdmDialogComponent {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.open = false;
|
|
30
|
+
this.variant = "default";
|
|
31
|
+
/**
|
|
32
|
+
* Tamaño del dialog
|
|
33
|
+
* - responsive: fullscreen mobile, modal desktop (recomendado)
|
|
34
|
+
* - sm: 400px max
|
|
35
|
+
* - md: 500px max
|
|
36
|
+
* - lg: 640px max (default)
|
|
37
|
+
* - xl: 800px max
|
|
38
|
+
* - desktop/mobile/mobile-fullscreen: legacy, deprecado
|
|
39
|
+
*/
|
|
40
|
+
this.size = "responsive";
|
|
41
|
+
this.title = "Edit profile";
|
|
42
|
+
this.description = "";
|
|
43
|
+
this.closeOnBackdrop = true;
|
|
44
|
+
this.closeOnEsc = true;
|
|
45
|
+
this.showCloseButton = true;
|
|
46
|
+
this.showHeader = true;
|
|
47
|
+
this.showFooter = true;
|
|
48
|
+
this.primaryActionText = "Save changes";
|
|
49
|
+
this.secondaryActionText = "Cancel";
|
|
50
|
+
this.alignFooter = "right";
|
|
51
|
+
this.headerClassName = "";
|
|
52
|
+
this.bodyClassName = "";
|
|
53
|
+
this.footerClassName = "";
|
|
54
|
+
this.className = "";
|
|
55
|
+
this.openChange = new EventEmitter();
|
|
56
|
+
this.primaryAction = new EventEmitter();
|
|
57
|
+
this.secondaryAction = new EventEmitter();
|
|
58
|
+
}
|
|
59
|
+
onEsc() {
|
|
60
|
+
if (this.open && this.closeOnEsc) {
|
|
61
|
+
this.close();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
close() {
|
|
65
|
+
this.openChange.emit(false);
|
|
66
|
+
}
|
|
67
|
+
onPrimaryAction() {
|
|
68
|
+
this.primaryAction.emit();
|
|
69
|
+
}
|
|
70
|
+
onSecondaryAction() {
|
|
71
|
+
this.secondaryAction.emit();
|
|
72
|
+
}
|
|
73
|
+
onBackdropClick() {
|
|
74
|
+
if (this.closeOnBackdrop) {
|
|
75
|
+
this.close();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
get panelClassName() {
|
|
79
|
+
// Legacy sizes (backward compatibility)
|
|
80
|
+
if (this.size === "desktop") {
|
|
81
|
+
return this.buildPanelClasses([
|
|
82
|
+
"max-w-[640px]",
|
|
83
|
+
"max-h-[calc(100vh-2rem)]",
|
|
84
|
+
"rounded-[10px]",
|
|
85
|
+
]);
|
|
86
|
+
}
|
|
87
|
+
if (this.size === "mobile") {
|
|
88
|
+
return this.buildPanelClasses([
|
|
89
|
+
"max-w-[320px]",
|
|
90
|
+
"min-h-[240px]",
|
|
91
|
+
"rounded-[10px]",
|
|
92
|
+
]);
|
|
93
|
+
}
|
|
94
|
+
if (this.size === "mobile-fullscreen") {
|
|
95
|
+
return this.buildPanelClasses([
|
|
96
|
+
"max-w-[320px]",
|
|
97
|
+
"h-[min(100dvh,640px)]",
|
|
98
|
+
"rounded-none",
|
|
99
|
+
"sm:rounded-[10px]",
|
|
100
|
+
]);
|
|
101
|
+
}
|
|
102
|
+
// New responsive mode (recomendado)
|
|
103
|
+
if (this.size === "responsive") {
|
|
104
|
+
return this.buildPanelClasses([
|
|
105
|
+
// Mobile: fullscreen con bordes redondeados solo arriba
|
|
106
|
+
"w-full",
|
|
107
|
+
"h-full",
|
|
108
|
+
"max-h-[100dvh]",
|
|
109
|
+
"rounded-t-[10px]",
|
|
110
|
+
"sm:rounded-[10px]",
|
|
111
|
+
// Desktop: modal centrado
|
|
112
|
+
"sm:w-auto",
|
|
113
|
+
"sm:h-auto",
|
|
114
|
+
"sm:max-w-[640px]",
|
|
115
|
+
"sm:max-h-[calc(100vh-4rem)]",
|
|
116
|
+
]);
|
|
117
|
+
}
|
|
118
|
+
// New size options
|
|
119
|
+
const sizeMap = {
|
|
120
|
+
sm: "sm:max-w-[400px]",
|
|
121
|
+
md: "sm:max-w-[500px]",
|
|
122
|
+
lg: "sm:max-w-[640px]",
|
|
123
|
+
xl: "sm:max-w-[800px]",
|
|
124
|
+
};
|
|
125
|
+
const maxWidth = sizeMap[this.size] || sizeMap.lg;
|
|
126
|
+
return this.buildPanelClasses([
|
|
127
|
+
// Mobile: fullscreen
|
|
128
|
+
"w-full",
|
|
129
|
+
"h-full",
|
|
130
|
+
"max-h-[100dvh]",
|
|
131
|
+
"rounded-t-[10px]",
|
|
132
|
+
// Desktop: modal
|
|
133
|
+
"sm:rounded-[10px]",
|
|
134
|
+
"sm:w-auto",
|
|
135
|
+
"sm:h-auto",
|
|
136
|
+
maxWidth,
|
|
137
|
+
"sm:max-h-[calc(100vh-4rem)]",
|
|
138
|
+
]);
|
|
139
|
+
}
|
|
140
|
+
buildPanelClasses(sizeClasses) {
|
|
141
|
+
const base = [
|
|
142
|
+
"relative",
|
|
143
|
+
Z_INDEX.modal,
|
|
144
|
+
"flex",
|
|
145
|
+
"flex-col",
|
|
146
|
+
"border border-solid",
|
|
147
|
+
"border-border",
|
|
148
|
+
"bg-background",
|
|
149
|
+
"text-foreground",
|
|
150
|
+
"shadow-lg",
|
|
151
|
+
"overflow-hidden",
|
|
152
|
+
...sizeClasses,
|
|
153
|
+
this.className,
|
|
154
|
+
];
|
|
155
|
+
return base.filter(Boolean).join(" ");
|
|
156
|
+
}
|
|
157
|
+
get bodyWrapperClassName() {
|
|
158
|
+
// min-h-0 is CRITICAL for flex child to shrink and allow internal scroll
|
|
159
|
+
const base = [
|
|
160
|
+
"flex-1",
|
|
161
|
+
"min-h-0",
|
|
162
|
+
"overflow-y-auto",
|
|
163
|
+
"px-4",
|
|
164
|
+
"py-6",
|
|
165
|
+
"sm:px-6",
|
|
166
|
+
this.bodyClassName,
|
|
167
|
+
];
|
|
168
|
+
return base.filter(Boolean).join(" ");
|
|
169
|
+
}
|
|
170
|
+
get headerWrapperClassName() {
|
|
171
|
+
const base = [
|
|
172
|
+
"flex",
|
|
173
|
+
"items-start",
|
|
174
|
+
"justify-between",
|
|
175
|
+
"gap-3",
|
|
176
|
+
"p-4",
|
|
177
|
+
"sm:p-6",
|
|
178
|
+
"border-b",
|
|
179
|
+
"border-border",
|
|
180
|
+
this.headerClassName,
|
|
181
|
+
];
|
|
182
|
+
return base.filter(Boolean).join(" ");
|
|
183
|
+
}
|
|
184
|
+
get footerWrapperClassName() {
|
|
185
|
+
const effectiveAlign = this.alignFooter === "right" && this.variant === "custom-close"
|
|
186
|
+
? "left"
|
|
187
|
+
: this.alignFooter;
|
|
188
|
+
const base = [
|
|
189
|
+
"p-4",
|
|
190
|
+
"sm:p-6",
|
|
191
|
+
"border-t",
|
|
192
|
+
"border-border",
|
|
193
|
+
// Mobile: siempre full-width
|
|
194
|
+
"flex",
|
|
195
|
+
"flex-col",
|
|
196
|
+
"gap-2",
|
|
197
|
+
// Desktop: según alignFooter
|
|
198
|
+
effectiveAlign === "full-width"
|
|
199
|
+
? "sm:flex-col"
|
|
200
|
+
: "sm:flex-row sm:items-center",
|
|
201
|
+
effectiveAlign === "left" ? "sm:justify-start" : "",
|
|
202
|
+
effectiveAlign === "right" ? "sm:justify-end" : "",
|
|
203
|
+
this.footerClassName,
|
|
204
|
+
];
|
|
205
|
+
return base.filter(Boolean).join(" ");
|
|
206
|
+
}
|
|
207
|
+
get containerClassName() {
|
|
208
|
+
// Container con backdrop z-40
|
|
209
|
+
// Mobile: fullscreen desde el bottom
|
|
210
|
+
// Desktop: centrado
|
|
211
|
+
return responsive({
|
|
212
|
+
default: `fixed inset-x-0 bottom-0 ${Z_INDEX.modalBackdrop} flex items-end justify-center`,
|
|
213
|
+
sm: `fixed inset-0 ${Z_INDEX.modalBackdrop} flex items-center justify-center p-4`,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
PdmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
218
|
+
PdmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmDialogComponent, selector: "pdm-dialog", inputs: { open: "open", variant: "variant", size: "size", title: "title", description: "description", closeOnBackdrop: "closeOnBackdrop", closeOnEsc: "closeOnEsc", showCloseButton: "showCloseButton", showHeader: "showHeader", showFooter: "showFooter", primaryActionText: "primaryActionText", secondaryActionText: "secondaryActionText", alignFooter: "alignFooter", headerClassName: "headerClassName", bodyClassName: "bodyClassName", footerClassName: "footerClassName", className: "className" }, outputs: { openChange: "openChange", primaryAction: "primaryAction", secondaryAction: "secondaryAction" }, host: { listeners: { "document:keydown.escape": "onEsc()" } }, ngImport: i0, template: "<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <!-- Backdrop -->\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n \n <!-- Dialog Panel -->\n <section role=\"dialog\" aria-modal=\"true\" [ngClass]=\"panelClassName\">\n <!-- Header -->\n <div *ngIf=\"showHeader\" [ngClass]=\"headerWrapperClassName\">\n <div class=\"min-w-0 flex-1\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 mt-2 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 flex-shrink-0 appearance-none box-border items-center justify-center rounded-sm border-0 bg-transparent p-0 text-foreground opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\"\n (click)=\"close()\"\n aria-label=\"Close dialog\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6L18 18M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Body -->\n <div [ngClass]=\"bodyWrapperClassName\">\n <ng-content></ng-content>\n </div>\n\n <!-- Footer -->\n <div *ngIf=\"showFooter\" [ngClass]=\"footerWrapperClassName\">\n <ng-container *ngIf=\"variant === 'custom-close'; else defaultActions\">\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm sm:w-auto\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n </ng-template>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}\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 });
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogComponent, decorators: [{
|
|
220
|
+
type: Component,
|
|
221
|
+
args: [{ selector: "pdm-dialog", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <!-- Backdrop -->\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n \n <!-- Dialog Panel -->\n <section role=\"dialog\" aria-modal=\"true\" [ngClass]=\"panelClassName\">\n <!-- Header -->\n <div *ngIf=\"showHeader\" [ngClass]=\"headerWrapperClassName\">\n <div class=\"min-w-0 flex-1\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 mt-2 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 flex-shrink-0 appearance-none box-border items-center justify-center rounded-sm border-0 bg-transparent p-0 text-foreground opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\"\n (click)=\"close()\"\n aria-label=\"Close dialog\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6L18 18M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Body -->\n <div [ngClass]=\"bodyWrapperClassName\">\n <ng-content></ng-content>\n </div>\n\n <!-- Footer -->\n <div *ngIf=\"showFooter\" [ngClass]=\"footerWrapperClassName\">\n <ng-container *ngIf=\"variant === 'custom-close'; else defaultActions\">\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm sm:w-auto\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n </ng-template>\n </div>\n </section>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
222
|
+
}], propDecorators: { open: [{
|
|
223
|
+
type: Input
|
|
224
|
+
}], variant: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], size: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}], title: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}], description: [{
|
|
231
|
+
type: Input
|
|
232
|
+
}], closeOnBackdrop: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], closeOnEsc: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], showCloseButton: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], showHeader: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], showFooter: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], primaryActionText: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], secondaryActionText: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], alignFooter: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], headerClassName: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], bodyClassName: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], footerClassName: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], className: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], openChange: [{
|
|
257
|
+
type: Output
|
|
258
|
+
}], primaryAction: [{
|
|
259
|
+
type: Output
|
|
260
|
+
}], secondaryAction: [{
|
|
261
|
+
type: Output
|
|
262
|
+
}], onEsc: [{
|
|
263
|
+
type: HostListener,
|
|
264
|
+
args: ["document:keydown.escape"]
|
|
265
|
+
}] } });
|
|
266
|
+
|
|
267
|
+
const COMPONENTS = [
|
|
268
|
+
PdmDialogComponent,
|
|
269
|
+
];
|
|
270
|
+
class PdmDialogModule {
|
|
271
|
+
}
|
|
272
|
+
PdmDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
273
|
+
PdmDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, declarations: [PdmDialogComponent], imports: [CommonModule], exports: [PdmDialogComponent] });
|
|
274
|
+
PdmDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, imports: [CommonModule] });
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmDialogModule, decorators: [{
|
|
276
|
+
type: NgModule,
|
|
277
|
+
args: [{
|
|
278
|
+
imports: [CommonModule],
|
|
279
|
+
declarations: COMPONENTS,
|
|
280
|
+
exports: COMPONENTS
|
|
281
|
+
}]
|
|
282
|
+
}] });
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Generated bundle index. Do not edit.
|
|
286
|
+
*/
|
|
287
|
+
|
|
288
|
+
export { PdmDialogComponent, PdmDialogModule };
|
|
289
|
+
//# sourceMappingURL=pdm-ui-kit-src-dialog.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdm-ui-kit-src-dialog.mjs","sources":["../../../src/dialog/dialog.component.ts","../../../src/dialog/dialog.component.html","../../../src/dialog/dialog.module.ts","../../../src/dialog/pdm-ui-kit-src-dialog.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tEventEmitter,\n\tHostListener,\n\tInput,\n\tOutput,\n} from \"@angular/core\";\nimport { responsive } from \"pdm-ui-kit/src/utils\";\nimport { Z_INDEX } from \"pdm-ui-kit/src/utils\";\n\nexport type PdmDialogVariant = \"default\" | \"custom-close\";\n\n/**\n * @deprecated Use 'responsive' mode instead. Will be removed in v0.3.0\n */\nexport type PdmDialogSize =\n\t| \"desktop\"\n\t| \"mobile\"\n\t| \"mobile-fullscreen\"\n\t| \"sm\"\n\t| \"md\"\n\t| \"lg\"\n\t| \"xl\"\n\t| \"responsive\";\n\nexport type PdmDialogFooterAlign = \"right\" | \"full-width\" | \"left\";\n\n/**\n * Modal/Dialog component con soporte responsive\n *\n * MEJORADO en v0.2.0:\n * - Modo 'responsive' (default): fullscreen en mobile, modal en desktop\n * - Tamaños predefinidos: sm, md, lg, xl\n * - Mejor manejo de scroll en mobile\n *\n * @example\n * // Responsive (recomendado)\n * <pdm-dialog [open]=\"isOpen\" size=\"responsive\">\n * <p>Content</p>\n * </pdm-dialog>\n *\n * @example\n * // Tamaño fijo\n * <pdm-dialog [open]=\"isOpen\" size=\"lg\">\n * <p>Content</p>\n * </pdm-dialog>\n */\n@Component({\n\tselector: \"pdm-dialog\",\n\ttemplateUrl: \"./dialog.component.html\",\n\tstyles: [\n\t\t`\n :host {\n display: block;\n }\n `,\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PdmDialogComponent {\n\t@Input() open = false;\n\t@Input() variant: PdmDialogVariant = \"default\";\n\n\t/**\n\t * Tamaño del dialog\n\t * - responsive: fullscreen mobile, modal desktop (recomendado)\n\t * - sm: 400px max\n\t * - md: 500px max\n\t * - lg: 640px max (default)\n\t * - xl: 800px max\n\t * - desktop/mobile/mobile-fullscreen: legacy, deprecado\n\t */\n\t@Input() size: PdmDialogSize = \"responsive\";\n\n\t@Input() title = \"Edit profile\";\n\t@Input() description = \"\";\n\t@Input() closeOnBackdrop = true;\n\t@Input() closeOnEsc = true;\n\t@Input() showCloseButton = true;\n\t@Input() showHeader = true;\n\t@Input() showFooter = true;\n\t@Input() primaryActionText = \"Save changes\";\n\t@Input() secondaryActionText = \"Cancel\";\n\t@Input() alignFooter: PdmDialogFooterAlign = \"right\";\n\t@Input() headerClassName = \"\";\n\t@Input() bodyClassName = \"\";\n\t@Input() footerClassName = \"\";\n\t@Input() className = \"\";\n\n\t@Output() openChange = new EventEmitter<boolean>();\n\t@Output() primaryAction = new EventEmitter<void>();\n\t@Output() secondaryAction = new EventEmitter<void>();\n\n\t@HostListener(\"document:keydown.escape\")\n\tonEsc(): void {\n\t\tif (this.open && this.closeOnEsc) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tclose(): void {\n\t\tthis.openChange.emit(false);\n\t}\n\n\tonPrimaryAction(): void {\n\t\tthis.primaryAction.emit();\n\t}\n\n\tonSecondaryAction(): void {\n\t\tthis.secondaryAction.emit();\n\t}\n\n\tonBackdropClick(): void {\n\t\tif (this.closeOnBackdrop) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tget panelClassName(): string {\n\t\t// Legacy sizes (backward compatibility)\n\t\tif (this.size === \"desktop\") {\n\t\t\treturn this.buildPanelClasses([\n\t\t\t\t\"max-w-[640px]\",\n\t\t\t\t\"max-h-[calc(100vh-2rem)]\",\n\t\t\t\t\"rounded-[10px]\",\n\t\t\t]);\n\t\t}\n\n\t\tif (this.size === \"mobile\") {\n\t\t\treturn this.buildPanelClasses([\n\t\t\t\t\"max-w-[320px]\",\n\t\t\t\t\"min-h-[240px]\",\n\t\t\t\t\"rounded-[10px]\",\n\t\t\t]);\n\t\t}\n\n\t\tif (this.size === \"mobile-fullscreen\") {\n\t\t\treturn this.buildPanelClasses([\n\t\t\t\t\"max-w-[320px]\",\n\t\t\t\t\"h-[min(100dvh,640px)]\",\n\t\t\t\t\"rounded-none\",\n\t\t\t\t\"sm:rounded-[10px]\",\n\t\t\t]);\n\t\t}\n\n\t\t// New responsive mode (recomendado)\n\t\tif (this.size === \"responsive\") {\n\t\t\treturn this.buildPanelClasses([\n\t\t\t\t// Mobile: fullscreen con bordes redondeados solo arriba\n\t\t\t\t\"w-full\",\n\t\t\t\t\"h-full\",\n\t\t\t\t\"max-h-[100dvh]\",\n\t\t\t\t\"rounded-t-[10px]\",\n\t\t\t\t\"sm:rounded-[10px]\",\n\t\t\t\t// Desktop: modal centrado\n\t\t\t\t\"sm:w-auto\",\n\t\t\t\t\"sm:h-auto\",\n\t\t\t\t\"sm:max-w-[640px]\",\n\t\t\t\t\"sm:max-h-[calc(100vh-4rem)]\",\n\t\t\t]);\n\t\t}\n\n\t\t// New size options\n\t\tconst sizeMap = {\n\t\t\tsm: \"sm:max-w-[400px]\",\n\t\t\tmd: \"sm:max-w-[500px]\",\n\t\t\tlg: \"sm:max-w-[640px]\",\n\t\t\txl: \"sm:max-w-[800px]\",\n\t\t};\n\n\t\tconst maxWidth = sizeMap[this.size as keyof typeof sizeMap] || sizeMap.lg;\n\n\t\treturn this.buildPanelClasses([\n\t\t\t// Mobile: fullscreen\n\t\t\t\"w-full\",\n\t\t\t\"h-full\",\n\t\t\t\"max-h-[100dvh]\",\n\t\t\t\"rounded-t-[10px]\",\n\t\t\t// Desktop: modal\n\t\t\t\"sm:rounded-[10px]\",\n\t\t\t\"sm:w-auto\",\n\t\t\t\"sm:h-auto\",\n\t\t\tmaxWidth,\n\t\t\t\"sm:max-h-[calc(100vh-4rem)]\",\n\t\t]);\n\t}\n\n\tprivate buildPanelClasses(sizeClasses: string[]): string {\n\t\tconst base = [\n\t\t\t\"relative\",\n\t\t\tZ_INDEX.modal, // z-50 - debe estar sobre backdrop (z-40)\n\t\t\t\"flex\",\n\t\t\t\"flex-col\",\n\t\t\t\"border border-solid\",\n\t\t\t\"border-border\",\n\t\t\t\"bg-background\",\n\t\t\t\"text-foreground\",\n\t\t\t\"shadow-lg\",\n\t\t\t\"overflow-hidden\",\n\t\t\t...sizeClasses,\n\t\t\tthis.className,\n\t\t];\n\n\t\treturn base.filter(Boolean).join(\" \");\n\t}\n\n\tget bodyWrapperClassName(): string {\n\t\t// min-h-0 is CRITICAL for flex child to shrink and allow internal scroll\n\t\tconst base = [\n\t\t\t\"flex-1\",\n\t\t\t\"min-h-0\",\n\t\t\t\"overflow-y-auto\",\n\t\t\t\"px-4\",\n\t\t\t\"py-6\",\n\t\t\t\"sm:px-6\",\n\t\t\tthis.bodyClassName,\n\t\t];\n\n\t\treturn base.filter(Boolean).join(\" \");\n\t}\n\n\tget headerWrapperClassName(): string {\n\t\tconst base = [\n\t\t\t\"flex\",\n\t\t\t\"items-start\",\n\t\t\t\"justify-between\",\n\t\t\t\"gap-3\",\n\t\t\t\"p-4\",\n\t\t\t\"sm:p-6\",\n\t\t\t\"border-b\",\n\t\t\t\"border-border\",\n\t\t\tthis.headerClassName,\n\t\t];\n\n\t\treturn base.filter(Boolean).join(\" \");\n\t}\n\n\tget footerWrapperClassName(): string {\n\t\tconst effectiveAlign =\n\t\t\tthis.alignFooter === \"right\" && this.variant === \"custom-close\"\n\t\t\t\t? \"left\"\n\t\t\t\t: this.alignFooter;\n\n\t\tconst base = [\n\t\t\t\"p-4\",\n\t\t\t\"sm:p-6\",\n\t\t\t\"border-t\",\n\t\t\t\"border-border\",\n\t\t\t// Mobile: siempre full-width\n\t\t\t\"flex\",\n\t\t\t\"flex-col\",\n\t\t\t\"gap-2\",\n\t\t\t// Desktop: según alignFooter\n\t\t\teffectiveAlign === \"full-width\"\n\t\t\t\t? \"sm:flex-col\"\n\t\t\t\t: \"sm:flex-row sm:items-center\",\n\t\t\teffectiveAlign === \"left\" ? \"sm:justify-start\" : \"\",\n\t\t\teffectiveAlign === \"right\" ? \"sm:justify-end\" : \"\",\n\t\t\tthis.footerClassName,\n\t\t];\n\n\t\treturn base.filter(Boolean).join(\" \");\n\t}\n\n\tget containerClassName(): string {\n\t\t// Container con backdrop z-40\n\t\t// Mobile: fullscreen desde el bottom\n\t\t// Desktop: centrado\n\t\treturn responsive({\n\t\t\tdefault: `fixed inset-x-0 bottom-0 ${Z_INDEX.modalBackdrop} flex items-end justify-center`,\n\t\t\tsm: `fixed inset-0 ${Z_INDEX.modalBackdrop} flex items-center justify-center p-4`,\n\t\t});\n\t}\n}\n","<div *ngIf=\"open\" [ngClass]=\"containerClassName\">\n <!-- Backdrop -->\n <div class=\"absolute inset-0 bg-foreground/30 backdrop-blur-sm\" (click)=\"onBackdropClick()\"></div>\n \n <!-- Dialog Panel -->\n <section role=\"dialog\" aria-modal=\"true\" [ngClass]=\"panelClassName\">\n <!-- Header -->\n <div *ngIf=\"showHeader\" [ngClass]=\"headerWrapperClassName\">\n <div class=\"min-w-0 flex-1\">\n <h2 class=\"m-0 text-lg font-semibold leading-none tracking-tight text-foreground\">{{ title }}</h2>\n <p *ngIf=\"description\" class=\"m-0 mt-2 text-sm text-muted-foreground\">{{ description }}</p>\n </div>\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n class=\"inline-flex h-6 w-6 flex-shrink-0 appearance-none box-border items-center justify-center rounded-sm border-0 bg-transparent p-0 text-foreground opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\"\n (click)=\"close()\"\n aria-label=\"Close dialog\"\n >\n <svg viewBox=\"0 0 24 24\" class=\"h-4 w-4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 6L18 18M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"></path>\n </svg>\n </button>\n </div>\n\n <!-- Body -->\n <div [ngClass]=\"bodyWrapperClassName\">\n <ng-content></ng-content>\n </div>\n\n <!-- Footer -->\n <div *ngIf=\"showFooter\" [ngClass]=\"footerWrapperClassName\">\n <ng-container *ngIf=\"variant === 'custom-close'; else defaultActions\">\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md border border-solid border-input bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm sm:w-auto\"\n (click)=\"onSecondaryAction()\"\n >\n {{ secondaryActionText }}\n </button>\n <button\n type=\"button\"\n class=\"inline-flex h-9 w-full appearance-none box-border items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow-sm sm:w-auto\"\n (click)=\"onPrimaryAction()\"\n >\n {{ primaryActionText }}\n </button>\n </ng-template>\n </div>\n </section>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PdmDialogComponent } from './dialog.component';\n\nconst COMPONENTS = [\n PdmDialogComponent,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PdmDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|