@simplysm/angular 14.0.86 → 14.0.87
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/dist/controls/pagination/sd-pagination.d.ts.map +1 -1
- package/dist/controls/pagination/sd-pagination.js +2 -0
- package/dist/controls/select/sd-select-item.js +1 -1
- package/dist/controls/select/sd-select.js +1 -1
- package/dist/core/app-structure/sd-app-structure.provider.d.ts +1 -0
- package/dist/core/app-structure/sd-app-structure.provider.d.ts.map +1 -1
- package/dist/core/app-structure/sd-app-structure.provider.js +3 -0
- package/dist/core/app-structure/sd-app-structure.utils.d.ts +2 -0
- package/dist/core/app-structure/sd-app-structure.utils.d.ts.map +1 -1
- package/dist/core/app-structure/sd-app-structure.utils.js +9 -1
- package/dist/core/busy/sd-busy-container.d.ts +1 -1
- package/dist/core/busy/sd-busy-container.d.ts.map +1 -1
- package/dist/core/busy/sd-busy-container.js +11 -11
- package/dist/core/busy/sd-busy.provider.d.ts.map +1 -1
- package/dist/core/busy/sd-busy.provider.js +3 -0
- package/dist/core/config/sd-system-config.provider.d.ts +4 -4
- package/dist/core/config/sd-system-config.provider.d.ts.map +1 -1
- package/dist/core/config/sd-system-config.provider.js +3 -0
- package/dist/core/error-handler/sd-global-error-handler.plugin.d.ts +1 -1
- package/dist/core/error-handler/sd-global-error-handler.plugin.d.ts.map +1 -1
- package/dist/core/file-dialog/sd-file-dialog.provider.d.ts.map +1 -1
- package/dist/core/file-dialog/sd-file-dialog.provider.js +4 -0
- package/dist/core/modal/sd-activated-modal.provider.d.ts +2 -1
- package/dist/core/modal/sd-activated-modal.provider.d.ts.map +1 -1
- package/dist/core/modal/sd-modal.d.ts.map +1 -1
- package/dist/core/modal/sd-modal.js +3 -3
- package/dist/core/modal/sd-modal.provider.d.ts.map +1 -1
- package/dist/core/modal/sd-modal.provider.js +8 -0
- package/dist/core/modal/sd-prompt-modal.d.ts +2 -2
- package/dist/core/modal/sd-prompt-modal.d.ts.map +1 -1
- package/dist/core/modal/sd-prompt-modal.js +32 -37
- package/dist/core/print/sd-print.provider.d.ts.map +1 -1
- package/dist/core/print/sd-print.provider.js +19 -6
- package/dist/core/provideSdAngular.d.ts.map +1 -1
- package/dist/core/provideSdAngular.js +4 -1
- package/dist/core/routing/injectViewTitleSignal.d.ts.map +1 -1
- package/dist/core/routing/injectViewTitleSignal.js +1 -6
- package/dist/core/shared-data/sd-shared-data.provider.d.ts +2 -1
- package/dist/core/shared-data/sd-shared-data.provider.d.ts.map +1 -1
- package/dist/core/shared-data/sd-shared-data.provider.js +1 -1
- package/dist/core/toast/sd-toast.provider.d.ts +1 -0
- package/dist/core/toast/sd-toast.provider.d.ts.map +1 -1
- package/dist/core/toast/sd-toast.provider.js +18 -4
- package/dist/data/kanban/sd-kanban-lane.d.ts.map +1 -1
- package/dist/data/shared-data/sd-shared-data-select-button.d.ts +1 -2
- package/dist/data/shared-data/sd-shared-data-select-button.d.ts.map +1 -1
- package/dist/data/shared-data/sd-shared-data-select-button.js +18 -21
- package/dist/data/shared-data/sd-shared-data-select.d.ts +3 -2
- package/dist/data/shared-data/sd-shared-data-select.d.ts.map +1 -1
- package/dist/data/shared-data/sd-shared-data-select.js +10 -10
- package/dist/data/sheet/sd-sheet-config.modal.d.ts +3 -3
- package/dist/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
- package/dist/data/sheet/sd-sheet-config.modal.js +37 -34
- package/dist/data/sheet/sd-sheet.d.ts.map +1 -1
- package/dist/data/sheet/sd-sheet.js +5 -1
- package/dist/data/sheet/useSheetCellStyling.d.ts.map +1 -1
- package/dist/data/sheet/useSheetCellStyling.js +4 -22
- package/dist/data/state-preset/sd-state-preset.d.ts +10 -10
- package/dist/data/state-preset/sd-state-preset.d.ts.map +1 -1
- package/dist/data/state-preset/sd-state-preset.js +4 -4
- package/dist/features/address/sd-address-search.modal.js +1 -1
- package/dist/features/editor/sd-tiptap-editor.d.ts.map +1 -1
- package/dist/features/editor/sd-tiptap-editor.js +3 -2
- package/dist/features/theme/sd-theme-selector.d.ts +6 -8
- package/dist/features/theme/sd-theme-selector.d.ts.map +1 -1
- package/dist/features/theme/sd-theme-selector.js +54 -51
- package/dist/features/visual/sd-barcode.d.ts.map +1 -1
- package/dist/features/visual/sd-barcode.js +5 -10
- package/dist/layout/sidebar/sd-sidebar-user.d.ts.map +1 -1
- package/dist/layout/sidebar/sd-sidebar-user.js +26 -36
- package/package.json +5 -5
- package/src/controls/button/sd-modal-select-button.ts +1 -1
- package/src/controls/form/sd-form.ts +1 -1
- package/src/controls/input/sd-textfield-type-handlers.ts +2 -2
- package/src/controls/pagination/sd-pagination.ts +1 -0
- package/src/controls/select/sd-select-item.ts +1 -1
- package/src/controls/select/sd-select.ts +1 -1
- package/src/core/app-structure/sd-app-structure.provider.ts +4 -0
- package/src/core/app-structure/sd-app-structure.utils.ts +14 -2
- package/src/core/busy/sd-busy-container.ts +6 -13
- package/src/core/busy/sd-busy.provider.ts +4 -0
- package/src/core/config/injectSdSystemConfigResource.ts +1 -1
- package/src/core/config/sd-system-config.provider.ts +5 -3
- package/src/core/error-handler/sd-global-error-handler.plugin.ts +1 -1
- package/src/core/file-dialog/sd-file-dialog.provider.ts +5 -1
- package/src/core/modal/sd-activated-modal.provider.ts +2 -1
- package/src/core/modal/sd-modal.provider.ts +8 -0
- package/src/core/modal/sd-modal.ts +6 -3
- package/src/core/modal/sd-prompt-modal.ts +13 -23
- package/src/core/print/sd-print.provider.ts +21 -6
- package/src/core/provideSdAngular.ts +5 -1
- package/src/core/routing/injectViewTitleSignal.ts +1 -5
- package/src/core/shared-data/sd-shared-data.provider.ts +2 -2
- package/src/core/toast/sd-toast.provider.ts +35 -12
- package/src/data/kanban/sd-kanban-lane.ts +2 -2
- package/src/data/shared-data/sd-shared-data-select-button.ts +15 -20
- package/src/data/shared-data/sd-shared-data-select-list.ts +4 -4
- package/src/data/shared-data/sd-shared-data-select.ts +10 -12
- package/src/data/sheet/sd-sheet-column.ts +1 -1
- package/src/data/sheet/sd-sheet-config.modal.ts +39 -35
- package/src/data/sheet/sd-sheet.ts +6 -1
- package/src/data/sheet/useSheetCellStyling.ts +3 -20
- package/src/data/state-preset/sd-state-preset.ts +11 -11
- package/src/features/address/sd-address-search.modal.ts +1 -1
- package/src/features/editor/sd-tiptap-editor.ts +3 -2
- package/src/features/theme/sd-theme-selector.ts +77 -75
- package/src/features/visual/sd-barcode.ts +5 -9
- package/src/features/visual/sd-calendar.ts +1 -1
- package/src/layout/sidebar/sd-sidebar-user.ts +3 -5
|
@@ -15,7 +15,7 @@ export function useSheetCellStyling(options) {
|
|
|
15
15
|
return null;
|
|
16
16
|
return `left: ${leftValue}px`;
|
|
17
17
|
}
|
|
18
|
-
const
|
|
18
|
+
const columnBaseStyles = computed(() => {
|
|
19
19
|
const map = new Map();
|
|
20
20
|
const defs = options.columnDefs();
|
|
21
21
|
for (let i = 0; i < defs.length; i++) {
|
|
@@ -32,30 +32,12 @@ export function useSheetCellStyling(options) {
|
|
|
32
32
|
map.set(colDef.key, parts.length > 0 ? parts.join("; ") : null);
|
|
33
33
|
}
|
|
34
34
|
return map;
|
|
35
|
-
}, ...(ngDevMode ? [{ debugName: "
|
|
36
|
-
const dataColumnBaseStyles = computed(() => {
|
|
37
|
-
const map = new Map();
|
|
38
|
-
const defs = options.columnDefs();
|
|
39
|
-
for (let i = 0; i < defs.length; i++) {
|
|
40
|
-
const colDef = defs[i];
|
|
41
|
-
const parts = [];
|
|
42
|
-
const colStyle = getColDefStyle(colDef);
|
|
43
|
-
if (colStyle != null)
|
|
44
|
-
parts.push(colStyle);
|
|
45
|
-
if (colDef.fixed) {
|
|
46
|
-
const fixedStyle = getFixedLeftStyle(i);
|
|
47
|
-
if (fixedStyle != null)
|
|
48
|
-
parts.push(fixedStyle);
|
|
49
|
-
}
|
|
50
|
-
map.set(colDef.key, parts.length > 0 ? parts.join("; ") : null);
|
|
51
|
-
}
|
|
52
|
-
return map;
|
|
53
|
-
}, ...(ngDevMode ? [{ debugName: "dataColumnBaseStyles" }] : /* istanbul ignore next */ []));
|
|
35
|
+
}, ...(ngDevMode ? [{ debugName: "columnBaseStyles" }] : /* istanbul ignore next */ []));
|
|
54
36
|
function getHeaderCellStyle(cell) {
|
|
55
37
|
if (cell.colDef == null)
|
|
56
38
|
return null;
|
|
57
39
|
const parts = [];
|
|
58
|
-
const baseStyle =
|
|
40
|
+
const baseStyle = columnBaseStyles().get(cell.colDef.key);
|
|
59
41
|
if (baseStyle != null)
|
|
60
42
|
parts.push(baseStyle);
|
|
61
43
|
if (cell.colDef.headerStyle != null)
|
|
@@ -63,7 +45,7 @@ export function useSheetCellStyling(options) {
|
|
|
63
45
|
return parts.length > 0 ? parts.join("; ") : null;
|
|
64
46
|
}
|
|
65
47
|
function getCellStyle(item, colDef) {
|
|
66
|
-
const baseStyle =
|
|
48
|
+
const baseStyle = columnBaseStyles().get(colDef.key) ?? null;
|
|
67
49
|
const styleFn = options.getItemCellStyleFn();
|
|
68
50
|
const customStyle = styleFn != null ? styleFn(item, colDef.key) : undefined;
|
|
69
51
|
if (baseStyle != null && customStyle != null)
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
export interface SdStatePresetDef {
|
|
2
|
+
export interface SdStatePresetDef<TState> {
|
|
3
3
|
name: string;
|
|
4
|
-
state:
|
|
4
|
+
state: TState;
|
|
5
5
|
}
|
|
6
|
-
export declare class SdStatePreset {
|
|
6
|
+
export declare class SdStatePreset<TState> {
|
|
7
7
|
private readonly _sdModal;
|
|
8
8
|
private readonly _sdToast;
|
|
9
9
|
key: import("@angular/core").InputSignal<string>;
|
|
10
|
-
state: import("@angular/core").ModelSignal<
|
|
10
|
+
state: import("@angular/core").ModelSignal<TState>;
|
|
11
11
|
size: import("@angular/core").InputSignal<"sm" | "lg" | undefined>;
|
|
12
12
|
protected readonly tablerStar = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z\"></path></svg>";
|
|
13
13
|
protected readonly tablerDeviceFloppy = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2\"></path><path d=\"M12 14m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0\"></path><path d=\"M14 4l0 4l-6 0l0 -4\"></path></svg>";
|
|
14
14
|
protected readonly tablerX = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M18 6l-12 12\"></path><path d=\"M6 6l12 12\"></path></svg>";
|
|
15
15
|
private readonly _configResource;
|
|
16
|
-
_presets: import("@angular/core").Signal<SdStatePresetDef[]>;
|
|
16
|
+
_presets: import("@angular/core").Signal<SdStatePresetDef<TState>[]>;
|
|
17
17
|
onAddClick(): Promise<void>;
|
|
18
|
-
onPresetClick(preset: SdStatePresetDef): void;
|
|
19
|
-
onSaveClick(preset: SdStatePresetDef): void;
|
|
20
|
-
onDeleteClick(preset: SdStatePresetDef): Promise<void>;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SdStatePreset
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdStatePreset
|
|
18
|
+
onPresetClick(preset: SdStatePresetDef<TState>): void;
|
|
19
|
+
onSaveClick(preset: SdStatePresetDef<TState>): void;
|
|
20
|
+
onDeleteClick(preset: SdStatePresetDef<TState>): Promise<void>;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SdStatePreset<any>, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdStatePreset<any>, "sd-state-preset", never, { "key": { "alias": "key"; "required": true; "isSignal": true; }; "state": { "alias": "state"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "state": "stateChange"; }, never, never, true, never>;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=sd-state-preset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-state-preset.d.ts","sourceRoot":"","sources":["../../../src/data/state-preset/sd-state-preset.ts"],"names":[],"mappings":";AAmBA,MAAM,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"sd-state-preset.d.ts","sourceRoot":"","sources":["../../../src/data/state-preset/sd-state-preset.ts"],"names":[],"mappings":";AAmBA,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBA0Fa,aAAa,CAAC,MAAM;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,GAAG,8CAA4B;IAC/B,KAAK,8CAA4B;IACjC,IAAI,+DAAwB;IAE5B,SAAS,CAAC,QAAQ,CAAC,UAAU,wZAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,sdAAsB;IAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,yVAAW;IAErC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE7B;IAEH,QAAQ,6DAAsD;IAExD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI;IAMrD,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI;IAS7C,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;yCA7DzD,aAAa;2CAAb,aAAa;CA6EzB"}
|
|
@@ -40,7 +40,7 @@ export class SdStatePreset {
|
|
|
40
40
|
_sdModal = inject(SdModalProvider);
|
|
41
41
|
_sdToast = inject(SdToastProvider);
|
|
42
42
|
key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
|
|
43
|
-
state = model(...(ngDevMode ? [
|
|
43
|
+
state = model.required(...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
|
|
44
44
|
size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
|
|
45
45
|
tablerStar = tablerStar;
|
|
46
46
|
tablerDeviceFloppy = tablerDeviceFloppy;
|
|
@@ -67,7 +67,7 @@ export class SdStatePreset {
|
|
|
67
67
|
state: obj.clone(this.state()),
|
|
68
68
|
};
|
|
69
69
|
this._configResource.set([...currentPresets, newPreset]);
|
|
70
|
-
this._sdToast.
|
|
70
|
+
this._sdToast.success(`현재 상태가 '${name}'에 저장되었습니다.`);
|
|
71
71
|
}
|
|
72
72
|
onPresetClick(preset) {
|
|
73
73
|
const currentState = this.state();
|
|
@@ -79,7 +79,7 @@ export class SdStatePreset {
|
|
|
79
79
|
const currentPresets = this._presets();
|
|
80
80
|
const updated = currentPresets.map((p) => p.name === preset.name ? { ...p, state: obj.clone(this.state()) } : p);
|
|
81
81
|
this._configResource.set(updated);
|
|
82
|
-
this._sdToast.
|
|
82
|
+
this._sdToast.success(`현재 상태가 ${preset.name}에 저장되었습니다.`);
|
|
83
83
|
}
|
|
84
84
|
async onDeleteClick(preset) {
|
|
85
85
|
const confirmed = await this._sdModal.showAsync({
|
|
@@ -134,5 +134,5 @@ export class SdStatePreset {
|
|
|
134
134
|
`, host: {
|
|
135
135
|
"[attr.data-sd-size]": "size()",
|
|
136
136
|
}, styles: ["sd-state-preset {\n display: inline-block;\n vertical-align: top;\n}\nsd-state-preset > ._sd-state-preset {\n display: flex;\n align-items: center;\n gap: var(--gap-sm);\n flex-wrap: wrap;\n}\nsd-state-preset > ._sd-state-preset > ._add-btn {\n line-height: var(--line-height);\n border: 1px solid transparent;\n padding: var(--gap-sm) var(--gap-default);\n}\nsd-state-preset > ._sd-state-preset > ._preset-item {\n display: inline-flex;\n align-items: center;\n gap: var(--gap-xs);\n line-height: var(--line-height);\n border: 1px solid transparent;\n border-radius: var(--border-radius-lg);\n padding: var(--gap-sm) var(--gap-default);\n background: var(--theme-gray-lightest);\n}\nsd-state-preset > ._sd-state-preset > ._preset-item:hover {\n background: var(--theme-gray-lighter);\n}\nsd-state-preset > ._sd-state-preset > ._preset-item > sd-anchor {\n padding: 0 var(--gap-sm);\n}\nsd-state-preset[data-sd-size=sm] > ._sd-state-preset > ._add-btn {\n padding: var(--gap-xs) var(--gap-default);\n}\nsd-state-preset[data-sd-size=sm] > ._sd-state-preset > ._preset-item {\n padding: var(--gap-xs) var(--gap-default);\n}\nsd-state-preset[data-sd-size=lg] > ._sd-state-preset > ._add-btn {\n padding: var(--gap-default) var(--gap-lg);\n}\nsd-state-preset[data-sd-size=lg] > ._sd-state-preset > ._preset-item {\n padding: var(--gap-default) var(--gap-lg);\n}"] }]
|
|
137
|
-
}], null, { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required:
|
|
137
|
+
}], null, { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: true }] }, { type: i0.Output, args: ["stateChange"] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] }); })();
|
|
138
138
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdStatePreset, { className: "SdStatePreset", filePath: "packages/angular/src/data/state-preset/sd-state-preset.ts", lineNumber: 115 }); })();
|
|
@@ -87,7 +87,7 @@ export class SdAddressSearchModal {
|
|
|
87
87
|
this.close.emit({
|
|
88
88
|
postNumber: data.zonecode,
|
|
89
89
|
address: addr + extraAddr,
|
|
90
|
-
buildingName: data.buildingName,
|
|
90
|
+
buildingName: data.buildingName !== "" ? data.buildingName : undefined,
|
|
91
91
|
});
|
|
92
92
|
},
|
|
93
93
|
onresize: (size) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-tiptap-editor.d.ts","sourceRoot":"","sources":["../../../src/features/editor/sd-tiptap-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;;AAqBzD,qBAsMa,cAAc;IACzB,KAAK,0DAAmB;IACxB,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,WAAW,0DAAmB;IAC9B,WAAW,+CAAiB,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,eAAI;IACzE,UAAU,kEAA2B;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,QAAQ,CAAC,YAAY,WAMnB;IAEF,qDAAqD;IACrD,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAqB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,YAAY,kEAA8B;IAC1C,WAAW,yBAA6B;IACxC,aAAa,yBAA+B;IAC5C,eAAe,4CAAiC;IAChD,OAAO,wBAAyB;IAChC,iBAAiB,gCAAmC;IACpD,UAAU,sCAA4B;IAEtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAA6B;IAEpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CASjC;;
|
|
1
|
+
{"version":3,"file":"sd-tiptap-editor.d.ts","sourceRoot":"","sources":["../../../src/features/editor/sd-tiptap-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;;AAqBzD,qBAsMa,cAAc;IACzB,KAAK,0DAAmB;IACxB,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,QAAQ,qEAAiD;IACzD,WAAW,0DAAmB;IAC9B,WAAW,+CAAiB,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,eAAI;IACzE,UAAU,kEAA2B;IAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,QAAQ,CAAC,YAAY,WAMnB;IAEF,qDAAqD;IACrD,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAqB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,YAAY,kEAA8B;IAC1C,WAAW,yBAA6B;IACxC,aAAa,yBAA+B;IAC5C,eAAe,4CAAiC;IAChD,OAAO,wBAAyB;IAChC,iBAAiB,gCAAmC;IACpD,UAAU,sCAA4B;IAEtC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAA6B;IAEpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CASjC;;IA6DH,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,kBAAkB;yCAtIf,cAAc;2CAAd,cAAc;CA4I1B"}
|
|
@@ -241,8 +241,9 @@ export class SdTiptapEditor {
|
|
|
241
241
|
errorMessages.push("값을 입력하세요.");
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
|
-
|
|
245
|
-
|
|
244
|
+
const validatorFn = this.validatorFn();
|
|
245
|
+
if (validatorFn != null) {
|
|
246
|
+
const message = validatorFn(this.value());
|
|
246
247
|
if (message != null) {
|
|
247
248
|
errorMessages.push(message);
|
|
248
249
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { SdThemeProvider } from "./sd-theme-provider";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class SdThemeSelector {
|
|
4
|
-
protected readonly
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
protected readonly
|
|
10
|
-
protected readonly isMinFontSize: import("@angular/core").Signal<boolean>;
|
|
11
|
-
protected readonly isMaxFontSize: import("@angular/core").Signal<boolean>;
|
|
4
|
+
protected readonly _sdTheme: SdThemeProvider;
|
|
5
|
+
isMinFontSize: import("@angular/core").Signal<boolean>;
|
|
6
|
+
isMaxFontSize: import("@angular/core").Signal<boolean>;
|
|
7
|
+
protected readonly tablerPlus = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 5l0 14\"></path><path d=\"M5 12l14 0\"></path></svg>";
|
|
8
|
+
protected readonly tablerMinus = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M5 12l14 0\"></path></svg>";
|
|
9
|
+
protected readonly tablerPalette = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"stroke-width:var(--ng-icon__stroke-width, 2)\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M12 21a9 9 0 0 1 0 -18c4.97 0 9 3.582 9 8c0 1.06 -.474 2.078 -1.318 2.828c-.844 .75 -1.989 1.172 -3.182 1.172h-2.5a2 2 0 0 0 -1 3.75a1.3 1.3 0 0 1 -1 2.25\"></path><path d=\"M8.5 10.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path><path d=\"M12.5 7.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path><path d=\"M16.5 10.5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\"></path></svg>";
|
|
12
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdThemeSelector, never>;
|
|
13
11
|
static ɵcmp: i0.ɵɵComponentDeclaration<SdThemeSelector, "sd-theme-selector", never, {}, {}, never, never, true, never>;
|
|
14
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-theme-selector.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-selector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sd-theme-selector.d.ts","sourceRoot":"","sources":["../../../src/features/theme/sd-theme-selector.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AAGtD,qBA+Ca,eAAe;IAC1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,kBAA2B;IAEtD,aAAa,0CAAgF;IAE7F,aAAa,0CAIX;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,uVAAc;IAC3C,SAAS,CAAC,QAAQ,CAAC,WAAW,yTAAe;IAC7C,SAAS,CAAC,QAAQ,CAAC,aAAa,uoBAAiB;yCAbtC,eAAe;2CAAf,eAAe;CAc3B"}
|
|
@@ -4,14 +4,17 @@ import { SdDropdownPopup } from "../../controls/dropdown/sd-dropdown-popup";
|
|
|
4
4
|
import { SdButton } from "../../controls/button/sd-button";
|
|
5
5
|
import { SdSwitch } from "../../controls/checkbox/sd-switch";
|
|
6
6
|
import { NgIcon } from "@ng-icons/core";
|
|
7
|
-
import { tablerMinus, tablerPalette, tablerPlus } from "@ng-icons/tabler-icons";
|
|
8
7
|
import { SdThemeProvider } from "./sd-theme-provider";
|
|
8
|
+
import { tablerMinus, tablerPalette, tablerPlus } from "@ng-icons/tabler-icons";
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class SdThemeSelector {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
_sdTheme = inject(SdThemeProvider);
|
|
12
|
+
isMinFontSize = computed(() => this._sdTheme.fontSize() <= this._sdTheme.fontSizePresets[0], ...(ngDevMode ? [{ debugName: "isMinFontSize" }] : /* istanbul ignore next */ []));
|
|
13
|
+
isMaxFontSize = computed(() => this._sdTheme.fontSize() >=
|
|
14
|
+
this._sdTheme.fontSizePresets[this._sdTheme.fontSizePresets.length - 1], ...(ngDevMode ? [{ debugName: "isMaxFontSize" }] : /* istanbul ignore next */ []));
|
|
15
|
+
tablerPlus = tablerPlus;
|
|
16
|
+
tablerMinus = tablerMinus;
|
|
17
|
+
tablerPalette = tablerPalette;
|
|
15
18
|
static ɵfac = function SdThemeSelector_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdThemeSelector)(); };
|
|
16
19
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdThemeSelector, selectors: [["sd-theme-selector"]], decls: 19, vars: 15, consts: [[3, "inline", "theme"], [3, "svg"], [1, "p-default"], [1, "flex-row", "gap-sm", "cross-align-center"], [1, "flex-row", "gap-xs", "cross-align-center"], [3, "click", "inline", "theme", "size", "disabled"], [3, "valueChange", "value"]], template: function SdThemeSelector_Template(rf, ctx) { if (rf & 1) {
|
|
17
20
|
i0.ɵɵelementStart(0, "sd-dropdown")(1, "sd-button", 0);
|
|
@@ -21,81 +24,81 @@ export class SdThemeSelector {
|
|
|
21
24
|
i0.ɵɵtext(7, "\uAE00\uC790 \uD06C\uAE30");
|
|
22
25
|
i0.ɵɵelementEnd();
|
|
23
26
|
i0.ɵɵelementStart(8, "div", 4)(9, "sd-button", 5);
|
|
24
|
-
i0.ɵɵlistener("click", function SdThemeSelector_Template_sd_button_click_9_listener() { return ctx.
|
|
27
|
+
i0.ɵɵlistener("click", function SdThemeSelector_Template_sd_button_click_9_listener() { return ctx._sdTheme.decreaseFontSize(); });
|
|
25
28
|
i0.ɵɵelement(10, "ng-icon", 1);
|
|
26
29
|
i0.ɵɵelementEnd();
|
|
27
30
|
i0.ɵɵelementStart(11, "span");
|
|
28
31
|
i0.ɵɵtext(12);
|
|
29
32
|
i0.ɵɵelementEnd();
|
|
30
33
|
i0.ɵɵelementStart(13, "sd-button", 5);
|
|
31
|
-
i0.ɵɵlistener("click", function SdThemeSelector_Template_sd_button_click_13_listener() { return ctx.
|
|
34
|
+
i0.ɵɵlistener("click", function SdThemeSelector_Template_sd_button_click_13_listener() { return ctx._sdTheme.increaseFontSize(); });
|
|
32
35
|
i0.ɵɵelement(14, "ng-icon", 1);
|
|
33
36
|
i0.ɵɵelementEnd()()();
|
|
34
37
|
i0.ɵɵelementStart(15, "div", 3)(16, "span");
|
|
35
38
|
i0.ɵɵtext(17, "\uB2E4\uD06C \uBAA8\uB4DC");
|
|
36
39
|
i0.ɵɵelementEnd();
|
|
37
40
|
i0.ɵɵelementStart(18, "sd-switch", 6);
|
|
38
|
-
i0.ɵɵtwoWayListener("valueChange", function SdThemeSelector_Template_sd_switch_valueChange_18_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.
|
|
41
|
+
i0.ɵɵtwoWayListener("valueChange", function SdThemeSelector_Template_sd_switch_valueChange_18_listener($event) { i0.ɵɵtwoWayBindingSet(ctx._sdTheme.dark, $event) || (ctx._sdTheme.dark = $event); return $event; });
|
|
39
42
|
i0.ɵɵelementEnd()()()()();
|
|
40
43
|
} if (rf & 2) {
|
|
41
44
|
i0.ɵɵadvance();
|
|
42
45
|
i0.ɵɵproperty("inline", true)("theme", "link-gray");
|
|
43
46
|
i0.ɵɵadvance();
|
|
44
|
-
i0.ɵɵproperty("svg", ctx.
|
|
47
|
+
i0.ɵɵproperty("svg", ctx.tablerPalette);
|
|
45
48
|
i0.ɵɵadvance(7);
|
|
46
49
|
i0.ɵɵproperty("inline", true)("theme", "link-gray")("size", "sm")("disabled", ctx.isMinFontSize());
|
|
47
50
|
i0.ɵɵadvance();
|
|
48
|
-
i0.ɵɵproperty("svg", ctx.
|
|
51
|
+
i0.ɵɵproperty("svg", ctx.tablerMinus);
|
|
49
52
|
i0.ɵɵadvance(2);
|
|
50
|
-
i0.ɵɵtextInterpolate1("", ctx.
|
|
53
|
+
i0.ɵɵtextInterpolate1("", ctx._sdTheme.fontSize(), "px");
|
|
51
54
|
i0.ɵɵadvance();
|
|
52
55
|
i0.ɵɵproperty("inline", true)("theme", "link-gray")("size", "sm")("disabled", ctx.isMaxFontSize());
|
|
53
56
|
i0.ɵɵadvance();
|
|
54
|
-
i0.ɵɵproperty("svg", ctx.
|
|
57
|
+
i0.ɵɵproperty("svg", ctx.tablerPlus);
|
|
55
58
|
i0.ɵɵadvance(4);
|
|
56
|
-
i0.ɵɵtwoWayProperty("value", ctx.
|
|
59
|
+
i0.ɵɵtwoWayProperty("value", ctx._sdTheme.dark);
|
|
57
60
|
} }, dependencies: [SdDropdown, SdDropdownPopup, SdButton, SdSwitch, NgIcon], encapsulation: 2, changeDetection: 0 });
|
|
58
61
|
}
|
|
59
62
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdThemeSelector, [{
|
|
60
63
|
type: Component,
|
|
61
|
-
args: [{ selector: "sd-theme-selector", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [SdDropdown, SdDropdownPopup, SdButton, SdSwitch, NgIcon], template: `
|
|
62
|
-
<sd-dropdown>
|
|
63
|
-
<sd-button [inline]="true" [theme]="'link-gray'">
|
|
64
|
-
<ng-icon [svg]="
|
|
65
|
-
</sd-button>
|
|
66
|
-
<sd-dropdown-popup>
|
|
67
|
-
<div class="p-default">
|
|
68
|
-
<div class="flex-row gap-sm cross-align-center">
|
|
69
|
-
<span>글자 크기</span>
|
|
70
|
-
<div class="flex-row gap-xs cross-align-center">
|
|
71
|
-
<sd-button
|
|
72
|
-
[inline]="true"
|
|
73
|
-
[theme]="'link-gray'"
|
|
74
|
-
[size]="'sm'"
|
|
75
|
-
[disabled]="isMinFontSize()"
|
|
76
|
-
(click)="
|
|
77
|
-
>
|
|
78
|
-
<ng-icon [svg]="
|
|
79
|
-
</sd-button>
|
|
80
|
-
<span>{{
|
|
81
|
-
<sd-button
|
|
82
|
-
[inline]="true"
|
|
83
|
-
[theme]="'link-gray'"
|
|
84
|
-
[size]="'sm'"
|
|
85
|
-
[disabled]="isMaxFontSize()"
|
|
86
|
-
(click)="
|
|
87
|
-
>
|
|
88
|
-
<ng-icon [svg]="
|
|
89
|
-
</sd-button>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
<div class="flex-row gap-sm cross-align-center">
|
|
93
|
-
<span>다크 모드</span>
|
|
94
|
-
<sd-switch [(value)]="
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
</sd-dropdown-popup>
|
|
98
|
-
</sd-dropdown>
|
|
64
|
+
args: [{ selector: "sd-theme-selector", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [SdDropdown, SdDropdownPopup, SdButton, SdSwitch, NgIcon], template: `
|
|
65
|
+
<sd-dropdown>
|
|
66
|
+
<sd-button [inline]="true" [theme]="'link-gray'">
|
|
67
|
+
<ng-icon [svg]="tablerPalette" />
|
|
68
|
+
</sd-button>
|
|
69
|
+
<sd-dropdown-popup>
|
|
70
|
+
<div class="p-default">
|
|
71
|
+
<div class="flex-row gap-sm cross-align-center">
|
|
72
|
+
<span>글자 크기</span>
|
|
73
|
+
<div class="flex-row gap-xs cross-align-center">
|
|
74
|
+
<sd-button
|
|
75
|
+
[inline]="true"
|
|
76
|
+
[theme]="'link-gray'"
|
|
77
|
+
[size]="'sm'"
|
|
78
|
+
[disabled]="isMinFontSize()"
|
|
79
|
+
(click)="_sdTheme.decreaseFontSize()"
|
|
80
|
+
>
|
|
81
|
+
<ng-icon [svg]="tablerMinus" />
|
|
82
|
+
</sd-button>
|
|
83
|
+
<span>{{ _sdTheme.fontSize() }}px</span>
|
|
84
|
+
<sd-button
|
|
85
|
+
[inline]="true"
|
|
86
|
+
[theme]="'link-gray'"
|
|
87
|
+
[size]="'sm'"
|
|
88
|
+
[disabled]="isMaxFontSize()"
|
|
89
|
+
(click)="_sdTheme.increaseFontSize()"
|
|
90
|
+
>
|
|
91
|
+
<ng-icon [svg]="tablerPlus" />
|
|
92
|
+
</sd-button>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="flex-row gap-sm cross-align-center">
|
|
96
|
+
<span>다크 모드</span>
|
|
97
|
+
<sd-switch [(value)]="_sdTheme.dark" />
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</sd-dropdown-popup>
|
|
101
|
+
</sd-dropdown>
|
|
99
102
|
` }]
|
|
100
103
|
}], null, null); })();
|
|
101
104
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdThemeSelector, { className: "SdThemeSelector", filePath: "packages/angular/src/features/theme/sd-theme-selector.ts", lineNumber: 63 }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-barcode.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-barcode.ts"],"names":[],"mappings":";AAWA,qBAUa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IAEnD,IAAI,mDAAiC;IACrC,KAAK,0DAAmB;IAIxB,SAAS,CAAC,eAAe,+
|
|
1
|
+
{"version":3,"file":"sd-barcode.d.ts","sourceRoot":"","sources":["../../../src/features/visual/sd-barcode.ts"],"names":[],"mappings":";AAWA,qBAUa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IAEnD,IAAI,mDAAiC;IACrC,KAAK,0DAAmB;IAIxB,SAAS,CAAC,eAAe,+EAUtB;yCAlBQ,SAAS;2CAAT,SAAS;CAmBrB;AAED,MAAM,MAAM,WAAW,GACnB,SAAS,GAAG,WAAW,GAAG,kBAAkB,GAAG,WAAW,GAAG,OAAO,GACpE,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAC/D,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GACpE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,iBAAiB,GACjE,0BAA0B,GAAG,wBAAwB,GAAG,iCAAiC,GACzF,gBAAgB,GAAG,yBAAyB,GAAG,aAAa,GAAG,sBAAsB,GACrF,gBAAgB,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,6BAA6B,GACnG,kBAAkB,GAAG,2BAA2B,GAAG,eAAe,GAAG,YAAY,GACjF,uBAAuB,GAAG,gCAAgC,GAAG,SAAS,GAAG,OAAO,GAChF,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GACzF,SAAS,GAAG,kBAAkB,GAAG,QAAQ,GAAG,eAAe,GAAG,0BAA0B,GACxF,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,wBAAwB,GAAG,WAAW,GACzF,QAAQ,GAAG,eAAe,GAAG,gBAAgB,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAC/F,2BAA2B,GAAG,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAC1F,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GACvF,WAAW,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GACnF,aAAa,GAAG,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,eAAe,GAC9E,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GACpF,QAAQ,GAAG,qBAAqB,GAAG,KAAK,GAAG,wBAAwB,GAAG,WAAW,GACjF,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,WAAW,GAChF,MAAM,GAAG,eAAe,GAAG,MAAM,GAAG,eAAe,CAAC"}
|
|
@@ -13,16 +13,11 @@ export class SdBarcode {
|
|
|
13
13
|
if (text == null || text === "") {
|
|
14
14
|
return "";
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return this._sanitizer.bypassSecurityTrustHtml(svg);
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
return "";
|
|
25
|
-
}
|
|
16
|
+
const svg = bwipjs.toSVG({
|
|
17
|
+
bcid: this.type(),
|
|
18
|
+
text,
|
|
19
|
+
});
|
|
20
|
+
return this._sanitizer.bypassSecurityTrustHtml(svg);
|
|
26
21
|
}, ...(ngDevMode ? [{ debugName: "_trustedSvgHtml" }] : /* istanbul ignore next */ []));
|
|
27
22
|
static ɵfac = function SdBarcode_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdBarcode)(); };
|
|
28
23
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdBarcode, selectors: [["sd-barcode"]], inputs: { type: [1, "type"], value: [1, "value"] }, decls: 1, vars: 1, consts: [[3, "innerHTML"]], template: function SdBarcode_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-sidebar-user.d.ts","sourceRoot":"","sources":["../../../src/layout/sidebar/sd-sidebar-user.ts"],"names":[],"mappings":";AAOA,
|
|
1
|
+
{"version":3,"file":"sd-sidebar-user.d.ts","sourceRoot":"","sources":["../../../src/layout/sidebar/sd-sidebar-user.ts"],"names":[],"mappings":";AAOA,qBA0Da,aAAa;IACxB,QAAQ,qEAA8B;IAEtC,QAAQ,kDAAiB;IAEzB,qBAAqB,IAAI,IAAI;yCALlB,aAAa;2CAAb,aAAa;CAQzB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,EAAE,CAAC;CACL"}
|
|
@@ -7,45 +7,41 @@ import { SdListItem } from "../../controls/list/sd-list-item";
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
const _c0 = ["*"];
|
|
9
9
|
const _forTrack0 = ($index, $item) => $item.title;
|
|
10
|
+
function SdSidebarUser_Conditional_2_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
12
|
+
i0.ɵɵelementStart(0, "sd-list-item", 5);
|
|
13
|
+
i0.ɵɵlistener("click", function SdSidebarUser_Conditional_2_For_6_Template_sd_list_item_click_0_listener() { const menu_r4 = i0.ɵɵrestoreView(_r3).$implicit; return i0.ɵɵresetView(menu_r4.onClick()); });
|
|
14
|
+
i0.ɵɵtext(1);
|
|
15
|
+
i0.ɵɵelementEnd();
|
|
16
|
+
} if (rf & 2) {
|
|
17
|
+
const menu_r4 = ctx.$implicit;
|
|
18
|
+
i0.ɵɵadvance();
|
|
19
|
+
i0.ɵɵtextInterpolate1(" ", menu_r4.title, " ");
|
|
20
|
+
} }
|
|
10
21
|
function SdSidebarUser_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
11
22
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
12
|
-
i0.ɵɵelementStart(0, "div",
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
13
24
|
i0.ɵɵlistener("click", function SdSidebarUser_Conditional_2_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onMenuOpenButtonClick()); })("keydown.enter", function SdSidebarUser_Conditional_2_Template_div_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onMenuOpenButtonClick()); });
|
|
14
25
|
i0.ɵɵtext(1);
|
|
15
|
-
i0.ɵɵelement(2, "sd-collapse-icon",
|
|
26
|
+
i0.ɵɵelement(2, "sd-collapse-icon", 2);
|
|
16
27
|
i0.ɵɵelementEnd();
|
|
28
|
+
i0.ɵɵelementStart(3, "sd-collapse", 3)(4, "sd-list", 4);
|
|
29
|
+
i0.ɵɵrepeaterCreate(5, SdSidebarUser_Conditional_2_For_6_Template, 2, 1, "sd-list-item", null, _forTrack0);
|
|
30
|
+
i0.ɵɵelementEnd()();
|
|
17
31
|
} if (rf & 2) {
|
|
18
|
-
|
|
32
|
+
const _userMenu_r5 = ctx;
|
|
19
33
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
20
34
|
i0.ɵɵproperty("sdRipple", true);
|
|
21
35
|
i0.ɵɵadvance();
|
|
22
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
36
|
+
i0.ɵɵtextInterpolate1(" ", _userMenu_r5.title, " ");
|
|
23
37
|
i0.ɵɵadvance();
|
|
24
38
|
i0.ɵɵproperty("open", ctx_r1.menuOpen())("openRotate", 180);
|
|
25
|
-
} }
|
|
26
|
-
function SdSidebarUser_Conditional_3_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
-
const _r3 = i0.ɵɵgetCurrentView();
|
|
28
|
-
i0.ɵɵelementStart(0, "sd-list-item", 6);
|
|
29
|
-
i0.ɵɵlistener("click", function SdSidebarUser_Conditional_3_For_3_Template_sd_list_item_click_0_listener() { const menu_r4 = i0.ɵɵrestoreView(_r3).$implicit; return i0.ɵɵresetView(menu_r4.onClick()); });
|
|
30
|
-
i0.ɵɵtext(1);
|
|
31
|
-
i0.ɵɵelementEnd();
|
|
32
|
-
} if (rf & 2) {
|
|
33
|
-
const menu_r4 = ctx.$implicit;
|
|
34
39
|
i0.ɵɵadvance();
|
|
35
|
-
i0.ɵɵtextInterpolate1(" ", menu_r4.title, " ");
|
|
36
|
-
} }
|
|
37
|
-
function SdSidebarUser_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
-
i0.ɵɵelementStart(0, "sd-collapse", 2)(1, "sd-list", 5);
|
|
39
|
-
i0.ɵɵrepeaterCreate(2, SdSidebarUser_Conditional_3_For_3_Template, 2, 1, "sd-list-item", null, _forTrack0);
|
|
40
|
-
i0.ɵɵelementEnd()();
|
|
41
|
-
} if (rf & 2) {
|
|
42
|
-
let tmp_3_0;
|
|
43
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
44
40
|
i0.ɵɵproperty("open", ctx_r1.menuOpen());
|
|
45
41
|
i0.ɵɵadvance();
|
|
46
42
|
i0.ɵɵproperty("inset", true);
|
|
47
43
|
i0.ɵɵadvance();
|
|
48
|
-
i0.ɵɵrepeater(
|
|
44
|
+
i0.ɵɵrepeater(_userMenu_r5.menus);
|
|
49
45
|
} }
|
|
50
46
|
export class SdSidebarUser {
|
|
51
47
|
userMenu = input(...(ngDevMode ? [undefined, { debugName: "userMenu" }] : /* istanbul ignore next */ []));
|
|
@@ -54,20 +50,16 @@ export class SdSidebarUser {
|
|
|
54
50
|
this.menuOpen.update((v) => !v);
|
|
55
51
|
}
|
|
56
52
|
static ɵfac = function SdSidebarUser_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdSidebarUser)(); };
|
|
57
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdSidebarUser, selectors: [["sd-sidebar-user"]], inputs: { userMenu: [1, "userMenu"] }, ngContentSelectors: _c0, decls:
|
|
53
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdSidebarUser, selectors: [["sd-sidebar-user"]], inputs: { userMenu: [1, "userMenu"] }, ngContentSelectors: _c0, decls: 3, vars: 1, consts: [[1, "p-lg"], ["tabindex", "0", 1, "_menu-button", 3, "click", "keydown.enter", "sdRipple"], [2, "float", "right", 3, "open", "openRotate"], [3, "open"], [3, "inset"], [3, "click"]], template: function SdSidebarUser_Template(rf, ctx) { if (rf & 1) {
|
|
58
54
|
i0.ɵɵprojectionDef();
|
|
59
55
|
i0.ɵɵelementStart(0, "div", 0);
|
|
60
56
|
i0.ɵɵprojection(1);
|
|
61
57
|
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵconditionalCreate(2, SdSidebarUser_Conditional_2_Template,
|
|
63
|
-
i0.ɵɵconditionalCreate(3, SdSidebarUser_Conditional_3_Template, 4, 2, "sd-collapse", 2);
|
|
58
|
+
i0.ɵɵconditionalCreate(2, SdSidebarUser_Conditional_2_Template, 7, 6);
|
|
64
59
|
} if (rf & 2) {
|
|
65
60
|
let tmp_0_0;
|
|
66
|
-
let tmp_1_0;
|
|
67
61
|
i0.ɵɵadvance(2);
|
|
68
|
-
i0.ɵɵconditional((
|
|
69
|
-
i0.ɵɵadvance();
|
|
70
|
-
i0.ɵɵconditional(((tmp_1_0 = ctx.userMenu()) == null ? null : tmp_1_0.title) ? 3 : -1);
|
|
62
|
+
i0.ɵɵconditional((tmp_0_0 = ctx.userMenu()) ? 2 : -1, tmp_0_0);
|
|
71
63
|
} }, dependencies: [SdCollapseIcon,
|
|
72
64
|
SdCollapse,
|
|
73
65
|
SdRipple,
|
|
@@ -86,17 +78,15 @@ export class SdSidebarUser {
|
|
|
86
78
|
<div class="p-lg">
|
|
87
79
|
<ng-content />
|
|
88
80
|
</div>
|
|
89
|
-
@if (userMenu()
|
|
81
|
+
@if (userMenu(); as _userMenu) {
|
|
90
82
|
<div class="_menu-button" tabindex="0" (click)="onMenuOpenButtonClick()" (keydown.enter)="onMenuOpenButtonClick()" [sdRipple]="true">
|
|
91
|
-
{{
|
|
83
|
+
{{ _userMenu.title }}
|
|
92
84
|
<sd-collapse-icon [open]="menuOpen()" style="float: right;" [openRotate]="180" />
|
|
93
85
|
</div>
|
|
94
|
-
}
|
|
95
86
|
|
|
96
|
-
@if (userMenu()?.title) {
|
|
97
87
|
<sd-collapse [open]="menuOpen()">
|
|
98
88
|
<sd-list [inset]="true">
|
|
99
|
-
@for (menu of
|
|
89
|
+
@for (menu of _userMenu.menus; track menu.title) {
|
|
100
90
|
<sd-list-item (click)="menu.onClick()">
|
|
101
91
|
{{ menu.title }}
|
|
102
92
|
</sd-list-item>
|
|
@@ -106,4 +96,4 @@ export class SdSidebarUser {
|
|
|
106
96
|
}
|
|
107
97
|
`, styles: ["sd-sidebar-user {\n display: block;\n}\nsd-sidebar-user > ._menu-button {\n display: block;\n cursor: pointer;\n user-select: none;\n padding: var(--gap-default);\n}\nsd-sidebar-user > ._menu-button:hover {\n background: var(--trans-lighter);\n}\nsd-sidebar-user > sd-collapse > ._content > sd-list {\n background: var(--trans-lightest);\n padding: var(--gap-xs) 0;\n}"] }]
|
|
108
98
|
}], null, { userMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "userMenu", required: false }] }] }); })();
|
|
109
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSidebarUser, { className: "SdSidebarUser", filePath: "packages/angular/src/layout/sidebar/sd-sidebar-user.ts", lineNumber:
|
|
99
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSidebarUser, { className: "SdSidebarUser", filePath: "packages/angular/src/layout/sidebar/sd-sidebar-user.ts", lineNumber: 66 }); })();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/angular",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.87",
|
|
4
4
|
"description": "심플리즘 패키지 - Angular",
|
|
5
5
|
"author": "심플리즘",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"jspdf": "^4.2.1",
|
|
51
51
|
"rxjs": "^7.8.2",
|
|
52
52
|
"tabbable": "^6.4.0",
|
|
53
|
-
"@simplysm/core-browser": "14.0.
|
|
54
|
-
"@simplysm/core-common": "14.0.
|
|
55
|
-
"@simplysm/service-client": "14.0.
|
|
56
|
-
"@simplysm/service-common": "14.0.
|
|
53
|
+
"@simplysm/core-browser": "14.0.87",
|
|
54
|
+
"@simplysm/core-common": "14.0.87",
|
|
55
|
+
"@simplysm/service-client": "14.0.87",
|
|
56
|
+
"@simplysm/service-common": "14.0.87"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@angular/compiler": "^21.2.15",
|
|
@@ -184,7 +184,7 @@ export class SdModalSelectButton<
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
onEraseClick(): void {
|
|
187
|
-
this.value.set((this.selectMode() === "multi" ? [] : undefined) as
|
|
187
|
+
this.value.set((this.selectMode() === "multi" ? [] : undefined) as SelectModeValue<K>[M]);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
async onSearchClick(event: MouseEvent): Promise<void> {
|
|
@@ -409,10 +409,10 @@ function createTimeHandler(withSeconds: boolean): TextfieldTypeHandler {
|
|
|
409
409
|
}
|
|
410
410
|
},
|
|
411
411
|
toControlValue(value) {
|
|
412
|
-
return (value as
|
|
412
|
+
return (value as Time).toFormatString(controlFormat);
|
|
413
413
|
},
|
|
414
414
|
toDisplayText(value) {
|
|
415
|
-
return (value as
|
|
415
|
+
return (value as Time).toFormatString(displayFormat);
|
|
416
416
|
},
|
|
417
417
|
validate(value, opts) {
|
|
418
418
|
const errors: string[] = [];
|
|
@@ -101,7 +101,7 @@ export class SdSelectItem<T> {
|
|
|
101
101
|
const itemValue = this.value();
|
|
102
102
|
if (this._parentControl.selectMode() === "multi") {
|
|
103
103
|
const arr = parentValue as T[] | undefined;
|
|
104
|
-
return arr != null && arr.
|
|
104
|
+
return arr != null && arr.some((x) => x === itemValue);
|
|
105
105
|
}
|
|
106
106
|
return parentValue === itemValue;
|
|
107
107
|
});
|
|
@@ -404,7 +404,7 @@ export class SdSelect<M extends "single" | "multi", T> {
|
|
|
404
404
|
} else {
|
|
405
405
|
this.value.update((v) => {
|
|
406
406
|
const arr: T[] = Array.isArray(v) ? v : [];
|
|
407
|
-
if (arr.
|
|
407
|
+
if (arr.some((x) => x === itemValue)) {
|
|
408
408
|
return arr.filter((item) => item !== itemValue);
|
|
409
409
|
} else {
|
|
410
410
|
return [...arr, itemValue];
|
|
@@ -36,6 +36,10 @@ export class SdAppStructureProvider<TModule = unknown> {
|
|
|
36
36
|
return SdAppStructureUtils.getTitleByFullCode(this.items(), fullCode);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
findTitleByFullCode(fullCode: string) {
|
|
40
|
+
return SdAppStructureUtils.findTitleByFullCode(this.items(), fullCode);
|
|
41
|
+
}
|
|
42
|
+
|
|
39
43
|
getItemChainByFullCode(fullCode: string) {
|
|
40
44
|
return SdAppStructureUtils.getItemChainByFullCode(this.items(), fullCode);
|
|
41
45
|
}
|