@ojiepermana/angular 22.1.11 → 22.1.13
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 +32 -26
- package/chart/README.md +272 -0
- package/component/README.md +89 -0
- package/component/accordion/README.md +195 -0
- package/component/alert/README.md +184 -0
- package/component/alert-dialog/README.md +255 -0
- package/component/aspect-ratio/README.md +116 -0
- package/component/avatar/README.md +182 -0
- package/component/badge/README.md +143 -0
- package/component/breadcrumb/README.md +223 -0
- package/component/button/README.md +141 -0
- package/component/button-group/README.md +214 -0
- package/component/calendar/README.md +137 -0
- package/component/card/README.md +232 -0
- package/component/carousel/README.md +276 -0
- package/component/checkbox/README.md +153 -0
- package/component/collapsible/README.md +216 -0
- package/component/combobox/README.md +202 -0
- package/component/command/README.md +287 -0
- package/component/composer/README.md +241 -0
- package/component/context-menu/README.md +268 -0
- package/component/date-picker/README.md +202 -0
- package/component/dialog/README.md +276 -0
- package/component/drawer/README.md +147 -0
- package/component/dropdown-menu/README.md +336 -0
- package/component/editor/README.md +152 -0
- package/component/empty/README.md +193 -0
- package/component/form/README.md +216 -0
- package/component/hover-card/README.md +150 -0
- package/component/icon/README.md +25 -0
- package/component/input/README.md +160 -0
- package/component/input-group/README.md +245 -0
- package/component/input-otp/README.md +331 -0
- package/component/item/README.md +254 -0
- package/component/kanban/README.md +81 -0
- package/component/kbd/README.md +141 -0
- package/component/label/README.md +137 -0
- package/component/menubar/README.md +270 -0
- package/component/native-select/README.md +176 -0
- package/component/navigation-menu/README.md +165 -0
- package/component/pagination/README.md +151 -0
- package/component/pillbox/README.md +68 -0
- package/component/popover/README.md +54 -0
- package/component/progress/README.md +160 -0
- package/component/radio/README.md +212 -0
- package/component/resizable/README.md +178 -0
- package/component/scroll-area/README.md +150 -0
- package/component/select/README.md +228 -0
- package/component/separator/README.md +175 -0
- package/component/sheet/README.md +190 -0
- package/component/skeleton/README.md +158 -0
- package/component/slider/README.md +207 -0
- package/component/spinner/README.md +160 -0
- package/component/switch/README.md +170 -0
- package/component/table/README.md +292 -0
- package/component/tabs/README.md +220 -0
- package/component/textarea/README.md +169 -0
- package/component/timeline/README.md +94 -0
- package/component/toast/README.md +173 -0
- package/component/toggle/README.md +133 -0
- package/component/toggle-group/README.md +234 -0
- package/component/tooltip/README.md +230 -0
- package/fesm2022/ojiepermana-angular-chart-area.mjs +289 -3
- package/fesm2022/ojiepermana-angular-chart-bar.mjs +722 -3
- package/fesm2022/ojiepermana-angular-chart-core.mjs +1482 -3
- package/fesm2022/ojiepermana-angular-chart-line.mjs +294 -3
- package/fesm2022/ojiepermana-angular-chart-pie.mjs +291 -3
- package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1301 -3
- package/fesm2022/ojiepermana-angular-chart-radar.mjs +421 -3
- package/fesm2022/ojiepermana-angular-chart-radial.mjs +295 -3
- package/fesm2022/ojiepermana-angular-chart-scatter.mjs +306 -3
- package/fesm2022/ojiepermana-angular-chart.mjs +12 -3
- package/fesm2022/ojiepermana-angular-component-accordion.mjs +267 -3
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +359 -3
- package/fesm2022/ojiepermana-angular-component-alert.mjs +101 -3
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +31 -3
- package/fesm2022/ojiepermana-angular-component-avatar.mjs +139 -3
- package/fesm2022/ojiepermana-angular-component-badge.mjs +57 -3
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +192 -3
- package/fesm2022/ojiepermana-angular-component-button-group.mjs +95 -3
- package/fesm2022/ojiepermana-angular-component-button.mjs +73 -3
- package/fesm2022/ojiepermana-angular-component-calendar.mjs +718 -3
- package/fesm2022/ojiepermana-angular-component-card.mjs +167 -3
- package/fesm2022/ojiepermana-angular-component-carousel.mjs +326 -3
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs +190 -3
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs +117 -3
- package/fesm2022/ojiepermana-angular-component-combobox.mjs +327 -3
- package/fesm2022/ojiepermana-angular-component-command.mjs +351 -3
- package/fesm2022/ojiepermana-angular-component-composer.mjs +359 -3
- package/fesm2022/ojiepermana-angular-component-context-menu.mjs +158 -3
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs +482 -3
- package/fesm2022/ojiepermana-angular-component-dialog.mjs +400 -3
- package/fesm2022/ojiepermana-angular-component-drawer.mjs +1 -3
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +689 -3
- package/fesm2022/ojiepermana-angular-component-editor.mjs +511 -3
- package/fesm2022/ojiepermana-angular-component-empty.mjs +134 -3
- package/fesm2022/ojiepermana-angular-component-form.mjs +438 -3
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs +273 -3
- package/fesm2022/ojiepermana-angular-component-icon.mjs +139 -3
- package/fesm2022/ojiepermana-angular-component-input-group.mjs +176 -3
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs +550 -3
- package/fesm2022/ojiepermana-angular-component-input.mjs +52 -3
- package/fesm2022/ojiepermana-angular-component-item.mjs +264 -3
- package/fesm2022/ojiepermana-angular-component-kanban.mjs +310 -3
- package/fesm2022/ojiepermana-angular-component-kbd.mjs +48 -3
- package/fesm2022/ojiepermana-angular-component-label.mjs +27 -3
- package/fesm2022/ojiepermana-angular-component-menubar.mjs +327 -3
- package/fesm2022/ojiepermana-angular-component-native-select.mjs +62 -3
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +378 -3
- package/fesm2022/ojiepermana-angular-component-pagination.mjs +238 -3
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs +999 -3
- package/fesm2022/ojiepermana-angular-component-popover.mjs +201 -3
- package/fesm2022/ojiepermana-angular-component-progress.mjs +57 -3
- package/fesm2022/ojiepermana-angular-component-radio.mjs +180 -3
- package/fesm2022/ojiepermana-angular-component-resizable.mjs +493 -3
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +51 -3
- package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +227 -3
- package/fesm2022/ojiepermana-angular-component-select.mjs +609 -3
- package/fesm2022/ojiepermana-angular-component-separator.mjs +31 -3
- package/fesm2022/ojiepermana-angular-component-sheet.mjs +407 -3
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs +25 -3
- package/fesm2022/ojiepermana-angular-component-slider.mjs +456 -3
- package/fesm2022/ojiepermana-angular-component-spinner.mjs +56 -3
- package/fesm2022/ojiepermana-angular-component-switch.mjs +145 -3
- package/fesm2022/ojiepermana-angular-component-table.mjs +155 -3
- package/fesm2022/ojiepermana-angular-component-tabs.mjs +315 -3
- package/fesm2022/ojiepermana-angular-component-textarea.mjs +46 -3
- package/fesm2022/ojiepermana-angular-component-timeline.mjs +237 -3
- package/fesm2022/ojiepermana-angular-component-toast.mjs +241 -3
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +290 -3
- package/fesm2022/ojiepermana-angular-component-toggle.mjs +76 -3
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs +519 -3
- package/fesm2022/ojiepermana-angular-component-utils-core.mjs +310 -3
- package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +62 -3
- package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +34 -3
- package/fesm2022/ojiepermana-angular-component-utils.mjs +3 -2
- package/fesm2022/ojiepermana-angular-component.mjs +4 -4
- package/fesm2022/ojiepermana-angular-navigation-core.mjs +21 -3
- package/fesm2022/ojiepermana-angular-navigation-icon.mjs +20 -3
- package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-CDBxQ8rk.mjs +91 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DBQHdvGa.mjs +512 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-entry-grid.component-Cd-jh6tg.mjs +623 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BCGvhoYj.mjs +404 -0
- package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-Dk_03e-6.mjs +466 -0
- package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-DNKU6viC.mjs +2642 -0
- package/fesm2022/ojiepermana-angular-navigation-service.mjs +725 -3
- package/fesm2022/ojiepermana-angular-navigation-types.mjs +65 -4
- package/fesm2022/ojiepermana-angular-navigation.mjs +4 -10
- package/fesm2022/ojiepermana-angular-sdk.mjs +204 -4
- package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1387 -3
- package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +331 -3
- package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +45 -4
- package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1044 -3
- package/fesm2022/ojiepermana-angular-theme-layout.mjs +729 -3
- package/fesm2022/ojiepermana-angular-theme-page-core.mjs +381 -3
- package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +267 -3
- package/fesm2022/ojiepermana-angular-theme-page-root.mjs +361 -3
- package/fesm2022/ojiepermana-angular-theme-page-side.mjs +198 -3
- package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +110 -3
- package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -2
- package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +338 -3
- package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +160 -4
- package/fesm2022/ojiepermana-angular-theme-shell.mjs +811 -3
- package/fesm2022/ojiepermana-angular-theme-styles.mjs +783 -3
- package/fesm2022/ojiepermana-angular-theme.mjs +4 -4
- package/fesm2022/ojiepermana-angular.mjs +6 -11
- package/navigation/README.md +374 -0
- package/package.json +81 -20
- package/sdk/README.md +212 -0
- package/sdk/schematics/collection.json +20 -0
- package/sdk/schematics/init/index.js +83 -0
- package/sdk/schematics/init/schema.json +19 -0
- package/sdk/schematics/ng-add/index.js +147 -0
- package/sdk/schematics/ng-add/schema.json +14 -0
- package/sdk/schematics/package.json +3 -0
- package/sdk/schematics/sdk/index.js +175 -0
- package/sdk/schematics/sdk/schema.json +19 -0
- package/sdk/sdk.config.example.json +24 -0
- package/sdk/src/config/loader.js +43 -0
- package/sdk/src/config/schema.js +59 -0
- package/sdk/src/emit/client.js +251 -0
- package/sdk/src/emit/metadata.js +310 -0
- package/sdk/src/emit/models.js +104 -0
- package/sdk/src/emit/navigation.js +56 -0
- package/sdk/src/emit/operations.js +118 -0
- package/sdk/src/emit/public-api.js +54 -0
- package/sdk/src/emit/services.js +110 -0
- package/sdk/src/engine.js +67 -0
- package/sdk/src/layout/per-domain.js +360 -0
- package/sdk/src/package.json +3 -0
- package/sdk/src/parser/bundle.js +25 -0
- package/sdk/src/parser/ir.js +429 -0
- package/sdk/src/parser/types.js +7 -0
- package/sdk/src/render/template.js +152 -0
- package/sdk/src/writer/index.js +286 -0
- package/theme/README.md +126 -0
- package/theme/component/settings/README.md +135 -0
- package/theme/layout/README.md +539 -0
- package/theme/page/README.md +453 -0
- package/theme/shell/README.md +340 -0
- package/theme/styles/README.md +178 -0
- package/theme/styles/css/base/components.css +553 -0
- package/theme/styles/css/base/index.css +14 -0
- package/theme/styles/css/base/package.css +9 -0
- package/theme/styles/css/base/prefers-dark.css +86 -0
- package/theme/styles/css/base/print.css +62 -0
- package/theme/styles/css/base/status.css +38 -0
- package/theme/styles/css/base/tailwind.css +165 -0
- package/theme/styles/css/base/theme.css +374 -0
- package/theme/styles/css/base/tokens.css +361 -0
- package/theme/styles/css/color/amber.css +72 -0
- package/theme/styles/css/color/blue.css +72 -0
- package/theme/styles/css/color/brand.css +38 -0
- package/theme/styles/css/color/cyan.css +72 -0
- package/theme/styles/css/color/emerald.css +72 -0
- package/theme/styles/css/color/fuchsia.css +72 -0
- package/theme/styles/css/color/green.css +72 -0
- package/theme/styles/css/color/index.css +19 -0
- package/theme/styles/css/color/indigo.css +72 -0
- package/theme/styles/css/color/lime.css +72 -0
- package/theme/styles/css/color/orange.css +72 -0
- package/theme/styles/css/color/pink.css +72 -0
- package/theme/styles/css/color/purple.css +72 -0
- package/theme/styles/css/color/red.css +72 -0
- package/theme/styles/css/color/rose.css +72 -0
- package/theme/styles/css/color/sky.css +72 -0
- package/theme/styles/css/color/teal.css +72 -0
- package/theme/styles/css/color/violet.css +72 -0
- package/theme/styles/css/color/yellow.css +72 -0
- package/theme/styles/css/index.css +18 -0
- package/theme/styles/css/neutral/gray.css +63 -0
- package/theme/styles/css/neutral/index.css +11 -0
- package/theme/styles/css/neutral/mauve.css +63 -0
- package/theme/styles/css/neutral/mist.css +63 -0
- package/theme/styles/css/neutral/neutral.css +63 -0
- package/theme/styles/css/neutral/olive.css +63 -0
- package/theme/styles/css/neutral/slate.css +63 -0
- package/theme/styles/css/neutral/stone.css +63 -0
- package/theme/styles/css/neutral/taupe.css +63 -0
- package/theme/styles/css/neutral/zinc.css +63 -0
- package/theme/styles/css/radius/index.css +30 -0
- package/theme/styles/css/space/index.css +20 -0
- package/types/ojiepermana-angular-chart-area.d.ts +76 -1
- package/types/ojiepermana-angular-chart-bar.d.ts +201 -1
- package/types/ojiepermana-angular-chart-core.d.ts +811 -1
- package/types/ojiepermana-angular-chart-line.d.ts +75 -1
- package/types/ojiepermana-angular-chart-pie.d.ts +131 -1
- package/types/ojiepermana-angular-chart-primitives.d.ts +291 -1
- package/types/ojiepermana-angular-chart-radar.d.ts +116 -1
- package/types/ojiepermana-angular-chart-radial.d.ts +116 -1
- package/types/ojiepermana-angular-chart-scatter.d.ts +125 -1
- package/types/ojiepermana-angular-chart.d.ts +2 -1
- package/types/ojiepermana-angular-component-accordion.d.ts +85 -1
- package/types/ojiepermana-angular-component-alert-dialog.d.ts +140 -1
- package/types/ojiepermana-angular-component-alert.d.ts +42 -1
- package/types/ojiepermana-angular-component-aspect-ratio.d.ts +12 -1
- package/types/ojiepermana-angular-component-avatar.d.ts +56 -1
- package/types/ojiepermana-angular-component-badge.d.ts +24 -1
- package/types/ojiepermana-angular-component-breadcrumb.d.ts +46 -1
- package/types/ojiepermana-angular-component-button-group.d.ts +26 -1
- package/types/ojiepermana-angular-component-button.d.ts +27 -1
- package/types/ojiepermana-angular-component-calendar.d.ts +111 -1
- package/types/ojiepermana-angular-component-card.d.ts +69 -1
- package/types/ojiepermana-angular-component-carousel.d.ts +86 -1
- package/types/ojiepermana-angular-component-checkbox.d.ts +42 -1
- package/types/ojiepermana-angular-component-collapsible.d.ts +42 -1
- package/types/ojiepermana-angular-component-combobox.d.ts +60 -1
- package/types/ojiepermana-angular-component-command.d.ts +130 -1
- package/types/ojiepermana-angular-component-composer.d.ts +90 -1
- package/types/ojiepermana-angular-component-context-menu.d.ts +54 -1
- package/types/ojiepermana-angular-component-date-picker.d.ts +109 -1
- package/types/ojiepermana-angular-component-dialog.d.ts +136 -1
- package/types/ojiepermana-angular-component-drawer.d.ts +1 -1
- package/types/ojiepermana-angular-component-dropdown-menu.d.ts +248 -1
- package/types/ojiepermana-angular-component-editor.d.ts +135 -1
- package/types/ojiepermana-angular-component-empty.d.ts +50 -1
- package/types/ojiepermana-angular-component-form.d.ts +159 -1
- package/types/ojiepermana-angular-component-hover-card.d.ts +75 -1
- package/types/ojiepermana-angular-component-icon.d.ts +89 -1
- package/types/ojiepermana-angular-component-input-group.d.ts +51 -1
- package/types/ojiepermana-angular-component-input-otp.d.ts +155 -1
- package/types/ojiepermana-angular-component-input.d.ts +21 -1
- package/types/ojiepermana-angular-component-item.d.ts +93 -1
- package/types/ojiepermana-angular-component-kanban.d.ts +70 -1
- package/types/ojiepermana-angular-component-kbd.d.ts +16 -1
- package/types/ojiepermana-angular-component-label.d.ts +11 -1
- package/types/ojiepermana-angular-component-menubar.d.ts +93 -1
- package/types/ojiepermana-angular-component-native-select.d.ts +26 -1
- package/types/ojiepermana-angular-component-navigation-menu.d.ts +104 -1
- package/types/ojiepermana-angular-component-pagination.d.ts +33 -1
- package/types/ojiepermana-angular-component-pillbox.d.ts +222 -1
- package/types/ojiepermana-angular-component-popover.d.ts +66 -1
- package/types/ojiepermana-angular-component-progress.d.ts +17 -1
- package/types/ojiepermana-angular-component-radio.d.ts +60 -1
- package/types/ojiepermana-angular-component-resizable.d.ts +117 -1
- package/types/ojiepermana-angular-component-scroll-area.d.ts +19 -1
- package/types/ojiepermana-angular-component-segmented-control.d.ts +58 -1
- package/types/ojiepermana-angular-component-select.d.ts +122 -1
- package/types/ojiepermana-angular-component-separator.d.ts +14 -1
- package/types/ojiepermana-angular-component-sheet.d.ts +130 -1
- package/types/ojiepermana-angular-component-skeleton.d.ts +10 -1
- package/types/ojiepermana-angular-component-slider.d.ts +83 -1
- package/types/ojiepermana-angular-component-spinner.d.ts +13 -1
- package/types/ojiepermana-angular-component-switch.d.ts +44 -1
- package/types/ojiepermana-angular-component-table.d.ts +57 -1
- package/types/ojiepermana-angular-component-tabs.d.ts +124 -1
- package/types/ojiepermana-angular-component-textarea.d.ts +17 -1
- package/types/ojiepermana-angular-component-timeline.d.ts +64 -1
- package/types/ojiepermana-angular-component-toast.d.ts +64 -1
- package/types/ojiepermana-angular-component-toggle-group.d.ts +90 -1
- package/types/ojiepermana-angular-component-toggle.d.ts +25 -1
- package/types/ojiepermana-angular-component-tooltip.d.ts +143 -1
- package/types/ojiepermana-angular-component-utils-core.d.ts +184 -1
- package/types/ojiepermana-angular-component-utils-overlay.d.ts +21 -1
- package/types/ojiepermana-angular-component-utils-scale.d.ts +19 -1
- package/types/ojiepermana-angular-component-utils.d.ts +2 -1
- package/types/ojiepermana-angular-component.d.ts +2 -1
- package/types/ojiepermana-angular-navigation-core.d.ts +59 -1
- package/types/ojiepermana-angular-navigation-icon.d.ts +12 -1
- package/types/ojiepermana-angular-navigation-service.d.ts +116 -1
- package/types/ojiepermana-angular-navigation-types.d.ts +144 -1
- package/types/ojiepermana-angular-navigation.d.ts +507 -1
- package/types/ojiepermana-angular-sdk.d.ts +89 -1
- package/types/ojiepermana-angular-theme-component-settings.d.ts +154 -1
- package/types/ojiepermana-angular-theme-layout-services.d.ts +147 -1
- package/types/ojiepermana-angular-theme-layout-types.d.ts +40 -1
- package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +299 -1
- package/types/ojiepermana-angular-theme-layout.d.ts +129 -1
- package/types/ojiepermana-angular-theme-page-core.d.ts +157 -1
- package/types/ojiepermana-angular-theme-page-filter.d.ts +77 -1
- package/types/ojiepermana-angular-theme-page-root.d.ts +88 -1
- package/types/ojiepermana-angular-theme-page-side.d.ts +50 -1
- package/types/ojiepermana-angular-theme-page-slots.d.ts +40 -1
- package/types/ojiepermana-angular-theme-page.d.ts +5 -1
- package/types/ojiepermana-angular-theme-shell-services.d.ts +193 -1
- package/types/ojiepermana-angular-theme-shell-types.d.ts +105 -1
- package/types/ojiepermana-angular-theme-shell.d.ts +100 -1
- package/types/ojiepermana-angular-theme-styles.d.ts +319 -1
- package/types/ojiepermana-angular-theme.d.ts +2 -1
- package/types/ojiepermana-angular.d.ts +5 -5
|
@@ -1 +1,507 @@
|
|
|
1
|
-
|
|
1
|
+
import * as _ojiepermana_angular_navigation from '@ojiepermana/angular/navigation';
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { Signal, TemplateRef } from '@angular/core';
|
|
4
|
+
import { NavigationIconDirective } from '@ojiepermana/angular/navigation/icon';
|
|
5
|
+
export { NavigationIconDirective } from '@ojiepermana/angular/navigation/icon';
|
|
6
|
+
import { NavigationOrientation, NavigationType, NavigationPosition, NavigationDockbarMode, NavigationDockbarRouteContext, NavigationBadgeContext, NavigationAppearance, NavigationFlyoutIconPosition, NavigationFlyoutTriggerVariant, NavigationState, NavigationItem, NavigationCollapseTree, NavigationSelection, NavigationBadgeSource, NavigationNormalizedItem, NavigationResolvedRouteContext, NavigationIconContext, NavigationVerticalPosition, NavigationHorizontalPosition } from '@ojiepermana/angular/navigation/types';
|
|
7
|
+
export { NAVIGATION_DOCKBAR_FALLBACK_ICON, NavigationActionHandler, NavigationAppearance, NavigationBadgeAriaLabel, NavigationBadgeContext, NavigationBadgeCount, NavigationBadgeSource, NavigationBadgeValueSource, NavigationCollapseTree, NavigationDockbarMode, NavigationDockbarRouteConfig, NavigationDockbarRouteContext, NavigationFlyoutIconPosition, NavigationFlyoutTriggerVariant, NavigationHorizontalPosition, NavigationHorizontalType, NavigationIconContext, NavigationItem, NavigationItemBadge, NavigationItemClasses, NavigationItemType, NavigationLink, NavigationNormalizedItem, NavigationNormalizedItemType, NavigationOrientation, NavigationPosition, NavigationRegisterInput, NavigationResolvedRouteContext, NavigationRouteData, NavigationSelection, NavigationState, NavigationType, NavigationVerticalPosition, NavigationVerticalType, NavigationVisibilityHandler, formatNavigationBadgeCount, normalizeUiNavItems } from '@ojiepermana/angular/navigation/types';
|
|
8
|
+
export * from '@ojiepermana/angular/navigation/core';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Konfigurasi yang didaftarkan komponen type (`<NavigationSidebar>`,
|
|
12
|
+
* `<NavigationDockbar>`, `<NavigationNavbar>`, `<NavigationFlyout>`) ke
|
|
13
|
+
* `<Navigation>` induknya. Satu `<Navigation>` hanya boleh memuat satu
|
|
14
|
+
* type hidup pada satu waktu.
|
|
15
|
+
*/
|
|
16
|
+
interface NavigationTypeConfig {
|
|
17
|
+
readonly orientation: NavigationOrientation;
|
|
18
|
+
readonly type: NavigationType;
|
|
19
|
+
readonly position?: Signal<NavigationPosition | null>;
|
|
20
|
+
readonly collapsed?: Signal<boolean | null>;
|
|
21
|
+
readonly dockbarMode?: Signal<NavigationDockbarMode | null>;
|
|
22
|
+
/** Opt-in route context dan registry badge khusus dockbar. */
|
|
23
|
+
readonly dockbarRouteContext?: Signal<NavigationDockbarRouteContext | null>;
|
|
24
|
+
readonly dockbarBadgeContext?: Signal<NavigationBadgeContext>;
|
|
25
|
+
/** Header route bawaan hanya terlihat bila consumer tidak memproyeksikan header sendiri. */
|
|
26
|
+
readonly dockbarRouteHeaderVisible?: Signal<boolean>;
|
|
27
|
+
/** Template footer aside dockbar (slot `ng-template[NavigationAsideFooter]`). */
|
|
28
|
+
readonly dockbarAsideFooter?: Signal<TemplateRef<unknown> | null>;
|
|
29
|
+
readonly sidebarCollapse?: Signal<boolean>;
|
|
30
|
+
readonly previewExpanded?: Signal<boolean>;
|
|
31
|
+
readonly typeStyle?: Signal<NavigationAppearance>;
|
|
32
|
+
readonly flyoutLabel?: Signal<string>;
|
|
33
|
+
/** Nama Material Symbols untuk trigger flyout; `null` = tanpa ikon (label saja). */
|
|
34
|
+
readonly flyoutIcon?: Signal<string | null>;
|
|
35
|
+
/** Trigger flyout hanya ikon — label pindah ke aria-label/title. */
|
|
36
|
+
readonly flyoutIconOnly?: Signal<boolean>;
|
|
37
|
+
/** Penempatan ikon relatif terhadap label trigger flyout. */
|
|
38
|
+
readonly flyoutIconPosition?: Signal<NavigationFlyoutIconPosition>;
|
|
39
|
+
/** Bentuk visual tombol trigger flyout: `button` (pil) | `link` | `plain` (ghost). */
|
|
40
|
+
readonly flyoutTriggerVariant?: Signal<NavigationFlyoutTriggerVariant>;
|
|
41
|
+
/** Trigger flyout mengambang (`fixed`) alih-alih mengalir di dalam bar/div. */
|
|
42
|
+
readonly flyoutTriggerFloating?: Signal<boolean>;
|
|
43
|
+
/** Panel floating menutup dari batas atas viewport dan memakai lebar viewport penuh. */
|
|
44
|
+
readonly flyoutPanelViewport?: Signal<boolean>;
|
|
45
|
+
/** Kelas Tailwind tambahan untuk host trigger flyout (posisi pojok floating / override wrapper). */
|
|
46
|
+
readonly flyoutTriggerClass?: Signal<string>;
|
|
47
|
+
/** Kelas tambahan khusus tombol trigger flyout. */
|
|
48
|
+
readonly flyoutTriggerButtonClass?: Signal<string>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
interface NavigationShellContext {
|
|
52
|
+
readonly state: Signal<NavigationState>;
|
|
53
|
+
readonly displayState: Signal<NavigationState>;
|
|
54
|
+
readonly collapseEnabled: Signal<boolean>;
|
|
55
|
+
toggleCollapsed(): void;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface NavigationDockbarRouteHeaderState {
|
|
59
|
+
readonly activeEntry: NavigationNormalizedItem | null;
|
|
60
|
+
readonly panelGroup: NavigationNormalizedItem | null;
|
|
61
|
+
readonly icon: string;
|
|
62
|
+
readonly label: string;
|
|
63
|
+
readonly badge: NavigationBadgeSource | null;
|
|
64
|
+
readonly badgeClass: string;
|
|
65
|
+
readonly iconContext: NavigationIconContext;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Container navigasi deklaratif. Type ditentukan oleh komponen anak:
|
|
69
|
+
*
|
|
70
|
+
* ```html
|
|
71
|
+
* <Navigation id="main" [data]="items">
|
|
72
|
+
* <NavigationSidebar>
|
|
73
|
+
* <NavigationHeader>…</NavigationHeader>
|
|
74
|
+
* <NavigationContent />
|
|
75
|
+
* <NavigationFooter>…</NavigationFooter>
|
|
76
|
+
* </NavigationSidebar>
|
|
77
|
+
* </Navigation>
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* Header dan footer opsional; `NavigationContent` selalu dirender oleh
|
|
81
|
+
* type (default otomatis bila tidak diproyeksikan).
|
|
82
|
+
*/
|
|
83
|
+
declare class NavigationContainerComponent implements NavigationShellContext {
|
|
84
|
+
readonly navId: _angular_core.InputSignal<string>;
|
|
85
|
+
/** Id data publik dapat dipisahkan dari id state. Berguna untuk mirror mobile tanpa berbagi persistence state. */
|
|
86
|
+
readonly dataId: _angular_core.InputSignal<string | null>;
|
|
87
|
+
readonly data: _angular_core.InputSignal<readonly NavigationItem[]>;
|
|
88
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
89
|
+
readonly compact: _angular_core.InputSignal<boolean>;
|
|
90
|
+
readonly collapseTree: _angular_core.InputSignal<NavigationCollapseTree>;
|
|
91
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
92
|
+
readonly itemClass: _angular_core.InputSignal<string>;
|
|
93
|
+
/** Kelas Tailwind untuk container `<li>` group horizontal (flyout tab / navbar group). */
|
|
94
|
+
readonly groupClass: _angular_core.InputSignal<string>;
|
|
95
|
+
readonly activeIds: _angular_core.InputSignal<ReadonlySet<string> | readonly string[] | null>;
|
|
96
|
+
readonly activeUrl: _angular_core.InputSignal<string | null>;
|
|
97
|
+
readonly openedIds: _angular_core.ModelSignal<readonly string[]>;
|
|
98
|
+
readonly itemSelected: _angular_core.OutputEmitterRef<NavigationSelection>;
|
|
99
|
+
private readonly nav;
|
|
100
|
+
private readonly routeContextAdapter;
|
|
101
|
+
private readonly activatedRoute;
|
|
102
|
+
private readonly dataOwner;
|
|
103
|
+
private readonly hoverPreviewExpanded;
|
|
104
|
+
/**
|
|
105
|
+
* Keyboard twin of the hover preview: a collapsed rail hides the children of
|
|
106
|
+
* every collapsible, so without this the only way into a nested route is a
|
|
107
|
+
* pointer hovering the rail.
|
|
108
|
+
*/
|
|
109
|
+
private readonly focusPreviewExpanded;
|
|
110
|
+
/** Konfigurasi type aktif yang didaftarkan wrapper anak (sidebar/dockbar/navbar/flyout). */
|
|
111
|
+
private readonly typeConfig;
|
|
112
|
+
private readonly orientationPreference;
|
|
113
|
+
private readonly typePreference;
|
|
114
|
+
private readonly positionPreference;
|
|
115
|
+
private readonly collapsedPreference;
|
|
116
|
+
private readonly dockbarModePreference;
|
|
117
|
+
private readonly dockbarRouteContextPreference;
|
|
118
|
+
readonly dockbarBadgeContext: _angular_core.Signal<Readonly<Record<string, NavigationBadgeSource>>>;
|
|
119
|
+
readonly dockbarRouteHeaderVisible: _angular_core.Signal<boolean>;
|
|
120
|
+
/** Template footer aside dockbar dari slot `ng-template[NavigationAsideFooter]`. */
|
|
121
|
+
readonly dockbarAsideFooter: _angular_core.Signal<_angular_core.TemplateRef<unknown> | null>;
|
|
122
|
+
private readonly sidebarCollapse;
|
|
123
|
+
private readonly previewExpanded;
|
|
124
|
+
readonly typeStyle: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationAppearance>;
|
|
125
|
+
readonly flyoutLabel: _angular_core.Signal<string>;
|
|
126
|
+
readonly flyoutIcon: _angular_core.Signal<string | null>;
|
|
127
|
+
readonly flyoutIconOnly: _angular_core.Signal<boolean>;
|
|
128
|
+
readonly flyoutIconPosition: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationFlyoutIconPosition>;
|
|
129
|
+
readonly flyoutTriggerVariant: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationFlyoutTriggerVariant>;
|
|
130
|
+
readonly flyoutTriggerFloating: _angular_core.Signal<boolean>;
|
|
131
|
+
readonly flyoutPanelViewport: _angular_core.Signal<boolean>;
|
|
132
|
+
readonly flyoutTriggerClass: _angular_core.Signal<string>;
|
|
133
|
+
readonly flyoutTriggerButtonClass: _angular_core.Signal<string>;
|
|
134
|
+
private readonly controller;
|
|
135
|
+
readonly iconTemplate: _angular_core.Signal<NavigationIconDirective | undefined>;
|
|
136
|
+
readonly normalizedItems: _angular_core.Signal<readonly NavigationNormalizedItem[]>;
|
|
137
|
+
readonly resolvedState: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationState>;
|
|
138
|
+
readonly activeIdSet: _angular_core.Signal<ReadonlySet<string>>;
|
|
139
|
+
readonly dockbarRouteEnabled: _angular_core.Signal<boolean>;
|
|
140
|
+
readonly dockbarResolvedRouteContext: _angular_core.Signal<NavigationResolvedRouteContext>;
|
|
141
|
+
readonly dockbarActiveRouteEntry: _angular_core.Signal<NavigationNormalizedItem | null>;
|
|
142
|
+
readonly dockbarResolvedActiveIds: _angular_core.Signal<ReadonlySet<string>>;
|
|
143
|
+
readonly dockbarActiveRoutePanelGroup: _angular_core.Signal<NavigationNormalizedItem | null>;
|
|
144
|
+
readonly dockbarRouteHeader: _angular_core.Signal<NavigationDockbarRouteHeaderState | null>;
|
|
145
|
+
readonly dockbarRailItems: _angular_core.Signal<readonly NavigationNormalizedItem[]>;
|
|
146
|
+
readonly dockbarAsideId: _angular_core.Signal<string>;
|
|
147
|
+
readonly dockbarOpenGroup: _angular_core.Signal<NavigationNormalizedItem | null>;
|
|
148
|
+
readonly dockbarActiveRoutePanelExpanded: _angular_core.Signal<boolean>;
|
|
149
|
+
readonly previewRailExpanded: _angular_core.Signal<boolean>;
|
|
150
|
+
readonly previewRailOffset: _angular_core.Signal<"calc(var(--layout-sidebar-width) - var(--layout-sidebar-collapsed-width))" | "0px">;
|
|
151
|
+
readonly displayState: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationState>;
|
|
152
|
+
readonly dockbarAsideOpen: _angular_core.Signal<boolean>;
|
|
153
|
+
readonly collapseEnabled: _angular_core.Signal<boolean>;
|
|
154
|
+
/** Kelas shell yang dipakai host komponen type (eks `div` shell internal). */
|
|
155
|
+
readonly shellClasses: _angular_core.Signal<string>;
|
|
156
|
+
readonly state: _angular_core.Signal<_ojiepermana_angular_navigation.NavigationState>;
|
|
157
|
+
readonly resolvedDataId: _angular_core.Signal<string>;
|
|
158
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
159
|
+
constructor();
|
|
160
|
+
/**
|
|
161
|
+
* Dipanggil komponen type saat dibuat. Satu `<Navigation>` hanya boleh
|
|
162
|
+
* memuat satu type hidup — pendaftaran ganda dianggap salah konfigurasi.
|
|
163
|
+
*/
|
|
164
|
+
registerType(config: NavigationTypeConfig): void;
|
|
165
|
+
unregisterType(config: NavigationTypeConfig): void;
|
|
166
|
+
toggleCollapsed(): void;
|
|
167
|
+
toggleDockbarActiveRoutePanel(): void;
|
|
168
|
+
closeDockbarPanel(): boolean;
|
|
169
|
+
restoreDockbarRoutePanel(): void;
|
|
170
|
+
protected setHoverPreview(value: boolean): void;
|
|
171
|
+
protected setFocusPreview(value: boolean, event?: FocusEvent): void;
|
|
172
|
+
private dockbarRouteConfig;
|
|
173
|
+
private cleanString;
|
|
174
|
+
private safeId;
|
|
175
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationContainerComponent, never>;
|
|
176
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationContainerComponent, "Navigation", never, { "navId": { "alias": "id"; "required": false; "isSignal": true; }; "dataId": { "alias": "data-id"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "collapseTree": { "alias": "collapse-tree"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "itemClass": { "alias": "itemClass"; "required": false; "isSignal": true; }; "groupClass": { "alias": "nav-group-class"; "required": false; "isSignal": true; }; "activeIds": { "alias": "activeIds"; "required": false; "isSignal": true; }; "activeUrl": { "alias": "activeUrl"; "required": false; "isSignal": true; }; "openedIds": { "alias": "openedIds"; "required": false; "isSignal": true; }; }, { "openedIds": "openedIdsChange"; "itemSelected": "itemSelected"; }, ["iconTemplate"], ["*"], true, never>;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Area konten navigasi: merender daftar item sesuai type aktif dari
|
|
181
|
+
* `<Navigation>` induk. Selalu hadir di setiap type — komponen type
|
|
182
|
+
* merender default-nya bila consumer tidak memproyeksikan `<NavigationContent />`.
|
|
183
|
+
*/
|
|
184
|
+
declare class NavigationContentComponent {
|
|
185
|
+
protected readonly container: NavigationContainerComponent;
|
|
186
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
187
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
188
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationContentComponent, never>;
|
|
189
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationContentComponent, "NavigationContent", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["NavigationHeader", "NavigationFooter"], true, never>;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
declare class NavigationFooterComponent {
|
|
193
|
+
private readonly shell;
|
|
194
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
195
|
+
protected readonly isHorizontal: _angular_core.Signal<boolean>;
|
|
196
|
+
protected readonly displayCollapsed: _angular_core.Signal<boolean>;
|
|
197
|
+
/**
|
|
198
|
+
* Baris isi footer. Saat collapsed/dockbar (vertical) isi (inisial user) dipusatkan
|
|
199
|
+
* di tengah rail agar simetris dengan `NavigationHeader` dan ikon nav-item; selain
|
|
200
|
+
* itu rata kiri dengan `gap-3` (padding diserahkan consumer, mis. `px-3`).
|
|
201
|
+
*/
|
|
202
|
+
protected readonly rowClasses: _angular_core.Signal<string>;
|
|
203
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
204
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterComponent, never>;
|
|
205
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterComponent, "NavigationFooter", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
declare class NavigationHeaderComponent {
|
|
209
|
+
private readonly shell;
|
|
210
|
+
readonly toggle: _angular_core.InputSignal<boolean>;
|
|
211
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
212
|
+
protected readonly collapsed: _angular_core.Signal<boolean>;
|
|
213
|
+
protected readonly displayCollapsed: _angular_core.Signal<boolean>;
|
|
214
|
+
protected readonly isHorizontal: _angular_core.Signal<boolean>;
|
|
215
|
+
/**
|
|
216
|
+
* The toggle used to disappear once the rail collapsed, which left the
|
|
217
|
+
* collapsed rail with no control that could expand it again — nested items
|
|
218
|
+
* below a collapsible were then reachable by hover only.
|
|
219
|
+
*/
|
|
220
|
+
protected readonly showToggle: _angular_core.Signal<boolean>;
|
|
221
|
+
protected readonly toggleAriaLabel: _angular_core.Signal<"Expand navigation" | "Collapse navigation">;
|
|
222
|
+
protected readonly toggleIconName: _angular_core.Signal<"left_panel_open" | "left_panel_close">;
|
|
223
|
+
/**
|
|
224
|
+
* Baris isi header. Saat collapsed/dockbar (vertical) isi (inisial/ikon) dipusatkan di tengah
|
|
225
|
+
* rail agar simetris dengan ikon nav-item di bawahnya (yang juga center di rail); selain itu kiri
|
|
226
|
+
* dengan padding `px-3`.
|
|
227
|
+
*/
|
|
228
|
+
protected readonly rowClasses: _angular_core.Signal<string>;
|
|
229
|
+
protected readonly contentClasses: _angular_core.Signal<"flex min-w-0 items-center gap-3" | "flex min-w-0 items-center justify-center" | "flex min-w-0 flex-1 items-center gap-3">;
|
|
230
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
231
|
+
protected toggleCollapsed(): void;
|
|
232
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationHeaderComponent, never>;
|
|
233
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationHeaderComponent, "NavigationHeader", never, { "toggle": { "alias": "toggle"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Type sidebar vertikal untuk `<Navigation>`. Slot `NavigationHeader` dan
|
|
238
|
+
* `NavigationFooter` opsional; `NavigationContent` selalu dirender (default
|
|
239
|
+
* otomatis bila tidak diproyeksikan).
|
|
240
|
+
*/
|
|
241
|
+
declare class NavigationSidebarComponent {
|
|
242
|
+
private readonly container;
|
|
243
|
+
private readonly destroyRef;
|
|
244
|
+
readonly position: _angular_core.InputSignal<NavigationVerticalPosition | null>;
|
|
245
|
+
readonly collapsed: _angular_core.InputSignal<boolean | null>;
|
|
246
|
+
readonly collapse: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
247
|
+
readonly previewExpanded: _angular_core.InputSignal<boolean>;
|
|
248
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
249
|
+
protected readonly headerSlot: _angular_core.Signal<NavigationHeaderComponent | undefined>;
|
|
250
|
+
protected readonly contentSlot: _angular_core.Signal<NavigationContentComponent | undefined>;
|
|
251
|
+
protected readonly footerSlot: _angular_core.Signal<NavigationFooterComponent | undefined>;
|
|
252
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
253
|
+
constructor();
|
|
254
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationSidebarComponent, never>;
|
|
255
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationSidebarComponent, "NavigationSidebar", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "collapse": { "alias": "nav-sidebar-collapse"; "required": false; "isSignal": true; }; "previewExpanded": { "alias": "previewExpanded"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["headerSlot", "contentSlot", "footerSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Slot footer untuk aside dockbar. Proyeksikan sebagai `ng-template` di dalam
|
|
260
|
+
* `<NavigationDockbar>`; dirender di dasar aside (h-12, border-t) setiap kali
|
|
261
|
+
* panel group terbuka — baik mode `sticky` maupun `drawer`.
|
|
262
|
+
*
|
|
263
|
+
* ```html
|
|
264
|
+
* <NavigationDockbar>
|
|
265
|
+
* <NavigationFooter>…rail…</NavigationFooter>
|
|
266
|
+
* <ng-template NavigationAsideFooter>…identitas user + aksi…</ng-template>
|
|
267
|
+
* </NavigationDockbar>
|
|
268
|
+
* ```
|
|
269
|
+
*
|
|
270
|
+
* Berbeda dengan `NavigationFooter` (kolom rail, selalu collapsed pada dockbar),
|
|
271
|
+
* isi template ini tampil dalam konteks lebar penuh aside — cocok untuk nama +
|
|
272
|
+
* email + tombol aksi seperti footer sidebar expanded.
|
|
273
|
+
*/
|
|
274
|
+
declare class NavigationAsideFooterDirective {
|
|
275
|
+
readonly templateRef: TemplateRef<any>;
|
|
276
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationAsideFooterDirective, never>;
|
|
277
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavigationAsideFooterDirective, "ng-template[NavigationAsideFooter]", never, {}, {}, never, never, true, never>;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Type dockbar vertikal (rail ikon + aside) untuk `<Navigation>`. Slot
|
|
282
|
+
* `NavigationHeader` dan `NavigationFooter` opsional; `NavigationContent`
|
|
283
|
+
* selalu dirender (default otomatis bila tidak diproyeksikan). Slot
|
|
284
|
+
* `ng-template[NavigationAsideFooter]` opsional — dirender sebagai footer di
|
|
285
|
+
* dasar aside saat panel group terbuka.
|
|
286
|
+
*/
|
|
287
|
+
declare class NavigationDockbarComponent {
|
|
288
|
+
protected readonly container: NavigationContainerComponent;
|
|
289
|
+
private readonly destroyRef;
|
|
290
|
+
private readonly host;
|
|
291
|
+
private readonly injector;
|
|
292
|
+
readonly mode: _angular_core.InputSignal<NavigationDockbarMode | null>;
|
|
293
|
+
readonly position: _angular_core.InputSignal<NavigationVerticalPosition | null>;
|
|
294
|
+
readonly routeContext: _angular_core.InputSignal<NavigationDockbarRouteContext | null>;
|
|
295
|
+
readonly badgeContext: _angular_core.InputSignal<Readonly<Record<string, _ojiepermana_angular_navigation.NavigationBadgeSource>>>;
|
|
296
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
297
|
+
protected readonly headerSlot: _angular_core.Signal<NavigationHeaderComponent | undefined>;
|
|
298
|
+
protected readonly contentSlot: _angular_core.Signal<NavigationContentComponent | undefined>;
|
|
299
|
+
protected readonly footerSlot: _angular_core.Signal<NavigationFooterComponent | undefined>;
|
|
300
|
+
protected readonly asideFooterSlot: _angular_core.Signal<NavigationAsideFooterDirective | undefined>;
|
|
301
|
+
private readonly routeContextEnabled;
|
|
302
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
303
|
+
constructor();
|
|
304
|
+
protected onPointerOut(event: PointerEvent): void;
|
|
305
|
+
protected onEscape(event: Event): void;
|
|
306
|
+
protected toggleActiveRoutePanel(): void;
|
|
307
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationDockbarComponent, never>;
|
|
308
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationDockbarComponent, "NavigationDockbar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "routeContext": { "alias": "dockbar-route-context"; "required": false; "isSignal": true; }; "badgeContext": { "alias": "dockbar-badge"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["headerSlot", "contentSlot", "footerSlot", "asideFooterSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Type navbar horizontal untuk `<Navigation>`. Slot `NavigationHeader`
|
|
313
|
+
* dan `NavigationFooter` opsional; `NavigationContent` selalu dirender
|
|
314
|
+
* (default otomatis bila tidak diproyeksikan).
|
|
315
|
+
*/
|
|
316
|
+
declare class NavigationNavbarComponent {
|
|
317
|
+
private readonly container;
|
|
318
|
+
private readonly destroyRef;
|
|
319
|
+
/** Posisi bar terhadap konten layout: `top` (default) atau `bottom` — panel grid membuka ke arah sebaliknya. */
|
|
320
|
+
readonly position: _angular_core.InputSignal<NavigationHorizontalPosition | null>;
|
|
321
|
+
readonly typeStyle: _angular_core.InputSignal<NavigationAppearance>;
|
|
322
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
323
|
+
protected readonly headerSlot: _angular_core.Signal<NavigationHeaderComponent | undefined>;
|
|
324
|
+
protected readonly contentSlot: _angular_core.Signal<NavigationContentComponent | undefined>;
|
|
325
|
+
protected readonly footerSlot: _angular_core.Signal<NavigationFooterComponent | undefined>;
|
|
326
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
327
|
+
constructor();
|
|
328
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationNavbarComponent, never>;
|
|
329
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationNavbarComponent, "NavigationNavbar", never, { "position": { "alias": "nav-position"; "required": false; "isSignal": true; }; "typeStyle": { "alias": "nav-type-style"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, ["headerSlot", "contentSlot", "footerSlot"], ["NavigationHeader", "NavigationContent", "NavigationFooter"], true, never>;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Type flyout horizontal (trigger + panel menu) untuk `<Navigation>`.
|
|
334
|
+
* Slot `NavigationHeader` dan `NavigationFooter` opsional; `NavigationContent`
|
|
335
|
+
* selalu dirender (default otomatis bila tidak diproyeksikan).
|
|
336
|
+
*/
|
|
337
|
+
declare class NavigationFlyoutComponent {
|
|
338
|
+
private readonly container;
|
|
339
|
+
private readonly destroyRef;
|
|
340
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
341
|
+
/** Nama Material Symbols untuk trigger (mis. `apps`, `menu`); `null` = label saja. */
|
|
342
|
+
readonly icon: _angular_core.InputSignal<string | null>;
|
|
343
|
+
/** Trigger hanya menampilkan ikon; label tetap dipakai sebagai aria-label/title. */
|
|
344
|
+
readonly iconOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
345
|
+
/** Penempatan ikon relatif terhadap label: `start` (default) atau `end`. */
|
|
346
|
+
readonly iconPosition: _angular_core.InputSignal<NavigationFlyoutIconPosition>;
|
|
347
|
+
/** Bentuk visual tombol trigger: `button` (pil, default) | `link` | `plain` (ghost). */
|
|
348
|
+
readonly triggerVariant: _angular_core.InputSignal<NavigationFlyoutTriggerVariant>;
|
|
349
|
+
/**
|
|
350
|
+
* Trigger mengambang (`fixed`) alih-alih mengalir di dalam bar/div. Default pojok kanan-atas;
|
|
351
|
+
* pakai `trigger-class` untuk pindah pojok (mis. `bottom-6 right-6 top-auto`).
|
|
352
|
+
*
|
|
353
|
+
* Catatan: `position: fixed` ber-anchor ke viewport HANYA bila tak ada ancestor pembentuk
|
|
354
|
+
* containing block. Di dalam `<Layout>` (frame-nya memakai `backdrop-blur`), trigger ber-anchor
|
|
355
|
+
* ke kotak konten frame (bukan viewport sebenarnya) dan bisa ter-clip oleh frame `overflow-hidden`.
|
|
356
|
+
* Untuk floating sebenar-viewport, tempatkan `<Navigation>` flyout di luar frame `<Layout>`.
|
|
357
|
+
*/
|
|
358
|
+
readonly triggerFloating: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
359
|
+
/**
|
|
360
|
+
* Saat trigger floating dibuka, tempelkan panel ke batas atas viewport dan
|
|
361
|
+
* bentangkan sepanjang viewport. Dipakai window chrome; default popover tetap
|
|
362
|
+
* menempel ke trigger.
|
|
363
|
+
*/
|
|
364
|
+
readonly panelViewport: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
365
|
+
/** Kelas Tailwind untuk host trigger (posisi pojok floating / styling wrapper saat in-flow). */
|
|
366
|
+
readonly triggerClass: _angular_core.InputSignal<string>;
|
|
367
|
+
/** Kelas tambahan khusus tombol trigger, tanpa memengaruhi host atau item di dalam panel. */
|
|
368
|
+
readonly triggerButtonClass: _angular_core.InputSignal<string>;
|
|
369
|
+
/** Posisi bar terhadap konten layout: `top` (default) atau `bottom` — panel membuka ke arah sebaliknya. */
|
|
370
|
+
readonly position: _angular_core.InputSignal<NavigationHorizontalPosition | null>;
|
|
371
|
+
readonly typeStyle: _angular_core.InputSignal<NavigationAppearance>;
|
|
372
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
373
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
374
|
+
constructor();
|
|
375
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFlyoutComponent, never>;
|
|
376
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFlyoutComponent, "NavigationFlyout", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "icon-only"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "icon-position"; "required": false; "isSignal": true; }; "triggerVariant": { "alias": "trigger-variant"; "required": false; "isSignal": true; }; "triggerFloating": { "alias": "trigger-floating"; "required": false; "isSignal": true; }; "panelViewport": { "alias": "panel-viewport"; "required": false; "isSignal": true; }; "triggerClass": { "alias": "trigger-class"; "required": false; "isSignal": true; }; "triggerButtonClass": { "alias": "trigger-button-class"; "required": false; "isSignal": true; }; "position": { "alias": "nav-position"; "required": false; "isSignal": true; }; "typeStyle": { "alias": "nav-type-style"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["NavigationHeader", "NavigationFooter"], true, never>;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
declare class NavigationCollapseRootDirective {
|
|
380
|
+
private readonly shell;
|
|
381
|
+
protected readonly collapseEnabled: _angular_core.Signal<boolean>;
|
|
382
|
+
protected readonly displayCollapsed: _angular_core.Signal<boolean>;
|
|
383
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationCollapseRootDirective, never>;
|
|
384
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavigationCollapseRootDirective, "[NavigationCollapseRoot]", never, {}, {}, never, never, true, never>;
|
|
385
|
+
}
|
|
386
|
+
declare class NavigationCollapseExpandedDirective {
|
|
387
|
+
private readonly shell;
|
|
388
|
+
private readonly templateRef;
|
|
389
|
+
private readonly viewContainer;
|
|
390
|
+
private hasView;
|
|
391
|
+
private readonly shouldRender;
|
|
392
|
+
constructor();
|
|
393
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationCollapseExpandedDirective, never>;
|
|
394
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NavigationCollapseExpandedDirective, "[NavigationCollapseExpanded]", never, {}, {}, never, never, true, never>;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* Slot aksi di sisi kanan `NavigationFooter`. Selalu didorong ke kanan (`ml-auto`),
|
|
399
|
+
* rata tengah vertikal, dengan jarak antar-child otomatis (`gap`). Isi bebas dengan
|
|
400
|
+
* ikon, button, atau teks — mis. tombol logout.
|
|
401
|
+
*
|
|
402
|
+
* Otomatis disembunyikan saat sidebar vertical sedang collapsed (rail icon-only)
|
|
403
|
+
* agar tidak overflow; konsisten dengan `NavigationFooterTitle`.
|
|
404
|
+
*/
|
|
405
|
+
declare class NavigationFooterActionComponent {
|
|
406
|
+
private readonly shell;
|
|
407
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
408
|
+
protected readonly collapsed: _angular_core.Signal<boolean>;
|
|
409
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
410
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterActionComponent, never>;
|
|
411
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterActionComponent, "NavigationFooterAction", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* Blok avatar/inisial untuk slot `NavigationFooter` (profil user). Sama seperti
|
|
416
|
+
* `NavigationHeaderInitial` dengan bentuk identitas yang seragam (rounded-md).
|
|
417
|
+
* Consumer cukup memberi `name`; inisial diturunkan otomatis. Beri `src` untuk
|
|
418
|
+
* foto, `icon` untuk material symbol, atau `initials` untuk override.
|
|
419
|
+
*
|
|
420
|
+
* Tetap tampil saat sidebar collapsed; pasangannya `NavigationFooterTitle` yang
|
|
421
|
+
* menyembunyikan diri.
|
|
422
|
+
*/
|
|
423
|
+
declare class NavigationFooterInitialComponent {
|
|
424
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
425
|
+
readonly src: _angular_core.InputSignal<string | null>;
|
|
426
|
+
readonly initials: _angular_core.InputSignal<string | null>;
|
|
427
|
+
readonly icon: _angular_core.InputSignal<string | null>;
|
|
428
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
429
|
+
private readonly view;
|
|
430
|
+
protected readonly resolvedInitials: _angular_core.Signal<string>;
|
|
431
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
432
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterInitialComponent, never>;
|
|
433
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterInitialComponent, "NavigationFooterInitial", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Judul + subjudul untuk slot `NavigationFooter` (mis. nama + email user).
|
|
438
|
+
* Otomatis disembunyikan saat sidebar vertical sedang collapsed (rail icon-only)
|
|
439
|
+
* dengan membaca `NAVIGATION_SHELL`.
|
|
440
|
+
*/
|
|
441
|
+
declare class NavigationFooterTitleComponent {
|
|
442
|
+
private readonly shell;
|
|
443
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
444
|
+
readonly subtitle: _angular_core.InputSignal<string | null>;
|
|
445
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
446
|
+
protected readonly collapsed: _angular_core.Signal<boolean>;
|
|
447
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
448
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationFooterTitleComponent, never>;
|
|
449
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationFooterTitleComponent, "NavigationFooterTitle", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/**
|
|
453
|
+
* Blok avatar/inisial untuk slot `NavigationHeader` (brand/logo). Consumer cukup
|
|
454
|
+
* memberi `name`; inisial diturunkan otomatis ("Ojie Permana" → "OP"). Beri `src`
|
|
455
|
+
* untuk gambar, `icon` (material symbol) sebagai ganti inisial, atau `initials`
|
|
456
|
+
* untuk override manual.
|
|
457
|
+
*
|
|
458
|
+
* Selalu tampil baik saat sidebar expanded maupun collapsed karena ukurannya muat
|
|
459
|
+
* di rail icon-only — pasangannya, `NavigationHeaderTitle`, yang menyembunyikan
|
|
460
|
+
* diri saat collapsed.
|
|
461
|
+
*/
|
|
462
|
+
declare class NavigationHeaderInitialComponent {
|
|
463
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
464
|
+
readonly src: _angular_core.InputSignal<string | null>;
|
|
465
|
+
readonly initials: _angular_core.InputSignal<string | null>;
|
|
466
|
+
readonly icon: _angular_core.InputSignal<string | null>;
|
|
467
|
+
/** Use the rail icon token when the header is rendered in compact navigation. */
|
|
468
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
469
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
470
|
+
private readonly view;
|
|
471
|
+
protected readonly resolvedInitials: _angular_core.Signal<string>;
|
|
472
|
+
protected readonly iconClasses: _angular_core.Signal<string>;
|
|
473
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
474
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationHeaderInitialComponent, never>;
|
|
475
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationHeaderInitialComponent, "NavigationHeaderInitial", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* Judul + subjudul untuk slot `NavigationHeader`. Otomatis disembunyikan saat
|
|
480
|
+
* sidebar vertical sedang collapsed (rail icon-only) dengan membaca
|
|
481
|
+
* `NAVIGATION_SHELL` — consumer tidak perlu mengelola state collapse sendiri.
|
|
482
|
+
*/
|
|
483
|
+
declare class NavigationHeaderTitleComponent {
|
|
484
|
+
private readonly shell;
|
|
485
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
486
|
+
readonly subtitle: _angular_core.InputSignal<string | null>;
|
|
487
|
+
readonly class: _angular_core.InputSignal<string>;
|
|
488
|
+
protected readonly collapsed: _angular_core.Signal<boolean>;
|
|
489
|
+
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
490
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigationHeaderTitleComponent, never>;
|
|
491
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigationHeaderTitleComponent, "NavigationHeaderTitle", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Turunkan inisial ringkas dari sebuah nama untuk avatar fallback.
|
|
496
|
+
*
|
|
497
|
+
* "Ojie Permana" → "OP"
|
|
498
|
+
* "Ojiepermana" → "OJ"
|
|
499
|
+
* "" → ""
|
|
500
|
+
*
|
|
501
|
+
* Mengambil huruf depan kata pertama dan kata terakhir; bila hanya satu kata,
|
|
502
|
+
* memakai dua huruf pertamanya.
|
|
503
|
+
*/
|
|
504
|
+
declare function deriveNavigationInitials(name: string): string;
|
|
505
|
+
|
|
506
|
+
export { NavigationAsideFooterDirective, NavigationCollapseExpandedDirective, NavigationCollapseRootDirective, NavigationContainerComponent, NavigationContentComponent, NavigationDockbarComponent, NavigationFlyoutComponent, NavigationFooterActionComponent, NavigationFooterComponent, NavigationFooterInitialComponent, NavigationFooterTitleComponent, NavigationHeaderComponent, NavigationHeaderInitialComponent, NavigationHeaderTitleComponent, NavigationNavbarComponent, NavigationSidebarComponent, deriveNavigationInitials };
|
|
507
|
+
export type { NavigationTypeConfig };
|
|
@@ -1 +1,89 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Public config shape for the SDK generator.
|
|
3
|
+
*
|
|
4
|
+
* Users place an `sdk.config.json` at the workspace root describing one or more
|
|
5
|
+
* generation targets. All paths are resolved relative to the workspace root
|
|
6
|
+
* (i.e. the directory containing the config file).
|
|
7
|
+
*/
|
|
8
|
+
type SdkOutputMode = 'standalone' | 'library' | 'secondary-entrypoint';
|
|
9
|
+
interface SdkFeatureFlags {
|
|
10
|
+
/** Emit `models/*.ts` (type-only DTO interfaces). Default `true`. */
|
|
11
|
+
models?: boolean;
|
|
12
|
+
/** Emit tree-shakeable operation functions in `fn/<tag>/*.ts`. Default `true`. */
|
|
13
|
+
operations?: boolean;
|
|
14
|
+
/** Emit grouped Angular Service classes per tag. Default `true`. */
|
|
15
|
+
services?: boolean;
|
|
16
|
+
/** Emit the runtime client primitives (ApiConfiguration, BaseService, etc). Default `true`. */
|
|
17
|
+
client?: boolean;
|
|
18
|
+
/** Emit operation rules + field validators + permission helpers. Default `true`. */
|
|
19
|
+
metadata?: boolean;
|
|
20
|
+
/** Emit navigation tree derived from tags (parent, x-icon). Default `true`. */
|
|
21
|
+
navigation?: boolean;
|
|
22
|
+
/** Emit Signal-based resource helpers using rxResource(). Default `false`. */
|
|
23
|
+
resources?: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface SdkTargetConfig {
|
|
26
|
+
/** Path to OpenAPI 3.x spec (YAML or JSON). Required. */
|
|
27
|
+
input: string;
|
|
28
|
+
/** Output directory (relative to workspace root). Required. */
|
|
29
|
+
output: string;
|
|
30
|
+
/** Output mode. Defaults to `"standalone"`. */
|
|
31
|
+
mode?: SdkOutputMode;
|
|
32
|
+
/** Optional human-readable name used for logs & the generated `Api` class. */
|
|
33
|
+
clientName?: string;
|
|
34
|
+
/** Package name used when `mode === "library"`. */
|
|
35
|
+
packageName?: string;
|
|
36
|
+
/** Package version used when `mode === "library"`. Defaults to `0.0.1`. */
|
|
37
|
+
packageVersion?: string;
|
|
38
|
+
/** Default rootUrl baked into ApiConfiguration. Defaults to an empty string for same-origin requests. */
|
|
39
|
+
rootUrl?: string;
|
|
40
|
+
/** Feature toggles. Every feature defaults to `true` except `resources` (default `false`). */
|
|
41
|
+
features?: SdkFeatureFlags;
|
|
42
|
+
/**
|
|
43
|
+
* When `true`, reorganize emitted files into one folder per domain (derived
|
|
44
|
+
* from OpenAPI tags). Models shared by multiple domains live in `shared/`,
|
|
45
|
+
* domain-owned models live inside each domain. Defaults to `true` for
|
|
46
|
+
* `mode: "library"` and `false` otherwise.
|
|
47
|
+
*/
|
|
48
|
+
splitByDomain?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Granularity of `splitByDomain`. Only meaningful when `splitByDomain` is
|
|
51
|
+
* `true`. `'service'` (default) groups every tag under its root parent — one
|
|
52
|
+
* folder per backend service (e.g. all Role/Permission/... tags collapse into
|
|
53
|
+
* `access/`). `'tag'` emits one folder per leaf tag, nested under the parent
|
|
54
|
+
* chain (e.g. `storage/gcs/`, `storage/s3/`, `access/role/`).
|
|
55
|
+
*/
|
|
56
|
+
splitDepth?: 'service' | 'tag';
|
|
57
|
+
/** Custom file banner. Defaults to a short auto-generated notice. */
|
|
58
|
+
banner?: string;
|
|
59
|
+
}
|
|
60
|
+
interface SdkConfig {
|
|
61
|
+
targets: SdkTargetConfig[];
|
|
62
|
+
}
|
|
63
|
+
interface ResolvedFeatureFlags {
|
|
64
|
+
models: boolean;
|
|
65
|
+
operations: boolean;
|
|
66
|
+
services: boolean;
|
|
67
|
+
client: boolean;
|
|
68
|
+
metadata: boolean;
|
|
69
|
+
navigation: boolean;
|
|
70
|
+
resources: boolean;
|
|
71
|
+
}
|
|
72
|
+
interface ResolvedSdkTarget {
|
|
73
|
+
input: string;
|
|
74
|
+
output: string;
|
|
75
|
+
mode: SdkOutputMode;
|
|
76
|
+
clientName: string;
|
|
77
|
+
packageName: string;
|
|
78
|
+
packageVersion: string;
|
|
79
|
+
rootUrl: string | undefined;
|
|
80
|
+
features: ResolvedFeatureFlags;
|
|
81
|
+
splitByDomain: boolean;
|
|
82
|
+
splitDepth: 'service' | 'tag';
|
|
83
|
+
banner: string;
|
|
84
|
+
}
|
|
85
|
+
declare function resolveTarget(raw: SdkTargetConfig): ResolvedSdkTarget;
|
|
86
|
+
declare function resolveConfig(raw: unknown): ResolvedSdkTarget[];
|
|
87
|
+
|
|
88
|
+
export { resolveConfig, resolveTarget };
|
|
89
|
+
export type { ResolvedFeatureFlags, ResolvedSdkTarget, SdkConfig, SdkFeatureFlags, SdkOutputMode, SdkTargetConfig };
|