@radix-ng/primitives 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/accordion/src/accordion-content.directive.d.ts +11 -0
- package/accordion/src/accordion-header.directive.d.ts +7 -0
- package/accordion/src/accordion-item.directive.d.ts +82 -0
- package/accordion/src/accordion-root.directive.d.ts +93 -0
- package/accordion/src/accordion-trigger.directive.d.ts +15 -0
- package/alert-dialog/{index.ts → index.d.ts} +0 -1
- package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +7 -0
- package/alert-dialog/src/alert-dialog-content.directive.d.ts +9 -0
- package/alert-dialog/src/alert-dialog-root.directive.d.ts +9 -0
- package/alert-dialog/src/alert-dialog-title.directive.d.ts +5 -0
- package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +7 -0
- package/alert-dialog/src/alert-dialog.service.d.ts +14 -0
- package/avatar/src/avatar-fallback.directive.d.ts +28 -0
- package/avatar/src/avatar-image.directive.d.ts +21 -0
- package/avatar/src/avatar-root.directive.d.ts +21 -0
- package/avatar/src/avatar.config.d.ts +13 -0
- package/checkbox/src/checkbox-button.directive.d.ts +8 -0
- package/checkbox/src/checkbox-indicator.directive.d.ts +6 -0
- package/checkbox/src/checkbox-input.directive.d.ts +9 -0
- package/checkbox/src/checkbox.directive.d.ts +75 -0
- package/checkbox/src/checkbox.token.d.ts +4 -0
- package/collapsible/src/collapsible-content.directive.d.ts +17 -0
- package/collapsible/src/collapsible-content.token.d.ts +3 -0
- package/collapsible/src/collapsible-root.directive.d.ts +55 -0
- package/collapsible/src/collapsible-trigger.directive.d.ts +26 -0
- package/compodoc/documentation.json +13895 -0
- package/context-menu/src/context-menu-content.directive.d.ts +15 -0
- package/context-menu/src/context-menu-item-checkbox.directive.d.ts +9 -0
- package/context-menu/src/context-menu-item-indicator.directive.d.ts +7 -0
- package/context-menu/src/context-menu-item-radio-group.directive.d.ts +12 -0
- package/context-menu/src/context-menu-item-radio.directive.d.ts +19 -0
- package/context-menu/src/context-menu-item-selectable.d.ts +12 -0
- package/context-menu/src/context-menu-item.directive.d.ts +17 -0
- package/context-menu/src/context-menu-label.directive.d.ts +5 -0
- package/context-menu/src/context-menu-separator.directive.d.ts +6 -0
- package/context-menu/src/context-menu-trigger.directive.d.ts +31 -0
- package/dialog/index.d.ts +23 -0
- package/dialog/src/dialog-close.directive.d.ts +7 -0
- package/dialog/src/dialog-content.directive.d.ts +21 -0
- package/dialog/src/dialog-description.directive.d.ts +5 -0
- package/dialog/src/dialog-dismiss.directive.d.ts +7 -0
- package/dialog/src/dialog-ref.d.ts +37 -0
- package/dialog/src/dialog-title.directive.d.ts +5 -0
- package/dialog/src/dialog-trigger.directive.d.ts +16 -0
- package/dialog/src/{dialog.config.ts → dialog.config.d.ts} +17 -33
- package/dialog/src/dialog.injectors.d.ts +4 -0
- package/dialog/src/{dialog.providers.ts → dialog.providers.d.ts} +3 -11
- package/dialog/src/dialog.service.d.ts +26 -0
- package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +15 -0
- package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +9 -0
- package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +7 -0
- package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +12 -0
- package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +19 -0
- package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +12 -0
- package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +17 -0
- package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +5 -0
- package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +6 -0
- package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +46 -0
- package/esm2022/accordion/index.mjs +6 -0
- package/esm2022/accordion/radix-ng-primitives-accordion.mjs +5 -0
- package/esm2022/accordion/src/accordion-content.directive.mjs +42 -0
- package/esm2022/accordion/src/accordion-header.directive.mjs +23 -0
- package/esm2022/accordion/src/accordion-item.directive.mjs +187 -0
- package/esm2022/accordion/src/accordion-root.directive.mjs +172 -0
- package/esm2022/accordion/src/accordion-trigger.directive.mjs +42 -0
- package/esm2022/alert-dialog/index.mjs +7 -0
- package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +5 -0
- package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +24 -0
- package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +34 -0
- package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +24 -0
- package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +14 -0
- package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +24 -0
- package/esm2022/alert-dialog/src/alert-dialog.service.mjs +46 -0
- package/esm2022/avatar/index.mjs +5 -0
- package/esm2022/avatar/radix-ng-primitives-avatar.mjs +5 -0
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +60 -0
- package/esm2022/avatar/src/avatar-image.directive.mjs +52 -0
- package/esm2022/avatar/src/avatar-root.directive.mjs +38 -0
- package/esm2022/avatar/src/avatar.config.mjs +17 -0
- package/esm2022/checkbox/index.mjs +6 -0
- package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +5 -0
- package/esm2022/checkbox/src/checkbox-button.directive.mjs +33 -0
- package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +24 -0
- package/esm2022/checkbox/src/checkbox-input.directive.mjs +41 -0
- package/esm2022/checkbox/src/checkbox.directive.mjs +141 -0
- package/esm2022/checkbox/src/checkbox.token.mjs +6 -0
- package/esm2022/collapsible/index.mjs +4 -0
- package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +5 -0
- package/esm2022/collapsible/src/collapsible-content.directive.mjs +45 -0
- package/esm2022/collapsible/src/collapsible-content.token.mjs +3 -0
- package/esm2022/collapsible/src/collapsible-root.directive.mjs +118 -0
- package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +49 -0
- package/esm2022/context-menu/index.mjs +11 -0
- package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +5 -0
- package/esm2022/context-menu/src/context-menu-content.directive.mjs +56 -0
- package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +39 -0
- package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +22 -0
- package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +37 -0
- package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +67 -0
- package/esm2022/context-menu/src/context-menu-item-selectable.mjs +31 -0
- package/esm2022/context-menu/src/context-menu-item.directive.mjs +70 -0
- package/esm2022/context-menu/src/context-menu-label.directive.mjs +14 -0
- package/esm2022/context-menu/src/context-menu-separator.directive.mjs +21 -0
- package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +92 -0
- package/esm2022/dialog/index.mjs +47 -0
- package/esm2022/dialog/radix-ng-primitives-dialog.mjs +5 -0
- package/esm2022/dialog/src/dialog-close.directive.mjs +25 -0
- package/esm2022/dialog/src/dialog-content.directive.mjs +46 -0
- package/esm2022/dialog/src/dialog-description.directive.mjs +14 -0
- package/esm2022/dialog/src/dialog-dismiss.directive.mjs +25 -0
- package/esm2022/dialog/src/dialog-ref.mjs +46 -0
- package/esm2022/dialog/src/dialog-title.directive.mjs +14 -0
- package/esm2022/dialog/src/dialog-trigger.directive.mjs +54 -0
- package/esm2022/dialog/src/dialog.config.mjs +6 -0
- package/esm2022/dialog/src/dialog.injectors.mjs +10 -0
- package/esm2022/dialog/src/dialog.providers.mjs +26 -0
- package/esm2022/dialog/src/dialog.service.mjs +87 -0
- package/esm2022/dropdown-menu/index.mjs +11 -0
- package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +5 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +56 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +39 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +22 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +37 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +67 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +31 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +71 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +14 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +21 -0
- package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +179 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/label/index.mjs +2 -0
- package/esm2022/label/radix-ng-primitives-label.mjs +5 -0
- package/esm2022/label/src/label.directive.mjs +59 -0
- package/esm2022/menu/index.mjs +45 -0
- package/esm2022/menu/radix-ng-primitives-menu.mjs +5 -0
- package/esm2022/menu/src/menu-content.directive.mjs +17 -0
- package/esm2022/menu/src/menu-directive.mjs +18 -0
- package/esm2022/menu/src/menu-group.directive.mjs +20 -0
- package/esm2022/menu/src/menu-item.directive.mjs +46 -0
- package/esm2022/menu/src/menu-label.directive.mjs +14 -0
- package/esm2022/menu/src/menu-separator.directive.mjs +21 -0
- package/esm2022/menubar/index.mjs +60 -0
- package/esm2022/menubar/radix-ng-primitives-menubar.mjs +5 -0
- package/esm2022/menubar/src/menubar-content.directive.mjs +17 -0
- package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +34 -0
- package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +17 -0
- package/esm2022/menubar/src/menubar-item-radio.directive.mjs +35 -0
- package/esm2022/menubar/src/menubar-item.directive.mjs +20 -0
- package/esm2022/menubar/src/menubar-radio-group.directive.mjs +17 -0
- package/esm2022/menubar/src/menubar-root.directive.mjs +24 -0
- package/esm2022/menubar/src/menubar-separator.directive.mjs +17 -0
- package/esm2022/menubar/src/menubar-trigger.directive.mjs +45 -0
- package/esm2022/progress/index.mjs +3 -0
- package/esm2022/progress/radix-ng-primitives-progress.mjs +5 -0
- package/esm2022/progress/src/progress-indicator.directive.mjs +34 -0
- package/esm2022/progress/src/progress-root.directive.mjs +127 -0
- package/esm2022/radio/index.mjs +4 -0
- package/esm2022/radio/radix-ng-primitives-radio.mjs +5 -0
- package/esm2022/radio/src/radio-indicator.directive.mjs +25 -0
- package/esm2022/radio/src/radio-item.directive.mjs +70 -0
- package/esm2022/radio/src/radio-root.directive.mjs +194 -0
- package/esm2022/radio/src/radio-tokens.mjs +3 -0
- package/esm2022/radix-ng-primitives.mjs +5 -0
- package/esm2022/separator/index.mjs +2 -0
- package/esm2022/separator/radix-ng-primitives-separator.mjs +5 -0
- package/esm2022/separator/src/separator.directive.mjs +32 -0
- package/esm2022/switch/index.mjs +30 -0
- package/esm2022/switch/radix-ng-primitives-switch.mjs +5 -0
- package/esm2022/switch/src/switch-input.directive.mjs +32 -0
- package/esm2022/switch/src/switch-root.directive.mjs +95 -0
- package/esm2022/switch/src/switch-thumb.directive.mjs +23 -0
- package/esm2022/tabs/index.mjs +38 -0
- package/esm2022/tabs/radix-ng-primitives-tabs.mjs +5 -0
- package/esm2022/tabs/src/tabs-content.directive.mjs +29 -0
- package/esm2022/tabs/src/tabs-context.service.mjs +43 -0
- package/esm2022/tabs/src/tabs-list.directive.mjs +23 -0
- package/esm2022/tabs/src/tabs-root.directive.mjs +54 -0
- package/esm2022/tabs/src/tabs-trigger.directive.mjs +52 -0
- package/esm2022/toggle/index.mjs +2 -0
- package/esm2022/toggle/radix-ng-primitives-toggle.mjs +5 -0
- package/esm2022/toggle/src/toggle.directive.mjs +39 -0
- package/esm2022/toggle-group/index.mjs +6 -0
- package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +5 -0
- package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +75 -0
- package/esm2022/toggle-group/src/toggle-group-button.token.mjs +6 -0
- package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +143 -0
- package/esm2022/toggle-group/src/toggle-group.directive.mjs +134 -0
- package/esm2022/toggle-group/src/toggle-group.token.mjs +6 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs +455 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +159 -0
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-avatar.mjs +166 -0
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-checkbox.mjs +241 -0
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-collapsible.mjs +213 -0
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-context-menu.mjs +420 -0
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-dialog.mjs +361 -0
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +509 -0
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-label.mjs +66 -0
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-menu.mjs +158 -0
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-menubar.mjs +245 -0
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-progress.mjs +165 -0
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-radio.mjs +289 -0
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-separator.mjs +39 -0
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-switch.mjs +173 -0
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-tabs.mjs +222 -0
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +358 -0
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-toggle.mjs +46 -0
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives.mjs +4 -0
- package/fesm2022/radix-ng-primitives.mjs.map +1 -0
- package/label/src/label.directive.d.ts +29 -0
- package/menu/index.d.ts +18 -0
- package/menu/src/menu-content.directive.d.ts +6 -0
- package/menu/src/menu-directive.d.ts +6 -0
- package/menu/src/menu-group.directive.d.ts +6 -0
- package/menu/src/menu-item.directive.d.ts +12 -0
- package/menu/src/menu-label.directive.d.ts +5 -0
- package/menu/src/menu-separator.directive.d.ts +6 -0
- package/menubar/index.d.ts +24 -0
- package/menubar/src/menubar-content.directive.d.ts +6 -0
- package/menubar/src/menubar-item-checkbox.directive.d.ts +14 -0
- package/menubar/src/menubar-item-indicator.directive.d.ts +5 -0
- package/menubar/src/menubar-item-radio.directive.d.ts +14 -0
- package/menubar/src/menubar-item.directive.d.ts +8 -0
- package/menubar/src/menubar-radio-group.directive.d.ts +6 -0
- package/menubar/src/menubar-root.directive.d.ts +7 -0
- package/menubar/src/menubar-separator.directive.d.ts +6 -0
- package/menubar/src/menubar-trigger.directive.d.ts +11 -0
- package/package.json +124 -4
- package/progress/{index.ts → index.d.ts} +0 -1
- package/progress/src/progress-indicator.directive.d.ts +16 -0
- package/progress/src/progress-root.directive.d.ts +63 -0
- package/radio/{index.ts → index.d.ts} +0 -1
- package/radio/src/radio-indicator.directive.d.ts +9 -0
- package/radio/src/radio-item.directive.d.ts +21 -0
- package/radio/src/radio-root.directive.d.ts +72 -0
- package/radio/src/{radio-tokens.ts → radio-tokens.d.ts} +1 -5
- package/separator/src/separator.directive.d.ts +22 -0
- package/switch/index.d.ts +13 -0
- package/switch/src/switch-input.directive.d.ts +6 -0
- package/switch/src/switch-root.directive.d.ts +51 -0
- package/switch/src/switch-thumb.directive.d.ts +6 -0
- package/tabs/index.d.ts +15 -0
- package/tabs/src/tabs-content.directive.d.ts +8 -0
- package/tabs/src/tabs-context.service.d.ts +22 -0
- package/tabs/src/tabs-list.directive.d.ts +6 -0
- package/tabs/src/tabs-root.directive.d.ts +37 -0
- package/tabs/src/tabs-trigger.directive.d.ts +19 -0
- package/toggle/src/toggle.directive.d.ts +30 -0
- package/toggle-group/src/toggle-group-button.directive.d.ts +39 -0
- package/toggle-group/src/toggle-group-button.token.d.ts +4 -0
- package/toggle-group/src/toggle-group-multi.directive.d.ts +93 -0
- package/toggle-group/src/toggle-group.directive.d.ts +84 -0
- package/toggle-group/src/toggle-group.token.d.ts +5 -0
- package/.compodocrc.json +0 -12
- package/CHANGELOG.md +0 -182
- package/accordion/__tests__/accordion-content.directive.spec.ts +0 -8
- package/accordion/__tests__/accordion-header.directive.spec.ts +0 -8
- package/accordion/__tests__/accordion-item.directive.spec.ts +0 -8
- package/accordion/__tests__/accordion-root.directive.spec.ts +0 -8
- package/accordion/__tests__/accordion-trigger.directive.spec.ts +0 -8
- package/accordion/ng-package.json +0 -5
- package/accordion/src/accordion-content.directive.ts +0 -46
- package/accordion/src/accordion-header.directive.ts +0 -15
- package/accordion/src/accordion-item.directive.ts +0 -216
- package/accordion/src/accordion-root.directive.ts +0 -205
- package/accordion/src/accordion-trigger.directive.ts +0 -37
- package/accordion/stories/accordion.docs.mdx +0 -77
- package/accordion/stories/accordion.stories.ts +0 -340
- package/alert-dialog/ng-package.json +0 -5
- package/alert-dialog/src/alert-dialog-cancel.directive.ts +0 -17
- package/alert-dialog/src/alert-dialog-content.directive.ts +0 -24
- package/alert-dialog/src/alert-dialog-root.directive.ts +0 -15
- package/alert-dialog/src/alert-dialog-title.directive.ts +0 -7
- package/alert-dialog/src/alert-dialog-trigger.directive.ts +0 -17
- package/alert-dialog/src/alert-dialog.service.ts +0 -51
- package/alert-dialog/stories/alert-dialog.stories.ts +0 -139
- package/avatar/__tests__/avatar-fallback.directive.spec.ts +0 -31
- package/avatar/__tests__/avatar-image.directive.spec.ts +0 -36
- package/avatar/ng-package.json +0 -5
- package/avatar/src/avatar-fallback.directive.ts +0 -62
- package/avatar/src/avatar-image.directive.ts +0 -55
- package/avatar/src/avatar-root.directive.ts +0 -35
- package/avatar/src/avatar.config.ts +0 -29
- package/avatar/stories/avatar.docs.mdx +0 -37
- package/avatar/stories/avatar.stories.ts +0 -87
- package/button/__tests__/.gitkeep +0 -0
- package/button/src/button-abstract.directive.ts +0 -46
- package/checkbox/ng-package.json +0 -5
- package/checkbox/src/checkbox-button.directive.ts +0 -26
- package/checkbox/src/checkbox-indicator.directive.ts +0 -16
- package/checkbox/src/checkbox-input.directive.ts +0 -36
- package/checkbox/src/checkbox.directive.ts +0 -146
- package/checkbox/src/checkbox.token.ts +0 -8
- package/checkbox/stories/checkbox-group.component.ts +0 -87
- package/checkbox/stories/checkbox-group.styles.scss +0 -49
- package/checkbox/stories/checkbox-indeterminate.component.ts +0 -52
- package/checkbox/stories/checkbox.docs.mdx +0 -58
- package/checkbox/stories/checkbox.stories.ts +0 -105
- package/collapsible/__tests__/collapsible-content.directive.spec.ts +0 -30
- package/collapsible/__tests__/collapsible-root.directive.spec.ts +0 -27
- package/collapsible/__tests__/collapsible-trigger.directive.spec.ts +0 -30
- package/collapsible/ng-package.json +0 -5
- package/collapsible/src/collapsible-content.directive.ts +0 -34
- package/collapsible/src/collapsible-content.token.ts +0 -6
- package/collapsible/src/collapsible-root.directive.ts +0 -120
- package/collapsible/src/collapsible-trigger.directive.ts +0 -44
- package/collapsible/stories/collapsible-animation.component.ts +0 -116
- package/collapsible/stories/collapsible-external-triggering.component.ts +0 -86
- package/collapsible/stories/collapsible.docs.mdx +0 -53
- package/collapsible/stories/collapsible.stories.ts +0 -151
- package/context-menu/ng-package.json +0 -5
- package/context-menu/src/context-menu-content.directive.ts +0 -47
- package/context-menu/src/context-menu-item-checkbox.directive.ts +0 -30
- package/context-menu/src/context-menu-item-indicator.directive.ts +0 -14
- package/context-menu/src/context-menu-item-radio-group.directive.ts +0 -31
- package/context-menu/src/context-menu-item-radio.directive.ts +0 -69
- package/context-menu/src/context-menu-item-selectable.ts +0 -18
- package/context-menu/src/context-menu-item.directive.ts +0 -65
- package/context-menu/src/context-menu-label.directive.ts +0 -7
- package/context-menu/src/context-menu-separator.directive.ts +0 -13
- package/context-menu/src/context-menu-trigger.directive.ts +0 -82
- package/context-menu/stories/context-menu.docs.mdx +0 -23
- package/context-menu/stories/context-menu.stories.ts +0 -253
- package/core/index.ts +0 -3
- package/core/src/accessor/provide-value-accessor.ts +0 -20
- package/core/src/auto-focus.directive.ts +0 -81
- package/core/src/inject-ng-control.ts +0 -28
- package/core/src/mount.ts +0 -27
- package/dialog/__tests__/dialog-content.directive.spec.ts +0 -77
- package/dialog/__tests__/dialog-trigger.directive.spec.ts +0 -85
- package/dialog/index.ts +0 -31
- package/dialog/ng-package.json +0 -5
- package/dialog/src/dialog-close.directive.ts +0 -18
- package/dialog/src/dialog-content.directive.ts +0 -45
- package/dialog/src/dialog-description.directive.ts +0 -7
- package/dialog/src/dialog-dismiss.directive.ts +0 -18
- package/dialog/src/dialog-ref.ts +0 -70
- package/dialog/src/dialog-title.directive.ts +0 -7
- package/dialog/src/dialog-trigger.directive.ts +0 -52
- package/dialog/src/dialog.injectors.ts +0 -12
- package/dialog/src/dialog.service.ts +0 -94
- package/dialog/stories/dialog.docs.mdx +0 -32
- package/dialog/stories/dialog.stories.ts +0 -233
- package/dropdown-menu/ng-package.json +0 -5
- package/dropdown-menu/src/dropdown-menu-content.directive.ts +0 -47
- package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.ts +0 -30
- package/dropdown-menu/src/dropdown-menu-item-indicator.directive.ts +0 -14
- package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.ts +0 -31
- package/dropdown-menu/src/dropdown-menu-item-radio.directive.ts +0 -72
- package/dropdown-menu/src/dropdown-menu-item-selectable.ts +0 -18
- package/dropdown-menu/src/dropdown-menu-item.directive.ts +0 -66
- package/dropdown-menu/src/dropdown-menu-label.directive.ts +0 -7
- package/dropdown-menu/src/dropdown-menu-separator.directive.ts +0 -13
- package/dropdown-menu/src/dropdown-menu-trigger.directive.ts +0 -185
- package/dropdown-menu/stories/dropdown-menu-item-checkbox.component.ts +0 -104
- package/dropdown-menu/stories/dropdown-menu-item-checkbox.styles.scss +0 -106
- package/dropdown-menu/stories/dropdown-menu-item-radio.component.ts +0 -95
- package/dropdown-menu/stories/dropdown-menu-item-radio.styles.scss +0 -106
- package/dropdown-menu/stories/dropdown.docs.mdx +0 -27
- package/dropdown-menu/stories/dropdown.stories.ts +0 -212
- package/form-field/index.ts +0 -1
- package/form-field/src/.gitkeep +0 -0
- package/jest.config.ts +0 -21
- package/label/__tests__/label-root.directive.spec.ts +0 -99
- package/label/ng-package.json +0 -5
- package/label/src/label.directive.ts +0 -58
- package/label/stories/label.docs.mdx +0 -40
- package/label/stories/label.stories.ts +0 -76
- package/menu/index.ts +0 -29
- package/menu/ng-package.json +0 -5
- package/menu/src/menu-content.directive.ts +0 -9
- package/menu/src/menu-directive.ts +0 -10
- package/menu/src/menu-group.directive.ts +0 -12
- package/menu/src/menu-item.directive.ts +0 -44
- package/menu/src/menu-label.directive.ts +0 -7
- package/menu/src/menu-separator.directive.ts +0 -13
- package/menubar/index.ts +0 -38
- package/menubar/ng-package.json +0 -5
- package/menubar/src/menubar-content.directive.ts +0 -9
- package/menubar/src/menubar-item-checkbox.directive.ts +0 -32
- package/menubar/src/menubar-item-indicator.directive.ts +0 -10
- package/menubar/src/menubar-item-radio.directive.ts +0 -33
- package/menubar/src/menubar-item.directive.ts +0 -12
- package/menubar/src/menubar-radio-group.directive.ts +0 -9
- package/menubar/src/menubar-root.directive.ts +0 -15
- package/menubar/src/menubar-separator.directive.ts +0 -9
- package/menubar/src/menubar-trigger.directive.ts +0 -40
- package/menubar/stories/menubar.stories.ts +0 -229
- package/ng-package.json +0 -8
- package/portal/stories/portal.docs.mdx +0 -85
- package/presence/__test__/presence-test.component.ts +0 -51
- package/presence/__test__/presence.spec.ts +0 -50
- package/presence/index.ts +0 -4
- package/presence/src/presence.ts +0 -119
- package/presence/src/transitions/transition.collapse.ts +0 -99
- package/presence/src/transitions/transition.toast.ts +0 -27
- package/presence/src/types.ts +0 -20
- package/presence/src/utils.ts +0 -63
- package/presence/stories/presence-story.componen.ts +0 -69
- package/presence/stories/presence.docs.mdx +0 -40
- package/presence/stories/presence.stories.ts +0 -29
- package/progress/__test__/progress.spec.ts +0 -55
- package/progress/ng-package.json +0 -5
- package/progress/src/progress-indicator.directive.ts +0 -26
- package/progress/src/progress-root.directive.ts +0 -134
- package/progress/stories/progress.docs.mdx +0 -65
- package/progress/stories/progress.stories.ts +0 -66
- package/project.json +0 -39
- package/radio/ng-package.json +0 -5
- package/radio/src/radio-indicator.directive.ts +0 -17
- package/radio/src/radio-item.directive.ts +0 -68
- package/radio/src/radio-root.directive.ts +0 -207
- package/radio/stories/radio-group.component.ts +0 -39
- package/radio/stories/radio-group.styles.scss +0 -70
- package/radio/stories/radio.docs.mdx +0 -68
- package/radio/stories/radio.stories.ts +0 -155
- package/separator/__tests__/separator.directive.spec.ts +0 -58
- package/separator/ng-package.json +0 -5
- package/separator/src/separator.directive.ts +0 -35
- package/separator/stories/separator.docs.mdx +0 -37
- package/separator/stories/separator.stories.ts +0 -82
- package/slider/src/slider-input.directive.ts +0 -0
- package/slider/src/slider-thumb.directives.ts +0 -60
- package/slider/src/slider-track.directive.ts +0 -11
- package/slider/src/slider.directive.ts +0 -59
- package/slider/src/slider.types.ts +0 -4
- package/switch/index.ts +0 -22
- package/switch/ng-package.json +0 -5
- package/switch/src/switch-input.directive.ts +0 -24
- package/switch/src/switch-root.directive.ts +0 -127
- package/switch/src/switch-thumb.directive.ts +0 -15
- package/switch/stories/switch.docs.mdx +0 -83
- package/switch/stories/switch.stories.ts +0 -149
- package/tabs/__tests__/tabs-context.service.spec.ts +0 -35
- package/tabs/index.ts +0 -26
- package/tabs/ng-package.json +0 -5
- package/tabs/src/tabs-content.directive.ts +0 -23
- package/tabs/src/tabs-context.service.ts +0 -43
- package/tabs/src/tabs-list.directive.ts +0 -21
- package/tabs/src/tabs-root.directive.ts +0 -70
- package/tabs/src/tabs-trigger.directive.ts +0 -55
- package/tabs/stories/tabs.stories.ts +0 -213
- package/test-setup.ts +0 -1
- package/toggle/__tests__/toggle.directive.spec.ts +0 -87
- package/toggle/ng-package.json +0 -5
- package/toggle/src/toggle.directive.ts +0 -49
- package/toggle/stories/toggle.docs.mdx +0 -60
- package/toggle/stories/toggle.stories.ts +0 -84
- package/toggle-group/ng-package.json +0 -5
- package/toggle-group/src/toggle-group-button.directive.ts +0 -73
- package/toggle-group/src/toggle-group-button.token.ts +0 -8
- package/toggle-group/src/toggle-group-multi.directive.ts +0 -158
- package/toggle-group/src/toggle-group.directive.ts +0 -148
- package/toggle-group/src/toggle-group.token.ts +0 -11
- package/toggle-group/stories/toggle-group.docs.mdx +0 -87
- package/toggle-group/stories/toggle-group.stories.ts +0 -95
- package/tsconfig.doc.json +0 -11
- package/tsconfig.json +0 -29
- package/tsconfig.lib.json +0 -19
- package/tsconfig.lib.prod.json +0 -12
- package/tsconfig.spec.json +0 -11
- package/visually-hidden/README.md +0 -3
- package/visually-hidden/stories/visually-hidden.docs.mdx +0 -36
- /package/accordion/{index.ts → index.d.ts} +0 -0
- /package/avatar/{index.ts → index.d.ts} +0 -0
- /package/checkbox/{index.ts → index.d.ts} +0 -0
- /package/collapsible/{index.ts → index.d.ts} +0 -0
- /package/context-menu/{index.ts → index.d.ts} +0 -0
- /package/dropdown-menu/{index.ts → index.d.ts} +0 -0
- /package/{index.ts → index.d.ts} +0 -0
- /package/label/{index.ts → index.d.ts} +0 -0
- /package/separator/{index.ts → index.d.ts} +0 -0
- /package/toggle/{index.ts → index.d.ts} +0 -0
- /package/toggle-group/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { RdxTabsContentDirective } from './src/tabs-content.directive';
|
3
|
+
import { RdxTabsContextService } from './src/tabs-context.service';
|
4
|
+
import { RdxTabsListDirective } from './src/tabs-list.directive';
|
5
|
+
import { RdxTabsRootDirective } from './src/tabs-root.directive';
|
6
|
+
import { RdxTabsTriggerDirective } from './src/tabs-trigger.directive';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
export * from './src/tabs-content.directive';
|
9
|
+
export * from './src/tabs-context.service';
|
10
|
+
export * from './src/tabs-list.directive';
|
11
|
+
export * from './src/tabs-root.directive';
|
12
|
+
export * from './src/tabs-trigger.directive';
|
13
|
+
const tabsImports = [
|
14
|
+
RdxTabsRootDirective,
|
15
|
+
RdxTabsContentDirective,
|
16
|
+
RdxTabsListDirective,
|
17
|
+
RdxTabsTriggerDirective
|
18
|
+
];
|
19
|
+
export class RdxTabsModule {
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
21
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsModule, imports: [RdxTabsRootDirective,
|
22
|
+
RdxTabsContentDirective,
|
23
|
+
RdxTabsListDirective,
|
24
|
+
RdxTabsTriggerDirective], exports: [RdxTabsRootDirective,
|
25
|
+
RdxTabsContentDirective,
|
26
|
+
RdxTabsListDirective,
|
27
|
+
RdxTabsTriggerDirective] }); }
|
28
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsModule, providers: [RdxTabsContextService] }); }
|
29
|
+
}
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsModule, decorators: [{
|
31
|
+
type: NgModule,
|
32
|
+
args: [{
|
33
|
+
imports: [...tabsImports],
|
34
|
+
exports: [...tabsImports],
|
35
|
+
providers: [RdxTabsContextService]
|
36
|
+
}]
|
37
|
+
}] });
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RhYnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFdkUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLE1BQU0sV0FBVyxHQUFHO0lBQ2hCLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtDQUMxQixDQUFDO0FBT0YsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLFlBWHRCLG9CQUFvQjtZQUNwQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLHVCQUF1QixhQUh2QixvQkFBb0I7WUFDcEIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQix1QkFBdUI7K0dBUWQsYUFBYSxhQUZYLENBQUMscUJBQXFCLENBQUM7OzJGQUV6QixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDO29CQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQztvQkFDekIsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFRhYnNDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvdGFicy1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhUYWJzQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NyYy90YWJzLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBSZHhUYWJzTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL3RhYnMtbGlzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4VGFic1Jvb3REaXJlY3RpdmUgfSBmcm9tICcuL3NyYy90YWJzLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFRhYnNUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvdGFicy10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3RhYnMtY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvdGFicy1jb250ZXh0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvdGFicy1saXN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90YWJzLXJvb3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3RhYnMtdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5jb25zdCB0YWJzSW1wb3J0cyA9IFtcbiAgICBSZHhUYWJzUm9vdERpcmVjdGl2ZSxcbiAgICBSZHhUYWJzQ29udGVudERpcmVjdGl2ZSxcbiAgICBSZHhUYWJzTGlzdERpcmVjdGl2ZSxcbiAgICBSZHhUYWJzVHJpZ2dlckRpcmVjdGl2ZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4udGFic0ltcG9ydHNdLFxuICAgIGV4cG9ydHM6IFsuLi50YWJzSW1wb3J0c10sXG4gICAgcHJvdmlkZXJzOiBbUmR4VGFic0NvbnRleHRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUYWJzTW9kdWxlIHt9XG4iXX0=
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy10YWJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90YWJzL3JhZGl4LW5nLXByaW1pdGl2ZXMtdGFicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { computed, Directive, inject, input } from '@angular/core';
|
2
|
+
import { TABS_CONTEXT_TOKEN } from './tabs-context.service';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class RdxTabsContentDirective {
|
5
|
+
constructor() {
|
6
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
7
|
+
this.value = input.required();
|
8
|
+
this.selected = computed(() => this.tabsContext.value$() === this.value());
|
9
|
+
}
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
11
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxTabsContentDirective, isStandalone: true, selector: "[rdxTabsContent]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, properties: { "id": "tabsContext.getBaseId()", "attr.aria-labelledby": "tabsContext.getBaseId()", "attr.data-state": "selected() ? \"active\" : \"inactive\"", "attr.data-orientation": "tabsContext.orientation$()", "hidden": "!selected()" } }, ngImport: i0 }); }
|
12
|
+
}
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsContentDirective, decorators: [{
|
14
|
+
type: Directive,
|
15
|
+
args: [{
|
16
|
+
selector: '[rdxTabsContent]',
|
17
|
+
standalone: true,
|
18
|
+
host: {
|
19
|
+
role: 'tabpanel',
|
20
|
+
tabindex: '0',
|
21
|
+
'[id]': 'tabsContext.getBaseId()',
|
22
|
+
'[attr.aria-labelledby]': 'tabsContext.getBaseId()',
|
23
|
+
'[attr.data-state]': 'selected() ? "active" : "inactive"',
|
24
|
+
'[attr.data-orientation]': 'tabsContext.orientation$()',
|
25
|
+
'[hidden]': '!selected()'
|
26
|
+
}
|
27
|
+
}]
|
28
|
+
}] });
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWU1RCxNQUFNLE9BQU8sdUJBQXVCO0lBYnBDO1FBY3VCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFbkQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUV2QixhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDNUY7OEdBTlksdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBYm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsUUFBUSxFQUFFLEdBQUc7d0JBQ2IsTUFBTSxFQUFFLHlCQUF5Qjt3QkFDakMsd0JBQXdCLEVBQUUseUJBQXlCO3dCQUNuRCxtQkFBbUIsRUFBRSxvQ0FBb0M7d0JBQ3pELHlCQUF5QixFQUFFLDRCQUE0Qjt3QkFDdkQsVUFBVSxFQUFFLGFBQWE7cUJBQzVCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEFCU19DT05URVhUX1RPS0VOIH0gZnJvbSAnLi90YWJzLWNvbnRleHQuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRhYnNDb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICd0YWJwYW5lbCcsXG4gICAgICAgIHRhYmluZGV4OiAnMCcsXG4gICAgICAgICdbaWRdJzogJ3RhYnNDb250ZXh0LmdldEJhc2VJZCgpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAndGFic0NvbnRleHQuZ2V0QmFzZUlkKCknLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnc2VsZWN0ZWQoKSA/IFwiYWN0aXZlXCIgOiBcImluYWN0aXZlXCInLFxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAndGFic0NvbnRleHQub3JpZW50YXRpb24kKCknLFxuICAgICAgICAnW2hpZGRlbl0nOiAnIXNlbGVjdGVkKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUYWJzQ29udGVudERpcmVjdGl2ZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYnNDb250ZXh0ID0gaW5qZWN0KFRBQlNfQ09OVEVYVF9UT0tFTik7XG5cbiAgICByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGFic0NvbnRleHQudmFsdWUkKCkgPT09IHRoaXMudmFsdWUoKSk7XG59XG4iXX0=
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { computed, Injectable, InjectionToken, signal } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export const TABS_CONTEXT_TOKEN = new InjectionToken('TabsContext');
|
4
|
+
export class RdxTabsContextService {
|
5
|
+
constructor() {
|
6
|
+
this.baseId = this.generateId();
|
7
|
+
this.value = signal(undefined);
|
8
|
+
this.orientation = signal('horizontal');
|
9
|
+
this.dir = signal(undefined);
|
10
|
+
this.activationMode = signal('automatic');
|
11
|
+
this.value$ = computed(() => this.value());
|
12
|
+
this.orientation$ = computed(() => this.orientation());
|
13
|
+
this.dir$ = computed(() => this.dir());
|
14
|
+
this.activationMode$ = computed(() => this.activationMode());
|
15
|
+
}
|
16
|
+
setValue(value) {
|
17
|
+
this.value.set(value);
|
18
|
+
}
|
19
|
+
setOrientation(orientation) {
|
20
|
+
this.orientation.set(orientation);
|
21
|
+
}
|
22
|
+
setDir(dir) {
|
23
|
+
this.dir.set(dir);
|
24
|
+
}
|
25
|
+
setActivationMode(mode) {
|
26
|
+
this.activationMode.set(mode);
|
27
|
+
}
|
28
|
+
getBaseId() {
|
29
|
+
return this.baseId;
|
30
|
+
}
|
31
|
+
generateId() {
|
32
|
+
return `tabs-${Math.random().toString(36).substr(2, 9)}`;
|
33
|
+
}
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsContextService, providedIn: 'root' }); }
|
36
|
+
}
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsContextService, decorators: [{
|
38
|
+
type: Injectable,
|
39
|
+
args: [{
|
40
|
+
providedIn: 'root'
|
41
|
+
}]
|
42
|
+
}] });
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RhYnMvc3JjL3RhYnMtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTdFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUF3QixhQUFhLENBQUMsQ0FBQztBQUszRixNQUFNLE9BQU8scUJBQXFCO0lBSGxDO1FBSVksV0FBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQixVQUFLLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLE1BQU0sQ0FBUyxZQUFZLENBQUMsQ0FBQztRQUMzQyxRQUFHLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLE1BQU0sQ0FBUyxXQUFXLENBQUMsQ0FBQztRQUU1QyxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELFNBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7S0F5QnBFO0lBdkJHLFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVk7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsQ0FBQzs4R0FsQ1EscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUQUJTX0NPTlRFWFRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4VGFic0NvbnRleHRTZXJ2aWNlPignVGFic0NvbnRleHQnKTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZHhUYWJzQ29udGV4dFNlcnZpY2Uge1xuICAgIHByaXZhdGUgYmFzZUlkID0gdGhpcy5nZW5lcmF0ZUlkKCk7XG4gICAgcHJpdmF0ZSB2YWx1ZSA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgcHJpdmF0ZSBvcmllbnRhdGlvbiA9IHNpZ25hbDxzdHJpbmc+KCdob3Jpem9udGFsJyk7XG4gICAgcHJpdmF0ZSBkaXIgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHByaXZhdGUgYWN0aXZhdGlvbk1vZGUgPSBzaWduYWw8c3RyaW5nPignYXV0b21hdGljJyk7XG5cbiAgICByZWFkb25seSB2YWx1ZSQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZhbHVlKCkpO1xuICAgIHJlYWRvbmx5IG9yaWVudGF0aW9uJCA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3JpZW50YXRpb24oKSk7XG4gICAgcmVhZG9ubHkgZGlyJCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlyKCkpO1xuICAgIHJlYWRvbmx5IGFjdGl2YXRpb25Nb2RlJCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYWN0aXZhdGlvbk1vZGUoKSk7XG5cbiAgICBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRPcmllbnRhdGlvbihvcmllbnRhdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMub3JpZW50YXRpb24uc2V0KG9yaWVudGF0aW9uKTtcbiAgICB9XG5cbiAgICBzZXREaXIoZGlyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kaXIuc2V0KGRpcik7XG4gICAgfVxuXG4gICAgc2V0QWN0aXZhdGlvbk1vZGUobW9kZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGlvbk1vZGUuc2V0KG1vZGUpO1xuICAgIH1cblxuICAgIGdldEJhc2VJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZUlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVJZCgpIHtcbiAgICAgICAgcmV0dXJuIGB0YWJzLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
2
|
+
import { TABS_CONTEXT_TOKEN } from './tabs-context.service';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class RdxTabsListDirective {
|
5
|
+
constructor() {
|
6
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
7
|
+
}
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxTabsListDirective, isStandalone: true, selector: "[rdxTabsList]", host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "tabsContext.orientation$()", "attr.data-orientation": "tabsContext.orientation$()" } }, ngImport: i0 }); }
|
10
|
+
}
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsListDirective, decorators: [{
|
12
|
+
type: Directive,
|
13
|
+
args: [{
|
14
|
+
selector: '[rdxTabsList]',
|
15
|
+
standalone: true,
|
16
|
+
host: {
|
17
|
+
role: 'tablist',
|
18
|
+
'[attr.aria-orientation]': 'tabsContext.orientation$()',
|
19
|
+
'[attr.data-orientation]': 'tabsContext.orientation$()'
|
20
|
+
}
|
21
|
+
}]
|
22
|
+
}] });
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFpQjVELE1BQU0sT0FBTyxvQkFBb0I7SUFUakM7UUFVdUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUMvRDs4R0FGWSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFUaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsU0FBUzt3QkFDZix5QkFBeUIsRUFBRSw0QkFBNEI7d0JBQ3ZELHlCQUF5QixFQUFFLDRCQUE0QjtxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEFCU19DT05URVhUX1RPS0VOIH0gZnJvbSAnLi90YWJzLWNvbnRleHQuc2VydmljZSc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmludGVyZmFjZSBUYWJzTGlzdFByb3BzIHtcbiAgICAvLyBXaGVuIHRydWUsIGtleWJvYXJkIG5hdmlnYXRpb24gd2lsbCBsb29wIGZyb20gbGFzdCB0YWIgdG8gZmlyc3QsIGFuZCB2aWNlIHZlcnNhLlxuICAgIGxvb3A/OiBib29sZWFuO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUYWJzTGlzdF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAndGFibGlzdCcsXG4gICAgICAgICdbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSc6ICd0YWJzQ29udGV4dC5vcmllbnRhdGlvbiQoKScsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICd0YWJzQ29udGV4dC5vcmllbnRhdGlvbiQoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRhYnNMaXN0RGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFic0NvbnRleHQgPSBpbmplY3QoVEFCU19DT05URVhUX1RPS0VOKTtcbn1cbiJdfQ==
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { Directive, effect, EventEmitter, inject, Input, Output } from '@angular/core';
|
2
|
+
import { RdxTabsContextService, TABS_CONTEXT_TOKEN } from './tabs-context.service';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class RdxTabsRootDirective {
|
5
|
+
constructor() {
|
6
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
7
|
+
this.orientation = 'horizontal';
|
8
|
+
// Event handler called when the value changes.
|
9
|
+
this.onValueChange = new EventEmitter();
|
10
|
+
effect(() => {
|
11
|
+
const value = this.tabsContext.value$();
|
12
|
+
if (value !== undefined) {
|
13
|
+
this.onValueChange.emit(value);
|
14
|
+
}
|
15
|
+
});
|
16
|
+
}
|
17
|
+
ngOnInit() {
|
18
|
+
this.tabsContext.setOrientation(this.orientation);
|
19
|
+
if (this.dir) {
|
20
|
+
this.tabsContext.setDir(this.dir);
|
21
|
+
}
|
22
|
+
if (this.value) {
|
23
|
+
this.tabsContext.setValue(this.value);
|
24
|
+
}
|
25
|
+
else if (this.defaultValue) {
|
26
|
+
this.tabsContext.setValue(this.defaultValue);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
30
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxTabsRootDirective, isStandalone: true, selector: "[rdxTabsRoot]", inputs: { value: "value", defaultValue: "defaultValue", orientation: "orientation", dir: "dir" }, outputs: { onValueChange: "onValueChange" }, host: { properties: { "attr.data-orientation": "orientation", "attr.dir": "dir" } }, providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }], ngImport: i0 }); }
|
31
|
+
}
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsRootDirective, decorators: [{
|
33
|
+
type: Directive,
|
34
|
+
args: [{
|
35
|
+
selector: '[rdxTabsRoot]',
|
36
|
+
standalone: true,
|
37
|
+
providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }],
|
38
|
+
host: {
|
39
|
+
'[attr.data-orientation]': 'orientation',
|
40
|
+
'[attr.dir]': 'dir'
|
41
|
+
}
|
42
|
+
}]
|
43
|
+
}], ctorParameters: () => [], propDecorators: { value: [{
|
44
|
+
type: Input
|
45
|
+
}], defaultValue: [{
|
46
|
+
type: Input
|
47
|
+
}], orientation: [{
|
48
|
+
type: Input
|
49
|
+
}], dir: [{
|
50
|
+
type: Input
|
51
|
+
}], onValueChange: [{
|
52
|
+
type: Output
|
53
|
+
}] } });
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1yb290LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBbUNuRixNQUFNLE9BQU8sb0JBQW9CO0lBVzdCO1FBVmlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFJakQsZ0JBQVcsR0FBRyxZQUFZLENBQUM7UUFHcEMsK0NBQStDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdqRCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7OEdBaENRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGdTQU5sQixDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxDQUFDOzsyRkFNdkUsb0JBQW9CO2tCQVRoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLENBQUM7b0JBQ2hGLElBQUksRUFBRTt3QkFDRix5QkFBeUIsRUFBRSxhQUFhO3dCQUN4QyxZQUFZLEVBQUUsS0FBSztxQkFDdEI7aUJBQ0o7d0RBSVksS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZWZmZWN0LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhUYWJzQ29udGV4dFNlcnZpY2UsIFRBQlNfQ09OVEVYVF9UT0tFTiB9IGZyb20gJy4vdGFicy1jb250ZXh0LnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYnNQcm9wcyB7XG4gICAgLyoqIFRoZSB2YWx1ZSBmb3IgdGhlIHNlbGVjdGVkIHRhYiwgaWYgY29udHJvbGxlZCAqL1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIC8qKiBUaGUgdmFsdWUgb2YgdGhlIHRhYiB0byBzZWxlY3QgYnkgZGVmYXVsdCwgaWYgdW5jb250cm9sbGVkICovXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIC8qKiBBIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIGEgbmV3IHRhYiBpcyBzZWxlY3RlZCAqL1xuICAgIG9uVmFsdWVDaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBUaGUgb3JpZW50YXRpb24gdGhlIHRhYnMgYXJlIGxheWVkIG91dC5cbiAgICAgKiBNYWlubHkgc28gYXJyb3cgbmF2aWdhdGlvbiBpcyBkb25lIGFjY29yZGluZ2x5IChsZWZ0ICYgcmlnaHQgdnMuIHVwICYgZG93bilcbiAgICAgKiBAZGVmYXVsdFZhbHVlIGhvcml6b250YWxcbiAgICAgKi9cbiAgICBvcmllbnRhdGlvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgZGlyZWN0aW9uIG9mIG5hdmlnYXRpb24gYmV0d2VlbiB0b29sYmFyIGl0ZW1zLlxuICAgICAqL1xuICAgIGRpcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGEgdGFiIGlzIGFjdGl2YXRlZCBhdXRvbWF0aWNhbGx5IG9yIG1hbnVhbGx5LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgYXV0b21hdGljXG4gICAgICogKi9cbiAgICBhY3RpdmF0aW9uTW9kZT86ICdhdXRvbWF0aWMnIHwgJ21hbnVhbCc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRhYnNSb290XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRBQlNfQ09OVEVYVF9UT0tFTiwgdXNlRXhpc3Rpbmc6IFJkeFRhYnNDb250ZXh0U2VydmljZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbicsXG4gICAgICAgICdbYXR0ci5kaXJdJzogJ2RpcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRhYnNSb290RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYnNDb250ZXh0ID0gaW5qZWN0KFRBQlNfQ09OVEVYVF9UT0tFTik7XG5cbiAgICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgb3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCc7XG4gICAgQElucHV0KCkgZGlyPzogc3RyaW5nO1xuXG4gICAgLy8gRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICBAT3V0cHV0KCkgb25WYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGFic0NvbnRleHQudmFsdWUkKCk7XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudGFic0NvbnRleHQuc2V0T3JpZW50YXRpb24odGhpcy5vcmllbnRhdGlvbik7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlyKSB7XG4gICAgICAgICAgICB0aGlzLnRhYnNDb250ZXh0LnNldERpcih0aGlzLmRpcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50YWJzQ29udGV4dC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50YWJzQ29udGV4dC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { booleanAttribute, computed, Directive, inject, input } from '@angular/core';
|
2
|
+
import { TABS_CONTEXT_TOKEN } from './tabs-context.service';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class RdxTabsTriggerDirective {
|
5
|
+
constructor() {
|
6
|
+
this.tabsContext = inject(TABS_CONTEXT_TOKEN);
|
7
|
+
// A unique value that associates the trigger with a content.
|
8
|
+
this.value = input.required();
|
9
|
+
// When true, prevents the user from interacting with the tab.
|
10
|
+
this.disabled = input(false, {
|
11
|
+
transform: booleanAttribute
|
12
|
+
});
|
13
|
+
this.contentId = computed(() => `${this.tabsContext.getBaseId()}-content-${this.value()}`);
|
14
|
+
this.triggerId = computed(() => `${this.tabsContext.getBaseId()}-trigger-${this.value}`);
|
15
|
+
this.selected = computed(() => this.tabsContext.value$() === this.value());
|
16
|
+
}
|
17
|
+
onMouseDown(event) {
|
18
|
+
if (!this.disabled() && event.button === 0 && !event.ctrlKey) {
|
19
|
+
this.tabsContext?.setValue(this.value());
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
// prevent focus to avoid accidental activation
|
23
|
+
event.preventDefault();
|
24
|
+
}
|
25
|
+
}
|
26
|
+
onKeyDown(event) {
|
27
|
+
if ([' ', 'Enter'].includes(event.key)) {
|
28
|
+
this.tabsContext?.setValue(this.value());
|
29
|
+
}
|
30
|
+
}
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
32
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxTabsTriggerDirective, isStandalone: true, selector: "[rdxTabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, listeners: { "mousedown": "onMouseDown($event)", "keydown": "onKeyDown($event)" }, properties: { "id": "triggerId", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.data-disabled": "disabled() ? '' : undefined", "attr.data-state": "selected() ? 'active' : 'inactive'" } }, ngImport: i0 }); }
|
33
|
+
}
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxTabsTriggerDirective, decorators: [{
|
35
|
+
type: Directive,
|
36
|
+
args: [{
|
37
|
+
selector: '[rdxTabsTrigger]',
|
38
|
+
standalone: true,
|
39
|
+
host: {
|
40
|
+
type: 'button',
|
41
|
+
role: 'tab',
|
42
|
+
'[id]': 'triggerId',
|
43
|
+
'[attr.aria-selected]': 'selected()',
|
44
|
+
'[attr.aria-controls]': 'contentId()',
|
45
|
+
'[attr.data-disabled]': "disabled() ? '' : undefined",
|
46
|
+
'[attr.data-state]': "selected() ? 'active' : 'inactive'",
|
47
|
+
'(mousedown)': 'onMouseDown($event)',
|
48
|
+
'(keydown)': 'onKeyDown($event)'
|
49
|
+
}
|
50
|
+
}]
|
51
|
+
}] });
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGFicy9zcmMvdGFicy10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFzQjVELE1BQU0sT0FBTyx1QkFBdUI7SUFmcEM7UUFnQnVCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFNUQsNkRBQTZEO1FBQ3BELFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFMUMsOERBQThEO1FBQ3JELGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtZQUNwRCxTQUFTLEVBQUUsZ0JBQWdCO1NBQzlCLENBQUMsQ0FBQztRQUVnQixjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsWUFBWSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXBGLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQWdCNUY7SUFkYSxXQUFXLENBQUMsS0FBaUI7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNKLCtDQUErQztZQUMvQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNMLENBQUM7OEdBN0JRLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQWZuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsTUFBTSxFQUFFLFdBQVc7d0JBQ25CLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLHNCQUFzQixFQUFFLGFBQWE7d0JBQ3JDLHNCQUFzQixFQUFFLDZCQUE2Qjt3QkFDckQsbUJBQW1CLEVBQUUsb0NBQW9DO3dCQUN6RCxhQUFhLEVBQUUscUJBQXFCO3dCQUNwQyxXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRBQlNfQ09OVEVYVF9UT0tFTiB9IGZyb20gJy4vdGFicy1jb250ZXh0LnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgVGFic1RyaWdnZXJQcm9wcyB7XG4gICAgLy8gV2hlbiB0cnVlLCBwcmV2ZW50cyB0aGUgdXNlciBmcm9tIGludGVyYWN0aW5nIHdpdGggdGhlIHRhYi5cbiAgICBkaXNhYmxlZDogSW5wdXRTaWduYWxXaXRoVHJhbnNmb3JtPGJvb2xlYW4sIEJvb2xlYW5JbnB1dD47XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRhYnNUcmlnZ2VyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICByb2xlOiAndGFiJyxcbiAgICAgICAgJ1tpZF0nOiAndHJpZ2dlcklkJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkKCknLFxuICAgICAgICAnW2F0dHIuYXJpYS1jb250cm9sc10nOiAnY29udGVudElkKCknLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiBcImRpc2FibGVkKCkgPyAnJyA6IHVuZGVmaW5lZFwiLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiBcInNlbGVjdGVkKCkgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSdcIixcbiAgICAgICAgJyhtb3VzZWRvd24pJzogJ29uTW91c2VEb3duKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VGFic1RyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBUYWJzVHJpZ2dlclByb3BzIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFic0NvbnRleHQgPSBpbmplY3QoVEFCU19DT05URVhUX1RPS0VOKTtcblxuICAgIC8vIEEgdW5pcXVlIHZhbHVlIHRoYXQgYXNzb2NpYXRlcyB0aGUgdHJpZ2dlciB3aXRoIGEgY29udGVudC5cbiAgICByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIC8vIFdoZW4gdHJ1ZSwgcHJldmVudHMgdGhlIHVzZXIgZnJvbSBpbnRlcmFjdGluZyB3aXRoIHRoZSB0YWIuXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZVxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRlbnRJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic0NvbnRleHQuZ2V0QmFzZUlkKCl9LWNvbnRlbnQtJHt0aGlzLnZhbHVlKCl9YCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyaWdnZXJJZCA9IGNvbXB1dGVkKCgpID0+IGAke3RoaXMudGFic0NvbnRleHQuZ2V0QmFzZUlkKCl9LXRyaWdnZXItJHt0aGlzLnZhbHVlfWApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50YWJzQ29udGV4dC52YWx1ZSQoKSA9PT0gdGhpcy52YWx1ZSgpKTtcblxuICAgIHByb3RlY3RlZCBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSAmJiBldmVudC5idXR0b24gPT09IDAgJiYgIWV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIHRoaXMudGFic0NvbnRleHQ/LnNldFZhbHVlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBwcmV2ZW50IGZvY3VzIHRvIGF2b2lkIGFjY2lkZW50YWwgYWN0aXZhdGlvblxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKFsnICcsICdFbnRlciddLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgICAgIHRoaXMudGFic0NvbnRleHQ/LnNldFZhbHVlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './src/toggle.directive';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5leHBvcnQgdHlwZSB7IFRvZ2dsZVByb3BzIH0gZnJvbSAnLi9zcmMvdG9nZ2xlLmRpcmVjdGl2ZSc7XG4iXX0=
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy10b2dnbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS9yYWRpeC1uZy1wcmltaXRpdmVzLXRvZ2dsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { Directive, EventEmitter, input, model, Output } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class RdxToggleDirective {
|
4
|
+
constructor() {
|
5
|
+
this.defaultPressed = input(false);
|
6
|
+
this.pressed = model(this.defaultPressed());
|
7
|
+
this.disabled = input(false);
|
8
|
+
/**
|
9
|
+
* Event emitted when the toggle is pressed.
|
10
|
+
*/
|
11
|
+
this.onPressedChange = new EventEmitter();
|
12
|
+
}
|
13
|
+
toggle() {
|
14
|
+
if (!this.disabled()) {
|
15
|
+
this.pressed.set(!this.pressed());
|
16
|
+
this.onPressedChange.emit(this.pressed());
|
17
|
+
}
|
18
|
+
}
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.1", type: RdxToggleDirective, isStandalone: true, selector: "button[rdxToggle]", inputs: { defaultPressed: { classPropertyName: "defaultPressed", publicName: "defaultPressed", isSignal: true, isRequired: false, transformFunction: null }, pressed: { classPropertyName: "pressed", publicName: "pressed", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pressed: "pressedChange", onPressedChange: "onPressedChange" }, host: { attributes: { "type": "button" }, listeners: { "click": "toggle()" }, properties: { "attr.aria-pressed": "pressed()", "attr.data-state": "pressed() ? \"on\" : \"off\"", "attr.data-disabled": "disabled()" } }, exportAs: ["rdxToggle"], ngImport: i0 }); }
|
21
|
+
}
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleDirective, decorators: [{
|
23
|
+
type: Directive,
|
24
|
+
args: [{
|
25
|
+
selector: 'button[rdxToggle]',
|
26
|
+
exportAs: 'rdxToggle',
|
27
|
+
standalone: true,
|
28
|
+
host: {
|
29
|
+
type: 'button',
|
30
|
+
'[attr.aria-pressed]': 'pressed()',
|
31
|
+
'[attr.data-state]': 'pressed() ? "on" : "off"',
|
32
|
+
'[attr.data-disabled]': 'disabled()',
|
33
|
+
'(click)': 'toggle()'
|
34
|
+
}
|
35
|
+
}]
|
36
|
+
}], propDecorators: { onPressedChange: [{
|
37
|
+
type: Output
|
38
|
+
}] } });
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlL3NyYy90b2dnbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWdDOUUsTUFBTSxPQUFPLGtCQUFrQjtJQWIvQjtRQWNhLG1CQUFjLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEQsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUUxQzs7V0FFRztRQUNnQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0FRcEU7SUFOYSxNQUFNO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7OEdBZlEsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBYjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QscUJBQXFCLEVBQUUsV0FBVzt3QkFDbEMsbUJBQW1CLEVBQUUsMEJBQTBCO3dCQUMvQyxzQkFBc0IsRUFBRSxZQUFZO3dCQUVwQyxTQUFTLEVBQUUsVUFBVTtxQkFDeEI7aUJBQ0o7OEJBU3NCLGVBQWU7c0JBQWpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5wdXQsIG1vZGVsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUb2dnbGVQcm9wcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRyb2xsZWQgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKi9cbiAgICBwcmVzc2VkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdGUgb2YgdGhlIHRvZ2dsZSB3aGVuIGluaXRpYWxseSByZW5kZXJlZC4gVXNlIGBkZWZhdWx0UHJlc3NlZGBcbiAgICAgKiBpZiB5b3UgZG8gbm90IG5lZWQgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgZGVmYXVsdFByZXNzZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBjYWxsYmFjayB0aGF0IGZpcmVzIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSB0b2dnbGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBvblByZXNzZWRDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW3JkeFRvZ2dsZV0nLFxuICAgIGV4cG9ydEFzOiAncmR4VG9nZ2xlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICdbYXR0ci5hcmlhLXByZXNzZWRdJzogJ3ByZXNzZWQoKScsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdwcmVzc2VkKCkgPyBcIm9uXCIgOiBcIm9mZlwiJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9nZ2xlRGlyZWN0aXZlIHtcbiAgICByZWFkb25seSBkZWZhdWx0UHJlc3NlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZWFkb25seSBwcmVzc2VkID0gbW9kZWw8Ym9vbGVhbj4odGhpcy5kZWZhdWx0UHJlc3NlZCgpKTtcbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGlzIHByZXNzZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uUHJlc3NlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByb3RlY3RlZCB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNzZWQuc2V0KCF0aGlzLnByZXNzZWQoKSk7XG4gICAgICAgICAgICB0aGlzLm9uUHJlc3NlZENoYW5nZS5lbWl0KHRoaXMucHJlc3NlZCgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export * from './src/toggle-group-button.directive';
|
2
|
+
export * from './src/toggle-group-button.token';
|
3
|
+
export * from './src/toggle-group-multi.directive';
|
4
|
+
export * from './src/toggle-group.directive';
|
5
|
+
export * from './src/toggle-group.token';
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS1ncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy90b2dnbGUtZ3JvdXAtYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90b2dnbGUtZ3JvdXAtYnV0dG9uLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3RvZ2dsZS1ncm91cC1tdWx0aS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvdG9nZ2xlLWdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90b2dnbGUtZ3JvdXAudG9rZW4nO1xuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy10b2dnbGUtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS1ncm91cC9yYWRpeC1uZy1wcmltaXRpdmVzLXRvZ2dsZS1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
@@ -0,0 +1,75 @@
|
|
1
|
+
import { booleanAttribute, Directive, Input } from '@angular/core';
|
2
|
+
import { RdxToggleGroupButtonToken } from './toggle-group-button.token';
|
3
|
+
import { injectToggleGroup } from './toggle-group.token';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class RdxToggleGroupButtonDirective {
|
6
|
+
constructor() {
|
7
|
+
/**
|
8
|
+
* Access the toggle group.
|
9
|
+
* @ignore
|
10
|
+
*/
|
11
|
+
this.toggleGroup = injectToggleGroup();
|
12
|
+
/**
|
13
|
+
* Whether this toggle button is disabled.
|
14
|
+
* @default false
|
15
|
+
*/
|
16
|
+
this.disabled = false;
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* Whether this toggle button is checked.
|
20
|
+
*/
|
21
|
+
get checked() {
|
22
|
+
return this.toggleGroup.isSelected(this.value);
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* @ignore
|
26
|
+
*/
|
27
|
+
ngOnChanges(changes) {
|
28
|
+
if ('disabled' in changes) {
|
29
|
+
// TODO
|
30
|
+
}
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* @ignore
|
34
|
+
*/
|
35
|
+
toggle() {
|
36
|
+
if (this.disabled) {
|
37
|
+
return;
|
38
|
+
}
|
39
|
+
this.toggleGroup.toggle(this.value);
|
40
|
+
}
|
41
|
+
/**
|
42
|
+
* Ensure the disabled state is propagated to the roving focus item.
|
43
|
+
* @internal
|
44
|
+
* @ignore
|
45
|
+
*/
|
46
|
+
updateDisabled() {
|
47
|
+
// TODO
|
48
|
+
}
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
50
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxToggleGroupButtonDirective, isStandalone: true, selector: "button[rdxToggleGroupButton]", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "radio" }, listeners: { "click": "toggle()" }, properties: { "attr.aria-checked": "checked", "attr.aria-disabled": "disabled || toggleGroup.disabled", "attr.data-disabled": "disabled || toggleGroup.disabled", "attr.data-state": "checked ? \"on\" : \"off\"", "attr.data-orientation": "toggleGroup.orientation" } }, providers: [{ provide: RdxToggleGroupButtonToken, useExisting: RdxToggleGroupButtonDirective }], usesOnChanges: true, ngImport: i0 }); }
|
51
|
+
}
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupButtonDirective, decorators: [{
|
53
|
+
type: Directive,
|
54
|
+
args: [{
|
55
|
+
selector: 'button[rdxToggleGroupButton]',
|
56
|
+
standalone: true,
|
57
|
+
providers: [{ provide: RdxToggleGroupButtonToken, useExisting: RdxToggleGroupButtonDirective }],
|
58
|
+
host: {
|
59
|
+
role: 'radio',
|
60
|
+
'[attr.aria-checked]': 'checked',
|
61
|
+
'[attr.aria-disabled]': 'disabled || toggleGroup.disabled',
|
62
|
+
'[attr.data-disabled]': 'disabled || toggleGroup.disabled',
|
63
|
+
'[attr.data-state]': 'checked ? "on" : "off"',
|
64
|
+
'[attr.data-orientation]': 'toggleGroup.orientation',
|
65
|
+
'(click)': 'toggle()'
|
66
|
+
}
|
67
|
+
}]
|
68
|
+
}], propDecorators: { value: [{
|
69
|
+
type: Input,
|
70
|
+
args: [{ required: true }]
|
71
|
+
}], disabled: [{
|
72
|
+
type: Input,
|
73
|
+
args: [{ transform: booleanAttribute }]
|
74
|
+
}] } });
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RvZ2dsZS1ncm91cC9zcmMvdG9nZ2xlLWdyb3VwLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWlCekQsTUFBTSxPQUFPLDZCQUE2QjtJQWYxQztRQWdCSTs7O1dBR0c7UUFDZ0IsZ0JBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBT3JEOzs7V0FHRztRQUNxQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBcUM1RDtJQW5DRzs7T0FFRztJQUNILElBQWMsT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxVQUFVLElBQUksT0FBTyxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNYLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjO1FBQ1YsT0FBTztJQUNYLENBQUM7OEdBcERRLDZCQUE2QjtrR0FBN0IsNkJBQTZCLDZIQWdCbEIsZ0JBQWdCLHdXQTVCekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQzs7MkZBWXRGLDZCQUE2QjtrQkFmekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVywrQkFBK0IsRUFBRSxDQUFDO29CQUMvRixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IscUJBQXFCLEVBQUUsU0FBUzt3QkFDaEMsc0JBQXNCLEVBQUUsa0NBQWtDO3dCQUMxRCxzQkFBc0IsRUFBRSxrQ0FBa0M7d0JBQzFELG1CQUFtQixFQUFFLHdCQUF3Qjt3QkFDN0MseUJBQXlCLEVBQUUseUJBQXlCO3dCQUVwRCxTQUFTLEVBQUUsVUFBVTtxQkFDeEI7aUJBQ0o7OEJBVzhCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQU1lLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1idXR0b24udG9rZW4nO1xuaW1wb3J0IHsgaW5qZWN0VG9nZ2xlR3JvdXAgfSBmcm9tICcuL3RvZ2dsZS1ncm91cC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW3JkeFRvZ2dsZUdyb3VwQnV0dG9uXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4sIHVzZUV4aXN0aW5nOiBSZHhUb2dnbGVHcm91cEJ1dHRvbkRpcmVjdGl2ZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdyYWRpbycsXG4gICAgICAgICdbYXR0ci5hcmlhLWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuICAgICAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgdG9nZ2xlR3JvdXAuZGlzYWJsZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgdG9nZ2xlR3JvdXAuZGlzYWJsZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnY2hlY2tlZCA/IFwib25cIiA6IFwib2ZmXCInLFxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAndG9nZ2xlR3JvdXAub3JpZW50YXRpb24nLFxuXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9nZ2xlR3JvdXBCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9nZ2xlR3JvdXAgPSBpbmplY3RUb2dnbGVHcm91cCgpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoaXMgdG9nZ2xlIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB2YWx1ZSE6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyB0b2dnbGUgYnV0dG9uIGlzIGRpc2FibGVkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoaXMgdG9nZ2xlIGJ1dHRvbiBpcyBjaGVja2VkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9nZ2xlR3JvdXAuaXNTZWxlY3RlZCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b2dnbGVHcm91cC50b2dnbGUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5zdXJlIHRoZSBkaXNhYmxlZCBzdGF0ZSBpcyBwcm9wYWdhdGVkIHRvIHRoZSByb3ZpbmcgZm9jdXMgaXRlbS5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgdXBkYXRlRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIFRPRE9cbiAgICB9XG59XG4iXX0=
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { inject, InjectionToken } from '@angular/core';
|
2
|
+
export const RdxToggleGroupButtonToken = new InjectionToken('RdxToggleGroupButtonToken');
|
3
|
+
export function injectToggleGroupButton() {
|
4
|
+
return inject(RdxToggleGroupButtonToken);
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLWJ1dHRvbi50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlLWdyb3VwL3NyYy90b2dnbGUtZ3JvdXAtYnV0dG9uLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFnQywyQkFBMkIsQ0FBQyxDQUFDO0FBRXhILE1BQU0sVUFBVSx1QkFBdUI7SUFDbkMsT0FBTyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBSZHhUb2dnbGVHcm91cEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLWJ1dHRvbi5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgUmR4VG9nZ2xlR3JvdXBCdXR0b25Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHhUb2dnbGVHcm91cEJ1dHRvbkRpcmVjdGl2ZT4oJ1JkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFRvZ2dsZUdyb3VwQnV0dG9uKCk6IFJkeFRvZ2dsZUdyb3VwQnV0dG9uRGlyZWN0aXZlIHtcbiAgICByZXR1cm4gaW5qZWN0KFJkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4pO1xufVxuIl19
|
@@ -0,0 +1,143 @@
|
|
1
|
+
import { booleanAttribute, ContentChildren, Directive, EventEmitter, Input, QueryList } from '@angular/core';
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
3
|
+
import { RdxToggleGroupButtonToken } from './toggle-group-button.token';
|
4
|
+
import { RdxToggleGroupToken } from './toggle-group.token';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export class RdxToggleGroupMultiDirective {
|
7
|
+
constructor() {
|
8
|
+
/**
|
9
|
+
* The selected toggle button.
|
10
|
+
*/
|
11
|
+
this.value = [];
|
12
|
+
/**
|
13
|
+
* The orientation of the toggle group.
|
14
|
+
* @default 'horizontal'
|
15
|
+
*/
|
16
|
+
this.orientation = 'horizontal';
|
17
|
+
/**
|
18
|
+
* Whether the toggle group is disabled.
|
19
|
+
* @default false
|
20
|
+
*/
|
21
|
+
this.disabled = false;
|
22
|
+
/**
|
23
|
+
* Whether the toggle group roving focus should wrap.
|
24
|
+
* @default true
|
25
|
+
*/
|
26
|
+
this.wrap = true;
|
27
|
+
/**
|
28
|
+
* Event emitted when the selected toggle button changes.
|
29
|
+
*/
|
30
|
+
this.valueChange = new EventEmitter();
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* @ignore
|
34
|
+
*/
|
35
|
+
ngOnChanges(changes) {
|
36
|
+
if ('disabled' in changes) {
|
37
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
38
|
+
}
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* @ignore
|
42
|
+
*/
|
43
|
+
ngAfterContentInit() {
|
44
|
+
if (this.disabled) {
|
45
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
46
|
+
}
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* Determine if a value is selected.
|
50
|
+
* @param value The value to check.
|
51
|
+
* @returns Whether the value is selected.
|
52
|
+
* @ignore
|
53
|
+
*/
|
54
|
+
isSelected(value) {
|
55
|
+
return this.value.includes(value);
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* Toggle a value.
|
59
|
+
* @param value The value to toggle.
|
60
|
+
* @ignore
|
61
|
+
*/
|
62
|
+
toggle(value) {
|
63
|
+
if (this.disabled) {
|
64
|
+
return;
|
65
|
+
}
|
66
|
+
this.value = this.value.includes(value) ? this.value.filter((v) => v !== value) : [...this.value, value];
|
67
|
+
this.valueChange.emit(this.value);
|
68
|
+
this.onChange?.(this.value);
|
69
|
+
}
|
70
|
+
/**
|
71
|
+
* Select a value from Angular forms.
|
72
|
+
* @param value The value to select.
|
73
|
+
* @ignore
|
74
|
+
*/
|
75
|
+
writeValue(value) {
|
76
|
+
this.value = value;
|
77
|
+
}
|
78
|
+
/**
|
79
|
+
* Register a callback to be called when the value changes.
|
80
|
+
* @param fn The callback to register.
|
81
|
+
* @ignore
|
82
|
+
*/
|
83
|
+
registerOnChange(fn) {
|
84
|
+
this.onChange = fn;
|
85
|
+
}
|
86
|
+
/**
|
87
|
+
* Register a callback to be called when the toggle group is touched.
|
88
|
+
* @param fn The callback to register.
|
89
|
+
* @ignore
|
90
|
+
*/
|
91
|
+
registerOnTouched(fn) {
|
92
|
+
this.onTouched = fn;
|
93
|
+
}
|
94
|
+
/**
|
95
|
+
* Set the disabled state of the toggle group.
|
96
|
+
* @param isDisabled Whether the toggle group is disabled.
|
97
|
+
* @ignore
|
98
|
+
*/
|
99
|
+
setDisabledState(isDisabled) {
|
100
|
+
this.disabled = isDisabled;
|
101
|
+
this.buttons?.forEach((button) => button.updateDisabled());
|
102
|
+
}
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupMultiDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
104
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxToggleGroupMultiDirective, isStandalone: true, selector: "[rdxToggleGroupMulti]", inputs: { value: ["rdxToggleGroupMultiValue", "value"], orientation: ["rdxToggleGroupMultiOrientation", "orientation"], disabled: ["rdxToggleGroupMultiDisabled", "disabled", booleanAttribute], wrap: ["rdxToggleGroupMultiWrap", "wrap", booleanAttribute], valueChange: ["rdxToggleGroupMultiValueChange", "valueChange"] }, host: { attributes: { "role": "group" }, listeners: { "focusout": "onTouched?.()" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
|
105
|
+
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupMultiDirective },
|
106
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupMultiDirective, multi: true }
|
107
|
+
], queries: [{ propertyName: "buttons", predicate: RdxToggleGroupButtonToken }], usesOnChanges: true, ngImport: i0 }); }
|
108
|
+
}
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxToggleGroupMultiDirective, decorators: [{
|
110
|
+
type: Directive,
|
111
|
+
args: [{
|
112
|
+
selector: '[rdxToggleGroupMulti]',
|
113
|
+
standalone: true,
|
114
|
+
providers: [
|
115
|
+
{ provide: RdxToggleGroupToken, useExisting: RdxToggleGroupMultiDirective },
|
116
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: RdxToggleGroupMultiDirective, multi: true }
|
117
|
+
],
|
118
|
+
host: {
|
119
|
+
role: 'group',
|
120
|
+
'[attr.data-orientation]': 'orientation',
|
121
|
+
'(focusout)': 'onTouched?.()'
|
122
|
+
}
|
123
|
+
}]
|
124
|
+
}], propDecorators: { value: [{
|
125
|
+
type: Input,
|
126
|
+
args: ['rdxToggleGroupMultiValue']
|
127
|
+
}], orientation: [{
|
128
|
+
type: Input,
|
129
|
+
args: ['rdxToggleGroupMultiOrientation']
|
130
|
+
}], disabled: [{
|
131
|
+
type: Input,
|
132
|
+
args: [{ alias: 'rdxToggleGroupMultiDisabled', transform: booleanAttribute }]
|
133
|
+
}], wrap: [{
|
134
|
+
type: Input,
|
135
|
+
args: [{ alias: 'rdxToggleGroupMultiWrap', transform: booleanAttribute }]
|
136
|
+
}], valueChange: [{
|
137
|
+
type: Input,
|
138
|
+
args: ['rdxToggleGroupMultiValueChange']
|
139
|
+
}], buttons: [{
|
140
|
+
type: ContentChildren,
|
141
|
+
args: [RdxToggleGroupButtonToken]
|
142
|
+
}] } });
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWdyb3VwLW11bHRpLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9nZ2xlLWdyb3VwL3NyYy90b2dnbGUtZ3JvdXAtbXVsdGkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZTNELE1BQU0sT0FBTyw0QkFBNEI7SUFiekM7UUFjSTs7V0FFRztRQUNnQyxVQUFLLEdBQTBCLEVBQUUsQ0FBQztRQUVyRTs7O1dBR0c7UUFDc0MsZ0JBQVcsR0FBOEIsWUFBWSxDQUFDO1FBRS9GOzs7V0FHRztRQUMyRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRS9GOzs7V0FHRztRQUN1RSxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRXRGOztXQUVHO1FBQytDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7S0FxRzdHO0lBaEZHOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksVUFBVSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsS0FBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQWE7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6RyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxLQUE0QjtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLEVBQTBDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsRUFBYztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDOzhHQS9IUSw0QkFBNEI7a0dBQTVCLDRCQUE0Qix1T0FnQnFCLGdCQUFnQiw2Q0FNcEIsZ0JBQWdCLCtOQWhDM0Q7WUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsNEJBQTRCLEVBQUU7WUFDM0UsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDekYsa0RBd0NnQix5QkFBeUI7OzJGQWpDakMsNEJBQTRCO2tCQWJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyw4QkFBOEIsRUFBRTt3QkFDM0UsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyw4QkFBOEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUN6RjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IseUJBQXlCLEVBQUUsYUFBYTt3QkFDeEMsWUFBWSxFQUFFLGVBQWU7cUJBQ2hDO2lCQUNKOzhCQUtzQyxLQUFLO3NCQUF2QyxLQUFLO3VCQUFDLDBCQUEwQjtnQkFNUSxXQUFXO3NCQUFuRCxLQUFLO3VCQUFDLGdDQUFnQztnQkFNdUMsUUFBUTtzQkFBckYsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTUYsSUFBSTtzQkFBN0UsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS3RCLFdBQVc7c0JBQTVELEtBQUs7dUJBQUMsZ0NBQWdDO2dCQU83QixPQUFPO3NCQURoQixlQUFlO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgUmR4VG9nZ2xlR3JvdXBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4gfSBmcm9tICcuL3RvZ2dsZS1ncm91cC1idXR0b24udG9rZW4nO1xuaW1wb3J0IHsgUmR4VG9nZ2xlR3JvdXBUb2tlbiB9IGZyb20gJy4vdG9nZ2xlLWdyb3VwLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9nZ2xlR3JvdXBNdWx0aV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUmR4VG9nZ2xlR3JvdXBUb2tlbiwgdXNlRXhpc3Rpbmc6IFJkeFRvZ2dsZUdyb3VwTXVsdGlEaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFJkeFRvZ2dsZUdyb3VwTXVsdGlEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2dyb3VwJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnb25Ub3VjaGVkPy4oKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvZ2dsZUdyb3VwTXVsdGlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBUaGUgc2VsZWN0ZWQgdG9nZ2xlIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoJ3JkeFRvZ2dsZUdyb3VwTXVsdGlWYWx1ZScpIHZhbHVlOiBSZWFkb25seUFycmF5PHN0cmluZz4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgICAqL1xuICAgIEBJbnB1dCgncmR4VG9nZ2xlR3JvdXBNdWx0aU9yaWVudGF0aW9uJykgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgZ3JvdXAgaXMgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3JkeFRvZ2dsZUdyb3VwTXVsdGlEaXNhYmxlZCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdG9nZ2xlIGdyb3VwIHJvdmluZyBmb2N1cyBzaG91bGQgd3JhcC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICdyZHhUb2dnbGVHcm91cE11bHRpV3JhcCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB3cmFwID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdG9nZ2xlIGJ1dHRvbiBjaGFuZ2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgncmR4VG9nZ2xlR3JvdXBNdWx0aVZhbHVlQ2hhbmdlJykgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJlYWRvbmx5QXJyYXk8c3RyaW5nPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEFjY2VzcyB0aGUgYnV0dG9ucyBpbiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFJkeFRvZ2dsZUdyb3VwQnV0dG9uVG9rZW4pXG4gICAgcHJvdGVjdGVkIGJ1dHRvbnM/OiBRdWVyeUxpc3Q8UmR4VG9nZ2xlR3JvdXBCdXR0b25EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIGNoYW5nZSBjYWxsYmFjay5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogUmVhZG9ubHlBcnJheTxzdHJpbmc+KSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogb25Ub3VjaCBmdW5jdGlvbiByZWdpc3RlcmVkIHZpYSByZWdpc3Rlck9uVG91Y2ggKENvbnRyb2xWYWx1ZUFjY2Vzc29yKS5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ2Rpc2FibGVkJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnM/LmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLnVwZGF0ZURpc2FibGVkKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9ucz8uZm9yRWFjaCgoYnV0dG9uKSA9PiBidXR0b24udXBkYXRlRGlzYWJsZWQoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBzZWxlY3RlZC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIHNlbGVjdGVkLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBpc1NlbGVjdGVkKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuaW5jbHVkZXModmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZSBhIHZhbHVlLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gdG9nZ2xlLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICB0b2dnbGUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuaW5jbHVkZXModmFsdWUpID8gdGhpcy52YWx1ZS5maWx0ZXIoKHYpID0+IHYgIT09IHZhbHVlKSA6IFsuLi50aGlzLnZhbHVlLCB2YWx1ZV07XG5cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlPy4odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGEgdmFsdWUgZnJvbSBBbmd1bGFyIGZvcm1zLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VsZWN0LlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBSZWFkb25seUFycmF5PHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIGEgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAgICogQHBhcmFtIGZuIFRoZSBjYWxsYmFjayB0byByZWdpc3Rlci5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBSZWFkb25seUFycmF5PHN0cmluZz4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIGEgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHRvZ2dsZSBncm91cCBpcyB0b3VjaGVkLlxuICAgICAqIEBwYXJhbSBmbiBUaGUgY2FsbGJhY2sgdG8gcmVnaXN0ZXIuXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGdyb3VwLlxuICAgICAqIEBwYXJhbSBpc0Rpc2FibGVkIFdoZXRoZXIgdGhlIHRvZ2dsZSBncm91cCBpcyBkaXNhYmxlZC5cbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLmJ1dHRvbnM/LmZvckVhY2goKGJ1dHRvbikgPT4gYnV0dG9uLnVwZGF0ZURpc2FibGVkKCkpO1xuICAgIH1cbn1cbiJdfQ==
|