@simplysm/angular 14.0.8 → 14.0.10
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 +234 -246
- package/dist/core/commons.d.ts.map +1 -1
- package/dist/core/directives/sd-events.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-invalid.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-item-of-template.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-ripple.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-router-link.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-show-effect.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-typed-template.directive.d.ts.map +1 -1
- package/dist/core/pipes/format.pipe.d.ts.map +1 -1
- package/dist/core/plugins/commands/findTopOpenModalEl.d.ts.map +1 -1
- package/dist/core/plugins/commands/sd-insert-command-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/commands/sd-refresh-command-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/commands/sd-save-command-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/events/sd-option-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/events/sd-resize-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/sd-global-error-handler.plugin.d.ts.map +1 -1
- package/dist/core/provideSdAngular.d.ts.map +1 -1
- package/dist/core/providers/sd-angular-config.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-app-structure.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-file-dialog.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-local-storage.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-navigate-window.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-print.provider.d.ts +7 -2
- package/dist/core/providers/sd-print.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-service-client-factory.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-shared-data.provider.d.ts +3 -0
- package/dist/core/providers/sd-shared-data.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-system-config.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-system-log.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-theme-provider.d.ts.map +1 -1
- package/dist/core/utils/TDirectiveInputSignals.d.ts +4 -0
- package/dist/core/utils/TDirectiveInputSignals.d.ts.map +1 -1
- package/dist/core/utils/injectParent.d.ts.map +1 -1
- package/dist/core/utils/setSafeStyle.d.ts.map +1 -1
- package/dist/core/utils/setups/setupBgTheme.d.ts.map +1 -1
- package/dist/core/utils/setups/setupCanDeactivate.d.ts.map +1 -1
- package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts +9 -0
- package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts.map +1 -0
- package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.js +20 -0
- package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts +9 -0
- package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts.map +1 -0
- package/dist/core/utils/setups/setupCumulateSelectedKeys.js +27 -0
- package/dist/core/utils/setups/setupInvalid.d.ts.map +1 -1
- package/dist/core/utils/setups/setupModelHook.d.ts.map +1 -1
- package/dist/core/utils/setups/setupRevealOnShow.d.ts.map +1 -1
- package/dist/core/utils/setups/setupRipple.d.ts.map +1 -1
- package/dist/core/utils/useCurrentPageCodeSignal.d.ts.map +1 -1
- package/dist/core/utils/useExpandingManager.d.ts.map +1 -1
- package/dist/core/utils/useFullPageCodeSignal.d.ts.map +1 -1
- package/dist/core/utils/useSdSystemConfigResource.d.ts.map +1 -1
- package/dist/core/utils/useSelectionManager.d.ts.map +1 -1
- package/dist/core/utils/useSortingManager.d.ts.map +1 -1
- package/dist/core/utils/useViewTitleSignal.d.ts.map +1 -1
- package/dist/core/utils/useViewTypeSignal.d.ts.map +1 -1
- package/dist/features/address/sd-address-search.modal.d.ts +19 -0
- package/dist/features/address/sd-address-search.modal.d.ts.map +1 -0
- package/dist/features/address/sd-address-search.modal.js +88 -0
- package/dist/features/base/sd-base-container.control.d.ts.map +1 -1
- package/dist/features/base/sd-base-container.control.js +1 -1
- package/dist/features/data-view/sd-data-detail.control.d.ts +70 -0
- package/dist/features/data-view/sd-data-detail.control.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-detail.control.js +606 -0
- package/dist/features/data-view/sd-data-select-button.control.d.ts +35 -0
- package/dist/features/data-view/sd-data-select-button.control.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-select-button.control.js +219 -0
- package/dist/features/data-view/sd-data-sheet-column.directive.d.ts +8 -0
- package/dist/features/data-view/sd-data-sheet-column.directive.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-sheet-column.directive.js +15 -0
- package/dist/features/data-view/sd-data-sheet.control.d.ts +131 -0
- package/dist/features/data-view/sd-data-sheet.control.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-sheet.control.js +1152 -0
- package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts +16 -0
- package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts.map +1 -0
- package/dist/features/shared-data/sd-shared-data-select-button.control.js +66 -0
- package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts +33 -0
- package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts.map +1 -0
- package/dist/features/shared-data/sd-shared-data-select-list.control.js +346 -0
- package/dist/features/shared-data/sd-shared-data-select.control.d.ts +50 -0
- package/dist/features/shared-data/sd-shared-data-select.control.d.ts.map +1 -0
- package/dist/features/shared-data/sd-shared-data-select.control.js +425 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/ui/data/list/sd-list-item.control.d.ts +3 -1
- package/dist/ui/data/list/sd-list-item.control.d.ts.map +1 -1
- package/dist/ui/data/list/sd-list-item.control.js +8 -4
- package/dist/ui/data/list/sd-list.control.d.ts.map +1 -1
- package/dist/ui/data/list/sd-list.control.js +1 -1
- package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts +8 -1
- package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts.map +1 -1
- package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
- package/dist/ui/data/sheet/sd-sheet-config.modal.js +1 -1
- package/dist/ui/data/sheet/sd-sheet.control.d.ts +4 -4
- package/dist/ui/data/sheet/sd-sheet.control.d.ts.map +1 -1
- package/dist/ui/data/sheet/sd-sheet.control.js +3 -4
- package/dist/ui/data/sheet/types.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetCellAgent.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetColumnFixing.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetDomAccessor.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
- package/dist/ui/form/button/sd-additional-button.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-additional-button.control.js +1 -1
- package/dist/ui/form/button/sd-anchor.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-anchor.control.js +1 -1
- package/dist/ui/form/button/sd-button.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-button.control.js +1 -1
- package/dist/ui/form/button/sd-modal-select-button.control.d.ts +16 -18
- package/dist/ui/form/button/sd-modal-select-button.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-modal-select-button.control.js +22 -39
- package/dist/ui/form/checkbox/sd-checkbox-group-item.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-checkbox-group-item.control.js +1 -1
- package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-checkbox-group.control.js +1 -1
- package/dist/ui/form/checkbox/sd-checkbox.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-checkbox.control.js +1 -1
- package/dist/ui/form/checkbox/sd-switch.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-switch.control.js +1 -1
- package/dist/ui/form/choice/sd-state-preset.control.d.ts.map +1 -1
- package/dist/ui/form/choice/sd-state-preset.control.js +1 -1
- package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts +18 -1
- package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts.map +1 -1
- package/dist/ui/form/editor/sd-tiptap-editor.control.js +18 -2
- package/dist/ui/form/input/sd-date-range.picker.d.ts.map +1 -1
- package/dist/ui/form/input/sd-date-range.picker.js +1 -1
- package/dist/ui/form/input/sd-numpad.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-numpad.control.js +1 -1
- package/dist/ui/form/input/sd-range.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-range.control.js +1 -1
- package/dist/ui/form/input/sd-textarea.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-textarea.control.js +1 -1
- package/dist/ui/form/input/sd-textfield-type-handlers.d.ts.map +1 -1
- package/dist/ui/form/input/sd-textfield.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-textfield.control.js +1 -1
- package/dist/ui/form/sd-form.control.d.ts.map +1 -1
- package/dist/ui/form/sd-form.control.js +1 -1
- package/dist/ui/form/select/sd-select-button.control.d.ts.map +1 -1
- package/dist/ui/form/select/sd-select-button.control.js +1 -1
- package/dist/ui/form/select/sd-select-item.control.d.ts +1 -1
- package/dist/ui/form/select/sd-select-item.control.d.ts.map +1 -1
- package/dist/ui/form/select/sd-select-item.control.js +1 -1
- package/dist/ui/form/select/sd-select.control.d.ts +9 -6
- package/dist/ui/form/select/sd-select.control.d.ts.map +1 -1
- package/dist/ui/form/select/sd-select.control.js +1 -1
- package/dist/ui/layout/dock/sd-dock-container.control.d.ts.map +1 -1
- package/dist/ui/layout/dock/sd-dock-container.control.js +1 -1
- package/dist/ui/layout/dock/sd-dock.control.d.ts.map +1 -1
- package/dist/ui/layout/dock/sd-dock.control.js +1 -1
- package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts.map +1 -1
- package/dist/ui/layout/kanban/sd-kanban-board.control.js +1 -1
- package/dist/ui/layout/kanban/sd-kanban-lane.control.d.ts.map +1 -1
- package/dist/ui/layout/kanban/sd-kanban-lane.control.js +1 -1
- package/dist/ui/layout/kanban/sd-kanban.control.d.ts.map +1 -1
- package/dist/ui/layout/kanban/sd-kanban.control.js +1 -1
- package/dist/ui/layout/sd-card.directive.d.ts.map +1 -1
- package/dist/ui/layout/sd-gap.control.d.ts.map +1 -1
- package/dist/ui/layout/sd-gap.control.js +1 -1
- package/dist/ui/layout/sd-pane.directive.d.ts.map +1 -1
- package/dist/ui/layout/view/sd-view-item.control.d.ts.map +1 -1
- package/dist/ui/layout/view/sd-view-item.control.js +1 -1
- package/dist/ui/layout/view/sd-view.control.d.ts.map +1 -1
- package/dist/ui/layout/view/sd-view.control.js +1 -1
- package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts.map +1 -1
- package/dist/ui/navigation/collapse/sd-collapse-icon.control.js +1 -1
- package/dist/ui/navigation/collapse/sd-collapse.control.d.ts.map +1 -1
- package/dist/ui/navigation/collapse/sd-collapse.control.js +1 -1
- package/dist/ui/navigation/menu-utils.d.ts.map +1 -1
- package/dist/ui/navigation/pagination/sd-pagination.control.d.ts.map +1 -1
- package/dist/ui/navigation/pagination/sd-pagination.control.js +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-container.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-container.control.js +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.js +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-user.control.js +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tab-item.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tab-item.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tab.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tab.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tabview-item.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tabview.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tabview.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-container.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-menu.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-user.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar.control.js +1 -1
- package/dist/ui/overlay/busy/sd-busy-container.control.d.ts.map +1 -1
- package/dist/ui/overlay/busy/sd-busy-container.control.js +1 -1
- package/dist/ui/overlay/busy/sd-busy.provider.d.ts.map +1 -1
- package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts.map +1 -1
- package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.js +1 -1
- package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts.map +1 -1
- package/dist/ui/overlay/dropdown/sd-dropdown.control.js +1 -1
- package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-confirm-modal.control.js +1 -1
- package/dist/ui/overlay/modal/sd-modal.control.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-modal.control.js +1 -1
- package/dist/ui/overlay/modal/sd-modal.provider.d.ts +9 -3
- package/dist/ui/overlay/modal/sd-modal.provider.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-prompt-modal.control.js +1 -1
- package/dist/ui/overlay/toast/sd-toast-container.control.d.ts.map +1 -1
- package/dist/ui/overlay/toast/sd-toast-container.control.js +1 -1
- package/dist/ui/overlay/toast/sd-toast.control.d.ts.map +1 -1
- package/dist/ui/overlay/toast/sd-toast.control.js +1 -1
- package/dist/ui/overlay/toast/sd-toast.provider.d.ts.map +1 -1
- package/dist/ui/visual/sd-barcode.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-barcode.control.js +1 -1
- package/dist/ui/visual/sd-calendar.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-calendar.control.js +1 -1
- package/dist/ui/visual/sd-echarts.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-echarts.control.js +1 -1
- package/dist/ui/visual/sd-label.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-label.control.js +1 -1
- package/dist/ui/visual/sd-note.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-note.control.js +1 -1
- package/dist/ui/visual/sd-progress.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-progress.control.js +1 -1
- package/docs/core.md +877 -0
- package/docs/features.md +377 -0
- package/docs/styling.md +309 -0
- package/docs/ui-data.md +233 -0
- package/docs/ui-form.md +421 -0
- package/docs/ui-layout.md +216 -0
- package/docs/ui-navigation.md +279 -0
- package/docs/ui-overlay.md +330 -0
- package/docs/ui-visual.md +131 -0
- package/package.json +5 -5
- package/src/core/providers/sd-print.provider.ts +10 -2
- package/src/core/providers/sd-shared-data.provider.ts +3 -0
- package/src/core/utils/TDirectiveInputSignals.ts +5 -0
- package/src/core/utils/setups/setupCloserWhenSingleSelectionChange.ts +29 -0
- package/src/core/utils/setups/setupCumulateSelectedKeys.ts +38 -0
- package/src/features/address/sd-address-search.modal.ts +119 -0
- package/src/features/data-view/sd-data-detail.control.ts +394 -0
- package/src/features/data-view/sd-data-select-button.control.ts +210 -0
- package/src/features/data-view/sd-data-sheet-column.directive.ts +10 -0
- package/src/features/data-view/sd-data-sheet.control.ts +850 -0
- package/src/features/shared-data/sd-shared-data-select-button.control.ts +64 -0
- package/src/features/shared-data/sd-shared-data-select-list.control.ts +245 -0
- package/src/features/shared-data/sd-shared-data-select.control.ts +364 -0
- package/src/index.ts +35 -1
- package/src/scss.d.ts +5 -0
- package/src/ui/data/list/sd-list-item.control.ts +3 -1
- package/src/ui/data/sheet/sd-sheet-column.directive.ts +9 -1
- package/src/ui/data/sheet/sd-sheet.control.ts +6 -6
- package/src/ui/form/button/sd-modal-select-button.control.ts +41 -59
- package/src/ui/form/editor/sd-tiptap-editor.control.ts +35 -1
- package/src/ui/form/select/sd-select-item.control.ts +1 -1
- package/src/ui/form/select/sd-select.control.ts +7 -4
- package/src/ui/overlay/modal/sd-modal.provider.ts +15 -3
- package/docs/commons-and-configuration.md +0 -34
- package/docs/data-display-components.md +0 -146
- package/docs/directives.md +0 -158
- package/docs/event-plugins.md +0 -109
- package/docs/form-components.md +0 -362
- package/docs/hooks-and-utilities.md +0 -175
- package/docs/layout-components.md +0 -140
- package/docs/navigation-components.md +0 -200
- package/docs/overlay-components.md +0 -193
- package/docs/pipes.md +0 -25
- package/docs/providers.md +0 -448
- package/docs/setup-functions.md +0 -66
- package/docs/visual-components.md +0 -89
package/docs/pipes.md
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Pipes
|
|
2
|
-
|
|
3
|
-
## `FormatPipe`
|
|
4
|
-
|
|
5
|
-
Formats `DateTime`, `DateOnly`, or string values using a format pattern.
|
|
6
|
-
|
|
7
|
-
Pipe name: `format`
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
@Pipe({ standalone: true, name: "format" })
|
|
11
|
-
class FormatPipe implements PipeTransform {
|
|
12
|
-
transform(value: string | DateTime | DateOnly | undefined, format: string): string;
|
|
13
|
-
}
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Behavior:
|
|
17
|
-
- `null`/`undefined` returns `""`
|
|
18
|
-
- `DateTime`/`DateOnly` instances call `value.toFormatString(format)`
|
|
19
|
-
- Strings: the format pattern uses `X` as placeholders for characters. Multiple patterns can be separated by `|` and the one matching the value's length is used.
|
|
20
|
-
|
|
21
|
-
Usage:
|
|
22
|
-
```html
|
|
23
|
-
{{ dateValue | format: "yyyy-MM-dd" }}
|
|
24
|
-
{{ phoneNumber | format: "XXX-XXXX-XXXX|XX-XXX-XXXX" }}
|
|
25
|
-
```
|
package/docs/providers.md
DELETED
|
@@ -1,448 +0,0 @@
|
|
|
1
|
-
# Providers / Services
|
|
2
|
-
|
|
3
|
-
## `SdThemeProvider`
|
|
4
|
-
|
|
5
|
-
Injectable (root). Manages dark/light theme by toggling `sd-theme-dark` class on `document.body`.
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
@Injectable({ providedIn: "root" })
|
|
9
|
-
class SdThemeProvider {
|
|
10
|
-
dark: WritableSignal<boolean>; // default: false
|
|
11
|
-
}
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## `SdAngularConfigProvider`
|
|
15
|
-
|
|
16
|
-
Injectable (root). Holds the client application name set by `provideSdAngular`.
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
@Injectable({ providedIn: "root" })
|
|
20
|
-
class SdAngularConfigProvider {
|
|
21
|
-
clientName!: string;
|
|
22
|
-
}
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## `SdSystemLogProvider`
|
|
26
|
-
|
|
27
|
-
Injectable (root). Writes log messages to console and optionally to a custom handler.
|
|
28
|
-
|
|
29
|
-
```typescript
|
|
30
|
-
@Injectable({ providedIn: "root" })
|
|
31
|
-
class SdSystemLogProvider {
|
|
32
|
-
writeFn?: (severity: "error" | "warn" | "log", ...data: any[]) => Promise<void> | void;
|
|
33
|
-
|
|
34
|
-
async writeAsync(severity: "error" | "warn" | "log", ...data: any[]): Promise<void>;
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## `SdNavigateWindowProvider`
|
|
39
|
-
|
|
40
|
-
Injectable (root). Opens navigation links in new windows or tabs, with support for window features.
|
|
41
|
-
|
|
42
|
-
```typescript
|
|
43
|
-
@Injectable({ providedIn: "root" })
|
|
44
|
-
class SdNavigateWindowProvider {
|
|
45
|
-
get isWindow(): boolean;
|
|
46
|
-
open(navigate: string, params?: Record<string, string>, features?: string): void;
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## `SdLocalStorageProvider`
|
|
51
|
-
|
|
52
|
-
Injectable (root). Typed localStorage wrapper that scopes keys by client name.
|
|
53
|
-
|
|
54
|
-
```typescript
|
|
55
|
-
@Injectable({ providedIn: "root" })
|
|
56
|
-
class SdLocalStorageProvider<T> {
|
|
57
|
-
set<K extends keyof T & string>(key: K, value: T[K]): void;
|
|
58
|
-
get<K extends keyof T & string>(key: K): T[K] | undefined;
|
|
59
|
-
remove(key: keyof T & string): void;
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## `SdSystemConfigProvider`
|
|
64
|
-
|
|
65
|
-
Injectable (root). Persists and retrieves system configuration via localStorage or a custom backend.
|
|
66
|
-
|
|
67
|
-
```typescript
|
|
68
|
-
@Injectable({ providedIn: "root" })
|
|
69
|
-
class SdSystemConfigProvider<T> {
|
|
70
|
-
fn?: {
|
|
71
|
-
set<K extends keyof T & string>(key: K, data: T[K]): Promise<void> | void;
|
|
72
|
-
get(key: keyof T & string): PromiseLike<any>;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
async setAsync<K extends keyof T & string>(key: K, data: T[K]): Promise<void>;
|
|
76
|
-
async getAsync(key: keyof T & string): Promise<any>;
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## `SdFileDialogProvider`
|
|
81
|
-
|
|
82
|
-
Injectable (root). Opens a native file picker dialog.
|
|
83
|
-
|
|
84
|
-
```typescript
|
|
85
|
-
@Injectable({ providedIn: "root" })
|
|
86
|
-
class SdFileDialogProvider {
|
|
87
|
-
async showAsync(multiple?: false, accept?: string): Promise<File | undefined>;
|
|
88
|
-
async showAsync(multiple: true, accept?: string): Promise<File[] | undefined>;
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## `SdServiceClientFactoryProvider`
|
|
93
|
-
|
|
94
|
-
Injectable (root). Manages WebSocket-based service client connections.
|
|
95
|
-
|
|
96
|
-
```typescript
|
|
97
|
-
@Injectable({ providedIn: "root" })
|
|
98
|
-
class SdServiceClientFactoryProvider {
|
|
99
|
-
async connectAsync(key: string, options?: Partial<ServiceConnectionOptions>): Promise<void>;
|
|
100
|
-
async closeAsync(key: string): Promise<void>;
|
|
101
|
-
get(key: string): ServiceClient;
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## `SdAppStructureProvider`
|
|
106
|
-
|
|
107
|
-
Injectable (root, abstract). Provides application menu and permission structure. Subclass and implement `items`, `usableModules`, and `permRecord`.
|
|
108
|
-
|
|
109
|
-
```typescript
|
|
110
|
-
@Injectable({ providedIn: "root" })
|
|
111
|
-
abstract class SdAppStructureProvider<TModule = unknown> {
|
|
112
|
-
abstract items: TSdAppStructureItem<TModule>[];
|
|
113
|
-
abstract usableModules: Signal<TModule[] | undefined>;
|
|
114
|
-
abstract permRecord: Signal<Record<string, boolean> | undefined>;
|
|
115
|
-
|
|
116
|
-
usableMenus: Signal<ISdMenu<TModule>[]>;
|
|
117
|
-
usableFlatMenus: Signal<ISdFlatMenu<TModule>[]>;
|
|
118
|
-
|
|
119
|
-
getPermissionsByStructure(items: TSdAppStructureItem<TModule>[], codeChain?: string[]): ISdPermission<TModule>[];
|
|
120
|
-
getTitleByFullCode(fullCode: string): string;
|
|
121
|
-
getItemChainByFullCode(fullCode: string): TSdAppStructureItem<TModule>[];
|
|
122
|
-
getPermsByFullCode<K extends string>(fullCodes: string[], permKeys: K[]): K[];
|
|
123
|
-
}
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### `TSdAppStructureItem`
|
|
127
|
-
|
|
128
|
-
```typescript
|
|
129
|
-
type TSdAppStructureItem<TModule = unknown> =
|
|
130
|
-
| ISdAppStructureGroupItem<TModule>
|
|
131
|
-
| ISdAppStructureLeafItem<TModule>;
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Group item fields:
|
|
135
|
-
|
|
136
|
-
| Field | Type | Description |
|
|
137
|
-
|-------|------|-------------|
|
|
138
|
-
| `code` | `string` | Unique code |
|
|
139
|
-
| `title` | `string` | Display title |
|
|
140
|
-
| `modules` | `TModule[]` | Optional: any-of module requirement (OR) |
|
|
141
|
-
| `requiredModules` | `TModule[]` | Optional: all-of module requirement (AND) |
|
|
142
|
-
| `icon` | `string` | Optional icon SVG |
|
|
143
|
-
| `children` | `TSdAppStructureItem<TModule>[]` | Child items |
|
|
144
|
-
|
|
145
|
-
Leaf item fields:
|
|
146
|
-
|
|
147
|
-
| Field | Type | Description |
|
|
148
|
-
|-------|------|-------------|
|
|
149
|
-
| `code` | `string` | Unique code |
|
|
150
|
-
| `title` | `string` | Display title |
|
|
151
|
-
| `modules` | `TModule[]` | Optional: any-of module requirement (OR) |
|
|
152
|
-
| `requiredModules` | `TModule[]` | Optional: all-of module requirement (AND) |
|
|
153
|
-
| `perms` | `("use" \| "edit")[]` | Optional permission keys |
|
|
154
|
-
| `subPerms` | `ISdAppStructureSubPermission<TModule>[]` | Optional sub-permissions |
|
|
155
|
-
| `icon` | `string` | Optional icon SVG |
|
|
156
|
-
| `isNotMenu` | `boolean` | Optional: exclude from menu |
|
|
157
|
-
|
|
158
|
-
### `ISdMenu`
|
|
159
|
-
|
|
160
|
-
| Field | Type | Description |
|
|
161
|
-
|-------|------|-------------|
|
|
162
|
-
| `title` | `string` | Display title |
|
|
163
|
-
| `codeChain` | `string[]` | Code path chain |
|
|
164
|
-
| `icon` | `string \| undefined` | Icon SVG |
|
|
165
|
-
| `modules` | `TModule[] \| undefined` | Modules |
|
|
166
|
-
| `children` | `ISdMenu<TModule>[] \| undefined` | Child menus |
|
|
167
|
-
|
|
168
|
-
### `ISdFlatMenu`
|
|
169
|
-
|
|
170
|
-
| Field | Type | Description |
|
|
171
|
-
|-------|------|-------------|
|
|
172
|
-
| `titleChain` | `string[]` | Title path chain |
|
|
173
|
-
| `codeChain` | `string[]` | Code path chain |
|
|
174
|
-
| `modulesChain` | `TModule[][]` | Module chain |
|
|
175
|
-
|
|
176
|
-
### `ISdPermission`
|
|
177
|
-
|
|
178
|
-
| Field | Type | Description |
|
|
179
|
-
|-------|------|-------------|
|
|
180
|
-
| `title` | `string` | Display title |
|
|
181
|
-
| `codeChain` | `string[]` | Code path chain |
|
|
182
|
-
| `modules` | `TModule[] \| undefined` | Modules |
|
|
183
|
-
| `perms` | `("use" \| "edit")[] \| undefined` | Permission keys |
|
|
184
|
-
| `children` | `ISdPermission<TModule>[] \| undefined` | Child permissions |
|
|
185
|
-
|
|
186
|
-
### `ISdFlatPermission`
|
|
187
|
-
|
|
188
|
-
| Field | Type | Description |
|
|
189
|
-
|-------|------|-------------|
|
|
190
|
-
| `titleChain` | `string[]` | Title path chain |
|
|
191
|
-
| `codeChain` | `string[]` | Code path chain |
|
|
192
|
-
| `modulesChain` | `TModule[][]` | Module chain |
|
|
193
|
-
|
|
194
|
-
## `SdAppStructureUtils`
|
|
195
|
-
|
|
196
|
-
Abstract class with static utility methods for menu and permission computation.
|
|
197
|
-
|
|
198
|
-
```typescript
|
|
199
|
-
abstract class SdAppStructureUtils {
|
|
200
|
-
static getTitleByFullCode<TModule>(items: TSdAppStructureItem<TModule>[], fullCode: string): string;
|
|
201
|
-
static getPermsByFullCode<TModule, K extends string>(
|
|
202
|
-
items: TSdAppStructureItem<TModule>[],
|
|
203
|
-
fullCodes: string[],
|
|
204
|
-
permKeys: K[],
|
|
205
|
-
permRecord: Record<string, boolean> | undefined,
|
|
206
|
-
): K[];
|
|
207
|
-
static getItemChainByFullCode<TModule>(
|
|
208
|
-
items: TSdAppStructureItem<TModule>[],
|
|
209
|
-
fullCode: string,
|
|
210
|
-
): TSdAppStructureItem<TModule>[];
|
|
211
|
-
static getMenus<TModule>(
|
|
212
|
-
items: TSdAppStructureItem<TModule>[],
|
|
213
|
-
codeChain: string[],
|
|
214
|
-
usableModules: TModule[] | undefined,
|
|
215
|
-
permRecord: Record<string, boolean> | undefined,
|
|
216
|
-
): ISdMenu<TModule>[];
|
|
217
|
-
static getFlatMenus<TModule>(
|
|
218
|
-
items: TSdAppStructureItem<TModule>[],
|
|
219
|
-
usableModules: TModule[] | undefined,
|
|
220
|
-
permRecord: Record<string, boolean> | undefined,
|
|
221
|
-
): ISdFlatMenu<TModule>[];
|
|
222
|
-
static getPermissions<TModule>(
|
|
223
|
-
items: TSdAppStructureItem<TModule>[],
|
|
224
|
-
codeChain: string[],
|
|
225
|
-
usableModules: TModule[] | undefined,
|
|
226
|
-
): ISdPermission<TModule>[];
|
|
227
|
-
static getFlatPermissions<TModule>(
|
|
228
|
-
items: TSdAppStructureItem<TModule>[],
|
|
229
|
-
usableModules: TModule[] | undefined,
|
|
230
|
-
): ISdFlatPermission<TModule>[];
|
|
231
|
-
}
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
## `SdSharedDataProvider`
|
|
235
|
-
|
|
236
|
-
Injectable (abstract). Manages real-time shared data with event-driven partial updates via service client.
|
|
237
|
-
|
|
238
|
-
```typescript
|
|
239
|
-
@Injectable()
|
|
240
|
-
abstract class SdSharedDataProvider<T extends Record<string, ISharedDataBase<string | number>>> {
|
|
241
|
-
readonly loadingCount: WritableSignal<number>;
|
|
242
|
-
|
|
243
|
-
abstract initialize(): void;
|
|
244
|
-
register<K extends string & keyof T>(name: K, info: ISharedDataInfo<T[K]>): void;
|
|
245
|
-
getHandle<K extends string & keyof T>(name: K): SharedDataHandle<T[K]>;
|
|
246
|
-
async emitAsync<K extends string & keyof T>(name: K, changeKeys?: (string | number)[]): Promise<void>;
|
|
247
|
-
async wait(): Promise<void>;
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### `ISharedDataBase`
|
|
252
|
-
|
|
253
|
-
| Field | Type | Description |
|
|
254
|
-
|-------|------|-------------|
|
|
255
|
-
| `__valueKey` | `TKey` (string \| number) | Primary key of the shared data item |
|
|
256
|
-
|
|
257
|
-
### `ISharedDataInfo`
|
|
258
|
-
|
|
259
|
-
| Field | Type | Description |
|
|
260
|
-
|-------|------|-------------|
|
|
261
|
-
| `serviceKey` | `string` | Key identifying the service client connection |
|
|
262
|
-
| `getter` | `(changeKeys?: (string \| number)[]) => Promise<T[]>` | Function to fetch data (full or partial) |
|
|
263
|
-
| `filter` | `unknown` | Optional filter for event matching |
|
|
264
|
-
| `orderBy` | `(a: T, b: T) => number` | Optional sort comparator |
|
|
265
|
-
|
|
266
|
-
### `SharedDataHandle`
|
|
267
|
-
|
|
268
|
-
| Field | Type | Description |
|
|
269
|
-
|-------|------|-------------|
|
|
270
|
-
| `items` | `Signal<T[]>` | Read-only signal of all items |
|
|
271
|
-
| `get` | `(key: T["__valueKey"] \| undefined) => T \| undefined` | Lookup by key |
|
|
272
|
-
|
|
273
|
-
### `SdSharedDataChangeEvent`
|
|
274
|
-
|
|
275
|
-
Event definition for shared data change notifications (used with service client events).
|
|
276
|
-
|
|
277
|
-
```typescript
|
|
278
|
-
const SdSharedDataChangeEvent: EventDefinition<
|
|
279
|
-
{ name: string; filter: unknown },
|
|
280
|
-
(string | number)[] | undefined
|
|
281
|
-
>;
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
## `SdModalProvider`
|
|
285
|
-
|
|
286
|
-
Injectable (root). Programmatically creates and shows modal dialogs.
|
|
287
|
-
|
|
288
|
-
```typescript
|
|
289
|
-
@Injectable({ providedIn: "root" })
|
|
290
|
-
class SdModalProvider {
|
|
291
|
-
modalCount: WritableSignal<number>;
|
|
292
|
-
|
|
293
|
-
async showAsync<T extends ISdModal<any>>(
|
|
294
|
-
modal: ISdModalInfo<T>,
|
|
295
|
-
options?: ISdModalOptions,
|
|
296
|
-
): Promise<Parameters<T["close"]["emit"]>[0] | undefined>;
|
|
297
|
-
}
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
### `ISdModal`
|
|
301
|
-
|
|
302
|
-
| Field | Type | Description |
|
|
303
|
-
|-------|------|-------------|
|
|
304
|
-
| `initialized` | `Signal<boolean>` | Whether the modal content is initialized |
|
|
305
|
-
| `close` | `OutputEmitterRef<O \| undefined>` | Output to emit close result |
|
|
306
|
-
| `actionTplRef` | `TemplateRef<any>` | Optional action template for header |
|
|
307
|
-
|
|
308
|
-
### `ISdModalInfo`
|
|
309
|
-
|
|
310
|
-
| Field | Type | Description |
|
|
311
|
-
|-------|------|-------------|
|
|
312
|
-
| `title` | `string` | Modal title |
|
|
313
|
-
| `type` | `Type<T>` | Component type for modal content |
|
|
314
|
-
| `inputs` | `Omit<TDirectiveInputSignals<T>, "initialized" \| "close" \| "actionTplRef">` | Component inputs |
|
|
315
|
-
|
|
316
|
-
### `ISdModalOptions`
|
|
317
|
-
|
|
318
|
-
| Field | Type | Description |
|
|
319
|
-
|-------|------|-------------|
|
|
320
|
-
| `key` | `string` | Optional key for config persistence |
|
|
321
|
-
| `hideHeader` | `boolean` | Hide the modal header |
|
|
322
|
-
| `hideCloseButton` | `boolean` | Hide the close button |
|
|
323
|
-
| `useCloseByBackdrop` | `boolean` | Allow closing by clicking backdrop (default: true) |
|
|
324
|
-
| `useCloseByEscapeKey` | `boolean` | Allow closing by Escape key (default: true) |
|
|
325
|
-
| `float` | `boolean` | Float mode |
|
|
326
|
-
| `fill` | `boolean` | Fill mode |
|
|
327
|
-
| `resizable` | `boolean` | Enable resize handles |
|
|
328
|
-
| `movable` | `boolean` | Enable header drag to move |
|
|
329
|
-
| `position` | `"bottom-right" \| "top-right"` | Position preset |
|
|
330
|
-
| `minHeightPx` | `number` | Minimum height in pixels |
|
|
331
|
-
| `minWidthPx` | `number` | Minimum width in pixels |
|
|
332
|
-
| `heightPx` | `number` | Initial height in pixels |
|
|
333
|
-
| `widthPx` | `number` | Initial width in pixels |
|
|
334
|
-
| `headerStyle` | `string` | Custom header inline style |
|
|
335
|
-
| `noFirstControlFocusing` | `boolean` | Skip auto-focusing first control |
|
|
336
|
-
|
|
337
|
-
## `SdActivatedModalProvider`
|
|
338
|
-
|
|
339
|
-
Injectable. Available inside modal content components via DI. Provides access to modal context.
|
|
340
|
-
|
|
341
|
-
```typescript
|
|
342
|
-
@Injectable()
|
|
343
|
-
class SdActivatedModalProvider<T extends ISdModal<any> = ISdModal<any>> {
|
|
344
|
-
modalComponent: WritableSignal<any>;
|
|
345
|
-
contentComponent: WritableSignal<T | undefined>;
|
|
346
|
-
canDeactiveFn: () => boolean;
|
|
347
|
-
}
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
## `SdToastProvider`
|
|
351
|
-
|
|
352
|
-
Injectable (root). Shows toast notifications with severity levels.
|
|
353
|
-
|
|
354
|
-
```typescript
|
|
355
|
-
@Injectable({ providedIn: "root" })
|
|
356
|
-
class SdToastProvider {
|
|
357
|
-
alertThemes: WritableSignal<TSdToastSeverity[]>;
|
|
358
|
-
overlap: WritableSignal<boolean>;
|
|
359
|
-
beforeShowFn?: (theme: TSdToastSeverity) => void;
|
|
360
|
-
|
|
361
|
-
info(message: string, useProgress?: true): WritableSignal<number>;
|
|
362
|
-
info(message: string, useProgress?: false): void;
|
|
363
|
-
success(message: string, useProgress?: true): WritableSignal<number>;
|
|
364
|
-
success(message: string, useProgress?: false): void;
|
|
365
|
-
warning(message: string, useProgress?: true): WritableSignal<number>;
|
|
366
|
-
warning(message: string, useProgress?: false): void;
|
|
367
|
-
danger(message: string, useProgress?: true): WritableSignal<number>;
|
|
368
|
-
danger(message: string, useProgress?: false): void;
|
|
369
|
-
|
|
370
|
-
notify<T extends ISdToast<any>>(input: ISdToastInput<T>): Promise<Parameters<T["close"]["emit"]>[0] | undefined>;
|
|
371
|
-
async try<R>(fn: () => Promise<R>, messageFn?: (err: unknown) => string): Promise<R | undefined>;
|
|
372
|
-
}
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
### `TSdToastSeverity`
|
|
376
|
-
|
|
377
|
-
```typescript
|
|
378
|
-
type TSdToastSeverity = "info" | "success" | "warning" | "danger";
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
### `TSdToastTheme`
|
|
382
|
-
|
|
383
|
-
```typescript
|
|
384
|
-
type TSdToastTheme = "primary" | "secondary" | TSdToastSeverity | "gray" | "blue-gray";
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
### `ISdToast`
|
|
388
|
-
|
|
389
|
-
| Field | Type | Description |
|
|
390
|
-
|-------|------|-------------|
|
|
391
|
-
| `close` | `OutputEmitterRef<O \| undefined>` | Output to emit close result |
|
|
392
|
-
|
|
393
|
-
### `ISdToastInput`
|
|
394
|
-
|
|
395
|
-
| Field | Type | Description |
|
|
396
|
-
|-------|------|-------------|
|
|
397
|
-
| `type` | `Type<T>` | Component type for toast content |
|
|
398
|
-
| `inputs` | `Omit<TDirectiveInputSignals<T>, "close">` | Component inputs |
|
|
399
|
-
|
|
400
|
-
## `SdBusyProvider`
|
|
401
|
-
|
|
402
|
-
Injectable (root). Manages the global busy/loading overlay.
|
|
403
|
-
|
|
404
|
-
```typescript
|
|
405
|
-
@Injectable({ providedIn: "root" })
|
|
406
|
-
class SdBusyProvider {
|
|
407
|
-
type: WritableSignal<TSdBusyType>; // default: "bar"
|
|
408
|
-
globalBusyCount: WritableSignal<number>; // default: 0
|
|
409
|
-
}
|
|
410
|
-
```
|
|
411
|
-
|
|
412
|
-
### `TSdBusyType`
|
|
413
|
-
|
|
414
|
-
```typescript
|
|
415
|
-
type TSdBusyType = "spinner" | "bar" | "cube";
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
## `SdPrintProvider`
|
|
419
|
-
|
|
420
|
-
Injectable (root). Prints components via `window.print()` or generates PDF buffers.
|
|
421
|
-
|
|
422
|
-
```typescript
|
|
423
|
-
@Injectable({ providedIn: "root" })
|
|
424
|
-
class SdPrintProvider {
|
|
425
|
-
async printAsync<T extends ISdPrint>(
|
|
426
|
-
template: ISdPrintInput<T>,
|
|
427
|
-
options?: { size?: string; margin?: string },
|
|
428
|
-
): Promise<void>;
|
|
429
|
-
|
|
430
|
-
async getPdfBufferAsync<T extends ISdPrint>(
|
|
431
|
-
template: ISdPrintInput<T>,
|
|
432
|
-
options?: { orientation?: "portrait" | "landscape"; pageSize?: string },
|
|
433
|
-
): Promise<Uint8Array>;
|
|
434
|
-
}
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
### `ISdPrint`
|
|
438
|
-
|
|
439
|
-
| Field | Type | Description |
|
|
440
|
-
|-------|------|-------------|
|
|
441
|
-
| `initialized` | `Signal<boolean>` | Whether the print component is initialized |
|
|
442
|
-
|
|
443
|
-
### `ISdPrintInput`
|
|
444
|
-
|
|
445
|
-
| Field | Type | Description |
|
|
446
|
-
|-------|------|-------------|
|
|
447
|
-
| `type` | `Type<T>` | Component type for print content |
|
|
448
|
-
| `inputs` | `Omit<TDirectiveInputSignals<T>, X>` | Component inputs |
|
package/docs/setup-functions.md
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# Setup Functions
|
|
2
|
-
|
|
3
|
-
Setup functions are called inside component/directive constructors (within injection context). They use `inject()` internally.
|
|
4
|
-
|
|
5
|
-
## `setupBgTheme`
|
|
6
|
-
|
|
7
|
-
Sets the body `--background-color` CSS variable based on theme. Cleans up on destroy.
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
function setupBgTheme(options?: {
|
|
11
|
-
theme?: "primary" | "secondary" | "info" | "success" | "warning" | "danger" | "gray" | "blue-gray";
|
|
12
|
-
lightness?: "lightest" | "lighter";
|
|
13
|
-
}): void;
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## `setupRipple`
|
|
17
|
-
|
|
18
|
-
Adds a material-style ripple effect to the host element on pointer interaction.
|
|
19
|
-
|
|
20
|
-
```typescript
|
|
21
|
-
function setupRipple(enableFn?: () => boolean): void;
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
- `enableFn`: Optional function that returns whether ripple is active. Called on each pointer down.
|
|
25
|
-
|
|
26
|
-
## `setupRevealOnShow`
|
|
27
|
-
|
|
28
|
-
Animates element visibility when it enters the viewport using IntersectionObserver. Applies opacity and transform transitions.
|
|
29
|
-
|
|
30
|
-
```typescript
|
|
31
|
-
function setupRevealOnShow(
|
|
32
|
-
optFn?: () => {
|
|
33
|
-
type?: "l2r" | "t2b";
|
|
34
|
-
enabled?: boolean;
|
|
35
|
-
},
|
|
36
|
-
): void;
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## `setupInvalid`
|
|
40
|
-
|
|
41
|
-
Adds form validation indicator to the host element. Creates a hidden input element for validity tracking and shows a red dot indicator when invalid.
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
function setupInvalid(getInvalidMessage: () => string): void;
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
- `getInvalidMessage`: Returns the validation error message. Return empty string `""` for valid state.
|
|
48
|
-
|
|
49
|
-
## `setupModelHook`
|
|
50
|
-
|
|
51
|
-
Intercepts a writable signal's `set` method with an async guard function. If the guard returns `false` or a promise resolving to `false`, the set is prevented.
|
|
52
|
-
|
|
53
|
-
```typescript
|
|
54
|
-
function setupModelHook<T, S extends WritableSignal<T>>(
|
|
55
|
-
model: S,
|
|
56
|
-
canFn: Signal<(item: T) => boolean | Promise<boolean>>,
|
|
57
|
-
): void;
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## `setupCanDeactivate`
|
|
61
|
-
|
|
62
|
-
Registers a route or modal can-deactivate guard. When inside a modal, sets `SdActivatedModalProvider.canDeactiveFn`. When inside a route, pushes a `CanDeactivateFn` to the route config.
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
function setupCanDeactivate(fn: () => boolean): void;
|
|
66
|
-
```
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# Visual Components
|
|
2
|
-
|
|
3
|
-
## `SdLabelControl`
|
|
4
|
-
|
|
5
|
-
Colored label/badge component.
|
|
6
|
-
|
|
7
|
-
Selector: `sd-label`
|
|
8
|
-
|
|
9
|
-
| Input | Type | Description |
|
|
10
|
-
|-------|------|-------------|
|
|
11
|
-
| `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray"` | Background color theme |
|
|
12
|
-
| `color` | `string` | Custom background color (CSS value) |
|
|
13
|
-
| `clickable` | `boolean` (booleanAttribute) | Enable hover/cursor effects (default: `false`) |
|
|
14
|
-
|
|
15
|
-
## `SdNoteControl`
|
|
16
|
-
|
|
17
|
-
Note/callout block with themed background.
|
|
18
|
-
|
|
19
|
-
Selector: `sd-note`
|
|
20
|
-
|
|
21
|
-
| Input | Type | Description |
|
|
22
|
-
|-------|------|-------------|
|
|
23
|
-
| `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray"` | Background color theme |
|
|
24
|
-
| `size` | `"sm" \| "lg"` | Size variant |
|
|
25
|
-
| `inset` | `boolean` (booleanAttribute) | Remove border-radius (default: `false`) |
|
|
26
|
-
|
|
27
|
-
## `SdProgressControl`
|
|
28
|
-
|
|
29
|
-
Progress bar with percentage display.
|
|
30
|
-
|
|
31
|
-
Selector: `sd-progress`
|
|
32
|
-
|
|
33
|
-
| Input | Type | Description |
|
|
34
|
-
|-------|------|-------------|
|
|
35
|
-
| `theme` | `"primary" \| "secondary" \| "info" \| "success" \| "warning" \| "danger" \| "gray" \| "blue-gray"` (required) | Bar color theme |
|
|
36
|
-
| `value` | `number` (required) | Progress value (0 to 1) |
|
|
37
|
-
| `inset` | `boolean` (booleanAttribute) | Borderless inset style (default: `false`) |
|
|
38
|
-
| `size` | `"sm" \| "lg"` | Size variant |
|
|
39
|
-
|
|
40
|
-
## `SdCalendarControl`
|
|
41
|
-
|
|
42
|
-
Monthly calendar grid that displays items on their respective dates.
|
|
43
|
-
|
|
44
|
-
Selector: `sd-calendar`
|
|
45
|
-
|
|
46
|
-
| Input | Type | Description |
|
|
47
|
-
|-------|------|-------------|
|
|
48
|
-
| `items` | `T[]` (required) | Data items to display |
|
|
49
|
-
| `getItemDateFn` | `(item: T, index: number) => DateOnly` (required) | Function to extract date from each item |
|
|
50
|
-
| `yearMonth` | `DateOnly` | Year-month to display (default: current month, day set to 1) |
|
|
51
|
-
| `weekStartDay` | `number` | Week start day, 0=Sunday (default: `0`) |
|
|
52
|
-
| `minDaysInFirstWeek` | `number` | Minimum days in the first week (default: `1`) |
|
|
53
|
-
|
|
54
|
-
Content children:
|
|
55
|
-
- `SdItemOfTemplateDirective` template (required): Template for rendering each item. Context: `SdItemOfTemplateContext<T>`
|
|
56
|
-
|
|
57
|
-
## `SdBarcodeControl`
|
|
58
|
-
|
|
59
|
-
Barcode and QR code renderer using bwip-js. Renders SVG output.
|
|
60
|
-
|
|
61
|
-
Selector: `sd-barcode`
|
|
62
|
-
|
|
63
|
-
| Input | Type | Description |
|
|
64
|
-
|-------|------|-------------|
|
|
65
|
-
| `type` | `TBarcodeType` (required) | Barcode symbology type |
|
|
66
|
-
| `value` | `string` | Barcode data value |
|
|
67
|
-
|
|
68
|
-
### `TBarcodeType`
|
|
69
|
-
|
|
70
|
-
Extensive union type of barcode symbologies supported by bwip-js. Includes common types:
|
|
71
|
-
|
|
72
|
-
- 1D: `"code128"`, `"code39"`, `"ean13"`, `"ean8"`, `"upca"`, `"upce"`, `"interleaved2of5"`, `"itf14"`, `"isbn"`, `"issn"`, `"pharmacode"`, etc.
|
|
73
|
-
- 2D: `"qrcode"`, `"datamatrix"`, `"azteccode"`, `"pdf417"`, `"maxicode"`, `"dotcode"`, `"hanxin"`, `"microqrcode"`, etc.
|
|
74
|
-
- GS1: `"gs1-128"`, `"gs1datamatrix"`, `"gs1qrcode"`, etc.
|
|
75
|
-
- Postal: `"postnet"`, `"royalmail"`, `"japanpost"`, `"onecode"`, etc.
|
|
76
|
-
|
|
77
|
-
Full list: `"auspost" | "azteccode" | "azteccodecompact" | "aztecrune" | "bc412" | "channelcode" | "codablockf" | "code11" | "code128" | "code16k" | "code2of5" | "code32" | "code39" | "code39ext" | "code49" | "code93" | "code93ext" | "codeone" | "coop2of5" | "daft" | "databarexpanded" | "databarexpandedcomposite" | "databarexpandedstacked" | "databarexpandedstackedcomposite" | "databarlimited" | "databarlimitedcomposite" | "databaromni" | "databaromnicomposite" | "databarstacked" | "databarstackedcomposite" | "databarstackedomni" | "databarstackedomnicomposite" | "databartruncated" | "databartruncatedcomposite" | "datalogic2of5" | "datamatrix" | "datamatrixrectangular" | "datamatrixrectangularextension" | "dotcode" | "ean13" | "ean13composite" | "ean14" | "ean2" | "ean5" | "ean8" | "ean8composite" | "flattermarken" | "gs1-128" | "gs1-128composite" | "gs1-cc" | "gs1datamatrix" | "gs1datamatrixrectangular" | "gs1dldatamatrix" | "gs1dlqrcode" | "gs1dotcode" | "gs1northamericancoupon" | "gs1qrcode" | "hanxin" | ... | "upce" | "upcecomposite"`
|
|
78
|
-
|
|
79
|
-
## `SdEchartsControl`
|
|
80
|
-
|
|
81
|
-
Apache ECharts wrapper component. Renders charts using SVG renderer with automatic resize handling.
|
|
82
|
-
|
|
83
|
-
Selector: `sd-echarts`
|
|
84
|
-
|
|
85
|
-
| Input | Type | Description |
|
|
86
|
-
|-------|------|-------------|
|
|
87
|
-
| `option` | `echarts.EChartsOption` (required) | ECharts configuration option |
|
|
88
|
-
| `notMerge` | `boolean` | Whether to replace (not merge) options (default: `false`) |
|
|
89
|
-
| `loading` | `boolean` | Show loading indicator (default: `false`) |
|